+
+BUG NUMBER: 5
+SHORT DESCRIPTION: no vertical space inside wxHTML
+DETAILS: We are working on making a demonstration of projects we do here
+using Python & wxWindows & HTML (wxPython/wxHTML thus). We 'd like to
+have the opportunity to specify vertical space, eg
, or
+in HTML. These constructs currently do not work. I looked in the source
+code (nice job btw), but am not sure where to hack the solution. I
+am willing to discuss this in more detail.
+WORKAROUND: Create a transparent gif of 1x1 pixel and use width & height
+to fool the renderer
+wxWINDOWS VERSION: wxWindows 2.1.11
+PLATFORMS: Windows + Python 1.5
+DATE IDENTIFIED: 10/11/1999
+IDENTIFIED BY: A.T.Hofkamp
+DATE FIXED: 11/11/1999
+FIXED BY: Vaclav Slavik
+
+BUG NUMBER: 6
+SHORT DESCRIPTION: wxGTK-2.1.11 fails to build under IRIX
+DETAILS: Seems we have a section that says, if we're not Sun, Linux, or
+FreeBSD, then there's something very wrong...
+c++ -c -MMD -D__WXGTK__ -DGTK_NO_CHECK_CASTS -D_REENTRANT -D_IODBC_ -O2
+-I. -I./include -I./include
+-I./src/zlib -I./src/png -I./src/jpeg
+-I/home/rhh/software/gtk+-1.2.3/include
+-I/home/rhh/software/glib-1.2.3/lib/glib/include
+-I/home/rhh/software/glib-1.2.3/include -Wall
+-D"wxINSTALL_PREFIX=\"/home/rhh/software/wxGTK-2.1.11\"" -fPIC -o
+dialup.o ./src/unix/dialup.cpp ./src/unix/dialup.cpp: In method `int
+wxDialUpManagerImpl::CheckIfconfig()':
+./src/unix/dialup.cpp:500: warning: ignoring pragma: warning
+./src/unix/dialup.cpp:527: parse error before `;'
+./src/unix/dialup.cpp:544: confused by earlier errors, bailing out gmake:
+*** [dialup.o] Error 1
+wxWINDOWS VERSION: 2.1.11
+PLATFORMS: wxGTK
+DATE IDENTIFIED: 16/11/1999
+IDENTIFIED BY: Randall Hopper
+
+DATE+FIXED:
+DATE+IDENTIFIED: 11-15-99
+DETAILS: I am a new user. I downloaded setup.exe and setup.wXX then ran the install program. It prompted me for disk two which puzzled me. There was no obvious solution.
+FIXED+BY:
+IDENTIFIED+BY: William Deans
+PLATFORMS: wxWindows
+SHORT+DESCRIPTION: misnamed setup.wXX files prevents install
+Submit: Submit
+WORKAROUND: The problem seems to be that the default download name for the setup.wXX files is not 'setup.wXX' but instead 'setup.wXX..wXX' Every new user who installs could change these names... but why not simply change them on the server? (I was using IE 5 under Windows 98)
+visitor_email_address: willdeans@mindspring.com
+wxWINDOWS+VERSION: Current version as of 11-15-99
+
+DATE+FIXED:
+DATE+IDENTIFIED: 11-15-99
+DETAILS: to recreate:
+ click "new dialog" several times
+ view the properties of a dialog box
+ DO NOT CLOSE THE PROPERTIES BOX
+ click on another dialog in the list
+ right click the new dialog and select view properties..... (THE PROPERTY BOX DOES NOT CHANGE EVEN THOUGH IT SHOULD!... BUT THIS IS NOT THE CRASH)
+ to make the crash click the Name property in the properties dialog box -- the application crashes
+FIXED+BY:
+IDENTIFIED+BY: William Deans
+PLATFORMS: wxWindows
+SHORT+DESCRIPTION: dialog editor CRASHES
+Submit: Submit
+WORKAROUND: be sure and close the properties box every time before switching to a new dialog... this might be hard to remember as the properties box does not stay in front of the dialog editor........ as I feel that it should
+visitor_email_address: willdeans@mindspring.com
+wxWINDOWS+VERSION: 2.1.11 (Current version as of 11-15-99)
+
+DATE+FIXED:
+DATE+IDENTIFIED: 11-15-99
+DETAILS: to recreate:
+ click "Dialogs" folder to the left
+ select delete from the menu
+FIXED+BY:
+IDENTIFIED+BY: William Deans
+PLATFORMS: wxWindows
+SHORT+DESCRIPTION: Dialog Editor CRASHES (again)
+Submit: Submit
+WORKAROUND:
+visitor_email_address: willdeans@mindspring.com
+wxWINDOWS+VERSION: 2.1.11 (Current version as of 11-15-99)
+
+DATE+FIXED:
+DATE+IDENTIFIED: 11-15-99
+DETAILS: to recreate:
+ go to properties (of any dialog)
+ select id
+ select ...
+ hit cancel
+ the property box hangs
+FIXED+BY:
+IDENTIFIED+BY: William Deans
+PLATFORMS: wxWindows
+SHORT+DESCRIPTION: Dialog Editor HANGS
+Submit: Submit
+WORKAROUND:
+visitor_email_address: willdeans@mindspring.com
+wxWINDOWS+VERSION: 2.1.11 (Current version as of 11-15-99)
+
+DATE+FIXED:
+DATE+IDENTIFIED: 11-15-99
+DETAILS: to recreate:
+ put a space into the name field of the property box...... this should be disallowed, but is not
+FIXED+BY:
+IDENTIFIED+BY: William Deans
+PLATFORMS: wxWindows
+SHORT+DESCRIPTION: Dialog Editor Creates Files It Cannot Parse
+Submit: Submit
+WORKAROUND: each time a change is made to a dialog..... that section of the wxr file should be written to a buffer and re-parsed..... if the parsing fails the change should be disallowed
+visitor_email_address: willdeans@mindspring.com
+wxWINDOWS+VERSION: 2.1.11 (Current version as of 11-15-99)
+
+DATE+IDENTIFIED: 26/11/1999
+DETAILS: Around line 1234 or the common/docview.cpp file following code exists...
+
+if (!theTemplate)
+ theTemplate=templates[FilterIndex] ;
+
+The problem is tat FilterIndex is one based and the templates array is zero based. The correct
+thing might be to use FilterIndex-1 as the index. Else the following scenario will
+cause a crash.
+
+1. Use the docvsmdi example
+2. Bring up the file open dlg.
+3. Select Files of Type "Text"
+4. c:\autoexec.bat for file name
+5. Press okay and you should see
+ the crash.
+
+I understand that it is very
+hard to figure out the template
+when the user does not select
+one of the known extensions but
+this simple fix might atleast
+avoid the crash....
+
+I started playing with wxMSW
+just this morning and have not
+yet figured out exactly how to
+submit a fix. I atleast wanted
+to report it. Besides what I do
+for the MSW might not be correct
+for the other platforms :-)
+
+Note from JACS: fixed (I hope) by making m_filterIndex
+zero-based in MSW wxFileDialog implementation
+(it's zero-based in wxGTK/the generic dialog).
+
+IDENTIFIED+BY: Haneef Mohammed
+PLATFORMS: wxMSW
+SHORT+DESCRIPTION: Bug in wxDocTemplate::SelectDocumentPath()
+WORKAROUND:
+visitor_email_address: haneef@symphonyeda.com
+wxWINDOWS+VERSION: 2.1.12
+DATE+FIXED: 29/11/99
+FIXED+BY: Julian Smart
+
+DATE+FIXED:
+DATE+IDENTIFIED: 29/11/1999
+DETAILS: wxGTK cannot seem to find the default font
+on (some?) Debian 2.x systems. This results
+in infinite recursion in wxLoadQueryNearestFont.
+
+It only happens on one of my two Debian machines,
+but I haven't investigated thoroughly enough to give
+any more detail.
+
+I have made a temporary workaround by trapping
+recursion in wxLoadQueryNearestFont with a static
+bool flag.
+
+I will investigate the problem further if this bug has
+not already been reported by someone else.
+FIXED+BY: Vadim, just after 2.1.11?
+IDENTIFIED+BY: Tom Marshall
+PLATFORMS: wxGTK
+SHORT+DESCRIPTION: wxGTK: infinite recursion in font selection
+WORKAROUND: Create default font mapping for every
+wxGTK app (?)
+visitor_email_address: tommy@aa.net
+wxWINDOWS+VERSION: 2.1.11
+
+DATE+FIXED:
+DATE+IDENTIFIED: 29/11/1999
+DETAILS: If the listening socket cannot be obtained
+(ie, TIME_WAIT) the wxsocket server example
+program segfaults.
+FIXED+BY:
+IDENTIFIED+BY: Tom Marshall
+PLATFORMS: wxGTK
+SHORT+DESCRIPTION: wxGTK: wxsocket example crashes if listen socket unavailable
+WORKAROUND: None.
+visitor_email_address: tommy@aa.net
+wxWINDOWS+VERSION: 2.1.11
+
+DATE+FIXED: 07/12/1999
+DATE+IDENTIFIED: 04/12/1999
+DETAILS: In wxTextCtrl::AdjustSpaceLimit(), the check for len > limit
+does not take into account when len == limit. This caused the
+output to freeze when the limit was reached.
+FIXED+BY: Vasu Harish
+IDENTIFIED+BY: Vasu Harish
+PLATFORMS: wxMSW
+SHORT+DESCRIPTION: wxTextCtrl clogs output occassionally when the text size limit is reached
+WORKAROUND: In the check for (len > limit) condition in wxTextCtrl::AdjustSpaceLimit()
+call, added the condition to check for the len==limit.
+visitor_email_address: vasuh@bullant.net
+wxWINDOWS+VERSION: wx2.1.11
+
+DATE+FIXED: 30/12/1999
+DATE+IDENTIFIED:
+DETAILS: the setting of wxvc_dll have a bug of precompiled setting with release version.
+FIXED+BY: Pumb Peng
+IDENTIFIED+BY: Pumb Peng
+PLATFORMS: windows NT
+SHORT+DESCRIPTION: wxvc_dll.dsp Bug
+Submit: Submit
+WORKAROUND:
+visitor_email_address:
+wxWINDOWS+VERSION: 2.1.11
+
+DATE+FIXED: 05/01/2000
+DATE+IDENTIFIED: 04/01/2000
+DETAILS: The various message callback members of
+wxMessageDialog pass the client_data variable
+as in "int" which are later used a pointers. On a 64-bit
+system they must be passed as pointers or
+as "long" variables.
+FIXED+BY: JACS
+IDENTIFIED+BY: Ray Lanza
+PLATFORMS: motif
+SHORT+DESCRIPTION: wxMessageDialog is not 64bit safe
+Submit: Submit
+WORKAROUND: Change the declaration to void * or long
+visitor_email_address: rjl@zk3.dec.com
+wxWINDOWS+VERSION: 2.1.10
+
+DATE+FIXED: 12/01/2000
+DATE+IDENTIFIED: 12/01/2000
+DETAILS: When I try to Print or create
+wxPrintPreview object in the
+printing sample, it fails.
+The reason is the wxGetDefaultDeviceName
+function in file msw/dcprint.cpp. In line 253
+the memory is freed, and then
+the pointer to the freed memory
+is used.
+FIXED+BY: Alexey V. Exarevsky (patched into wxWin 12/1/2000 by JACS)
+IDENTIFIED+BY: Alexey V. Exarevsky
+PLATFORMS: wxMSW, compiled by VC++ 6.0
+SHORT+DESCRIPTION: Print/Print preveiw to default printer in NT
+Submit: Submit
+WORKAROUND: I have moved lines that free
+memory below the lines that
+use lpszDeviceName and
+lpszPortName
+visitor_email_address: ave@relex.ru
+wxWINDOWS+VERSION: 2.1.11
+
+DATE+FIXED:
+DATE+IDENTIFIED: 14/01/2000
+DETAILS: I run my linux boxes headless and use a Windows box for an XServer... every sample I have tried so far
+hangs in a loop tring to get an acceptable font for something or other... here is the GDB trace
+#1102 0x40203d19 in wxMessageBox ()
+#1103 0x401aee31 in wxFontMapper::GetAltForEncoding ()
+#1104 0x40287c45 in wxLoadQueryNearestFont ()
+#1105 0x4015b3cc in wxFont::GetInternalFont ()
+#1106 0x4017d1db in wxWindow::GetTextExtent ()
+#1107 0x4018f499 in wxDialogBase::CreateTextSizer ()
+#1108 0x40253302 in wxGenericMessageDialog::wxGenericMessageDialog ()
+#1109 0x40203d19 in wxMessageBox ()
+#1110 0x401aee31 in wxFontMapper::GetAltForEncoding ()
+#1111 0x40287c45 in wxLoadQueryNearestFont ()
+#1112 0x4015b3cc in wxFont::GetInternalFont ()
+#1113 0x40154653 in wxWindowDC::DoGetTextExtent ()
+#1114 0x4015e3fd in wxFrame::OnCreateStatusBar ()
+#1115 0x4015e17d in wxFrame::CreateStatusBar ()
+#1116 0x8062edc in ChatFrame::ChatFrame ()
+#1117 0x8062d3d in ChatClient::OnInit ()
+#1118 0x4014587e in wxEntry ()
+#1119 0x401617db in main ()
+FIXED+BY:
+IDENTIFIED+BY: John Barrett
+PLATFORMS: wxGTK
+SHORT+DESCRIPTION: wxWin/GTK and X-Win32 on Windows
+Submit: Submit
+WORKAROUND:
+visitor_email_address: jbarrett@box100.com
+wxWINDOWS+VERSION: 2.1.11
+
+DATE+FIXED:
+DATE+IDENTIFIED: 17.01.2000
+DETAILS: wxWindows 2 installer simply replaces msv(i)crt.dll. MUST ONLY overwrite if newer!!! Apart from that: the libraries provided are from VC6Sp1 and are known to be buggy!
+FIXED+BY:
+IDENTIFIED+BY: Klaus Richter
+PLATFORMS: wxMSW
+SHORT+DESCRIPTION: Windows Installer problem
+Submit: Submit
+WORKAROUND: Dlls from at least Sp2 (better 3) are needed (read MSDN KB Q190536)!
+visitor_email_address: richter@secude.com
+wxWINDOWS+VERSION: 2.1.11
+
+DATE+FIXED:
+DATE+IDENTIFIED: 18/01/2000
+DETAILS: I tested wxWindows/GTK+ with a simple example which
+uses frame, menu, and statusbar. But when I selected
+a menu item which creates a simple 'about dialog'
+several times, the program crashed with segmentation fault.
+I traced it with gdb, and I got this message:
+
+Program received signal SIGSEGV, Segmentation fault
+0x408f1796 in match_theme_image ()
+ from /usr/lib/gtk/themes/engines/libpixmap.so
+
+I guessed from this message that the pixmap routine in
+GTK+ theme engine caused crash. So, I changed GTK+ theme
+to default which doesn't use any pixmaps and tested
+again. This time, the program didn't crash.
+
+I'm using Redhat 6.1 with egcs 1.1.2.
+FIXED+BY:
+IDENTIFIED+BY: Sangpil Yoon
+PLATFORMS: wxGTK
+SHORT+DESCRIPTION: Problem with GTK+ theme
+Submit: Submit
+WORKAROUND: Currently none.
+visitor_email_address: yphil99@yahoo.com
+wxWINDOWS+VERSION: 2.1.12
+
+---------------------------END OF BUGLIST-------------------------
+
+
diff --git a/docs/html/icons/no.gif b/docs/html/icons/no.gif
new file mode 100644
index 0000000000..65fc311b1d
Binary files /dev/null and b/docs/html/icons/no.gif differ
diff --git a/docs/html/icons/somewhat.gif b/docs/html/icons/somewhat.gif
new file mode 100644
index 0000000000..11dd29b018
Binary files /dev/null and b/docs/html/icons/somewhat.gif differ
diff --git a/docs/html/icons/yes.gif b/docs/html/icons/yes.gif
new file mode 100644
index 0000000000..759fc9e8e9
Binary files /dev/null and b/docs/html/icons/yes.gif differ
diff --git a/docs/html/roadmap.htm b/docs/html/roadmap.htm
new file mode 100644
index 0000000000..c066c92475
--- /dev/null
+++ b/docs/html/roadmap.htm
@@ -0,0 +1,225 @@
+
+
+ wxWindows Roadmap
+
+
+
+
+
+
+
+
+
+
+
+
+wxWindows Roadmap
+
+ |
+
+
+
+
+
+
+Schedule | To-Do List
+
+
+
+
+This page represents current thinking about where wxWindows is going in the near,
+medium and long-term. It also serves as a schedule for new releases so
+that both developers and users can know what to expect when, at least approximately.
+
+We are adopting the Linux kernel style of numbering system where odd minor version numbers are development
+versions, and even numbers are stable versions. For example, 2.1.x are development releases,
+and the next 'stable' or final release of it would be 2.2.
+
+Bug-fix patches to the stable release (if made) then become point
+releases of 2.2 (2.2.x) while development continues with wild abandon
+on 2.3.x until the end of the next development cycle when it is
+released as 2.4.
+
+Development versions that end up on the FTP site or CD-ROM, as opposed to remaining
+in the CVS archive, are semi-stable -- i.e. they are checked for compilation and
+run-time problems, but not as thoroughly as the stable versions.
+
+Note that since the wxWindows effort is voluntary, these are not hard-and-fast deadlines:
+but we will endeavour to follow them as closely as possible.
+
+Note also that the releases described are for wxGTK, wxMSW and wxMotif ports. wxMac currently follows
+its own development path but is due to merge with the main code base in November/December.
+Also, minor snapshot releases for specific platforms may be
+available at dates convenient to the developers.
+
+
+
Schedule
+
+
+
+
Release 2.1.14
+
+Release date: March 21st, 2000
+
+This will be the final beta release before the final 2.2 release. It will be
+synchronized for as many platforms as possible (at least Windows and GTK,
+probably Motif and hopefully Mac).
+
+Changes since the last synchronized release (2.1.11):
+
+
+- First beta release of wxBase
+
- New or significantly improved base classes: wxDateTime, wxLongLong,
+wxCmdLineParser, wxDir, wxStopWatch
+
- Much better i18n support, encoding conversion on the fly, wxFontMapper
+
- New wxGrid class
+
- New wxCalendarCtrl class
+
- Dynamic toolbar/menubar management
+
- Better image formats support: TIFF (new), PCX (8 and 24 bit saving added)
+
- Attributes (custom colours/font) support in wxTreeCtrl, wxListCtrl
+
- Impressive number of fixed bugs in wxMSW and wxGTK including various
+incompatibilities between the two
+
- wxIPCxxx classes reworked.
+
- Several new samples and demos.
+
+
+
+
+
Release 2.2 (stable)
+
+Release date: mid. April, 2000.
+
+This is the next stable version of wxWindows. No new features since
+2.1.14 beta.
+
+
+- bugs found during 2.1.14 will be fixed.
+
- translations of text strings used in wxWindows.
+
- documentation updated to include all new classes.
+
+
+
+
+
Release 2.3
+
+Release date: ?
+
+
+- Context sensitive help.
+
- More i18n issues: dates, times, ...
+
- POSIX-like regular expressions support for all platforms.
+
- Encryption support (interface to OpenSSL).
+
- Full UDP support in wxSocket
+
- wxPlot
+
- XML for resource files.
+
- Built-in support for configuring key bindings
+
+
+
+
+
Release 2.4 (stable)
+
+Release date: ?
+
+Stable version of 2.3.
+
+
+- wxMac release.
+
- wxBeOS port.
+
+
+
+
+
+
To-Do List
+
+
+
+
+Developers: please feel free to add to these, and delete them when they are done.
+
+
+
+Already done
+
+
+
+
+- wxHTML printing. When finished, this will allow an application to generate
+printed reports with very little effort.
+
- Split library into several, for base (classes and functions usable by console and GUI
+applications), console (classes and functions usable by console application only)
+and GUI (classes and functions usable by GUI application only).
+
- wxSocket.
+
- wxImage handlers in separate .h and .cpp files.
+
- PCX writing code.
+
- Tidying of timer code, addition of wxStopWatch class.
+
- wxDateTime class.
+
- Rotated text support (might still be improved)
+
- Bug tracking system.
+
+
+General
+
+
+- Extend and unify drag and drop handling (e.g. we need to specify multiple drop targets
+that can handle multiple formats).
+
- Expand the number of controls that can be specified in a WXR file;
+add constraint specification to WXR syntax and Dialog Editor; add multilanguage support to WXR.
+May be we'd better change the format completely and replace WXR with XML
+(providing conversion utility for old files)?
+
- Context sensitive help: we need to have wxHelpEvent which would be
+generated when the help for a given control is requested and a standard
+handler for it in wxWindow which would invoke the default help system with the
+correct help id.
+
- Rewrite Dialog Editor.
+
- Modem-oriented classes: wxDialUpManager for dialing up the ISP and
+determining if there is a connection to Internet on the machine and
+wxPhoneDialer for dialing arbitrary phone numbers and otherwise communicating
+with the modem.
+
- GIF animation code (support is already there, but wxAnimation is not yet complete)
+
- Debug wxPostScriptDC further.
+
- Regular expressions support.
+
- Expansion of wxHTML to support further tags, and frames.
+
- MGL port (see Backroom/Future Ports page).
+
- FreeType support.
+
- Support for 'skins', perhaps using a set of alternative control and window classes
+written generically in wxWindows.
+
- Serial and parallel port support.
+
- Modem and telephony support.
+
- Book, tutorial.
+
- More examples.
+
+
+
+
+wxMSW
+
+
+- Windows CE port.
+
- Write a RC to WXR converter.
+
+
+
+
+wxGTK
+
+
+- GNOME/KDE integration libraries.
+
+
+
+
+wxMotif
+
+
+- Fix menu accelerators
+
- Fix refresh problems
+
- Allow wxSystemSettings to be configurable, perhaps via a control
+panel application.
+
+
+
+
+
+
diff --git a/docs/html/standard.htm b/docs/html/standard.htm
new file mode 100644
index 0000000000..196b63ff5a
--- /dev/null
+++ b/docs/html/standard.htm
@@ -0,0 +1,953 @@
+
+
+ wxWindows Programmer Style Guide
+
+
+
+
+
+
+
+
+
+
+
+
+wxWindows Programmer Style Guide
+
+ |
+
+
+
+
+
+by Vadim Zeitlin
+
+This guide is intended for people who are (or intending to start) writing code
+for wxWindows class library.
+
+
+The guide is separated into two parts: the first one addresses the general
+compatibility issues and is not wxWindows-specific. The advises in this part
+will hopefully help you to write programs which compile and run on greater
+variety of platforms. The second part details the wxWindows code organization and
+its goal it to make wxWindows as uniform as possible without imposing too
+many restrictions on the programmer.
+
+Acknowledgements: This guide is partly based on
+C++ portability guide by David Williams.
+
+
+
General C++ Rules
+
+
+
+
+
wxWindows Rules
+
+
+
+
+General C++ Rules
+
+ - New or not widely supported C++ features
+
+ The usage of all features in this section is not recommended for one reason: they appeared in C++ relatively recently and are not yet
+supported by all compilers. Moreover, when they're supported, there are
+differences between different vendor's implementations. It's understandable that
+you might love one (or all) of these features, but you surely can write C++
+programs without them. Where possible, workarounds to compensate for absence
+of your favourite C++ abilities are indicated.
+
Just to suppress any doubts that there are compilers which don't support
+these new features, you can think about Win16 (a.k.a. Win 3.1) compilers,
+none of which supports any feature from the list below.
+
+
+ - Don't use C++ templates
+Besides the reasons mentioned above, template usage also makes the
+program compile much slower (200%-300% is not uncommon) and their support
+even in the compilers which have had it for a long time is far from perfect
+(the best example is probably gcc).
+
Workaround: The things you would like to use templates for are,
+most commonly, polymorphic containers (in the sense that they can contain objects of
+any type without compromising C++ type system, i.e. using void *
+is out of question). wxWindows provides dynamic
+arrays and lists which are sufficient in 99% of cases - please don't hesitate
+to use them. Lack of template is not a reason to use static arrays or
+type-less (passing by void *) containers.
+
+
- Don't use C++ exceptions
+The C++ exception system is an error-reporting mechanism. Another reasons not to use it,
+besides portability, are the performance penalty it imposes (small, but, at least for
+current compilers, non-zero), and subtle problems with
+memory/resource deallocation it may create (the place where you'd like to use
+C++ exceptions most of all are the constructors, but you need to be very
+careful in order to be able to do it).
+
Workaround: there is no real workaround, of course, or the exceptions
+wouldn't have been added to the language. However, there are several rules which
+might help here:
+
+
+ - Every function returns an integer (or at least boolean) error code.
+
There is no such thing as a function that never fails - even if it can't
+ fail now, it might do it later, when modified to be more powerful/general.
+ Put the int or bool return type from the very beginning!
+
- Every function you call may fail - check the return code!
+
Never rely on the function's success, always test for a possible error.
+
- Tell the user about the error, don't silently ignore them.
+
Exceptions are always caught and, normally, processed when they're
+ caught. In the same manner, the error return code must always be processed
+ somehow. You may choose to ignore it, but at least tell the user that
+ something wrong happened using wxLogError or
+ wxLogWarning functions. All wxWindows
+ functions (must) log the error messages on failure - this can be disabled
+ by using wxLogNull object before calling it.
+
Examples:
+ - Wrong:
+
+void ReadAddressBookFile(const wxString& strName)
+{
+ wxFile file;
+
+ if ( !file.Open(strFile) )
+ return;
+
+ ...process it...
+}
+
+ - Correct:
+
+// returns false if the address book couldn't be read
+bool ReadAddressBookFile(const wxString& strName)
+{
+ wxFile file;
+
+ if ( !file.Open(strFile) ) {
+ // wxFile logged an error because file couldn't be opened which
+ // contains the system error code, however it doesn't know what
+ // this file is for and an error message "can't open $GLCW.ADB"
+ // can be quite confusing for the user. Here we say what we mean.
+ wxLogError("Can't read address book from '%s'!",
+ strName.c_str());
+ return false;
+ }
+
+ ...process it...
+
+ return true;
+}
+
+ or, if it's not an error if file doesn't exist (here we could just check
+ its existence, but let's suppose that there is no wxFile::Exists())
+ we can also write:
+
+// returns false if address book file doesn't exist
+bool ReadAddressBookFile(const wxString& strName)
+{
+ wxFile file;
+
+ // start a block inside which all log messages are suppressed
+ {
+ wxLogNull noLog;
+ if ( !file.Open(strFile) )
+ return false;
+ }
+
+ ...process it...
+
+ return true;
+}
+
+
+
+
+ - Don't use RTTI
+RTTI stands for Run-Time Type Information and there is probably no other
+reason not to use it except the portability issue and the fact that it adds
+sizeof(void *) bytes to any class having virtual functions (at least,
+in the implementations I'm aware of).
+
Workaround: use wxWindows RTTI system which allows you to do almost
+everything which the new C++ RTTI, except that, of course, you have to use
+macros instead of the (horrible looking, BTW) dynamic_cast.
+
+
- Don't use namespaces
+This topic is subject to change with time, however for the moment all wxWindows
+classes/functions live in the global namespace.
+
Workaround: None.
+
+
- Don't use STL
+STL is the new C++ standard library, proposing all kinds of template containers
+and generic algorithm implementations. Templates are the heart (and almost
+everything else) of the library, so its usage is out of question. Besides, even
+with the compilers which do support templates, STL has many of its own problems,
+there are many "not 100% standard compatible" vendor implementations, none of existing debuggers understands its
+complicated data structures, ... the list can go on (almost) forever.
+
Workaround: Use wxString, dynamic arrays and lists and other wxWindows
+classes. wxString has many of the most often used functions of std::string STL
+class (typedef to be precise).
+
- Don't declare variables inside for()
+
+The scope of a variable declared inside for() statement changed several
+years ago, however many compilers still will complain about second declaration
+of i in the following code:
+
+ for ( int i = 0; i < 10; i++ ) {
+ ...
+ }
+
+ ...
+
+ for ( int i = 0; i < 10; i++ ) {
+ ...
+ }
+
+even though if it's perfectly legal now.
+Workaround: write this instead:
+
+ int i;
+ for ( i = 0; i < 10; i++ ) {
+ ...
+ }
+
+ ...
+
+ for ( i = 0; i < 10; i++ ) {
+ ...
+ }
+
+or, even better, use different names for the variables in the different for
+loops (in particular, avoid mute variable names like i above) - then
+you can declare them in the loop statement and don't pollute the outer name
+space with local loop variables.
+
+ - Don't use nested classes
+Nested classes are, without doubt, a very good thing because they allow to hide
+"private" (in the sense that they're used only inside the library) classes and,
+generally, put the related things together.
+
Unfortunately, some compilers have trouble understanding them, so we must
+sacrifice the ideals of software design to get a working program in this case.
+
Workaround: instead of
+
+ // in the header
+ class PublicLibClass {
+ ...
+ private:
+ class PrivateLibClass { ... } m_object;
+ };
+
+you can try the following:
+
+ // in the header
+ class PrivateLibClass; // fwd decl
+ class PublicLibClass {
+ ...
+ private:
+ class PrivateLibClass *m_pObject;
+ };
+
+ // in the .cpp file
+ class PrivateLibClass { ... };
+
+ PublicLibClass::PublicLibClass()
+ {
+ m_pObject = new PrivateLibClass;
+
+ ...
+ }
+
+ PublicLibClass::~PublicLibClass()
+ {
+ delete m_pObject;
+ }
+
+A nice side effect is that you don't need to recompile all the files
+including the header if you change the PrivateLibClass declaration (it's
+an example of a more general interface/implementation separation idea).
+
+
- Don't use new logical operators keywords
+The C++ standard has introduced the following new reserved words: or,
+and, not, xor, bitand, bitor,
+compl, and_eq, or_eq, not_eq,
+or_eq which can be used instead of the usual C operations &&,
+||, ~ etc.
+
This wonderful (and not backwards compatible in addition to being
+absolutely useless) new feature means that these new keywords should not be
+used as the variable names - even if current compilers usually will accept
+this, your code will break in the future. For most of the keywords, using them
+as variable names is quite unlikely, but or and compl were
+used in the wxWindows sources which seems to indicate that they are the most
+likely candidates.
+
It goes without saying that these new keywords should not be used instead
+of the tradional C operators neither both because most compilers don't accept
+them and because using them in C code makes it less readable.
+
+
+
+ - Other compiler limitations
+This section lists the less obvious limitations of the current C++ compilers
+which are less restrictive than the ones mentioned in the previous section but
+are may be even more dangerous as a program which compiles perfectly well on
+some platform and seems to use only standard C++ featurs may still fail to
+compile on another platform and/or with another compiler.
+
+
+ - Use ternary operator ?: carefully
+ The ternary operator ?: shouldn't be used with objects (i.e. if any
+of its operands are objects) because some compilers (notably Borland C++) fail
+to compile such code.
+
Workaround: use if/else instead.
+
+ wxString s1, s2;
+
+ // Borland C++ won't compile the line below
+ wxString s = s1.Len() < s2.Len() ? s1 : s2;
+
+ // but any C++ compiler will compile this
+ wxString s;
+ if ( s1.Len() < s2.Len() )
+ s = s1;
+ else
+ s = s2;
+
+
+ - Don't use initializers with automatic arrays
+The initializers for automatic array variables are not supported by some older
+compilers. For example, the following line
+
+ int daysInMonth[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
+
+will fail to compile with HP-UX C++ compiler.
+Workaround: either make the array static or initialize each item
+separately: in the (stupid) example above, the array should be definitely
+declared as static const (assuming that the leap years are dealt with
+elsewhere somehow...) which is ok. When an array is really not const, you
+should initialize each element separately.
+
+
- Always have at least one constructor in a class with destructor
+It is a good rule to follow in general, but some compilers (HP-UX) enforce it.
+So even if you are sure that the default constructor for your class is ok but
+it has a destructor, remember to add an empty default constructor to it.
+
+
+
+ - General recommendations
+While the recommendations in the previous section may not apply to you if you're
+only working with perfect compilers which implement the very newest directives of
+C++ standard, this section contains compiler- (and language-) independent advice
+which must be followed if you wish to write correct, i.e. working, programs. It
+also contains some C/C++ specific remarks in the end which are less
+important.
+
+ - No C++ comments in C code>
+Never use C++ comments in C code - not all C compilers/preprocessors
+understand them. Although we're mainly concerned with C++ here, there are
+several files in wxWindows sources tree which are compiled with C compiler.
+Among them are include/wx/setup.h and include/wx/expr.h.
+
+Another thing related to C vs C++ preprocessor differences is that some old C
+preprocessors require that all directives start in the first column (while
+it's generally allowed to have any amount of whitespace before them in C++),
+so you should start them in the beginning of the line in files which are
+compiled with C compiler.
+
+
- No global variables with constructors
+In C++, the constructors of global variables are called before the
+main() function (or WinMain() or any other program entry point)
+starts executing. Thus, there is no possibility to initialize anything
+before the constructor call. The order of construction is largely
+implementation-defined, meaning that there is no guarantee that one global
+object will be initialized before another one (except if they are both defined
+in the same translation unit, i.e. .cpp file). Most importantly, no custom
+memory allocation operators are installed at the moment of execution of global
+variables constructors, so a (less restrictive) rule is that you should have
+no global variables which allocate memory (or do anything else non-trivial) in
+the constructor. Of course, if an object doesn't allocate memory in its constructor
+right now, it may start making it later, so you can only be sure about this if
+you don't use any variables of object (as opposed to simple:
+int, ...) types. Example: currently, wxString doesn't allocate memory
+in its default constructor, so you might think that having a global (initially)
+empty wxString is safe. However, if wxString starts allocating some minimal
+amount of memory in its default constructor (which doesn't look unreasonable),
+you would have all kinds of problems with new
+and delete operators (overloaded in wxWindows), especially because the first new called
+is the standard one (before wxWindows overloads them) and delete will
+be the overloaded operator.
+
+
- Turn on all warnings and eradicate them
+Give the compiler a chance to help you - turn on all warnings! You should always
+use the maximum available warning level of your compiler and understand and
+correct each of them. If, for whatever reasons, a compiler gives a warning on
+some perfectly legal line of code and you can't change it, please insert a
+comment indicating it in the code. Most oftenly, however, all compiler warnings
+may be avoided (not suppressed!) with minimal changes to your code.
+
+
- Don't rely on sizeof(int) == 2...
+You should never assume any absolute constraints on data type sizes. Currently,
+we have 16-bit, 32-bit and 64-bit machines and even inside each class data type
+sizes are different. A small table illustrates it quite well:
+
+
+ Architecture/OS |
+ sizeof(short) |
+ sizeof(int) |
+ sizeof(long) |
+ sizeof(void *) |
+
+
+
+ i386/Windows 3.1 |
+ 2 |
+ 2 |
+ 4 |
+ 2 or 4 |
+
+
+
+ i386/Windows 95 |
+ 2 |
+ 4 |
+ 4 |
+ 4 |
+
+
+
+ Merced/Win64 |
+ 2 |
+ 4 |
+ 4 |
+ 8 |
+
+
+
+ Alpha/Linux |
+ ??? |
+ ??? |
+ ??? |
+ ??? |
+
+
+
+ - No assignments in conditional expressions
+Although close to the heart of many C programmers (I plead guilty), code like
+classical if ( (c = getchar()) != EOF ) is bad because it prevents you
+from enabling "assignment in conditional expression" warning (see also
+above) which is helpful to detect common
+mistypes like if ( x = 2 ) instead of if ( x == 2 ).
+
+
- Use #if 0 rather than comments to temporarily
+ disable blocks of code
+If you have to temporarily disable some code, use
+
+ #if 0 // VZ: I think this code is unneeded, it probably must be removed
+ ...
+ #endif // 0
+
+instead of
+
+ /*
+ ...
+ */
+
+The reason is simple: if there are any /* ... */ comments inside
+... the second version will, of course, miserably fail.
+
+ - Avoid overloaded virtual functions
+
+You should avoid having overloaded virtual methods in a base class because if
+any of them is overriden in a derived class, then all others must be overriden
+as well or it would be impossible to call them on an object of derived class.
+
+For example, the following code:
+
+
+ class Base
+ {
+ public:
+ virtual void Read(wxFile& file);
+ virtual void Read(const wxString& filename);
+ };
+
+ class Derived : public Base
+ {
+ public:
+ virtual void Read(wxFile& file) { ... }
+ };
+
+ ...
+
+ Derived d;
+ d.Read("some_filename"); // compile error here!
+
+
+will fail to compile because the base class function taking filename
+is hidden by the virtual function overriden in the derived class (this is
+known as [virtual] function name hiding problem in C++).
+
+
+The standard solution to this problem in wxWindows (where we have such
+situations quite often) is to make both Read() functions not virtual
+and introduce a single virtual function DoRead(). Usually, it makes
+sense because the function taking a filename is (again, usually) implemented
+in terms of the function reading from a file anyhow (but making only this
+functions not virtual won't solve the above problem!).
+
+So, the above declarations should be written as:
+
+ class Base
+ {
+ public:
+ void Read(wxFile& file);
+ void Read(const wxString& filename);
+
+ protected:
+ virtual void DoRead(wxFile& file);
+ };
+
+ class Derived : public Base
+ {
+ protected:
+ virtual void DoRead(wxFile& file) { ... }
+ };
+
+
+This technique is widely used in many of wxWindows classes - for example,
+wxWindow has more than a dozen of DoXXX() functions which
+allows to have many overloaded versions of commonly used methods such as
+SetSize()
+
+ - Don't use extra semi-colons on top level
+Some compilers don't pay any attention to extra semicolons on top level, as in
+
+ class Foo { };;
+
+while others complain loudly about it. Of course, you would rarely put 2
+semicolons yourself, but it may happen if you're using a macro
+(IMPLEMENT_something, for example) which already has a ';' inside and
+put another one after it.
+
+
+
+ - Unix/DOS differences
+ Two operating systems supported by wxWindows right now are (different flavours
+of) Unix and Windows 3.1/95/NT (although Mac, OS/2 and other ports exist/are
+being developed as well). The main differences between them are summarized
+here.
+
+
+ - Use .cpp for C++ source file extension
+There is, unfortunately, no standard exceptions for C++ source files. Different
+people use .C, .cc, .cpp, .cxx, .c++ and probably several others I forgot. Some
+compilers don't care about extension, but there are also other ones which can't
+be made to compile any file with "wrong" extension. Such compilers are very
+common in DOS/Windows land, that's why the .cpp extension is the least likely to
+cause any problems - it's the standard one under DOS and will probably be
+accepted by any Unix compiler as well (any counter examples?). The extension
+for the header files is .h.
+
+
- Don't use backslash ('\\') in #includes
+Although it's too silly to mention, please don't use backslashes in
+#include preprocessor statement. Even not all Windows compilers accept
+it, without speaking about all other ones.
+
+
- Avoid carriage returns in cross-platform code
+This problem will hopefully not arise at all, with CVS taking care of this
+stuff, however it's perhaps not useless to remember that many Unix compilers
+(including, but not limited to, gcc) don't accept carriage returns
+(= = '\r') in C/C++ code.
+
+ - Use only lower case filenames
+DOS/Windows 3.1 isn't case sensitive, Windows 95/NT are case preserving, but not
+case sensitive. To avoid all kinds of problems with compiling under Unix (or
+any other fully case-sensitive OS), please use only lower case letters in the
+filenames.
+
+
- Terminate the files with a new-line
+While DOS/Windows compilers don't seem to mind, their Unix counterparts don't
+like files without terminating new-line. Such files also give a warning message
+when loaded to vim (the Unix programmer's editor of choice :-)), so please think
+about terminating the last line.
+
+
- Avoid globals differing by case only
+The linker on VMS is case-insensitive. Therefore all external variables and
+functions which differ only in case are not recognized by the linker as
+different, so all externals should differ in more than the case only:
+i.e. GetId is the same as GetID.
+
+
+
+
+ - Style choices
+ All wxWindows specific style guidelines are specified in the next
+section, here are the choices which are not completely arbitrary,
+but have some deeper and not wxWindows-specific meaning.
+
+
+ - Naming conventions: use m_ for members
+We all know how important it is to write readable code. One of the first steps
+in this direction is the choice of naming convention. It may be quite vague or
+strictly define the names of all the variables and function in the program,
+however it surely must somehow allow the reader to distinguish between
+variable and functions and local variables and member variables from the first
+glance.
+
The first requirement is commonly respected, but for some strange reasons, the
+second isn't, even if it's much more important because, after all, the immediate
+context usually allows you to distinguish a variable from a function in
+C/C++ code. On the other hand, you cannot say what x in the
+following code fragment is:
+
+ void Foo::Bar(int x_)
+ {
+ ...
+
+ x = x_;
+
+ ...
+ }
+
+It might be either a local variable (unluckily the function is too long so you
+don't see the variable declarations when you look at x = x_ line), a
+member variable or a global variable - you have no way of knowing.
+The wxWindows naming convention gives you, the reader of the code, much more
+information about x. In the code above you know that it's a local
+variable because:
+
+ - global variables are always prefixed with g_
+ - member variables are always prefixed with m_
+ - static variables are always prefixed with s_
+
+Examples:
+
+ extern int g_x; // of course, 'x' is not the best name for a global...
+
+ void Bar()
+ {
+ int x;
+ }
+
+ class Foo {
+ public:
+ void SetX(int x) { m_x = x; }
+ private:
+ int m_x;
+ };
+
+As you see, it also solves once and for all the old C++ programmer's question:
+how to call SetX() parameter? The answer is simple: just call it
+x because there is no ambiguity with Foo::m_x.
+The prefixes can be combined to give ms_ and gs_ for static
+member (a.k.a. class) variables and static global variables.
+
The convention is, of course, completely worthless if it is not followed:
+nothing like being sure that x is a local variable in the code fragment
+above and discovering later the following lines in the header:
+
+ class Foo {
+ ...
+ int x; // I don't like wxWindows naming convention
+ };
+
+Please do use these prefixes, they make your code much easier to read. Also
+please notice that it has nothing to do with the so-called Hungarian notation
+which is used in wxMSW part of wxWindows code and which encodes the type
+of the variable in its name - it is actually quite useful in C, but has little
+or no sense in C++.
+
+ - Don't use void for functions without
+ arguments
+In ANSI C, void Foo() takes an arbitrary number of arbitrarily typed
+arguments (although the form void Foo(...) is preferred) and void
+Foo(void) doesn't take any arguments. In C++, however, the situation is
+different and both declarations are completely equivalent. As there is no need
+to write void in this situation, let's not write it - it can only be
+confusing and create an impression that it really means something when it's not
+at all the case.
+
+
- Don't use const for non pointer/reference
+ arguments
+In both C and C++ an argument passed by value cannot be modified - or, more
+precisely, if it is modified in the called function, only the local copy is
+really changed, not the caller's variable. So, semantically speaking, there is
+no difference between void Foo(int) and void Foo(const int).
+However, the const keyword is confusing here, adds nothing to the code
+and even cannot be removed if Foo() is virtual and overridden (because
+the names are mangled differently). So, for arguments passed by value
+you shouldn't use const.
+
Of course, it doesn't apply to functions such as
+void PrintMessage(const char *text) where const is mandatory.
+
+
+
+
+
+
wxWindows rules
+
+ - File location and naming conventions
+
+ File locations
+The wxWindows files for each supported platform have their own subdirectories
+in "include" and "src". So, for example, there is "src/msw", "include/gtk"
+etc. There are also two special subdirectories called "common" and
+"generic". The common subdirectory contains the files which are platform
+independent (wxObject, wxString, ...) and the generic one the generic
+implementations of GUI widgets, i.e. those which use only other wxWindows
+classes to implement them. For the platforms where the given functionality
+cannot be implemented natively, the generic implementation is used and the native
+one is used for the others. As I feel that it becomes a bit too confusing,
+here is an example: wxMessageBox function is implemented natively under
+Windows (where it just calls MessageBox API), but there is also a generic
+implementation which is used under, for example, GTK. A generic class should
+normally have a name that distinguishes it from any platform-specific implementation.
+A #define will allow wxGenericMessageDialog to be wxMessageDialog on some
+platforms, for example.
+
+
This scheme applies not only for the .cpp files, but also for the headers.
+However, as the program using wxWindows should (ideally) not use any
+"#ifdef <platform>" at all, the headers are always included with
+"#include <wx/msgdlg.h>" (for example). This file, in turn, includes
+the right header for given platform. Any new headers should conform to this
+setup as well to allow including <wx/foo.h> on any platform.
+
+Note that wxWindows implementation files should use quotes when including wxWindows
+headers, not angled brackets. Applications should use angled brackets. This
+ensures that the dependencies are correctly handled by the compiler.
+
+
Include guards
+To minimize the compile time C++ programmers often use so called include
+guards: for example, in the header file foo.h you might have
+
+
+#ifndef _FOO_H_
+#define _FOO_H_
+
+... all header contents ...
+
+#endif
+ //_FOO_H_
+
+
+In this way, the header will only be included once for the compilation
+of any .cpp (of course, it still will be included many times for the
+compilation of the whole project, so it has nothing to do with precompiled
+headers). wxWindows is no exception and also uses include guards which should use
+the above form, except for top-level headers which include files with identical
+names, in which case you should use _FOO_H_BASE_.
+
+ Precompiled headers
+The precompiled headers greatly (we're speaking about orders of hundreds of
+percent here) reduce the compilation time. wxWindows uses them if the target
+compiler supports them (it knows about MS Visual C++, Borland C++ and g++).
+You should include all the headers included from only
+inside "#if !USE_PRECOMP" to avoid unnecessary overhead in the case
+when the precompiled headers are used.
+
+The start of a cpp implementation file after the heading might look like this:
+
+
+#ifdef __GNUG__
+#pragma implementation "bitmap.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include <stdio.h>
+#include "wx/setup.h"
+#include "wx/list.h"
+#include "wx/utils.h"
+#include "wx/app.h"
+#include "wx/palette.h"
+#include "wx/bitmap.h"
+#include "wx/icon.h"
+#endif
+
+#include "wx/msw/private.h"
+#include "assert.h"
+
+
+
+Any header file should containg the following lines:
+
+#ifdef __GNUG__
+ #pragma interface "foo.h"
+#endif
+
+and the corresponding .cpp file:
+
+#ifdef __GNUG__
+ #pragma implementation "foo.h"
+#endif
+
for g++ compilation.
+
+
+ - File layout and indentation
+
+ wxWindows standard header here. The
+copyright holder is the original author. It is assumed the author does not assert copyright,
+under the terms of the wxWindows licence. This is a legal interpretation of the informal
+usage 'public domain' (the copyright holder does not assert the copyright).
+
Indent your code with 4 spaces (no tabs!)
+ Order of parts in a class declarations
+
+
+ - More about naming conventions
+
+ Use wx or WX prefix for all public symbols.
+wx should be used for functions and classes, WX for macros.
+ - Use WXDLLEXPORT with all classes/functions in
+ wxMSW/common code
+The title says it all - every public (in the sense that it is not internal to
+the library) function or class should have WXDLLEXPORT macro in its
+declaration to allow compilation of wxWindows as shared library. For example:
+
+
+bool WXDLLEXPORT wxYield(void);
+class WXDLLEXPORT MyClass; // (for forward declarations and real declarations)
+WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
+
+
+The reason for the strange syntax for data is that some compilers use different
+keyword ordering for exporting data.
+
+ Use Set/Get prefixes for accessors
+There is a convention in wxWindows to prefix the accessors (i.e. any simple, in
+general, inline function which does nothing else except changing or returning
+the value of a member variable) with either Set or Get.
+
+
wxNAMING_CONSTANTS
+The constants in wxWindows code should be defined using enum C++
+keyword (and not with #define or static const int). They
+should be declared in the global scope (and not inside class declaration) and
+their names should start with a wx prefix. Finally, the constants
+should be in all capital letters (except the first 2) to make it easier to
+distinguish them from the variables with underscores separating the words.
+
+
For example, file-related constants should be declared like this:
+
+enum
+{
+ wxFILEOPEN_READ,
+ wxFILEOPEN_WRITE,
+ wxFILEOPEN_READWRITE
+};
+
+
+
+
+ - Miscellaneous
+
+ Use forward declarations whenever possible
+It's really a trivial piece of advice, but remember that using forward declarations
+instead of including the header of corresponding class is better because not
+only does it minimize the compile time, it also simplifies the dependencies
+between different source files.
+
On a related subject, in general, you should try not to include other
+headers from a header file.
+
+
Use debugging macros
+wxWindows provides the debugging macros wxASSERT, wxFAIL and
+wxCHECK_RET in file. Please use them as often as
+you can - they will never do you any harm but can greatly simplify the bug
+tracking both for you and for others.
+
Also, please use wxFAIL_MSG("not implemented") instead of writing
+stubs for not (yet) implemented functions which silently return incorrect
+values - otherwise, a person using a not implemented function has no idea that
+it is, in fact, not implemented.
+
As all debugging macros only do something useful if the symbol
+__WXDEBUG__ is defined, you should compile your programs in debug mode to profit
+from them.
+
+
+
+
+
+
+Please send any comments to Vadim Zeitlin.
+
+
+
+
+
diff --git a/docs/install.txt b/docs/install.txt
new file mode 100644
index 0000000000..cb87488c42
--- /dev/null
+++ b/docs/install.txt
@@ -0,0 +1,14 @@
+ INSTALL.TXT
+
+NB: this file describes the installation of wxBase library. If you are using a
+ GUI version of wxWindows, please refer to the install.txt in the
+ appropriate subdirectory (msw, gtk, motif).
+
+0. Requirments and supported platforms
+ -----------------------------------
+
+1. Installing under Win32
+ ----------------------
+
+2. Installing under Unix/BeOS
+ --------------------------
diff --git a/docs/latex/wx/date.tex b/docs/latex/wx/date.tex
new file mode 100644
index 0000000000..c09e0d66da
--- /dev/null
+++ b/docs/latex/wx/date.tex
@@ -0,0 +1,356 @@
+\section{\class{wxDate}}\label{wxdate}
+
+A class for manipulating dates.
+
+{\bf NOTE:} this class is retained only for compatibility,
+and has been replaced by \helpref{wxDateTime}{wxdatetime}. wxDate
+may be withdrawn in future versions of wxWindows.
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxTime}{wxtime}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxDate::wxDate}\label{wxdateconstr}
+
+\func{}{wxDate}{\void}
+
+Default constructor.
+
+\func{}{wxDate}{\param{const wxDate\&}{ date}}
+
+Copy constructor.
+
+\func{}{wxDate}{\param{int}{ month}, \param{int}{ day}, \param{int}{ year}}
+
+Constructor taking month, day and year.
+
+\func{}{wxDate}{\param{long}{ julian}}
+
+Constructor taking an integer representing the Julian date. This is the number of days since
+1st January 4713 B.C., so to convert from the number of days since 1st January 1901,
+construct a date for 1/1/1901, and add the number of days.
+
+\func{}{wxDate}{\param{const wxString\& }{dateString}}
+
+Constructor taking a string representing a date. This must be either the string TODAY, or of the
+form {\tt MM/DD/YYYY} or {\tt MM-DD-YYYY}. For example:
+
+\begin{verbatim}
+ wxDate date("11/26/1966");
+\end{verbatim}
+
+\wxheading{Parameters}
+
+\docparam{date}{Date to copy.}
+
+\docparam{month}{Month: a number between 1 and 12.}
+
+\docparam{day}{Day: a number between 1 and 31.}
+
+\docparam{year}{Year, such as 1995, 2005.}
+
+\membersection{wxDate::\destruct{wxDate}}
+
+\func{void}{\destruct{wxDate}}{\void}
+
+Destructor.
+
+\membersection{wxDate::AddMonths}\label{wxdateaddmonths}
+
+\func{wxDate\&}{AddMonths}{\param{int}{ months=1}}
+
+Adds the given number of months to the date, returning a reference to `this'.
+
+\membersection{wxDate::AddWeeks}\label{wxdateaddweeks}
+
+\func{wxDate\&}{AddWeeks}{\param{int}{ weeks=1}}
+
+Adds the given number of weeks to the date, returning a reference to `this'.
+
+\membersection{wxDate::AddYears}\label{wxdateaddyears}
+
+\func{wxDate\&}{AddYears}{\param{int}{ years=1}}
+
+Adds the given number of months to the date, returning a reference to `this'.
+
+\membersection{wxDate::FormatDate}\label{wxdateformatdate}
+
+\constfunc{wxString}{FormatDate}{\param{int}{ type=-1}}
+
+Formats the date according to {\it type} if not -1, or according
+to the current display type if -1.
+
+\wxheading{Parameters}
+
+\docparam{type}{-1 or one of:
+
+\begin{twocollist}\itemsep=0pt
+\twocolitem{wxDAY}{Format day only.}
+\twocolitem{wxMONTH}{Format month only.}
+\twocolitem{wxMDY}{Format MONTH, DAY, YEAR.}
+\twocolitem{wxFULL}{Format day, month and year in US style: DAYOFWEEK, MONTH, DAY, YEAR.}
+\twocolitem{wxEUROPEAN}{Format day, month and year in European style: DAY, MONTH, YEAR.}
+\end{twocollist}}
+
+\membersection{wxDate::GetDay}\label{wxdategetday}
+
+\constfunc{int}{GetDay}{\void}
+
+Returns the numeric day (in the range 1 to 31).
+
+\membersection{wxDate::GetDayOfWeek}\label{wxdategetdayofweek}
+
+\constfunc{int}{GetDayOfWeek}{\void}
+
+Returns the integer day of the week (in the range 1 to 7).
+
+\membersection{wxDate::GetDayOfWeekName}\label{wxdategetdayofweekname}
+
+\constfunc{wxString}{GetDayOfWeekName}{\void}
+
+Returns the name of the day of week.
+
+\membersection{wxDate::GetDayOfYear}\label{wxdategetdayofyear}
+
+\constfunc{long}{GetDayOfYear}{\void}
+
+Returns the day of the year (from 1 to 365).
+
+\membersection{wxDate::GetDaysInMonth}\label{wxdategetdaysinmonth}
+
+\constfunc{int}{GetDaysInMonth}{\void}
+
+Returns the number of days in the month (in the range 1 to 31).
+
+\membersection{wxDate::GetFirstDayOfMonth}\label{wxdategetfirstdayofmonth}
+
+\constfunc{int}{GetFirstDayOfMonth}{\void}
+
+Returns the day of week that is first in the month (in the range 1 to 7).
+
+\membersection{wxDate::GetJulianDate}\label{wxdategetjuliandate}
+
+\constfunc{long}{GetJulianDate}{\void}
+
+Returns the Julian date.
+
+\membersection{wxDate::GetMonth}\label{wxdategetmonth}
+
+\constfunc{int}{GetMonth}{\void}
+
+Returns the month number (in the range 1 to 12).
+
+\membersection{wxDate::GetMonthEnd}
+
+\func{wxDate}{GetMonthEnd}{\void}
+
+Returns the date representing the last day of the month.
+
+\membersection{wxDate::GetMonthName}\label{wxdategetmonthname}
+
+\constfunc{wxString}{GetMonthName}{\void}
+
+Returns the name of the month. Do not delete the returned storage.
+
+\membersection{wxDate::GetMonthStart}\label{wxdategetmonthstart}
+
+\constfunc{wxDate}{GetMonthStart}{\void}
+
+Returns the date representing the first day of the month.
+
+\membersection{wxDate::GetWeekOfMonth}\label{wxdategetweekofmonth}
+
+\constfunc{int}{GetWeekOfMonth}{\void}
+
+Returns the week of month (in the range 1 to 6).
+
+\membersection{wxDate::GetWeekOfYear}\label{wxdategetweekofyear}
+
+\constfunc{int}{GetWeekOfYear}{\void}
+
+Returns the week of year (in the range 1 to 52).
+
+\membersection{wxDate::GetYear}\label{wxdategetyear}
+
+\constfunc{int}{GetYear}{\void}
+
+Returns the year as an integer (such as `1995').
+
+\membersection{wxDate::GetYearEnd}\label{wxdategetyearend}
+
+\constfunc{wxDate}{GetYearEnd}{\void}
+
+Returns the date representing the last day of the year.
+
+\membersection{wxDate::GetYearStart}\label{wxdategetyearstart}
+
+\constfunc{wxDate}{GetYearStart}{\void}
+
+Returns the date representing the first day of the year.
+
+\membersection{wxDate::IsLeapYear}\label{wxdateisleapyear}
+
+\constfunc{bool}{IsLeapYear}{\void}
+
+Returns TRUE if the year of this date is a leap year.
+
+\membersection{wxDate::Set}\label{wxdateset}
+
+\func{wxDate\&}{Set}{\void}
+
+Sets the date to current system date, returning a reference to `this'.
+
+\func{wxDate\&}{Set}{\param{long}{ julian}}
+
+Sets the date to the given Julian date, returning a reference to `this'.
+
+\func{wxDate\&}{Set}{\param{int}{ month}, \param{int}{ day}, \param{int}{ year}}
+
+Sets the date to the given date, returning a reference to `this'.
+
+{\it month} is a number from 1 to 12.
+
+{\it day} is a number from 1 to 31.
+
+{\it year} is a year, such as 1995, 2005.
+
+\membersection{wxDate::SetFormat}\label{wxdatesetformat}
+
+\func{void}{SetFormat}{\param{int}{ format}}
+
+Sets the current format type.
+
+\wxheading{Parameters}
+
+\docparam{format}{-1 or one of:
+
+\twocolwidtha{5cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxDAY}}{Format day only.}
+\twocolitem{{\bf wxMONTH}}{Format month only.}
+\twocolitem{{\bf wxMDY}}{Format MONTH, DAY, YEAR.}
+\twocolitem{{\bf wxFULL}}{Format day, month and year in US style: DAYOFWEEK, MONTH, DAY, YEAR.}
+\twocolitem{{\bf wxEUROPEAN}}{Format day, month and year in European style: DAY, MONTH, YEAR.}
+\end{twocollist}}
+
+\membersection{wxDate::SetOption}\label{wxdatesetoption}
+
+\func{int}{SetOption}{\param{int}{ option}, \param{const bool}{ enable=TRUE}}
+
+Enables or disables an option for formatting.
+
+\wxheading{Parameters}
+
+\docparam{option}{May be one of:
+
+\twocolwidtha{5cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxNO\_CENTURY}}{The century is not formatted.}
+\twocolitem{{\bf wxDATE\_ABBR}}{Month and day names are abbreviated to 3 characters when formatting.}
+\end{twocollist}}
+
+\membersection{wxDate::operator wxString}\label{wxdatewxstring}
+
+\func{}{operator wxString}{\void}
+
+Conversion operator, to convert wxDate to wxString by calling FormatDate.
+
+\membersection{wxDate::operator $+$}\label{wxdateplus}
+
+\func{wxDate}{operator $+$}{\param{long}{ i}}
+
+\func{wxDate}{operator $+$}{\param{int}{ i}}
+
+Adds an integer number of days to the date, returning a date.
+
+\membersection{wxDate::operator $-$}\label{wxdateminus}
+
+\func{wxDate}{operator $-$}{\param{long}{ i}}
+
+\func{wxDate}{operator $-$}{\param{int}{ i}}
+
+Subtracts an integer number of days from the date, returning a date.
+
+\func{long}{operator $-$}{\param{const wxDate\&}{ date}}
+
+Subtracts one date from another, return the number of intervening days.
+
+\membersection{wxDate::operator $+=$}\label{wxdateplusequals}
+
+\func{wxDate\&}{operator $+=$}{\param{long}{ i}}
+
+Postfix operator: adds an integer number of days to the date, returning
+a reference to `this' date.
+
+\membersection{wxDate::operator $-=$}\label{wxdateminusequals}
+
+\func{wxDate\&}{operator $-=$}{\param{long}{ i}}
+
+Postfix operator: subtracts an integer number of days from the date, returning
+a reference to `this' date.
+
+\membersection{wxDate::operator $++$}\label{wxdateplusplus}
+
+\func{wxDate\&}{operator $++$}{\void}
+
+Increments the date (postfix or prefix).
+
+\membersection{wxDate::operator $--$}\label{wxdateminusminus}
+
+\func{wxDate\&}{operator $--$}{\void}
+
+Decrements the date (postfix or prefix).
+
+\membersection{wxDate::operator $<$}\label{wxdatelessthan}
+
+\func{friend bool}{operator $<$}{\param{const wxDate\&}{ date1}, \param{const wxDate\&}{ date2}}
+
+Function to compare two dates, returning TRUE if {\it date1} is earlier than {\it date2}.
+
+\membersection{wxDate::operator $<=$}\label{wxdatelessthaneq}
+
+\func{friend bool}{operator $<=$}{\param{const wxDate\&}{ date1}, \param{const wxDate\&}{ date2}}
+
+Function to compare two dates, returning TRUE if {\it date1} is earlier than or equal to {\it date2}.
+
+\membersection{wxDate::operator $>$}\label{wxdategreaterthan}
+
+\func{friend bool}{operator $>$}{\param{const wxDate\&}{ date1}, \param{const wxDate\&}{ date2}}
+
+Function to compare two dates, returning TRUE if {\it date1} is later than {\it date2}.
+
+\membersection{wxDate::operator $>=$}\label{wxdategreaterthaneq}
+
+\func{friend bool}{operator $>=$}{\param{const wxDate\&}{ date1}, \param{const wxDate\&}{ date2}}
+
+Function to compare two dates, returning TRUE if {\it date1} is later than or equal to {\it date2}.
+
+\membersection{wxDate::operator $==$}\label{wxdateequals}
+
+\func{friend bool}{operator $==$}{\param{const wxDate\&}{ date1}, \param{const wxDate\&}{ date2}}
+
+Function to compare two dates, returning TRUE if {\it date1} is equal to {\it date2}.
+
+\membersection{wxDate::operator $!=$}\label{wxdatenotequals}
+
+\func{friend bool}{operator $!=$}{\param{const wxDate\&}{ date1}, \param{const wxDate\&}{ date2}}
+
+Function to compare two dates, returning TRUE if {\it date1} is not equal to {\it date2}.
+
+\membersection{wxDate::operator \cinsert}\label{wxdateinsert}
+
+\func{friend ostream\&}{operator \cinsert}{\param{ostream\&}{ os}, \param{const wxDate\&}{ date}}
+
+Function to output a wxDate to an ostream.
+
+
diff --git a/docs/latex/wx/datstrm.tex b/docs/latex/wx/datstrm.tex
new file mode 100644
index 0000000000..7eaabb563d
--- /dev/null
+++ b/docs/latex/wx/datstrm.tex
@@ -0,0 +1,184 @@
+% ----------------------------------------------------------------------------
+% wxDataInputStream
+% ----------------------------------------------------------------------------
+\section{\class{wxDataInputStream}}\label{wxdatainputstream}
+
+This class provides functions that read binary data types in a
+portable way. Data can be read in either big-endian or litte-endian
+format, little-endian being the default on all architectures.
+
+If you want to read data from text files (or streams) use
+\helpref{wxTextInputStream}{wxtextinputstream} instead.
+
+The >> operator is overloaded and you can use this class like a standard C++ iostream.
+Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
+and on a typical 32-bit computer, none of these match to the "long" type (wxInt32
+is defined as signed int on 32-bit architectures) so that you cannot use long. To avoid
+problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
+
+For example:
+
+\begin{verbatim}
+ wxFileInputStream input( "mytext.dat" );
+ wxDataInputStream store( input );
+ wxUint8 i1;
+ float f2;
+ wxString line;
+
+ store >> i1; // read a 8 bit integer.
+ store >> i1 >> f2; // read a 8 bit integer followed by float.
+ store >> line; // read a text line
+\end{verbatim}
+
+See also \helpref{wxDataOutputStream}{wxdataoutputstream}.
+
+\wxheading{Derived from}
+
+None
+
+\wxheading{Include files}
+
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxDataInputStream::wxDataInputStream}\label{wxdatainputstreamconstr}
+
+\func{}{wxDataInputStream}{\param{wxInputStream\&}{ stream}}
+
+Constructs a datastream object from an input stream. Only read methods will
+be available.
+
+\wxheading{Parameters}
+
+\docparam{stream}{The input stream.}
+
+\membersection{wxDataInputStream::\destruct{wxDataInputStream}}
+
+\func{}{\destruct{wxDataInputStream}}{\void}
+
+Destroys the wxDataInputStream object.
+
+\membersection{wxDataInputStream::BigEndianOrdered}
+
+\func{void}{BigEndianOrdered}{\param{bool}{ be\_order}}
+
+If {\it be\_order} is TRUE, all data will be read in big-endian
+order, such as written by programs on a big endian architecture
+(e.g. Sparc) or written by Java-Streams (which always use
+big-endian order).
+
+\membersection{wxDataInputStream::Read8}
+
+\func{wxUint8}{Read8}{\void}
+
+Reads a single byte from the stream.
+
+\membersection{wxDataInputStream::Read16}
+
+\func{wxUint16}{Read16}{\void}
+
+Reads a 16 bit integer from the stream.
+
+\membersection{wxDataInputStream::Read32}
+
+\func{wxUint32}{Read32}{\void}
+
+Reads a 32 bit integer from the stream.
+
+\membersection{wxDataInputStream::ReadDouble}
+
+\func{double}{ReadDouble}{\void}
+
+Reads a double (IEEE encoded) from the stream.
+
+\membersection{wxDataInputStream::ReadString}
+
+\func{wxString}{ReadString}{\void}
+
+Reads a string from a stream. Actually, this function first reads a long integer
+specifying the length of the string (without the last null character) and then
+reads the string.
+
+% ----------------------------------------------------------------------------
+% wxDataOutputStream
+% ----------------------------------------------------------------------------
+
+\section{\class{wxDataOutputStream}}\label{wxdataoutputstream}
+
+This class provides functions that write binary data types in a
+portable way. Data can be written in either big-endian or litte-endian
+format, little-endian being the default on all architectures.
+
+If you want to write data to text files (or streams) use
+\helpref{wxTextOutputStream}{wxtextoutputstream} instead.
+
+The << operator is overloaded and you can use this class like a standard
+C++ iostream. See \helpref{wxDataInputStream}{wxdatainputstream} for its
+usage and caveats.
+
+See also \helpref{wxDataInputStream}{wxdatainputstream}.
+
+\wxheading{Derived from}
+
+None
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxDataOutputStream::wxDataOutputStream}\label{wxdataoutputstreamconstr}
+
+\func{}{wxDataOutputStream}{\param{wxOutputStream\&}{ stream}}
+
+Constructs a datastream object from an output stream. Only write methods will
+be available.
+
+\wxheading{Parameters}
+
+\docparam{stream}{The output stream.}
+
+\membersection{wxDataOutputStream::\destruct{wxDataOutputStream}}
+
+\func{}{\destruct{wxDataOutputStream}}{\void}
+
+Destroys the wxDataOutputStream object.
+
+\membersection{wxDataOutputStream::BigEndianOrdered}
+
+\func{void}{BigEndianOrdered}{\param{bool}{ be\_order}}
+
+If {\it be\_order} is TRUE, all data will be written in big-endian
+order, e.g. for reading on a Sparc or from Java-Streams (which
+always use big-endian order), otherwise data will be written in
+little-endian order.
+
+\membersection{wxDataOutputStream::Write8}
+
+\func{void}{Write8}{{\param wxUint8 }{i8}}
+
+Writes the single byte {\it i8} to the stream.
+
+\membersection{wxDataOutputStream::Write16}
+
+\func{void}{Write16}{{\param wxUint16 }{i16}}
+
+Writes the 16 bit integer {\it i16} to the stream.
+
+\membersection{wxDataOutputStream::Write32}
+
+\func{void}{Write32}{{\param wxUint32 }{i32}}
+
+Writes the 32 bit integer {\it i32} to the stream.
+
+\membersection{wxDataOutputStream::WriteDouble}
+
+\func{void}{WriteDouble}{{\param double }{f}}
+
+Writes the double {\it f} to the stream using the IEEE format.
+
+\membersection{wxDataOutputStream::WriteString}
+
+\func{void}{WriteString}{{\param const wxString\& }{string}}
+
+Writes {\it string} to the stream. Actually, this method writes the size of
+the string before writing {\it string} itself.
+
diff --git a/docs/latex/wx/prop1.bmp b/docs/latex/wx/prop1.bmp
new file mode 100644
index 0000000000..92c6beec8b
Binary files /dev/null and b/docs/latex/wx/prop1.bmp differ
diff --git a/docs/latex/wx/prop1.eps b/docs/latex/wx/prop1.eps
new file mode 100644
index 0000000000..02ac7d68cf
--- /dev/null
+++ b/docs/latex/wx/prop1.eps
@@ -0,0 +1,539 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: prop1.eps
+%%Creator: XV Version 2.20 Rev: 4/24/92 - by John Bradley
+%%BoundingBox: 167 292 445 500
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% lower left corner
+167 292 translate
+
+% size of image (on paper, in 1/72inch coords)
+278 208 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ /grays npixls string store % str to hold the result
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 42 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00
+ffff00 0000ff 00ffff ffffff
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+278 208 8 % dimensions of data
+[278 0 0 -208 0 208] % mapping matrix
+rlecmapimage
+
+7f067f0614060000
+81060d7f0d7f0d110d810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d068106047f047f040c040106810700
+82060d068106048204060d820d060783070d0702010203098102047f047a040106810700
+
+82060d068106048704060b060001020781070283020702098109028102047f0446040e0d
+81000d0d0d81000481040d0d0d81000481040682060700
+82060d0681060482040806810600820002078507020902070201028109047f044604810d
+060b068307000d060b068207000482040d060b068207000481040682060700
+82060d0681060481040685060800040307820702098409020702098109040104050d2d04
+030d0204010d1a04050d6604810d060b068307000d06810600070001068207000482040d
+060b068207000481040682060700
+82060d068106048704060b0604000a0789070209020702070209040104010d0204010d1d
+04010d0b04010d0104010d0104010d1204010d0704010d1004010d5504810d060b068307
+000d06810600070001068207000482040d06010601000306010001068207000481040682
+060700
+82060d068106048204070681060001000107010286070209020702040104010d0204010d
+1d04010d0b04010d0504010d1204010d0704010d1004010d5504810d060b068307000d06
+820600060506810006830607000482040d06020601000106010002068207000481040682
+060700
+82060d0681060485040d0607060d010d8407020002090109820200040104010d0204010d
+81040d010d0104030d0104040d0204030d0104020d81040d010d81040d820d040d810d04
+0304010d0504040d0204030d0204030d0104020d0604010d0404030d0204020d0104020d
+5404810d060b068307000d06820600060506810006830607000482040d06030603000306
+8207000481040682060700
+82060d068106048104070507010006020204050d0104010d0104010d0104010d81040d81
+0d0481040d820d040d810d0481040d820d040d810d0481040d810d0481040d820d040d81
+0d040404030d0204020d81040d820d040d810d0481040d820d040d810d0481040d820d04
+0d810d040604010d0304010d0104010d81040d820d040d820d040d810d045404810d060b
+068307000d06820600060506810006830607000482040d06040601000406820700048104
+0682060700
+82060d068106048104050505010006030204010d0504010d0104010d0104010d81040d81
+0d0481040d820d040d040d81040d810d0481040d810d0481040d820d040d810d04070401
+0d0104010d0104010d81040d040d81040d040d81040d810d040604010d0304050d010401
+0d0204010d5504810d060b068307000d06820600060506810006830607000482040d0603
+06030003068207000481040682060700
+82060d0681060481040c010c8205080c830c05030a020a81030a810a040104010d050401
+0d0104010d0104010d81040d810d0481040d820d040d810d040304010d0104010d010401
+0d81040d810d040704010d0104010d0104010d81040d810d040304010d0404010d070401
+0d0304010d0604010d0104010d5504810d060b068307000d068206000605068100068306
+07000482040d06020601000106010002068207000481040682060700
+82060d068106048c040c05070507050c05030a030a840a03000a040104010d0504010d01
+04010d0104010d81040d810d0481040d820d040d810d0481040d820d040d810d0481040d
+810d040104020d0504010d0104010d0104010d0104010d81040d810d0481040d820d040d
+810d0481040d820d040d810d040604010d0304010d0104010d81040d820d040d820d040d
+810d045404810d060106050003068307000d06820600060506810006830607000482040d
+06010601000306010001068207000481040682060700
+82060d0681060482040c08020886070c05030a030a010a82030a040104010d0504010d02
+04030d0104040d0204030d0104010d0204010d0104010d0704030d0204010d0104010d01
+04030d0204030d0204010d0604010d0404030d0204020d0204010d5404810d0601060500
+03068307000d06810600070001068207000482040d060b068207000481040682060700
+82060d0681060482040c080208010c8205030a810a0384030a030a041404010d1404010d
+7f041804810d060b068307000d060b068207000482040d060b0682070004810406820607
+00
+82060d0681060482040c080308850c05030a030a010a82000a041404010d1204020d7f04
+1904810d070c0782000d070c0781000482040d070c0781000481040682060700
+82060d0681060483040c05080208850c05030a030a810a0382030a047f0446041f000104
+0f0001040106810700
+82060d0681060481040c050c8205030a050a7f047b040106810700
+82060d068106047f047f040c040106810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d0637067f073907810d061c06810700
+82060d06030616000306160001068107007f00360082060d0681060015000406810700
+82060d06020681000d140d820700068206000d140d8507000607000d7f0d350d84060d06
+000d140d820700060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d130d01078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d0603068100060606810006030601078100068306000d0612060107
+84000607000d820d000d7f0d320d84060d06000d810d06110601078100060206810700
+82060d06020682000d06030683000600060306810006040601078100068306000d061206
+010785000607000d0081000d7f0d320d84060d06000d810d061106010781000602068107
+00
+82060d06020682000d06040683000600060106810006050601078100068306000d060b06
+8100060406010785000607000d000100810d0081000d820d000d810d0081000d810d0002
+007f0d220d84060d06000d810d06110601078100060206810700
+82060d06020682000d06050685000600060006060601078100068306000d060a06830006
+00060306010785000607000d0081000d810d0082000d000100810d0082000d0081000d81
+0d0081000d7f0d200d84060d06000d810d06110601078100060206810700
+82060d06020682000d0606068300060006070601078100068306000d0609068300060006
+0406010785000607000d0081000d810d0082000d000100810d0082000d0081000d810d00
+81000d7f0d200d84060d06000d810d06110601078100060206810700
+82060d06020682000d0607068300060006060601078100068306000d0604068100060106
+83000600060506010785000607000d0081000d010d0200810d000100010d0100010d0100
+7f0d210d84060d06000d810d06110601078100060206810700
+82060d06020682000d06060685000600060006050601078100068306000d060306870006
+0006000600060606010785000607000d0081000d010d0200810d000100010d0100010d01
+007f0d210d84060d06000d810d06110601078100060206810700
+82060d06020682000d06050681000601068300060006040601078100068306000d060406
+850006000600060706010784000607000d810d0081000d810d0081000d010d0100020d03
+007f0d220d84060d06000d810d0603060100810600820006008100060406010781000602
+06810700
+82060d06020682000d06040681000603068300060006030601078100068306000d060506
+83000600060806010784000607000d7f0d350d84060d06000d810d060306010081060082
+000600810006040601078100060206810700
+82060d06020682000d060306010005060100040601078100068306000d06060681000609
+06010784000607000d7f0d350d84060d06000d810d06110601078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
+84060d06000d810d06110601078100060206810700
+82060d06020682000d0714078100068306000d07140784000607000d7f0d350d85060d06
+000d0714078100060206810700
+82060d06020682000d0714078100068306000d07140784000607000d7f0d350d84060d06
+000715078100060206810700
+82060d06030616000306160001068207000d7f0d350d82060d0681060015000406810700
+
+82060d0637068107067f063706810d061c06810700
+82060d0637067f0d3a0d1d06810700
+82060d0601067f077f070a07810d060106810700
+82060d0601068107007f007f00070082060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d010d0300010d0400020d03007f0d720d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
+810d0081000d7f0d700d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0004007f
+0d710d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
+7f0d740d82060d060106810700
+82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
+810d0081000d7f0d700d82060d060106810700
+82060d0601068207000d010d0300010d0100010d0100010d03007f0d720d82060d060106
+810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d060106ff0700040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040aff040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a8c040a040a040a040a040a060d060106810700
+82060d0601068307000a047f047f04050482060d060106810700
+82060d060106820700047f047f040504830a060d060106810700
+82060d0601068307000a0482040d047f047f04020482060d060106810700
+82060d0601068207000481040d810d047f047f040104830a060d060106810700
+82060d0601068307000a0d020d81040d810d0482040d0481040d810d0481040d020d7f04
+720482060d060106810700
+82060d0601068207000481040d810d0481040d820d040d010d81040d820d040d810d0481
+040d810d047f046f04830a060d060106810700
+82060d0601068407000a040d810d0481040d820d040d010d81040d820d040d810d048104
+0d810d047f04700482060d060106810700
+82060d0601068207000481040d810d040104020d81040d010d0104010d0104010d7f0470
+04830a060d060106810700
+82060d0601068407000a040d810d040104020d81040d010d0104010d0104010d7f047104
+82060d060106810700
+82060d060106820700040104010d0104010d0204010d0204030d7f047104830a060d0601
+06810700
+82060d0601068307000a047f047f04050482060d060106810700
+82060d060106820700047f047f040504830a060d060106810700
+82060d060106ff07000a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
+040a040a040a040a040a040a040a040a040a040a040a040a040a04ff0a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
+0a040a040a040a040a040a048c0a040a040a040a040a04060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d010d81000d810d0081000d7f0d7e0d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d7f0d7e0d82060d060106810700
+82060d0601068307000d000200810d000300010d0300010d0300020d03007f0d690d8206
+0d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
+010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0500
+810d0004007f0d680d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
+040d01007f0d6c0d82060d060106810700
+82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
+010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
+82060d0601068207000d010d0100810d0081000d810d0082000d0081000d020d0300020d
+03007f0d690d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068207000d7f0d7f0d060d82060d060106810700
+82060d0601068107067f067f060806810d060106810700
+82060d0601067f0d7f0d0b0d0206810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d0601067f077f070b070206810700
+82060d0601068107007f007f000800810d060106810700
+82060d0601068207000d7f0d760d0e060100810d060106810700
+82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400400d82060d060a0681
+070082000d060106810700
+82060d0601068207000d010d81000d190d81000d120d81000d7b0d85000d000d000d3f0d
+82060d060a0681070082000d060106810700
+82060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d008400
+0d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d0200
+5f0d81000d020d0100810d0082000d0081000d810d0081000d010d02002c0d82060d0603
+06810006040681070082000d060106810700
+82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
+000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d820d
+000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d81000d5d
+0d81000d030d0100030d81000d010d81000d820d000d010d81000d2a0d82060d06020602
+00040681070082000d060106810700
+82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
+000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d000d01
+0d81000d020d81000d020d81000d040d04005e0d81000d030d81000d030d81000d010d81
+000d810d0003002b0d82060d0601060400030681070082000d060106810700
+82060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d810d00
+81000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d
+820d000d010d81000d020d81000d020d81000d040d81000d610d81000d030d81000d030d
+81000d810d0081000d820d000d2e0d82060d068106000500020681070082000d06010681
+0700
+82060d0601068207000d020d0200030d0200030d0100810d0081000d810d000200810d00
+0100810d000100080d0300810d000100810d000100010d0200020d0400020d0300020d03
+005d0d0200020d0300030d0100810d0081000d810d0002002b0d82060d060a0681070082
+000d060106810700
+82060d0601068207000d1a0d81000d7f0d590d82060d060a0681070082000d0601068107
+00
+82060d0601068207000d170d02007f0d5b0d82060d060a0681070082000d060106810700
+
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d8106070c070100810d060106810700
+82060d0601068207000d7f0d760d1000810d060106810700
+82060d0601068207000d7f0d760d92060d060d060d060d060d060d060d060d000d060106
+810700
+82060d0601068207000d7f0d770d91060d060d060d060d060d060d060d06000d06010681
+0700
+82060d0601068207000d030d81000d7f0d2d0d81000d020d0300390d92060d060d060d06
+0d060d060d060d060d000d060106810700
+82060d0601068207000d7f0d320d0100030d81000d3c0d91060d060d060d060d060d060d
+060d06000d060106810700
+82060d0601068207000d010d0200040d0200010d0100810d0081000d7f0d1c0d83000d00
+0d020d81000d3b0d92060d060d060d060d060d060d060d060d000d060106810700
+82060d0601068207000d030d81000d020d81000d010d81000d810d0081000d820d000d7f
+0d1a0d81000d820d000d020d02003b0d91060d060d060d060d060d060d060d06000d0601
+06810700
+82060d0601068207000d030d81000d030d0300010d81000d010d81000d7f0d1a0d040005
+0d81000d380d92060d060d060d060d060d060d060d060d000d060106810700
+82060d0601068207000d030d81000d020d81000d010d81000d820d000d010d81000d7f0d
+1d0d81000d010d81000d010d81000d380d0e060100810d060106810700
+82060d0601068207000d010d0400010d0800810d0001007f0d1c0d0200020d02003a0d81
+060d0b0d81070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d020003
+0d0300390d82060d060a0681070082000d060106810700
+82060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d8100
+0d010d81000d3b0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f0d18
+0d81000d020d81000d3b0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d7f0d
+170d81000d030d02003a0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
+0d160d81000d070d81000d380d82060d060a0681070082000d060106810700
+82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
+0d150d81000d040d81000d010d81000d380d82060d060a0681070082000d060106810700
+
+82060d0601068207000d810d000300020d0400010d0400010d04007f0d140d0400020d02
+003a0d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d030d81000d0a0d0100050d81000d7f0d5b0d82060d060a068107
+0082000d060106810700
+82060d0601068207000d110d81000d7f0d620d82060d060a0681070082000d0601068107
+00
+82060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d020001
+0d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200330d82060d060a
+0681070082000d060106810700
+82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d02
+0d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d008100
+0d820d000d820d000d010d81000d310d82060d060a0681070082000d060106810700
+82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d03
+0d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d810d
+000300320d82060d060a0681070082000d060106810700
+82060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81000d
+020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d000d01
+0d81000d820d000d350d82060d060a0681070082000d060106810700
+82060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d0800
+810d0001007f0d060d0200010d0200810d000100010d0300320d82060d060a0681070082
+000d060106810700
+82060d0601068207000d040d81000d7f0d6f0d82060d060a0681070082000d0601068107
+00
+82060d0601068207000d010d02007f0d710d82060d060a0681070082000d060106810700
+
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
+82060d0601068207000d810d0081000d060d81000d7f0d690d82060d060a068107008200
+0d060106810700
+82060d0601068207000d010d81000d0b0d81000d7f0d640d82060d060a0681070082000d
+060106810700
+82060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d000d02
+0d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d0100810d00
+81000d020d02002c0d82060d060a0681070082000d060106810700
+82060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d000d
+000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d000d
+010d81000d810d0081000d820d000d820d000d010d81000d2a0d82060d060a0681070082
+000d060106810700
+82060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d85000d00
+0d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81
+000d820d000d010d81000d810d0003002b0d82060d060a0681070082000d060106810700
+
+82060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d81000d86
+0d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d8100
+0d820d000d010d81000d820d000d010d81000d820d000d2e0d82060d060a068107008200
+0d060106810700
+82060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d0002
+007f0d060d0200810d000100010d0200010d0200810d000100010d03002b0d8106070c07
+0100810d060106810700
+82060d0601068207000d240d81000d7f0d4f0d1000810d060106810700
+82060d0601068207000d230d02007f0d4f0d0e060100810d060106810700
+82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700043404810d041304010d7f04290482060d06810600050002068107
+0082000d060106810700
+82060d060106820700041d04810d042b04810d046204810d04430482060d060106040003
+0681070082000d060106810700
+82060d060106820700040204030d0204020d0104010d81040d810d040204030d81040d03
+0d0204010d81040d810d040104020d0204020d0204010d81040d810d040204020d030401
+0d82040d046104040d0104020d81040d010d0104020d330482060d060206020004068107
+0082000d060106810700
+82060d060106820700040104810d040104810d0482040d040104810d0481040d810d0482
+040d0482040d040404810d040504010d0304810d040104810d040204810d040204010d01
+04810d0482040d040104810d0482040d0481040d810d046204810d040404810d04010481
+0d0482040d040104810d04310482060d060306810006040681070082000d060106810700
+
+82060d060106820700040104810d040404810d040104810d0482040d040104810d040104
+020d0204810d040504810d040404030d0304810d040204810d040104810d0481040d030d
+0104810d040104810d046204810d040404850d040d040d0482040d040104810d04310482
+060d060a0681070082000d060106810700
+82060d060106820700040104810d040404810d040104810d0482040d040104810d040404
+810d0482040d040104810d040104810d040304810d040104810d040204810d040204810d
+040104810d0482040d040404810d040104810d046204810d040104810d0486040d040d04
+0d0482040d040104810d04310482060d060a0681070082000d060106810700
+82060d060106820700040204030d0204020d0104020d81040d010d81040d020d0304020d
+0204030d0204050d81040d030d81040d010d81040d010d0104030d0204040d6304020d03
+04830d040d040204020d330482060d060a0681070082000d060106810700
+82060d060106820700047f04760482060d060a0681070082000d060106810700
+82060d060106820700047f0476048106070c070100810d060106810700
+82060d060106820700047f0476041000810d060106810700
+82060d0601068107067f0677061000810d060106810700
+82060d0601067f0d7f0d0b0d0206810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+82060d067f067f061006810700
+8106077f077f0712070000
+7f007f001500
+
+%
+% Compression made this file 6.27% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/docs/latex/wx/prop1.gif b/docs/latex/wx/prop1.gif
new file mode 100644
index 0000000000..a3d724d570
Binary files /dev/null and b/docs/latex/wx/prop1.gif differ
diff --git a/docs/latex/wx/prop2.bmp b/docs/latex/wx/prop2.bmp
new file mode 100644
index 0000000000..d909f41abc
Binary files /dev/null and b/docs/latex/wx/prop2.bmp differ
diff --git a/docs/latex/wx/prop2.eps b/docs/latex/wx/prop2.eps
new file mode 100644
index 0000000000..398e70c553
--- /dev/null
+++ b/docs/latex/wx/prop2.eps
@@ -0,0 +1,664 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: prop2.eps
+%%Creator: XV Version 2.20 Rev: 4/24/92 - by John Bradley
+%%BoundingBox: 167 221 466 500
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% lower left corner
+167 221 translate
+
+% size of image (on paper, in 1/72inch coords)
+299 279 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ /grays npixls string store % str to hold the result
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 42 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00
+ffff00 0000ff 00ffff ffffff
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+299 279 8 % dimensions of data
+[299 0 0 -279 0 279] % mapping matrix
+rlecmapimage
+
+7f0003007f072607
+07077f067f0618068100070707
+070781060d7f0d7f0d150d820700070707
+070782060d067f067f061406820700070707
+070782060d067f067f061406820700070707
+070782060d068106077f077f0710070106820700070707
+070782060d068106078207060d820d060783070d0702010203098102077f077e07010682
+0700070707
+070782060d068106078707060b060001020781070283020702098109028102077f074a07
+0e0d81000d0d0d81000781070d0d0d81000781070683060700070707
+070782060d0681060782070806810600820002078507020902070201028109077f074a07
+810d060b068307000d060b068207000782070d060b068207000781070683060700070707
+
+070782060d06810607810706850608000403078207020984090207020981090701070506
+2d070306020701061a0705066a07810d060b068307000d06810600070001068207000782
+070d060b068207000781070683060700070707
+070782060d068106078707060b0604000a07890702090207020702090701070106020701
+061d0701060b07010601070106010701061207010607070106100701065907810d060b06
+8307000d06810600070001068207000782070d0601060100030601000106820700078107
+0683060700070707
+070782060d0681060701070106020001070102860702090207020701070106020701061d
+0701060b070106050701061207010607070106100701065907810d060b068307000d0682
+0600060506810006830607000782070d0602060100010601000206820700078107068306
+0700070707
+070782060d0681060785070d0607060d010d840702000209010982020007010701060207
+010681070601060107030601070406020703060107020681070601068107068206070681
+060703070106050704060207030602070306010702060607010604070306020702060107
+02065807810d060b068307000d06820600060506810006830607000782070d0603060300
+03068207000781070683060700070707
+070782060d06810607070701000602020705060107010601070106010701068107068106
+078107068206070681060781070682060706810607810706810607810706820607068106
+070407030602070206810706820607068106078107068206070681060781070682060706
+81060706070106030701060107010681070682060706820607068106075807810d060b06
+8307000d06820600060506810006830607000782070d0604060100040682070007810706
+83060700070707
+070782060d06810607810705050501000603020701060507010601070106010701068107
+068106078107068206070604068107068106078107068106078107068206070681060707
+070106010701060107010681070604068107060406810706810607060701060307050601
+070106020701065907810d060b068307000d06820600060506810006830607000782070d
+060306030003068207000781070683060700070707
+070782060d0681060781070c010c8205080c830c05030a020a81030a810a070107010605
+070106010701060107010681070681060781070682060706810607030701060107010601
+070106810706810607070701060107010601070106810706810607030701060407010607
+0701060307010606070106010701065907810d060b068307000d06820600060506810006
+830607000782070d06020601000106010002068207000781070683060700070707
+070782060d068106078c070c05070507050c05030a030a840a03000a0701070106050701
+060107010601070106810706810607810706820607068106078107068206070681060781
+070681060701070206050701060107010601070106010701068107068106078107068206
+070681060781070682060706810607060701060307010601070106810706820607068206
+07068106075807810d060106050003068307000d06820600060506810006830607000782
+070d06010601000306010001068207000781070683060700070707
+070782060d0681060782070c08020886070c05030a030a010a82030a0701070106050701
+060207030601070406020703060107010602070106010701060707030602070106010701
+06010703060207030602070106060701060407030602070206020701065807810d060106
+050003068307000d06810600070001068207000782070d060b0682070007810706830607
+00070707
+070782060d0681060782070c080208010c8205030a810a0384030a030a07140701061407
+01067f071c07810d060b068307000d060b068207000782070d060b068207000781070683
+060700070707
+070782060d0681060782070c080308850c05030a030a010a82000a071407010612070206
+7f071d07810d070c0782000d070c0781000782070d070c07810007810706830607000707
+07
+070782060d0681060783070c05080208850c05030a030a810a0382030a077f074a071f00
+01070f0001070106820700070707
+070782060d0681060781070c050c8205030a050a7f077f070106820700070707
+070782060d068106077f077f0710070106820700070707
+070782060d067f067f061406820700070707
+070782060d067f067f061406820700070707
+070782060d0637067f073d07810d061c06820700070707
+070782060d06030616000306160001068107007f003a0082060d06810600150004068207
+00070707
+070782060d06020681000d140d820700068206000d140d8507000607000d7f0d390d8406
+0d06000d140d820700060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d130d01078100060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0603068100060606810006030601078100068306000d061206
+010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d810d
+06110601078100060206820700070707
+070782060d06020682000d060306020003060200040601078100068306000d060b068100
+060406010784000607000d810d000100010d0100810d0082000d0082000d0082000d0082
+000d0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d060406020001060200050601078100068306000d060a060200
+0406010785000607000d000200010d0100810d0082000d0082000d0082000d0082000d00
+81000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0605060500060601078100068306000d060906030004060107
+87000607000d000d0081000d810d0082000d0082000d0082000d0082000d0082000d0081
+000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0606060300070601078100068306000d060806030005060107
+84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
+7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0606060300070601078100068306000d060306010001060300
+0606010784000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d
+0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0605060500060601078100068306000d060306060007060107
+84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
+7f0d210d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d060406020001060200050601078100068306000d0604060400
+0806010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d
+810d060306010781060782070607810706040601078100060206820700070707
+070782060d06020682000d060306020003060200040601078100068306000d0605060200
+0906010784000607000d7f0d390d84060d06000d810d0603060107810607820706078107
+06040601078100060206820700070707
+070782060d06020682000d060306010005060100040601078100068306000d0606068100
+060906010784000607000d7f0d390d84060d06000d810d06110601078100060206820700
+070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
+390d84060d06000d810d06110601078100060206820700070707
+070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8506
+0d06000d0714078100060206820700070707
+070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8406
+0d06000715078100060206820700070707
+070782060d06030616000306160001068207000d7f0d390d82060d068106001500040682
+0700070707
+070782060d0637068107067f063b06810d061c06820700070707
+070782060d0637067f0d3e0d1d06820700070707
+070782060d0601067f077f070e07810d060106820700070707
+070782060d0601068107007f007f000b0082060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d040d0100120d01007f0d150d0200550d82060d0601068207
+00070707
+070782060d0601068207000d030d81000d140d81000d7f0d130d81000d010d81000d530d
+82060d060106820700070707
+070782060d0601068207000d020d0300010d0100810d0081000d010d0200030d0100820d
+000d7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d030d81000d030d0100030d81000d010d81000d820d000d81
+0d0081000d7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d030d81000d030d81000d030d0400010d81000d010d81000d
+7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d030d81000d030d81000d030d81000d040d81000d010d8100
+0d7f0d130d81000d010d81000d530d82060d060106820700070707
+070782060d0601068207000d020d0300010d0300030d0300020d04007f0d140d0200550d
+82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400090d0100480d82
+060d060106820700070707
+070782060d0601068207000d010d81000d190d81000d120d81000d7c0d81000d820d000d
+090d81000d470d82060d060106820700070707
+070782060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d00
+84000d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d
+02005e0d83000d000d020d0200040d81000d030d0300020d0200390d82060d0601068207
+00070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+820d000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d
+820d000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d8100
+0d5c0d0200020d81000d010d81000d020d81000d020d81000d040d81000d010d81000d37
+0d82060d060106820700070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d00
+0d010d81000d020d81000d020d81000d040d04005d0d83000d000d020d0300030d81000d
+030d0200020d0400380d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d81
+0d0081000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81
+000d820d000d010d81000d020d81000d020d81000d040d81000d600d81000d030d81000d
+010d81000d020d81000d060d81000d820d000d3b0d82060d060106820700070707
+070782060d0601068207000d020d0200030d0200030d0100810d0081000d810d00020081
+0d000100810d000100080d0300810d000100810d000100010d0200020d0400020d030002
+0d03005c0d0200030d0500810d000300010d0300030d0300380d82060d06010682070007
+0707
+070782060d0601068207000d1a0d81000d7f0d6d0d82060d060106820700070707
+070782060d0601068207000d170d02007f0d6f0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700040304810d047f043204010d4f0482060d0601068207000707
+07
+070782060d060106820700047f043904810d044e0482060d060106820700070707
+070782060d060106820700040104020d0404020d0104010d81040d810d047f042404810d
+044e0482060d060106820700070707
+070782060d060106820700040304810d040204810d040104810d0481040d810d0482040d
+047f041a04040d0304810d044e0482060d060106820700070707
+070782060d060106820700040304810d040304030d0104810d040104810d047f04230481
+0d044e0482060d060106820700070707
+070782060d060106820700040304810d040204810d040104810d0482040d040104810d04
+7f042304810d044e0482060d060106820700070707
+070782060d060106820700040104040d0104080d81040d010d7f042104040d4d0482060d
+060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d060106820700047f047f040a0482060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d02
+00030d03004d0d82060d060106820700070707
+070782060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d
+81000d010d81000d4f0d82060d060106820700070707
+070782060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f
+0d180d81000d020d81000d4f0d82060d060106820700070707
+070782060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d
+7f0d170d81000d030d02004e0d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
+0d7f0d160d81000d070d81000d4c0d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
+0d7f0d150d81000d040d81000d010d81000d4c0d82060d060106820700070707
+070782060d0601068207000d810d000300020d0400010d0400010d04007f0d140d040002
+0d02004e0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d030d81000d0a0d0100050d81000d7f0d6f0d82060d060106
+820700070707
+070782060d0601068207000d110d81000d7f0d760d82060d060106820700070707
+070782060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d02
+00010d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200470d82060d
+060106820700070707
+070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
+0d020d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d00
+81000d820d000d820d000d010d81000d450d82060d060106820700070707
+070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
+0d030d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d
+810d000300460d82060d060106820700070707
+070782060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81
+000d020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d00
+0d010d81000d820d000d490d82060d060106820700070707
+070782060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d
+0800810d0001007f0d060d0200010d0200810d000100010d0300460d82060d0601068207
+00070707
+070782060d0601068207000d040d81000d7f0d7f0d030d82060d060106820700070707
+070782060d0601068207000d010d02007f0d7f0d050d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d810d0081000d060d81000d7f0d7d0d82060d060106820700
+070707
+070782060d0601068207000d010d81000d0b0d81000d7f0d780d82060d06010682070007
+0707
+070782060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d00
+0d020d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d010081
+0d0081000d020d0200400d82060d060106820700070707
+070782060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d
+000d000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d
+000d010d81000d810d0081000d820d000d820d000d010d81000d3e0d82060d0601068207
+00070707
+070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d8500
+0d000d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d01
+0d81000d820d000d010d81000d810d0003003f0d82060d060106820700070707
+070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d8100
+0d860d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d
+81000d820d000d010d81000d820d000d010d81000d820d000d420d82060d060106820700
+070707
+070782060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d
+0002007f0d060d0200810d000100010d0200010d0200810d000100010d03003f0d82060d
+060106820700070707
+070782060d0601068207000d240d81000d7f0d630d82060d060106820700070707
+070782060d0601068207000d230d02007f0d630d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d340d81000d130d01007f0d3d0d82060d0601068207000707
+07
+070782060d0601068207000d1d0d81000d2b0d81000d620d81000d570d82060d06010682
+0700070707
+070782060d0601068207000d020d0300020d0200010d0100810d0081000d020d0300810d
+000300020d0100810d0081000d010d0200020d0200020d0100810d0081000d020d020003
+0d0100820d000d610d0400010d0200810d000100010d0200470d82060d06010682070007
+0707
+070782060d0601068207000d010d81000d010d81000d820d000d010d81000d810d008100
+0d820d000d820d000d040d81000d050d0100030d81000d010d81000d020d81000d020d01
+00010d81000d820d000d010d81000d820d000d810d0081000d620d81000d040d81000d01
+0d81000d820d000d010d81000d450d82060d060106820700070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+010d0200020d81000d050d81000d040d0300030d81000d020d81000d010d81000d810d00
+0300010d81000d010d81000d620d81000d040d85000d000d000d820d000d010d81000d45
+0d82060d060106820700070707
+070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
+040d81000d820d000d010d81000d010d81000d030d81000d010d81000d020d81000d020d
+81000d010d81000d820d000d040d81000d010d81000d620d81000d010d81000d860d000d
+000d000d820d000d010d81000d450d82060d060106820700070707
+070782060d0601068207000d020d0300020d0200010d0200810d000100810d000200030d
+0200020d0300020d0500810d000300810d000100810d000100010d0300020d0400630d02
+00030d83000d000d020d0200470d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
+7f077f0726078100070107
+03077f0d7f0d210d820700070107
+0307820d06077f077f071c07840d060700070107
+0307830d0607047f047f041c0483060700070107
+0307830d0607047f047f041c0483060700070107
+0307830d0607047f047f040a040e0d8100048404060700070107
+0307830d0607047f047f040a04810d060b06820700048404060700070107
+0307830d06070481040d040d3a04010d7f044604810d060b068207000484040607000701
+07
+0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0601060107
+030601070106820700048404060700070107
+0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0602060107
+01060107010d83060700048404060700070107
+0307830d06070481040d810d040104010d81040d010d0104030d0104040d0204030d0104
+020d81040d010d81040d820d040d810d040304010d0104010d0104030d0104010d81040d
+810d0481040d810d0481040d020d0604030d0104020d81040d010d0104030d0104020d7f
+041a04810d0603060307010d0106820700048404060700070107
+0307830d06070481040d040d0104010d0104010d0104010d81040d810d0481040d820d04
+0d810d0481040d820d040d810d0481040d810d0481040d820d040d810d040304010d0104
+010d0404010d81040d820d040d810d0481040d820d040d810d0481040d810d040304010d
+0104010d81040d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04
+810d0604060107010d0206820700048404060700070107
+0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
+040d040d81040d810d0481040d810d0481040d820d040d810d040404030d0204040d8104
+0d820d040d810d0481040d820d040d040d0404050d81040d810d0481040d810d0481040d
+810d0481040d820d040d810d047f041a04810d0603060307030682070004840406070007
+0107
+0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
+040d810d040304010d0104010d0104010d81040d810d040404030d0104010d0104010d81
+040d820d040d810d0481040d820d040d810d040704010d0404010d0104010d0104010d01
+04010d81040d810d047f041a04810d0602060107010d0107020682070004840406070007
+0107
+0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
+040d810d0481040d820d040d810d0481040d810d040104020d0704010d0204010d010401
+0d81040d820d040d820d040d010d81040d810d0481040d810d040304010d0104010d8104
+0d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04810d06010601
+07010d010601070106820700048404060700070107
+0307830d06070481040d810d040404010d0204030d0104040d0204030d0104010d020401
+0d0104010d0804010d0304040d81040d810d0481040d030d0104030d0604030d0104010d
+0104010d0204030d0104010d7f041b04810d060206010d0306010d830607000484040607
+00070107
+0307830d0607041304010d1404010d7f045d04810d060b06820700048404060700070107
+
+0307830d0607041304010d1204020d7f045e04810d070c078100048404060700070107
+0307830d0607047f047f040a040f00010483060700070107
+0307830d0607047f047f041c0483060700070107
+0307830d0607047f047f041c0483060700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d06170602037f067f060406820700070107
+0307810d06160681030a830a0600067f067f060206820700070107
+0307810d06150681030a020a83060007067f067f0683060700070107
+0307810d06150681030a030a8100078107067f067f06820700070107
+0307810d06140681030a040a820600078107067f067e06820700070107
+0307810d06140681030a050a8100078107067f067e06820700070107
+0307810d06130681030a060a820600078107067f067d06820700070107
+0307810d06130681030a070a8100078107067f067d06820700070107
+0307810d06120681030a080a820600078107067f067c06820700070107
+0307810d06120681030a010a810600010081060a010a8100078107067f067c0682070007
+0107
+0307810d06110681030a020a0400020a820600078107067f067b06820700070107
+0307810d06110681030a020a0400030a8100078107061606810006030681000605068100
+0627068100061b0681000620068100062c06040001060200140681000602060400010602
+0001068100060a06820700070107
+0307810d06100681030a030a0400030a8206000781070615068100060306810006050681
+000621068100060306810006230681000618068100060906810006200681000603068100
+060106810006120681000602068100060306810006010683000600060a06820700070107
+
+0307810d06100681030a030a0400040a8100078107061606810006010681000606068100
+062106810006030681000623068100061806810006090681000620068100060306810006
+0106810006120681000602068100060306810006010683000600060a06820700070107
+0307810d060f0681030a040a0400040a8206000781070615068100060106810006010602
+000106830006000601068100068106000100040602008106008100068206000601068100
+068106008100068106008100060206030002060200050602000106820006008100060306
+840006000600810006810600810006810600010002060300010602000106010003060300
+020602000106010082060006820600068206000681060001000206020001068200060081
+000606060300010681000601068100060306020001068200060081000601060300030603
+000106810006010683000600060a06820700070107
+0307810d060f0681030a040a810300010081030a040a8100078107061506810006010681
+000604068500060006000601068300060006010681000602068100068206000684060006
+000601068300060006840600060006030681000601068300060006010681000606068200
+060081000682060006020682000600810006840600060006820600060106830006000601
+068300060006010683000600060306810006010683000600060106830006000682060006
+820600068406000600060106830006000601068200060081000682060006050681000601
+068300060006010681000606068200060081000684060006000601068100060206810006
+01068300060006010683000600060a06820700070107
+0307810d060e0681030a050a810600010081060a040a8206000781070615068300060006
+020603008406000600060106820006000300030681000682060006840600060006010681
+000682060006010681000603068100060106820006000300040603008206000601068100
+060206830006000601068300060006810600030082060006010682000600030082060006
+030681000601068200060003008206000689060006000600060006000300810600030082
+060006010681000602060100040683000600060106810006030603008206000601068300
+060006010681000606068300060006010683000600060a06820700070107
+0307810d060e0681030a060a0200070a8100078107061506830006000601068100060106
+850006000600060106830006000606068100068206000684060006000601068100060106
+810006820600060306810006010683000600060606810006010683000600060106810006
+020683000600060106830006000682060006030681000601068300060006030681000603
+068100060106830006000603068100068a06000600060006000600060306810006030681
+000601068100060906830006000601068100060206810006010683000600060106830006
+0006010681000606068300060006010683000600060a06820700070107
+0307810d060d0681030a070a830300030a060a8206000781070615068100060206810006
+010685000600060006810600830006000601068100060206810006820600068406000600
+068106008300060006840600060006030681000601068300060006010681000602068100
+060106830006000601068100060206830006000601068300060006820600060106830006
+000601068300060006010683000600060306810006010683000600060106830006000601
+068100060106810006820600060106830006000601068300060006010681000605068100
+060106830006000601068100060206810006010683000600060106830006000601068100
+0602068100060106830006000601068100060c06820700070107
+0307810d060d0681030a070a830600060a070a8100078107061506810006030603008206
+000681060083000600068106000100040681000682060006820600068106008300060006
+810600810006010681000602060300020602000506030082060006010681000602068300
+060006010681000682060006810600010002060300010602000106810006030603000206
+020002068100068206000601068100060106020002060200010681000601068100060606
+020002060200050603008206000601068100068106000200040602000206020001068100
+060a06820700070107
+0307810d060c0681030a090a81000a080a820600078107067c0681000677068207000701
+07
+0307810d060c0681030a150a810007810706780603007906820700070107
+0307810d060b0681030a090a8106008200060a070a820600078107067f06750682070007
+0107
+0307810d060b0681030a090a0300090a8100078107067f067506820700070107
+0307810d060a0681030a0a0a0300090a820600078107067f067406820700070107
+0307810d060a0681030a0a0a8106008200060a090a8100078107067f0674068207000701
+07
+0307810d060a0681030a190a81000701077f067406820700070107
+0307810d060a0681030a180a8206000701077f067406820700070107
+0307810d060b0681030a160a8206000702077f067406820700070107
+0307810d060c06810300160004077f067406820700070107
+0307810d060e061a077f067506820700070107
+0307810d060f0618077f067606820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d066b0648006a06820700070107
+0307810d066a064a006906820700070107
+0307810d066a060100450d8107008100066806820700070107
+0307810d066a060100440d010701006906820700070107
+0307810d066a060100010d18069100060006000600060006000600060006000617060107
+01006906820700070107
+0307810d066a060100010d4206010701006906820700070107
+0307810d066a060100010d18068100060d068100061706010701006906820700070107
+0307810d066a060100010d1b060300020681000601068100061906010701006906820700
+070107
+0307810d066a060100010d18068300060006020681000682060006820600068206000617
+06010701006906820700070107
+0307810d066a060100010d1a0681000602068100068406000600061b0601070100690682
+0700070107
+0307810d066a060100010d18068300060006020681000681060081000602068100061706
+010701006906820700070107
+0307810d066a060100010d1a0681000602068100068106008100061c0601070100690682
+0700070107
+0307810d066a060100010d18068300060006020681000684060006000601068100061706
+010701006906820700070107
+0307810d066a060100010d1a06810006020681000682060006820600061a060107010069
+06820700070107
+0307810d066a060100010d18068300060006020681000682060006010683000600061706
+010701006906820700070107
+0307810d066a060100010d1b060300020681000602068100061806010701006906820700
+070107
+0307810d066a060100010d18068100060d068100061706010701006906820700070107
+0307810d066a060100010d4206010701006906820700070107
+0307810d066a060100010d18069100060006000600060006000600060006000617060107
+01006906820700070107
+0307810d066a060100810d07440701006906820700070107
+0307810d066a060100460701006906820700070107
+0307810d066a064a006906820700070107
+0307810d066b0648006a06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+0307810d067f067f061f06820700070107
+7f077f0726078100070107
+02077f007f0024000207
+7f077f072a07
+7f077f072a07
+7f077f072a07
+7f077f072a07
+7f077f072a07
+7f077f072a07
+
+%
+% Compression made this file 5.68% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/docs/latex/wx/prop2.gif b/docs/latex/wx/prop2.gif
new file mode 100644
index 0000000000..764f9882b1
Binary files /dev/null and b/docs/latex/wx/prop2.gif differ
diff --git a/docs/latex/wx/propbfva.tex b/docs/latex/wx/propbfva.tex
new file mode 100644
index 0000000000..a091c492cf
--- /dev/null
+++ b/docs/latex/wx/propbfva.tex
@@ -0,0 +1,17 @@
+\section{\class{wxBoolFormValidator}}\label{wxboolformvalidator}
+
+This class validates a boolean value for a \helpref{form view}{wxpropertyformview}.
+The associated control must be a wxCheckBox.
+
+\wxheading{See also}
+
+\helpref{Property validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxBoolFormValidator::wxBoolFormValidator}
+
+\func{void}{wxBoolFormValidator}{\param{long }{flags=0}}
+
+Constructor.
+
diff --git a/docs/latex/wx/propblva.tex b/docs/latex/wx/propblva.tex
new file mode 100644
index 0000000000..172bc51a43
--- /dev/null
+++ b/docs/latex/wx/propblva.tex
@@ -0,0 +1,16 @@
+\section{\class{wxBoolListValidator}}\label{wxboollistvalidator}
+
+This class validates a boolean value for a \helpref{property list view}{wxpropertylistview}.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxBoolListValidator::wxBoolListValidator}
+
+\func{void}{wxBoolListValidator}{\param{long }{flags=0}}
+
+Constructor.
+
diff --git a/docs/latex/wx/property.tex b/docs/latex/wx/property.tex
new file mode 100644
index 0000000000..f981df8641
--- /dev/null
+++ b/docs/latex/wx/property.tex
@@ -0,0 +1,107 @@
+\section{\class{wxProperty}}\label{wxproperty}
+
+The {\bf wxProperty} class represents a property, with a \helpref{wxPropertyValue}{wxpropertyvalue}\rtfsp
+containing the actual value, a name a role, an optional validator, and
+an optional associated window.
+
+A property might correspond to an actual C++ data member, or it
+might correspond to a conceptual property, such as the width of a window.
+There is no explicit data member {\it wxWindow::width}, but it may be convenient
+to invent such a property for the purposes of editing attributes of the window.
+The properties in the property sheet can be mapped to ``reality" by
+whatever means (in this case by calling wxWindow::SetSize when the user has
+finished editing the property sheet).
+
+A validator may be associated with the property in order to ensure that this and
+only this validator will be used for editing and validating the property.
+An alternative method is to use the {\it role} parameter to specify what kind
+of validator would be appropriate; for example, specifying ``filename" for the role
+would allow the property view to find an appropriate validator at edit time.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxProperty::wxProperty}
+
+\func{void}{wxProperty}{\void}
+
+\func{void}{wxProperty}{\param{wxProperty\& }{prop}}
+
+\func{void}{wxProperty}{\param{wxString}{ name}, \param{wxString}{ role}, \param{wxPropertyValidator *}{validator=NULL}}
+
+\func{void}{wxProperty}{\param{wxString}{ name}, \param{const wxPropertyValue\&}{ val}, \param{wxString}{ role}, \param{wxPropertyValidator *}{validator=NULL}}
+
+Constructors.
+
+\membersection{wxProperty::\destruct{wxProperty}}
+
+\func{void}{\destruct{wxProperty}}{\void}
+
+Destructor. Destroys the wxPropertyValue, and the property validator if there is one. However, if the
+actual C++ value in the wxPropertyValue is a pointer, the data in that variable is not destroyed.
+
+\membersection{wxProperty::GetValue}
+
+\func{wxPropertyValue\&}{GetValue}{\void}
+
+Returns a reference to the property value.
+
+\membersection{wxProperty::GetValidator}
+
+\func{wxPropertyValidator *}{GetValidator}{\void}
+
+Returns a pointer to the associated property validator (if any).
+
+\membersection{wxProperty::GetName}
+
+\func{wxString\&}{GetName}{\void}
+
+Returns the name of the property.
+
+\membersection{wxProperty::GetRole}
+
+\func{wxRole\&}{GetRole}{\void}
+
+Returns the role of the property, to be used when choosing an appropriate validator.
+
+\membersection{wxProperty::GetWindow}
+
+\func{wxWindow *}{GetWindow}{\void}
+
+Returns the window associated with the property (if any).
+
+\membersection{wxProperty::SetValue}
+
+\func{void}{SetValue}{\param{wxPropertyValue\&}{ val}}
+
+Sets the value of the property.
+
+\membersection{wxProperty::SetName}
+
+\func{void}{SetName}{\param{wxString\&}{ name}}
+
+Sets the name of the property.
+
+\membersection{wxProperty::SetRole}
+
+\func{void}{SetRole}{\param{wxString\&}{ role}}
+
+Sets the role of the property.
+
+\membersection{wxProperty::SetValidator}
+
+\func{void}{SetValidator}{\param{wxPropertyValidator *}{validator}}
+
+Sets the validator: this will be deleted when the property is deleted.
+
+\membersection{wxProperty::SetWindow}
+
+\func{void}{SetWindow}{\param{wxWindow *}{win}}
+
+Sets the window associated with the property.
+
+\membersection{wxProperty::operator $=$}
+
+\func{void}{operator $=$}{\param{const wxPropertyValue\&}{ val}}
+
+Assignment operator.
+
diff --git a/docs/latex/wx/propflva.tex b/docs/latex/wx/propflva.tex
new file mode 100644
index 0000000000..c8748be331
--- /dev/null
+++ b/docs/latex/wx/propflva.tex
@@ -0,0 +1,18 @@
+\section{\class{wxFilenameListValidator}}\label{wxfilenamelistvalidator}
+
+This class validates a filename for a \helpref{property list view}{wxpropertylistview}, allowing the user to edit it textually and also popping up
+a file selector in ``detailed editing" mode.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFilenameListValidator::wxFilenameListValidator}
+
+\func{void}{wxFilenameListValidator}{\param{wxString }{message = ``Select a file"}, \param{wxString }{wildcard = ``*.*"},
+ \param{long}{ flags=0}}
+
+Constructor. Supply an optional message and wildcard.
+
diff --git a/docs/latex/wx/propford.tex b/docs/latex/wx/propford.tex
new file mode 100644
index 0000000000..dbd0899576
--- /dev/null
+++ b/docs/latex/wx/propford.tex
@@ -0,0 +1,23 @@
+\section{\class{wxPropertyFormDialog}}\label{wxpropertyformdialog}
+
+The {\bf wxPropertyFormDialog} class is a prepackaged dialog which can
+be used for viewing a form property sheet. Pass a property form view object, and the dialog
+will pass OnClose and OnDefaultAction listbox messages to the view class for
+processing.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyFormDialog::wxPropertyFormDialog}
+
+\func{void}{wxPropertyFormDialog}{\param{wxPropertyFormView *}{view}, \param{wxWindow *}{parent}, \param{char *}{title},
+ \param{bool}{ modal=FALSE}, \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxDEFAULT\_DIALOG\_STYLE}, \param{char *}{name=``dialogBox"}}
+
+Constructor.
+
+\membersection{wxPropertyFormDialog::\destruct{wxPropertyFormDialog}}
+
+\func{void}{\destruct{wxPropertyFormDialog}}{\void}
+
+Destructor.
+
diff --git a/docs/latex/wx/propforf.tex b/docs/latex/wx/propforf.tex
new file mode 100644
index 0000000000..3f7d9dddf1
--- /dev/null
+++ b/docs/latex/wx/propforf.tex
@@ -0,0 +1,43 @@
+\section{\class{wxPropertyFormFrame}}\label{wxpropertyformframe}
+
+The {\bf wxPropertyFormFrame} class is a prepackaged frame which can
+be used for viewing a property form. Pass a property form view object, and the frame
+will pass OnClose messages to the view class for processing.
+
+Call Initialize to create the panel and associate the view; override OnCreatePanel
+if you wish to use a panel class other than the default wxPropertyFormPanel.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyFormFrame::wxPropertyFormFrame}
+
+\func{void}{wxPropertyFormFrame}{\param{wxPropertyFormView *}{view}, \param{wxFrame *}{parent}, \param{char *}{title},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxSDI $\|$ wxDEFAULT\_FRAME}, \param{char *}{name=``frame"}}
+
+Constructor.
+
+\membersection{wxPropertyFormFrame::\destruct{wxPropertyFormFrame}}
+
+\func{void}{\destruct{wxPropertyFormFrame}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyFormFrame::GetPropertyPanel}
+
+\func{wxPanel *}{GetPropertyPanel}{\void}
+
+Returns the panel associated with the frame.
+
+\membersection{wxPropertyFormFrame::Initialize}
+
+\func{bool}{Initialize}{\void}
+
+Must be called to create the panel and associate the view with the panel and frame.
+
+\membersection{wxPropertyFormFrame::OnCreatePanel}
+
+\func{wxPanel *}{OnCreatePanel}{\param{wxFrame *}{parent}, \param{wxPropertyFormView *}{view}}
+
+Creates a panel. Override this to create a panel type other than wxPropertyFormPanel.
+
diff --git a/docs/latex/wx/propforp.tex b/docs/latex/wx/propforp.tex
new file mode 100644
index 0000000000..c84f4eaa8a
--- /dev/null
+++ b/docs/latex/wx/propforp.tex
@@ -0,0 +1,23 @@
+\section{\class{wxPropertyFormPanel}}\label{wxpropertyformpanel}
+
+The {\bf wxPropertyFormPanel} class is a prepackaged panel which can
+be used for viewing a property form. Pass a property form view object, and the panel
+will pass OnDefaultAction listbox messages to the view class for
+processing.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyFormPanel::wxPropertyFormPanel}
+
+\func{void}{wxPropertyFormPanel}{\param{wxPropertyFormView *}{view}, \param{wxWindow *}{parent},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=0}, \param{char *}{name=``panel"}}
+
+Constructor.
+
+\membersection{wxPropertyFormPanel::\destruct{wxPropertyFormPanel}}
+
+\func{void}{\destruct{wxPropertyFormPanel}}{\void}
+
+Destructor.
+
diff --git a/docs/latex/wx/propforv.tex b/docs/latex/wx/propforv.tex
new file mode 100644
index 0000000000..0a72305a4a
--- /dev/null
+++ b/docs/latex/wx/propforv.tex
@@ -0,0 +1,60 @@
+\section{\class{wxPropertyFormValidator}}\label{wxpropertyformvalidator}
+
+The {\bf wxPropertyFormValidator} class defines a base class for form validators. By overriding virtual functions,
+the programmer can create custom behaviour for kinds of property.
+
+\wxheading{See also}
+
+\helpref{wxPropertyFormValidator overview}{wxpropertyformvalidatoroverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyFormValidator::wxPropertyFormValidator}
+
+\func{void}{wxPropertyFormValidator}{\param{long}{ flags = 0}}
+
+Constructor.
+
+\membersection{wxPropertyFormValidator::\destruct{wxPropertyFormValidator}}
+
+\func{void}{\destruct{wxPropertyFormValidator}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyFormValidator::OnCommand}
+
+\func{bool}{OnCommand}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}, \param{wxCommandEvent\& }{event}}
+
+Called when the control corresponding to the property receives a command (if not intercepted
+by a callback associated with the actual control).
+
+\membersection{wxPropertyFormValidator::OnCheckValue}
+
+\func{bool}{OnCheckValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the view checks the property value. The value checked by this validator should be taken from the
+panel item corresponding to the property.
+
+\membersection{wxPropertyFormValidator::OnDisplayValue}
+
+\func{bool}{OnDisplayValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Should display the property value in the appropriate control.
+
+\membersection{wxPropertyFormValidator::OnDoubleClick}
+
+\func{bool}{OnDoubleClick}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the control corresponding to the property is double clicked (listboxes only).
+
+\membersection{wxPropertyFormValidator::OnRetrieveValue}
+
+\func{bool}{OnRetrieveValue}{\param{wxProperty *}{property}, \param{wxPropertyFormView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Should do the transfer from the property editing area to the property itself.
+
diff --git a/docs/latex/wx/propfovi.tex b/docs/latex/wx/propfovi.tex
new file mode 100644
index 0000000000..c252c940eb
--- /dev/null
+++ b/docs/latex/wx/propfovi.tex
@@ -0,0 +1,104 @@
+\section{\class{wxPropertyFormView}}\label{wxpropertyformview}
+
+The {\bf wxPropertyFormView} class shows a wxPropertySheet as a view onto a panel or dialog
+box which has already been created.
+
+\wxheading{See also}
+
+\helpref{wxPropertyFormView overview}{wxpropertyformviewoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyFormView::wxPropertyFormView}
+
+\func{void}{wxPropertyFormView}{\param{long}{ flags = 0}}
+
+Constructor.
+
+\membersection{wxPropertyFormView::\destruct{wxPropertyFormView}}
+
+\func{void}{\destruct{wxPropertyFormView}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyFormView::AssociateNames}\label{wxpropertyformviewassociatenames}
+
+\func{void}{AssociateNames}{\void}
+
+Associates the properties with the controls on the panel. For each panel item, if the
+panel item name is the same as a property name, the two objects will be associated.
+This function should be called manually since the programmer may wish to do the
+association manually.
+
+\membersection{wxPropertyFormView::Check}\label{wxpropertyformviewcheck}
+
+\func{bool}{Check}{\void}
+
+Checks all properties by calling the appropriate validators; returns FALSE if a validation failed.
+
+\membersection{wxPropertyFormView::GetPanel}\label{wxpropertyformviewgetpanel}
+
+\func{wxPanel *}{GetPanel}{\void}
+
+Returns the panel associated with the view.
+
+\membersection{wxPropertyFormView::GetManagedWindow}\label{wxpropertyformviewgetmanagedwindow}
+
+\func{wxWindow *}{GetManagedWindow}{\void}
+
+Returns the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyFormView::OnOk}\label{wxpropertyformviewonok}
+
+\func{void}{OnOk}{\void}
+
+Virtual function that will be called when the OK button on the physical window is pressed.
+By default, checks and updates the form values, closes and deletes the frame or dialog, then deletes the view.
+
+\membersection{wxPropertyFormView::OnCancel}\label{wxpropertyformviewoncancel}
+
+\func{void}{OnCancel}{\void}
+
+Virtual function that will be called when the Cancel button on the physical window is pressed.
+By default, closes and deletes the frame or dialog, then deletes the view.
+
+\membersection{wxPropertyFormView::OnHelp}\label{wxpropertyformviewonhelp}
+
+\func{void}{OnHelp}{\void}
+
+Virtual function that will be called when the Help button on the physical window is pressed.
+This needs to be overridden by the application for anything interesting to happen.
+
+\membersection{wxPropertyFormView::OnRevert}\label{wxpropertyformviewonrevert}
+
+\func{void}{OnRevert}{\void}
+
+Virtual function that will be called when the Revert button on the physical window is pressed.
+By default transfers the wxProperty values to the panel items (in effect
+undoing any unsaved changes in the items).
+
+\membersection{wxPropertyFormView::OnUpdate}\label{wxpropertyformviewonupdate}
+
+\func{void}{OnUpdate}{\void}
+
+Virtual function that will be called when the Update button on the physical window is pressed.
+By defaults transfers the displayed values to the wxProperty objects.
+
+\membersection{wxPropertyFormView::SetManagedWindow}\label{wxpropertyformviewsetmanagedwindow}
+
+\func{void}{SetManagedWindow}{\param{wxWindow *}{win}}
+
+Sets the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyFormView::TransferToDialog}\label{wxpropertyformviewtransfertodialog}
+
+\func{bool}{TransferToDialog}{\void}
+
+Transfers property values to the controls in the dialog.
+
+\membersection{wxPropertyFormView::TransferToPropertySheet}\label{wxpropertyformviewtransfertopropertysheet}
+
+\func{bool}{TransferToPropertySheet}{\void}
+
+Transfers property values from the controls in the dialog to the property sheet.
+
diff --git a/docs/latex/wx/propifva.tex b/docs/latex/wx/propifva.tex
new file mode 100644
index 0000000000..46af6ef034
--- /dev/null
+++ b/docs/latex/wx/propifva.tex
@@ -0,0 +1,18 @@
+\section{\class{wxIntegerFormValidator}}\label{wxintegerformvalidator}
+
+This class validates a range of integer values for a form view. The associated control must be a wxTextCtrl
+or wxSlider.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxIntegerFormValidator::wxIntegerFormValidator}
+
+\func{void}{wxIntegerFormValidator}{\param{long }{min=0}, \param{long }{max=0},
+ \param{long}{ flags=0}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
diff --git a/docs/latex/wx/propilva.tex b/docs/latex/wx/propilva.tex
new file mode 100644
index 0000000000..7c6803a942
--- /dev/null
+++ b/docs/latex/wx/propilva.tex
@@ -0,0 +1,17 @@
+\section{\class{wxIntegerListValidator}}\label{wxintegerlistvalidator}
+
+This class validates a range of integer values for a list view.
+
+\wxheading{See also}
+
+\overview{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxIntegerListValidator::wxIntegerListValidator}
+
+\func{void}{wxIntegerListValidator}{\param{long }{min=0}, \param{long }{max=0},
+ \param{long}{ flags=wxPROP\_ALLOW\_TEXT\_EDITING}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
diff --git a/docs/latex/wx/proplisd.tex b/docs/latex/wx/proplisd.tex
new file mode 100644
index 0000000000..8a6a673754
--- /dev/null
+++ b/docs/latex/wx/proplisd.tex
@@ -0,0 +1,23 @@
+\section{\class{wxPropertyListDialog}}\label{wxpropertylistdialog}
+
+The {\bf wxPropertyListDialog} class is a prepackaged dialog which can
+be used for viewing a property list. Pass a property list view object, and the dialog
+will pass OnClose and OnDefaultAction listbox messages to the view class for
+processing.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyListDialog::wxPropertyListDialog}
+
+\func{void}{wxPropertyListDialog}{\param{wxPropertyListView *}{view}, \param{wxWindow *}{parent}, \param{char *}{title},
+ \param{bool}{ modal=FALSE}, \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxDEFAULT\_DIALOG\_STYLE}, \param{char *}{name=``dialogBox"}}
+
+Constructor.
+
+\membersection{wxPropertyListDialog::\destruct{wxPropertyListDialog}}
+
+\func{void}{\destruct{wxPropertyListDialog}}{\void}
+
+Destructor.
+
diff --git a/docs/latex/wx/proplisf.tex b/docs/latex/wx/proplisf.tex
new file mode 100644
index 0000000000..ee780a7ad8
--- /dev/null
+++ b/docs/latex/wx/proplisf.tex
@@ -0,0 +1,43 @@
+\section{\class{wxPropertyListFrame}}\label{wxpropertylistframe}
+
+The {\bf wxPropertyListFrame} class is a prepackaged frame which can
+be used for viewing a property list. Pass a property list view object, and the frame
+will pass OnClose messages to the view class for processing.
+
+Call Initialize to create the panel and associate the view; override OnCreatePanel
+if you wish to use a panel class other than the default wxPropertyListPanel.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyListFrame::wxPropertyListFrame}
+
+\func{void}{wxPropertyListFrame}{\param{wxPropertyListView *}{view}, \param{wxFrame *}{parent}, \param{char *}{title},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=wxSDI $\|$ wxDEFAULT\_FRAME}, \param{char *}{name=``frame"}}
+
+Constructor.
+
+\membersection{wxPropertyListFrame::\destruct{wxPropertyListFrame}}
+
+\func{void}{\destruct{wxPropertyListFrame}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyListFrame::GetPropertyPanel}
+
+\func{wxPanel *}{GetPropertyPanel}{\void}
+
+Returns the panel associated with the frame.
+
+\membersection{wxPropertyListFrame::Initialize}
+
+\func{bool}{Initialize}{\void}
+
+Must be called to create the panel and associate the view with the panel and frame.
+
+\membersection{wxPropertyListFrame::OnCreatePanel}
+
+\func{wxPanel *}{OnCreatePanel}{\param{wxFrame *}{parent}, \param{wxPropertyListView *}{view}}
+
+Creates a panel. Override this to create a panel type other than wxPropertyListPanel.
+
diff --git a/docs/latex/wx/proplisp.tex b/docs/latex/wx/proplisp.tex
new file mode 100644
index 0000000000..926d749129
--- /dev/null
+++ b/docs/latex/wx/proplisp.tex
@@ -0,0 +1,23 @@
+\section{\class{wxPropertyListPanel}}\label{wxpropertylistpanel}
+
+The {\bf wxPropertyListPanel} class is a prepackaged panel which can
+be used for viewing a property list. Pass a property list view object, and the panel
+will pass OnDefaultAction listbox messages to the view class for
+processing.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyListPanel::wxPropertyListPanel}
+
+\func{void}{wxPropertyListPanel}{\param{wxPropertyListView *}{view}, \param{wxWindow *}{parent},
+ \param{int}{ x=-1}, \param{int}{ y=-1}, \param{int}{ width=-1}, \param{int}{height=-1},
+ \param{long}{ style=0}, \param{char *}{name=``panel"}}
+
+Constructor.
+
+\membersection{wxPropertyListPanel::\destruct{wxPropertyListPanel}}
+
+\func{void}{\destruct{wxPropertyListPanel}}{\void}
+
+Destructor.
+
diff --git a/docs/latex/wx/proplist.tex b/docs/latex/wx/proplist.tex
new file mode 100644
index 0000000000..f9ce7a77a2
--- /dev/null
+++ b/docs/latex/wx/proplist.tex
@@ -0,0 +1,556 @@
+\chapter{Property sheet classes}\label{proplist}
+
+\section{Introduction}\label{proplistintro}
+
+The Property Sheet Classes help the programmer to specify complex dialogs and
+their relationship with their associated data. By specifying data as a
+wxPropertySheet containing wxProperty objects, the programmer can use
+a range of available or custom wxPropertyView classes to allow the user to
+edit this data. Classes derived from wxPropertyView act as mediators between the
+wxPropertySheet and the actual window (and associated panel items).
+
+For example, the wxPropertyListView is a kind of wxPropertyView which displays
+data in a Visual Basic-style property list (see \helpref{the next section}{proplistappearance} for
+screen shots). This is a listbox containing names and values, with
+an edit control and other optional controls via which the user edits the selected
+data item.
+
+wxPropertyFormView is another kind of wxPropertyView which mediates between
+the data and a panel or dialog box which has already been created. This makes it a contender for
+the replacement of wxForm, since programmer-controlled layout is going to be much more
+satisfactory. If automatic layout is desired, then wxPropertyListView could be used instead.
+
+The main intention of this class library was to provide property {\it list} behaviour, but
+it has been generalised as much as possible so that the concept of a property sheet and its viewers
+can reduce programming effort in a range of user interface tasks.
+
+For further details on the classes and how they are used, please see \helpref{Property classes overview}{proplistpropertyoverview}.
+
+\subsection{The appearance and behaviour of a property list view}\label{proplistappearance}
+
+The property list, as seen in an increasing number of development tools
+such as Visual Basic and Delphi, is a convenient and compact method for
+displaying and editing a number of items without the need for one
+control per item, and without the need for designing a special form. The
+controls are as follows:
+
+\begin{itemize}\itemsep=0pt
+\item A listbox showing the properties and their current values, which has double-click
+properties dependent on the nature of the current property;
+\item a text editing area at the top of the display, allowing the user to edit
+the currently selected property if appropriate;
+\item `confirm' and `cancel' buttons to confirm or cancel an edit (for the property, not the
+whole sheet);
+\item an optional list that appears when the user can make a choice from several known possible values;
+\item a small Edit button to invoke `detailed editing' (perhaps showing or hiding the above value list, or
+maybe invoking a common dialog);
+\item optional OK/Close, Cancel and Help buttons for the whole dialog.
+\end{itemize}
+
+The concept of `detailed editing' versus quick editing gives the user a choice
+of editing mode, so novice and expert behaviour can be catered for, or the user can just
+use what he feels comfortable with.
+
+Behaviour alters depending on the kind of property being edited. For example, a boolean value has
+the following behaviour:
+
+\begin{itemize}\itemsep=0pt
+\item Double-clicking on the item toggles between TRUE and FALSE.
+\item Showing the value list enables the user to select TRUE or FALSE.
+\item The user may be able to type in the word TRUE or FALSE, or the edit control
+may be read-only to disallow this since it is error-prone.
+\end{itemize}
+
+A list of strings may pop up a dialog for editing them, a simple string just allows text editing,
+double-clicking a colour property may show a colour selector, double-clicking on a filename property may
+show a file selector (in addition to being able to type in the name in the edit control), etc.
+
+Note that the `type' of property, such as string or integer, does not
+necessarily determine the behaviour of the property. The programmer has
+to be able to specify different behaviours for the same type, depending
+on the meaning of the property. For example, a colour and a filename may
+both be strings, but their editing behaviour should be different. This
+is why objects of type wxPropertyValidator need to be used, to define
+behaviour for a given class of properties or even specific property
+name. Objects of class wxPropertyView contain a list of property
+registries, which enable reuse of bunches of these validators in
+different circumstances. Or a wxProperty can be explicitly set to use a
+particular validator object.
+
+The following screen shot of the property classes test program shows the
+user editing a string, which is constrained to be one of three possible
+values.
+
+\helponly{\image{}{prop1.bmp}}
+
+The second picture shows the user having entered a integer that
+was outside the range specified to the validator. Note that in this picture,
+the value list is hidden because it is not used when editing an integer.
+
+\helponly{\image{}{prop2.bmp}}
+
+\section{Headers}\label{proplistfiles}
+
+The property class library comprises the following files:
+
+\begin{itemize}\itemsep=0pt
+\item prop.h: base property class header
+\item proplist.h: wxPropertyListView and associated classes
+\item propform.h: wxPropertyListView and associated classes
+\end{itemize}
+
+\section{Topic overviews}\label{proplistoverviews}
+
+This chapter contains a selection of topic overviews.
+
+\subsection{Property classes overview}\label{proplistpropertyoverview}
+
+The property classes help a programmer to express relationships between
+data and physical windows, in particular:
+
+\begin{itemize}\itemsep=0pt
+\item the transfer of data to and from the physical controls;
+\item the behaviour of various controls and custom windows for particular
+types of data;
+\item the validation of data, notifying the user when incorrect data is entered,
+or even better, constraining the input so only valid data can be entered.
+\end{itemize}
+
+With a consistent framework, the programmer should be able to use existing
+components and design new ones in a principled manner, to solve many data entry
+requirements.
+
+Each datum is represented in a \helpref{wxProperty}{wxproperty}, which has a name and a value.
+Various C++ types are permitted in the value of a property, and the property can store a pointer
+to the data instead of a copy of the data. A \helpref{wxPropertySheet}{wxpropertysheet} represents a number of these properties.
+
+These two classes are independent from the way in which the data is visually manipulated. To
+mediate between property sheets and windows, the abstract class \helpref{wxPropertyView}{wxpropertyview} is
+available for programmers to derive new kinds of view. One kind of view that is available is the \helpref{wxPropertyListView}{wxpropertylistview},
+which displays the data in a Visual Basic-style list, with a small number of controls for editing
+the currently selected property. Another is \helpref{wxPropertyFormView}{wxpropertyformview} which
+mediates between an existing dialog or panel and the property sheet.
+
+The hard work of mediation is actually performed by validators, which are instances of classes
+derived from \helpref{wxPropertyValidator}{wxpropertyvalidator}. A validator is associated with
+a particular property and is responsible for
+responding to user interface events, and displaying, updating and checking the property value.
+Because a validator's behaviour depends largely on the kind of view being used, there has to be
+a separate hierarchy of validators for each class of view. So for wxPropertyListView, there is
+an abstract class \helpref{wxPropertyListValidator}{wxpropertylistvalidator} from which concrete
+classes are derived, such as \helpref{wxRealListValidator}{wxreallistvalidator} and
+\rtfsp\helpref{wxStringListValidator}{wxstringlistvalidator}.
+
+A validator can be explicitly set for a property, so there is no doubt which validator
+should be used to edit that property. However, it is also possible to define a registry
+of validators, and have the validator chosen on the basis of the {\it role} of the property.
+So a property with a ``filename" role would match the ``filename" validator, which pops
+up a file selector when the user double clicks on the property.
+
+You don't have to define your own frame or window classes: there are some predefined
+that will work with the property list view. See \helpref{Window classes}{proplistwindowclasses} for
+further details.
+
+\subsubsection{Example 1: Property list view}
+
+The following code fragment shows the essentials of creating a registry of
+standard validators, a property sheet containing some properties, and
+a property list view and dialog or frame. RegisterValidators will be
+called on program start, and PropertySheetTest is called in response to a
+menu command.
+
+Note how some properties are created with an explicit reference to
+a validator, and others are provided with a ``role'' which can be matched
+against a validator in the registry.
+
+The interface generated by this test program is shown in the section \helpref{Appearance and
+behaviour of a property list view}{proplistappearance}.
+
+\begin{verbatim}
+void RegisterValidators(void)
+{
+ myListValidatorRegistry.RegisterValidator((wxString)"real", new wxRealListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"string", new wxStringListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolListValidator);
+}
+
+void PropertyListTest(Bool useDialog)
+{
+ wxPropertySheet *sheet = new wxPropertySheet;
+
+ sheet->AddProperty(new wxProperty("fred", 1.0, "real"));
+ sheet->AddProperty(new wxProperty("tough choice", (Bool)TRUE, "bool"));
+ sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerListValidator(-50, 50)));
+ sheet->AddProperty(new wxProperty("bill", 25.0, "real", new wxRealListValidator(0.0, 100.0)));
+ sheet->AddProperty(new wxProperty("julian", "one", "string"));
+ sheet->AddProperty(new wxProperty("bitmap", "none", "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp")));
+ wxStringList *strings = new wxStringList("one", "two", "three", NULL);
+ sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringListValidator(strings)));
+
+ wxPropertyListView *view =
+ new wxPropertyListView(NULL,
+ wxPROP_BUTTON_CHECK_CROSS|wxPROP_DYNAMIC_VALUE_FIELD|wxPROP_PULLDOWN);
+
+ wxDialogBox *propDialog = NULL;
+ wxPropertyListFrame *propFrame = NULL;
+ if (useDialog)
+ {
+ propDialog = new wxPropertyListDialog(view, NULL, "Property Sheet Test", TRUE, -1, -1, 400, 500);
+ }
+ else
+ {
+ propFrame = new wxPropertyListFrame(view, NULL, "Property Sheet Test", -1, -1, 400, 500);
+ }
+
+ view->AddRegistry(&myListValidatorRegistry);
+
+ if (useDialog)
+ {
+ view->ShowView(sheet, propDialog);
+ propDialog->Centre(wxBOTH);
+ propDialog->Show(TRUE);
+ }
+ else
+ {
+ propFrame->Initialize();
+ view->ShowView(sheet, propFrame->GetPropertyPanel());
+ propFrame->Centre(wxBOTH);
+ propFrame->Show(TRUE);
+ }
+}
+\end{verbatim}
+
+\subsubsection{Example 2: Property form view}
+
+This example is similar to Example 1, but uses a property form view to
+edit a property sheet using a predefined dialog box.
+
+\begin{verbatim}
+void RegisterValidators(void)
+{
+ myFormValidatorRegistry.RegisterValidator((wxString)"real", new wxRealFormValidator);
+ myFormValidatorRegistry.RegisterValidator((wxString)"string", new wxStringFormValidator);
+ myFormValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerFormValidator);
+ myFormValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolFormValidator);
+}
+
+void PropertyFormTest(Bool useDialog)
+{
+ wxPropertySheet *sheet = new wxPropertySheet;
+
+ sheet->AddProperty(new wxProperty("fred", 25.0, "real", new wxRealFormValidator(0.0, 100.0)));
+ sheet->AddProperty(new wxProperty("tough choice", (Bool)TRUE, "bool"));
+ sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerFormValidator(-50, 50)));
+ sheet->AddProperty(new wxProperty("julian", "one", "string"));
+ wxStringList *strings = new wxStringList("one", "two", "three", NULL);
+ sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringFormValidator(strings)));
+
+ wxPropertyFormView *view = new wxPropertyFormView(NULL);
+
+ wxDialogBox *propDialog = NULL;
+ wxPropertyFormFrame *propFrame = NULL;
+ if (useDialog)
+ {
+ propDialog = new wxPropertyFormDialog(view, NULL, "Property Form Test", TRUE, -1, -1, 400, 300);
+ }
+ else
+ {
+ propFrame = new wxPropertyFormFrame(view, NULL, "Property Form Test", -1, -1, 400, 300);
+ propFrame->Initialize();
+ }
+
+ wxPanel *panel = propDialog ? propDialog : propFrame->GetPropertyPanel();
+ panel->SetLabelPosition(wxVERTICAL);
+
+ // Add items to the panel
+
+ (void) new wxButton(panel, (wxFunction)NULL, "OK", -1, -1, -1, -1, 0, "ok");
+ (void) new wxButton(panel, (wxFunction)NULL, "Cancel", -1, -1, 80, -1, 0, "cancel");
+ (void) new wxButton(panel, (wxFunction)NULL, "Update", -1, -1, 80, -1, 0, "update");
+ (void) new wxButton(panel, (wxFunction)NULL, "Revert", -1, -1, -1, -1, 0, "revert");
+ panel->NewLine();
+
+ // The name of this text item matches the "fred" property
+ (void) new wxText(panel, (wxFunction)NULL, "Fred", "", -1, -1, 90, -1, 0, "fred");
+ (void) new wxCheckBox(panel, (wxFunction)NULL, "Yes or no", -1, -1, -1, -1, 0, "tough choice");
+ (void) new wxSlider(panel, (wxFunction)NULL, "Sliding scale", 0, -50, 50, 100, -1, -1, wxHORIZONTAL, "ian");
+ panel->NewLine();
+ (void) new wxListBox(panel, (wxFunction)NULL, "Constrained", wxSINGLE, -1, -1, 100, 90, 0, NULL, 0, "constrained");
+
+ view->AddRegistry(&myFormValidatorRegistry);
+
+ if (useDialog)
+ {
+ view->ShowView(sheet, propDialog);
+ view->AssociateNames();
+ view->TransferToDialog();
+ propDialog->Centre(wxBOTH);
+ propDialog->Show(TRUE);
+ }
+ else
+ {
+ view->ShowView(sheet, propFrame->GetPropertyPanel());
+ view->AssociateNames();
+ view->TransferToDialog();
+ propFrame->Centre(wxBOTH);
+ propFrame->Show(TRUE);
+ }
+}
+\end{verbatim}
+
+\subsection{Validator classes overview}\label{proplistvalidatoroverview}
+
+Classes: \helpref{Validator classes}{proplistvalidatorclasses}
+
+The validator classes provide functionality for mediating between a wxProperty and
+the actual display. There is a separate family of validator classes for each
+class of view, since the differences in user interface for these views implies
+that little common functionality can be shared amongst validators.
+
+
+
+\subsubsection{wxPropertyValidator overview}\label{wxpropertyvalidatoroverview}
+
+Class: \helpref{wxPropertyValidator}{wxpropertyvalidator}
+
+This class is the root of all property validator classes. It contains a small
+amount of common functionality, including functions to convert between
+strings and C++ values.
+
+A validator is notionally an object which sits between a property and its displayed
+value, and checks that the value the user enters is correct, giving an error message
+if the validation fails. In fact, the validator does more than that, and is akin to
+a view class but at a finer level of detail. It is also responsible for
+loading the dialog box control with the value from the property, putting it back
+into the property, preparing special controls for editing the value, and
+may even invoke special dialogs for editing the value in a convenient way.
+
+In a property list dialog, there is quite a lot of scope for supplying custom dialogs,
+such as file or colour selectors. For a form dialog, there is less scope because
+there is no concept of `detailed editing' of a value: one control is associated with
+one property, and there is no provision for invoking further dialogs. The reader
+may like to work out how the form view could be extended to provide some of the
+functionality of the property list!
+
+Validator objects may be associated explicitly with a wxProperty, or they may be
+indirectly associated by virtue of a property `kind' that matches validators having
+that kind. In the latter case, such validators are stored in a validator registry
+which is passed to the view before the dialog is shown. If the validator takes
+arguments, such as minimum and maximum values in the case of a wxIntegerListValidator,
+then the validator must be associated explicitly with the property. The validator
+will be deleted when the property is deleted.
+
+\subsubsection{wxPropertyListValidator overview}\label{wxpropertylistvalidatoroverview}
+
+Class: \helpref{wxPropertyListValidator}{wxpropertylistvalidator}
+
+This class is the abstract base class for property list view validators.
+The list view acts upon a user interface containing a list of properties,
+a text item for direct property value editing, confirm/cancel buttons for the value,
+a pulldown list for making a choice between values, and OK/Cancel/Help buttons
+for the dialog (see \helpref{property list appearance}{proplistappearance}).
+
+By overriding virtual functions, the programmer can create custom
+behaviour for different kinds of property. Custom behaviour can use just the
+available controls on the property list dialog, or the validator can
+invoke custom editors with quite different controls, which pop up in
+`detailed editing' mode.
+
+See the detailed class documentation for the members you should override
+to give your validator appropriate behaviour.
+
+\subsubsection{wxPropertyFormValidator overview}\label{wxpropertyformvalidatoroverview}
+
+This class is the abstract base class for property form view validators.
+The form view acts upon an existing dialog box or panel, where either the
+panel item names correspond to property names, or the programmer has explicitly
+associated the panel item with the property.
+
+By overriding virtual functions, the programmer determines how
+values are displayed or retrieved, and the checking that the validator does.
+
+See the detailed class documentation for the members you should override
+to give your validator appropriate behaviour.
+
+\subsection{View classes overview}\label{proplistviewoverview}
+
+Classes: \helpref{View classes}{proplistviewclasses}
+
+An instance of a view class relates a property sheet with an actual window.
+Currently, there are two classes of view: wxPropertyListView and wxPropertyFormView.
+
+\subsubsection{wxPropertyView overview}\label{wxpropertyviewoverview}
+
+Class: \helpref{wxPropertyView}{wxpropertyview}
+
+This is the abstract base class for property views.
+
+\subsubsection{wxPropertyListView overview}\label{wxpropertylistviewoverview}
+
+Class: \helpref{wxPropertyListView}{wxpropertylistview}
+
+The property list view defines the relationship between a property sheet and
+a property list dialog or panel. It manages user interface events such as
+clicking on a property, pressing return in the text edit field, and clicking
+on Confirm or Cancel. These events cause member functions of the
+class to be called, and these in turn may call member functions of
+the appropriate validator to be called, to prepare controls, check the property value,
+invoke detailed editing, etc.
+
+\subsubsection{wxPropertyFormView overview}\label{wxpropertyformviewoverview}
+
+Class: \helpref{wxPropertyFormView}{wxpropertyformview}
+
+The property form view manages the relationship between a property sheet
+and an existing dialog or panel.
+
+You must first create a panel or dialog box for the view to work on.
+The panel should contain panel items with names that correspond to
+properties in your property sheet; or you can explicitly set the
+panel item for each property.
+
+Apart from any custom panel items that you wish to control independently
+of the property-editing items, wxPropertyFormView takes over the
+processing of item events. It can also control normal dialog behaviour such
+as OK, Cancel, so you should also create some standard buttons that the property view
+can recognise. Just create the buttons with standard names and the view
+will do the rest. The following button names are recognised:
+
+\begin{itemize}\itemsep=0pt
+\item {\bf ok}: indicates the OK button. Calls wxPropertyFormView::OnOk. By default,
+checks and updates the form values, closes and deletes the frame or dialog, then deletes the view.
+\item {\bf cancel}: indicates the Cancel button. Calls wxPropertyFormView::OnCancel. By default,
+closes and deletes the frame or dialog, then deletes the view.
+\item {\bf help}: indicates the Help button. Calls wxPropertyFormView::OnHelp. This needs
+to be overridden by the application for anything interesting to happen.
+\item {\bf revert}: indicates the Revert button. Calls wxPropertyFormView::OnRevert,
+which by default transfers the wxProperty values to the panel items (in effect
+undoing any unsaved changes in the items).
+\item {\bf update}: indicates the Revert button. Calls wxPropertyFormView::OnUpdate, which
+by defaults transfers the displayed values to the wxProperty objects.
+\end{itemize}
+
+\subsection{wxPropertySheet overview}\label{wxpropertysheetoverview}
+
+Classes: \helpref{wxPropertySheet}{wxpropertysheet}, \helpref{wxProperty}{wxproperty}, \helpref{wxPropertyValue}{wxpropertyvalue}
+
+A property sheet defines zero or more properties. This is a bit like an explicit representation of
+a C++ object. wxProperty objects can have values which are pointers to C++ values, or they
+can allocate their own storage for values.
+
+Because the property sheet representation is explicit and can be manipulated by
+a program, it is a convenient form to be used for a variety of
+editing purposes. wxPropertyListView and wxPropertyFormView are two classes that
+specify the relationship between a property sheet and a user interface. You could imagine
+other uses for wxPropertySheet, for example to generate a form-like user interface without
+the need for GUI programming. Or for storing the names and values of command-line switches, with the
+option to subsequently edit these values using a wxPropertyListView.
+
+A typical use for a property sheet is to represent values of an object
+which are only implicit in the current representation of it. For
+example, in Visual Basic and similar programming environments, you can
+`edit a button', or rather, edit the button's properties. One of the
+properties you can edit is {\it width} - but there is no explicit
+representation of width in a wxWindows button; instead, you call SetSize
+and GetSize members. To translate this into a consistent,
+property-oriented scheme, we could derive a new class
+wxButtonWithProperties, which has two new functions: SetProperty and
+GetProperty. SetProperty accepts a property name and a value, and calls
+an appropriate function for the property that is being passed.
+GetProperty accepts a property name, returning a property value. So
+instead of having to use the usual arbitrary set of C++ member functions
+to set or access attributes of a window, programmer deals merely with
+SetValue/GetValue, and property names and values.
+We now have a single point at which we can modify or query an object by specifying
+names and values at run-time. (The implementation of SetProperty and GetProperty
+is probably quite messy and involves a large if-then-else statement to
+test the property name and act accordingly.)
+
+When the user invokes the property editor for a wxButtonWithProperties, the system
+creates a wxPropertySheet with `imaginary' properties such as width, height, font size
+and so on. For each property, wxButtonWithProperties::GetProperty is called, and the result is
+passed to the corresponding wxProperty. The wxPropertySheet is passed to a wxPropertyListView
+as described elsewhere, and the user edits away. When the user has finished editing, the system calls
+wxButtonWithProperties::SetProperty to transfer the wxProperty value back into the button
+by way of an appropriate call, wxWindow::SetSize in the case of width and height properties.
+
+\section{Classes by category}\label{proplistclassesbycat}
+
+A classification of property sheet classes by category.
+
+\subsection{Data classes}
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxProperty}{wxproperty}
+\item \helpref{wxPropertyValue}{wxpropertyvalue}
+\item \helpref{wxPropertySheet}{wxpropertysheet}
+\end{itemize}
+
+\subsection{Validator classes}\label{proplistvalidatorclasses}
+
+Validators check that the values the user has entered for a property are
+valid. They can also define specific ways of entering data, such as a
+file selector for a filename, and they are responsible for transferring
+values between the wxProperty and the physical display.
+
+Base classes:
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyValidator}{wxproperty}
+\item \helpref{wxPropertyListValidator}{wxpropertylistvalidator}
+\item \helpref{wxPropertyFormValidator}{wxpropertyformvalidator}
+\end{itemize}
+
+List view validators:
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxBoolListValidator}{wxboollistvalidator}
+\item \helpref{wxFilenameListValidator}{wxfilenamelistvalidator}
+\item \helpref{wxIntegerListValidator}{wxintegerlistvalidator}
+\item \helpref{wxListOfStringsListValidator}{wxlistofstringslistvalidator}
+\item \helpref{wxRealListValidator}{wxreallistvalidator}
+\item \helpref{wxStringListValidator}{wxstringlistvalidator}
+\end{itemize}
+
+Form view validators:
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxBoolFormValidator}{wxboolformvalidator}
+\item \helpref{wxIntegerFormValidator}{wxintegerformvalidator}
+\item \helpref{wxRealFormValidator}{wxrealformvalidator}
+\item \helpref{wxStringFormValidator}{wxstringformvalidator}
+\end{itemize}
+
+\subsection{View classes}\label{proplistviewclasses}
+
+View classes mediate between a property sheet and a physical window.
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyView}{wxpropertyview}
+\item \helpref{wxPropertyListView}{wxpropertylistview}
+\item \helpref{wxPropertyFormView}{wxpropertyformview}
+\end{itemize}
+
+\subsection{Window classes}\label{proplistwindowclasses}
+
+The class library defines some window classes that can be used as-is with a suitable
+view class and property sheet.
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyFormFrame}{wxpropertyformframe}
+\item \helpref{wxPropertyFormDialog}{wxpropertyformdialog}
+\item \helpref{wxPropertyFormPanel}{wxpropertyformpanel}
+\item \helpref{wxPropertyListFrame}{wxpropertylistframe}
+\item \helpref{wxPropertyListDialog}{wxpropertylistdialog}
+\item \helpref{wxPropertyListPanel}{wxpropertylistpanel}
+\end{itemize}
+
+\subsection{Registry classes}
+
+A validator registry is a list of validators that can be applied to properties in a property sheet.
+There may be one or more registries per property view.
+
+\begin{itemize}\itemsep=0pt
+\item \helpref{wxPropertyValidatorRegistry}{wxpropertyvalidatorregistry}
+\end{itemize}
diff --git a/docs/latex/wx/propliva.tex b/docs/latex/wx/propliva.tex
new file mode 100644
index 0000000000..021c44f967
--- /dev/null
+++ b/docs/latex/wx/propliva.tex
@@ -0,0 +1,110 @@
+\section{\class{wxPropertyListValidator}}\label{wxpropertylistvalidator}
+
+The {\bf wxPropertyListValidator} abstract class is the base class for
+deriving validators for property lists.
+
+\wxheading{See also}
+
+\helpref{wxPropertyListValidator overview}{wxpropertylistvalidatoroverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyListValidator::wxPropertyListValidator}
+
+\func{void}{wxPropertyListValidator}{\param{long}{ flags = wxPROP\_ALLOW\_TEXT\_EDITING}}
+
+Constructor.
+
+\membersection{wxPropertyListValidator::\destruct{wxPropertyListValidator}}
+
+\func{void}{\destruct{wxPropertyListValidator}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyListValidator::OnCheckValue}
+
+\func{bool}{OnCheckValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the Tick (Confirm) button is pressed or focus is list. Return FALSE if the value
+was invalid, which is a signal restores the old value. Return TRUE if the value was valid.
+
+\membersection{wxPropertyListValidator::OnClearControls}
+
+\func{bool}{OnClearControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Allows the clearing (enabling, disabling) of property list controls, when the focus leaves the current property.
+
+\membersection{wxPropertyListValidator::OnClearDetailControls}
+
+\func{bool}{OnClearDetailControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the focus is lost, if the validator is in detailed editing mode.
+
+\membersection{wxPropertyListValidator::OnDisplayValue}
+
+\func{bool}{OnDisplayValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Should display the value in the appropriate controls. The default implementation gets the
+textual value from the property and inserts it into the text edit control.
+
+\membersection{wxPropertyListValidator::OnDoubleClick}
+
+\func{bool}{OnDoubleClick}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the property is double clicked. Extra functionality can be provided,
+such as cycling through possible values.
+
+\membersection{wxPropertyListValidator::OnEdit}
+
+\func{bool}{OnEdit}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the Edit (detailed editing) button is pressed. The default implementation
+calls wxPropertyListView::BeginDetailedEditing; a filename validator (for example) overrides
+this function to show the file selector.
+
+\membersection{wxPropertyListValidator::OnPrepareControls}
+
+\func{bool}{OnPrepareControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called to allow the validator to setup the display, such enabling or disabling buttons, and
+setting the values and selection in the standard listbox control (the one optionally used for displaying
+value options).
+
+\membersection{wxPropertyListValidator::OnPrepareDetailControls}
+
+\func{bool}{OnPrepareDetailControls}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the property is edited `in detail', i.e. when the Edit button is pressed.
+
+\membersection{wxPropertyListValidator::OnRetrieveValue}
+
+\func{bool}{OnRetrieveValue}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when Tick (Confirm) is pressed or focus is lost or view wants to update
+the property list. Should do the transfer from the property editing area to the property itself
+
+\membersection{wxPropertyListValidator::OnSelect}
+
+\func{bool}{OnSelect}{\param{bool}{ select}, \param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the property is selected or deselected: typically displays the value
+in the edit control (having chosen a suitable control to display: (non)editable text or listbox).
+
+\membersection{wxPropertyListValidator::OnValueListSelect}
+
+\func{bool}{OnValueListSelect}{\param{wxProperty *}{property}, \param{wxPropertyListView *}{view},
+ \param{wxWindow *}{parentWindow}}
+
+Called when the value listbox is selected. The default behaviour is to copy
+string to text control, and retrieve the value into the property.
+
diff --git a/docs/latex/wx/proplosv.tex b/docs/latex/wx/proplosv.tex
new file mode 100644
index 0000000000..601788a796
--- /dev/null
+++ b/docs/latex/wx/proplosv.tex
@@ -0,0 +1,31 @@
+\section{\class{wxListOfStringsListValidator}}\label{wxlistofstringslistvalidator}
+
+This class validates a list of strings for a list view. When editing the property,
+a dialog box is presented for adding, deleting or editing entries in the list.
+At present no constraints may be supplied.
+
+You can construct a string list property value by constructing a wxStringList object.
+
+For example:
+
+\begin{verbatim}
+ myListValidatorRegistry.RegisterValidator((wxString)"stringlist",
+ new wxListOfStringsListValidator);
+
+ wxStringList *strings = new wxStringList("earth", "fire", "wind", "water", NULL);
+
+ sheet->AddProperty(new wxProperty("fred", strings, "stringlist"));
+\end{verbatim}
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxListOfStringsListValidator::wxListofStringsListValidator}
+
+\func{void}{wxListOfStringsListValidator}{\param{long}{ flags=0}}
+
+Constructor.
+
diff --git a/docs/latex/wx/proplstv.tex b/docs/latex/wx/proplstv.tex
new file mode 100644
index 0000000000..12b95e3dfc
--- /dev/null
+++ b/docs/latex/wx/proplstv.tex
@@ -0,0 +1,111 @@
+\section{\class{wxPropertyListView}}\label{wxpropertylistview}
+
+The {\bf wxPropertyListView} class shows a wxPropertySheet as a Visual Basic-style property list.
+
+\wxheading{See also}
+
+\helpref{wxPropertyListView overview}{wxpropertylistviewoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyListView::wxPropertyListView}
+
+\func{void}{wxPropertyListView}{\param{long}{ flags = wxPROP\_BUTTON\_DEFAULT}}
+
+Constructor.
+
+The {\it flags} argument can be a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxPROP\_BUTTON\_CLOSE
+\item wxPROP\_BUTTON\_OK
+\item wxPROP\_BUTTON\_CANCEL
+\item wxPROP\_BUTTON\_CHECK\_CROSS
+\item wxPROP\_BUTTON\_HELP
+\item wxPROP\_DYNAMIC\_VALUE\_FIELD
+\item wxPROP\_PULLDOWN
+\end{itemize}
+
+\membersection{wxPropertyListView::\destruct{wxPropertyListView}}
+
+\func{void}{\destruct{wxPropertyListView}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyListView::AssociatePanel}\label{wxpropertylistviewassociatepanel}
+
+\func{void}{AssociatePanel}{\param{wxPanel *}{panel}}
+
+Associates the window on which the controls will be displayed, with the view (sets an internal pointer to the window).
+
+\membersection{wxPropertyListView::BeginShowingProperty}\label{wxpropertylistviewbeginshowingproperty}
+
+\func{bool}{BeginShowingProperty}{\param{wxProperty *}{property}}
+
+Finds the appropriate validator and loads the property into the controls, by calling
+wxPropertyValidator::OnPrepareControls and then wxPropertyListView::DisplayProperty.
+
+\membersection{wxPropertyListView::DisplayProperty}\label{wxpropertylistviewdisplayproperty}
+
+\func{bool}{DisplayProperty}{\param{wxProperty *}{property}}
+
+Calls wxPropertyValidator::OnDisplayValue for the current property's validator. This function
+gets called by wxPropertyListView::BeginShowingProperty, which is in turn called
+from ShowProperty, called by OnPropertySelect, called by the listbox callback when selected.
+
+\membersection{wxPropertyListView::EndShowingProperty}\label{wxpropertylistviewendshowingproperty}
+
+\func{bool}{EndShowingProperty}{\param{wxProperty *}{property}}
+
+Finds the appropriate validator and unloads the property from the controls, by calling
+wxPropertyListView::RetrieveProperty, wxPropertyValidator::OnClearControls and (if we're in
+detailed editing mdoe) wxPropertyValidator::OnClearDetailControls.
+
+\membersection{wxPropertyListView::GetPanel}\label{wxpropertylistviewgetpanel}
+
+\func{wxPanel *}{GetPanel}{\void}
+
+Returns the panel associated with the view.
+
+\membersection{wxPropertyListView::GetManagedWindow}\label{wxpropertylistviewgetmanagedwindow}
+
+\func{wxWindow *}{GetManagedWindow}{\void}
+
+Returns the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyListView::GetWindowCancelButton}\label{wxpropertylistviewgetwindowcancelbutton}
+
+\func{wxButton *}{GetWindowCancelButton}{\void}
+
+Returns the window cancel button, if any.
+
+\membersection{wxPropertyListView::GetWindowCloseButton}\label{wxpropertylistviewgetwindowclosebutton}
+
+\func{wxButton *}{GetWindowCloseButton}{\void}
+
+Returns the window close or OK button, if any.
+
+\membersection{wxPropertyListView::GetWindowHelpButton}\label{wxpropertylistviewgetwindowhelpbutton}
+
+\func{wxButton *}{GetWindowHelpButton}{\void}
+
+Returns the window help button, if any.
+
+\membersection{wxPropertyListView::SetManagedWindow}\label{wxpropertylistviewsetmanagedwindow}
+
+\func{void}{SetManagedWindow}{\param{wxWindow *}{win}}
+
+Sets the managed window (a frame or dialog) associated with the view.
+
+\membersection{wxPropertyListView::UpdatePropertyDisplayInList}\label{wxpropertylistviewupdatepropdisplay}
+
+\func{bool}{UpdatePropertyDisplayInList}{\param{wxProperty *}{property}}
+
+Updates the display for the given changed property.
+
+\membersection{wxPropertyListView::UpdatePropertyList}\label{wxpropertylistviewupdateproplist}
+
+\func{bool}{UpdatePropertyList}{\param{bool }{clearEditArea = TRUE}}
+
+Updates the whole property list display.
+
diff --git a/docs/latex/wx/propregv.tex b/docs/latex/wx/propregv.tex
new file mode 100644
index 0000000000..59a87d3cf0
--- /dev/null
+++ b/docs/latex/wx/propregv.tex
@@ -0,0 +1,42 @@
+\section{\class{wxPropertyValidatorRegistry}}\label{wxpropertyvalidatorregistry}
+
+The {\bf wxPropertyValidatorRegistry} class is used for storing validators,
+indexed by the `role name' of the property, by which groups of property
+can be identified for the purpose of validation and editing.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyValidatorRegistry::wxPropertyValidatorRegistry}
+
+\func{void}{wxPropertyValidatorRegistry}{\void}
+
+Constructor.
+
+\membersection{wxPropertyValidatorRegistry::\destruct{wxPropertyValidatorRegistry}}
+
+\func{void}{\destruct{wxPropertyValidatorRegistry}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyValidatorRegistry::Clear}
+
+\func{void}{ClearRegistry}{\void}
+
+Clears the registry, deleting the validators.
+
+\membersection{wxPropertyValidatorRegistry::GetValidator}
+
+\func{wxPropertyValidator *}{GetValidator}{\param{wxString\& }{roleName}}
+
+Retrieve a validator by the property role name.
+
+\membersection{wxPropertyValidatorRegistry::RegisterValidator}\label{wxpropertyvalidatorregistervalidator}
+
+\func{void}{RegisterValidator}{\param{wxString\& }{roleName}, \param{wxPropertyValidator *}{validator}}
+
+Register a validator with the registry. {\it roleName} is a name indicating the
+role of the property, such as ``filename''. Later, when a validator is chosen for
+editing a property, this role name is matched against the class names of the property,
+if the property does not already have a validator explicitly associated with it.
+
+
diff --git a/docs/latex/wx/proprfva.tex b/docs/latex/wx/proprfva.tex
new file mode 100644
index 0000000000..7713336e72
--- /dev/null
+++ b/docs/latex/wx/proprfva.tex
@@ -0,0 +1,17 @@
+\section{\class{wxRealFormValidator}}\label{wxrealformvalidator}
+
+This class validates a range of real values for form views. The associated panel item must be a wxText.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxRealFormValidator::wxRealFormValidator}
+
+\func{void}{wxRealFormValidator}{\param{float }{min=0.0}, \param{float }{max=0.0},
+ \param{long}{ flags=0}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
diff --git a/docs/latex/wx/proprlva.tex b/docs/latex/wx/proprlva.tex
new file mode 100644
index 0000000000..1745a273d0
--- /dev/null
+++ b/docs/latex/wx/proprlva.tex
@@ -0,0 +1,19 @@
+\section{\class{wxRealListValidator}}\label{wxreallistvalidator}
+
+This class validates a range of real values for property lists.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\helpref{wxPropertySheet overview}{wxpropertysheetoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxRealListValidator::wxRealListValidator}
+
+\func{void}{wxRealListValidator}{\param{float }{min=0.0}, \param{float }{max=0.0},
+ \param{long}{ flags=wxPROP\_ALLOW\_TEXT\_EDITING}}
+
+Constructor. Assigning zero to minimum and maximum values indicates that there is no range to check.
+
diff --git a/docs/latex/wx/propsht.tex b/docs/latex/wx/propsht.tex
new file mode 100644
index 0000000000..241c09d6fd
--- /dev/null
+++ b/docs/latex/wx/propsht.tex
@@ -0,0 +1,83 @@
+\section{\class{wxPropertySheet}}\label{wxpropertysheet}
+
+The {\bf wxPropertySheet} class is used for storing a number of
+wxProperty objects (essentially names and values).
+
+\wxheading{See also}
+
+\helpref{wxPropertySheet overview}{wxpropertysheetoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertySheet::wxPropertySheet}
+
+\func{void}{wxPropertySheet}{\param{const wxString}{ name = ""}}
+
+Constructor. Sets property sheet's name to name if present.
+
+\membersection{wxPropertySheet::\destruct{wxPropertySheet}}
+
+\func{void}{\destruct{wxPropertySheet}}{\void}
+
+Destructor. Destroys all contained properties.
+
+\membersection{wxPropertySheet::AddProperty}\label{wxpropertysheetaddproperty}
+
+\func{void}{AddProperty}{\param{wxProperty *}{property}}
+
+Adds a property to the sheet.
+
+\membersection{wxPropertySheet::Clear}\label{wxpropertysheetclear}
+
+\func{void}{Clear}{\void}
+
+Clears all the properties from the sheet (deleting them).
+
+\membersection{wxPropertySheet::GetName}\label{wxpropertysheetgetname}
+
+\func{wxString}{GetName}{\void}
+
+Gets the sheet's name.
+
+\membersection{wxPropertySheet::GetProperty}\label{wxpropertysheetgetproperty}
+
+\func{wxProperty *}{GetProperty}{\param{wxString}{ name}}
+
+Gets a property by name.
+
+\membersection{wxPropertySheet::GetProperties}\label{wxpropertysheetgetproperties}
+
+\func{wxList\&}{GetProperties}{\void}
+
+Returns a reference to the internal list of properties.
+
+\membersection{wxPropertySheet::HasProperty}\label{wxpropertysheethasproperty}
+
+\func{bool}{HasProperty}{\param{wxString}{ propname}}
+
+Returns true if sheet contains property propname.
+
+\membersection{wxPropertySheet::RemoveProperty}\label{wxpropertysheetremoveproperty}
+
+\func{void}{RemoveProperty}{\param{wxString}{ propname}}
+
+Removes property propname from sheet, deleting it.
+
+\membersection{wxPropertySheet::SetName}\label{wxpropertysheetsetname}
+
+\func{void}{SetName}{\param{wxString}{ sheetname}}
+
+Set the sheet's name to sheetname
+
+\membersection{wxPropertySheet::SetProperty}\label{wxpropertysheetsetproperty}
+
+\func{bool}{SetProperty}{\param{wxString}{ propname}, \param{wxPropertyValue}{ value}}
+
+Sets property propname to value. Returns false if property is not a member of sheet.
+
+\membersection{wxPropertySheet::SetAllModified}
+
+\func{void}{SetAllModified}{\param{bool}{ flag}}
+
+Sets the `modified' flag of each property value.
+
diff --git a/docs/latex/wx/propslv.tex b/docs/latex/wx/propslv.tex
new file mode 100644
index 0000000000..cc4f6578dd
--- /dev/null
+++ b/docs/latex/wx/propslv.tex
@@ -0,0 +1,18 @@
+\section{\class{wxStringListValidator}}\label{wxstringlistvalidator}
+
+This class validates a string value, with an optional choice of possible values.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxStringListValidator::wxStringListValidator}
+
+\func{void}{wxStringListValidator}{\param{wxStringList *}{list=NULL}, \param{long}{ flags=0}}
+
+Constructor. Supply a list of strings to indicate a choice, or no strings to allow the
+user to freely edit the string. The string list will be deleted when the validator is deleted.
+
+
diff --git a/docs/latex/wx/propstfv.tex b/docs/latex/wx/propstfv.tex
new file mode 100644
index 0000000000..0a879ab0a9
--- /dev/null
+++ b/docs/latex/wx/propstfv.tex
@@ -0,0 +1,20 @@
+\section{\class{wxStringFormValidator}}\label{wxstringformvalidator}
+
+This class validates a string value for a form view, with an optional choice of possible values.
+The associated panel item must be a wxText, wxListBox or wxChoice. For wxListBox and wxChoice items,
+if the item is empty, the validator attempts to initialize the item from the strings in
+the validator. Note that this does not happen for XView wxChoice items since XView cannot reinitialize a wxChoice.
+
+\wxheading{See also}
+
+\helpref{Validator classes}{proplistvalidatorclasses}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxStringFormValidator::wxStringFormValidator}
+
+\func{void}{wxStringFormValidator}{\param{wxStringList *}{list=NULL}, \param{long}{ flags=0}}
+
+Constructor. Supply a list of strings to indicate a choice, or no strings to allow the
+user to freely edit the string. The string list will be deleted when the validator is deleted.
+
diff --git a/docs/latex/wx/propval.tex b/docs/latex/wx/propval.tex
new file mode 100644
index 0000000000..1abe60958e
--- /dev/null
+++ b/docs/latex/wx/propval.tex
@@ -0,0 +1,242 @@
+\section{\class{wxPropertyValue}}\label{wxpropertyvalue}
+
+The {\bf wxPropertyValue} class represents the value of a property,
+and is normally associated with a wxProperty object.
+
+A wxPropertyValue has one of the following types:
+
+\begin{itemize}\itemsep=0pt
+\item wxPropertyValueNull
+\item wxPropertyValueInteger
+\item wxPropertyValueReal
+\item wxPropertyValueBool
+\item wxPropertyValueString
+\item wxPropertyValueList
+\item wxPropertyValueIntegerPtr
+\item wxPropertyValueRealPtr
+\item wxPropertyValueBoolPtr
+\item wxPropertyValueStringPtr
+\end{itemize}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyValue::wxPropertyValue}
+
+\func{void}{wxPropertyValue}{\void}
+
+Default constructor.
+
+\func{void}{wxPropertyValue}{\param{const wxPropertyValue\& }{copyFrom}}
+
+Copy constructor.
+
+\func{void}{wxPropertyValue}{\param{char *}{val}}
+
+Construction from a string value.
+
+\func{void}{wxPropertyValue}{\param{long}{ val}}
+
+Construction from an integer value. You may need to cast to (long) to
+avoid confusion with other constructors (such as the bool constructor).
+
+\func{void}{wxPropertyValue}{\param{bool}{ val}}
+
+Construction from a boolean value.
+
+\func{void}{wxPropertyValue}{\param{float}{ val}}
+
+Construction from a floating point value.
+
+\func{void}{wxPropertyValue}{\param{double}{ val}}
+
+Construction from a floating point value.
+
+\func{void}{wxPropertyValue}{\param{wxList *}{ val}}
+
+Construction from a list of wxPropertyValue objects. The
+list, but not each contained wxPropertyValue, will be deleted
+by the constructor. The wxPropertyValues will be assigned to
+this wxPropertyValue list. In other words, so do not delete wxList or
+its data after calling this constructor.
+
+\func{void}{wxPropertyValue}{\param{wxStringList *}{ val}}
+
+Construction from a list of strings. The list (including the strings
+contained in it) will be deleted by the constructor, so do not
+destroy {\it val} explicitly.
+
+\func{void}{wxPropertyValue}{\param{char **}{val}}
+
+Construction from a string pointer.
+
+\func{void}{wxPropertyValue}{\param{long *}{val}}
+
+Construction from an integer pointer.
+
+\func{void}{wxPropertyValue}{\param{bool *}{val}}
+
+Construction from an boolean pointer.
+
+\func{void}{wxPropertyValue}{\param{float *}{val}}
+
+Construction from a floating point pointer.
+
+The last four constructors use pointers to various C++ types, and do not
+store the types themselves; this allows the values to stand in for actual
+data values defined elsewhere.
+
+\membersection{wxPropertyValue::\destruct{wxPropertyValue}}
+
+\func{void}{\destruct{wxPropertyValue}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyValue::Append}
+
+\func{void}{Append}{\param{wxPropertyValue *}{expr}}
+
+Appends a property value to the list.
+
+\membersection{wxPropertyValue::BoolValue}
+
+\func{bool}{BoolValue}{\void}
+
+Returns the boolean value.
+
+\membersection{wxPropertyValue::BoolValuePtr}
+
+\func{bool *}{BoolValuePtr}{\void}
+
+Returns the pointer to the boolean value.
+
+\membersection{wxPropertyValue::ClearList}
+
+\func{void}{ClearList}{\void}
+
+Deletes the contents of the list.
+
+\membersection{wxPropertyValue::Delete}
+
+\func{void}{Delete}{\param{wxPropertyValue *}{expr}}
+
+Deletes {\it expr} from this list.
+
+\membersection{wxPropertyValue::GetFirst}
+
+\func{wxPropertyValue *}{GetFirst}{\void}
+
+Gets the first value in the list.
+
+\membersection{wxPropertyValue::GetLast}
+
+\func{wxPropertyValue *}{GetFirst}{\void}
+
+Gets the last value in the list.
+
+\membersection{wxPropertyValue::GetModified}
+
+\func{bool}{GetModified}{\void}
+
+Returns TRUE if the value was modified since being created
+(or since SetModified was called).
+
+\membersection{wxPropertyValue::GetNext}
+
+\func{wxPropertyValue *}{GetNext}{\void}
+
+Gets the next value in the list (the one after `this').
+
+\membersection{wxPropertyValue::GetStringRepresentation}
+
+\func{wxString}{GetStringRepresentation}{\void}
+
+Gets a string representation of the value.
+
+\membersection{wxPropertyValue::IntegerValue}
+
+\func{long}{IntegerValue}{\void}
+
+Returns the integer value.
+
+\membersection{wxPropertyValue::Insert}
+
+\func{void}{Insert}{\param{wxPropertyValue *}{expr}}
+
+Inserts a property value at the front of a list.
+
+\membersection{wxPropertyValue::IntegerValuePtr}
+
+\func{long *}{IntegerValuePtr}{\void}
+
+Returns the pointer to the integer value.
+
+\membersection{wxPropertyValue::Nth}
+
+\func{wxPropertyValue *}{Nth}{\param{int}{ n}}
+
+Returns the nth value of a list expression (starting from zero).
+
+\membersection{wxPropertyValue::Number}
+
+\func{int}{Number}{\void}
+
+Returns the number of elements in a list expression.
+
+\membersection{wxPropertyValue::RealValue}
+
+\func{float}{RealValue}{\void}
+
+Returns the floating point value.
+
+\membersection{wxPropertyValue::RealValuePtr}
+
+\func{float *}{RealValuePtr}{\void}
+
+Returns the pointer to the floating point value.
+
+\membersection{wxPropertyValue::SetModified}
+
+\func{void}{SetModified}{\param{bool}{ flag}}
+
+Sets the `modified' flag.
+
+\membersection{wxPropertyValue::StringValue}
+
+\func{char *}{StringValue}{\void}
+
+Returns the string value.
+
+\membersection{wxPropertyValue::StringValuePtr}
+
+\func{char **}{StringValuePtr}{\void}
+
+Returns the pointer to the string value.
+
+\membersection{wxPropertyValue::Type}
+
+\func{wxPropertyValueType}{Type}{\void}
+
+Returns the value type.
+
+\membersection{wxPropertyValue::operator $=$}
+
+\func{void}{operator $=$}{\param{const wxPropertyValue\& }{val}}
+
+\func{void}{operator $=$}{\param{const char *}{val}}
+
+\func{void}{operator $=$}{\param{const long }{val}}
+
+\func{void}{operator $=$}{\param{const bool }{val}}
+
+\func{void}{operator $=$}{\param{const float }{val}}
+
+\func{void}{operator $=$}{\param{const char **}{val}}
+
+\func{void}{operator $=$}{\param{const long *}{val}}
+
+\func{void}{operator $=$}{\param{const bool *}{val}}
+
+\func{void}{operator $=$}{\param{const float *}{val}}
+
+Assignment operators.
+
diff --git a/docs/latex/wx/propvald.tex b/docs/latex/wx/propvald.tex
new file mode 100644
index 0000000000..69404e4cd2
--- /dev/null
+++ b/docs/latex/wx/propvald.tex
@@ -0,0 +1,41 @@
+\section{\class{wxPropertyValidator}}\label{wxpropertyvalidator}
+
+The {\bf wxPropertyValidator} abstract class is the base class for deriving
+validators for properties.
+
+\wxheading{See also}
+
+\helpref{wxPropertyValidator overview}{wxpropertyvalidatoroverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyValidator::wxPropertyValidator}
+
+\func{void}{wxPropertyValidator}{\param{long}{ flags = 0}}
+
+Constructor.
+
+\membersection{wxPropertyValidator::\destruct{wxPropertyValidator}}
+
+\func{void}{\destruct{wxPropertyValidator}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyValidator::GetFlags}
+
+\func{long}{GetFlags}{\void}
+
+Returns the flags for the validator.
+
+\membersection{wxPropertyValidator::GetValidatorProperty}
+
+\func{wxProperty *}{GetValidatorProperty}{\void}
+
+Gets the property for the validator.
+
+\membersection{wxPropertyValidator::SetValidatorProperty}
+
+\func{void}{SetValidatorProperty}{\param{wxProperty *}{property}}
+
+Sets the property for the validator.
+
diff --git a/docs/latex/wx/propview.tex b/docs/latex/wx/propview.tex
new file mode 100644
index 0000000000..4d21ae041d
--- /dev/null
+++ b/docs/latex/wx/propview.tex
@@ -0,0 +1,111 @@
+\section{\class{wxPropertyView}}\label{wxpropertyview}
+
+The {\bf wxPropertyView} abstract class is the base class for views
+of property sheets, acting as intermediaries between properties and
+actual windows.
+
+\wxheading{See also}
+
+\helpref{wxPropertyView overview}{wxpropertyviewoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxPropertyView::wxPropertyView}
+
+\func{void}{wxPropertyView}{\param{long}{ flags = wxPROP\_BUTTON\_DEFAULT}}
+
+Constructor.
+
+The {\it flags} argument can be a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxPROP\_BUTTON\_CLOSE
+\item wxPROP\_BUTTON\_OK
+\item wxPROP\_BUTTON\_CANCEL
+\item wxPROP\_BUTTON\_CHECK\_CROSS
+\item wxPROP\_BUTTON\_HELP
+\item wxPROP\_DYNAMIC\_VALUE\_FIELD
+\item wxPROP\_PULLDOWN
+\end{itemize}
+
+\membersection{wxPropertyView::\destruct{wxPropertyView}}
+
+\func{void}{\destruct{wxPropertyView}}{\void}
+
+Destructor.
+
+\membersection{wxPropertyView::AddRegistry}\label{wxpropertyviewaddregistry}
+
+\func{void}{AddRegistry}{\param{wxPropertyValidatorRegistry *}{registry}}
+
+Adds a registry (list of property validators) the view's list of registries, which is initially empty.
+
+\membersection{wxPropertyView::FindPropertyValidator}\label{wxpropertyviewfindpropertyvalidator}
+
+\func{wxPropertyValidator *}{FindPropertyValidator}{\param{wxProperty *}{property}}
+
+Finds the property validator that is most appropriate to this property.
+
+\membersection{wxPropertyView::GetPropertySheet}\label{wxpropertyviewgetpropertysheet}
+
+\func{wxPropertySheet *}{GetPropertySheet}{\void}
+
+Gets the property sheet for this view.
+
+\membersection{wxPropertyView::GetRegistryList}\label{wxpropertyviewgetregistrylist}
+
+\func{wxList\&}{GetRegistryList}{\void}
+
+Returns a reference to the list of property validator registries.
+
+\membersection{wxPropertyView::OnOk}\label{wxpropertyviewonok}
+
+\func{void}{OnOk}{\void}
+
+Virtual function that will be called when the OK button on the physical window is pressed (if it exists).
+
+\membersection{wxPropertyView::OnCancel}\label{wxpropertyviewoncancel}
+
+\func{void}{OnCancel}{\void}
+
+Virtual function that will be called when the Cancel button on the physical window is pressed (if it exists).
+
+\membersection{wxPropertyView::OnClose}\label{wxpropertyviewonclose}
+
+\func{bool}{OnClose}{\void}
+
+Virtual function that will be called when the physical window is closed. The default implementation returns FALSE.
+
+\membersection{wxPropertyView::OnHelp}\label{wxpropertyviewonhelp}
+
+\func{void}{OnHelp}{\void}
+
+Virtual function that will be called when the Help button on the physical window is pressed (if it exists).
+
+\membersection{wxPropertyView::OnPropertyChanged}\label{wxpropertyviewonpropertychanged}
+
+\func{void}{OnPropertyChanged}{\param{wxProperty *}{property}}
+
+Virtual function called by a view or validator when a property's value changed. Validators
+must be written correctly for this to be called. You can override this function
+to respond immediately to property value changes.
+
+\membersection{wxPropertyView::OnUpdateView}\label{wxpropertyviewonupdateview}
+
+\func{bool}{OnUpdateView}{\void}
+
+Called by the viewed object to update the view. The default implementation just returns
+FALSE.
+
+\membersection{wxPropertyView::SetPropertySheet}\label{wxpropertyviewsetpropertysheet}
+
+\func{void}{SetPropertySheet}{\param{wxPropertySheet *}{sheet}}
+
+Sets the property sheet for this view.
+
+\membersection{wxPropertyView::ShowView}\label{wxpropertyviewshowview}
+
+\func{void}{ShowView}{\param{wxPropertySheet *}{sheet}, \param{wxPanel *}{panel}}
+
+Associates this view with the given panel, and shows the view.
+
diff --git a/docs/latex/wx/strmfile.tex b/docs/latex/wx/strmfile.tex
new file mode 100644
index 0000000000..02ea7fa19a
--- /dev/null
+++ b/docs/latex/wx/strmfile.tex
@@ -0,0 +1,300 @@
+% -----------------------------------------------------------------------------
+% wxFileInputStream
+% -----------------------------------------------------------------------------
+\section{\class{wxFileInputStream}}\label{wxfileinputstream}
+
+This class represents data read in from a file. There are actually
+two such groups of classes: this one is based on \helpref{wxFile}{wxfile}
+whereas \helpref{wxFFileInputStream}{wxffileinputstream} is based in
+the \helpref{wxFFile}{wxffile} class.
+
+Note that \helpref{wxFile}{wxfile} and \helpref{wxFFile}{wxffile} differ
+in one aspect, namely when to report that the end of the file has been
+reached. This is documented in \helpref{wxFile::Eof}{wxfileeof} and
+\helpref{wxFFile::Eof}{wxffileeof} and the behaviour of the stream
+classes reflects this difference, i.e. wxFileInputStream will report
+wxSTREAM\_EOF after having read the last byte whereas wxFFileInputStream
+will report wxSTREAM\_EOF after trying to read {\it past} the last byte.
+
+\wxheading{Derived from}
+
+\helpref{wxInputStream}{wxinputstream}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxBufferedInputStream}{wxbufferedinputstream}, \helpref{wxFileOutputStream}{wxfileoutputstream}, \helpref{wxFFileOutputStream}{wxffileoutputstream}
+
+% ----------
+% Members
+% ----------
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFileInputStream::wxFileInputStream}
+
+\func{}{wxFileInputStream}{\param{const wxString\&}{ ifileName}}
+
+Opens the specified file using its {\it ifilename} name in read-only mode.
+
+\func{}{wxFileInputStream}{\param{wxFile\&}{ file}}
+
+Initializes a file stream in read-only mode using the file I/O object {\it file}.
+
+\func{}{wxFileInputStream}{\param{int}{ fd}}
+
+Initializes a file stream in read-only mode using the specified file descriptor.
+
+\membersection{wxFileInputStream::\destruct{wxFileInputStream}}
+
+\func{}{\destruct{wxFileInputStream}}{\void}
+
+Destructor.
+
+\membersection{wxFileInputStream::Ok}
+
+\constfunc{bool}{Ok}{\void}
+
+Returns TRUE if the stream is initialized and ready.
+
+% -----------------------------------------------------------------------------
+% wxFileOutputStream
+% -----------------------------------------------------------------------------
+\section{\class{wxFileOutputStream}}\label{wxfileoutputstream}
+
+This class represents data written to a file. There are actually
+two such groups of classes: this one is based on \helpref{wxFile}{wxfile}
+whereas \helpref{wxFFileInputStream}{wxffileinputstream} is based in
+the \helpref{wxFFile}{wxffile} class.
+
+Note that \helpref{wxFile}{wxfile} and \helpref{wxFFile}{wxffile} differ
+in one aspect, namely when to report that the end of the file has been
+reached. This is documented in \helpref{wxFile::Eof}{wxfileeof} and
+\helpref{wxFFile::Eof}{wxffileeof} and the behaviour of the stream
+classes reflects this difference, i.e. wxFileInputStream will report
+wxSTREAM\_EOF after having read the last byte whereas wxFFileInputStream
+will report wxSTREAM\_EOF after trying to read {\it past} the last byte.
+
+\wxheading{Derived from}
+
+\helpref{wxOutputStream}{wxoutputstream}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxBufferedOutputStream}{wxbufferedoutputstream}, \helpref{wxFileInputStream}{wxfileinputstream}, \helpref{wxFFileInputStream}{wxffileinputstream}
+
+% ----------
+% Members
+% ----------
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFileOutputStream::wxFileOutputStream}
+
+\func{}{wxFileOutputStream}{\param{const wxString\&}{ ofileName}}
+
+Creates a new file with {\it ofilename} name and initializes the stream in
+write-only mode.
+
+\func{}{wxFileOutputStream}{\param{wxFile\&}{ file}}
+
+Initializes a file stream in write-only mode using the file I/O object {\it file}.
+
+\func{}{wxFileOutputStream}{\param{int}{ fd}}
+
+Initializes a file stream in write-only mode using the file descriptor {\it fd}.
+
+\membersection{wxFileOutputStream::\destruct{wxFileOutputStream}}
+
+\func{}{\destruct{wxFileOutputStream}}{\void}
+
+Destructor.
+
+\membersection{wxFileOutputStream::Ok}
+
+\constfunc{bool}{Ok}{\void}
+
+Returns TRUE if the stream is initialized and ready.
+
+% -----------------------------------------------------------------------------
+% wxFileStream
+% -----------------------------------------------------------------------------
+\section{\class{wxFileStream}}
+
+\wxheading{Derived from}
+
+\helpref{wxFileOutputStream}{wxFileOutputStream}, \helpref{wxFileInputStream}{wxfileinputstream}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxStreamBuffer}{wxstreamBuffer}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFileStream::wxFileStream}
+
+\func{}{wxFileStream}{\param{const wxString\&}{ iofileName}}
+
+Initializes a new file stream in read-write mode using the specified
+{\it iofilename} name.
+
+
+% -----------------------------------------------------------------------------
+% wxFFileInputStream
+% -----------------------------------------------------------------------------
+\section{\class{wxFFileInputStream}}\label{wxffileinputstream}
+
+This class represents data read in from a file. There are actually
+two such groups of classes: this one is based on \helpref{wxFFile}{wxffile}
+whereas \helpref{wxFileInputStream}{wxfileinputstream} is based in
+the \helpref{wxFile}{wxfile} class.
+
+Note that \helpref{wxFile}{wxfile} and \helpref{wxFFile}{wxffile} differ
+in one aspect, namely when to report that the end of the file has been
+reached. This is documented in \helpref{wxFile::Eof}{wxfileeof} and
+\helpref{wxFFile::Eof}{wxffileeof} and the behaviour of the stream
+classes reflects this difference, i.e. wxFileInputStream will report
+wxSTREAM\_EOF after having read the last byte whereas wxFFileInputStream
+will report wxSTREAM\_EOF after trying to read {\it past} the last byte.
+
+\wxheading{Derived from}
+
+\helpref{wxInputStream}{wxinputstream}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxBufferedInputStream}{wxbufferedinputstream}, \helpref{wxFFileOutputStream}{wxffileoutputstream}, \helpref{wxFileOutputStream}{wxfileoutputstream}
+
+% ----------
+% Members
+% ----------
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFFileInputStream::wxFFileInputStream}
+
+\func{}{wxFFileInputStream}{\param{const wxString\&}{ ifileName}}
+
+Opens the specified file using its {\it ifilename} name in read-only mode.
+
+\func{}{wxFFileInputStream}{\param{wxFFile\&}{ file}}
+
+Initializes a file stream in read-only mode using the file I/O object {\it file}.
+
+\func{}{wxFFileInputStream}{\param{FILE *}{ fp}}
+
+Initializes a file stream in read-only mode using the specified file pointer {\it fp}.
+
+\membersection{wxFFileInputStream::\destruct{wxFFileInputStream}}
+
+\func{}{\destruct{wxFFileInputStream}}{\void}
+
+Destructor.
+
+\membersection{wxFFileInputStream::Ok}
+
+\constfunc{bool}{Ok}{\void}
+
+Returns TRUE if the stream is initialized and ready.
+
+% -----------------------------------------------------------------------------
+% wxFFileOutputStream
+% -----------------------------------------------------------------------------
+\section{\class{wxFFileOutputStream}}\label{wxffileoutputstream}
+
+This class represents data written to a file. There are actually
+two such groups of classes: this one is based on \helpref{wxFFile}{wxffile}
+whereas \helpref{wxFileInputStream}{wxffileinputstream} is based in
+the \helpref{wxFile}{wxfile} class.
+
+Note that \helpref{wxFile}{wxfile} and \helpref{wxFFile}{wxffile} differ
+in one aspect, namely when to report that the end of the file has been
+reached. This is documented in \helpref{wxFile::Eof}{wxfileeof} and
+\helpref{wxFFile::Eof}{wxffileeof} and the behaviour of the stream
+classes reflects this difference, i.e. wxFileInputStream will report
+wxSTREAM\_EOF after having read the last byte whereas wxFFileInputStream
+will report wxSTREAM\_EOF after trying to read {\it past} the last byte.
+
+\wxheading{Derived from}
+
+\helpref{wxOutputStream}{wxoutputstream}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxBufferedOutputStream}{wxbufferedoutputstream}, \helpref{wxFFileInputStream}{wxffileinputstream}, \helpref{wxFileInputStream}{wxfileinputstream}
+
+% ----------
+% Members
+% ----------
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFFileOutputStream::wxFFileOutputStream}
+
+\func{}{wxFFileOutputStream}{\param{const wxString\&}{ ofileName}}
+
+Creates a new file with {\it ofilename} name and initializes the stream in
+write-only mode.
+
+\func{}{wxFFileOutputStream}{\param{wxFFile\&}{ file}}
+
+Initializes a file stream in write-only mode using the file I/O object {\it file}.
+
+\func{}{wxFFileOutputStream}{\param{FILE *}{ fp}}
+
+Initializes a file stream in write-only mode using the file descriptor {\it fp}.
+
+\membersection{wxFFileOutputStream::\destruct{wxFFileOutputStream}}
+
+\func{}{\destruct{wxFFileOutputStream}}{\void}
+
+Destructor.
+
+\membersection{wxFFileOutputStream::Ok}
+
+\constfunc{bool}{Ok}{\void}
+
+Returns TRUE if the stream is initialized and ready.
+
+% -----------------------------------------------------------------------------
+% wxFFileStream
+% -----------------------------------------------------------------------------
+\section{\class{wxFFileStream}}
+
+\wxheading{Derived from}
+
+\helpref{wxFFileOutputStream}{wxFFileOutputStream}, \helpref{wxFFileInputStream}{wxffileinputstream}
+
+\wxheading{Include files}
+
+
+
+\wxheading{See also}
+
+\helpref{wxStreamBuffer}{wxstreamBuffer}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxFFileStream::wxFFileStream}
+
+\func{}{wxFFileStream}{\param{const wxString\&}{ iofileName}}
+
+Initializes a new file stream in read-write mode using the specified
+{\it iofilename} name.
+
+
diff --git a/docs/latex/wx/time.tex b/docs/latex/wx/time.tex
new file mode 100644
index 0000000000..879462222c
--- /dev/null
+++ b/docs/latex/wx/time.tex
@@ -0,0 +1,230 @@
+\section{\class{wxTime}}\label{wxtime}
+
+Representation of time and date.
+
+{\bf NOTE:} this class is retained only for compatibility,
+and has been replaced by \helpref{wxDateTime}{wxdatetime}. wxTime
+may be withdrawn in future versions of wxWindows.
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+
+
+\wxheading{Data structures}
+
+\begin{verbatim}
+typedef unsigned short hourTy;
+typedef unsigned short minuteTy;
+typedef unsigned short secondTy;
+typedef unsigned long clockTy;
+enum tFormat { wx12h, wx24h };
+enum tPrecision { wxStdMinSec, wxStdMin };
+\end{verbatim}
+
+\wxheading{See also}
+
+\helpref{wxDate}{wxDate}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxTime::wxTime}\label{wxtimewxtime}
+
+\func{}{wxTime}{\void}
+
+Initialize the object using the current time.
+
+\func{}{wxTime}{\param{clockTy }{s}}
+
+Initialize the object using the number of seconds that have elapsed since ???.
+
+\func{}{wxTime}{\param{const wxTime\&}{ time}}
+
+Copy constructor.
+
+\func{}{wxTime}{\param{hourTy }{h}, \param{minuteTy }{m}, \param{secondTy }{s = 0}, \param{bool }{dst = FALSE}}
+
+Initialize using hours, minutes, seconds, and whether DST time.
+
+\func{}{wxTime}{\param{const wxDate\&}{ date}, \param{hourTy }{h = 0}, \param{minuteTy }{m = 0}, \param{secondTy }{s = 0}, \param{bool }{dst = FALSE}}
+
+Initialize using a \helpref{wxDate}{wxdate} object, hours, minutes, seconds, and whether DST time.
+
+\membersection{wxTime::GetDay}\label{wxtimegetday}
+
+\constfunc{int}{GetDay}{\void}
+
+Returns the day of the month.
+
+\membersection{wxTime::GetDayOfWeek}\label{wxtimegetdatofweek}
+
+\constfunc{int}{GetDayOfWeek}{\void}
+
+Returns the day of the week, a number from 0 to 6 where 0 is Sunday and 6 is Saturday.
+
+\membersection{wxTime::GetHour}\label{wxtimegethour}
+
+\constfunc{hourTy}{GetHour}{\void}
+
+Returns the hour in local time.
+
+\membersection{wxTime::GetHourGMT}\label{wxtimegethourgmt}
+
+\constfunc{hourTy}{GetHourGMT}{\void}
+
+Returns the hour in GMT.
+
+\membersection{wxTime::GetMinute}\label{wxtimegetminute}
+
+\constfunc{minuteTy}{GetMinute}{\void}
+
+Returns the minute in local time.
+
+\membersection{wxTime::GetMinuteGMT}\label{wxtimegetminutegmt}
+
+\constfunc{minuteTy}{GetMinuteGMT}{\void}
+
+Returns the minute in GMT.
+
+\membersection{wxTime::GetMonth}\label{wxtimegetmonth}
+
+\constfunc{int}{GetMonth}{\void}
+
+Returns the month.
+
+\membersection{wxTime::GetSecond}\label{wxtimegetsecond}
+
+\constfunc{secondTy}{GetSecond}{\void}
+
+Returns the second in local time or GMT.
+
+\membersection{wxTime::GetSecondGMT}\label{wxtimegetsecondgmt}
+
+\constfunc{secondTy}{GetSecondGMT}{\void}
+
+Returns the second in GMT.
+
+\membersection{wxTime::GetSeconds}\label{wxtimegetseconds}
+
+\constfunc{clockTy}{GetSeconds}{\void}
+
+Returns the number of seconds since ???.
+
+\membersection{wxTime::GetYear}\label{wxtimegetyear}
+
+\constfunc{int}{GetYear}{\void}
+
+Returns the year.
+
+\membersection{wxTime::FormatTime}\label{wxtimeformattime}
+
+\constfunc{char*}{FormatTime}{\void}
+
+Formats the time according to the current formatting options: see \helpref{wxTime::SetFormat}{wxtimesetformat}.
+
+\membersection{wxTime::IsBetween}\label{wxtimeisbetween}
+
+\constfunc{bool}{IsBetween}{\param{const wxTime\& }{a}, \param{const wxTime\& }{b}}
+
+Returns TRUE if this time is between the two given times.
+
+\membersection{wxTime::Max}\label{wxtimemax}
+
+\constfunc{wxTime}{Max}{\param{const wxTime\& }{time}}
+
+Returns the maximum of the two times.
+
+\membersection{wxTime::Min}\label{wxtimemin}
+
+\constfunc{wxTime}{Min}{\param{const wxTime\& }{time}}
+
+Returns the minimum of the two times.
+
+\membersection{wxTime::SetFormat}\label{wxtimesetformat}
+
+\func{static void}{SetFormat}{\param{const tFormat}{ format = wx12h},
+ \param{const tPrecision}{ precision = wxStdMinSec}}
+
+Sets the format and precision.
+
+\membersection{wxTime::operator char*}\label{wxtimestring}
+
+\func{operator}{char*}{\void}
+
+Returns a pointer to a static char* containing the formatted time.
+
+\membersection{wxTime::operator wxDate}\label{wxtimewxdate}
+
+\constfunc{operator}{wxDate}{\void}
+
+Converts the wxTime into a wxDate.
+
+\membersection{wxTime::operator $=$}\label{wxtimeoperator}
+
+\func{void}{operator $=$}{\param{const wxTime\& }{t}}
+
+Assignment operator.
+
+\membersection{wxTime::operator $<$}\label{wxtimeoperatorle}
+
+\constfunc{bool}{operator $<$}{\param{const wxTime\& }{t}}
+
+Less than operator.
+
+\membersection{wxTime::operator $<=$}\label{wxtimeoperatorleq}
+
+\constfunc{bool}{operator $<=$}{\param{const wxTime\& }{t}}
+
+Less than or equal to operator.
+
+\membersection{wxTime::operator $>$}\label{wxtimeoperatorge}
+
+\constfunc{bool}{operator $>$}{\param{const wxTime\& }{t}}
+
+Greater than operator.
+
+\membersection{wxTime::operator $>=$}\label{wxtimeoperatorgeq}
+
+\constfunc{bool}{operator $>=$}{\param{const wxTime\& }{t}}
+
+Greater than or equal to operator.
+
+\membersection{wxTime::operator $==$}\label{wxtimeoperatoreq}
+
+\constfunc{bool}{operator $==$}{\param{const wxTime\& }{t}}
+
+Equality operator.
+
+\membersection{wxTime::operator $!=$}\label{wxtimeoperatorneq}
+
+\constfunc{bool}{operator $!=$}{\param{const wxTime\& }{t}}
+
+Inequality operator.
+
+\membersection{wxTime::operator $+$}\label{wxtimeoperatorplus}
+
+\constfunc{bool}{operator $+$}{\param{long }{sec}}
+
+Addition operator.
+
+\membersection{wxTime::operator $-$}\label{wxtimeoperatorminus}
+
+\constfunc{bool}{operator $-$}{\param{long }{sec}}
+
+Subtraction operator.
+
+\membersection{wxTime::operator $+=$}\label{wxtimeoperatorpluseq}
+
+\constfunc{bool}{operator $+=$}{\param{long }{sec}}
+
+Increment operator.
+
+\membersection{wxTime::operator $-=$}\label{wxtimeoperatorminuseq}
+
+\constfunc{bool}{operator $-=$}{\param{long }{sec}}
+
+Decrement operator.
+
diff --git a/docs/latex/wx/treelay.tex b/docs/latex/wx/treelay.tex
new file mode 100644
index 0000000000..0594f8c797
--- /dev/null
+++ b/docs/latex/wx/treelay.tex
@@ -0,0 +1,327 @@
+\section{\class{wxTreeLayout}}\label{wxtreelayout}
+
+wxTreeLayout provides layout of simple trees with one root node, drawn left-to-right,
+with user-defined spacing between nodes.
+
+wxTreeLayout is an abstract class that must be subclassed. The programmer
+defines various member functions which will access whatever data structures
+are appropriate for the application, and wxTreeLayout uses these when laying
+out the tree.
+
+Nodes are identified by long integer identifiers. The derived class
+communicates the actual tree structure to wxTreeLayout by defining \helpref{wxTreeLayout::GetChildren}{wxtreelayoutgetchildren}\rtfsp
+and \helpref{wxTreeLayout::GetNodeParent}{wxtreelayoutgetnodeparent} functions.
+
+The application should call \helpref{wxTreeLayout::DoLayout}{wxtreelayoutdolayout} to do the tree
+layout. Depending on how the derived class has been defined, either
+\rtfsp\helpref{wxTreeLayout::Draw}{wxtreelayoutdraw} must be called (for example by the OnPaint member
+of a wxScrolledWindow) or the application-defined drawing code should be called
+as normal.
+
+For example, if you have an image drawing system already defined, you
+may want wxTreeLayout to position existing node images in that system. So you
+just need a way for wxTreeLayout to set the node image positions according to
+the layout algorithm, and the rest will be done by your own image drawing
+system.
+
+The algorithm is due to Gabriel Robins \cite{robins87}, a linear-time
+algorithm originally implemented in LISP for AI applications.
+
+The original algorithm has been modified so that both X and Y planes
+are calculated simultaneously, increasing efficiency slightly. The basic
+code is only a page or so long.
+
+\helponly{Below is the example tree generated by the program test.cc.
+
+\begin{figure}
+$$\image{11cm;0cm}{treetst.ps}$$
+\caption{Example tree}\label{exampletree}
+\end{figure}
+}
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See also}
+
+\helpref{wxTreeLayoutStored}{wxtreelayoutstored}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxTreeLayout::wxTreeLayout}
+
+\func{}{wxTreeLayout}{\void}
+
+Constructor.
+
+\membersection{wxTreeLayout::ActivateNode}\label{wxtreelayoutactivatenode}
+
+\func{void}{ActivateNode}{\param{long}{ id}, \param{bool }{active}}
+
+Define this so wxTreeLayout can turn nodes on and off for drawing purposes
+(not all nodes may be connected in the tree). See also \helpref{wxTreeLayout::NodeActive}{wxtreelayoutnodeactive}.
+
+\membersection{wxTreeLayout::CalcLayout}
+
+\func{void}{CalcLayout}{\param{long}{ id}, \param{int}{ level}}
+
+Private function for laying out a branch.
+
+\membersection{wxTreeLayout::DoLayout}\label{wxtreelayoutdolayout}
+
+\func{void}{DoLayout}{\param{wxDC\&}{ dc}, \param{long}{ topNode = -1}}
+
+Calculates the layout for the tree, optionally specifying the top node.
+
+\membersection{wxTreeLayout::Draw}\label{wxtreelayoutdraw}
+
+\func{void}{Draw}{\param{wxDC\&}{ dc}}
+
+Call this to let wxTreeLayout draw the tree itself, once the layout has been
+calculated with \helpref{wxTreeLayout::DoLayout}{wxtreelayoutdolayout}.
+
+\membersection{wxTreeLayout::DrawBranch}
+
+\func{void}{DrawBranch}{\param{long}{ from}, \param{long}{ to}, \param{wxDC\&}{ dc}}
+
+Defined by wxTreeLayout to draw an arc between two nodes.
+
+\membersection{wxTreeLayout::DrawBranches}
+
+\func{void}{DrawBranches}{\param{wxDC\&}{ dc}}
+
+Defined by wxTreeLayout to draw the arcs between nodes.
+
+\membersection{wxTreeLayout::DrawNode}
+
+\func{void}{DrawNode}{\param{long}{ id}, \param{wxDC\&}{ dc}}
+
+Defined by wxTreeLayout to draw a node.
+
+\membersection{wxTreeLayout::DrawNodes}
+
+\func{void}{DrawNodes}{\param{wxDC\&}{ dc}}
+
+Defined by wxTreeLayout to draw the nodes.
+
+\membersection{wxTreeLayout::GetChildren}\label{wxtreelayoutgetchildren}
+
+\func{void}{GetChildren}{\param{long}{ id}, \param{wxList \&}{list}}
+
+Must be defined to return the children of node {\it id} in the given list
+of integers.
+
+\membersection{wxTreeLayout::GetNextNode}\label{wxtreelayoutgetnextnode}
+
+\func{long}{GetNextNode}{\param{long}{ id}}
+
+Must be defined to return the next node after {\it id}, so that wxTreeLayout can
+iterate through all relevant nodes. The ordering is not important.
+The function should return -1 if there are no more nodes.
+
+\membersection{wxTreeLayout::GetNodeName}
+
+\constfunc{wxString}{GetNodeName}{\param{long}{ id}}
+
+May optionally be defined to get a node's name (for example if leaving
+the drawing to wxTreeLayout).
+
+\membersection{wxTreeLayout::GetNodeSize}
+
+\constfunc{void}{GetNodeSize}{\param{long}{ id}, \param{long*}{ x}, \param{long*}{ y}}
+
+Can be defined to indicate a node's size, or left to wxTreeLayout to use the
+name as an indication of size.
+
+\membersection{wxTreeLayout::GetNodeParent}\label{wxtreelayoutgetnodeparent}
+
+\constfunc{long}{GetNodeParent}{\param{long}{ id}}
+
+Must be defined to return the parent node of {\it id}.
+The function should return -1 if there is no parent.
+
+\membersection{wxTreeLayout::GetNodeX}
+
+\constfunc{long}{GetNodeX}{\param{long}{ id}}
+
+Must be defined to return the current X position of the node. Note that
+coordinates are assumed to be at the top-left of the node so some conversion
+may be necessary for your application.
+
+\membersection{wxTreeLayout::GetNodeY}
+
+\constfunc{long}{GetNodeY}{\param{long}{ id}}
+
+Must be defined to return the current Y position of the node. Note that
+coordinates are assumed to be at the top-left of the node so some conversion
+may be necessary for your application.
+
+\membersection{wxTreeLayout::GetLeftMargin}
+
+\constfunc{long}{GetLeftMargin}{\void}
+
+Gets the left margin set with \helpref{wxTreeLayout::SetMargins}{wxtreelayoutsetmargins}.
+
+\membersection{wxTreeLayout::GetOrientation}
+
+\constfunc{bool}{GetOrientation}{\void}
+
+Gets the orientation: TRUE means top-to-bottom, FALSE means left-to-right (the default).
+
+\membersection{wxTreeLayout::GetTopMargin}
+
+\constfunc{long}{GetTopMargin}{\void}
+
+Gets the top margin set with \helpref{wxTreeLayout::SetMargins}{wxtreelayoutsetmargins}.
+
+\membersection{wxTreeLayout::GetTopNode}
+
+\constfunc{long}{GetTopNode}{\void}
+
+wxTreeLayout calls this to get the top of the tree. Don't redefine this; call
+\rtfsp\helpref{wxTreeLayout::SetTopNode}{wxtreelayoutsettopnode} instead before calling \helpref{wxTreeLayout::DoLayout}{wxtreelayoutdolayout}.
+
+\membersection{wxTreeLayout::GetXSpacing}
+
+\constfunc{long}{GetXSpacing}{\void}
+
+Gets the horizontal spacing between nodes.
+
+\membersection{wxTreeLayout::GetYSpacing}
+
+\constfunc{long}{GetYSpacing}{\void}
+
+Gets the vertical spacing between nodes.
+
+\membersection{wxTreeLayout::Initialize}
+
+\func{void}{Initialize}{\void}
+
+Initializes wxTreeLayout. Call from application or overridden {\bf Initialize}
+or constructor.
+
+\membersection{wxTreeLayout::NodeActive}\label{wxtreelayoutnodeactive}
+
+\func{bool}{NodeActive}{\param{long}{ id}}
+
+Define this so wxTreeLayout can know which nodes are to be drawn (not all
+nodes may be connected in the tree). See also \helpref{wxTreeLayout::ActivateNode}{wxtreelayoutactivatenode}.
+
+\membersection{wxTreeLayout::SetNodeName}
+
+\func{void}{SetNodeName}{\param{long}{ id}, \param{const wxString\& }{ name}}
+
+May optionally be defined to set a node's name.
+
+\membersection{wxTreeLayout::SetNodeX}
+
+\func{void}{SetNodeX}{\param{long}{ id}, \param{long}{ x}}
+
+Must be defined to set the current X position of the node. Note that
+coordinates are assumed to be at the top-left of the node so some conversion
+may be necessary for your application.
+
+\membersection{wxTreeLayout::SetNodeY}
+
+\func{void}{SetNodeY}{\param{long}{ id}, \param{long}{ y}}
+
+Must be defined to set the current Y position of the node. Note that
+coordinates are assumed to be at the top-left of the node so some conversion
+may be necessary for your application.
+
+\membersection{wxTreeLayout::SetOrientation}
+
+\func{void}{SetOrientation}{\param{bool}{ orientation}}
+
+Sets the tree orientation: TRUE means top-to-bottom, FALSE means left-to-right (the default).
+
+\membersection{wxTreeLayout::SetTopNode}\label{wxtreelayoutsettopnode}
+
+\func{void}{SetTopNode}{\param{long}{ id}}
+
+Call this to identify the top of the tree to wxTreeLayout.
+
+\membersection{wxTreeLayout::SetSpacing}
+
+\func{void}{SetSpacing}{\param{long}{ x}, \param{long}{ y}}
+
+Sets the horizontal and vertical spacing between nodes in the tree.
+
+\membersection{wxTreeLayout::SetMargins}\label{wxtreelayoutsetmargins}
+
+\func{void}{SetMargins}{\param{long}{ x}, \param{long}{ y}}
+
+Sets the left and top margins of the whole tree.
+
+\section{\class{wxTreeLayoutStored}}\label{wxtreelayoutstored}
+
+wxTreeLayoutStored provides storage for node labels, position and client data. It also provides hit-testing
+(which node a mouse event occurred on). It is usually a more convenient class to use than wxTreeLayout.
+
+\wxheading{Derived from}
+
+\helpref{wxTreeLayout}{wxtreelayout}\\
+\helpref{wxObject}{wxobject}
+
+\wxheading{See also}
+
+\helpref{wxTreeLayout}{wxtreelayout}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxTreeLayoutStored::wxTreeLayoutStored}
+
+\func{}{wxTreeLayoutStored}{\param{int }{noNodes = 200}}
+
+Constructor. Specify the maximum number of nodes to be allocated.
+
+\membersection{wxTreeLayoutStored::AddChild}\label{wxtreelayoutstoredaddchild}
+
+\func{long}{AddChild}{\param{const wxString\&}{ name}, \param{const wxString\&}{ parent = ""}}
+
+Adds a child with a given parent, returning the node id.
+
+\membersection{wxTreeLayoutStored::GetClientData}\label{wxtreelayoutstoredgetclientdata}
+
+\constfunc{long}{GetClientData}{\param{long}{ id}}
+
+Gets the client data for the given node.
+
+\membersection{wxTreeLayoutStored::GetNode}\label{wxtreelayoutstoredgetnode}
+
+\constfunc{wxStoredNode*}{GetNode}{\param{long}{ id}}
+
+Returns the wxStoredNode object for the given node id.
+
+\membersection{wxTreeLayoutStored::GetNodeCount}\label{wxtreelayoutstoredgetnodecount}
+
+\constfunc{int}{GetNodeCount}{\void}
+
+Returns the current number of nodes.
+
+\membersection{wxTreeLayoutStored::GetNumNodes}\label{wxtreelayoutstoredgetnumnodes}
+
+\constfunc{int}{GetNumNodes}{\void}
+
+Returns the maximum number of nodes.
+
+\membersection{wxTreeLayoutStored::HitTest}\label{wxtreelayoutstoredhittest}
+
+\func{wxString}{HitTest}{\param{wxMouseEvent\&}{ event}, \param{wxDC\& }{dc}}
+
+Returns a string with the node name corresponding to the position of the mouse event, or the empty string if no node
+was detected.
+
+\membersection{wxTreeLayoutStored::NameToId}\label{wxtreelayoutstorednametoid}
+
+\func{long}{NameToId}{\param{const wxString\&}{ name}}
+
+Returns the id for the given node name, or -1 if there was no such node.
+
+\membersection{wxTreeLayoutStored::SetClientData}\label{wxtreelayoutstoredsetclientdata}
+
+\func{void}{SetClientData}{\param{long}{ id}, \param{long}{ clientData}}
+
+Sets client data for the given node.
+
diff --git a/docs/latex/wx/tresourc.tex b/docs/latex/wx/tresourc.tex
new file mode 100644
index 0000000000..35aaea2b28
--- /dev/null
+++ b/docs/latex/wx/tresourc.tex
@@ -0,0 +1,332 @@
+\section{The wxWindows resource system}\label{resourceformats}
+
+wxWindows has an optional {\it resource file} facility,
+which allows separation of dialog, menu, bitmap and icon specifications
+from the application code.
+
+It is similar in principle to the Windows resource file (whose ASCII form is
+suffixed .RC and whose binary form is suffixed .RES). The wxWindows resource
+file is currently ASCII-only, suffixed .WXR. Note that under Windows,
+the .WXR file does not {\it replace} the native Windows resource file,
+it merely supplements it. There is no existing native resource format in X
+(except for the defaults file, which has limited expressive power).
+
+For details of functions for manipulating resource files and loading
+user interface elements, see \helpref{wxWindows resource functions}{resourcefuncs}.
+
+You can use Dialog Editor to create resource files. Unfortunately neither
+Dialog Editor nor the .WXR format currently cover all wxWindows controls;
+some are missing, such as wxSpinCtrl, wxSpinButton, wxListCtrl, wxTreeCtrl and others.
+
+Note that in later versions of wxWindows, this resource format will be replaced
+by XML specifications that can also include sizers.
+
+\subsection{The format of a .WXR file}
+
+A wxWindows resource file may look a little odd at first. It is C++
+compatible, comprising mostly of static string variable declarations with
+wxExpr syntax within the string.
+
+Here's a sample .WXR file:
+
+\begin{verbatim}
+/*
+ * wxWindows Resource File
+ *
+ */
+
+#include "noname.ids"
+
+static char *my_resource = "bitmap(name = 'my_resource',\
+ bitmap = ['myproject', wxBITMAP_TYPE_BMP_RESOURCE, 'WINDOWS'],\
+ bitmap = ['myproject.xpm', wxBITMAP_TYPE_XPM, 'X']).";
+
+static char *menuBar11 = "menu(name = 'menuBar11',\
+ menu = \
+ [\
+ ['&File', 1, '', \
+ ['&Open File', 2, 'Open a file'],\
+ ['&Save File', 3, 'Save a file'],\
+ [],\
+ ['E&xit', 4, 'Exit program']\
+ ],\
+ ['&Help', 5, '', \
+ ['&About', 6, 'About this program']\
+ ]\
+ ]).";
+
+static char *project_resource = "icon(name = 'project_resource',\
+ icon = ['project', wxBITMAP_TYPE_ICO_RESOURCE, 'WINDOWS'],\
+ icon = ['project_data', wxBITMAP_TYPE_XBM, 'X']).";
+
+static char *panel3 = "dialog(name = 'panel3',\
+ style = '',\
+ title = 'untitled',\
+ button_font = [14, 'wxSWISS', 'wxNORMAL', 'wxBOLD', 0],\
+ label_font = [10, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0],\
+ x = 0, y = 37, width = 292, height = 164,\
+ control = [1000, wxButton, 'OK', '', 'button5', 23, 34, -1, -1, 'my_resource'],\
+ control = [1001, wxStaticText, 'A Label', '', 'message7', 166, 61, -1, -1, 'my_resource'],\
+ control = [1002, wxTextCtrl, 'Text', 'wxTE_MULTITEXT', 'text8', 24, 110, -1, -1]).";
+\end{verbatim}
+
+As you can see, C++-style comments are allowed, and apparently include files
+are supported too: but this is a special case, where the included file
+is a file of defines shared by the C++ application code and resource file
+to relate identifiers (such as FILE\_OPEN) to integers.
+
+Each {\it resource object} is of standard \helpref{wxExpr}{wxexpr} syntax, that is,
+an object name such as {\bf dialog} or {\bf icon}, then an open
+parenthesis, a list of comma-delimited attribute/value pairs, a closing
+parenthesis, and a full stop. Backslashes are required to escape newlines,
+for the benefit of C++ syntax. If double quotation marks are used to
+delimit strings, they need to be escaped with backslash within a C++ string
+(so it is easier to use single quotation marks instead).
+
+\normalbox{{\it A note on string syntax:} A string that begins with
+an alphabetic character, and contains only alphanumeric characters,
+hyphens and underscores, need not be quoted at all. Single quotes and double
+quotes may be used to delimit more complex strings. In fact, single-quoted
+and no-quoted strings are actually called {\it words}, but are treated
+as strings for the purpose of the resource system.}
+
+A resource file like this is typically included in the application main file,
+as if it were a normal C++ file. This eliminates the need for a separate
+resource file to be distributed alongside the executable. However, the
+resource file can be dynamically loaded if desired (useful for non-C++
+languages such as Python).
+
+Once included, the resources need to be `parsed' (interpreted), because
+so far the data is just a number of static string variables. The function\rtfsp
+{\bf ::wxResourceParseData} is called early on in initialization of the application
+(usually in {\bf wxApp::OnInit}) with a variable as argument. This may need to be
+called a number of times, one for each variable. However, more than one
+resource `object' can be stored in one string variable at a time, so you can
+get all your resources into one variable if you want to.
+
+{\bf ::wxResourceParseData} parses the contents of the resource, ready for use
+by functions such as {\bf ::wxResourceCreateBitmap} and {\bf wxPanel::LoadFromResource}.
+
+If a wxWindows resource object (such as a bitmap resource) refers to a
+C++ data structure, such as static XPM data, a further call ({\bf ::wxResourceRegisterBitmapData}) needs
+to be made on initialization to tell
+wxWindows about this data. The wxWindows resource object will refer to a
+string identifier, such as `project\_data' in the example file above.
+This identifier will be looked up in a table to get the C++ static data
+to use for the bitmap or icon.
+
+In the C++ fragment below, the WXR resource file is included,
+and appropriate resource initialization is carried out in {\bf OnInit}.
+Note that at this stage, no actual wxWindows dialogs, menus, bitmaps or
+icons are created; their `templates' are merely being set up for later
+use.
+
+\begin{verbatim}
+/*
+ * File: project.cpp
+ * Purpose: main application module
+ */
+
+#include "wx/wx.h"
+#include "project.h"
+
+// Includes the dialog, menu etc. resources
+#include "project.wxr"
+
+// Includes XPM data
+#include "project.xpm"
+
+IMPLEMENT_APP(AppClass)
+
+// Called to initialize the program
+bool AppClass::OnInit()
+{
+ wxResourceRegisterBitmapData("project_data", project_bits, project_width, project_height);
+
+ wxResourceParseData(menuBar11);
+ wxResourceParseData(my_resource);
+ wxResourceParseData(project_resource);
+ wxResourceParseData(panel3);
+ ...
+
+ return TRUE;
+}
+\end{verbatim}
+
+The following code shows a dialog:
+
+\begin{verbatim}
+ // project.wxr contains dialog1
+ MyDialog *dialog = new MyDialog;
+ if (dialog->LoadFromResource(this, "dialog1"))
+ {
+ wxTextCtrl *text = (wxTextCtrl *)wxFindWindowByName("text3", dialog);
+ if (text)
+ text->SetValue("wxWindows resource demo");
+ dialog->ShowModal();
+ }
+ dialog->Destroy();
+\end{verbatim}
+
+Please see also the resource sample.
+
+\subsection{Dialog resource format}
+
+A dialog resource object may be used for either panels or dialog boxes, and
+consists of the following attributes. In the following, a {\it font specification}\rtfsp
+is a list consisting of point size, family, style, weight, underlined, optional facename.
+
+\begin{twocollist}\itemsep=0pt
+\twocolitemruled{Attribute}{Value}
+\twocolitem{id}{The integer identifier of the resource.}
+\twocolitem{name}{The name of the resource.}
+\twocolitem{style}{Optional dialog box or panel window style.}
+\twocolitem{title}{The title of the dialog box (unused if a panel).}.
+\twocolitem{modal}{Whether modal: 1 if modal, 0 if modeless, absent if a panel resource.}
+\twocolitem{use_dialog_units}{If 1, use dialog units (dependent on the dialog font size) for control sizes and positions.}
+\twocolitem{use_system_defaults}{If 1, override colours and fonts to use system settings instead.}
+\twocolitem{button\_font}{The font used for control buttons: a list comprising point size (integer),
+family (string), font style (string), font weight (string) and underlining (0 or 1).}
+\twocolitem{label\_font}{The font used for control labels: a list comprising point size (integer),
+family (string), font style (string), font weight (string) and underlining (0 or 1). Now obsolete; use button\_font instead.}
+\twocolitem{x}{The x position of the dialog or panel.}
+\twocolitem{y}{The y position of the dialog or panel.}
+\twocolitem{width}{The width of the dialog or panel.}
+\twocolitem{height}{The height of the dialog or panel.}
+\twocolitem{background\_colour}{The background colour of the dialog or panel.}
+\twocolitem{label\_colour}{The default label colour for the children of the dialog or panel. Now obsolete; use button\_colour instead.}
+\twocolitem{button\_colour}{The default button text colour for the children of the dialog or panel.}
+\end{twocollist}
+
+Then comes zero or more attributes named `control' for each control
+(panel item) on the dialog or panel. The value is a list of further
+elements. In the table below, the names in the first column correspond to
+the first element of the value list, and the second column details the
+remaining elements of the list. Note that titles for some controls are obsolete
+(they don't have titles), but the syntax is retained for backward compatibility.
+
+\begin{twocollist}\itemsep=0pt
+\twocolitemruled{Control}{Values}
+\twocolitem{wxButton}{id (integer), title (string), window style (string), name (string), x, y, width, height, button bitmap resource (optional string), button font spec}
+\twocolitem{wxCheckBox}{id (integer), title (string), window style (string), name (string), x, y, width, height, default value (optional integer, 1 or 0), label font spec}
+\twocolitem{wxChoice}{id (integer), title (string), window style (string), name (string), x, y, width, height, values (optional list of strings), label font spec, button font spec}
+\twocolitem{wxComboBox}{id (integer), title (string), window style (string), name (string), x, y, width, height, default text value, values (optional list of strings), label font spec, button font spec}
+\twocolitem{wxGauge}{id (integer), title (string), window style (string), name (string), x, y, width, height, value (optional integer), range (optional integer), label font spec, button font spec}
+\twocolitem{wxStaticBox}{id (integer), title (string), window style (string), name (string), x, y, width, height, label font spec}
+\twocolitem{wxListBox}{id (integer), title (string), window style (string), name (string), x, y, width, height, values (optional list of strings), multiple (optional string, wxSINGLE or wxMULTIPLE),
+label font spec, button font spec}
+\twocolitem{wxStaticText}{id (integer), title (string), window style (string), name (string), x, y, width, height, message bitmap resource (optional string), label font spec}
+\twocolitem{wxRadioBox}{id (integer), title (string), window style (string), name (string), x, y, width, height, values (optional list of strings), number of rows or cols,
+label font spec, button font spec}
+\twocolitem{wxRadioButton}{id (integer), title (string), window style (string), name (string), x, y, width, height, default value (optional integer, 1 or 0), label font spec}
+\twocolitem{wxScrollBar}{id (integer), title (string), window style (string), name (string), x, y, width, height, value (optional integer),
+page length (optional integer), object length (optional integer), view length (optional integer)}
+\twocolitem{wxSlider}{id (integer), title (string), window style (string), name (string), x, y, width, height, value (optional integer), minimum (optional integer), maximum (optional integer),
+label font spec, button font spec}
+\twocolitem{wxTextCtrl}{id (integer), title (string), window style (string), name (string), x, y, width, height, default value (optional string),
+label font spec, button font spec}
+\end{twocollist}
+
+\subsection{Menubar resource format}
+
+A menubar resource object consists of the following attributes.
+
+\begin{twocollist}\itemsep=0pt
+\twocolitemruled{Attribute}{Value}
+\twocolitem{name}{The name of the menubar resource.}
+\twocolitem{menu}{A list containing all the menus, as detailed below.}
+\end{twocollist}
+
+The value of the {\bf menu} attribute is a list of menu item specifications, where each menu
+item specification is itself a list comprising:
+
+\begin{itemize}\itemsep=0pt
+\item title (a string)
+\item menu item identifier (a string or non-zero integer, see below)
+\item help string (optional)
+\item 0 or 1 for the `checkable' parameter (optional)
+\item optionally, further menu item specifications if this item is a pulldown menu.
+\end{itemize}
+
+If the menu item specification is the empty list ([]), this is interpreted as a menu separator.
+
+If further (optional) information is associated with each menu item in a future release of wxWindows,
+it will be placed after the help string and before the optional pulldown menu specifications.
+
+Note that the menu item identifier must be an integer if the resource is being
+included as C++ code and then parsed on initialisation. Unfortunately,\rtfsp
+\verb$#$define substitution is not performed inside strings, and
+therefore the program cannot know the mapping. However, if the .WXR file
+is being loaded dynamically, wxWindows will attempt to replace string
+identifiers with \verb$#$defined integers, because it is able to parse
+the included \verb$#$defines.
+
+\subsection{Bitmap resource format}
+
+A bitmap resource object consists of a name attribute, and one or more {\bf bitmap} attributes.
+There can be more than one of these to allow specification of bitmaps that are optimum for the
+platform and display.
+
+\begin{itemize}\itemsep=0pt
+\item Bitmap name or filename.
+\item Type of bitmap; for example, wxBITMAP\_TYPE\_BMP\_RESOURCE. See class reference under {\bf wxBitmap} for
+a full list).
+\item Platform this bitmap is valid for; one of WINDOWS, X, MAC and ANY.
+\item Number of colours (optional).
+\item X resolution (optional).
+\item Y resolution (optional).
+\end{itemize}
+
+\subsection{Icon resource format}
+
+An icon resource object consists of a name attribute, and one or more {\bf icon} attributes.
+There can be more than one of these to allow specification of icons that are optimum for the
+platform and display.
+
+\begin{itemize}\itemsep=0pt
+\item Icon name or filename.
+\item Type of icon; for example, wxBITMAP\_TYPE\_ICO\_RESOURCE. See class reference under {\bf wxBitmap} for
+a full list).
+\item Platform this bitmap is valid for; one of WINDOWS, X, MAC and ANY.
+\item Number of colours (optional).
+\item X resolution (optional).
+\item Y resolution (optional).
+\end{itemize}
+
+\subsection{Resource format design issues}
+
+The .WXR file format is a recent addition and subject to change.
+The use of an ASCII resource file format may seem rather inefficient, but this
+choice has a number of advantages:
+
+\begin{itemize}\itemsep=0pt
+\item Since it is C++ compatible, it can be included into an application's source code,
+eliminating the problems associated with distributing a separate resource file
+with the executable. However, it can also be loaded dynamically from a file, which will be required
+for non-C++ programs that use wxWindows.
+\item No extra binary file format and separate converter need be maintained for the wxWindows project
+(although others are welcome to add the equivalent of the Windows `rc' resource
+parser and a binary format).
+\item It would be difficult to append a binary resource component onto an executable
+in a portable way.
+\item The file format is essentially the \helpref{wxExpr}{wxexpr} object format, for which
+a parser already exists, so parsing is easy. For those programs that use wxExpr
+anyway, the size overhead of the parser is minimal.
+\end{itemize}
+
+The disadvantages of the approach include:
+
+\begin{itemize}\itemsep=0pt
+\item Parsing adds a small execution overhead to program initialization.
+\item Under 16-bit Windows especially, global data is at a premium.
+Using a .RC resource table for some wxWindows resource data may be a partial solution,
+although .RC strings are limited to 255 characters.
+\item Without a resource preprocessor, it is not possible to substitute integers
+for identifiers (so menu identifiers have to be written as integers in the resource
+object, in addition to providing \verb$#$defines for application code convenience).
+\end{itemize}
+
+\subsection{Compiling the resource system}
+
+To enable the resource system, set {\bf wxUSE\_WX\_RESOURCES} to 1 in setup.h.
+
diff --git a/docs/mac/MakeMetrowerksText.sea.hqx b/docs/mac/MakeMetrowerksText.sea.hqx
new file mode 100644
index 0000000000..b6f204f2d3
--- /dev/null
+++ b/docs/mac/MakeMetrowerksText.sea.hqx
@@ -0,0 +1,2245 @@
+(This file must be converted with BinHex 4.0)
+:&NeKDf90CA4bEhGPFQYc9'9iG#jcC@%!39"36'&eFh3J!*!$%Dm!!C829Ze6G(9
+QCNPd)#KM+6%j16FY-6Nj1#""E'&NC'PZ)&0jFh4PEA-X)%PZBbiX)'KdG(!k,bp
+hN!-ZB@aKC'4TER0jFbjMEfd[8h4eCQC*G#m0#KS!"4!!!"'[!*!$FJ!"!*!$FL1
+f$D@P8Q9cCA*fC@5PT3#PN!3"!!"#!!#eYMP`YEBjVJ#3$4+SI`#3$NeKDf90CA4
+bEhGPFQYc9'9iG!!"V,G"8&"-394jF#%!!AX#QJ#3#S!!N!NI)3!!%-N!N!32!%,
+"e4!ihrL+@5IqZeKZNZIM*HIVJMpBN6P4d+Q@[5`AUCV@-5ca0E-Grd96cZSJqS2
+)&6GK$EB5`6B[N!#cR-E2*Tpa,Ph0S4E5$YM(HKf%&j8`9EIZSipH,'SGpNNDM0d
+!&@h`&Z0&qZAV5%@[VIb'f50"Ek5ikR426&M9e&i*D4$F6C@haB)dAXVQP1V0%RS
+SLR!&LCPhhC5ePjh1ZQ4lc(h6i&cUUleVii$9jE5*(!pG0PG,RR2`*4TYm!ii3RL
+YGDA%dSibh)IY1M$p0AiPpF,eF9r2PG"9)3+VEFIb,R2!YIm)!#M'4BVeP#BIJEQ
+MqrbX3iC4QCIL2BU5ScZZ)Sd&Z&%LNjH3!$3*BUm(IfSI`N8Q3$&de@d!S$4i4f8
+jMHU2A9dCN!#$'`+,DkaEplA(+5AcS+Ui@1XSD9506i1&f4P9Te)Vm-"J)Yj0[#A
+rqq4@D8UchS8Mk#(0+c&$4bM31[jZhCe4YllmZ2+keAST(kbaiH-4!8hBB6i!$TN
+-"I-5B3i0krFp##!(f3IeQ&`D&@NM*@Dapq6Z9ci-eNep#YNTHI@6*T!!9@l5j[6
+FDqrmqr58(DJA'ElKNJEhX65EU-C#H&a)ZQfP&6D#,JfpB%U1K1@$k9h#m`+,IYi
+T2(dBjCI#,8*0hAeBGM'5S8#&Aq0i!k4$R65i-hpLl,9!'Q"R``ZY`9SSlRdKG+$
+39A,p5F,-Bf!D*B!!``AJe@13!,lU`M@a+PFkd9h`9#PdIiJmm`SD"$p@1Zd6diG
++#l$k3ciH'`XI)aK@rcpJZ'8a(F*XMlSc(9&TkXKk`89EC6Gm&iTF'ik0a$4-iK4
+"rkQ+dp`ITKc&b63PJ"0"5i0F2CRImC'1fXL9VYNPB#+b1kk5[RQi&8Q#,L3aSCe
+6HL6Xm8rb`qeF%$8T2JZC6J(c(Ep!ME&BDka%l8V"*fV#ArE1YFQRp&2Q%1S5mFh
+hr[28+`'lKIk&S)@qBjU2R#+#82EFX28Mk[qbRebI)8U*pp!J6N[!,864!+Q`A%R
+$Z"kSBmd8dkkJjBmQYG59YPpFMK&Z6[&$@QK*Il["PkBJZQENRkVPr6Ib2+FHF$-
+#6HP#Je28VhpkL@l4jjhX5CAeL+Gak'eE`G0C!M6VQB-IHjQ4$PkGJi-Y$IrBbmX
+3PRA6D&hDGS8jpE@LrPb%paI9iaUiNa-mQ('HJ'36A!AXG!$[h%`%U,d3168IShS
+Ul8I06iap2&ikjU'UQCQ#NSN%L4CBEXpP$N,Dk#36T)[EYA8T2QZcJa*E3rLqkdT
+Fc!mk-SQ2I2e*bQLRkJJLQHe2faEZ+YA0,13!XEMNJ&HN`Y5*%ACjlq34jb3%cec
+9S"&@[8ZE9TA[(k6MP+K&GfM--eipq$L('X-9N!$pKE0LqYiBL6cK#)`,eSF-Bi)
+%S!m`1d)1[)QIrZ%28ZAA[V*c1dX@+YiYSMIIS,b!RBl##'&UGSLjrqYE`2q64G2
+l6QmJQIYfEbGADfl#iHSf%$(6LKrHS3m+E03#b$lpkT6*Ii`fe!KLKf0`kQEb9(k
+Y4a"'+DIp0[S5-GXKZJLG`mDKGj5rR5k9$Z012m*C-Z$T&d"R[d9B4adN#6N[@UG
+#kK(9H&SCQYC@PcQ[I'MrDp9(CQFiS[YG5C,*(HUI[TrKAX2'b!)h%++lTBrk%HJ
+,m5ReLXF"2fES*Q)LX$Y*,JDfDfrQ*9Bff-ZYpD9VXdF%RcmAcUU6&j!!FR35`D)
+ePhA@fL8V6XP(VQ2i*A!j-Y0!R3#DPU@iK-ePZ"&MTT32d[K)`j4#JSk3!2GVQPN
+YJrVerk)+Yk-'1Na+rB[j&Ui!*UK2)9q[rSMY,Z4FLrEVqZY0F2RQDh8m%4%!DLV
+HjU@3!0$Zj+UQ2H`+SDQ-5VD3!2REND'TLII'5,TBTHEi3[c0"qRZAf1-bQFH5Ap
+P8HJm3VaBT6F`pDU4fTc`EkZ'G8Fl-A"9ILCcI5FK0hSNS$,QAMRV%aB6"'FkG*e
+&dek%K%(6[#ABAAclXV,2$qZ2m"m@kd-E&mi1i)f+*J$q5Ta'*MD#T!rPLr(lVV"
+8Q[(CB`[m+Qh-D#9p"5jBZZKETPDNQNhZL8eLSeZq[D%#Q+DZcVF1H`mEa3IPCf$
+NN8GV+Tq5B1Q'8R0q,e%Lq)f[TEhp+T!!"c$q&QRqLbFad9@b[)bCb,L2kMf,VUj
+J0&Dr(LE0#8p5C-('f+IYR+G-Ch+krali#j0Bk'b"$VU45-aXD!$h[6Q&G1lK6LU
+[-p`6rM1EYRA9+FQ'I$D#9P&mfJZm2Nk1KMlIY4cRffqe5B8pq'I9lMGq2rHrH
+N4MB&NZ0J`$ZNGaZLI4,cL[alarh#VbcP0N(Vkb$C'(+RPLh,S180FF"JFXZh8dU
+3!!p"-q)R%D@$IIl8#28l`K#U6b0cdKhI)UG6hI40[#a'VrIiY`[rLkf2L*`03DF
+CT3[m[0lJdjF8S6!JNHX[AMrY%LK0*ehQ5ZN**(arYZkJSJaL*TU",iA*KpRQl8p
+qeC9R'J@@+$F+lmk,ljm8LcK`RPiB3a81*'95G3)U9UQL2R`RYJ'!k-#9$5B4l4V
+pX5(Jam*&XlE2*iH`,krPI%3RCQ(Zb8[ZPA-SCdQI4@GN)*TLQHHdSH05LiJ#AT!
+!M'D$ePfpK2aX)DEXM(YGNX0iY%iJL0`6E*X$hb3ZrSDF'pT`l6,`c52$PHI(c!b
+Mfq)c)ZVS&I[T!0X1bpj#`K@5aL9mQ(Uap+a5llR'id+Fq%*S%I26D&e4PBTrV*B
+0dchGYdmIeMK6BcHh6Q"MBMj0B'BiIj-NfQ&3mDSZfq['a9+pdB+AdK0bqibNic4
+lVb54`4PXJ-!2Er+U`9B098ppU#lmk,hibD#ZRKhAP8VkQhS33S#c-adN*0)ETDd
+eirmS[l5GXZ0bhr,FX*p(kMdA`Fh(i*6"TBU!hH8D9heX""X"CqfaC"NB@14fAjL
+8&%Z5CX+$#QB$FLLDZCY1,81$Cjqm0kh8qA1ba(d+8Zm'q%bG18,UC*lSN!!lm+(
+m8+lPe6ce'A1l9Z"Qp`*dM(j$`f%"cFl3fGeQUVE$)96J%N0ALLZCa6N*-h'VS$i
+'fZ!U@$)cGSMhG&JeA&UfD4-&AECaDAfc`68KDS5+PEC`GBCZq21+X-f,PDf+&Y0
+aEGZ+3KiCN5DHp'JXj0i-+NRRFK`SLTCLbTA$,d(k0C*@rSHZ@ZQjC0cT+mYUl1$
+LAS9JFBL`Xi*83BPpXj3GD[+m#NH'd35d8'Sph!&*EZMM*5*I5)1jjNMml%Je'-9
+&i1Y)XY#b@+UKPRrL*bi+D'KIJf1@Q#*1SZ4@+kQr+G@ZPpN0K`Cjca&d-TAcBM-
++L$NA!JPieF,#6eGV11988hM$'C-rk-h!a,CA[96cZ9EDkq@0U-AfX*SFVLUFJG8
+28d2JGr`&IDA)Q3@cl4KHm$Rm+KEfpH4*j%,ibijc43cQTjF+"*S!K'@8Vb625,9
+rlETQV1PSqXl+#rLR*3lEeDPecB8m5QMI+'%3PPh!3j)K`SdmShX"dka)qX*e[b-
+H4iLjH'P)kR%b-GD`2d,+LqZ8c2-h!4)pG+'3!2-"iA9U!NF'2%Vc%&f,3''j9hY
+,NVr`82(ejj&H"Cq(K0!5pAi)F'KK3h)6&MI@aB)68*)lL+E&q%Z&IY6+%hL0G13
+MD&V!QG2!c%b&6fIHQjHX%9,M@aTlFdB01@0S'GhLJ#@1X*kb-Cj-2)TSF5@a!L-
+Y&`"q!HS$@@`'N!#N2lEA*jlk35aMrf-8P1Z"%$4dI[*"Pj9Nc@CNiXMC"(4QdY(
+PG$#L+(1E%Cd!m4rjBM`4&9dp[NcRhrUh$0NCd"BlAf+pUBhV`NiX-VbFh[aCBGP
+![UHiT#KkU'IESZ@-C,Bp)!YdG1FlLKm4)*Ek&,jKaI@Z*UDQV9L@)F$Hap05FTP
+T1[0k(LFqm(f"MJpr8L9F(p$`D&D9@Cipb'TTG[p$ARrVaimGVhB#i84Mc51jqX8
+mX$fDA8'54mQIpL6QlKp$B'ZA,QC&-q6(%jG0`Z%'j,Gi2HX6[r@a'de86pHl%$X
+lGJPqQVhSGmMH6r6ZMfLhbl,)k&TKm1iK(5pR&C@MDkC#!6mYq9rf-2!8L6P4AT@
+40(mY#mKF,rQJHT-l401Z+`i,[S434mX)USl"pm$FM&'598"m4mU21aLVhUIL4p,
+kC)Tc0mj[ZhUTl8#3!#Q66pljZi-r9$iQrS61)m!#8,IBf(*b6,5&&jD)M#`+0
+l`TbUhl(3CIDMcdiSMEi8KGq3!1DF"RUZPXXL2F)X'!#V'V'H-3Yj6A)LDAlf6Ki
+EZa2EZ2$fAp-,h6ZiZ(bY[*J&CBTMISEHI8kF9RJ3R2cfSNBcJhJQN!#3!$hMGk(
+ceePDfq)e*R8$#5E4)C[&K*He0"SrKZ%X&ERYa8C!MpdTh5)6S8lDj''dR"`4$#'
+Kjh`[*4#%"-#"c36XKpH5B*i1&UYkJ4Qi*ie(428%m#pFC9rGMiNY(ak0rQZ10ac
+U1KK%+)jAIF"YkqSY0&qbA`$lFbcd8RleJ2JJ-J$XLm&`-cb4p4d9398dA[p[QZk
+"(hrEh6X5Pl#pTR3SLJYaIKH9%IZ@34QFi,NU$Dj#4U(r,2IQMe8AMh,8akQR8'P
+0A5--DHqab&XaHjSLR0iNDhTFlC!!Qla)NKL*LNpf!Z8e`T4(Rqj42!ZVJIk+LXH
+K5M0JmGB8*$RbG+p(lV3HL!%D(,kKLDd#0A4"43XSH)i0GJTK*KH,+fJF!ib9P[a
+`$!&9Z-8&f"D$@UaBe&`jq,8!dN@H'FDa*MiNF-i[2BMeE!q2VJDE0#'RAE5h8*k
+-R-Tb@Lk'(p`@Q+EH16iiC+Z*AK)SSEA4Rqa'F'`Kj5Bf$M-pZBM4E&9+MLi5Ebl
+""Vq#$#Z90Y[(6GdTH(Rbaa'T@L3B-U&`,Ppe%'heB&HHJFJTChYch-SLI6P!@Lh
+8PDaET&VN&jcC$1&I13+@LcpkFa#dFe+'BSEGYXNb#Z"L%P)N"*`c5[8SHC0`Dp2
+ip2XeAp[MDha)F(CchKiH,R`U-PBPQ!3EkqrRD-5L3%,c@0CMi1Rkd@@kT$5qSi`
+raYibr*aJj+hYJhr8U'DCBYJM"@'D(0fGeBP%QUYr-e6!'3dL0N5aXJG`aZ'q)!!
+I0H@,c9(@V"0TkVY41`+Nf"m8B*5MNVQpYr(p+QXQT3lF5(Zp!pA(kJ@PNK$+JY*
+[+Jd2c*GIk#&%(FbEqDRKIXB6LC1j2ZI6BX3@Qh0YeRMVM(b8m&R8HM0aMl$D3Ip
+%CTMaPfG8A9M!a3RkdfMPE`-T#+rI[QUU@(8S90J9Q@(HkDrRBpQ8-BZABSZjZaI
+%)dDk[[NmqR)FFe[I1#+McIN0i9Ck,"AUm@EPIj!!GC-8BPS,USmdMMHUe(D3!*V
+lcAZ`UXRfIh*aeNVR)NC-Tirp39BrPPEI*Xa4Bf)I4EANh`6N!X#l"Zqd1XlbaIT
+T@'FXrIa(%%f1)IB"fh0URp*XN!$`Q$%$jkrb6X-(L-!QIfL#dGrR9%-EH6B$dh0
+cma`8,**-$IAZ)&"-cCa*r914d`lq'%YHc18*0dkk8!0Sb08QQrPmGl()2Y(r`a%
+i&rUV)cFTZi8($-3P&X1R(P*N6)8R*[9cHT+@ll#5Dm6EaeEmET)AdlSh8aCrL8T
+mqY-m)0Cr(%0--R0TZEqb#XT'Gr",qTdm"@p,#C&96&$bEN1(#[!D*N33A9d"MB4
+&HqQJ0e`PmjamF0&6LMK[0,E9,AR%)#RC%M!h!S&YI$LRm`2+hQA$rU)Pk)le8Z!
+k13!!!3!!!C!!Y`!"MlF!!!4B!*$cI!!"!*!&D3"M!(d!R`3#6dX!N!Fp!'!!miK
+F9'KPFQ8JDA-JEQpd)'9ZEh9RD#"bEfpY)'pZ)0*H-0-JG'mJBfpZG'PZG@8J9@j
+6G(9QCQPZCbiJ)%&Z)'&NC'PdD@pZB@`JAM%JBRPdCA-JBA*P)'jPC@4PC#i!N!0
+5!!%!N!9Y!'B!J3#L"!*25`#3"33!5!"R!31)-P0[FR*j,#"LGA3JB5"NDA0V)(*
+PE'&dC@3JCA*bEh)J+&i`+5"SBA-JEf0MGA*bC@3Z!*!$6!!#!*!&-3"R!%8!V33
+%8A9TG!#3"3S!8!!F!4#)'P9Z8h4eCQCTEQFJGf&c)(0eBf0PFh0QG@`K!*!!!
+1!#J!,U!#!!%!N!0p384$8J-!!(i08`U6K!'ME3$X#h)$Y,)b+b[M@dhH@qpUpkC
+Z*YH!-3"!!`#3!lUe$)!!#@NUrZ!"94)XqdV)@`lMjA1kK9'1XMr2MrqZ)$NhV"V
+i%FU'0AQ'BU0RDr#XAMm&lZ`,`,#T"L)i6&Fq[H[,VD-C!m8F@8XE1!X!N!0D!!%
+!N!9G!(!!F3#X"!*25`#3"dS!93%6L$T6Eh*bH5iJ)%PZFh4KE'aKG'P[EL"MB@i
+JEfjXH5"LC5"`CA*QEh*YC@3JEfiJ5%C6)(C[E(9YCA-Z!*!$EJ!"!*!&D!"k!(`
+!YJ3#6dX!N!G)!&i"*BK18fpYC5"TG'9YFb"hCA*P)(0VDA"`C@3JBQ9MBA9cC5"
+dD'9j)'&bC5"ZEh3JFh9`F'pbG'9N)'*j)(4SDA-JFf9XCLePH(4bB@0dEh)Z!*!
+$@J!"!*!&A3"`!(%!V!3#6dX!N!G+!&8"%iJk9'KP)'CTE'8JdPi`db"YBANJBQ8
+JC'&YB@GPC#iJ)&"XC@&cC5"eFf8JDA3JGfPdD#"MBA9dD@pZ,J#3!bJ!!3#3"F`
+!MJ$J!0)%#%0[ER4TER9P!*!&"!!%!--"BX!#!qJ!N!28384$8J-!!4)08`UE*!!
+lLSL+&Fm@d(1X4'`3p5`rIcrXejfrjql1$+GBf'%P+PL&999LjEra",'U"3ZbC6Y
+1)2Q3!"m"9#5BqM@mKDIGaGRG6G,)HT+pI4mZ3pc&PmHP#aEjM6KA6jAe#b3m5Sk
+53ElSG,A`G'S9QL)q"HC1abaeLk9cJ@A[I"3FZ$A+c+Ce3%m()3a-9j4CR+h"Zf9
+c)KIFIJai(r!m3+*2iaUXL26-$cGj+&$EM-KaUkHFa@0E8ER-cGETJDZ80pr*q`c
+Tre6rb@d!N!3k!!%!N!93!&N!C!#6"!*25`#3"3-!4!")!1L)'94SDA-JBA*MD'P
+fC5"TFb"NB@eKCf9N,L!!N!4)!!%!N!9(!&S!@`#8"!*25`#3"3)!43!a!1L)*eP
+[G5"SBACP)'9ZG'9bC@3JB@iJD@jMEh*bC@0d)("KFh0hEh*N,J#3"!`!+!!S!,B
+"(!3"998!N!--!#!!#!#L!4`!JP99!*!$$!"L!*)!m!'B!)9993#3!``!+!!S!(8
+"2!#(998!N!--!%B!TJ#k!GB!KP99!*!$$!!J!!J!SJ%F!)"993#3!``!+!!S!+i
+"6J#e998!N!-1!#J!+!$#!D3!L&99+!S!N!--!#J!+!#8!4)#!&99!*!$$!!S!#J
+!M3%A!J&993#3!``,9@j6G(9QCL"KFcS!N!-)"b"QEfaNCA)!!!3c384$8J-!"RF
+093e$)K)4jPjZ%'3Y'84UmN3N#a"CUkBQ*lFpLicJGZI)5EFc8r+CIhHrlpZ+2"[
+Ic,He3*,9cZc*j%RB[MZ6%C,P9Z5*V-M[(j%rNjr*[0R@GK&*&K1b0bh*)LK!iJI
+r6PQ'N94%1+J,1hML*hBK,0+!l9$&S4Cf%PiIcijT$+G2[eNUFK-MbHfpC'm6p0E
+IcBDF5mJT4aqj[p)@X[AQGIR'*!P,+@RBhU3A&C159eN[%2cJbH(#&ajm5X-QD0&
+L4-VGcEkQ`r)XP,P*,SMR)FNFrFAJLaU$lM`9cA8P820dQ"q1j-RJ+KhQ[L68+ci
+KBT!!RHr$(BZ5%%MI@aB0YUmG+cH9Fc#*FlDI2+6+KXfGMlqi[`EXLf[bq5DTS"G
+BJ&RSpE(k4UNSE)5VZ#(4a%4T(NC4T5D'+#Hca)G5#DG%eC'a54-U)Z$aJ`C3q')
+!Y4*YQG#!*634DR+,6CR$@+QN(kF-V(@SLpVJf!+P0U0c9&M$',E[r55!`Li$a$P
+LQ,KZKIc2X5Gal+,YACH#6FZ"UHV$eS-Ujc5-Gh6@aB"d'i-,eVDeLc'L6-mKjM,
+F%r*FlYZBmf)r3FhBZqB8*mKFDkBmH&M*CEjpUU5NcqMUMHZl,G$)FrP&YX*lJ%6
+&V")5fb&&5#AJ#$hRCZLJ)NBKdc[fS@lc&8+41k84G`VH8bAIPL!j2GVYU6-RjVb
+F3lRZ&DPJc0[DAFTb'rRhYdi*$'iYhrbA$q+6*eD"#2hXL3&E#6aS*Xkh8XD5XZL
+!8d`D3&(YeTiH)j,QXMTfCIrBQ',QaYKL5NVMZKb[jqBq*1K-Xm!cl6p*FZL0,qj
+368Vlrpap[%LPH%SI@AC!''TAaj91(AL#-@"3aPPimHVhYlZRfC3AeqX$cDJ8$@f
+Jmqd&j*@%XYf`G)B2KUU3!"Si!i4'pV`UFE3TZ%Vi1,Y29L@qKkdk$`8SRBhC9E-
+k+AX1V!#*JeYF)Z3(X`,GA!A9[Q0'IDaq[E"flB1d$rZ$9epp#4ZUUbq"F")bcdZ
+iN!#&AS+9c([M)*1*kmMQF"*$DeK5eBS,0G(8$DlUGG,@)I*P,r@PJf6iV!k3!+U
+,`iQMEf'*D&FHY3@1%H!C2CVf%Lk!`1`-EZQV3EfDc)k)alY-h[lIZ!qhTr,*MDZ
+6TKGp,[+bNp-`jPQCpEJ64GUkaD!DXF'80&)2BbYeEc[GB!TTEhMfk&f2mYQTP@l
+1bb2j`E4mDbafS5aG4rV(QBS,DAF-pIPCbZIRk[pq5'N+mhpAIXl%CM(qp[IPf*a
+9Cbj2D@i@qUC8h'a@H[,JJMDNfrH5e-ha@AMdST,jr-qAljL($06eY9h'+bI[Gal
+`F%%Abe@eJpQRlELVUi0e"4+H`Fl,5pZHa$lSC'#l'ZAeThN#F3DQmm#9iTh-1
+AH$!(GljqYG"C`e[Aj!i!N!-B!$3!!!%F!@J!!3%!!3#3"32S!*!$P!#3!c`!"33
+JEfBJ"b"TG'9YFbi%8h4[F"Y*G'9YFb"bC@eKD@jTEQFJG'mJ9@j6G(9QCMS,9@j
+6G(9QCQPZCcS!!!M#384$8J-!$i!1A3ZX%L4fE@IIRApiYl&XGjihCQ,BfCc(6*C
+Sle-E)bJkEdHa*eS0Gj-8#D@M,#1YSQS,UdUIEm-)Ejf3!1fj`5LMfG,4"USUd1T
+p3kd8$qJBl3)PV8LV,Sh*PY#8pj8'"1apH0r[E[EC)UQD9YAl!`hq3#-MB')c)N3
+K4$AZeI5R'm52eIGBY8"p'M[$-kQr)+C(ccpI0[E"-prq[iV0kE%!MU6AKbr)UJU
+XM+(q$U`rekH!HKdfrSQJIrU)8d$#`'Y!DT(!G!B+G8"FT83$c'p)GKN'L4@)'S5
+T$Z%8T(QD[X(fVScHNGNI"REeMlhpm0dZdZ81MJm%9UlqFVK'T"cBlIPImF44hQ,
+UG2$jjAPjMV)'Kfh)QmZLH1FGMdciUm4L@VEa[blr@m"@IIaEYSNXUSrPE5klh-`
+lS*62`A-U&h&S+DY0c5MPF2EBScYFlQf@XH8J[k!ZY!4MiB"rV9IC9#2UDa'P%r$
+,RpJ23Mp9mdDqFU0q"Zf&DJ1'88+i8@lkD+m1mclDU@3fSQV)d5`VX2CANYQEU*q
+&L3k9fhTX,(6rbV8ed[)hlTdq1,)e95,QA8ZF0j8lcYXYmifmf6i8ZHYGc)Rjj52
+G6k9b4qphIA4"K6b5!ZpL9R9IZ32qr*cJXFq`kEcbjk8dhlGFcUmrRJZ[Er#XD1`
+bXeJ[E$dHd8mD4rm&'VBqNHbGkIj&[e$0U'm%Tkj,VPhL1L'Z8h5pMkl9%ZTkdS6
+k1RLYpM0L*fZ#f"&0%MX00E'6pK1a%liVLafcADAG#l5,kTrikG%-8a09q%FH)rE
+bi$X&JYL61T20P*AHmmcjpU`rYYd1+@QMmY,(EB,BKJiL)lC#KH,2p&CMDYBK5XZ
+cMSGCKi$$CVQ%+!FhI2@@)$CrCX5'9haSZ*B9[G`XVXQk,d)N2YX6$[S*4M@i+Ei
+)l42+dhd4Vj)QSZ[c-Pb*E0GEUq'@Q89N9),dkf"d8"(L9H"%*34E1qU56*@(b@R
+!8NDeJ[[JaD4P4bLD%+jIhcc5ZqAUY9AppmE("L*0+l4cUcBIQh3q!-Pa#mF,E5A
+@0)f#eBGhVIb0[)$&imfPSTl8fU'!blc)r"1N*dqBQ4(bV'*TRqpH!HRQ!bD&a[G
+bQQ4DCKG$Cd##!X,!,L%JPNjBI6GY$Tk2'$5CcfP$*Tpj-H3#+5*#Xef)L+AG`li
+LB8ZhZf9qaH4%EMTDQ+[QjLmhT0TF)%PKGR)0dd*T&[9RiG#9SLI"X%qLUS+S[)(
+M*e#[3Bfil1!VRXUb*+M`i5*H8!3+I#IA!RHIFK8N*X0X1h!`"TjYi"5G5N0JL8S
+X9ApmrD@ATVIYqhV`9IIECkmI'cMbKfYk2P@XeCH2ZH8Hq"f%R+DSS)liI*l&d#A
+q!@pr1688@Jc0@TKm+Pj$i&cCTjbJUZS3X2mbf$1TLHR&8-)51N1&E'*eIN$fC9@
+Pk!a630&)bYDJS(e8dfcJl+UU9@clm$effPRJ#RcU(Nkp1MNEXRP#,UT[Dl[iPTN
+LLE+GP%AeP#(b!VLCU6eXh!RMHZeKcYe(a9a9r8mD(Uc$i"M8#-R5`TU`l*jX3h8
++SS`IkE44A4V#Z"Al3U4pbb8ZPLLf3F!NJLSP)5-U,C9mCIhP3aThLC-"fLdAZGH
+eN@Zp'mIf&BUKUpcbXMGe9&[BHHl6QcpCkC90$aa#Gjl(ScGEXLQI0dADQ4!(3QR
+ce[mG+&IJ-jl"jRQ4+UD8,$(PR%bNN!#Ac$e`f&`4NdFb5MNSpH&NbI,Uh**rS5N
+XGqaCfNVq@r+Xd00b`E1bqB,LXcX)JD*#8VbQeS+5`T0'MJkDN!#P`4JNBZ$9+(K
+62[N$dKR402fS4[hdUqP#d"%5a@KdUKX'0eQ06F(l[Cd1`Rd31Tp+CPkJqkBCa(%
+MSbUC$`PNSUh@rGUiIl$ha2VRV[K"8G@6b@5Xe6UZA4mFHrGKiIXrQdSQJc6Ce(T
+a[(i`[,[Yi5qIdcFJ9LSTkU,ULkhDq+$l2cfP`BI1G+U$TMSUHqZG69qlh$%`j8p
+REY"U8lh@IUhAfGXc%2cMp`FKpceP%j+5frMDDlh1[@dp1`F'R,#*$L8T841!5Ua
+(pF$q+L%"#d4rKe'BY$YQ0I6jpaK9,if1@SfBmMl+Tfrp20R&qNCrT5HljPY[dFj
+",e6CPVL1'U2k'9")+mEQF'cTbMHGCc&fG+lD59rl$X"QKEK13)0!Xa-#+)S,iq@
+[(cU$4ap6S!5&l%+UBpIYAA[k,)2f,ed1IRA1Z66cHYN**!VM#!,6p@M8`Ir)BZk
+dQ2T5r)2ESm,5c'r+k(q,EUVhTc&lI24!T0Mb8pIFTVlc#FIT8Ir53V'C13a,#&b
+aCFNeTfYP0X$`L2p0X-F5$VlBBREP60Ur3A9'K@,KPS,9qk1ENKZE5R5dPZhDdjd
+EeJi0"2QjpZI[$l#kL0Q9EeqQ$S@24GZ3!"ac`jJ'Bp+'`ppL1S2EAa%pDB4RZ%#
+3!(rl)YF#IG&4U&8ZAqXKGM*ae'!X5Q!QpD34(ka+q'3RYfQPEUQqd4h1j!6+[I)
+%l+9c*2c)Mr%*58e-DHB%"q$MrAGC2Mpr+6+i)rp4Hf'dmDUHaS1ch'i*i`P*&L4
+09I$KH$[&bcRcl2$Z)3mafaQ+8`qb#DjX%djZNmJ"D@G-`EPiR,Af0DTE*Zemr$Y
+0K-h%N4BR#8Q,Cq-bC`EF)@IM3F$T9J30F&-9hTk`0P0mGVMX[Mel+jf*F0`2@a%
+dF%HTiJk1ZdYa@ri(1r,MfjS@'K@mMhkQdY2JDJJN1ULEA20Q`ddeQ6BT95+hA'R
+F83$@d!"49h@Q6H)`)VX9Ql0-!KL%E6dQT#fLA$G-0%j,'3B*efpZ5$bq9@-c$@,
+3**FRfS14N51q-RNiAQ6*Y%F9(@C%Fqb9mDpELXTN,ZicCjSMSh65'J`Y$E3RdaT
+9G#V6'*a)CaZML[k#P'',-#P+*EL$AAXbE@%hr&YRI%Z+)EV5BfUpXl,+$*p(j&$
+ZP5X!N!3D"9#!!*!$!c8Z03p6G(9QCNPd)&0&35!e,M8!N!-1"9#!!*!$!c8Z03-
+e,M8!N!-9!&3!C!#,!BB!!3%!N!F%5`#3""J!2!"!!,!"Q!!"!3#3"`%(!*!'!5*
+"4%05!`!$LJe6#TXN!(q'4E$G16N6X-81A8Y16ahE!48$fl(kf!a@pFiq++KBI@c
+"EUcUaX!rBhp8p,rrEircGPBCaZS!#jNe$9a@MI6"MNEhVP-Dl!5cmbJ8h-AL-N+
+fe,NJbA-,N!$IEi*fJZR44(62+AQc%pfmbHiVKB3cc%YDkTT5LKd,2KqEdhm%m(V
+q1HV+dqTUrjpIEXHVRre$rrZ4PL8#Z$0USi*Y9X&)*Va&Ufb-9E9H@cjLQlH&l@%
+9IG`AaY*D6+58Y!*a(daqM-2AVK[QKkBCkP2EpNhG$lS3D&U!*`6)!*`!6,hk,3$
+qkJN$%Am!m+*bi3)3()+!!B*LB#diLj&"M0m-3Z351Z,UBj,-[5Ka(dcIG2P&a#Y
+XbaJ!N!0h384$8J-!!)!08`YE)!-$TQ$$UQUc-,!")Q*J0dZafeQ9S#"L`alUfF#
+B96%,BbUkpkG6V!S,L@2)YZ*heJ"5+2hK[F##5VM&3+GM5$+1VpRh*L)1[qR'r[[
+BRcTA6bLQN38GNEU#'ELMa4UZU'SRT%mb#Zp&cJ8!N!0-!!)!N!8)!$3!'J%EL"Y
+3E'9KFf8JD@jcCA*d)'4TFfXJAM!JGfPdD$S!N!B,!!X!+`!VS!)%5`#3"4d!0!!
+Y!4L)!Pia!*!$1J!"!*!&0J#(!%S!`33#6dX!N!8#!%8!,`%rL"PH-#"KF("PBA*
+c)(4[)'*P)'4KE@&RC@3Z5`#3!kT"4%05!`!!YJeE#e-`!hGc,@B'l"R6bPA'0c6
+M[V999XBrEdr[eAUhlMhriKXD!!$`$3!!k$B0!!!,XLdEJDAi"hCRqrRPV5ecdeE
+0heRBNa&Y1kd$*bTR@GR*V[*iehG%KH"5a(q#'"5q4!bGmd**U)B"*8+!,UJ1hY8
+&`*1&(+!BY25$@4r[#**R3EiJhiV0BEcLr@Z6"D@&%LZ+ZA,FjlR#dP4ijI&K!3#
+3!``!+!!S!(m"F!5[998!!!%!N!1!!"rr3!!J!L!!)J53!!!Q#FJ!)K2N!#)J!J!
+L3!%!))IJJ#%2m%!L($!J*"Rr%#JDLJJb-SSN*M,b-Nid"MNQCI3b%Q88*!KRr!J
+%F-!3!MrJ)!%"J%!!KX#!!%!"!!!J!J!!%q3!!!R)!!!%N!!!!!)J!!!"3!#3!i!
+!N!H!!"rr`!!rrq!!2rr`!$rrq!!rrr`!2rrq!$rrr`!rrrq!2rrr`$rrrq!rrrr
+`2rrrq$rrrr`rrrrqIrq3!crrrriIrrrm$rrrq!Irrr!$rrrJ!Irr`!$rri!!Irm
+!!$rq!!!Ir!!!$rJ!!!I`!!!$i!!!!F!!N!1!!*!(!3!(rri!#!#$!!Q"!S!+3J*
+!#)3#)!N)!K!,d!2i##!!#!K!!!J)J!!)#3!!#!S!!!J-!!!)#!!!#!J"q!J)!r`
+)#!F-#!J'ImJ)"U#)#!bJL!J-!BJ)$3')#"Pp#!JC4`J)'Im)#"``#!J2q!J)!'!
+)#!'`#!J!!!J)!!!)$rrrq!IrrJ!2rrm!$rrrJ!rrrm!2rrrJ$rrrm!rrrrJ2rrr
+i$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrr
+i$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrr
+i!!!"!!IrrJ!)!)-!#i%#J!K#!N!*K!)J#%J#%!Z3!!2i##!!#!K!!!J)J!!)#3!
+!#!S!!!J-!!!)#!!!#!J"q!J)!r`)#!F-#!J'ImJ)"U#)#!bJL!J-!BJ)$3')#"P
+p#!JC4`J)'Im)#"``#!J2q!J)!'!)#!'`#!J!!!J)!!!)$rrrq!IrrJ!2rrm!$rr
+rJ!rrrm!2rrrJ$rrrm!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rr
+rq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rr
+rq!rrrrJ2rrri$rrrq!rrrrJ2rrri!!!"!!IrrJ!)!)-!#i%#J!T#!N!+4!)J#NJ
+#%!T3!rJ))!!)#%!!#!L!!!J*!!!)#J!!#!`!!!J)!!!)#!(i#!J$r!J)"``)#!C
+rb!J'S)J)$+#)#!`"L!J0!BJ)'Ad)#"P(#!JCr`J)($!)#!ri#!J!B!J)!E!)#!!
+!#!J!!!J2rrri"rrq!!rrr`!2rrq!$rrr`!rrrq!2rrr`$rrrq!rrrrJ2rrri$rr
+rq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rr
+rq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ2rrri$rrrq!rrrrJ!!!%!N!1
+!!!!"3!!!!L!!!!53!!!!#FJ!!"2N!!!J!J!!3!%!!)IJJ!%2m%!#($!J""Rr%!J
+DLJJ5-SSN*M,b-Nid"MNQCI3b%Q88*!KRr!J%F-!3!MrJ)!%"J%!!KX#!!%!"!!!
+J!J!!%q3!!!R)!!!%N!!!!!)J!!!"3!#3!i!!N!H!!!!"`!!!!q!!!!I`!!!2q!!
+!(r`!!$rq!!"rr`!!rrq!!Irr`!2rrq!(rrr`$rrrq"rrrr`rrrrqIrq3!crrrri
+Irrrm$rrrq!Irrr!$rrrJ!Irr`!$rri!!Irm!!$rq!!!Ir!!!$rJ!!!I`!!!$i!!
+!!F!!N!1!!*!)"d&38%`!N!B(8f9R-J!"!*!%"e0PCc-!!Rm!N!-(8f9R6J!$r`#
+3!`G"8&"-!*!'('&eFh3!N!-"5801)`#3"B4'8N9'!*!&K!#3!c4"9A-b!*!$!8P
+$6L-!!`#3!i!!!3#"!!)!JJ!$!)0'8N9'!!-!N!1!!!%!J3!#!))!!`#$!*!$)"q
+T)$%j16!Y16JJ3@aKC'4TEL"6HA0dC@ec,#"*EQ-Z!*!(9d&%3e)$!!%"$9-#h0B
+'NrI54Xe&%fd!Y2Nh,VcE64YQ`QbqU`[IK0f`fq6GGYA9G@%!#6LPL2pd"ISD0+B
+f([[%R@[C6S+*X0-3qX#ck!"SN!$&[[i%[JB!!!3!N"'"!*!HJ3$r!*!FJ3"8+rm
+!N"U"!&6r9#[r!*!BJ3"8rj!$9#[r!*!@J3"8rj!&9#[r!*!8J3$epT!$92D3"#[
+r!*!5J3$epT!%q2D3"5[r!*!3J3$ep[D"N!C@prEf+rm!N!k"!2Afp[hrN!Em9[D
+3!b[r!*!-J3$ep[C@rhrhN!5"rrIfN!3Vr`#3#S%!pID3!rcppeCrN!@VN!0rp[B
+Vr`#3#)%!92D3"2prpRmUI`#3!e48IeBVpP3Vr`#3"S%!92rfN!0@rrMhIbTr!*!
+$9&5Vpb[fre3Vr`#3")%!92rrpT!$r2hh9P3U9*!&Ik[hp[Erre3Vr`!!J3"8rj!
+$92MfrhrfIbU3"948Ihrhq&6rN!08q2m!!2mV92rrp[C@rrIhIbU"N!5X9+Y@pT!
+$rrp8q2m!N!6r+e6rp[EmrIC@UbU"pT!$JArrprD3!rp8q2m!N!Er+e6fp[hppeD
+VUrq3"RrhpT!$92Mr!*!)rb[fpPEqIrH3"2q"pj!%pT!$prMr!*!+rb[fpPEprj!
+'JID3"IIir`#3$2mVpT!'ri(hN!2fN!2hq2m!N!lr+rD3!rrrq2rrq2D3!rIir`#
+3%2mVpT!$prIipj!$p[Iir`#3%[mVpT!%92D3!rIir`#3&2mV92q3"96ir`#3&[m
+V92q3!e6ir`#3'2mV92p8q2m!N"Vr+e6ir`#3(2rir`#3([m!N$&"[N&%3e)$!)L
+8%&80C984!#&9lNDI2Tq98TFkPk@C#reCjkb$V48jAMZFd(A2QkiZ@qd'6S+ZX+d
+&h22ZD`aF1&jF`B%,)!lN$%F-QG2$E3JZa#ra1-qER'H)ja%daP2Meb"IRcFaZK"
+$b"cEq[llr$jYIad$)CIAprmj(9Bf%K%#!C!%%3'3!a$J"G!pqDp[N(HU)c#(`
+r4)(q$+l4p(LfUCZr"#Ra1aIILiA8p6rlPlb5LBH&EZMVDB*2r$L[K)i5FC!!(hf
+6L0TLZ[8@@@-q,f!FSN(c`9#*kT%er8fR%pm"XG16b'XkM38%ir19DD!Tf`BLe9Z
+$9Vm0j0i["hrf&fIb8j!!,*ZbMB%ljp['QVHm0EM'h,3EberaC36,RAcC5DmR5N,
+RPjfPea-P`9Dqh!QLF-qbXjhr"K#mMMlZNb!J*K`$cq3j3bBR6)%Qcjri`24@jlq
+"MP32)R09mdj"p"ddhcr[EXm4ipLL%%qZr'EmHb+!Ra"qJUdj3[l6I`prDRl@&J5
+abZ+X#!f*rjRkkq53!'-SUcMf!*pf15[iBPr%CDlr8heX,Kr+cL5Bij'KN8pM%S2
+D#B+Gq-B"eG3r-`(,E-%S-U"1CXaefCi5[XlY)%M'4&+-Lfh#P(pPUP#PiMprRIS
+V0FcBe&rCa$N-Qr'cCI3+68@Zm1P4rA6NLX6+AScY'a2ID2jaT#rD*i*j3Z@4Emr
+[jL5$JeEhjpf*("&GqCracl(jcl(jcd@`iiIT)YE@mJ0eJ'mpHNG!(6"Ec2AA@f+
+kP8H)PEpb1D1f(cjKhZVLVbVdaeYrq-59V8IP("3Z9M&e9i016"jb(-TYN!$lmlX
+liN3dEHfhhQ*08PD)bQ)GD$V0"ZPB5%[+6QNP3UR%h2GGpL*#l0TKRc@T(A6TMra
+(LG$C3j3G++Sk$U#aNGHdfi%YfVeB4T!!bCKXqmXEBV3E*'$mKfbj%[RMcS0$M`S
+aP9jI+062erQhG"k%bJ)3qm*SYrRqM4Y2[5dm-!L220!8FbCPeci3`6YV4Mr3I
+[e3FRQU3!C4m'@aBb2k"b!f[X*NIAZYP1VqbUcT!!hkcq5-k@0E+rqK6)rRiE-Fe
+3l8QBlpSXX*QLMA*fiMYrh#bm)$Z(%[jBp*kpR8$`MmdLT2RTbh08ccJ3P#L6j-l
+jZ#a$L9,EAmV+(&f"!@HS@F@h3F9a+E*bNYL!2hU1"0N24%(!&lkmP)Ycf1@KeEE
+KcImJ&U'#3B[@IJ4j6@A%QVF)mC)@-@bY!`96IaL#jj8)YQEhr!B9`F'1Y,9H#Vk
+)P%iHN!#h8%4*JCXL#N%DN4qE@K0T-ZiE8kQXb)#3!*%"d9PcSVXeVmNS*qe28R5
+EllH*p&$RpS5)*GX#JXMEdFk$VF*XH[qcpS"jk,hkkiI-*T1TrV1j4k@AB8FQY%F
+#*T2CC"qIKDDHfHAd@6lE"#'f)#hNN!$%Y)Qr0*[D!bRIZ2lSACD'Cc1p0Fp'3Lr
+r'&YR6*f2UP3P(L,$@B18V4L`)DV(9%8@-E(&,kS(UP20HFf(Qh+ELUb)(*@+-LL
+D@jTYcAFMNq1rQM69XkTRb@2'P*a8C-J8hVNi86G,f-HTJTkd1(hi#FAmC*c0Ff*
+4&,RUQ%mDDV--jPZ$Dr+D2Qbm&jpTM5Fl&hql'#5mU1NY-0BKNh$2L@jMB!,JGRA
+08`#f'dpmQU[kHZ1N2'Br)m[k5adZZpmBUJFC6jq*pkQV-3+Qh)b896+p,)qG5Fq
+`Kc%&+M(pAHILiSe2l9dV'XIiCqP6He@UaX1Q[-DqTrD+D+1TFr'Zc8$m1A0D5'!
+a"`I-b"V+@e+(RkV1'6qiaKBh,@kHHrLjd*3YhZGkbY9m[5Q[q5BLLH"R,P6m4HF
+-mc8$HbIkS16jTN@U4r"6MBTjXqT&X&66clia@dAcV`e$[lVjef"V(-KV,P8Y`Q3
+Mr@MCf*!!f0J3*!Qr3330[Aci!Rkqd,*qJCrhY+ccfG$Ir1Y6pAeL@0J'QTqN$"@
+,KF!9CfKri&5hFQ1)UZ[AQ*XI0dkYF69[aEBrG!6Y,4-20hpKY0A'S1"Kab,9idi
+eQ3%blUI-D5,daPq#b%TGP`,&'E+5GPNT'`P!&e!SS5aIFelMD22(9Tie+C,06e-
+@SNJLkRC92j@`d!Y8mdmEXP`-a2mZ1%R-Mba&N!#HKi,%!C+DFm6fUVPqQl#Y%9j
+cIFfaYVeq+PepFir&0Y'V([fVea*LidrTAqP2ll"X2@,$C+[BH)AqP9kjhV)9)1F
+GVpN#XqK!b&b[Ff(K`m(,fm6'Ur5[p1V0PUh(E1l+"amjH[2P6DLUjrEp2DV9[am
+8)CY[ELm'[R##2@@%!SKTkci,CILEUeZ42BFLf9(p8AZN#dM1Reb++qIG*N*M!dd
+IQYrE-G!dcIcCmQ0MA[0lbipY#fM41,,e@%VbjL1("jVZ0RmIE(2"pYTKYrRlber
+V#@cmJ2k9I[$iNDf[c6S'92VNb!e!$*qc3+eXELqIm(&NqNIEj-JqR@KTVKl)jYR
+hKG81bJkMV,[K'J"f!if66TdZ3YR@)JRLe8"p5AbE51lE*T!!23d5-M*)+F)DEjH
+cBlVf&XBB*%Cj#$Pr5BJ2BfhqrqAXGM1fh5(IEP!3XL56K0*%@f5dXRV)`-`S@+`
+Y4&5@(6$A*!TJl8&VN!#1S#UCd@UQ*D(3I'a@R#ka"G[Mj6*I96#rGKh-*aA-KeC
+R9Me$"Yjd4Q(Qcr$-j&a9FI2(p,'1U3T9K8h0+(L$)YMd6@P5U)@kU3',!-$3EqU
+&8FBSNBaEbGa",JBihY)ZRVBie8ErG)YG4V9C3CNhcZ'IhbG#GKlmpRQ*d+hDVqQ
+1j4Z$de&F'peJES1M8NM+-QdA+EFJ5m9(VqfEV1[fH4QDKB4UmmF8pE)QUJ-er&B
+RQZK#EDZ5a"DkM)%6h6'HI4[e+09$@CGS+&HBrd%14ZNDpdQElDQ3!!43GSSSrZR
+SCdfNmI`D9+#0@A*5Bj&GDc50aM8!fa[6Bqha(M%#a3eM-@903Rd9FYlLB64QG')
+8cER&a6T%YpSaX144Hd)11MfI5e@41PD"3X5)Rr0JNMAG"-Sh1X-L%&&"88*-a)`
+UbfFS8Y6N4X5,&0S'A)+Q(VJd1C3hc-(!GGBSa-Bd9bD(k2UXqf#SIX2KFCNbVN(
+56q*`"3kid6aGr1Mj@B*-dcj,2G"mFiSD8D5f$M5A8Y-ei*mPS-6a8pe3UTZbE(j
+4CBXVKL1ciVBJ-U88fH0aR[N14kANRX$H`&1$c6HYk@XZI@S)"I2$5dT3--rP4I&
+DAK3,-8pllHN1A!ZN+0YqZX0bSYZj9aU+8P4L*Ab`q&%MXS1m0!%hMf+1M'(LXLh
+1P9r[S#fTR8FMJh[33P$Y$@1E@HRBlU9aC+ENlh26d6dL-MMDM80Q@jQj(J"+X8+
+"I'ZN`$6"%+hJL*SBSS19%"eS6,",1YQPfUPA0pVLA8*#Pj!!YAR$R3c'a9+Q4UU
+f5@@e8mmYELkeYmc)DhlF(L8!J&6Dr%Ae,kaH3[l40)SXTiFZ`T9*@ecj`VjCHB'
+96-$r#N`)fG'0F$5#3BP0XX2i5Qe-BBVV*%DBQjVBj0ZV2hTP8XJSm"$!+STIb4D
+Y[`!LBN!5m-THir'$@D),JK)NU(de8EbBR8*`m66&fl2PGFkZFJ4AFm'jiNGD`B3
+S%`[Q$MLRI+N86kEGUXqXkZ'"QbVe!"3qeMr8qEb9QDYU2eAe0(dK0@Z6GMU'k5#
+ElY*11c$YPDE2'%4X`V5E64Y%V-5dMddE4&!'CT8KF""iZrpQU6%2XQ8KPKqm03J
+5Bb'!IA,MN!"VBl2%[L%aa3'3!(3!lVX,(U$U9aPXCFG3D3'bRY8Y%8YYcei"m#Z
++RaB3q)BR5JXHJ'MC1!8#55[!)%%!cbcKp0Q#-8!GFNr"CLT@eF)1C`&-GH&))Bl
+`ib#1f8bjUR&qF+hLB!Z!3&PP!8'R&9F4D,J!"fTjGAXC'fer*lZJa*&E8!)hdDh
+%`X3ZJ,KP)-E93q4PilZe-9ca#5DU826dU+UNi`8TjV3!'PclTZ0)(6QD5B8,I-m
+#652[C"F9dV,jQilFSN,+@!)a-`hZC'1QcVkfTP[!8231Z@mG!(Np8&58*`+ZcpP
+VC%XGJ+0D0J6[jDk%`kJXpU)CL8qVCL#LUSSfNRN)[pfMFfJZflB4Z29%A8VbMXY
+h@*!!9EicjT%GQMSLc+2aTRpCGiG&0i'Y&G[`)rZIU)2!RGbpX!3%NDrSqX&)lb#
+Q5`L%D%,4,LHGkHf4MPIKdUED$kHE,P`9'k&QC-0Y`QZ2FJFdeH&0Qr`aIrk9b0$
+d[TbY$M!lfdNF)EQ[M!QDfPF'p4M8&b+Pc&LNXMKEi+VRbSVLiVU%j[P$'5M)mKH
+T5L+%*P!%SE'i!C9AMP$GbaA4!6&lQlm%!f9J(fM),5V+%8ANj&PRZ'"lbEkHSX,
+QHGa4%k+VRlIe&*5%J6p"&$LSr[DaDUYc4[5,@A'&'IXP4b@V")K%6Hr'1CNJZ8A
+0`1b5*iQSC&T8#+H"Y)$NPJJb6b"2L#X%H1rc0Rf$3(bJ98*1LIaPM,XMPZ`,0P@
+dCPZ6B#`bjaEDm,1TZ5QkL-!a9BQp(@EaQUSScir&*994MMUDkal%4!8@1*,Viik
+)AJ"'MXL3!1'+kDkFkNLIK-Tc,UMXJ!N916BkX+611V#NbTbf9NhES#SIC$`A0Rf
+6SHSClAEbi19Z-#eHFT@BEN!c6*MH3%0-p1(!+"M9p-,8*$)!A!iXZ@SG@$b-DEr
+$a5XZri'!-@10DmR9FPj(lF,G`DBmA)`Zm",!MP-FB)*cT&-QN!!9Ved1m5BD6*q
+kPMa+J-J*2@)HKaY%b-ZRZZNiM04Pc[Yh0"'6U"L0'4FArh[9'N`XZ6,J+[3DQ!K
+FJpJC49(P9Zh#Zd!K+,H3!#V9jCdceVjHL5hY+EaBXJZIKBeT8B66*3ZG&@LSDQ,
+#Hm+S@Z-##SXIVCNSAUXH!TL!!UjVVCU+1(2ZGLm(2be!F4S0`GM&+pSaiHA6cr%
+UGI'MDMEYjY1eE0UI*YUpK',d2!$@debD"f(ZK59"L*%B26B,BF#"!$!R,6!F&
+I)+VT4A4!H*H8D,T6"i(D`*+50bd%c""jBULdm1q0hZSH"'*[i5DSXSk-%%%ck4#
+DERX,TUj+8iA&01AdIJi"&,!R4b2b[V&3J*S-a)*Q!Ul#"6f&Qe,Lbbh593e(00d
+j5@1m"Y1)5N*eNl5eBSfQ@b&)m+C(C1MKaJ-m@d$8pX"aRP65JN1NR$hi1BU$$4`
+m'VCc-[+54e(%hl3'VjFF-1FL-)+C%*NS,Ga%`"ULl+LH9&$Sadp8)K9dlBhQQIU
+DLb"UbMR-5593qpGdNP!!M5*N-DSDB%jCCN+c0mdi53lEVGNdl$bB0dM$GLV8e(*
+%TljQ8@&dXUSYeq8YK)XJUX6*IB3)c)FLVedRGXIf+U20!9221BFUVAEZSU)AjY*
+a5eZZ%)A4Dj!!c9'`$022A8[,d`JB,V8!S1m#'@q+#8M,lbB$T3[JbYC6F)@#Md[
+BNjb)b9mSVmVpb[%XUT!!4FqKQ%TG+RYVX'MVSHZX3J,SbNVe8@0k#f5T5k35,`U
+kCiB0+JRN1RVY-9)aJ[8HG(#IcQ`6TT6i5pQ,'cNkD9J5KJidA38@,54bQ#fSR
+`S"C)NTTi!9"X"5"D[!@Ab,fPKD-RVU#C*F4lMPkRcc6`pLXaEKJ!94$GK16EVfL
+k-I!NS,ilS$j8G)(9&$LL4*1TD#j93V%9E8`A[V'[l3rIQ022c&"Ml5PSX2B8c5c
+RLMPNX&B[E3ULEA!!TiC9Lck+G)*(%PU,I-[%T-[(CSSh'`SRN!$aLQaa+Q43l,L
+i!)R!peVRM#dIJX!R$1k!h&Q@Jj6'3(Y(`&IrV0-Il4#Ui#'l`qM(81hT#19&[DL
+mPq,MYQr#kl*3PR1EdDCPVV+[0(U*HEJMm,eS%-`9q,MYp,SXF0U1l*Dh%`b*)jd
+crP"kSPY5"Bq-K168$2#40ehP1-`T*(GE4I8PRYNFlCcV5!YG[5eK'a-eA`iQc&J
+!X2cP(+HDXVN!r+qYVYN(mJN1ji$i$,01Q'1qi+[VN!$H"82e9YHNbj32!R6KMNp
+%#!Pk&Yfc9e8%pf9U5UpeQK`!AR,PH`Lm$r'VE2G3`L)-eLA1Y@)3%U(BZ1N#2a)
+#-kSY6(XalF-L+%*ikBefL9$!QTY8G`@X%GHV,P('K9AiZi4hAF,THj@%qU0Tqe5
+KUbHPi9Te9fJPXKLqY`-&I)2mjSq4U6Taci4)1VT#&frcY(3&YQ-2hiL#q'"2!['
+EAcd[bX3Ypk5&e+,#N4EFPGH(UbY`I-cN"*Qj81kq)5fC,ca'Ifh-hRV$HIMG$GH
+@f8IH1#p1#pXEHhXMrEH,F@-!VhhhR!GpX3)+2L$h*q#8IIL6qkSklb+6S%*9bSD
+MCI9LRK&A!4I,+)Lf-*9%AD`Gf@UcE'2h[3aAbqMXq8kIBlkc*ECVU%6)Ijb,c%9
+LXh#h!6@j$'Jqk*`,pNLXG(pQbKP8hV'mikRRXFJimrXcql'S)j)f&X[YaS0`$K!
+,rTm-Q4DEEcZCJ89Jj(KkeQeBQ2,bL#'3!*&b2)m@G9PBd8+`rf"-4a1)BU-hHN%
+F4"+`PZL&d(i![Yk)+qC6Gd9rHB)bdf-JfA3&6Q1jQbTJLM)-()K%Em$Ul'+4YNR
+ZIJD&jGIHYIf`aaaea6h1iDKVRmHTaUI,@B'T,VK-L&J&VNdDB3l')*Nb4!NTSR2
+(T8C3+eIPNZ"EJe+&p8+GhBFM)ZEMlS1886j0-JBaR$#hH*bLk)lC`VlViSpP2el
+1jXEX+r1kr@[K-Xc0BcM-22aN(J#0bX"H*CPL(T&SZU)rLq*'Ca5IB*jhdL8K@"4
+6)ND0-lNVi(qK$NQG2N!J(@lk3)k$EHR[PSf-B"K&TL&8SrDBAHSI1+a)5&H"Mmr
+TIA%XTUiHLd@PiE)a("P,!X8i6%8Ih0'!R#Ch[i%QS'LjJCV&!2c%#(iq"4JjEKb
+TMN9GUQRf8,8J3p[4*$``Y"EQQT,8#m"42j,$`#N#NhJj#L0mqE0B521CpJ+rN!"
+[S!Dh"i+LEl`X@NhRa6CFdZ-)f,h9S9LS1NLLkA@L#Fj&pbDN+a"-929F4*+Mk"I
+$eEm!D`@aR2L!-c4`KKE1S*Df81fh$q1+mHUS[@*S-jaV5K&-&SPSp5h[8+)a5A`
+&2ciYA$`r[VE5&G)QSpMNVI5+"cSSU&`@Mi+PCc@@#Z(KM0Zi8RUUqk5!Qk#!5p(
+T48DY(q6q8J4P*0k!@F4ld!a$BM1K9XHmkXdLJ1+ea+4Ql*VQaf!!hN3GLQ8rcp"
+$XF)!Z1I*&D5jQT4UZP@11a18L@Mc`(hGlabHl6S*4ic*#DG2lEQV2VC,VBkiUR[
+d43J3[YXDK&Z6@[8i'YThedl0%L!R41'm[j8R"N&'NSfLM$I)&1Cd0`j9U"jr"mb
+UV4Mi9B9F`#p@-j`UDa"X`kTjB'Y4[F!2ISA'l))IdH(IF+H0DKbZ-Si3fB#ZaI@
+2m'XpfQ[9'bDX0RPGSP"*LhI)U@iHN8&"@(L"Ui',ib*3BYPeh!P4%SNb`1iCS)Z
+Dq)CIT%2me5e)I1$&*5-JNRRB05d+K+Fi`QTq496e&GqX6lpCU2J&MZ+`&N8T'9[
+91h4S(Mrd!Vr5J0cDeG@m#[D*$@)hVFCqpc[%XT8Lf"LUM@Q$IlIHJ2JQYh*P2F!
+MJ4Z6XBaY8QdM4h9+1%5*&+40Ebjhd`mKS5TP!b4"L+X!#E0&Rr!Zk[+*[&P8a0i
+j+#AhDKU4%Pk9I#%Ppq+N5cI)Cq[LP#daBSZ6f5)"d*bp+Z8V5UU)"YB,Xq,f+"%
+ID,Jp-5X1Cb4rG%Me%a#9Vjb5NX@9NQXNQPihJcQG-jIU-cLNV#*9#+p1%cYG!0E
+0Q!!LmVVU8eBNKD-,QpmI!r'fqHeCmHJLe+BK9E&pLKq"1*BSBACA2&DKRm5@GR8
+"(AYS&JL)0r`P'E2jD#X!-02#JZ"$42MJ#6LN4#IU-'9eK#RV8dPCMbjRbST+#QR
+k"p[9ipTRFPj4619bURa!I8Ke4rXVGS'GqLTRcK*k3dqi&`C@e[`'&lHFSUZ"D
+[fJc+fJi"GQ3k02pXeHVC[M"F2BpH%kiH#I!fQ#X[&MNTUH4e1!,`$)aMaKfTCp*
+6K*6mN!!+E6*(bG%X-[(#V6a*hBJY-$N"ac(e,rem)LP0f,FB!`T5X5%4h145GD4
+hPMXk*!*CG'"X[h$djQa+%kf6IhTrp!Sb$BQ-@m1El6aV5@i82LbQX%#LCL358ep
+M!EQZ0fmDJHVMLZC$e%2C0&5J(a!M8ehZ69j(AdiNZNRdb-)qU(EAK#+LaC)@D'q
+lGQEN8Uc9eYIUIh@*5P8R4Qj!hT0E(-q-iR2JT-pl!j,MLFLP5"mUPPYhH-fIcEE
+Nc-Ae[NP6lL+kf'26ArajYcR[GC!!3#El4c14a9#2UX4R@[ak5@`69$V`HJPFZa$
+a8rI+FAZ,0#84ihia&k#0@TV#`4)j6XGiXhh(k1qjijU@f1l!+f4R-HBIHZ5ipZ"
+-18i4"mFeLE"A5dN1@AD9'XfTUIh5m9ETL*9R1CCXKCJ@AGaHdEkSC(2VST+(X$Q
+3!+IN+)K8)%1@e")M#%p02#,Dp!E*Ap',$TEC%fe(iG5k5&@m2a"cD0RbrRdKCr-
+b0TZ#VE8b@m(MM#eTB&-($3NCNG)4'b6`hLLL4rIK2hXdHS3[+"(UbZM4dGlm8CV
+-b$PcR%mQ(8IY2XF4*#)0k,-"6%lVQ$dR+d-+9PpldC(pCMdPNrIhN!"cbql2kJ0
+p!NP$ZH&Il"mkCClBh6[BhpNhf0h@ea[K,VpFb2'X#fHBN!$BUS5ma)4-Y2926(j
+RSR2LV&i-"5+!89kfF,1&Mbr15i(-+0#T4*+pUQ#[1YQ%KV,'L65-U$`[)M!#Qj3
+G,k)6Qm9b0(hDM@lj4QTQfLj5aF+D2UKik[U()T1M%j&4)8Bm3bQCap-cjG5FA2X
+&jm'8iqR`F*D2ReP+D"CCbl"GAL$iYL'*UhI2Y&M)G*Dbjb!`fS-+L-#TelM!EJh
+IfP@UT1#@8C+iCNF0A'T,80P$9DS[*!$M(64V9BdJMq@#0CXb1`jE+(%k#C6%AGi
+0GI@3!dFQ0Ee$[0K4AE'@3@a&Q0KD,[B6ZZi%C43Xi1"8%aGp@5rkF0aq,`0PDQR
+a"JTD%8*8H9@0ZqX6)2"2''I$kAchCaBd'2B%BMCba5dD`@EETDe6-)A)5rLjBS`
+f2Ami[V[HdU1k"(I#J$1d*r$1@G(5`b[La`ZT%2hTB2FT'%ar@bp((9RcC4`Se#-
+[5i@6qN6Gd'p&a2J0+BSifL9kC50V-r[0lrH9UF[X2AX$G)4-3f,Djj1BLZiMYA8
+JUm%BD$MN[-PaL)lmk#a9GQ)M3`L9(I+M*cVepXZ,F'ii&E3aqM&N(UJ6!pN5m#*
+Y"3%J3XBre0djf(p@ZkAlc2F(U"$hNkS+AiHU9PV(L2jYK4YBTTf%@U2Q,)''(DN
+VTJ0C'%RAUCVVR&%k"e%bE(+L1LU8f2$L[XiCZhBGMN19dEDrU#f%!NK)Fkr5l4V
+NjbM39be$TKbrRK+,lK%mk&(#kaB36638q"!Tdab[m4FV(Ae2IiDQdj5MErG-4mK
+Cd4jpmarH$ai09@ClN`i1)fQU1SR'Dhd!dhli!&83QfP3crMFi,fFdI5@cIGC)Ga
+mdXPCXD#L*dl*K4f[!IMj`M4SFS1a[X8YLA,DH+5f')jJ`mY`l)'4Z$4*VQe$F1q
+9El4GK+#CDMFe2h&K&e"31hI`D(m'%Ak-)Va(f'9**(2&)'(c4Z*F6#RFqL"'%X%
+hN!"!8(N)'B&3[UU*e!5Qee%m`2!5ej!!i4d)U0efA`mF&J[Za4E8h$KD*-%9G6e
+aVYVA+#[M9K#d"Xj5Ka(UBQBN!$[R`dM1pREf4LED+YX+4GFZ')Y(AqR[%BjY3L1
+ThMlfcU4Uem"Y",4`%'JAJ*AhHq,f%EP08jG!9`RkSZX(4*KbQlB*Ri6)$b4%e+K
+m,IS#E5%93#JYqJFrVi5#i-d%&)BfSlIm`R!j$[Ie$NkFDKZPBjd6hm(4iDRqh26
+-P0c-G&N$Smj-bFa0c6c$"DS*$,C-`Z852mQBQV*!N@JJqJi4hT)aVbRA!1"Ie[4
+'[M2D26K*#`9#C+a`0*a'K4k)0-*3q&dD-[F1hGlI1GRI*`8hZ)!&aEK8d2Y0C1S
+9Rq$iQr8TSGQdq#`pm),[cCNc3l`!%l&Ya-)[''F"(HkbYf6aU24,+N3#'bR+-k(
+)&K3ApBC!IfQ`1c,8Dd"!fV"6-Jb!C"8[ST!!U'")9qJl6rJidY[@1c%CGY"+59I
+p&1@lkhQ&'(9NL8iR1B&e0XmcBB")eHLbp4Y[kiD!`@j0EbIIH,(jrQq3!0NN4i#
+!C$UlkahZ0kQJPNc)VdC@VMfdjkmmk+&+iHjPF$0$X9+"jS-EJ8CMLa2SrXb6Bh'
+!8Qp,3FMiT`BS)ZA'fDpaFEPUYcC#rE'BLGa@6SH,Xr++3[Tdc[L9k)SVA`-)D#M
+[qS)lf29fjI9!0rThJk,c"lfS`VF*Ykh-ke*pk24pc`9A@5PLML0Ld$Q&HSYH`94
+KQhV2pRG+`DU%4`H+l))'U[,ee8E4P4pPUlC6YDJhTf-if0[Caim989)P(KK028A
+&fej&Tad@!Ub0+KRCA6SA&qU4UVZLhd*i98rmcAT+f18!d-',5!Np1bm3&iNTAYa
+5BKYNl"39%h"ZFK'"a&a[&A+F5(@e2C`C&lljQH2Bdc0a,,SlV!K'e,d)jD#C3PF
+KXk#cHEj"@AKp$)K"m4%0AG)Nkl)0Vq@SABX5+T@h#)cmpFD1Z0(EF#K(HT@"9iG
+PpqF@E(D8UYe%$8HLh[%54crab8YCIXjk-KEDpUSmP@qa5NjJ2[d@pRQEj`-JpP+
+(,%a*2D5J`LHKr'*Fi1e"pMkLE"a&NVjSR%,&bi['8DV!K$iSXiS668!jIQHLTdl
+h'j-6cV-bfqi`[f#+*e!L*+D3!*9UliP(Ak00fUHX8h33"0"@#6L8,AX%,[ES+de
+F$2*-MH&Lm`4F-9K46)!)[hi2+3l+jq$B6Ki&bk5,'DMc046&+2TK9P&FGQ'PC6`
+1YT&`j+51Ej!!"AC[$leHbCNlH$,PR4+5bUf"4HBX(eAH)K2MkBPESh'IQSkHBqM
+dF&6fG0!&S4kh60(f'SmfZ*6U9F%8X0'J!$hBSY3!JE*-rD5i8E@krK0bF)aB$JX
+VSH-RN!$@B,Bd['ZKAV&86A`me+hj(06#rXkchDG'Y5UP!$8&pb#ekDbmMX!%Zml
+a%K8VGYPak'PDH+`%F-'ekVH$#A5BpI54fI`&0rqcpSLZpmBr-SEfEA&5)&$d'9$
+K86d-jj(3EK+r-Q'QEQjQ[h`[#DIU),T$EIlXNb0FU2I`Q1SXa+)l,NN8*dEUb$%
+jA+3d1IFb61!C$NJJk`8$QN2b-e+!)dmD&K)N36-``63CTS0%aiD@)H&ijZRT!
+!E1bCjCGVMR"bPH8G(NNH454G1Y@TQ4Lk[EGc02+jATRI)'@UL4a6MM+V`T9jI`P
+6CP@B-[[dbVcrTJj*QIj+b[5[8TPq8ZD-F'815S*i)f*e9E,*EH,QbeBIU4(Q0@J
+`,`2c1a``pf`a!1DA"bFQ4a&5Q4EdP6fTJ9HG*M)VPrT9dd6,e'aAETTq8$-a"U"
+r6`!68`eRmb)J,,M8pm6JcJMh(!(LK4!9@2`ANJMk[)!h$PXibbEM+PKXmBCXURk
+3!'c[E'bC*2TTUGSQ3+YH(`bZpNqLNGf,DVklFrF%!mP493IpV*Z++"8[22,D(3Y
+jj+e%`8q,B4jj++)I1%b40rYBYU%Upe"KBq80'b),S(#YP3S1&VcV$DCc95VH[M1
+K-5LZ5'mq[,--9'q&e$")V11&KFHk$P9()DN[['TLL,B`4*1STJS9i%@@DI#!i)L
+j@@9lfT&Yhmh"-"FbYSBrF6e0cB)ZQ[+M)5pq`5Y*(C%Zk8Tk`3*@H`ZfM*F5%$F
+iMZ-k0cFI"*DE,,(jV)P4i4J-VfMY8kc!j*hG5Fh`RVLN&Uda35er#l8`RI6h6KV
+J@%626M6K5BJDL3a(p84&C-M["l!Y5kp3D"GEYFe!0iTdQN,aqMbZQY)fEU15qR'
+4i3CrfAH1'idAFTed&6-%&,%k#a&*8Sfjk9)"[h8-bU20M&'a,!&5aMHD1R5rF5b
+dS`+f#%XJTJ-$,ibjFa'b&CXkHY!&&d40'Ie0(@35f`3*Pm"rGEf#R$(%b"PkJj3
+DZ53+65&*P!3Q'86aDX8h`"ZG"!)c3XD3!*D3!+'[X+1%113X4k@pFV9+Z`G9dDM
+9cd#`%U"FSGm)QVXHUKj4B8e"RA%&mYU+"9Fbh*8JJQ-K*B!L!%"PkiR(NP,3+69
+508QL"V40C3EQ59MV'aJ9k%!5N8Y,UeVI`-FQI,a4hN(0r*J%E#KF"rr`3(Mc(i"
+%18dkIN%,,Y$a#eUXDT!!kHQR3R&48UaN&`h(9NT0bXTXF2cB4!b'TZ4hqiG@d**
+NedCal6Lr0QT9D`dPb+j5aeSNJTJNrPG90+PA-mK`jE329bPih3S%,e)+"V#a@YZ
+4L8eUa5DjN[bF$1*QBLZBf'5FLrfDQLEei$k-JN(l6*K(Uh!24p%!3%Q#eF,(")m
+cKAXUXq'5)Q)`!+Jr*B8cq*4G0)@,@[P&8r`Lj594dFSZmF3U!B25"9prK&k'!D+
+9iE$eZfKNe4IYR"jqd3IDM4M!2GE-VR&kq$9qA%0&3C+*MXBUp%fSCfE6K"53!!l
+e$r(@%K1JeJBMY9@*)M,aQD!T&S`8k*9FT4H')[2MrU'`%R1p9$#qDK8m@K'ZJSA
+mNY9+rr@lE'V9PaA,iCGpc09YU(pCXK-EZX#J4$%9e-$F,p,%!H%iQf-IIcAU%rp
+cdSq%h814UPJ%`lNClA$S#"'BYVCp#JNil&&+q$eD06Td3"@c4Dj%UNB[M3l&L#h
+)f34RUj!!%SM[VYT0M(jLh(eTpp$dXhN%GVE)96Bh-V-8#8C@fXB85"d3qiA0(HP
+Y'-`5rJ8H0(r9ALphfZ@*N!$qjk6`TqQ6)B&b9a%B$h3%ZJ+$JG(!bB!aX#G`16!
+[d"5B(RJrF%GJBk!d8"K+KMbKpY#QN!!TT!RG'mS+(3M9KEi+[4LD(DS2h4(D'#S
+0&3D6`I&J4l!V1"JF$GU$kF'M`BA"fQ"$F'C`ER"VF+Fhj&9l%pj0hN([U0IZ6IF
+HpGCi&hKIpml`c[&HkphXhHAfZdIF1[FXYpQpfjhK6R&Eh&IGMlJAZH[GGlLIG1r
+bqAh$2Te[PUr2YpYhhRI!GpQh`0IJQqQEkp[UfeRQ+jXU5j6CbJkAYC@G,MYIYVq
+XUQaj@AACl,,kXQPP0jIG9lE,(r*Aq%ImlIiGrX0qKhqhrq48SIJ(r&502KX6CAB
+f2-5(q@ci'Kmkf2#RI$M'KKIjX)F0[q*$Q3dIiF-@0Vb6$leX@%e$hbifV1A$c@c
+i)KrHa)CImZ(GE2L[I2J&'ll&K`eXf-b(Y@cBa)F,fE#4$iqai4)q6'2$aAaiMJe
+Ijm-6E,L)$c[Cm'dqG,(KcrK`"a[qNJpEfA!f(`kci3Ymk'I$k64dPl$KrqE$KpK
+`"KmqcSEraSGcfI!rq(!Q'hl#KbpJZ48r&P,UETSL"4"6!fGBb)CFaHjME-L9kNj
+M3kj'pcQ&U&SZ+Tma5!MV$H!hI$M'AR)&ZA[BN!"(J9YQSUUdSLSB!eH%@l!KMb,
+[-icpTrSYH$HbUijaKM[BF$iI[XrBkr#cJ,22CZ*iG(KI9)KlN6-X9dcp+jqbX#2
+FQ,`TE-JM`TZKZ1!SCimSTLlb+CGLkJ-q43Vi#5Q2#j%9$%XiJei"h!bpHJA`b!k
+5!UETP4GmNQeh'4pHbiE2mH%FG[!IqA!''r+!&AbG$ERj"KFS8*K(+!3[BrNHITC
+cKMd+TG4aKLc&N@0mkM36b30,X)d0Z4%'$bZ-C4PRhmBBH-!1VQ5)Fi8%e@ci,"q
+'f2"[D4MDLH8rka%,2F#',r(K0BTVAU*V3ZmTTKEb+@8!H)42e5UQ[X@RDK46mrR
+8(XA8Ir+T,)E@crR9pc+'lq,R#QGSB`aFqD($$&%H-5%EBcp#4XrC53&r)22A'h8
+SUVMbhfJU8++BQX'R0V0M&*P(q05eLLPZMS(h&FIZj&2k!-"4$lbSB1"4(eLZQ1*
+"*Q"46$A`U9bf[D0F5)`0Vr"KK!f2m'%I'elL`ePX@-H(1MEmQ!p(f2!U(dECm!-
+DLL)f[-b(@pL3!%Fl4if'#rR`HUD#,dRjK+c3&i$FC-3,E$L2$jHai6IjF$iErLF
+ISSXDm6iV+2CLm8qXL$'b!99A'8bC90$RXaG8m,5a!BPbX3&GZBNG)%23X4II`Q#
+F$3J404Y30HUGHMrbE155"*cNL@rE16Mc,#AX*CHPX)66P*3U4)Q3!,af5S6)!CL
+C()#jjD6`YQQ68Br$Ff)dH$ki`'Z5rJ9Rmm@)Y`F(1d5!(khQ4q2S&1mDlG(TBS%
+`#ifBKKilTiRG)PfF&jG&ShJ4`j0L*T)K(-"bQXJ9am3*-8GmJX&bdF!RTiRj`f2
+L6P)X&V9B(-ALbpJ"I&k-TH1c,*D,6e2X2$l0XC2i,)QG`1Ief'jmIKE6i20#c)(
+2rileiI-IXF2iI",V`UFqYJ1Icf,Em*NCDmIRqc%CRcQa%A`qM%hK8aLV`+FijXI
+RX4LmV09)3ZNf+cBYJA[l6SU3!%i,lLd,c!9BpcUfA!HhlCV!c@*qi-2!YB'GJDf
+"cB(5d%T4(I)&5N))@+)TY$*3!m!['QS4$D'9'&T%[AJ1UVK'c"8E!r2&CP%XYJ#
+%p!Fmk(0)$ZM!C!Zi!%bD!rN"6H#j3(AJI#!'S$+0#rJ#b-)"2$!2Lb-81,%iLJ8
+TNB)*+E%+#e,M)5a5X$L'a6NXAX1#e&L(a@NXINU"%iXV@*!!'LpKBF)#A3`'PQ,
+a-4DNaUYBG'$a!4B*,'SSF'*a%BX@,*CMNF6L*5a#@#a%C*CJmEGB2)2&9eMFKm9
+h+A"L-4q,Ql"!Pj[L$LcQBI%K&YqN`)R&)eM-`1*E@-c'BJ%@M9Mm"SYD,0l#JK5
+`#!Y5`0[-L,jJ4[52h)MqL4[4hGb)rS8EdEAFL+lK4[3%0k)(Z"(GcieS-cHLhh)
+MZSmEdDqj%6h%MHKKEN5Ph)Mq`)hS9pb)RZ&'p$9Z4$[e4K6d)Z()cq$@lP12LDp
+,,ZZK,3V$@ZkXS!i'q1!9*jVh1$k0LrS*&h@MAP4S"N3YCk,HCk+@+83GFbBJbX`
+(Yr*"+hlDmG1$(b5dFXSa'd6ZiY[i0Yr'Sh`E*A`EfrNf#[MP4IabPIEb`lLmQ9h
+qlqcb$NaDf15rXFPKrN'#6@4TSlJ*HBGEN!"mCLX51&@MUfUJqYJPMR))LEb#K+V
+P*563kTLNKipdI%kI@C1'cqJTqRJQ$4mc6BND2V$44ebQBf,VbaE1h21bKErd5aq
+ZM!qTfcGD"PFk-rKL)cQTmB-[5JG%&BkRk3GieIDbjAX@C`SAm(qGqrR#iqc"Uk9
+J1N`6Yc`"CM,`HULUQKRU[c*$E@5'ZTJCDJ-ce0R-8(r*$(8k-p5IFd0pMK[U$'k
+Srm!0pCqjSEl($IA(h&$RFN1pLa[U(Ga3rmJ0pATZU(rLK[VI2)T[iP&m-irLrmZ
+MH#12iUdmL[mAMq)R@45I3$6p`DkT(%R4Ci9irDKc'emFFDkNaCIrk%c5SVBDQGi
+H#0R#aIk9LhfFLrd,%q[M(5%*4GFP5%c2(m%LN3T!*K!VH6F@8AZ8Z6G4mJ3EGAF
+L(5Ni4XkIVF`4K$*k"Xl""Ahq1qIJM[i)%R6AbSlDXPQ8iAYYp*bT$afeqBc6U"K
+"ecepk,M(K13a(H+`cX)A2Hd@5ZU1cXdI3@*i1&iA()-$f$,UD$SN9)dm8ITX'RS
+&Gc)r9Kf#m,4SVRP08FLHFYf(F8e2NEHYabm+jYPb#fS6rY%Mk@ZID1C*dl8LR9i
+Nd@p(!XCMjRUU@-aVR0lpdf)YVq3@,")fhD+#kHf,#QD6'UNkelZS8PDN4kE(#98
+M*`$*'Cp&3XejZ3QSm9TN!T!!FbLTY`J%N!!I0D(lX9L&(2cA4#X5N!$*`6ZaN!!
+GqS4T$$53!&c'Q[!UL36)DY1lR,L$EQpiBLSm*U09d9P$e1p"Y#%6h1qm0m'kEBK
+j@pkR$Zr3@8``XADQaEi&$Uk(AUh+&mCir5(l6VcDJ5iN[A,SXESULa`bZd`Z,2T
+er6IqXblkbrFcTZ5CiIpqGRIQ3b"3f``')irP+,VV3R3NUBX`HL#0[U-YEFG2QkA
+Z+T!!1,9e!Tfr[HTUVF2!c`G(@q[3I9-d"afZ81H)hkl,ljBGk0B&(@AaLI2jhE%
+LDF2IbXl15-r1IRR(2HMJkiCl6Kl2b-j-5mddNRrMi(kTmeEY9Ci0&6pI+Il[`L3
+,5CL8i)55Rh$fe&@bTh8Hr-m(cam[KfQ)Z$M6MXk$#j4-P6E&1FAU#QcTr0d8',j
+&ZZYi9PC1+VY'3UUPMeM$8GHb$NPUeRGi!L4@6McmNpE@1Q6&)1(VGJfKFU)ladp
+$#49P4dTdL"-LLGNX(H@GNIM4-84hC9C*r,3&@['f$4#[NijHTrM4heRmk(@,rjH
+(p1),a(U)ak[#BZNBlkJ&(5RNVdMdILCk4N&d[862+$JX(3XA5J8'%[Yp*"UGRX4
+(BTNFU'N@YFp2L&Uj(dk&+jmhL`@V)G!"8D+eMMjJDX@$fDDNECCFXf*Ni(LX*d%
+[,TP,Kk9NRRSa0-4e8j*,,a3l`V0@Qd3Y@bbMaDhNQYG)5d+2(9V!$e(AF4D*(CQ
+dZ+E`2*,I&&("bbCVmA#V"AKme8JR1M5$ZfU4JYR)UcRcmf#6VQ*ShkG[U$NkS+5
+NSe(8fVdQ$2M%&,U$A""T&!YqT&'T*KYj%fNqQ%EXh&"+0ZC6%[%D)ce-CDIjR"D
+Y3Rf(@rK433K3QN8S&6)QSf1)R214c14'jk$N6LZ@jH2aF8Lmk6"VH)E[iK)NPGp
+HajcZ(i*C@M4J3DC`"-VR(9C+M)m@Sp*B53pUB9f!X@SI6Z)CFQC+5Nk+I#&AlNe
+,(lb3!*ACRfXmQ$kCMTGj5jF5LqiM)Gj!+E"dUECFHZ10AX1k[eXadQE8-28K5Bl
+DTZqbVjhF(j!!%+"F9HkJVYrE1d6YG,"NmBlJ5EQ*fkP53GBq2RG"dE5i+#Pk'9G
+d#lUB@mH9[CPe0E%Fh4dJX5pe-##1NL#&iN[d(3pDebR8AV)#Y6p%QE9-lAeFlEX
+8DYr&hCm0DXpAU(fAAZfbp"!dr`BS22AmmC51EI+C#`FbXp-rfL$PU`ST@C!!P%%
+Q8hI)0A$P(XI$lQC+#4ZfPqC,b&*A)8DHF!U)VAE&U61C+8V*,%Y)c40AD616eQ(
+cVRB1*$T(@QrM430!(3kX4+e"RLJ+'Hab8+m!#9"LBZKi9lX`UUC6&bXG2aT5UCL
+3!*8NK!)'G6QP&c0-j[XXQ@qB3)!KBCPE"T63Z3-K`96KekZLj$P*&592-P@dk&8
+K-p"fIG6",[D(E@)(1R$L++pfD4qle2JhZG33"453!*LbTMl[jXlj#T@haf(kDSk
+J&%NaZXUJ0!K+)kG!5@AbQ`P0iJ+b!5mUZmZM`PXr`6Zqj8Q'$0hQDDZ#GR3Xk#@
+R+(50'c@Iiae`Me-P3*HZS%UUG)'KLK+$$T(IECF'`rRG+T"l!61MLR2$Z'(Q
+43SpHpFU8'$k!4c[kP9hqmDcL*Z%R0qAbUXqI91ZV6c&bhG8R$[AJd-R@1P+'l'!
+GMEG+)Vjqq6SfV"Fb`P9*4C9r[8'0'D*&3VF5N!!KCFpR%9T50FTF!rd-ZD5K%'B
+URb&14f#Q9ZV-YSB-N9A&LSaKd8%[+KrA0rpN[rT'1al5U(`KDj4$)pcM("jlLA,
+5USE!68``'[rk"J''8l%S"e)A5b#UrTMK!AXN),mZI01UK5Y39)9THEL5&0A3CS9
+UB&MPAm`ZD!qE@2cYqBE(9`TY8NIq-+RjC+j1If3*&(&lE"$ZXfQ86!DG2$l3DLD
+$'1LQLJB'5qUhmHTT*@IL8i8,+F"5ac,I0M+%dUJK1#l#'S*4()%5!mHS-BMU+FS
+,20TbdV"GrS"2EGHiV5pCA`A$9r6!Xrj5RLMR0J)QQ3SkT3#$JSS&AKC`f`()4H8
+@(TcAB*-Gh'`1m'j@G@')58(BXL+6*IH+eTS943HL1&LrL#IlmqmqXY`L"a4-86,
+RPKSPH-U65@26+A,$N8a[E8m-A83kNiQe,GG-@Z`PL3Qj2m`NcdZ9'LqNefP4J`T
+9adJKCd[j#`SZ6#'U`q8V4$A-&8,E(eGfMNJ)D3F3p0Xk(UMdTPfL[jD5KUTD$*F
+5k)&%84XT-1J[,jTCrZ9&mqKbFpj2[Lp&3p&@-QqTFrRfl$pr-4b1YQLSM,DBVN4
+Ea&CJ3TXBfZmcifNT$fep01qS8DTaVN@TaMqV8A%QhpY)S[J3d#cCZFd`q2UpKX(
+A9PBZmZHU`iTmJ(45NIq(HGHTA(+qQdBLT1*C83#CVkZSCS@aSB[D0*9+iDkfZ%5
+R"DE3Y)(ce&9&FGi9&KKdAQr5JJf'&DR5a@AUbX9di4HV6EfqfY3mrC68LE-5p#S
+aPeI9cNhA9lAS*QfpUle(ak@MUdFi(PLJ0K6*%J'bRESTECPHP4&Upk,$UKRE(fN
+AH)bkGrUKr1k-#"A$lHI)j9-1'SaeHjHLZ&XR'HcfUpU!Y%jLqlEQP5(K*411DI5
+&G'a`qU&8NfieN582+%5biR2lQ&BN#jLlL[3LP3RFp3qC99Bf8RGC$3##-Rd!JY#
+-C&8-,mkf(feA9$*5*E(pT-iX4e&*Y2#+!aG5491bLaJ*Q(,3BmB(UA0(#[`P0KN
+G!U,a`SX0+[,"I,Pp1DqSC(l91ZQbVppA6P9eZl*+N!!PC!&bM5T!,QAaM5CF[p,
+-J35""Ld%NNJ'T0SB*JkG[P3f[k*V&DjJ[$XaFNq('eJJ66L1jBaEN`bFpA4HT!l
+-R+%VcellE+6UZ@0j6mT`*I1Q9HkfJ&GdDh"J4U"%*h3!UP[E1UEDh61U00dRdAA
+SYFZR9k8@ki,cPh0@G(%XXB[fpZ4AU2LII*DDR`BJ@Jj#ICl`VJZNak$f!&cY+'[
+VJ8Y[G*YEei'ZTU(fqFG)13e)H*943@$p9dM)e&CQ!r(dUd0bbbPdRrMBiQhZkFG
+1VVcf@856Ped9lEbBm1)a2HK3MS`mG5Z-+ST(QkX0$c-e!-VFL03j83Rd!2)*6II
+q`(Z0J[jiJHM@1K6PC"jU1D`MFhf(EC4i!mCA&AjpZ`$4`bmeI1b$8Q,@,6l@9$l
+2QmU&LUBb*h8SQXSCLUCbSEDT(*6)%a-2hcL+ELKXk$F*DRUXq9QJUJ'#cq%(AG+
+Pk8RP&kMP,0[4KTBcFc21b!Gc-p1-QDRTQ4PC[pp3NJ8VXU!3k[)3bR6aSEVY()C
+q+kqL*UQ+#J1lH0AP4r4&-hbd4-HR29V``d#b(HD%Had9IrPKa9mi)'S3ZdpUdK&
+*SMUXL&JN94ermbZNScc,S)9IT`mkrXk,*bSAZAqfDa8EHfl&9e$hDM5XVe%fhmU
+ER(MiHTHKJJfVjKmZfDJBE&B-VT'1rQNXr+LKiLjq+&c8GU%Bq"8$Md*X-3Q)Dk[
+[3%mqIfaqB"BY`UYd*0rJ+[`&NAKhJ)M9DZF*pe&Jlm#4[K2GH'Vk2ILKB39[C#3
+3D-iKD#9id%,L#e(0JP+(RT3JUIP#cTRXNmI2C-VfiaHb3(!L3P0U9ZEaP08$"*r
+3(eLkP*d)$a!F$,Uq0,cKqkYY8SAq`-,e!B-HQ%-LbQZNrXTHZCQ**$JlY"&1LC6
+a%$JNi2FIYDJ$jEfBUAM""0bM"Ilj&LK+iM"6e5)meV%3$aS2)hic-[+1F*30S"G
+V8,5Z"YJi3$`-mDCY#LGCE0Xh*J[YC#I[#R8'1RKc8HBGb*Y)LS3#0)3LX"TGEHD
+Z5'@84FNII-FhC`[E("+PDEZPBGdm8%2K@M)`BSL6mQB8SF-93a$4"eC6#mLX!Ck
+P%#+!3B[U-pbm00U*1f4rIMFRDNX6-hR$RD1YRIa#D[C1I5+S@jRjK)MqC@%KGFS
+UUX)Q0f25U*`UDT%#4p%1VMbH2&RlmTa%+LJkI%*lCF&@[NNpbj4d['!R4k6#!*U
+3!#ND'Y+9#M&d8KP'()+khP38*HVb#QiY`@CldqUJkiS+13kX)!miR'4'$dR@NLK
+jGb'DFXN35P,&(l*@4+S`N!")mF3-*cbK@,h+hKa@jN5EH5Ber0G1H3Y%i`M)
+8bc951MD*ihEUe-C2T,P909kS3RbL6Nm3[DYH`D`NfYD[-JKU!H2+4#G%rEXXdFG
+L9GUU%0N3j-)[B@5KM"@6[4`eGRpNmFq2b[5MANfPRJdL0!iEQ20Aa+arL!3b,C!
+!e9&KEH%C)**V3$5-3*e+SP6#X"p)q%&fUi%+B#VTV`"MNrV#irSSLFpp$JNh8
+V)+cT0eG4[PP40EUpQ+V43VpLS&B-K**`N!#S+GGd0ec4L`Yd+eDd[RNYCQQEeiB
+0&dP0'$!X,["VY-h[!PIP+Qe&D+V59j94ZTjAUkrlDTi)G%V+)Z30VYdDkT5rQ,R
+kd&%L6+VC4(3&JDBb3ELmL'#2)m$QEYB5*IAAJ0LVk6CFSUUY6*!!U(ajH@#K!5(
+9!F8@&GHS&S9GFrGU4aFAb+XX%[4EHrQAFaA9D#&,a&a)P6Xle+*3fG+`!29bJJV
+ArP8@D4T0hHU)&,eBrVE#P9GNVe69-,8AI9M1GVY@S-#TFVE@`9jf+EBfA+NBG+d
+ZV+"d"C&aEaMDVZY#6kPmCG@m@RB4L1m*KG1Cr2)EEF+VZjLip'krm,CRk`cJ9*3
+kP-GeB39C@'5-r8mPiTLXAV8aP"I*8N*VrL![55@ke32CLU)r2"*A(3$+$hMK38M
+erJS)U"ikhPVc#PJT+f"&C030)l[5(hbM2+#D69hm[8+Ge95ka,UZACq002R'"Bi
+%2[*,bNF1PBNHUB'!6LKEH3I@(B'EMQipY-hp481@b23Qh,&3UeX1e4`"iIp*15"
+eL@D)PPBkIN'JUfdEr!NISdT04i3%R6LU)!Kc&8UXZPXAL9Fp90fT0a,llKXX)f%
+N,6LGP&HSEYCA`5M3pdmmr,mq*&HBhfj$KGckmcNJHQi@'Lb'D4+$DJbBDeE"CK6
+d5HF1($)4F41[afAH"'I0Uh&Lfpi%N!#jN[[@kJjHqSVHm[mUIEVZJD[@Q3ZTf83
+@1AR3R[fJhUpX%hN9C+HR(,q3!(i'dpN'al+`c@apIldh8kcIc0Er3jY*,AFcUGV
+0'%!M),CliZ((5N'3!2A53P1AAjH)*1VD)r6iSB[rp+jC,#8dm%"X6!"Y$pLZdTq
+AK$r9aX%GJQL,FdjdEbLb1@Hi*mGe+Mi-fG1iIMpG6iY`C219k#DN+3A#8BC`p(G
+&q-,[JM#8Zh'QT0b0-pG(Z4[2rcQ9Zd''!19Ze%M+hDKCAq9bK2pXbPd2K2AS*ZK
+bPQ(#Vf9JBU9VqDAhK&hkpqc5R$-EH1&M9rqQ&kj()D1rd26R+5ii3RqR4'M6$4*
+#NXlATlJ)4q[285#[$eUV9TED5Yd3GKjm*#-Rqm%,'CQjHNPGUHQr0fD#F@J`9HL
+GJ6aGE!0pb)`+YBm1Va%l2-%8pj`M$UpGRV@'R2@*T#i,kX+CND'i14FpPeq11HZ
+ljE8FCTZiCi1+YPPR-R268hiIjSDY*rH05aGYajp589Q9($#4P$IQc%b(Mr([%+P
+$repHZm)YmfZMH*SCCG%KmY"4*$jViG+0#-`p$NHr"mZ*`3FT#ZNKEl1Xk,*T+!$
+3"NN1e2`23m"$X%Uc$MIiKHf(q&1fiT+Sp*bXR!Fc8mU6Y8T4@mS4GG"SA+%SAM4
+iqD0Z+cMJ5RqSJ(&B)VP'di3R1-HLpK)`I!)LGGaac@+$h!YRbK%TQFm00QQ+L-b
+EmSkIZHh"5N@3!$cam"2Mh*RGTb!pP41d[UX-@GU,+!V)(4p"GkQXIYPbepXJ'-#
+*rF#SF[TclB[r+TIp[aV+CpplSM+bpaHZ$l+@GjABlVJRqfaQEQB+V#Se*b-cGAm
+k-%IC@8k"6&HdrPQZ5!frJX"Ur+%GF1)#!$a-jVp#GaSL&0!9Vkc)LP-4[CUK92b
+IUNPPaGBUM*li8e2,3f4U[4"jIJ@PS3%2M45NJ%L8rM`%C%jDN!!!489"34fFH2L
+q,'S'i2,!US08+LYH9bcUeq@)+Lp)k8@KLr+$&KhimSkRC@GPjMV6cfFE5T1`U0)
+ABF8%[!c33cL+HdY9[!01+%a0McIP$MPi2!!2Q%fbQKTB$!$T`5AAG8&Nk)+NVe0
+C$,8e1(Bmkm(M[cq6RCZ$VX,hVa)lk9!l$U(Ih*`-p!qf5RjM%1`$B$qBHqEm"A[
+k+M#lS%%F4RJd)L"1b@r$32"R6f$Ki@*f8#'6ZdS*I'F4EJa-9VQLlS'SR)2T'bK
+,9%lmF2p9(NM9kaYF&i3P@pT86L"G,e0jd+$HPlYlhJD`JMm'iL)H&iJr*m)Vrl#
+K,XXlmGmalm3I-)4jA)GK2&LZBBMe-i`(0m``(Y`3`hL`(-1S(!@EcfQMS2"[%!@
++JKJ!!$!$384$8J-!9V!293XX+3!UEA1rPhGC9d4F9L)LSK84dG5-FF`B4prhhAh
+*mm[)6-e-3FiY'!(#JQDQclZl!L+HcG3D-kGa(-GTc*V'-DHJF4bRc$br'XFm0ji
+l*613!b1NjAkH"9`mGp0mrqqk[Zqlc[0Ge`8E()%%34!%3C!!5)TN4#[@eGApC[e
+6qRP(X2J9D-%cB)l$R)ET#X0K3Q%Z`h5#kAZ`cA-UTXP0#%&4j-RGTh+cJdGENZS
+d3rU&)H2ceE[UC#-32Blr8LfQAbHedcc5,+-fHKPr6ce!(bI0dBUN22SJk90YY24
+EBdbdQFp8CaJPdBra2kL2d(G*Ll4X+Cf@*#h3(TH@'Sp'Cr(&DLP06hT$HeVkXr&
+8G"Pr6CeLH+-2mUPU!8e,QUfCT-('kHJAk[JpkVrTlU5"@U9dKSBNhDrG+6eJr$2
+k,"qN(U@DT,Xde!2M423aEP9$M2,S2r'KkQed4e+`GPaUS*5NKl8pdN2'mp(lq("
+eK(%UqMPqVhU5(N`DUHfAjKSjdA[j0qTZ'TBd5UZAFQPqdN,YN!!dccJFEH'4DLF
+M2$UUMMqM*Y1rNMTV1k4QkT2dGffcp%FM+$U"hkjQ8,qN[fV[5(mcmU-cq8pUIf0
+Mp1[mGfS6r5@TVpBSlD+H56rAIT4H0Gk1[X"lUjmE0k0[m#r9EqNh5GfeLp)RKMX
+kP[pAh8,r5(TI5j-LU%I5KeU-p)1a+EU9pe*6kA,5VAZdck3"aPI4+rNjYCZa)RS
+9Id,pRTj-kU)YPeifYN9ra2qMlU4RNcTSfk@Ye$lT&He0UD2a9[4UhP800Bj%Eq$
+AeE9d*5P-@b1YSkY*Pl3[T'['ep(VHC[U)QI5H8fA%ShlSZ0i['ShP'J(YeP8bDB
+PFFdLfG$d-*6q"XNdMJl3ih5#EP#G85IAMDXl82GihBNk-RYU#r-#4FDBiQAbk(%
+(9([aM0'kYYUXDa*-Y$Q1)qiDTf[2"h5YY&MADQ'bB"k"'3fN#4d,1XI"9!)cBic
+,2RT'VFYZm$bA2F"(ZqbbX!FiN!$MK29`,#&`KHa8-"m3GTb`BpMH'E@kjS&NSe#
+h&1VD1&RAC)qZQBXP)rS1[Xcbam5936&"%@P"#CBr5[D[h,'@j[J0ENY$mTiA,,I
+Clcb*i$aZ861L,!RRQM)YArdBi`jk*fDrC80QmURpPND,@fXYYcahH)[Y9*4JDQ[
++M2NajK5b[1HBX,!0lZH@j@A6X[XbJLbCm4Be0XEGP+RmVd#GfXRjM4Xh,3Ehk0a
+3,BE&Bc%NZiI38d4dD"kb'-aD2+V0)klk#Kl0BqMFSeSmm3B*V%I9$!rN#dl)`4#
+-U,(N`3$'bEKd)('Gf--04m9b#[H`(@)aK4XZYK663,&"QU&L&Hjaf$e-)'F+SQH
+(Y+TP111U2ZCi-De@5cr2HKiAT#Ck1(*a6PcKA(@L6bEAG3XhN8"DZ#S'A"L`f'&
+9ER)P-JBbF6@qJY("ZDY#!$FT0S&@ZF@PQEL5@,(Gj0#!#Q8XBVGkRUeJ8Zdi9fb
+#448V1%,CNK"[8EL&i9a1*J4VUebS40AU*E)"Q&ef[iDiYKr'Y2I,8(LKa@`TG0R
+0K@3a5ebi'YC40B&4m@mh8b(b8NZK$6dJHD&$l0,&4ZaA,B@5CLj8R4"K*VEGALK
+k+Jl&(V-L@$NNJ8-4NL6Nc'+NfJUVK%YLQELUG5[%J!AlH,9k9Ia-#U)QeQ%@)P@
+KQRp&95M)#aA'C6(Er*U"9+,`,CS`5KXM%$j4D6!#$bJ#169'8M"`c48[cMQ$-"3
+@5#[SCl"5GQ#$HYi[3*clqk*-eAJQ&b+ZD&3KJFC,2B)9P1YqGVEE+Bl(kqAdEqC
+DaDTfSGeeLe'PVG"8Y9NU#V0#'lpmP,D"e!ZMfK94#8"QJb4&%aM*,$$UY8,SJ`'
+"Ja5cBM-,&K!,1CdUFVYE%M[aQd)f`'ibA&a4R%bm`K@(jKFReP(X$1PITdfTN!$
+2eP%dl)iAZi$c-`U8(E*9XE+LR'I,X(a@KGcV99ZCqJ`Gb[B,"k,DmFVJJ$)@Lb6
+kU$fX5j*UYm"@$%#0kqMJM3%@98`bZH,p3p31`5ECa%!*K3aLaQ@4Q#c&,U&Q5"+
+h-+X)XBlcM+F+,jD!$LDK$4CcqKGK'#C$Bkc`N!"+K9#A6HaA8$0YB"9ic[5SdXP
+4XCSMY!+$K#Ck,&6S)A1K2X"-SJ2J,r4B-,#)JI#JSX3+2BT0X)UU"cEe#MYQ@q&
+BlGLLfV&&D)Q"!h8KP-N4mKcBlV!*Q3"PXb$D*E%5-i`ICAAH,diiG-BLT!NC&HS
+SU*8H&+q(M4A)ZFr*4LiR3cRX3JqE%)S+UmC$Q)P-%R05(RK#MdPLRY!%1!%Ki1S
+PNdF0%`IN!Gi$GqGK'`6&25UM)3i8*q03Vl-G`TJ80![ZFl+4R`NCKq"5r"'&j4&
+Pi(#b(8,8HE%m`H9L#a2[hqk!DN`R4kKI%DTL5!5Df&&mKBV)S0M+m2&q6N@XJma
+&2RbU3,XIlb6hpe9q-JjrMbDD[LXjU0@0E`L(kE$230rPMQ[+#0U3!0NDkrl+(4%
+8pBjka@G%"GUXU`kEi&(4lqbi0!'li'L[m&,%[JjM9LpdSRe`aUcT3&p!Ic&-X+j
+prdQ"9Y-!JjHSQZ1UYLS&R5-`UB,"bdHUfSif'$F--UX9r@2F#CEbd+!UPD('HdF
+GeeSN#8UmYpjK[,FFR4d`Q9MRV$TJjA`P+[Rec4(jXCN*kj[3m-`-LP!6Ul[JE1q
+iT#BhZQ-c0eHKKDcE)DXI1Yh&`(K[*XEak-q'QDYVbaHTIhPVY5[+(395Z)-LI)N
+a+8V3`Q(-m4CSFh,%`*Kc'[*U--D,j*ceN!"h8GAH#PB6hqU4'T'r15,)%R0ViQ,
+BeMQ0f'D(kBDYkDUf09TpBZZ4mGTm%H[f+FJ@3qck`(&V)R`iQ3(4NHJ-%J2MBm+
+i4i(fX4NQ5pHqLPDe0k(RQfF,R%-M@B(%Cq4[ENVH'@5*d2)C+8(rMiq#Iah-9Ph
+EeNGeEXpN[)NC3CQEhBf#fCl2#,cHq(JVq#2!ki6T#[i)9GZHUGS1Xbh1(9%*1k-
+X'IEmj-2k4*!!URe5S2KiNH1k,d"m2"a,$%3(Y*i00lkMUqT-6TZSmS*hYUA!1EZ
+5REIPalThjMI[M)M+h"c%4"QcMi%P$T*@`f6S@[*L0A&lCP@"$G$6JM,G4f-cBjS
+fCq)p+#-rFr-a#*lY0'Ch0N)XMSQPiDSD%418fC4FpAA2%K-+kMJU"VIb)jK89e0
+-Dj3lZC%"jZa)BhB)0*P9S%dVK#Nb3U"3b#kBF*K')k4eBNYT#YkMAJQ+#%V`"DQ
+@i$9YQf1LB$HYd@&-DdA(,JE'Y+XBSl*1k`E6h`M"Yiq3!-X&jd1kMQhG5f,GP`6
++D52'!T66DKc'&%q"0U9%$)`T19JEheqQl)H4M*!![PLl*dad`6-K[4lXDE0-k*G
+DTQ5+ZpU*63NeTR$QRUBJ29-5d%&kTL!p-haG%i6lZ+BTrCPVfJK!hEJ9TVRJ9NL
+NN!$i8URM8ee9UdiY-kB@X9@RCQ(9%HM!(d`pES3%Yebe4LV3KTEi9jekh,rU6*K
+H-0eKEXFjkZ938m'c3bILEeSQHfTlBfSIKc%9"6Ae*jMHaP#X-r4i`B#KdSY`'&1
+('e1$XIqe!Qdka%f[0BC#VD'!ZU(K"GH'4VCFEITqBrTaBfLM-E6ekSB[aPI'55[
+Vp2#@PA9kUm1B$MLHEKF$BcV+C6TmqA58br6qaY$3kUUEf*3IXh0(9%`3DR&c9&0
+'E)3J,Y[r,MU,B%ETfZXG9'Gq#GYa2L-r13TI$XUGc9(*3@l"E6AHm1VAmUp1N!$
+B0qU00miD3fFE3`%'3b-92N,K+a3HV2"I+2`r#Rp@i6mTI,r#rkV`pa5H`l"pm2U
+Rm"+&recKcbMFV["BK6r-Z,pAH,2#0bSmAZ'E&,jBi8iQX4X,cl$a,SAr3q'9M%p
+@q%,4"ZB&6#MD+bk&fe6aZZPJCeN+(mc%JIYeK4pJHdibe&-+IaYY#i82`IXKNhZ
+"V6&2iIFU[)dG*#TmVF,rV[$j#YqLm"#&pf3Yr"&X(-h5XdF4Vh1lQFCHK8HbPDB
+Tr+,#ma4qAH(I-N(YQ)T*#Rp"iAp6q('Q5U2#(e&iQX*r92J*KAqRm&mbe"QQ(&C
+0VPU[PJfZ-%@aq3Q&[k,`2b[mNX+A+RbJ`[r&G'TMT,q0kI3K8kK!i88XY3T,*`U
+MRF,2+I`YKFpN5dT-J`5&Im)+)&[K(44Z9IK1K3F8IP6K+U2)G)Ah9hKAPQ#8jH1
+-lReCfUBS[*2#"l$MHjQZS2k$M$V[+[`KPSD(f4U(@*V6&EjAiDX8[N6KD2*mV2!
+E#[p'iEhCBX2CraQQ5J-M$4+cR8(-1NE@U`TIc8S,LpeLHQ$Y9kY!C!1Mi)mXNAF
+ceLm8[P,K,c2@,BckqaMK`$TEi4d9rM98Cm86$PN-HQ*C1FeK6"BQHK8VM`F8AUr
+`ja8HT[![@3)J`UE`X`SIT03p49b+YR3+Mc4G6TepZPIVB(2SNCN0I4Y65VUZRR'
+mjkjJMp29,ZIfK,QPACC22rZ*He"YfrTCqrYPM-akHG[LSpd[eK6DPAGc1qqBlcf
+hFNTPMiL"H@&V2YMAIq2`l2CE&jAh[K!5L)qEA0qRH94CYa@[RANrE8M4eA9c6[f
+815+p`rBPackr@@Fe0$ATm$04m`TZI6EYK4mfh62QqSEIl[P,dm12GAcV$lIpr-F
+lLXrV[pllak"[RRlbqcIqqGrB"jCGqrUpNhppjm&(rr24dYrrjYZlC*[M&iIqPEc
+`i)#[T[ll`jLl4epCqqRc[h[pS8GHHI1l2lhkpY"aLIIpF[II0`plkSP9Illc(e[
+Z2h$TLiqIqe[q[BmrZh2"L5p[Q+iT6HkAD"3[5TKiMVN)cQJ4I0QL-$%`&RA$',j
+X83HB(XE3`DUfH3GFYq4BkIKhTDm2SJNFdU,)X@5-LdC!jT!!JX6[mTJ3,2TGZV&
+S"&i&N!![I&G@d8&fZ@J11XJZ[cYLI)GXE'L`UNA8`a6"C!XRKe`'ff[-"HGV6"A
+je(FAMHrX4SePdN`*1H(PQY4*@LeGmb0!UDrc%i)bD'Y342iA%3P"%@`Xa(hJQ,5
+G%jmrRQ'4`rKZ2MSeBQ!X0Q1-I'Ua#5E(U-(9P4SdZQY%[KbTDXdheF[0amBZm0S
+N#LaZ0KDR1Bc&kp'r#40Qe&bH41MjjQ-6DEj-4&SlBr&dSfCQYB4VN!$JIhPJE6A
+"-mKB@QM8$(jL`TF+RhH1TIA'8M6NPjDK$pSZG4Phd9VIPj+P#FE5611Ze)QejFj
+9*$mZ+XEp+l3FPrDE5%(i'q0,*d-C3-V5q@*J,!9d,Hf#rT!!!Qe*RR&A432c,YE
+!4+F4VEh@Pp$XUicm,Eq#CNZfM9@c*5Lj*5Le*HI%`&M5!@-AqReJHKYhlDV3M&G
+S&PT`+D6ekkKNRjE(a&i6PJaXfI4B81J`&Z39A&Y3kYYN%3I'!J[18!X@R+dB'`Z
+13!N3DJ&D33XbM,['[e+%9M9-a&kRXH#FFGG-KhrpEX$ME3-&,#V`dH6'U)Mp&RC
+d53afZL1LQY`al-"bV%TRAhQ,+b5GUj!!P"rcXk4J&ejT&Z$Y*p)L"XM)d%Gq@@X
+Xk)mZ8K4j40FZEK-G,bj@D2CcJN0hIP[VUh6qLe2D[iEC[iECL(5MLf++l+eVErF
+5(5m29ThfLda#ajEdf1)A@#(qR+riLV0UUM`jRJ![DTZI$22`jMd[VTS-meB+-N5
+LT6K[+``q&,a0SZ-R3i,J!"PDk*VrUqKD63baNYQBealG+6"SPPjB,MTqBUaM3VV
+k9r![X#1fq@G6HRl!Q&qZDpq1,0#Xm1P@3+)9,XdDUQVj+%iVkUX99F++qQT&YE$
+LeFfk#brY[Ac,Y4QqrX8Y9qi`jU-1cNFacZqZDcrL2F)DAE%ZR+!9cY"+2ZX1KX&
+,NcA5[kje"T2qbS6TI('Nj!XPBb&5Ha0["9D3!05+E-%+9DaipE2L$FN+i,EL#jF
+9PG5+R-S+GfVYLQ8Phq+V5Zf,,,k&520#T(RKqc$[iR)V[J&CJmAUAQlf)KqmDh$
+9dPlHi18@,aHkG29f-&@rQe5mQ9K`Y6-j)bJUJJj2i)JXKqeMHjfa(&BQj[LI"I@
+D-MGEN[2a658L0YQG(e&ZbE3FXl`6Y@YR601&S+T2*j1ZdZ*V4rA5ilr*-(4&(C[
+dG@PZc`VhFb[Cr@0V8"@aM[RIkX)BYXT9c8dajJBck*mlbf(-R9kJI32d0k@kTPP
+96H[QjALIPEcm#%EV[6`9XG$,9k[DM4)[$mG9MePHhRLIE4mjD,GaU2!d,SHG0$H
+FhQ[1k96*Fm`jiC95VTNE0flB*l,kU!6(f")akU,$G`X$F&(BSpa-fe'A(FBS!-i
+SrjI'6M[[%cNaD*D-R$mjc9e48IbK+G0GjC!!fLSBUP8BB3bMm5)R&fM$-"L'lfH
+ffMIpHlU165B9m'%1rejM'$i3$%16CGK'Q(KGLmHVIh`#6,DURCm,mck-(DC%G6T
+6Q1$E*e'k'YiRZJK@!)!23cdG0NMAl2dVp'[r%YY9Aa8(1B`8I,j)J@00fD&VSC9
+HhYA,1kPDBJh-(*Mf-!S-h1qScidkVQV1$Pi12q9FlZ@A95hcUUVCKX$-8FrE-[p
+R`(Xq,8M8#%YjPqVk)B6iq5aq[[[%Ze`THfph1E3mrTR4Hlqi"&ZJpGlrK9'AiZ@
+$iCU0Kbmk0#p1AkdiIEA&k5`(,T9qCR5[11hZHcSmkdCUR9%SHiS$imaMmNEA,LX
+kB#V`(LapZZbTNXHb(mPk02eabq(F3cPlkhFhl0Rhr2k6Tjilr8,P[mrqmmbGafm
+Vrp24haml)8AY5%i)DYlFf,6apBah-[0E0dA%Z'26YZckmF+EfclD[M0ml!a[Arc
+fjSf`@@hAVRCVrfaLk2@`+qKIZRcVh)!Z6hClSQ[(pUqmr*m1chCkT[1rE[pMRlr
+hr8[rhrAlkqGIp[UKaiHIr2IpIr6mHHpAZrrQmbqMNplp4EYI6rlPc0pq%(VP&F[
+(LE1R6CNkrBhArQbC8EISZm9,Pbb)R$GriGcVPa0[A6VAjFN"6h3Fh2AP$[pjB-M
+p`AH%$+fjbeT(re-DU)V$TFIGGf6$QVAV[elh4HTR+lpDr[f+9D[IZRZVR`KMjGM
++L-!eZmej2RlBTpr`@HJr2#TPq)-2MA51Z1IHmqm0((4hI%XDr25hPM6ik@mq02K
+deRZ@1H0Tm!GI'R`cDPM+`m-I'[RJL(X(hc2`lN%YD$$*Vl$kClb)RlKf0Y'I91I
+[RCl)Vb9[*jmIIj%rA`(K2Mr*jeFRdGKr9EZ0#54,[r+[C@Tm%5$"K-UD*q'AaR)
+dAU0*0r'a#*L3!%bGUkJe-ET9r&aeSXaPP'3a"6$GbdaM+)p'8bdYSb*-rM*4!Hl
+f1)LlbCkQ-RU+5ZJabUC(+)XHTA4-$E23BFUP3j4$HkQHGP-$lD&pp$cYTj1iZq)
+j&2F,Q*IlEpa(p%rFQhBR(DIEU*cqK,R%[kGMQ&L'JSUL(C4-#44%cE5C'UQ*0Y,
+VP%([8#EPidDl644"-H5Q@%UM,E5,IU3,p#CYSipS1qe%UIqr#(LE,Y+hG"2cfX+
+SVSfZd9AU4ZhT@8UN8,S1l"AbSbr4CET&jfJ!GD%R`I3%GD@1B(f&AUEr8!GXk86
+28'Ik&pe1Ik3qp(IU5hqKr[3lkNGrTFrT5qT&2e!2qT!!2U(rd[[d$qT*2kIHp#T
+eTpm`KQM-[U*hk4I8MRj0NqQA0*0q5ap!MbYBj@2mCY-dQN*6D6Up3Dr4RfN'IS[
+S1eT-5fN*,D")QNIcD5(0KHDANB*Ed2SFdhF!p1e)Jk(cbp$e2r3!$D(l+CMZS"!
+D5M9d&eQT6[Qr$`)UCPFib%8kaG&pG)3fd"TD5q[TDeT(Ae!UI8BVk5YD6Yr6#PT
+&UqNYfYS#"2jI")`(!GadTC'GE15Nma42`qK6qJEB@H4(2dbM+)@'di2d%)d%d`L
+kKqi&khXdN!!'dGhBmP)Jm"2pl59"3$"%8ph%31"6k2!HcF&[3K$i!hi6"i&[S1d
+`k2X`0"Ek2JKpl`8)h!0YliDq%`8"-YEa1e6EZ1"e#1BD%I+@Xm"&'*h$`JFLe'D
+`d%i%8a`,&d3iQ#h#Bi0&b(D+N!"Z3V#NDfa3b3,EN!!Hcm*N&L*CQ#[#idGBB-H
+2pfGK&JXM4,#8XU#`X*S&U`L(el$3KB83%A)6@)KQBBN)Hc0&U1mM`Zim&Xk)d'!
+@i83R%D5c)U61&Z%VY[QV35)X6fGK*3XA@HM&`L)4[LpLJ@hq[T'&8"BqBB'*@,9
+BK$IEXm!5pZER)QaMUQ`VCf%l#a%LI-4)q4%MbRC'qZf-I0YCiVGhCU'(#1'-+1(
+e,,!##fH*$qr0!L0a1&-dbXA#C4&fG'@"UCA-$T,$@ALCKCpBB#4)CN`**KCB)K2
+BKL#@l#"'QU!j,$"eJaMS01mASA'q#%fR@@$EQPJ"0$(P0M,5EmaLJ6&YC%`EEl,
+!LR2MG"%bMV13!-S#8c5$J9F'BmTJK(kR@B6mSb``)-[hSaKSj[GNB3S,$'KDbeK
+JK'YPS0$+PQrGbJ)VUYDq,,$0VBb8V3aB0c%5Eh+c`&6Ca!LhLB(&*PDdQiD,%-'
++,B+"G33VYJJ'bM%Xf6%-A')B1@)BqG`"&KKCh3bXhDbbZ9NPG,-%ZrZa`%MM6Q'
+"9GTB4Y"B#`X-8'*CBQ)C5-@b5KA,LMD@U4Ml'JYXFaSVi,3'&KLjdhD`X)Z&Fbb
+`5T,'b*('UQAD%"'f-+@hX+4ZB8RG`JTT5cF@'1'fX'6[%X[`A4EKD5blQ&IB*D4
+UZhV*9&XS8hqBGS@b89SS&bk(F4I+mNfB$p")leXS&`GJ+J[P-8F,j6`-PUdTP)[
+k&-SP(3VP3pX+jGdif0d$CN5Kh(!-"J)DZK6+HmTK`,!(`Tp2J!(bqGYKHX,-K*N
+"Ne)SlbFX'T!!jF*)@3kFNZ@50&RH(5h,crHAjIh6CIP%Q#bV4E+XC-LbhPQ@liZ
+$FF[b%C-XE`$$"QaFkiAT)F[VXf"@`Lb@jDq"r,UE,(m"3DPjX[cCIKJ)HqZb,)H
+2N!$PU(3B#)VU,XXl,XTbFUSX"jA"()%")UK0PTX9@Gi-38diD%9RNe@@)k"N4$2
+-6l)Fdai'bQlT#J2P,R5!Q5c,@HFmmZPiMr`RPdIqIEP(2S(1LAiHfEAG)qZA2I)
+UJX%"e4E,P&dXbfkBGX@bTcr-L')j8!V6$qDeBYQm&HB#6)pLHFcXBVPf9,&Fe!&
+Q5,&F8&JX(ja4,$pGAbbAK"I,f9f+j8H1`d"J9PkaR+l!c)3CAL`rAJ*cZ9JqI!E
+Q)J`fjKE"P--%&mZ(X0#K(6"Bl&"RQ0l&FNiPc'UB0TJq-"#@!`AhjX*)-0L`&iG
+l&aI,pFYKGX&!mISj-21,jGe3D$F@DNJTP[G%&-XRNE#6f($bI4JXHSTJ&KA,cd'
+4jb$mG"N-"*q'JLqFJZPC,&Gf,jE23[&rKKE,Cm++j6ZKi2%'Q%q+jG[--%MBEIY
+KS%5j#3BEbJFAbdHELq86dF@bj)+j#405,#Y)T()9"X4fl)0C"i10VJ!-L1L#F&F
+mc,PL1Dke@,i[V9Jq!Z@1c#f@0r3YPYGd+jEAjX#!`'ZK`(S8f"G30K@&Q!VKRk8
+@bmXKr(XXrRel'""K"3jA`9"C3+C+3$V"p!c)JEL!2#iY)*X"rHC@Q*U!2'BMc2b
+!R,F2*J1Q"da)3"i0aY'I"q6D!-a0Q-N"H9NYc%UBf3'j#-)2!(%!3N`3CKS4N!!
+,jJCNlfX"qH#DJ2a8DN$1kKq3!"pY#mMT8`+b"8)1lB"*#FJ0f3(jq9+B)3(jj0'
+!I!UG&`B(j%S`h@N+b#S8G4b$Q4Q3!&hVB5"!,iIT$$-b)-HY$U!b`Q$$NFL![!%
+E0[3,b'Yk"q6e5&!U%*rp"$-p)'q&iPZY!IR0&3%ji8a!EXk$f3l6*i!R!+!"+k`
+8ZV"d(4A9dlMp,Mi1FeY`m3Dc3(NY2U+SfXUYQ,4CH&4-aqIMa'a0V6A5&4UCGCE
+bFQKF'4J,[2B8ESVMDlb*+A6BR%2,LP4E+CP2+4Shm"8'AlVlmMa-J-iVL,mrP-+
+20j!!a5YGcbX$*eP-p+JLC%3bCY@@fCi1Z[KTAi`iRmQ"6[!QcN3MEKX9Pf0fXep
+Q+'41J,-*R)A(VkHRkXP8UFD[Sj`eG,K-MGp+clXT[F`aXA6kNp*Gf1NFAlARVXF
+(T8UI8D(Afk%l45ehd91BlCP0UjST0imH,4-cFmq8d"i6i6Sr*11bkG#q%-FdY[F
+M3ec'%1QSCI5lDAIaJ`l0b2ADfrRJX1jLAaBA$fQ*+[$G`,4YkdGe[,p@4L9HHMT
+EG@VPP&k#9LQP(e&Y@C6HV$V,+*hhpLGY09XfAI3-S@AE(F&iHK&[Sc+mmlK8*rq
+!LNkTcL`U`Z39cFpNZb0Bl1dNp1RL$HY%G58jP'HLFFHU#KiRqlaK+A4[54`l5IF
+j@HpY5b&,56DCLr$'9Be2&aZL8V1TV)J1QY4EH96NT5`629p+Hdei`@T4m,hm@rb
+GV3)XUU$KTZJ8H$Y%rXr,j0Z4Nj5*`2Q8#@0T85B9(1-hq*3*$kNZNa*@*L@X6,*
+CQC5L6$ViPNPKGCPF%@@br@CeN8aQ4C)YLX64XNJk#hAL[@'GrcFXNMB8LEQ4DV0
+TA#lZAKfrfm`Q80@#@KH90R`eiTeAd1rj+#S[8JFFTrVP9&P%KrP9bQkJJcPd1*@
+jSm'LRVT%0DfTU+B31%5ehF#NH0cqeY9VRcdH9H!l&)Ve&*lT!fpEcjqT8kh3+FU
+FpV-8VrfCA,8LALmTQi$+f9kH-P&mQ#J6h(YF411m2S99qC)Ri58*Nj`dM[hN-Nl
+1(U'XE#S`%HlE1e6UUUiB$,6YAYXX%[jcY2#IJQcG[2DjS1LNq,#j0+aN0H@9d,J
+LRe@D[GG6U-kCK8Y&J@2#Jd$ib)*E0B0TGle#hM)kN!!V0Ke!DIU#mPcKAjGJYPf
+U0h3Z`0RH$8qXmaIci"HjIDPGE)GHN3hE+@p0GH)MKF+G[D'4C-QUT`"h9XK9VdI
+J-DeCZEii,@+%BLrabHBL4VLZ@ZSVb@YkUE8Ape"iZG$F8U4GS%"*96hYL+TX`FH
+I1l2TG$EYbDCFI%M+TP,F-DQ`&6"AjE*Lld[M"fdqJeDI`A+I`A'I39De)0eC*&&
+a5CAA$XALKdXh8R&f93lX4efF%'9UV%E9&*`A+#hA`L@Y+&ZeZ@K-YVm8FD&9*&P
+dD`UZ-cC[*J@b(9S&8VXM@$QrMfV09+a@+4@1@d!U"MM'$A5iB8B3eqmY0`hAVjI
+JNfbYEdfS&Hf(+(bc+XkVcXT[)5XrR*j,bdV*Qd9jafPC&R1lmiA5)H+eQ&$'4kS
+a@XBRU'1Q#85AqUXHm#CII!NkZ''S4)ShCrNHl2IA22M90"Uh`kH&d`C"LVhH*b8
+VYmECXkS45,KP3S5VSh(f'*APdU-P`VhZ+D@$Z9483JI09+Ek#`2N*3DZrNe$8hd
+!E6`1d$CY-LBGYZ$meD@IRP6kDErd-bfPRhD&@8V3M'Y"Q`Cr"M)TrZFT0-`ChN#
+9CMTC3YrLJ@aQDXLL*LmeH1R34H5#G)MhT6YVkG!15X@SK"TUk@3Y9GBkQ+ZBa93
+9h8r%Ga6@l5QqSV$Zh!*E$6('f3@fSB-C-VV!&Q,jPECdIp',1,'PfZhp5SbqajG
+`A'GbLEEe'$k,LQSCm3F*aIhql4Vmfm6)LCT`U'LV6jd@pDj15pp(KlcUCIL4Xh5
+JPNS9HUb%5RPA4N,V+,pJG1H,Ve,NVje9GAHqkQbFlp0QINij!V$"EAh33'dl6ER
+Tp(3ZQ8VSDA19QRirYlJDN!$'3`lJC6EQdPUpZ#Al8[d&HLbRfNRLFBV9M-6FT"q
+JlLTa9HhVjSZ@#SrbJG,jdA`*QD[c,("qM0Re4MY4&50,MP,HDTmFM4eMKV@Jdl!
+5KBU2Jdi9f!K44mmMDcD0pdE`3,LM[UV'iZ@Pa%9jhJNN`T'[%F[0+j%SErQNTk%
+XFmfU&,QRcfNFMk[f,K0c1["bHEli21C$6P9R0+*e%cH"6h(&4jAbP1VFC)MIkjE
+aAY@iB*%Uh$qAjZ0V3QC)KGV@rG,(EK2PQfMM'8TG36q@8@S4rGe%UHYTVCILmNL
+YTD-QZY0,P59dXKle6e6+SlAL)+k@eYC5kMjkiaJ&9G,'@XU[*EFIDYX"Z[U+G[0
+LmG9Bp2S$&5akD3$jF0'l!&5Sk*d6Aj0&Vi2iP%`JiDcYH(mk*4bZ''9L9-j'ZPB
+B,hS#40m9Aj0CYhq9b%caqCR"Ejm#Cdd[RlVfreGSlIp(S6B),AL4c2%e[5VQ%fR
+jbBVQhBkEZNkVfPIG9-f,@eUmc6$fqq`YCKk"&E-K`K`66U08i+p26j!!aCd4LS4
+EXL5RD+f9q-&fV[m9`6PhE2-lI*Db(-BYm-VeNU)*@UeH2hLA6S![m9j,%E[(Dk8
+G60@ecp#qqLUJDJFaAqBJCKBG2&H4U,B@h'USlmCc1ZS#kX0mE'JrDA+GmdJd+Dj
+a,mZV@bCmRcqIQT3HYq"2cQC6YSQ+cP""#BdZ3F[0)6KQ-6Eal5'cDL5UGlVAQ6)
+f3V98(l5UQ1deiB&UXTAQXUVUaDbF,UT@L[P#id*elG3Z9F[+`"4r6%1FrV@fZZa
+VE99I9A[d+'D,TqMDCNcGbFd"%+jqLp(`i'b9dH6J*qKmiSF9EhX",cSU*Hi6aT8
+F%CDRXl#5KBXXp'*KN3MI&l&`PS9'"1hl8"eJbVUBEQPDS@SVqU[LlP9Ye@)G0i*
+LX%pe[V@DikjCfeXpH*6$q9B`MbT8R&Z2F!0hdQk0&Y(fjPQFfGqmL1F*[0PHf2l
+FK8Y!N!"XIc-%r@ejBT&Yj6UZriMPYr9KBEJ)(f@,`iq1BE&59IXS3p81@&Al4a#
+KII5ZE[pS0J4q0"I25GLZD!F!%pZcGI[f5NM&I4[BZ4hcRA#MSRCJXQVIIJl-fcY
+MkrBH3)@VYTdjB(,Z61@4D)MZl)jY1fH*E6X(krE`HR#',pHGi3Nmh+0SiEf"R)b
+R*S3[iZ%""4H8a!-DSLa!49d@+#dU4,I[U)@8(4BKCBG,aj8QePf-pFT9Hh)C0%M
+HKbh*,LlZDdm1eqh*D3)E*Zc,`[iNE$6%*#m@"%J`#4%*Ch8Y`38aZDS@9+4V3HN
+UlLM5JZESpL#NhKj8!ffEXh4lmhjXE6l'Rh2BQQpL#TLY1B@IF0Jflq#((3a`PXe
+!)q#U%0Si@GFD3E*Ph99l8aB%0*h@Y5DX8VX$ECUEJUHT$e#pJBS$cb$`E$6VpSe
+G41pfp+BM+4YVZ+9@XEhH3@ai(I*'0k#eEG+G'H%FMpc3-Tbk280XbEKG4l0FX,e
+6UY[I13VF1r"MSe(r-cIU@LB!0QqiDXqFJC0-3(8HjUAPSb'5Km,+2kVEmq0`NVm
+0[@E4Zk$EmPNkmRX#0dAJ4U&R"69D3@HYY9khYlV%F+Z`Q3*R"kk[k2A8F5e,N!"
+h%`2k6H8mh'(IP)#c6@lG[ZPPdHZ&hZHL"dAbiX3P,E&F4*'1#eTL9d5D!*k)cU)
+NR4'IX`+0Q)rM%H)J*SXGa"aR"c(EG'G-)bDI+2BB!B!a!+BBJ+icCUkS2(Ch!&K
+hZQjh!h5GlM9qE!E!fQd44eedTlZI`'VZkH"+%FKJh4jV"RZXKE(M[L'A29BN0MC
+#S12pD!&1XCm,c'Yq6$!fTjPdHeU$k"e(E`GidRD*S90hTXd5DQTT3h6l&U(9&QL
+ej3L!DNZi52q@-"eAYPLhYqlF-TRMPRjYb`Jam4DZ#p$j)qB-MX-605iX"deYEa-
+,[85iZ%f%EfX&mEi9hJHIaP3Y-&pmY86RA6'[9"GICaBkY"ZieF1$)`kI8aJXTTV
+U0UdEPadf6&c'9[Xkh@E[,d6CK%#l6C5[$EA"0J3p*fVYq4)H$Yh1fh9E[("bQ0U
+Sfd)V46HdbpI1aml`1T!!-rYchID)'Gj*beUMfl)kmcU(pQJ2A8[(cG1P'e9RlJ`
+q$hb(YX'j3YZF%Ph,@Bj"Ip@jem-A0LMDlU1kE6HV,,YlS$Y#e,-'H+Z$CDUp`3e
+Y'Z$A[AJ"ECL-c[ZUI8mjk,eRQl!hKHd%TMhYeR(-&M9PU$EC$6)jjABm#Xm*m(6
+3EClq`'JHh#pdi(C9+`C&$JKkPHUf3$m"DB(Aq%,`QP0eTrN#am09R1BHrYSSe
+"VP!%ce1,ZHc,d(`TZUVDLPJe,F*%cL,N*39iF-SbT1[J$(63Y(JDGa[9hP5eNR!
+mMJV)dI!9f9d%QE1Rm%-1fb2(aH!40pm0JZAK89E3C24'6&i3VTDR@cLil1Nc!5h
+Tc(FrAJ+-pMJq3q$"+XNS$NYIA6Ym"VZ@BkD#J!(Ri4RF+&6XZ88J3biQMqHLYSm
+qKPN,`8,63eYeqb%"RiFZ##ZUcU(HZLe(P+-YCl8SqT`f(1Ad`D)j-aPD9$rlhPb
+JpdT!lpdKd([Eq'D(YRHaEUYI,K$eZi6mqRkkXhi1Uk(eJ,Dm0-b+k#*F`@lKK(B
+M-mk$+fc)j2-FYSB8!+CY6`3+f,CR1&$D2P6UI8jHPk9Sq`IVYT0Y3[,*pcPDB5H
+$GGXT"TqR40DU23HAr9`mj*e@EFm*2HfRiD0XTp''FQLR,qVDk8'U*8qe[A"+E(U
+"DIG#6e8EJfbh%M9V$(c3@Fc#(30Ir%r8X$&p91e-'$VR91h1#qLJe)ihk,EMc,m
+HRk(EMip%%QicklEEQ"khLEa%+cITY[*3J5M[cK#$GHe2MGL2#RZd@D#1iP1UHD4
+U1cCF!2+*E0efiT3Sa"0GGCXN-Ma0DN4A!,a0kLb1T)'kTU**DZkYfT5YJN@jUYX
+F,1pb"9LS&fJAfLGQ3,!,MYYe6T5pD`TcL#k4GHPi")BC8icecp(CT6VM@RPiUH+
+m,if(ip%G4iT%e)kJ4-`V91H'[M`FCECKN!"Z@b-FM,B'lCbe)LZhV9h(JPXXZ4D
+Y)60D5H[4CM(M(VS[,ZUf,eJl+*@e+9+KdMK8N!$2-,&p('VRmRCSl4aPVCpQ&YS
+,KrApI+(XLQaq##UXbPl(+m(H4a(IR-FTUXe)iC%1,XICj*j`)lC!R0Jk6Q300R1
+K!"Cc+a[8#)+1fBLDLl)E-ephjS@)KT)f1Je2K8-@'!J6G8ph,P[*Sq"aPXh'TlX
+b2JaYU!1eI#&3"fTdTfN%3aA-C5M[DlTf%#r$!8c&,i@(#D"QP@'UF`#IQTp#SSU
+GUTD0jBUhUXj(2Z!,83'c3!X2j[BrLZGeH1"adkHJdaP2"`)!HD$G)E5@$U&CjmN
+"h'F,[pL!CUIFUMVhR@85RNFE6)Cj(LkN%#lL*0a))5$eP%"Jd[J,!+R+Qq,Y5,A
+GD4)5lZb!er9ieARE2TBKhZEfamQXfT8MIcGb!Ah[SRlDITmKr1maZ!!$jA@L4K(
+IlG3i!"KZ#Ii*cbI!cF&KUXea6&4&ad`4A1Y&GZ'DSY[dND)EYeUh(@(Zq%JNJ)+
+eDpIR#X4kY$'qaJfdMDTYAED!QR@iKASP`1)8E[99YG3i"kji&MDlqpEd`qrbM"R
+5bJUcI-D-'aeVDQS'@81XeS&1je5VGBL`k,mKqX(cB1mGH+-96$9@Dc"$$Vpa2Y4
+U23G%I,!e'-L3!2R@mAmK0Cp1F2b0rk5'R8D'##',3PJ-XBDdBlfPeBK[&YI82&$
+$9"J#&$5lIkl6'H*d$UcJ'$LPj4JElUi4SZqTUER(EVF2U9NSJN!Ym2FBilf,lHa
+[F-hp6Q[0%2m5JiC#`R"RF!A6hGpZG%,!h68MX(e`63AkrT(1i*U"6UZ6#AhB+@J
+98M-Yl*c914F5RIB4M#ah["CkHEJB9b&5r([mDLjJqrc,I#Hf$445S2c$!Rd2&!6
+LrZr%k#&d(kMHZ9$d[UNBcUhS$(TB-%9@,9G"V-&h,,&H@(l68988+2Ad(ZGlK6h
+CmBj18Z-!kB+`jk6AAVlRKd[aPbl&5hVmTHjhX,rh`m,#"Jbp(*Ei4qQG+lIIdr(
+k`%'IXb#j1mk4GSlXH-r)BF1NV5`NRqrD*5bXmp$Jb`1ZA4rBi9EEe@khHRHpF[f
+6X$#THFS28kC)b6#K$dp"q"f#G#(-kV`Ul84i-K42LYhfGX4GrdIr[EeAJ(00-!2
+hhrkjJYbIh[$@#1b096Hk*refb'[a(`b+[p%TrMf%UcHIX(jX[A(9DEha`lHR4PV
+RhPJ&i,MaSG0kmchl,2YNqc`VLMM*DPeJYFkarYVqkH@8Fdk8Aejjl%0A*18"bGA
+c`b&h$lPEq[!h&Cfr*clc5[#JrSPAm9-p9kj,NhX1NP+P'T62@P&)IadL25X&59Z
+lR*HZL6,i9PLEAGTLIpC1rVrE*+i@U6Q%fEcaSD(2KSCfHq,FbqKfAIRA!BRA*BH
+`kd+Pe&"rq$#d9fM2a1Z[![e@k#H*Rb4+6h`TVIK"$8M6T#6)'bGPfX+)e00Y9pU
+%I!!!("&"4%05!`!Zm3p9$@9&%3!aCHj$[fe[PMPI`XX-qBD3!*1mK$R(6,,KN64
+(*5jC%ZFbNV&%#GambG4N%mQ50FBdjAT`-6'%D#''&LbA3`1PTr(j$#a3Uak"!CE
+$&5mhmRbXpAJj)K5NL1@fA+rBe(hqIZqlC!Q@FZrTIIi"'kBRj8%3"%!3!+)"&qI
+a%Cd1,cjFb&a3L@5%!ElqCp-,,Fl'lKBqfHd02Nk9r(UUr'*miC%lRHrprB[e%)P
+$@TXDHABkE&PSF[T8dqPb*"di"TiicB48I+iIR@HMMh(aBjKB93M2%[YD&%+(lQ-
+&cHLm3r[`85eq*-32[km0lM(4c5-jJ)*qFMJjq%jA&cFF*4FN+bM0S%T)T*`ih1X
+`$PPq&DjiQEGH1a,kli*3!6QT4Qrji*ReU9CZH5F3@VXh4+j$hAGlHadCeir[$E6
+j9MU9MAYU,I1j[r[(p,Ia3[H2cqrRfrZFIhCSJe2pj*iV)F02!p'F3&2CP"9r999
+Naq@Ah,dH02HMCYQ"ld&@X1(!hGA1#ZZSdDT`1BYHNk'`AfQ53F&N'9kYm@UmBN9
+q[$il%-VP[G[MJLRS1D-%KpVdLHe@LPeKE42$`ib--J*(r3iiE+'5p6[#0Y9I[f1
+)UkEMHhba3%cGd+5%fheQ8hlFfrL4(1%*6d)@q'FHS5N5eE#+@&Njr`a&SHcGTNM
+[AXpUGB15TLBDXSS9'0I'G'MZjK%K*C8*VIbcNE"&65"TCG8'NEb,U5E$9M+A"#1
+6QQ!J&8iG*-cmfKZMR0pYHJ-L"DEbZP8CRcIkc1%HH1Z$b3TU1!DR[&bVQq@!-LF
+JEV9i0A&jqCGpX8PTq2piiC5HGF@6A6KRpCAlVZ5@V5k!QebS$qrS(jX98XIEiZf
+'j!kkeh+emeNI1X,bH#STp$RrT29DT'8prCjT60m+jrF#E28jY3eTV"iNX6VVAr#
+Ce3hU&C2GNr$fKXhDa1R0A%$45`P)keBH'p&FGNc,DMX5I4TVhH@pe8U8LPrfb8M
+FYDYl8a&pm-&Pa*`c")Sm0%NmJUmLkN@b,baH'Ui%2VridNKa@RfT2MQ8h`BRU!T
+Q`X4E-P2"V,ElV-KU@Sq9Rl&5UM+TT-k@S6&!F'5N4jdpmNd1(&G)M5'efZZ)Md8
+pTS)$5`1K03@pHeIpHVK#66d[Kaa%d$Q(4e!VSKBeGA9*eD3`8K%9`KA@lGm@&&f
++"M$B9ccih)VR&6DSl0b+Uj95LpGSGHEr9GEUA@p#rhVa-@a2aFDIHYYm9QqRlr"
+p&e46rF1cmT'LU8K'Y*'@N@3&%JJCA%Bae$+#9-!AUEBAB6BDS36e!B8fSZ6LD!*
+@d-9c1DkYd,8$hi3V!$aK*$8F8i1"0QmTp'8T!P2pFipm#$)5K#5qYN)j%(RJed-
+9UYp-L@S1F5A4`")U%-N6j+D68Q"UCI0H8N69IepQFjS"190YRQU[96AEEdIH1r,
+8X-qN,SLhKR[$HbqhFk46eIA9JJ48Uq-b+94RD85DCSN"+GP!b!1Lh[Df5HN)3m9
+3fk`X6ibj-(M86am#$k!MP")1KR6$"*HlZ*K5S(6%LVe'B4c*"*C!%)K43',m1`0
+MAp[bI$,)5#B8'X"%R3Q"+Bpheb'Cji54'$$aR[jiNlUrerbF&JQQmQHG)jNQQmF
+I"R$bJQefhL3Dr"`ZP'CLqKVTr8C+69S+)rIfeCN`C#IE6(Hr%Y([*X4"#3a*a*Y
+-!%VFN!"'3BS&`rrD9qIZ,akL+pr4$h%&L6fH`%meA8Se1KYKp'd`#NJNaZ&qKR(
+C4Y9IJ4cHr4)Qi&hD5GTF$2Gb*$YjX2[(!-C@E'6VMRjD6!H-C11@1KbY"DZbiL0
+8V8QeJI98DR$,EeBBYaBLV65iT@k&FF[&P5jFTmI@q%%D$[EKB2+imi-d1QK`EUP
+T3)Hpd,EP&AA`Jl66U0!'La&%QC!!%'6i(&+$1hdchTYj+'`'ZQZf,H%@*+3#[#m
+D#eYK1)j4@UJfTSr`,!eSlYp!S0TB(dB5Uhk5&-jRR9M)KF@p*aCbrk0JQ4TXZ@4
+al4pXZG(bbG11P'"a2Hd`(jR[KcViYBNcMV("PMf@reJrf0*XHDIZME%+bhr8[6%
+FA2X%r4eliXk#9@q-CkAmc9fUp5Z%Bq#e!8`VQcYBKCq4-E[(V&S""Xh'qX%CPYi
+ZVcG4ZJLT,HHI&!JqJeYliek[PG+kf&3j1HMDe6E%%qH(f$CA8`)4JQ(jeNje*ZV
+eDF5&%9USfT%C5i"pUD8Ere@Gm9R)E*4@1j24f4TA8i219QaECVbaflQaq43U0ei
+rHX['pqVr2hY9Li"F5mQl%e+J!d1eT(#qSXpjfhb6MA9RY5@9brqia-5CNBjK35E
+3Y`H)V)QEmi+Rl"[A,1cDH1a8"bBjTPZld,+aQDE4cRNU#P8++)-Ecq3UVJ)),A$
+ELZaUUl$c@qh4EIUT2phEP#4J3(`EMZMZeVBMh&34*lFB9H69mS&q$'kSLTC8l)D
+LQ!Dhh)C!QVP@S$'B0&X+jbJBi*!!M6biYG$GRfj*i5JC`q%Rf#4b&!rV2LQFAQ`
+E%e+95*ec$4aYAb,Kq5pG''jmraPLdqIFjkBKKJ)ZSA5IT5*0M24i&dMT4[2L5AC
+"@ETJP!Ih5mXJ,T``mDPqN!!@`(88Neqk8[GC1!%h64NZ!aE"CQDDDQN$UIV8I0j
+GHK1Mdh4)DJk!V$KP+hhFdfmJ9")5,B8k(3Q+3LH@[aHf*"-Y*a%B8%$EJ+[-3T*
+I4NAq4qJSYY`@cB%4fDr6NE1$',4%NHiN4c`D,c-1cieH*0C9`@+cZ,$&+@TfP3q
+2Fc*8%V"jL0,"Ihb'JD%kANfX#45Rl-l@D"0$5RZ9km#e$j!!D!!5FR1qc3cjmPe
+[6rAV*@%Z8TG,M[*'G,N'`q'G8IGldM-QBEi[LZBEJ85ZVh8A$H%G66``"025JFi
+cf`66%PrD&NNZB'6#a)$iLrVE"A3dQB6i'%#!iq6qbD+60l2Y1iLIA9VHmJ)-UNS
+X31JZZ'-2JX@h99K)CUZ1Q5d4T3pQNFRVrPTA0hVXB"D%[F82iLUkTlZcG8p"FE+
+HUN3cM%JH3qM"Tq,eBRTQ-3bck2Fd03CdIi3`()[lmE*iT!5UBFScqSB54KCSVpp
+-%,k!QVaFUP%"8&UdXLJdFrr+K"Yd0Cpk6Ek1J5[,IM8C9M3@4f1C*ImKfd6%e*9
+G4S*R#J"HJC!!LdNr,5SkmrU&Remk%+#P6BFYDBYYia")MDfQ,Sq5@LJYl89A1GZ
+9lDHP5cFYqh!bjL[c2Zl,MclkmdXHBD!QfZ26K&'KGJjNMR3mrUNkCj9ME5Ep,FT
+XIZeZKpTjr0*)E&A"fYISEp&Vef6HAI#P)d2"YP#UDbcF19$MlSp@*bXX0k2VAUi
+E#Lb!XklMq#@Ym![A8Uj,k3YE+4)ZFGeHQc(@[EKlFDmYSm5NRYmIimP"jhS`fG5
+hI%k1(SJS%1"1U'IS&lGX2ZLKcBG+3,K'PGAT4!H[+10F-N9m&`NZmj!!H"@hf3m
+K"d,6#4kbmdU%4RebIVp#%jd!dfaadR%8PRBERH&ZTc0JkQ)SeUI9[$2AadG[F9k
+G6-9!AR"8'MDR9DUF%+J54*b`c,H"a$NK1TK)6FJiM*dA*-Da4@!h(4d`GF6$a8c
+mbfRJ#(lXppSiL@-frY3`'T@UhU+(5NrJcb,#Y)PQqhQ4D(r192p#J01T!U85HNE
+pGZUiD5Je[U%#ql`Sj(%Bj5CR1-1@`P@CBrBY38TZUEYD(!$*3TXci-BJLB(4&4K
+d"UJ*rER15`Pr!5R6GA*Sc#p[i(*f,DSU*YE*20@ZBL'3!+HH'2`l'%4ITDTF@DS
+5M&afKQRjZK`CB[epQ@'MFrJk9h3)CJA6aNN`%4!S%d$@cA9I*SJE2Ze#da*-9MQ
+)45m4CGATiMG1D15Z)*mF9L2@I#cdIC-@ih)qf[JkSbBCJH%GH-6T9!IkM6cdAKi
+RF-!Cp@F*C8+E[GQkI@!`0TNi)IJlG"%SB[hh#PM%f$0Y!&P%ad#3!#J"33*J'FB
+LQdH@#"hSMr*3Uf(!)@R!jb8$2RH'r4emp(Y&hK"0P-@fNJ)Y"!`EIjj2Tq63JaY
+d"dXfe$q4`SCZd0r3hp''AVh5$I9M)mIAjf*6jrcR0K@L5&HmF%cSh3"bbSm%eeI
+HPIfpZRTUJcGQ[qApTe*IeA#,LiLlBL-bjT9F,q@hJZ%`Aj'IVUL9$IN@&b9hGEV
+&MQK#1[4'&MY5&4EA#$ZSF``&Ca9N#0ZbM'1UB#A4h$F#K"ba(&i4idd'K&4+)H3
+`e$+0(B3+H@q(jj-S,hm9320Gpki2Vhr-6A9XbLcl,acY`T&0A`3p"4(LrIVeJqr
+Abk193XCdDP50%8#lYG8#IN*IRG2TUVPeP)k0Ur6G406Fe6*MR+31U4VTc9H2m%+
+HaeqQ!+KUkG"RJf%hRdQEeLL9Xed8j2@P)plD@'R*RiM)A6UG4bK%X&R+VP8E-JZ
+$pf`ffG0EdC9$*%RkBC!!`J2pB#rMFaBCVS%D#Q0"Nr+#FA-T*j)I$MadLMQIcbd
+B[H9p9aRLkfDr2HmelHHZ!J@'GlCV+(6[+fFFqP8"rlfrAP1U+PaaEmheT4H&2[i
+L*G98XN!0"GS-,MEG,S!VC3Kd3UT,jNTfi18J!R#8ZiajR,UDjJYHIMr#6Q4qapI
+m'h0S8iGX9lJ4,PTqSlU!QYHIkh`F6[KGhJ93PFhDfj[KTRc3aJ*Y)[*khLD(iV9
+-j0[PXpeaMLV'XDP@ir[epqHIip'%G$LqAUD2FL3`bY'eHD"3DA&IbKk)S4XC([[
+U&5%1J6UUT-6"K!TI1Di@aRPd+'8IBXXHr-NV)Ge"%ej34!K89CGRKmEjUL[&dhJ
+HC3HihMM%(AQIIV1`N!!$6@[c'+T!&@`q'm6[0+LA![AF,kTRq3p8ch+%$MP,9"1
+$MA0*$5A!$A-XAhm#aJGG61T)k+TG#U'83%')E6+p+T!!L*bA1KAbprd6IJi%dI*
+@a$G0mRTV&i(lMM5CQ[2Ap1SAjl)#P)89YiQ'5Nj&V(C+%0f49XX0bdZE+5c2I,R
+b%TEhl+@M"pM4LibXhJjX8TNq%kR5XkKNDY2,jfP`EQ*0!3eIa)Er[imlA&BUV"c
+(N6XFYC`5&8hVcGb5CVA6%LJC2jLAahdQVab0IGr13`-Aa+-didh*a(P5I5D)r[-
+B08a++55D`hRXb[GPGYcbI[0eV[-4"8EEiS$BSC%%Y2)(h$9@ZfcRPdQeLql8Gm+
+)!CR9ASBHB61))p&@[KpNP(fAiM!%GZCD5M-ZBXNL!bQ6)LNX[$)THp2K8%dL+3@
+RR*V1j4'cU5$ZekcZ,I$X8Xe`bHh1QTNjN!#Zr5hf25Q-B$Q5-GHU)4D5kSLRY$E
+ApRLVp[aF"e$Y@QrSRLZCl$-Xh&16jSJ+KU14d$f[EAH%Jc5*ZPfGl@hVfre)4q(
+i41I-KU+FISrRC&(1c%blqi"l4`C,6*BE6#J%@EQl!BN5Z%[*fGja'qGP19!$e@H
+&!im(bjCp@)4(6061dqmZqh3T$`UQV9a'fM+QQSprk)hj!Paqi),k@60FaclE%4k
+)l0LV4RBiLYEjr*[fVVS`(&%VlmZFp9f-&l@Uf!i`FRNYXeTiE&,`QD2+8-5D&48
+#F-qIfhYJcb-IBP+rD3XA2!*3mdR9H[S'*%EN&r$!aZ,(eB882%Z`J9ZH42e-U1*
+Rc9K1ee!GC1"m[6dAU!MhP`$Rpc,1QrBJ4KrGJTZj@#$`LjANJR2haa[Ai'0jfY*
+UK0QehY-*F,CQfD,A)hh@b&*X$XEFIGSP%J)dd#VAZA"a`F-2RM'JR5-P`E[pZHc
+*MX)$4GSFC)+Y5![R6NU3!2rUrXGH,$QCRHe**c6&KXA#mlRm,4*1(NR3ee!J-B9
+81l`55r[Zh0bLl*c4!c55Q0Qr@LH9CZF8j4l05Fme"(iVNTPI3S'mFARmX13BGA!
+N!TG`a8FJ58K!ZAEF"#HL*iC(@A3!p2@di,+E+l5jmIG30BXCGS,eBCLM*jYYU90
+F-NL,BC*5H%e!fVG`0aq!aCN2AA1MN[i+-H0LRSA%!TK&XlA9l--M9PbYeE#2RH*
+(RlLJAD`BdcDbMh&a`,#i`#Gq6%r4U`RNS@RiYmaFZEQ!(IMC94+iL*a5#)3`pDa
+Kk`K,B1`V+Y5$i99"L+d38NNHFj9,&rfcBZ&pZr&bd'Xf+maQ"4-VQ&LKNa8k8IL
+$0-pMkAP&2HRYlN+fkbF0@b1PL`K"N4LDcbI8hR%&bD'R`qBrh-STR$@#0M(!(9N
+EpdiJX$l2lpZ`i9EH&'!#V@Y[h2pkc9NV9eqrd'YICBE4#Q8mS'ecCFA$H8TK*9Y
+FbaC(X&Ki[FCAKk9GUcVK#)pNc&0C)R!rM`FQpUXmVl+%VI*QcHXe%(@B8Y5DT[T
+&pN,'RHU'PhT!U0QG1E)"D,pIcH"##E*rAlUY1ehEQh2d`-hYZ8H043bZkh[QjkE
+rb*kHR30iV`cR'CVkdS'1556iJ+$)"h#C+E9RCbLI%TVDbQf1l)3Dq4Xc&Y&U0I+
+Q3bU-cZ0Uf)*YDV+iGMML'[bd`Ua(,!k,LfhilK5F"@T-+UJDk50m-jqilYf5B3T
+q'XRC8$,)@R@)Bk6%GZimQV&l*AI,B&Z,4d(%8%`SRZ`PaC-p2S15e6lPKH--`U1
+SF16qmkbKiX224kmC,aZ,5!V+G3C&Lf`Z9V4)245Y$kpAZ#YB&V`a&!Zp'VS8fKG
+m+&,2rXBLCV`bI6+jhP6l#+k*K`Y#PTr%1"kVmIFe5#U%jML2[%V,B02YF$Vk*I,
+qj8Z6P%CVA5Q$4&r$9,qSG$c5+Nd$*J*M%M)`)4C*VYUV6KQD0i5N)Ca4%hqCad-
+"6$X)TVTb(jc6q+a'Bpk,`'L%2*!!q%6-K'[qiM,PTfYq2jHQ`Z-`(Ad0[IP6rGR
+(402!3lmCNKN*lISNH'dPP59Amr'5bS5K-P"F@9dbQ+[#5+4iHPc(qjBND(abGrb
+UB!$iE!!H"9FQp$DJfJ#1i*SI"X!I1,5HE9eST9Xhp"E%91ZaP$C6[%5`MlD'EFF
+L'PjUX1dd`YDm&V9Gh,*UhHhBXQTmDR3hBF[S!B5EU$PD#QL*P3*0-Z5FhqQ62al
+LN!$6J+r33p9%P3Z2r#"'!`D8RErX'*+pH@,a94@)H(S4$d&FLDPG*JJIm4(9lR8
+[Za8ZdGMCq8L*3434Vd$-BJ3beY9--eC$-*K$T6XF5C&6P@)AbmY$hHc#rpa9e8c
+Zb2i4K!*Q+6q1NA6RFB1)TM!4MES0*)aK%-1GF%+S6)b"f#@CPSF2LXjN5K)U%%c
+cTFjaQm1iUGLpkdK+a-`q16Zl9eYdi$R2F`H1'RT$##IM4B8c*r82*#,fd+1aj1U
+%m&!ff#qTkX2ef+MYc+'pL#T'9TXF%+4%ec&9RGe2*-&T$VQfV%G[NDhM'-,R@AG
+MrAB8SZCK@cM6Dm,@9q0DHqMJK5N8$p,30fp+bSc&F$&6#K*Ra5qP$6!mKRYPCQC
+hGP%KVT!!8c6*THkFa'Rc2,k2bqCjL$(hpTdf'(CcHREFY0ZSAFPqj*8)8mb`qm3
+3Hb6K)K,564pK(FSL'2dYh(,jCYl&"Ec-2)D(3FZJIN!IG3K0$5LI0#6F"0,,5VE
+L-BN)bp(XbBbL(598IbcFq'%EYCSD,#6m0IdE*R3FCS&-B3I!G3DSBK1lS+peCb$
+dLDJ,8Dm,MQDN&h4R$)p+dKmU&VNchCN`!e[j"$ek5J0DhaY(#Ne2++apd@Eda4X
+&'dmBTe'3!100[ECi'$qKD2AKZ65pf08T"LBIaBK*G$N5R[Ym2Ip!a`$!#EcVFLq
+h3(R-PcZj1bVJdef9U-%PI!)+mF1)b3!"HA%2)bBEKDPi!S4-iXI+e'8e6FR-4S"
+hk5Z0aaSGNbimN!$TXb39``)*A6dMbF--K!aK`cddT-VP0&8Zah9,b!fEP)X(6Kq
+"3$laMd8miG[+,@HA%-,J"B5"X0SP+cc!5'P91`RXCp(!`)'&(LM3VFCMc44mJ`S
+BjY9d+%f2#pd0*20EY%!bLE`QGlqKf@N3H4Nb5AL@HeAdi[bCFYjMq6ZH91'@[q[
+S%F%[!-j*[MqCcRZi$Dm"hSAA&,IJ&HAQj1Fde@AKMCQC(1)NU8Sb3BM(M+F'T$,
+6+6@N(aIE,dGc$X`Rp1eLJMB'3$'"IMaHKPH-dRe-TCmIk-IQFi3KP5%prq+`VDm
+CDPf8$G8i3$biBF*NK"kfpi6b"$JKPd'!r"5ZepK![kI94+!i!MF02VbIS$R`@kV
+SDiKZ8Nf'j[eV-c2C2`)ma)E`2"DB)6AIL9QcD)cQ&4XMFGKN"N&40"$5!*!!IBb
+1DiMT8C%VBfYBi"eE1F-DBRK8j%K$lUC8P!RUUpR(c'5j[TR8p)8cI3BcHAGT-pQ
+ENJbYCP1aQ3c25+'![aHhDQETdFQCSaNCk3GQC[l[C-jNZhJ0GZ9CY26iC-jm!kU
+8AN+),LhC[G)PUR'2YDq",8&Mb[KFpY'FSUXXf5NYUGZYCqm-DcKc@MKEY#m"-EL
+!Pm"M#bdY@M,LIEXAcmcN&X@I1`RZ-r'-p+9(-fE5Pbi"%bkP(G'3!+L&Qd80*(P
+BlHKZ3(LE6#PGPV$E(EE,CGcY@@qp)"rQGNq)IH`82r)m6DUp58(3S"[T8835&3m
+%'cbZ4Bd%jTKl+BjrH)(3-A*+Y2ab36`QTQTh+jS9(hR@bDhm*FrYH6cDT%Cb%j*
+`T'Qe&&MHZFDKEEl'i3[LkE+A2+[8$MAI-!8EY%YkQ65H%TBqXr9#Y-9D)j+F`&!
+L("@0&04S,el+VT*!j8jT!CEZ,$jQbpdXl@[e0'il(0mF98b4iLY+,((`9m13!$m
+Bd)ATf``&Y"r0,4)4(ZLTh8QKXJMV3L!'K6+'jJld)h"fc"$qC8!l0Q$313DRHBY
+qN!#P@,QebU*[Ue4m@UALNU'#a!Xp4QqA",%iR@-Xq%6"Mia3`C*&3HTk0G'53aD
+5@-aL&ahVTlIaX&r%9C!!1qHZ%X+e%EMejC`jGfpmfm'@&"5l'-R`@CC3Z[Lk%hG
+3`&bS'ih4JIl5!ErId&'`9,#VP`HVKVZb"L3%$B6@P-'e&-DrEP&p(8"P[lI$LiT
+Cq3G#hJMqT3A#,T*)!22h@UN,8q)#a!i9J6f4rCb&L,4lj)I5rM(hXTf(dD'UU)b
+K8M$PCjp,qDX%ETD)PjK@!k2DD+)3bA$Bh2&A&+cCj5BVh2%DK%1DTc,Y0fJ2Uhp
+jme-diXa6&lCYiH%$JQmK$bH*V!8X44*SjDBd4TE'91&*31a@4lSS&2!XrP@'f[P
+NUB"&3mJ!%B#`!D@3!$GU6!%HM#m&bJEM8bL%iUe!f8D!0C5NU4EL-BlP0`cFBH-
+4Gcm@4$b%hL&2#X'hL3#1"frQB9k'CUHDV%#S3TNP"afN,'h5$8qL1`dA"SP!45J
+91TQ3!))Kb@@)KFH!CJJ+1"MUAX)EfDH'[ET9%`Pbd[E#+(aMhYVKHk*Z021G3hA
+[P)m@2V([GlE4QVURF4CcIh$)mmlS[Z2GfirE2N60a'-IAE69M#CX,9QMYcjI1rV
+NRqlpF0@IrhEAQBXA,ajkrml4ZjFpHZbl6FmmRVrmpcDlEH1KZMffU`mYYc8FUV0
+e003mrGd[0lFmGEcKMCpHf3S!!%GU384$8J-!HZ!393eN9J%3-6AZ4IqrEFia9aN
+bl'+XrM+@C4'IGk'*YF6JQ#,,X'UQTBCbB+@`@D+b3caH$ap[ZS%mEi$Q8-**kEQ
+jr4+DNkT8*Fpl+&p,FJc3K&)1ek3d!8S6bL%TTB4b#5@'LR[rrRkr2Dq'p2Cl2mr
+rpr-!'kfR+#H#)!L!3$62PiT(G6Uma18Y6JE3(lq!c&@ba"F4B%P@2Ke-'%BJ+T@
+Naj+5rlqMq&3P29#fDHEeQ3qPY0,qNRh55@Qrc1a4'&Pk8a@8-AA-X$QiA9If354
+Kq(VkdANK5G-9XdTDU'Md'Ej!($mK+$0--bq!"5D$`f*@"V6J!K$+pCcj5a4@CSp
+d5*k-NmKiMTU'!T'F1U('SXbL9kmqH8+%6'HKY1Q9LN9FXJImN@)J#G8)d!NfIkG
+)lKLEbX1N6#-L[$VQ6q`h*Rir2@!eq3-1$'LAVSM3r')4ZKj+l!mfhe'N24RX@1!
+Vh),'-41'$GLI56GF&I(XbQIR59dZ,'&CVbcVX9a%bhSA,SC)b$@%TRT9"I1bAS3
+`B82Y#GhLCp)G(5mA-8QIhC(U!P29irUakmG+FfP3aePLG'4fThcBS03952*aB0Q
+FXMAaJI24e,RfUr&&d#'eqj!!8+ecKIU6b53cTfdX0+PHD'SVAGV#5TI*$&(Q6@E
+!B[#TN5jmI[)%@-Q9Kl#TAJ5Q,9F-PGP5%Q!aj%aD3e&%Z#SVXihe)ae-F#A41Pe
+$0Y)iVqK1QThSdQZSM`0*,29Kd&iDY0Pb8*Q9+GUDaR0$)MRi(e,A%qE+$&SFQV#
+S0H8'J*,!K[1$P@!"MNfH$'aU'1+*#C&U[iZh@&Yj#+,,@4-Z%0!he9EbYRT+d[P
+#@-`1(*J!HVhrpm("BVXj1#JE'Ie06+L5G%c2Gq%Lc1"e"J(`'SR0UFE"jM3,FDU
+S4eKZKCQr#&jkA"$&($1,lFaqE6qJeE`8LQGr$@aX%ril4)Y))*mb+PbQZKqBBSq
+1#+-'dIfa1N46L!l%*%4E%IeLV!h4)85cBhC%NiLQad)M3*!!PKGcJiS$5!)-MUd
+JP#P30f*0&9DD%[["J1X$DV0+3r0I[4j+Q3jYmbb3!"GM@jNPRrTIK#D5lS&D@@e
+)L"qU[fBDG$B0HQ2%#[+EP#'Mrf1Em-FF19G&Fd`rVeJNBrk8b@Lh11!"U5%3Gar
+51S'Kc9PpZI%4#"(#MpH3!%Kq$aPrX*EfCql0h!ZKTddc,VC,kjqEUL[6V!pI%@e
+!hIkaFD(ld-a4V5qarcY&KlCKSR`T[DY&1Ab4*HS,ETem0*,*ELT@pB'fTMT9hh4
+&I6qlm[P`5Q5Q"ra2pUPk0$C6Br1,'T[41%503bpU(*,UC""a#$X"5U`P9DHH#PL
+E2-l*%APbMhV+I89G'LB3-dVSJ9,5%'P'83d9j1VF0S%#FLJ@0k%KN!"%iCeQ+$,
+'TA'G,[pjT`)#3-M&1l1kX6P$JFML5(p%Q*&i-fb6r+cb"3[1ENa+,fXrFMNb6TY
+13pMd4&I1mF@f4N+lFL9r4Li#9V2dFXP(VT[bCfajd$20*i8`RCUiUr`C@ajaUN$
+5,%N,`(%BkMfI%X2YV2f+k"+Kc(3`elpM&*k,M!)j)$k@"dji*lm%&"i1)2c(S1S
+rq%X4kY['#*DAY,iCMFNVSPdN!NP4$)k+810YUqdH)38FH$d&9@pq[XH1p31GQ'#
+f6AJU%-IVi4Kh!dbTm5#,#+Y6+VEDN[5)pTL9PUi)P4EM[%L(5$b)#q6QT!"LP3c
+hSF$)#CpPiXqr6d4CB*%(pNfF1X`XY2"jCH+`Hk)C%c9A4)*9-UYdM"T@RT@E*$3
+j9Pmb3dACaJ[#4`Y',-5$CQqa'NqZaXAL`54rJ#5U2$NSf4ENb3kDc+45mHRRcbI
+[%aG929jMDM0H0p3K[!E80V`be4Bi9X69GL$EIm6#8I88AL9U0Pj'9I[BIC!!Dml
+KeD11ia96Mq*eA6AMC9,(-+PA(F8VT6EL9DGHa'!G+U[1HbMCVPi+JqPFV,VSmck
+$f@@fI9D$lHcm+,4&'hpRm&j9$I64a&'M%+9d-6l)43IeUKIP#bM(M8&%5"R-KU,
+(c(6"L'V'8Tfbj-*5MGUcQlI5#q*VS%I8l6DVKc&89XKS+JiC!fCm(!pGjmfKb
+V3d+hDVFj9%d(Y!GDL24*$&%B+M6'GqH*8+J3R`@Kqi,"r0`RcD&KQ@K!#0N"Jie
+d-I88*i`mR(T1'Dj954`Hm$le,r+!kPr`q5[e'4i`[cKdr8QcH[c*(XmP$$2X'F%
+VkUPR9D!083`UB[P3RS#bqNqZ+YhdaPSZUZA!9SCXU'Ka19j"306GHh#&E[2-m"J
+MR,M'Ba6*9Y1CQ&8Ze[pFh-K&HMbi%!eqL-*PZK`%@rf'+Y%-XISGkVaQ6-4%HaA
+%kQd!mehbX,@(G5ZBZ4NAZZ@[X"Tl#B[KZ-V'#-4[b3rKIIRmNlIdNZGQ,X5RjAN
+U$rC*#)HXd-f"Xm1+b2kAYiUSY2rJGK'Y5rlM[P6(4K5Gq'R'%-YRRcb-$TRl-[H
+0V4iZ-rAK#MAS0NIDElrjhrJAL)m!ME5(69G%4b!j0Ti2YjKf2B'1(k+V&6m1r0M
+a`mh2'd9m+iVQYS!,#,)0`96$`G3kMcq"2+TdLjS%JVJ'S[`9%Eq8RqpY%N%0-QK
+kr$4$F8#)f,S,`6RkbRh)bXpch8G)3E)09XfIra1$c8DcK!cX2"k8V[PRA,0AlJB
+fbU,K1$N)r-Nk5rJ")Ke!P[H*T"V(+`k8LCF)!H$d&*LEe4DmKLLSYe&3Ed&3(pD
+p3i$8+Ic13NN@@m$bR4SBV`9`k9i,kZE2%Y'BhSNNM@&dI)f3!%'+N!""(B&dShS
+ZmmMa)m(QMElC2Z090%5T18A0+1"fFf!V`DY@I@BhGF#V5Ih,hkkU*EVA!f%jXB2
+0qAXPFpmfeBMNDY5p2U14*Vb*ccUej&*c[RGp%6@pQHp0QA(B2K1!2*Bba@04$4b
+q$%AcF`[$R+%Qm!`aH(C![3Q3!),+831h"hED@Ci2"Xed%i*'5AUJQCHPT$3!"Xl
+d'BhmQ6+XRlTaRc*i&)0h"[hcI!FQ$HbIja`B!GK$L(*28)hDjd"dhReFP5JE,1e
+q2kRL-dUI8Iid1U5"V#12C@++()Q@((XQ9qUi#3"!m%kBVUV4!&M9QMT9bLp@%eL
+-[)*&hAaDM1*$dP8KNiN*GrT5"cGkdG#SQiqP4Ph9RElelmlHKdQGZN(Ud)NJ9Kc
+YZ&DPHbGem%hI,3DQ45KNPraqKDkifS!X)i%HT[KSS-'E6&TXIrdAT)B(-4#433)
+C@Nfj`j1)i(R0533'N!!L!!K23&"IlKKkZ3J"V#f$(DpQdfXE[d)hM#+dGk)3j"#
+a*$VK@U&KCj((5@V2"G%Z(QLCG+MCH5K)DEpCT9[a)h3'mPLN@kiNJ&dDk0ZUddR
+q'BdC4e)$*UX6$AMmf-l8@!X9Le$C"KabiA,T)VR2,$I'J`Q1-*UC4m%-U'Z4-6k
+b(THE1JTa!d%la-8pf"1,1'JlVXh$*aINcQ!DQPQ["Y0N`3&L3eMC,)VdJ1)8!V%
+S9#pfpkJeb)6[MCVkIUSfXX-1rkH!B+A&Smj&ZV43YECV#l8AJ5X4-Z)9SH+T*P6
+!`5TdPB09k$iZe%,9H$dF+JcAKDkLLa9Ldm@qED&,,"E2D%4'1r4#b5#f-rN*k&Z
+Cq%%r%m@G"1SlR!4'268XiNB3I*[RE*!!"KE&,cM`64TBXJdX64SiTJ`X64TB`X$
+D&`dETf&[d+$0YN'E*`dkT!cDr1*"#HQ(J3J@"9L`EU0%Y@IR0,qMX-C+(i4l&*&
+rM-5"+0!$b1DjP,qA#hFUePZPZY#`XfJf0PY18Bmc1SQ`JbT!1PB!6DXDX`+9pC,
+M$BSIrRLjL)%#52Ic&S&LE$SAfBDVDK`Lir4q),@Q"N3rKk$IaTPU"VS9ThJSA,)
+YCXeTe(dHD0k0+@S[&qd1L-iFF)6Z9T`8R$S`L+G$A'lRi,#l"pPH()#-Fk0Z1SD
+b`fd0'HGBXUNp1qIqY**dZ3KALZeKABi5p(Sd(J[@hfCQ1R!fGU)B!@B$&I%JeR$
+J(!X%NZRJpY!PS0X9M-*$KB&Q"5N-I4dC"@-ESiUJJ%Ke&8R%$L2,q8-qhNPB"2(
+Pc'5a*HTj%2jiS-4jJ'Td(U$qjB818%[F"kJPcJ28id#`fXN(6#""Mb8"R+`*RBZ
+&,$#kb$'$ABkJN!#f0MD+m)J1l*UkTSjqIe-m1fICPT4"DN"#)4-TCeMllZ6XDR3
+$CeF[3NN19UA`S%!6c5mATFbi1'p!r`e'Pb'JNMP`4LCK*M32V2*,"fA&bq9J%"G
+qQkji9ZV)2i22[@Jm*i0mk%K3rAe4,)m"#6pcl)d35@i'`SKS%(%JmK3L583HeYf
+%J"I-2mBJL'%fm`Hc9['c&3[[5Ehc"m@Tfhi-p"i)rUD"IcM$-kbl"QH)$bfc0SK
+!4GY`'KX10h8dkH@&jFNa3GNFUb,QfT[dc(jHQM-QMUHr+&!,GE-,'@ZJTrIqq)9
+[VX-Jcb"S*X"!D@Hb3LcY("-)NXm3q$0$T48&lcCE%E`$aDH%b)D[TrIld6dVZh*
+jQUC,,NkaT5-!r#2-(%dCQ&%eeT@9(M-M5"bjGB1lJ$@PiP+*r$2-m&YH20B9LbT
+$(@PDMD8GBeh1L4L+Kbm'ZlB[&U-LfK8i6i@Sbr+Sb%mk+V,@Sk`[H"5fMZhjN!!
+JQIJC`)m"2ceJSfLNrFcBVFh3CB**fB!1Fm'J0)"Tf#B08&1@EJ"0GU@TK`MEb"(
+G!(i-q-PN-MITZjLj3##miPi#i!L+e2dckjJ"LF(UL1a@8[r[`iF%m3d+,1N)#Z3
+'QRT"QAS"T*%3*&U"A(`F')"SpA,`)%3@CXD&*@U4@@@X9-$eV-aSEDS6ejfX#hK
+#CJ%PQLNMFjN!5iVCZBQA9[4NTPXb[SMK`'J+V$&QGJ"&f-4q"$'S-p6)5"#[k)L
+'"pKke#5BK8PS25Q,R(Ij)J"4b@m*T!%$,kK`mib0%8UIL-CeI'hZ,Z,p!Uc&GL3
+Th$[e1`a&GrPi`mDNh'`aH",#`C!!,0l*JPf*pdlIA9j&L'+NF"3rfIJa'Lp0ZXk
+"B1)Z(frJPfr6"V489!d3`Vh+)[0G2Z245CdD5diDkbBYYJ3P6,91@[B(Qqrb54j
+,YLbcL#k1Uf25biQ(K%1MCK`NYPTBMXB@AA!*ad5'%XK[0rUe(fRh@YF%NQ&(`2q
+D2l$-i6$iKN)'lc@c4Sfif93GlNj!U`kjBmDaJ$f-cPCdRKF+E+A1DjbGkj`XTKR
+XC$ZLqhTkjccpqA!A2-AK#!l81)-U*F$0L*!!qdC%(m$bR'"bK[''##6l1akq4fm
+de[@c!)!#$%NfBr#*,[qDHr6R%3JYPK%dp)-YBeeb)i1Zd`9A9q6-H"2LPE2HdlJ
+lf'h$ZQQ-L)kbBJ$,4Y%acpC8K+E5Sf$8GhaL@I53!'"H,,M3+Z2-Y"qCD9CH54l
++2PITLT!!J@l8&GdmbF8D,VJm1qIZ8XlB4!abeLCQPjRa4lY`S!'&qA6G#VQ3!$[
++fD)aqm+-Pl1H3S&a-c9`@E9rjG,!,rj6k0(8DXYD0M-6lNR+6%,)p,-53+h$6b0
+q,J,%KK4PN!$$f"*X3p@!*,hX4MXk1CbI*'B0+9PV2`ImM[0F*,#+3jqC1J&(liA
+MAHc-c`NQCi$6(Kd6F[,Cqh3kC01%ZP2Z)*eik`Zad'8ikhA2CJIhM0[P!Djb330
+9D&MKm5N3M4!cR@J`dR@VA-TiV!$"V&A+H$)6&4i+X*P`8$m2f5%X&3Lpk!`kj[Q
+UEb!6fDS`jZ-(DQb-q36q0q0r'c,,c@"(KN5VN5-GL-6P"GH2JCU!k,B2J8ACHMc
+G'(CG"D2PUZ")'hkXq'Q&BU%66ZcIIH&Q4+*33M(U5'6RE+YZ'[rLrY[r*Qq40iK
+LT!iE6$Qh*hAK`+L8!4%[`5K%4'FdmK'LMRQ2VUXU9aSCGehkIliaJ8`*$#)*VML
+PZSFD!+$KRaA-X3J2JZiTr#5)d,mUljX`"+2c(J`K@3k"VJRZbPdq+rqhkJPGfVJ
+!Q$!jaC00(3%rN[-Iqq2GXb(UI$Ne31bIk`!AKk(`A6Z$c0IZ0CQr!GC%@&afj2N
+CI)bYQJlYSEBI#J%QVUD3!&QjhlUPZ,"2&9!4*VP5#"$5"R`JciDKQ#9Ma@!&*R0
+Q1J$rdE%ViJ!bG!FL9m4j0"l!NGIjZ0!lr"PmAfEA3)"H!BEjG5cNJPPcRCJe#*T
+1CNeSke%ZLU)3ARBZ3-G!mLKP"08YYS#N49BXJi*5&J@Pii*CVb8))YFjL(al`,$
+Gk%`36PBP+&lNi)L-BFBP4j%AE$`M+VABXGRc((ci"m6HM'S8BEQK+'eL3m!HUK0
+r&5ScEibGdN$Q%AF!NGN6#$3$*EcF'@aqX&MBk6!*QG"aKAf48#)T911cPrL3!1e
+TT+)X!H'k%CmAk60&"9Z##lDr1iGK0R@MdMd#&`Q)3`2MS`5#@5I[X$`XH3F'`mp
+&BT&Q"*J0h-U!$k9AI2IlQS5f6`CqVXV`TUp`k`emD!q0G@MkT15%DcGV$U@5[#J
+2#+@8rAVm+,0%%UM@*#1V&NC@*(ci@GdL*l2+VV*YPTQR(INPk6)D9i5dDBU3!!C
+f#P5f8)&VcS"9p5HhH&0fbLRHM'`L)5!,b,-A2kj[X%*p(--K5"U'bdjaF3'4X!k
+AJ#"%!T!!,!MCdAc18K"kqT)X#%e8q4PqDfI('kTidAIrZpAX-$YUP6SbMN&"`ma
+(I`)k&8Fi'RV,'r*5*C!!KeZ%i9dTY--R9`Tj(Dl[FSGBrQMZ`$d1M89"TcNU9rT
+VKMURj4qQj`P6ESc9h8*GMNf`b2-HEq&'&j3[V#"r$ddc3*LK3()H52acSHDQ8)&
+Qm(rpZ"G&9T&Qr)2+lrE#VDQ)P3h5q+h2*!Q9Q+Cr8"RG5`VYXd&(%C-q6aSI+Cc
+3H$5S8Y1B0(lT&i@@63PR98!8Np0[hSclG$S"I'8rKZU9iPBmjf4e+0A4j*%G*EL
+J[0%PkE1JH$-G#S4fRT6df*+k`&HpbE5(QD+YF+@)Q9*qCaGfV!MSRHVZL9d3PGa
+6j5NB@LQ3!'qJ3"B,6I&!-f@5TJ&m1JIrPG`T(L)QqQ&h"PcS8IaV`F$3`(eSqEb
+6erh)NLVXM4Y3(6Be0-RLb3S8QXRC3&JBBJNM501KQ"r*-RA#3C*bd)9rQ'jdS$-
+$q"!bBjZTbL1bU@ZI$LB`-S$)9#0a&@"r6`Cf63G8$dkf`%DR3a#baZcbjIMQZMp
+qiDMRJF-2p&e@Xh2Zb3,`SHJfp3fh)Z[,i#"#+$LcFljUKXJh&0eENSi#32mhVHi
+"aj!!`L,4KaYe$i6miQI'PXQ1!f%`XRL5eDGT0a3"c$EQqlL#4b1FdHrq9ddIZbZ
+LF"QLUQKPAFJmI[9F#`F@[DN$bP*rM+Ye0R!'3VFi1fI6h*5K**dAR)N+S(eEXXI
+dc"VCp18)0pXR0"Xa8"X',feU3'8!1"Bmc99(NAQPbU!3eYL&U5R1U)3ZX3[1bK`
+iYXZGi%3`%aNaU"jd@q(3JJZ*,I9`rY"ji4jN!"RZZ5`J,ZkJcMXJKLiK9Y!p3%C
+fCJ@a#m%mbP,%T-YU23Kl+``(c"e5Vd0M&[1(Q0MD2GUHHAf&I-J13P`lX*N`Q$i
+GJ9Lp51a(jEdPk+Ja$F85'V$2'B&HmdRU`@e#K8J4QY&S,40&q2&Tql*k))aM`!8
+p`rQ8I1FeIC%N-p5rj*-6%&Q#6!SB2G,qU)NC6Q$2-8TPFEi0+N8jf91fMSC*(I9
+5Vp)46Jc)4#DC(IHP!NiBI+"SrY*a1&rNI(AA"(B81D+"&H0i@hachCMrMeqJJMF
+033%9jMBp`*93)C!!TjPkKP[VRB#AbB#hFDS&i"ePC0RLF(3SS'G(9)LIFCE1f$N
+Cq(LCTh%R1)`L+HUBJE*9kVLE+KNKSji@B1"Bj[Sa+ZiK!lMa!A4+Br"M)02d-!%
+f'YB#G!Xd24*PIk,lCc51)*&-2EI-R$Je)X2(#95R[ZQV6L(V@456l#6QaF*)-&D
+*Ue,mjV%-+-4G,4NpfMj+X,jjIF0&$,Tb"CEe@pB#bLkSrC5!X2ie9[[aJX@%D"X
+fmI+8`*KpZ"d9JJ+0"-,fINBJB#JmIId'"kcQ@"X)V51Lc0AjAXRMbA!D*(+!%A!
+beMUjSmP-(9%Pc*K*4$2*9CbC3%d0&N'RADRH,!FHG(jfGPeAS"@$pP*b1irefSj
+pHj5"Qj2l!$UACZGXf$J*h%a3qTMBq4!!Gj3!98q!HT1UF(,AL+BR4D#kiFZ61YX
+TL8b5Ki%9B)A+4B`S0XaPiXU!Zf'q'h!hI-+!qk8DMGp5()$,(&8kZba3K"DVlbZ
+&k"!*(bMF(c#0%[--bPNrd-U5e&AeIB",-j+p3f4GPjGhBDQ1TiZG2!JbILe`)NN
+qD9$IPj0`Y%XC)1HbQUI#+B@G6$3TCKB8T1U%dAK!*M5*'*l*!XB[KdCP4NX[#bD
+BF*8'F-KALfQi!`68,$"J2JDVS('T89BN3X4'"MAYRIbUT9qjbfIULF8A&)19Z""
+4#8FG9bi5KJ"mh03"d69-QpL%`0L-BNJ[iD#C&b$H[Xp%XeZiZh@1bSj"R"e-+0P
+(&%eAK+[TLZKTDQ$aPM2TR(@%3((DPR'FcJ9jLbhVq(,k`3)%DppJ&`e6-3S")0C
+Slp'C!j%2@L)'YbQ"&jJq-2-*E-H+JY1"UZ2AX)(+jdFI-A!L@'CUh-jkZSA1*,I
+-r0lS)X(2"E,dJ2Nf,M`@eeq!)Q!Qh1NrIH@UF1Q+JG6Qeei92ETT%!)@"PI1-,U
+caDFSJm6E8bV'@e`kG3*J`S8YX6j4p0XDQfU,PR62)P#eSN&1PNJV*b!bkpf9FMB
+FQDJiEmM)frVQa%YCA%Jr`pMI`9Zf6h"2*)BH*fqqbBc!`fU`hP6YP1T)lC6J&Hf
+8kLY3Nd`*bU)&%%11Z'Jb(`G)A1P$Bmq8)%aY&%kTKV,Y4M#%V,8H$APSm,(MJid
+T[kc*`d-S8aebp3-@hGI%`2aB"PG09PH913GEYB*4#IpJ5JpB+iXA!(%!U&[TJTd
+Q"2"!fjA#+H96F['URl,h#SDC8Sl$kph9ZX'`iSTSV$iHb2c)BCdITQV8mEIqG(Y
+a8)fFF,-eQ3MZ#ki+)LX!NMLQ5l96bYqkKPIp@m9#C[HLB98QX6@*()j2q9SfYZB
+f'Sb&0$BYX*RC--4S9*@P-MN5QSr)0[R$X`c*Xid,#$K@SBT[X'0'BcrF`j3ZAqB
+!lMk!Um)bk`h"c+T-+@#RF$Rl33ZcP8-',!ij8Sr+U)G`%)CV-6SF3r0rU"'FDCr
++BNJICFP48-irGRZAaH&4KrpiZV[+Uqaq&dB'$'$JBe@rB"FX2a6GUU4qd-Q#Gi!
+9A804Nkc)j&IIFR+qY-XGCM3Dk[dF'*RPR'392ecRp)b'RqKKT(9PIf8@a0UZ#Bl
+2M9aT6,!l+9"CUif"#H9B9U#CNS@DRZJmcSkQ@4-6&Sb$!Mi`XCHM3+9$fC83a,4
+2j381A3#RQ+0rrDpC(d()4R4fcUBdC-d3G9c-'K&@A-VKcVV*3%[9CT)6Mf%"RBG
+qILm$CdRkV55K()J[NXQ@I-5'C*!!K$V+2Jjb"2Y6@C(9pakCbZVpH*hilGlVILf
+F4U51hqk9XKkm+E0*![A5BHdCM9rE%meDI91%l6h#($Yq@G3,Z0S8*E)ibjML,12
+&d4CfeN+LA"apSMamGrGT(bdrrVZp2LpAlS",rF9`10HA1Pfb6hZST!H'2"bhhf&
+'Tj3&0JSc61ce3#m+HfD[K5!hhjQ"N!#dYCQk&AL"%3%&AVqNVA(Fqr%kAff[EMi
+U,)hUhUbfDq)`fc(+`UT46arer)(+%P`Cm$8%Xb-FN!$59J"P,XS6#!!,N!!K+'8
+",+9P8Y"fIQMEcJmYY[0$fhELf-i2H6YJ!T9+TdZUG+@SUV+ST"IAD0BYZ[dD0VC
+!dXSE8apPG4L,RCRT%5dTJY*53RV8RT5ce15J8IDi,e`5'C*k*-eiFXGHbkBDGBd
+[r%cGN!"dL"YGCS0CEPlM+cMA1#3GjQ@hd3BXr`@A55["JEL1AjGfHim&-H'1[bV
+-"58%&hXjl*C%`1TF2Gp3BK!h3YT$KPrcCdP*L4J2CI8DhZ22JT)#F64dkV$KFrk
+X,i([8UJ%VR)`'i+&U596XA$16&QY-TJ'%U[R*d[#@$`Z,jCD,TkA&aHl&c0GGLJ
+'#S9Za2@`"-3GAUCFG5k52FcAC*!!Eh5NB#DL,S*-*%bS5*jHAp(CU'I1XG1qfZG
+d@qrm8Galap92kKr`5ZheMfmIM,6rpFKHhiD6NKm6MdApFdjLiUp!M0)lZi8rlYh
+qqHp2EI*+m8[@RB24H,QG%cKem)jT8J-kR)`fc-QP$NRG0(4)aVd*+ILPM9kT)fr
+9eX'DM[)eGeFGm@hD*m8a24I6cp*dZbiIdqeallY[E&jaPeIbA0C['kccP,IGAER
+(Ya%+f9jIY+()'qe31MKdQp$"%IIq1@p9a3D[j"pjr0l"P2q[qmlklMSfBBX`PUA
+EMXR@Z2I`QIIUlRKADRMEZQ+`X3&AVrMBpm"*UCdffUjX0)aU4pdL(2F1DRTAddC
+Ad8EA+"[ph,E4-p5K99H%$Uealp,HIe"TShVDD*[&4XrB0LVTeQ'k&2IqbMGl!fq
+851iKNTpPNY-frFVdK'i$TLILhRdpceG`!K(4ff@LSi*rfAV&N!!!E4J4KIJ4h5j
+dM-5p1YeIhU)YVk)YVk%YFkGf)Rrl((a3PaVG-R5TLAXr1Rl(1laY5S#iNJ"R1!'
++f""$Kl*YM@iZ1QMLh[YZVSQZ03(1f",J8Ge86(i8**VpckrqAENbE384H614JqZ
+R52CH9,*"8YL9T"M9E8((dEMhdhrVqjLf[iUfldb+GC`8MB)6)f'IFjSkMHYfS00
+ih2[bDmQReT)F$GLfRFQ,LN5PFHqLcLF28$)m`FR`5cNCiT4JZ64TFGaEC(lG[2j
+GbAlT0cMHAVk5MimHr2Xd"B4A+X-YLhY6jmmp4q3H)R)h%lNrSQ5&SlI8AT6Vml)
+630chd`@I&frbJFaf)V09)I0+)Ya+*Kb'h"lhhYANq(FLla0-hPr+j*8"eX0*J@Q
+liYj3McAMlqp++qQ++q8V%NNl#&6YbS!liYi0(pcV*9)1%5QEPFfXib4M*bpTCG&
+*ZZ5QZ1qhIrrDe)dqN!$36L5d%JNriQ5LlGL,cY,8$A(I8lrlVhYCS6Q"M#X*+&F
+UK0`5pdljA[YGN`P*L--#&@"UIYblq$Xr1--E)N+Z9!Lj6`iH&S4F&rFG1QHpIbf
+%E&!#REcaUA&[pcrpY12rJT!!dq,HXVpqYj36N!#Zf'",DLFKR3P6&2F'ESA@-b(
+cKN!F*U4-()p#R,K#aVPahrIV"[B`'H[Y)!k6m5Yb8(m$8prbbXQX@r)Y&b'p9NC
+k2rdq0J(AaIrKLmCTbVUipm`r,r*5%ZqQ*'j3L2GVUH%2[ULITJ%!#rrrAd3jm()
+aeaJh((BG*X+e4aYHpd8lD"S5BZRGShBLaNSQ4[P[lTi&FTb422m#mY)N")a2hYR
+@`m'R[T@[r91P32Lp,pT18cE&[IXIq2qkL9LlL9J0YQ#a%KIhd$33DY%IpKZC8(b
+PQRC$VkZA#"@2VRcGHA%!m$[r-MG)"&K*52mh6U4[)a+5-2,r[[dHAEZ9Vre6"G(
+m`8QNVA([YJmH@8*JXj[!TX'*hRr[h$a!DmYI0FHF*)V'$3GG"qRDRdXVrm9jE34
+jrpkrG4$b@%QJraXPHH9Vbb6B%2HZhj,r,8)H6#626ip-5YLjFHqpArVQh46FGP0
+`Dh!APEE%4D$XQT&AbKHRC&Xj+GPN)J%iThhPe'e#c#X*e(rM"RAI-H95)-,LKk)
+p4+B@*Y2p0N$hR95)J%6TUp2pNC+ZMC*1EiNZS[E6#-L[8lAiZ'r@`JXrIJ!"lY)
+DfX#U#HKL*DEDDHVfZ+rXeCRI)Q643#6El8B@[V0ZJYcqbc06L'3Y6,,lEBM#PkZ
+3!!0*p+rfGGF)6E34QY"ESSPS!`ledk'lS(Vikq,riqp&52!eP1#Vh'M#GmB0bXG
+brre")P`$%@lh@JL(!(CVm1hdRdJi*&4DcEdl*K21L4k)($,K&XGpheAlV%bi[$@
+%(PDjdB10(!$Tl15D$bL3!$83DYLYS!C,JL#J2CrapQN+(#dF11kAN81FVQm,q'r
+F@2iBJp")'kkr%PHE44[`@f`!)&4hajerB&)3`H)+`8lbp8%`Ma1XIhRflcpL8P"
+5qT@N221PQemG&2jl"NAbMN&KKk"C1XP")cNLJUXJmJpYpmi"keEEKma"d90H[h#
+dA&T9j(h+pkM3pYRl)+aZU"HA8Am%iVA+$Qc-K,fdkTV[6ZrG(afkImUkllaVe$2
+$Pck+T0@lpPjDpDMI-#F9bMapl[3d,`qFd05)ZrINqK+RF@M$R5IRq'V8U+C9l2S
+Si6PqHTT2QH$phCjMek+H8lK5Sc+KA,rPT(Z#`H9bmC4-6)NFG!kKY4JL'2jGmE&
+r$2CI@P@q%PfpdG8rrHMdr"SaajI`APU9m'6K5P&$p1&Ui@cih8FRVf&k-df(I9C
+R!b-EENTiH"[4KpICQR")pmPV@FH3!,AV34B4iRcD,SY-"l&6j!bXD*&C+fTFB4[
+J3qbeG#&5-Zb2+eNJ9!H5I1i&UK"ddlf!+N%@RplClSp[Uq-DTH20b9H3!0DiXe5
+1)QQ01p[&Rmi-'MiHGbpr@af8)adq0f1MLeNU8-G1@CGDRDG'2H9GZlVRR+haE$T
+la!XA"2pP0HV(dV%krmCMHla[3rfkI5q#@bX(0qRaYh+$r8@j"qqI2T!!dYK&X$r
+Uhr(4(0r"qkF1R*hI+U*qed($39ji6eNS$f-`,%bMK8K(p2(AFhQ!,f$"FS!r64V
+JFf9"l[jVZAZmTU21rrYMfX2f`j5*LdNG1rG'1mUl#1Qp+mAa'DF2lm!p5EFcRee
+5YKaj'5iG[ZL'epIGAQ,"&TXd39T[18&AM`UVa-aJ-h8!SRS`4UEAjUNA$J9dTE9
+j(mhkVlm53ir!Uk`6TK0+Ic1XHeDSH#d4)Ebq*MaiP3NrANY&"ejT)SkA6V52X!1
+ehKK*l)F6JGeKC@A2@bfZ9JVmb@Urb4VE"SBS'la+MB"KJB8YF'I-9bi5,3(EUP9
+KdHJ@X4P$VY*)94X99Kr8IISQ2a5PCdfN(JRSZpJ)mN@`q1(!S"P+#DMpNeaP(DV
+)Lh#I#-P!!bC'QYdX'U%QUK20[+J+'-"6*ZMB08mm"ZA[k&`4`N%K1Q5B"Km&Ha6
+ZX(Cf*%Z,18beXjD!L6`r!a%d$+,K#63NAI)#M!2"@`j94K'"Zf6XR2[!3(C3I""
+0XA2T%RECD4V21P55KFd[k9iU`F9"Ym6YJT6UXTq8(Fj6XX0j4YrpXll'UT%RqQB
+YBAG3B`f1k0+Ph8VBDi9ZeT,VE9TF!3%6Vi2hceUbTSV9DFBiNkelDK1c3Id'fE9
+iND'`1+[lqr5+Z,5Z,)@)IPH6Z+JBFb`(Qr48fL,$F&VCB$Qcm3BrJb++U`Q*q6M
+LHUF@8DSfa)`JX@DZq'pKDlkpdqRNJ3'@i-ILb-%2q0@%Dd'Pd+fT,6jP+-VbpD1
+bIA'*SHJEL!kqLNZ+`9`fHBR)%5Mkc3m@BQ)pP2S(D*!!'IKiDK"++&c[-lTZ(##
+c&84P*Zkb`A*8F8kN6M#LP"8ahIXiJ3cel%S+XeMY)(*j`Y#%EF&e@LB0-hQhXQ'
+"lZr,LrfXEUjpicSYXR%jX$,I+'!LG[q)#c!PQ80)jRZCj)3!Z8U5J,ZB[[XN@2e
+GV(JEr%bHaXU%PiX5*e*+B%aEl'6NYp9@r&`Q0Ic!#bZjZR@%(&RFVZZRS8lpN!!
+E64(eeB!,%lkZ+&A(j#i``6V#894eUHpENEBB,0[KY-@mC#K3&fERr(DU6+kJQXQ
+U@5dhZBH*Y8*4BfILK0Keq[,aG'8kP'HK&,NaJ*JaKf5#1iK`EY-)-`(IZfDSAmQ
+U!6CXNQIb3FPK0ARBp-$h-Yf$U$Z9aA&@l6$)%,-C!-09MDPljG1pcZ[+`he05dj
+T+APEkN)q'ZkPM3$%j+5T%CK#FQre(9D*a+CqHi5jGckjVMPiD3d#J[TU24[-U#0
+LU$)aX0"L)hlBJ[Kf*e'0E&rmfbDTf2+65$TQGT0dDCdP54p,XaMNTV+ilB9)kJB
+P0MVcfaCjdk*H*NS6QcT@j5jXE2Qhj`LPYJ8kD6"-4R@TKF%i6*9ENXCKfjCUZ5h
+("#-6&NBET%P''c``US'!(Y!m)lZj$KP6LPSQL3'[!6MEaM$&ZFL'IArl'V'B,Bc
+q`JM5Z(fMjV#8r+!6CM,1X@+aD6ccXp[PV(lVRTRU5JdJ+28P-NI8M-1&)&C`&E0
+B3E)N1i"[paRpMTDALjLT932eTF2$5T8fJ@T2N4HH1PZd6A010BlC1m5URc4pJqA
+dT+2MK1#PM-293PGqCD!b+!d!U!rLqZ8F$Ce'Y2kP20&3QAH&M9AV+YqQKQYS1-e
+4cpm42F[4$LZLHc$j"j8Imq3'AH90DNLJB5&(ilF4RFh4pNm4I4q6QbYRmZ69ZXS
+Ce,!!$Cpb02NmSX8FeBmL@N@AH&1ja'[8B%$$2)ifI)6SA)lDTb0D4*1R+C2IXka
+b)$RCj+Ua@FX9!KeVhJ)X##eA2&pc-F3ZKEIZY94S4NM)6@i(JMI!LDUf-T9GZDM
+890[G*k[VAB99TiaC-)54-ZAH'NMjZB$8+3@N6RI&9"@ldPGe&9H5ULkp9&Jj[HU
+mUl*+#c99E@AF8&M9#lA1-Kk+!m2+(T1!dfrm1e0QRaaqVEqfkK3@0E`BB(-SdbF
+B6)'cE&3aTTa39(L55h*%VFLJVhR,Qr+b%HCSM8$@02U3!%#fl*'$8!@Y5Dcq$em
+#)ZKETk0JR-1PlR4![h121-hB`4MDZ3FZrIl8LFL*bDBN&''rFDh+UQC@8ke05F9
+%E!rc*D'NFP`@jB)&ikap2)aVd"r(6qL5L1k2HL99klX!J`q5QX@4T+5HiSKG8NX
+iiT!!e(-FX8VUFBk%*4J-4D5elkG#b[6D[BbS#ZIPm@"VN!#BMjD)I1m@AqJdLbR
+4ef[%)piDS6f@FiBGbNXqdTkeRk8ZGmV1*!*QGX)lh*GHaB3P81',*fVmS8L02`i
+(eVh'4ZeTHGJkC-Ff(!Y4"E`DcB"ikKKqcYC!Q-mrbdBd1H[fqZ05HmBC1&C1ImM
+P$ch8iir$[A+Cmb#!3T%E"4%U,a$Rb!$r16MLSCNqXNdFeI1%+`A#@&A%LG&8Lmi
+jiJBA%e"%kib4&*Ci1dd4YCNR)m)+IZQ+ZDSSNb[hkcJUHG`SLee88l)KFE[4JFN
+'L*(2`Q#%$SMm3ll#'lQ"q),+@AZUGhkGLM)f)N,UA+TUG9IPV)q9D9c"(qMP4rL
+!8T59X,@981bZDb'h(`GGdH8H4&CqXfN56(,PRma-*c0@IP6INJHd0ZQ9JS'R5$a
+`C[T%%ca1-@9%`*AKP1@@fDJ+#H3jZKDC3$"iF0eG!5hL0-FLX8QAL9h*5-Q-Zma
+8b1HJHL9A9H-"%R"Y(Z0#e#aL)@hILlZLN!$B-pQNdCKFD6$*,Kka1P0KeG5!!`&
+l+Kr6H2SPFp9lap1a2!e"U,Ei@kLDb5*Hqq!MTXS+Dm!+Ca'3!")GhT-++kcC0q'
+J&G*iq[(!!S83*'!+`Bj8`Ylp'kR,l[ZXr(U-c6he+`%AfbP(4lm'#qJk40hdG%'
+)TDPK150$arI59FbFBAR1&a[P,!*938BP!jk!406$jEiGSR"NmT)VJ'Y1khiEk(!
+D,Zm)X"-k$U$#8Yk!3pj!8(5CfF8KGF)TcN2eMSX'8K"(pA!3kk4VF#85')d4H[I
+!E0UUSX(C$49KC!GVkc2mD!IhjXqCDLXD!Z11fUTYA-`CI'2#K58L,6Y1,&'%kZ8
+3U,QU6f(9YZlcU*bTYhfHi)G&00N)Q,E&dB9,0e*'T0&'HSGXrTkhb0eFMeLifVH
+CDUZQ"fJ!0%l(pZhC0ih06N3U,p!`5@a&Uf3TN`L-GRU3!-0!qQ%LF*)0qfbr,4[
+i@ID,IY%p-h'#0p$Y5'PK(L)%0diBL5"(6La$J"Sb&$dD3I@E13Yp#le`mGl,reI
+Xc6qpdiI-jJaf%fXSCT0G%"#dlNrZMNF(1!c[SVX9hEd,I4'YaSS$8)6`!C1(!e0
+4Lb&R[S6UJ&A6m)T@6Ed#mjm99V`L&3kU11MJl@2,U#`6H3!"a1m#B6Jj%0Q@R90
+RT'e#,'@Rbqi6#JRRA$P4B8HQaQHa1&9aMZF(Z(c52llp0T*V*LD9ibF2J#)3U@B
+"8,4hEfZUVE"EGTCkB%Lq@1U$8Ek[%'$"Y3TA'S#3!2N*VZ@L`C3$-&!3%dleMbr
+l"6lU-D3(3hUD110e2$[RNHR+%%B-SFF3TpJYerfS!D"ecYS&%!"EbD8rE(2VYa@
+MDADEd`NKA'51Rm@cJA)J+iX!6,)!42!!$!,iarNekeQH-U(DC,dkB*UR$J4kU$*
+%R"J-F@)`T,"J9E,f,Ibi*BAYeXL2(*'chFJB02p(UCSCL#Hd%*cR6N5XXMNk2*U
+MXU,PGKfZ9B-Jp4aAjj%E,YAQHkqB+eU-cFkPicjHF$kfT-PM-86Rl3)JSr'[r3X
+lG$*T"SeYAE&4")%EH#c+C5N6MKmKX(J+4"`!$$G1'%**U`jcKAa%bkUEi4iIeff
+[43IGYK%9)LeRTI'JQar!IA$#"6SY(,9N!f`bF@%Hc1J#1iH,dK[C13pG"M,faI`
+1Ml&'dpH%`$YV#BSH28GXQA)'T'1FN9$)lcQHlK`qE3Hl*6S0pDINLK&$9"'cC9)
+"akj0j$S2&c1ZD"TqdB3@H3*!D5iCB"U6A8L(JM"a9eZ4B)&UqAbZkSNUZ$#q`PA
+N191d*S[GQ2eT9#NN3K11XJ%bb`+*-fK1)a42Q#X5cSaLE1*3HKS+4V0hRiACJBd
+Xf-DSdM*!(U`JVMD),-`[,T@$5"&0&jN*r6+*T"-'FXbKJDU*%%+Ni3T`NcE8FbE
+cqDNm,,+qRFk"%6"$5%D)dNp(P8(aq#'UaPVpNVQipmV9d2@+mhJC+miek9d"DVU
+[AmL'"H5)jk351DBd9#2bK5)BZQVLSXh$&FJpZi*QAN)3l3c%Vece[&eaMX%#$Y!
+0#-iTQ1GbS3$Q6GZTmLHZY(`MUMV8&T[QA`d9"'TSHXVTRUb!aQP-mi&iLlJVR"I
+M-TJdGI"QfIPhp3&+F+'fd3"iG*P-%$TUE@4SPFQ`Y%FQJhT1*S1UC6+Sf8`'"KP
+UI%EHX2SAK3#RP8LZdR!1M`3M83G2ArQHQaLK$DKBBdQ-baAR!'VcU&UchTP8F'H
+G3+$I4*'9lV")a,83#JEYIL+K(*XR%JV(ZSJ8)M4+JE4&Z@6PmYQFT@C5P0h)B[C
+''3H"4FY-3RERKCRr6f%FS4J9C+DaHkc6-CC-3c5#BE'3!,-$6P-U)D!5h9`JV`Z
+iq+1)2"PSK,0Z(99aH5F34H(cA##DE!4fR"YS#3fRkD!1((jV"p54r(V('*FA%E3
+ZiUF4#AAHa1Dc*%3()JBNhMcm[)EVXi0l#EfB1@6&-Cf+@E)fZYa4jA*CcX[9APA
+EG*[`DY(Yi#akMIJk)h$2A*LMi`GkCHFNf$M0*VND4b+-MafCkEaaTr-Y(6!@1)T
+YC!EUH*Zaa#XpD6YUqp*fJT9d,b15TkkL+)cJ%i-mp6i,iK"#R-6q4+iH%fM$81d
+`U0$X"%aXie&0Pf*QS4jXi3JjjNFBKE#jNjZ$F"iAXS$rTl!Xi-Fb`5L1"%bBIK4
+*j#)QD3f1q6)UJb,6U)Z3!&Q#rEUMr!'A[`&brSmS"JSbXEAMf&T0-$,$50-[b!J
+4,+EDG9q8h6+cFqb2)YMYc8)3ZbYcSPR8,JQSH!K9e9TKU,)6U*Qc"P(*3iAIXN!
+5!NUif!`"T,$Bl#UX5,PUL`0"Hp(*Q*dQJ3H!i2VS5iFV5j`,U$Cd')X*QAfQ[LS
+,Nq1#+b!jMBSKdC+)C$+$hG5$`JCQ"-"U3@Am0Ul5E'-(GRR3R*30Q%#B)d-TKXa
+qCLM99Tah&JSJaK%'(k0TmQ!mT5X#YQ+"qJrrFi04`%cLX5G!!6rSPCPF91@jim#
+BVFScXYRihmJr,afU5#&Bpr,$VB"!9L(Ek2K4CF9jc5%Tb4(M%%eaIM*ESX6LJ6!
+ER48'f6!`NU"jK*mid[9c2jb4ZlKU%aGCR9XS'Zp(*BU@)J+J)93,q4$ZTaZeqfc
+6UV4p9%$M850F3"0,F'0pjfcc$EqQ!qTC-B6!m5D+Z9[q[q(",c4K"i"S"jMqME#
+Je1KFe2TiZ@pC8Z$KBc6-M%ClRqHhp0LZ'PjiX*%H#1Lm9!eG5Sr(Qj36ial"Te-
++)ZLl+m!Y06K9c#`'0,*,mD3#1'A1iia(JKfB`H!YF,*5BBUP+kf!c9qL-JZLFK(
+4!40!D38`(6'#K#T6N!!Y$+4%J#JB65`e1*(FdUf@#'lTBLH+K"#3!'68YR44c2C
+`Vk@rC,3A3j@STEmF%4C6QjA--#!p%"T4rpDhp&@)9N01C,9dSI-3[PC61jN3Ma)
+M9Kr3bfJFaEf@8%Bl6`+CJNLQaV'ZJpJXh'pP4(ei)U*Qe,l)5%`ZiEFHa'BQ)fd
+6VKU)dlAM9*hd(5bp'Z$*#eq%4!pE9%AJSH2bd*iF"AR",-l5-NCH5m[@KVbQ(9H
+3!&H@#4-$fDkUY#'Jd$C'AQP#39iA*A4Rj#9[,'f)&fScdb4'B%[,C!5@PUJpR+E
+"%M-(5j`#cL2jFV9iS!&"kqJF*j-UXL*8M-Ij,"J#UUTaRY6NB-2TG0B-,F1i%
+*8r!#6*J#Q3R6k('cBA)@mNDC5)YhbPF+IEKfCNc1J[`c2jNCNl03CXC-CS#N#-#
+H&a-Q&p"J1I&26)H)e'cNe-bQ"Gh-Q%BR-kBaia#f98jQQh0DZ%S$&(bk)%#-6F"
+mI!5"L3-8+`-J'QbfRe'-#"@BpJAB2'cF+HUbdXX'JJ"-hE4AmS$-*S$KdaYP3UJ
+I-i#L'QNTJa1-f'qU(9jUN!!,jC45+#q`&FUY0pf&FQZZA#L[&Bb4h)'i')BKMlN
+[$-!["RC,F(jk9,kLf)VU20&AHTCq8RYikDF-KJLJa8%c9heJKXE56b#Qj8&TA9N
+4#BacJ3rb@@m)9,XpK)S$iI'1jhVKQ*qmTFrX@p"EZ-3)jY@#3i9,j+Q2el[3NF'
+6MB09e!6DF03!MXV'K"S-2i"*"j!!5EkHF@J#q&A,i#I9c[SB*[QU1GRNj-,MGdV
+G#4RH$N"""E$3m-3%A6l2)N%M*!D+T9B,"a-m8U*9BHma3iV0#BV05*!!%IaF`UF
+@%HN%Ub#22)G+R`#*)QEEi('06`bfDET'@299*F&!fe[h9pa!3Xr!KQi-IZCNDXP
++6hlSSPdrST+`kE1BALj2"qMZSD'Z4eJP6kaH0[$'PIlYIY%)4DYI2)%12BSkZlD
+#JP2h[r1$2H(ZX%+hH1C,84mhZ!,GrbkM6KS5,$T8!U1U2Gde0lUi5)ZJdQF-9Cq
+jSIX90NF2S@UaSUU"Z5YQdXJA&&ZB@3@&'mcfa5iL`6qY,4bFcYRN`FhdQ,)bCI$
+Yh8qk#YmB`%qf!C(")#CVM9P"$cV#a(R,-#Tdk@9RRX&rTSHSPLVQEjCe9fZki*U
+JCe099,NCM4$Y#j4PZlaPTdMrH"Qf0FjNNZJaN4N)d&!Zj!BLV2*'P6@qH+Y-9M6
+!j,Sl#I4l13NFE(M)9M9)b5!R&DD*`m+e3XR8JL9RY6%$diMC1ZlClQ5IpA[i`Eb
+"LiTUh@1K@+pp`bJVbeNC$NDZ4BIMkE(0PU`3C$jV+rS4-'iJke"CBFBMUj'8h9p
+(S$(cCVUYL0k3!,H)kNT*C0re9)N1$+r(Kb`'kJ$$Bq`TJ,0BL-H6,Na%a2Z[H@2
+08B2dN!#B#E0VX`(Heek$m3ZHk"S8Rh!NDVK3)"D+pr'D,@E#!02Xep"8@'!D&!Y
+[2BU+%`XP9'$@,B2`fKB0lI!1M)ICS-D[TBiG[J&c@$814821aB&$@)#UK48PiYH
+hiY&aQSTM(MiSTV2bC5!#be3,"r+5e!'2mIkNVQXY'jMp[q-'H#)Bi-N(#m60Y5a
+HXpJS,e9@'*!!h)CE3$Nm6DUY-$`i+'rp685UrAL`q@cDi[mfa!#J'ZUk*P8mD`C
+EB*lEI"FV*6Q!mP"MifVAK`ALBa6NeI,deChFB)r!H(XeLkp3[51+l'GkJ)hCHEL
+CTlX#6H1RNlSGJrr"PC(K1UMLXEi$%+S+ef82(KRYiQ*%RXSZ020KN!$J`aiM%5X
+M)USR0`rIbafGLpNj1mFc`BUc-#&QZc)Q$-KA(@,(S#32%!HU)X+BaFH6ZV"k$de
+FE%0SDj3CqC-kQ5b""4UHf6C92e!a(XB-TU3T)SCMMB3-GJ0SN!!e`dF2+Z85XS1
+M$9i3jeh1"qjf#FXQ,Q+3!!3jS8Y`Ri5CQ4!cJ8pCS*T#'G%lMG`4+T,SN3$SMUd
+DJ)cpabPVUPak(83Z2L#+"$j&d3X[*KE8M1X#`e"+Ikmi#bppm5QmA-8PH$eBI!j
+&49Da9AD+8NLl@9j`ZNG4i)',9(k"Q)j$Ti*GG8TaJ#Tmiebap5@i44@IBc@mXm&
+SHZ(M*MYIdG*heh+)20Rf!!-f'J@#aCf1H9#KePB-`'46NXfrfTM3-*4b1bCr3V%
+`)*-"Kir5G3i@Pr"4,a@)UF@RJJem("me*KCJ+G$iF*qB+KQ)B1b@Z+6iFAQ,mP9
+Xa)a6SpA0JXE3Il2BEUhYQ)q9EA`Afhd)lQZ[1S&h-(GL3L&SC@"J5Jch0Te$fiC
+6KRmT6hh)1654,S,!@h4*RqrYjm,d)GY"eC-2`J!V,DiDYPh9C(&9Um99*HF3l!V
+CZTEVbN2DKP''a4A$PPFFMBKVKBq1qB&QEYl`Q!i94T6XrL,1lLZE-&PX`NS1H)X
+'Fbd-m5f4A4!S%p92#0IKLSJ"r&6M4hSBJVm`d1XD8$&FL3&+0`e&3)N,DANk)fM
+mc-62q`qcN6F6[6l'Ud&-"EXTB5r8kGiBL'8#')e3Kp8@AfGe'&GL5lY$8QdU-Hp
+1hd[Q0l,G+M9-23pe@Qha!9DRAHVHiKh)Li6Bf0`@hdZZ0`CSB#eBX4$-hXKm#5m
+N!`3eJ1%hmN%QJ'%*"i#i@Af)3C)$2d5rBKBh!-Jp42+,p2"e6#Iea52f`RC4I,c
+3(qaJPD%3HMa-Rd3J2)Upq"#kh6"U[[dZhDZjLicXj'5@8BZ-9Q684%52L-'(mci
+I&C[TP8qN[C1$K)bQIM$Ma@K+38CkX&128c$#),&4J-S2#4J2%hVBa-#MrUhih$1
+%e!K*N!#!43pY`UXl#eFd'aRT`S"&p`N&4!FjLf%I4VDPe6Qi8h4cATK&1"LX1`2
+!XJrZX9@T,V2F,Y65%1N)Z*jMe@A&FicbFB#M1c)4-6[CATa"'LIffr-Em*-2GU-
+"$Tl2ALQX(+S-mHXVD@!b6JIEE"-l$VN+Zl2`XpP9f9f0RhXY@@m"+1(r`NE8Dll
+1,lJ5Kpj1JF9R,a6qbK)fHbXE3kRc5"dIG(,eGi$(qcZ2`HL9q&PTp6BmlUHjET`
+rf&!,-K#q5%I1b9ZKL-G3f2d1e*PNPY@cr0$phHpNlXRF3hrk3-iZBG)1PrE$805
+ZHC3"0AkBLmFaP4#l2""S$D+D@d#[!3X9MhEBDi5ihd4QUMI-c8aRGkEqpLBbqqK
+(&[QIAL-(Taar&E2i6#GPNAm)"2R'ZchUbqr#B$SHc`e6-$"qS4E"HCM0cmaM"kU
+IP4BQjFXE3h8HCCJ#ZRJ(,PjELDYk4Mmm*NrQi3Z6%D8$El"b(6U-SN-2EE5f%J$
+K5AkBLdY*TQ2F!F*GNA2Vf(*CIfhhCM428c,GRp#Q%l6T6QckQ,,T$YTd"l'3!(#
+*1pkcEEY$ZGCf8bk6mTB4`rGB$!pfb$r&D2MH5B1rQ+"di6ZZmZ#9kiLNmKD1F%D
+C-N%LED0-&Sp@hUl("(#r$-!p"m!VJ6*Z'#"q#S)C@*U'`QH0q)&Ca'Fcm9-#JcV
+,aPJ!JA[CRjIc4"2BMB&aJ*qKe`aNBi"E[#p@BkQ!0[,M"286e$YRh3T5r1N!PFr
+[3,&[+$CC'!NVC3-2cNI2!i'G(bEA)K9(9D3-4IPBBQBd`091*!"iJ`L%L(j@bYA
+-%rZJ8#K6f&!aUID0A"6RTGA(D`[Ib0@96A4*)JGe'&)1@+(JA3q9!4K`[eXFe((
+QANbIj0b8`j9p`EJSII!D'`AL!fl&DGM5#F1@XK''j6Y'RDb`*%pR"PKL(dIj)I!
+[X"NFF(-[6+SKNK*r4,1drm%TF#Kc42I#R#!ECLmE(S)"Q[8`53ZQbHpB!DU$*SZ
+"`djCH!6#lm3JcQ%M6er2cRNHMiRJLJKZ3aDi+"J@AdQ$UDA#Vd!NV"`#-1$44'P
+RLE&T*kFV1dr69PEb)j8FEPG9*@%8pI8#5KbqTY(XiYH0YC*B,a-MGVQ*rMb&jCZ
+GC!@c1[BKYS6(`CDj@CC[j!l2)c#h!Xa2a[b5ajJNiRMbpkD%DjD`IimIp4@'@Fi
+Dr-%EdL0p)J%d%&+'m2m4,aK'fXJN@(i!$&ll4!+3!2-D((6Z'5$R6)rXV'[KR1P
+(GBmSh&'5h3pFkH[Hb8kBhGZJ#R*dhmA)"0II2JDL-UMF-cdVhF+"J-3+Cr"9(Ti
+&BI1H6r"RB*b`I-3D'`'Qifh1`T-ZF$&PiSIAQ$+'bmEUK!1Q2[(RH#!M,6h*Qdr
+!S+`NDKlMajb&LB'kAEN3&+#@Mf&$B451Y4"i@)QScBT,#B6$[m2&VBQ(D#''b*!
+!M6KXrPhPMP!26AGh5*['"G-)XI1EqS6X1%%GZ4+mX#-$I#VS!%KVjFFGfJ6TXYY
+K'@hmRh-CE5JLY4C'fUCh&Fjk9Q()**@JckDEq)p0X(-J(PX0Nq5P6&EA3MR)9Cb
+rCB4EahPGUE(%#@lpUpf!KU#Fl1m6'J6ADc,!,6[["MJdjZR@SlQF3A4X8*M(!+E
+1B-h+UHm82EM3aKKA8%IKKja9TB#YAh[!TL!j""9E-`I,Vll@hb-Z!S8dba-UcMq
+i%%XDbmSS3J$%QV[cAf*!fi)2IIF+&1SE$k*iBADc-`PI21dP#%S[RYMN)B1*5A+
+K'arqcqTU-YM&Ih,'H2,*`EDa,Sh(%P39)k-`@8PGQ!AUjfNa-MUNUf)3RfJ`e0R
+*G#f@$2*$0Ih1l+Q&3I8hj8#!a*Z,Rk,J1)"K'U*616Q0jD6JRDXBMl`aq+p3P4M
+Y+*&kY,SYX92fULmHl-[3EBJ0N!"VhbK0Ia06[dG6)r+#-X3Id2!+06JJ$2`"jX@
+["8-`&HBhkK-i(SmJ+K*m`6Ej8%`IjHP3cq9TaTF16Jb3!1aHc)3,&[cLjh"(H%3
+chP&,j'K*C)"%9PZMRKT9QD#@3Dh*!fIQ*0`3qI'0B9X(,[kiLq!Z4Z@aL`UamXN
+814Y`T-Sk#'+ME-J1%3eAdN%%5RK@)+4*AE)6iKCm[%pSZShqe"ejkAUBPA0$dJr
+UkPIkk8mqb8F5TYMd,+laf6"RrEH`HaMpU5`+1-4kZ6NfI2d5A[mCj'T"@pRSN[a
+(Q@M''k`d6C+[YR3G!`3lL-T!a3%Z'"Um--B20S!KE5kB)&c1CQEcc)Gik&p8rqS
+crQabd1+69%&MPqhi'#A,iUEa@[b6Qq)1DKU3!)Q`p"`GH95Hb)4JC)PNG-M-@GH
+20H-rq)fF5$+CPNDSLedQhY)@rU6$krKKX%!'qB`Ldl+NMRHr$rFG[R+F*Pb3!!F
+Sfbjh,GXKAk&XJlcjXRb0Kp93PRp+LG-BP'ci&dSb3Z*2hp$BR+4PXlp0XP'XCYR
+jq@QcaKB%Jf+#H6#UjKJGF#TjP2mhl9E4GFXIKKSm-Z%4SM-[@$aSNajJ!$#0-`+
+!'[GMSiZG@q@+Gh@HJEc-$Q3JHqYlBIB!TM0R*Q5MId#9l+$F&Z`Gk%$*SRf`U#q
+I(S,3LdGF6@#VNk0`FS)"m&kh`X8YV09,VJc1B-T'#X@EBh-*E2%(b$!,(5Uca@a
+ULFNm'*6r2"Fm0(UaVT6r2"Mqif$J[VFi(mDYi5"DKXFh`p3e9h4m*VhiSF3*E2!
+m!8-T'91+FZ)-&X0TGTc4&`$M"m8eq'a82PI4Ti6(%4H)0LN6D&lL*PH!'f)K9mD
+#RZV3U)F*9Ab&Kir0)#1#LTL`G"-fNNhZe9m-F",IK)YPb(JH+Yj0A*d*J!4MKdX
+h-I0*[B+NEH02EXl1qDpm1"q#P8N'HVFKH'r&$mbVT@hL"qAMSj5$2*4fQfDHCq"
+aJG&(RdiNLMm@3dJQ%@YM&dKbpPV@rFm1Z2["m8B%YLR69K!j9J4e6FcQq"BM0ai
+m'1,L9bB96m$2mdj8#DH&jph'ReS&6,JPFI4LL-jfX@[QFrc`J0"*r[0E)Kjkb!-
+rN!!U,Nkb(G10U&`r)3LJ1+#+83ALI4$BNG9(5T5AX`EkfDPm*LAC%#PM1%(`U16
+P#rL2jjPBU*!!d94rprq!3(!Gf@3Sc2R9j"KmMV)42hG1(-a%4TSqKF8r!!!aL8&
+%3e)$!&JL$e80CNB4%#(MlQ(rEEq@U[6QllUqZClQmEQZUhUUYRT"md4f8MF'l-S
+#[@iQXl2)RmI@mT!!MZZEZB83`KAYjjFGF-U-L%k21"F1%fZ5m6cVC"kh%&l2`RU
+%F(S$)i6P@BI4J)%Qh56[I$-HkqrIhrrhG4dJ[lXNlb8[2`!9GeiNmb!b)K)Km3!
+4)JCIH9dQBc(mb,jQ!D5B(-!Q)BKQX`H"NmbLmmfF!l-8X95#lmhlmli*)rMlcS+
+-ph$eYPU'2+,4)ke$(aPkZk&&6Y`1&bTLXGrpJK82JVPf0GVmR"(XErGEI&m[NNB
+3i@YB-C!!1Ye!&S@"H'%JK6-)T!Ymk3NQFEkFfSU!X,5r4CELL15B1&a'hV%qjhL
+MIm!r!,$pBAmF2jI9VFea+)[+D&"DI'-`dFVL[`Cm&ZB$X@3%V1"bQ($TC")QE-*
+dpm0X%&AMCGlX+IjV@i5,C@L98J-b1$eae%FYm6%Z2U)Dm8Fr-Z0!'LfqeU-ZCG%
+[*EF#)+i6Pd-J+Lp+e64#[qr-+FHA@acG+BBpJl-Ae9eAa!2DlcXcbJ1GqJ2DG-P
+4PqN4Pr&a-U,+NbTSRl6)RJdG[QCe`Y"X,E)C`A3c31333FGe#,(UI"PMrP'E`fm
+NLl@T*4Re2qaT9QZTq+1fTEZf!6PZ'EI"F+Z-8(mA!))`,d-3jk2P)4,)3mE'`@i
+[S-D-J"TCV+K!I`H@fV-p$%B-ImS'rk(&8f)%93)T8pE"TD@,'B8Nm&+%FAD%F&E
+RqF,bVGf638jG)2cq,(Gh[q8*Tl%F5V$9Q9GlM'4E1d$MjFSM&j9(SPJDf(Yr00M
+ICB3F&X#kjfk(e*f2IU4U"Hhjqj0*CB&I,$LlbdJ+@*m-Y)B0P-2)3NjU-%1lVEf
+ahAH&64B*4+dSXZZ,lNL$CF&Rj+6CGS+++5IYE5F+qH%F"a2Cb+6%0*@B*X9dFVN
+,3-*N!*IQX-2+S-NB$2E2lj1UZfAN+`J5AFc)m)V6dk(8k9M-Pc5SX!%YRN!UU`F
+-kF2'aYfXQQUm1@RGHD+`j&fqdf)X%E$'m*Dfd`,ST1kL[+`"8V,ba6pV890,,mA
+Ur&QA"2RTAYDp81[@QVTC@%MGD0iiLLKXL'lQa5C5cQXb$!-+1,TjSCQ9+!I&"2H
+cq0*"`p+ML`Zjb[3#%`A%'m685Y1kEE"q9SQ6%8c0a(4#6#HPAPMVAP3+UbU(B[S
+XUdmQ`edNH2()`iVJTEa1KH4M!IRXSk(GAmc'SHlPm$`A`qX@G4Y9)ZT64d1m`5b
+5([6!Tq)"YrRl08L%N!$!YXhc9TV1EEGJdkdXAKKHYj(2Q4i[AiD!mCYc14N@S1#
+8*QAE#GkBIpiR#[-KeCr*5F160&*Y(5aZ056J3Lli59bm$jANiTiddD9CGBCjLP3
+5"2F-$!GJ%U#9c3G33@qDL9B"PMbkd1pbP6)SmVdR%J9Hp5FUCR5'bLYFc%UKmSF
+a8DJH[5SA%j9fMbkrd3+Maq@QVVN#8KXX"'pJ+S*Lf+3)Z4,9Em84U(iKVf*a)Ip
+,UlimVH+8e[M+6UAULqN3YCiBB*MR&9B8+!U)NU(RfJaYGqC1Rjq6TP#p1qF#iar
+YEUIJKjQKHaNN(*6!TmTB3JT)iqlLlr"SIL6Da!&Bq,TABqE*Z63AhaENi[+ImpJ
+[4Gjlf*1j&-92aD8JIPcUYDXSQ'Ff6SC)V8"FXDpKdrD-9(Z2I99p@RQemYKAP5Z
+89mDaVllU9Pk&D'Z21ZkN1RL,[R!$!UPrN6'[S3e9`k5m'!UcFf%,JmMQC1QiVE&
+MZV5JlEj[6!(SXQhY,0c,[4ZV'RXh9ZR[3[9[T5QE$b!dQ2)VmiX3iI"'&LiVF`+
+-F`3H$l"DpBbS49GCD0TNJ-J5Lc1&UYlPE4HNqYV"AUpl4AQG2pMVVfj5ARZ2H3d
+)G[1#mM*%l-DMc&LN9pi8L6j(`98BP@CALl622!X#SKa13LKRFMR)MR#5MJLI!EB
+$6%`3qS'2$f'5C9BjC9YLN!$H%jEYd'TiL3RS[4(88hL$lK+8cR)9A-Dlk!$h!91
+KBaK6IH16i8Nlb2@lX[98`pFI&aY)1%ZX!1%dBG*fBATBV"9&dCec-0PPaMbkdBV
+XZj,$IaXU%HE+))3'I#@Y#L%a-p,I!@!`bKh+X+K)U0#d(6rQVqp"4@K[)6drpEG
+KUa,mf5PaAF0*0ZIC3F+lY$QkRJ2lTFf4$c'TqX-"*,9J$T%cIcMJXp1a9MUfe@K
+h5lc`SC29!Y0FlhML2!YLr)5&DS1*&Q%Th-DSjhL"3&*i!FilmpF&ZBfRr&)9l
+aUMJ!FbSYeXM!f,4@NTQ0NmRGKI(je,1#'6ULT"jHCXDkm[rH4l'aSZMZp5)%-F`
+Iih1U4A+ZXR)K02G5V&SGa`H62p`1c9A'eUQ,HP(-&V3@0KKaH(&bEhdS[eh1fF#
+J9NIc`9JSAijE95HkB'@D'&lR)VBBbjXih1##YK#a*9BTdLVr&rm[mMri,hV-Id(
+P2`hr"I#IIP$@JK55*EM2X'b'mpA$q%233Sh#LL4B8"LdaSEm$iF83kljKd-(0H3
+GR0TP3ri[,$SCZ6(FUL6TkP)iI,ZFVZ$*$f-,frlK%"ki1)aMjL+TGLR,jE6"Nlq
+0,9K$PPJX)iZ6cpHhYBH``-PGSDjhLSe'@J"aD4FMUSY[`j*ZSqT-5TJ*h`E"RJ!
+d9fieYC!!DY'NFKY3VDQ@[iDPaHS@Y)XK0ANabQQ#f,TBA88!,%b)!YVlaS$SKR)
+lQpdM0RBHm6LTFkfNcZ@LcZ@McR@C1TH8&d$Z'X(BraY[%lVYrr@I0mj6q&eA3kR
+4rpm[PA3c+iqmD9V`U(JNd9fmiT&(12Aq`Yf'f#@8YE6YUDfU*&H3!-RP-)aNp!h
+d@%kXKVQc%f(MBTQJ!M'TF1*UXh`$mCK8*hJ5BF@2593@2T-@m(!5eV5hb)rCJ50
+k,b3CJV##E(##NQq'qF9541*B2Ma*KdI9U#-ZAY'552((HpIlNRB#CZ*il58&ETj
+$qY3kQ2)P-K&'-*HkP2VC`f9rqEdP6ZT5"BlCqKFZaf)bUL,aq)8m*L&hK#GclmV
+S)JT``i$(Uk6M!6jm&f%YN[Pib8c1PR1FS[jZASE!lTNq$[XUMf$+Yi+!d(EHCcE
+MM%4!'Bbpcf3[bqQJ2lc&S2%+&)VGL"2XX3`ZR#!q-9[K*VY5H&+FP'1h6R`mJ-2
+ri*24DML`r!(Nc'$b"T*Q"i&+mR'UM1i&UGXa'Acq2S!CQh(['B9&q#FQiK0M%Uk
+G'`(q2ac(%9`8J$chE#-QGbS5P[Daf#0FS'hRLL+Na-Xi`-+4Im#Ipl2f9"lK&61
+dj,6#cM$EJMqEBB%i,&IP-b%PY%i0Kk*,Ld*3brHZ*iI"p96JSe6JemKii1K((8c
++[G6GC+591Km!#!!0lUbpq)mDPd!HI9PlElkifVB%JYifJi-C!V`BII9ca+$H0qj
+p&q(iX*h"13"jB@-'(l4&"M*b1'5#$[&QlBjmFF4bX%1UKKa50I33@D*[4,kB[T(
+Lb*!!3qU'(&*hc#&Vp)h)'qNE+Bi11D4fb#'e3`j4Kqf$T"8[mR#pd[J3&SPRCY(
+#bHEGDhIF"ibC)F1%fmYl#%AF8Ia%931'Tm&!V%00Tr)jhA4BC$BKXSQpkch@QD@
+#h0+qpElchY0,XHTK1hiUqr1,PY3B'c"#k[GJ1L9`)Vd*dbKRGdrmfBFrU`%,lZ2
+d&c14XAeJh`jaQ!5`C3lUDKq-DMY-H4pZY[qBNf4`Vd5i@`rfB4R#jY8'ZQYXaHi
+hHmme-4aS8j1T@kc!I2Nc%R$I#MA(#U5A3j8pc+ceMB0FP6%*kjhLcYjh(TrYlK5
+jJjCJ-bXfi1KT@EPIfISe"(p'FGjfc[FD,VkLN9rhkYf"$iFVAe6[%030`)#Y4((
+Vh8#"'k+T!D8c*)H$qjC3G"Te!J6AAfhQ6S!LEVe+#G20$5-2"MXFZViP(3B5UAL
+Z!J#[NjGPBDV[[(2+j9GlFERA*d1&d22hbG5[$hERL3RZcKN*d1!QP-*r*cJ1(3"
+&q0R[JV3#YVAMa8PINJ#XNfqG4TVf0"*%AFCmBpI#0rJP1YSB&Te!%66KaS[#1Z&
+Scb!j$#"X'ppHM,ckT6Xi-MZFPDpZ'Kl1bmBPC#3)HRIj9mBCjRHGcmj[Xmae`mc
+h!'`i8CKbRFI0JF8+'4X&E+)f&`,2hqH0c@@cFX2!V,BB(!0%dS$,,NcS,rhZV24
+Y08)Sm(Ta5G$A!AC[bQcF[3Q%ZS3*03(ij3`Dm`1iHA&dSeT4#&b*(2k55%JJ53I
+ha%+!2Y6a"bMQ-)-IZ-`0l%"bJS'+b@,+rZk'VJ@E8X!eh2hJ%-8AU+&(@Q)[5ZR
+S@SDY6XYBGP"NeGYe1*D9pIIbe@9&mUele5@M`E(JC6Nc9Pe&j08X$YTJa0@eq&2
+$!CCarT%5b3Tp`$Yqj,!dBD)Z%K$%$B-ZCc,3TjZfEX4PI10L-bq"HKq!k+BmXb!
+ZKJF'(bYIHUQkdQdD2rcMIA"AKXPaN!#$m#q*cZF539bX(+!!`kUY1HNTm!*f4AI
+pUG[dEZGP4JJ%J4GEKCYN9@VN!8aaLSA$j'&VNdKpSYTRUrG-"Tk4N`5L,Vr14JL
+XC+ak,jXfUPNZ3NR$"F$!DKqV,Q0L-KA*D`#%Y#fGk2`$LM2Eq2I1aXl(mQ$Yaq&
+##D2ff!PQL[Ji*%bjimCc[$NN"-H93&U%03iL)#0%1(a%4Ya%2#i5kEK5[*%)bJf
+%RqFmaF8IikHS1%NIZiUAmdI9c89HA39@m+G59YHTMbFq41R$51+$4KqQ%Kr#p+%
+Lm5(h*M!68$NfkT,P'0XB!lbL*AQc'0d$59B`EXGf)CUZf[,R0dQc!5Aa&5['8
+&"iMmidCJ5bH-c[AVqe)UbR3(&hl"G1I*P#d8lXjrf$%CC+D[V@05SQN"9($E5B#
+Nm9-06mfbQXe*Al-4jr5fNjR$(6pQ9jVY4pk!'ZdL0GTm@HV-"YaV`V`4MebhL6B
+NC5e%dFV+dC1NEIm0ZR+j#0'&8#(X-KEfP-aVEZX,L690E!-NYR%5fe3D1pe,BZX
+MXGdPX4@6d"`NY,XN0*9%eUXk%X)kP4$63%*!+a1Lb5D%8S"3[)T3HK*#-40##3Q
+K1+QE2@U$!hZQ%1K[hh!,MRhGRPD$LXLlFFYI(RmTeR[mQkCXHZ0)2BTKhQRaGrN
+Q8VIB'ACD(2-hq#6P@Q1M`m,G(JedY#Y5G'@eP+&c8YiAZ"-*#!fUJGR&X+0MaDh
+E,e+J%kNZZ6fK3#k!+,j5ihU!)k`!r63QFX+P'`ijF&YMPI0m*`23f1*BGFhTFlC
+cPTEU@UFPDSR9aQ+iUA0D3'lb1VRK,DP@8KRaJhArSF!dZ4#63aJV03S1l(##Vf-
+RH1pfCTF8a4G'Gf2KMT&``b6@'I8b(1@4@L#(GA*Di!UpG#Tc9B(J4Scc$1iN(NJ
+*4N4f+T!!AF94$`$#NMI&Dq83km%Zm[*qr5+Hq(I`QBV1rZZcX5T8(m33S#SAXCd
+"VCFYVJF%!!Q!m,F%"kDP9N`LapcPr%K*H)DrcH*)ZA6i&F`!#3X3dq5mf$"J+rj
+S0AT204@ZUY'LK`KQ'`6-1)K#8b-d-5NPk-bd-6cf*FPaE5N&(4ITGC%H,-9'&0M
+@J$*@dq%Tr)c*6,%&,%c4*0,$'pILdYY10Aaqa28!#N"UZk"5lR*ATKqVac8@91F
++'lIFeaRQJSRdBhB@#541k!)-(R#fAiamdXdZ+(+EiI*R)QYmdIi,MPYSN!$NA08
+qr6-4q#2"KJpSl[-3`,&&1&Fp221fZ2KMI6"0AXaUB!40)kl*98E5-i%()-$(9VV
+B4ApKjQfS["'BG6%q&ZMME6`b'QR"KfEk-)[L'H@%QSp0)m2,UfhF(@)MGrE,KkK
+"cd0p$rLP`BGPC1QTKPI2mZ9M)fcU[(R2')l0b*j6$BXfmFTl6IBBri3(N!"U`Nr
+befGP6MEM*bX4r2(a2q#Ej!ri"4j#"p-rfk822f&jeJqMpddN0TK`mBppkmlqb"U
+3!'efp"Ya*iPXVkDE#EVCPq'EjZq,"q,dm8#"EdSISBp,*A)92VE4!mAd!+[r%5,
+lfhP+E'ij2H#M"rD)KC%@`5,JK9H`[(46S*XDjD%2&@HM%IG0d8L+EXl5$H$qD*M
+%@LUBPXEf"6XCQbNJJMiB#&,+6Lbbq8h2!"L+eF`'ShMf'I(LI0Xj*N!'J22BJEB
+,Z,'IDYLrA5&'-V,2X$-FDpK"*Yl2-&&krmFA`"CrLm5lR)r$RcBFHBdG$4%ZV-A
+L(PVXKZN[`i@him,1`RbdRF%&"Si!$YKj%T@HP!!Q"0#!KmXT'E5(MLileA#iP-&
+Hp1)Z8Kh&A(8dR[#bdVSpbr![LS`GPrBCVL`l"p9N,5$%eq#!Y--G9e5NU(SV0kS
+bl1Jd+q!%mAj6aj%Q$L#8LKeekC)e3bip3)D$0,eRjCA)9BdA'+DdJ(**&&TLSA#
+"hPb%aFdjqEf"f$)ki,Fq$6FU8Ji!'@,,2,h+TLC))GJ"iU`idX4*b0KU*eFTrZ-
+QUP6m5U5NrR!pYXS2aRN5fi0(kT4(UX4(L&Y-6%8eQ,L8A,GIA"a6AM6L(dAA5L%
+j--TGkqQe)p5eP+kHJP!AZ(XqIAhN!@jZ$hEeTkr3TeR4dCqq#IEb@D%fRRjYj!%
+69&4+pB5*R2j@E9CB&DUF[mNRb1a18QK*8N3`9f`ra%SSc6NV+jVAM1pZ*MGr*,S
+QLSaPlE2$6$)EZhbMSr(RZKVDTk-hfJZ",IFjR))#L)1B"Cl[j#$[ZbJ)fHRi3))
+FD0I5'M1BLT[d"$GBif3$@+F+Yp&JQCh,c'r[,M*@i0MAfjRB8a#4NChXY1kcLQC
+Ra#5ab`T5e16SB4%0dF*T$Bj-SiL5[mlf(pbM$B66AY)'S)T6IrmPU6hbKM&IC$6
+LNRrr"Ji*$kBhVGE-S)0)R"*!%mpS5&`Tl%0XQ"Pf0+aMe6AV2qNE4VHVSS6,ib"
+I*MXbrI3-2e53!,l#c2b2d"K"4[!$B!`rkf43jA5MaPeFFUSc@C!!rRDIGA,qf%Y
+9Ff*dJNQJeAU-Jd#iBSb6r*aQGIBLi@3[q0fYMpM1)$R8Eq%%r@K`lep4`6f&iUi
+&!pTC#1bqcd"%0YjiHX(15F['dp-THUJ@$cfPcL)%$"lq%K@qfAMkGUQamA!p&cR
+I,TK'3$PD2RGVleq"&!iqRZ($CYN0U8CC3TqQ*m!mhN*6KaTDS[&P),5RI$*f#C0
+Dck`4f+d,PF'kZUL&@hpjNP%&F&E[CN1F*2F'GUFeB(RGiZb&5fFGQ34-VQ!b5Bk
+fdf+6!rLSK3qJTMAfY`"*rUim9NA&9BF+Tf*I0lJKL%MR9k8aEJ6MjpL4(f`Ha1p
+%8@H+!1GNB'`bLiic*R186UpK&apQ#ePB)!#9F$KVGNF1jHrqC#!`hMhq%a3jNh[
+6J550F0dLGl*+[9N33B#YB*-RrZ-bS26DJZLfbB+H"$j"Pr`D'aHcD+*KKmcTl0U
+TKYhA+@dZI5ScZ@#qHiajlYKHXr%FR)@Br,5#l!#5lVr!&6ebNVB2D"YG2UFDKVh
+AdYLa`!3UepXLF`MDDhY2UVSc9G,a"S-F#0PAmPCm"G9-('NqhmR(+KG1$9jiYT`
+B0YeCB!qEkaJ+%`@CZib#a)-C3a3QTqC[S5Mhd'HR`3j0+%jUF-cXFRLT4,-cQBA
++EfD9RqiD"&$5UaF[03FSXdS'[VFSbABdhVR($L!h,P!M,B,kB'6B1#I8#[RX[)"
+JiH`8BX8eLJEa2LFj-GP*),X3XZbk'&@8D5'RLk8K6Xe!6(DI1qTB9#&6L&2eYR%
+cBD84a4id*fAPH*rGF%ieE0QTN!$ealR$(,Q!JN!L)C0AR93mCPYhikhE3Shr3Kh
+RMcpX8VA&(rkQ'jZX8JUpP3V06!JmP4"11m50PiiQm8KMLda0bqSG3`+81N@0&'E
+Z,6)c2*TYR`PL-QDfI`pK-P$'X*j'B!FZM`19EHD%#!0N`m*a0Y,@cN'Vl#RN6BE
+`Sh"m%kR9hb'*AqA(4irim#JqP1#K)!49PjfR#eVd&!JjPCD5bM$C@F[I6Jh8i@6
+'lP89RrUD&p(-ARU0qrjHcb9&F)qV$RB'1iHZLZ*1RC'P8R8jcrHHArQT'FGPrPf
+B!a[$*lIB"$CBI)A&EZ@J1jkF1-L6-NGPK#TZ8DdcJ'A9Z*)!ZJmM330ZZ"r@qhY
+p"4LK5@b(h4eGY0""e)"-G&V&658ka$QTAM&qEXLBJ6,*ATCN@L[)i(-'U3q3!2e
+@N!$p9S1ERm'9[YJmmKF`qRSM$iD6JDe0DT)#b(VmfD5i$9QK3"Uap4j8p6eXVBF
+F#$4h&PY3mI%I85ME82MXUZE%`Hqc!U2ZT66R*mA9)a3A'&FIb-q-EV$+`!2Pj,3
+`&YZ%2r9kdKrXacqL#8XMKi6SH[DVTZ))1jU$b`4!LjVBH`![Ym0&G8qX(!kkZf*
+Pl+BE+m(,Pf-eB)H5#L-Q)e@'h@&T[$8lJ10IaTrpq,1,Kcci*CFZ'A,T4Eid+VL
+G5-[,cHK1eV(BHaXdhi3r#$-kX!'I-9NpFmH[HD`E0)pp11#i)jSZJ$eGpYePF&D
+5-+8Dcc$r0'+j*`1!1a+VB6FUS"0[38(`C'`EPJSR@PS+f"1J@pRHF@jXUc*6@pi
+,d$0V([a"Z)LA`CLfdm@mbX9HpPJ2YU%C!C`Zie#&Qilb*5#qA#'Z0d',Xi!A"`2
+hf2Z6bdN*P4-6$+$bpfIed%%bHed(0E0F+#PeJ-c24-1'-Y%J%bV#Q9!i+Vr@,`4
+Qf"bXfTcY0k+*AjP[2cE8#M9N*6*M*&53!!%9C!J9&+X#3H%`UK,0HfSF*`[f$EH
+QjES2KbLLpET,PI'%E-f`m`U(1HZ*9+qKlV+T5(5AGP+1lF2[#UG#2&!['#88dr[
+'P0*G9KbN1bbMlL#$hi"5b5TGSP'9`3qTd8h,C8NXd'S'hYQm621+Y%V&C34"LDl
+f8)ce3ZA&9K6bFDJh*3(D)aUb%Ra6)'KZP%#j9p3q1[S6#(5eHRFQ#0Ak#IkX9[f
+kQJbH8P4q&lS#50PdUHkD%Yafc#XfmGAL3$@K9S2-mRrLS5lKk)*S@Rl2"YRbPfG
+M,F,YN!!,5P'p2m($Um&kYFiF"a&VdBNB3Q!`8%KFA$IJ`!kQ0irA[e#D!qb$ijc
+jL!hT@`d0&[CY'&KSK803U(&JfMi+f!D0"'S2YF6@Ff+J`6,B@$pfb#ppQVrIpc1
+`bA$,@FR&&@R)Hd,ZD%2HpaSRH@"m38T0(D#2B+eL"jlRa1d"Q%'+Ym*T+r(j5!Z
+"!VDX5@SE+F3cdD`J1NX`m6Er04!E+IHGdCMYiQ6cP5"5c@&Zr-j06I8MR3bTlL-
+(5e4*Z&KZX6aUBkJA6&mHLd,r-4*Vmi9IDB9EKNeP0R8CR!"qJNVYj!D(F0FV9lF
+jThUR9VB5UIPj'UN453mQ0Z&A!R6!0S@FR-J`40m'0G!'Gre5G49Y2i$YahPcD$l
+8FLD+6Xm`K-erh&IJTJ)H1cjYiNpRSX6%rMDf4Nh4p#&-C55PU)@0#D8`Si2H8!1
+08*aC8JXf8JZf8`frke2F@GI!X4d+NN$Y#k*MF$T4CYA6LRVBQ+BFa%9r`4H9Vj1
+#f#M8!`X&bX(')Er-JSR-CLfr1Bi+l&)8K+'EFErPK45&c2b1$bU"Z[K!(D@NKHM
+@HkJc$fAmbM!XKe8(D2KSkKbbNP1LDiBfREGD5A@BT$T5#YMh@B"p2J,l2LG#jjq
+k'F)%1@VJG+CRJ-,M!B,lAXN%9@G"8q!qhV!1q$N9TY)+pUrGdF(J(N,A(3F(pb)
+qGT)YLYMD2H%NJG652JM1m9!a[*'2-3!3!hp)EMd"GYPP#(G(+kN92m(l&d9bAfj
+L9AAeAIQTiT+A8J"[1a0+$(,K*%J)V$iE`#55R0r--+(-F&1!PMr,`VUmXV$S6lk
+-'Gardl"`$!YIqE-Yr%UYXP"a0b8B1Jh!b"`F`0!%J''eTJ-BJ-+8TPidq-JSUC-
+f,N))fmi1QZ-[bA"X$`M$jBbI"pDi,$PNcJ6l1p3a",c(EdpN![dGSpTcABjZ"+m
+p5)EH9a+MdFEMXmfjJ+1,Aqrp+rh9XSlT6ic!i8jfeml10ajIN!$"kpc4'ip2bk#
+P`!S6L3!dN!#BB)8*05'$0eQGdZ",Tk$Jba9&KD&Le$JTqh*ec2m%KK(,X"UQ3fZ
+9)dZ8!qZ8!qY`i!le%"4@15S9eipLpSJZ3USbqVVSZVTlq@i,91YfX)!@5TpS8(e
+J'1EiSH!HbdSC[B-fZm(S!&U2"C3Q3cK8"$h+4T2qISq-VZ80BN[8S%cC8K@fY*I
+G4aX(&Tl$*!QbXI1BM5NU2+S3A+MPm0#Y4AE4eS+d04Xe*J)$6-+V"'Qa3E4Qfr9
+#rU,-"IHq-d4mSIk1R&EHlHMDq`l%&cTm2`&93(bF8ZIAHpr4Ac9!I)A3&BdK$3*
+*)-$))B**)-#)VFp[a'q'`6l[`,CFJimb,+C8DBG5[(&4LDN+mKK-S5UmU*@U%U@
+UV"jDb"A"k'NCmpraX@%Rd3IXkKKAGJl9fh!('jR"4Z+0Gl#445%+36l&S#CBB2A
+IBVFIA[6SrliS-rkq+G@DCSbR&m*N1+GR`ijZ)plB[E#AIq!B8-*!h-dNTemB,PF
+[mBG%K8,TjM+N3X+a-),UV%aXp6JhfD@YSXMN1k)ia&EeaEaKYee!miT,hD2Uih#
+5D(-(0PM!)'J`'fl!ZahTY6LRbY3+(L!X'fF`EXk#X#Ik)cL8B4,%*)K*!"-0Nc!
+Q!8`qrK'lN!#K)38Q'aNSa&!YiP,P3d-dFPLh+LQU&*S,D'"UY*apE(lC,Fm%9$2
+FX)a9'2VTPXqjSTXq!GSc0[&J8,jiJ3%r'#bfRA6(0PJ'KfkbTX&*D$c3-0(!J*'
+4clMFj[GY9q!DB$,B93AQX@$Nehq(Q@@R#`PUIka5KcrJARGC*"N+IR@4(8AP$S)
+L'B!mlH*K[9U9T$'j"lrDbB0XZ2FFX4PK2&c[6MeL!fN#qGV+MpcM!IT5(4""B(S
+&(%'EpB4Kp@Bqc'GR&3M63!L(&$8!9Jah9Cjq1cd1-939(-GIP4I!f,hLMX`a@&r
+V(5p+rI`MGaB$mL%FmBlh)5(+0h!@a'XM+&iBh60j`i&Nl39ZL)%K[h$BqP%MPGD
+iSSi,Dk9SL$9a44ST,P!-qAF($@[@RQViSed-hXd&H&LS`qG3C4Hc#6Xl#dYJlj1
+qak%QNlk[NG+XFMi"JJmShBJ2@(jXF9M!TP@C$1d`+&2j$+FE)HM*H3a#pjj`rmN
+'aQf(,E49&iIJECf&r,0i@+B3rZ'ipAk''6cLjMY)H%iiF%'$2d'K)@fK$9C&0!9
+JTm`R9Q,MBmim$m'&iahkdEaCMpD2(pUfRDS`!GBQ*@$Ij1Dq"fP0&LYek"TG1!k
+'L"PXGM0"UJ#"X%5&!#4AVa*!XUq(#5fp'U2+0Z2P@['5SEP`@N2)`8'Z'&4+2ai
+heTYa9$!$pj4+,Ql$c&M8RNQqD+Yb0*,&eH2+C5mUPp9I)V&4R90H[MC*fdQm4%1
+%DP0j1B01"8&mVbpc03&d9Pab&lZjUfeNpbm6Ml95fMR%!N*hJ@Ja1'#Ge(l!5HN
+`!Bi*9e@4)%k[6++)I(d2dJUPVqp")N9md#+QK9c*XF4#VTD4Z1@+a(RlV6F+9j9
+YBaLeMBGF$`B,'QNT"Sh$D",+$'&+E5EBac@6IcS[V6-!F6MBK3Jq`qa,h`1pFB5
+jD!L6im@#Q66"62E#2"jRGH*R0FP+ECAbDUAEqAIH`VLah*IkcB0A9N50ZD[M(b'
+"cUN&+CmdqSePc2BLS3Y@UqG*5M1(MIZCINipmb"#25p5iVK5*1RC&HE604M3%3b
+SE`D"5+ha(2rrCAB0qI52P5%I2r8E9bHP2J$NThIjGZCY(&BP"MhNK@q0SpVD6)j
+B3E#9Qd[k-%5KNI3*S2P&YGG)#PA$(D5TFqSb*r1Nm4efcI"lTq"LNB)D!3Z(6fK
+5)aS36D*aLlZ9*j`X)rG,T&[BS3&LZGl(U6'Zk'NNaX"i)j'['HIAIjj&Te3hKl4
+EN!!,6lJA'*pa2G!6Am)BLZ5cpb)IiXm0Yh`f(rRcQAFMDhq*B,F*`9,+Zj6%#dF
+%h"64i%heB1rp5%mra"embpfq"`F4HaQ,R8N4YRZXi2HFDJKIiNEG4`Rq%fVBrXR
+IH62M4ZTJ`Spd',dNr,8NmK-NF!c!DAf*"&iPZZ#A9bM#RMA1kd-eHVFE[Im%J8I
+@N!$!8@aIrPT#i(cVd`Aqj6!*[!DJHBdlrhGHEqrRaq%S%$jk3h!4Ch2XRB&l!B$
+3AMJ4p,#SURE5i+*Ph1"D-3`T$h%Bl-bM8eh496kDUL4-K*G([S%+`DbX"MNSP(P
+llaf1[%FQJeX3Va3fNiqX-NbHb%0`YDB8%RhqB1CCCbq6AEK%V*T-JQ49BRR,j-I
+LaPhmFaYZ),,0ECa),NLB&5lfSeSf+pmS%Qmh)bhS@Q$BdJ29r`1RT'mr%-d+!92
+Zk"0'#**Q6*%49JN4r+Mqi%C)#NR!BXXpF@Fr%61(BA)cN!#0Rr0S43qTf9-0S9N
+3dK6B!!FRcelY0(S&JH''4$cijqBRBA6pkcr2L5TZ"-m'TeqS,qe#c!$KS(LKPjh
+N84eaSE9dS9F`Q'`PGeGF#"@0I!-AFKac)4XkG$mPY82'6GQ$SB4lqE+C&lJXJkQ
+5"QNKGcK+8)$B2k4#j35DB!##@9[&c0VJ!+1YL5'fQ)%+V4C$fIT#a"VY%N25mJq
+kS"8LV50'LZ((1RG11(&NqYhA[Qp6K`G$HMa`$a[SaJ!$&0!cNfDBK`8V9DZ`8YF
+6E&608$EU5N40B@MLESr*E*fMJ`a"EHbBhDp2Tr-mU#Xa68eJQZB8TUPNN!"03NF
+E[#Na"!2@S6",63PQUICJc")A4K%+3mX`Di4Z`-2FpJJPMXmEQ-982Q[dHCd)a@0
+e8*'E!([!I0)kfmj8pk@chrSA!26G6-SmB6@&jTFTqTP33d@Fr'V"-!6bTK8#0!'
+Z#AM&3NFmJYG0@8eKSkS'f5JdrNc5S!T6a1bF*KDYqL!X@VAc2,X3JP'VpM46Jm8
+`h'qKQL)63VRVV"LkRT2B,pj'NKN`X4'$KPSfFX*K$80QYhZXUACNJ4p#5MMP5H%
+ii5)hkRUJ%!)8KGe*6K8SR&J9ETZj5kB9030*B1'MUeN0"4GS-0ZNTjL+%STphD`
+S5)r+j$TP8BV3SK5KRiT3ib,d$ca4-DFTV##85eY6)Fp"mc(-S$94B'N-SGc2$'(
+VN!!K#cJFiUk0!@P29Pc&&Yp"0m@fP%$VG0Z&60ieKF'%8qb-l2kM$a`VVlTM!&U
+KNYrmaH,9F3Dm1jm*[2QkrX%h3Q!8$l9LmQ$4"3YhaS`3Eclaf"b8LRpbrXd,r!P
+$L8IIM1(6$`T5U(Tk+)iQ#a$G6kXBA)2DBc88@jEhD-q%hRbpi63QJ6G[T"fJ$DD
+-G4FrraXBC$H-TD2imkF*9XhNJ4liJ@pM10IB1PcNaF*9%$PfjeN(4UIk0aLQeL)
+R+kD[A$Slmb`HZSJrPpfbr[-Bh*EF5#LjF!*TUBZa$`'kh*MK!4Xr#fIjP9!C&j!
+!ZVU-"0Gbcjae(J1fR2Ik!B@M3F,k-Ai-$)ePE3U*($5)qp@eaaGLkq(%fM*ppRC
+4E)f2)ASD'YQ$VXk$@DR1a'0QiV%32`DR",S3KKK+(1VC5BY"B-`,lNF&8d(Eh%B
+2cl(,ED`9Mfq$1M03,4#A#%aM6Sjrj!'lE)lSkPB-NkZV@lbD%8-*Bm%*8ZBK*LH
+XB"0$"I0,Gq)P%Y[1cb3@pG',X#!d4beEUErq06[hD@N,ME5&iD-@4SFX6,ZJ,%P
+EQ$TfS6`dC'(+Q@J54kmh$APYTKel)HeBqe((AKUbd$ji,!rG[Rbpm4Pq%D8ZU(m
+b-[L3!"KmK-PC!5PSq(c1&f&3h'`mPBr!bF(PGl4[k*LZhG!aUaR*p-&(H'"SX)E
+[%62-i%%cXBU0#%cba!+q+iUEKS*@i)6`iT@B-Qba'$k9S2RBBcb!E'6VE`66!4E
+(9$VpiY9R00(&H8"a*K3!(8*ABRLm(Q5JK)B2`9$``mXL@8%X*VB,%N)$mGk8jJJ
+D2i)CU[,qFGqI#MF@lJb+!SA+R#L$bS65#9jlH`J,bKINlBZ,SSXZ-ZZdlL4F6M'
+*P"1l*eieZl2%#-lb38RcEDmBaZf&MT+l"2ZjlNbI`SJ'V`dH*eHjA84BA@$h8X3
+F'fm2#Bb11[#%'%!8l")Ul1e(`(&kl4L'PHp(8diS,hD'jB-dXEAD&pcDR!L$eK&
+l6q#)bfYajfNV'J+9jH6#JqT(DcL`K@KZc169(!FQc%4AlY)V*#q)BT+[iDMB#PD
+FH*L(*iDL001$9Q&fEK00B5V*"EDbB+Sp4&65#-MQ$rSHp,F6Z@Rhl8d2BYJ)LG(
+XGf+3!(LSDMm2!bmfp085JL(N,hRimiQ(RdarQ"Q8dN9bDFEP8edLf#biH1Mhrjc
+qeH`c&G+Lr(-%!-%%59TjP9fQ)QF&qd#$H(-U06NU)%,mi`B8GP5GqZ+6bh*AMG$
+ETCPa)3CHkY%(A"UMm!D'Q6+&)I1"AT-(fF"`'e0'+0ei8jQ4"i864Fl[If5NlPU
+Z90Sk-RQiMQ[Z2Kj@qkl&eZ(-C`$lYTei0LqD+0'8rQN3QTSFPY,86N!d6kfBfQR
+DLUQ9TJDQV64eBQV30)1TNkBj6$-dc@+DSqNf6,-dAF4d'ddV-&fND4l6#TS1B*U
+Rk6LQ!c5G`R5FTLj-TfMDLkQ,TRfBpY*d"-jRhNb!QJ[*Ip8bJB'1C`HNL6pfr,(
+L6b[q'%CJ#(P1NKKpaEm5BR4q4Q(NVl04i"mVZ+#V'ef*9Pp+$'R%c85iZabBA+k
+E4j!!NdbT!YJ%-1Ak#aLr9T[q3LIVUbp0Ab'b[KCreM"Cjp$58icE0Yk3!$Z#iH'
+qq-eQhJ5r3[IZdKIrblGZrqVSaEjChP)e0rKV3rH1JZ5ZMBA)05"&!q)DD1T4krj
+iVFU%eMH(M`B5SGX1YX`G1rJb+2-J3[81T,L+R(RKb[qaQ`b8)C)fVk2BqI1rL$-
+)2UKJDqQaVK'##USYI)RUkfJ5p`ic&p905c3-CR8AAkkDNm(0rh'fqRTXK#lr'Vp
+'',q!3q[&S@[("+[)`q$$D6e")%M")'QZ%`UPf'kFNFjHT3&eh@JF!aSYpV(cCkA
+1B,SX4$bQeMX(3hb3!#-)Lj89Q-X,81S-S@VBc%JK-&@4jG&06QmpkEdR9#`8SX+
+54bV%F$qqU11@mTR9j%Z$Rj(H5"Up$S4%I)P"CR,&D8qF,TK+)h)(4+%icR)a99m
+LjNT@lf9AJU%TiU[@-6&NFe`-'i*%E[2KqaRleSl#29DAaN#1K`0V4LU&RC8a4!f
+PXmjbi1(SjNFDZUE,'VTQf4fjaqK@I8B[$r#cV-1h1+UjMHFXR"TdQaLbEXS)kN@
+PE,1553B+kBl8+!9e8Pbd!1EVfH05q`)ZJiDXh+!Pb3!8K6Np4KFAJd&ZcqPTKU[
+NY-TGmp+efH)d"FY!)4aSB5!I-PPFlaG3@`%-"&`N1UDe$4fha30ZHQ!S)ipr"Q4
+5'@*FbbQ*m[(%%5Ba#BkYAm,)3Hr+fFCf1!$lMH$KcZ*VEHIdkLS(aF&DhC1c1YJ
+B+LEcVp293'L"2[`l(`k#CYF*'N0U-%-93IRe6*i$H!VfA+2XPP5*a*I*JDFa$`J
+H)Q,)F1EHBrGN'(q3!*4j$-8'Cj!!X#G$EP*X@#B'GkVJ-)f61qXf-kb6NBpKi(k
+B@SI[fD`+,N8BXBhZ9&Rk3YQX#LRL,cNBp!3NJ01ZT4'"[lEc&M%EYj93`BL3S
+(9P'BqHqLZS('%5,eEhiZIIJN-6LT,XMr(#V)%Pf3!0%E$"@3!#",&%''dJ8C[83
+2(#2)k'XN5)"1d9NKb1K8iJKl3T!!R0"+kB*mYE2B2&D3!0&Q%Q4+"a'e$iB+8VZ
+4%'5*!X@)P&C03TMK9i8`cD1%DBFC0MRC"+B+cr(rC'SC!Rj650cf3$MQ6"irF4+
+8I3i'i"NG+UMr[25[[f*"9CDQ#FS13H%IkU*PcA`XPXB2XT6-iUYPD8ZEDDP'5kh
++8[Y45d%1DHN(D8ZY[&3HSU8pbY,QJbbp68[GD8YlD'N6,@e9PPU208JX&GZG5e[
+DLU9hD@(T#brmRh6*cG9T#dZaX"4`HS[i*dB5aKc@MEPD0fBfS5I6M6PD4XCF-Y5
+Ba3!P"B,VM'"LQ%F"l@e9$@%1J(4kYPZqh3kfp1[B!JG")I()d-&(VLibk2GN*d%
+YSm`D2hPG#C0D`Ha'2Fd!K(J!UV#j$*U-S(83h$arQN'Br13T!VYDhBB)8M`XQ#!
+&(4SGCqfM)%DH*"DrN[ma,9N2H0I[1Mm@[mcKh,`5cTe(-rCEdlA,E[PHJb1#YZ'
+@cc8Dl1f'JJm8"AIAZba$1Nb4XrF(82!mC#)l+EM1jcDUmCPlFqeIZ-IZJmaXdT(
+Gdr[a8+GiD!l"Q1-#T4me-AJ+E@i0`TL`aq38de0a"!B$r%%243M3#G0,T+X`R&`
+&%`R2+(FY``8RBhZ#CGFrQHQIm$-P@2QR8LJ-6B&YUh3JJ3FC`mX3KFN!!TNjH5U
+N#%(+2bFa52NKJ#abc)-"Amr!FB8+fh+US6C$5qfmm*X$R!`4PkXGaI%0rlb6AUI
+dcrpF6Tml4&"1LbcdkC@d6c-iTRG)eAU(9'Z+3@JZBKVZ6#3(Nq)IBJ*8)q&Xler
+rhcK%S1&6HG&h+18@0Z*L+$1'Bp,JK5$"eYCQ2-5$[3))(X1r+X%T1KbkIR4`3$C
+qX2LRYR2&2FrAmi!jdA2X[h,*h2+Q"F-L5j-rS(NaA"q4PK3Z5kP"B*crm50ZZ)+
+2ad$Q88X`*Q@abIrFbF&HXj88pacp'Pe4mMq(amhqBM%fNTHrcU%q!k%CC6'D*NQ
+[PVBeL&pDMcQ'KdP0LDi,D!!*-R)c-G&)"!f!#DkBJ$Qh)ph%M4p,"KX$T`r$"3!
+!)aY"4%05!`"AiJp9$@C%!K!KiZj8lm&*6VcD+lQB+m2S*cN[&i)F6DhM8UU!aT`
+R2DjJ+H1km46Z6ScmrKD3!&,(cC`",@2GVKShihBb@6HE54-E$','d&[V@Z0N(%2
+YDDcM@*YK(1V39!de"b@Lm2IrIZrhhAI!iCRdf@HIHAi!(@Bq*"%3,a!!%"!!%&%
+[PBQrD'V#(r'M9bL3!0*K&3jFPbcXNEc'ej5X-@8h[KC*$(V54"f)TX`aXq@6j5q
+9@AX"R,-M4Cr0RaJ4lDC09S35'aG(%NGk`!*"@Z"R&cTX(PMCZ'ZJ6!5Rl""PVqP
+["PBf,DD"fkE'cFL8cVKSklipKL*LVqiNKAhiY!,6TN-)KeT&apFMcU019qpKU
+3!!NJh`$#EMV4GLj5p-8N(QLrAAPqdUAV`SmaEJS9[C0Q0T[Ua(PdF"P0QMec$)&
+E&$Y#cfD12AIeR66@U82TT&FkH5+*5#NkpD#6B@"H@p$NrNB6HhUMl1PfpHRFGp)
+kAK'GT!cVlAI5)SPpEh-4k-,3HjJbJb[U2Ia-al,&fJr($!9GTq2R4#6aB*le6Aa
+LiTm&k3-r81+LGP`#SV4a-`EfB1*46'cM%rIJChFNdEk$2ZJ5HPEl86G#`Gdj`K0
+C+RASA-QR*UC@XbZ6kRclqjZD'$V%&R4j'PZJQeE'&MM3b@PXJ@0k$l)&EH*9YU$
+Y84(dJIKPX(LXXH"N[h$&)hbaK"5XQh#UT@2k+$jSf$fQ#qk('U`he'2E)dY2MA8
+!19j8H6jTU"Krc&eT-q*YDE6G-LLl,V622$28M!+0K"Cc![b*QE)R*YaMdY%i!q@
+c"EEeqeAXb-5Z2f!)X25h,qcIjeZ#,ALC'%'5&k8NCr6e4H[5SdR*U)X@,IT@5M6
+e%qGDL-j,f@PR$qCND"Rb5NY,56kE(&dNpRi"$r9HXIC+3@EG5HX`MVA(d')Fekk
+!#Ef%a&!!c1Qc$[2&GK`b'%)9Q'@RJ5qfC)jT)F-CiaPR+-iaSB6LL2f`f5f4K0M
+N"V[5P*J(l&m8kc)+IZ'mM5jFk8M["QZ[K"2PQ-P0JADJBQl1i#+L-$J#aKAmbT3
+Mr0K`4(4V)D#'%@+bd`&5NP0cXR9DHPBf2JqN*fHPpQRCfM%YpfcGQC5F%e&48bP
+mi'#@,LIp6$3e05Y9'BTQkj)[+Q15ULMSUi4jC@SE0F,jS&h4"5HI0cY)KE&K+eb
+eT"ch@"@UDP8Z-5a"CE"B@!M``)h6N84"YPBShF)GHAAm-J*!GRc%MDDj9i@&&",
+h5XpeI*hq*c8T,'Vc%!JA"`HH4,KmGk9`J%bH$RF'C5TP5,qK"9Yc,+dd8LM)3mH
+`$J2Y!2)N30B9L)R$1N5JP'IG"(A$J)Fr2bSG,'E3aV9D8qi[&LV$TU3M!TpEL@(
+L)h)@URRJq%b!TYah2X8%V`&UJa#SUJELSLPh6LNq$N5+jUaPLLJ1hAk(9k0QX-i
+l*dbj-4-qEZ++L0,PMq"`NMUKmbcHm3'`f3Ef9)G0aeR8%Bqqe03dcdd2NkYiB(P
+JFAI,Le#FX1#2!aPq5@8"K3'#e-h38M1VR5,K9B26HJ,)T-CEqFK5B[[Bff$l3Xl
+f&8!d5fc[keABAZTqVCN#PCG@NMX8cSJJQ(r8b+k54-KmLJQ&2553!'84ke03GPP
+)3*!!1r6Mhhh"h+@&iN)dSf,K3UiIecaFb$he#lQePkk3!$)N([U(KmfG9N[(ecR
+,e#dJS$P%ciRCk,`k2YVa2KYBM`mkeN&L!4-AmPLU`L68@3XT,S[,Ce-JGT,3p[@
+G68U+CQGS59NT@YD"C#h,V+@HcGC&r4CCc$U6C6l$CbNLQq46XSZ%YjYF-PmV[TE
+4KD8(TJZU3$Fe5YP*94dbSK%"8)F-B-QBN`-FKjUj-@3Z$fL6`B!%d*5-jH$X@Je
+`9U"Q,!R+Tj4"jZ!#BSYHZ,PTm%0$#`rjd1)"IYe@D@%8'jXcac+k0Y4ZE)l1Jk*
+T'!948flJZdka-h'aJcJfFh"qRaj$1,XHP8Y!6Z0D(0'dm5KJ*-&2'rdr!C!!#D*
+!FFZ-F0B2FS@#BCfXhhD(UfLGNrAE3UU+H2GVY3313DLeMYL*3!&J5M51M$S8G91
+'A1k8PPa-GV1*pe!ihqe@-k0YP$qe`jNCEIh9RVSAD*i55XC!L'Cba-[Ek-$#&j3
+$6D0*"CCA&'!*dXf$DDZYAI`53@a2iUD#6"9JFK&43@HSQ6VSfX%'AM$"&4X!5N4
+"Vh6!lU%9pklG*8*8ZQVC4p3Y8dK6T#A2IJ0BiRAR44Fj5aK[+YAllI'Q8L)eG1h
+FT+*Hm6Im&-$LKhci5PL`IA!["aZZGV"AUQeeZ1C@FI4m*q+L`X`h%@i*+38-@cC
+1M5BG2*XHV3NjRM6SU2m"ZEJm-8)#i14P9UAp*Qb9YX[2+Qf9Ae@D#q+i"Z!0"Mi
+RY``XAlDDUVFA6F*,3(!4`[B1P,KNL`[+BP#)%#e3X0$B4bIlL,#2FICKB"pkQ2U
+-0C@BkLc)[LpHBdp094ZBS'S&V,3'c,@E$Jj`HBL,+)`#b[1arA1dN!!+"V(c$(b
+H)JCN*$4e(#35LC-m$*Jc&XL0jQDPrN6,bGB'8P1Lf6RTcUJ1L-+qHNCVCQP08PQ
+TmMY)K6!mmi,3-q$jDIM3XimTpM&"(adkUK4rRdr%!99qp4))Qf&dTPBL*d65mAa
+AEPH50pq9G3(Efq98N!$2U#JS0NfQS(91"INkE488dr$X9KJ3DVVaT12Eq-AET)X
+hb5kfm)Y,-''3!&eFJTp+QH)EC4HMifFlk1,ma8,,%Z*QG6@%!-UcXY0mAri''+(
+#1N6C$R8Ce%rpk0#DHi`"0XXBB#1V,K1I+3`3ii9%jd%fb3j#(3FP"J%$h%!P9dF
+Uc@&PSZcSMlA,"l252p$#N!$q0KQX6)[@jD3N8bdSQe[e92pB,LFl*eRXPFNDlmZ
+Fc4k!hkH*p$G))3'2p6PaNKKUp*Kl$-Ccac"`$-A(qe$3TU1qlZH%pPG,-+MKT`m
+&@MH+Xjf4T5-#@G`(%bU4Y,pll6GhS*!!m3d4i55MhP6Ae%5'6Bdl)8`HqU$3a*d
+lV'"+`k[4YEeM"Md@56bAQ6Q'LQ(hYKQA`850@f4-Y*BbVa&-ppAC8ZBeJMNEBc,
+QA12-20k4+S1YdX@hYh*#e5JYTdU0`M[5*%+e'-c6JZ-cY!q%rQ[0GM&CDkk)(f,
+G%NB"XN#d6a`4hKYUYhYfDD,M%b"rpP&`F926j#e-,2c,3de#QMSk(BH@(ME`KdA
+6"$XB+61K[APU6$A&mV80@@jd[@NrhR[&mk@CAh"mEILTi$1V(r6qSIf21[pbk`*
+Y8IH,KVR'pr82M6ihGA[%1['V4hjqjrFRrqc)IqVlEIqhMqdI(1MBGqL6#qqD,S@
+ZpR`R-ZEqj[MNZ@rPr5Mccmrr[e2rppNcmE1Adc1LCYh&R--I(-c0cNVklkNTb3I
+5IPchNa0rFI5r[Ih(VVZ[eMEIZrRpPMqjpG2Vrq@(rq2DdZR2crLI$rccY2rkJhr
+pm1rHqrrcrmqRrr[MIhcYkkqmYIJEEa3YHDGiBF'XPrpKiq[jhdhmKfhIfrbI0re
+QedHlrrka[pRaepXIV[cGUPm%PUeiBGh20[cYfRpEmmXp[hlmRdVrjIjIYAjZjlq
+AIIRTVkaI[[,4LUpZq5a@A[M&NTIQ0FbHdpJNb8&@'QU`!pPDaJ&H`,B*0qbGVCh
+Q1D05B084'K9h`0!h11K)Y,rY(NX6j+Mf#9i-5PJ6#QZ5Q'p*e4m@KUNESA[%YLL
+qVQfhe!P[jq60"5#A'+XMh$5q'*A4U"M[1BbE,S6ZRKScHlM6"N)c8H!H'`&5Hj1
+M3k'lCXIYGcQJLe'(A`fkaa!L[C%2!mmdAcal["E'6kjFm`R4MSHd'j2hB'b5GaS
+2GVM(M26JN!$X`Ah1"bF#)'RiYHE&D5*ddbbDTTb!lD[cf3,+'0NYNI"+Q,TK2Na
+lMML,+`f"51)2#$bYL%[KPSC@U,32`#1SK"`jX8G&qREU6L)q5X8f$`)**j%&*c'
+F$mCI5`X)H6ZkGXSQ1j!!98$44%1AH`c6qM$3KfN[BeSPZYYT`!Pb[+,QB$X0@Q`
+(8im(lKTKKZ5`T!i8hbAAMRNeC8*U#KR8*KhIb#ZXMEc#D[K8"Q`@%l"TU)`NPPq
+6J%e$*AlHN!!"Qm91B--lHMQ`34&9$I3j)N[IAGR3qZjA,(Ep994'QE,$H50,*ed
+rfR4)2$-SlR!6C1I%B'3T3PGN+L-IaK3p"B8XXN&X%FmDE#m1S6#KQd(X$F3iMVF
+TNRKd1Rd3@i`Nf+&Tq%-+!Dqq6pR+,X$M8+0QUdDMi*PH&$2c3-#)MY3eAeDYEZ2
+UfKC*V,r-e,802ar,UY8G-R@KieHHjZVLl2$3+BDJc(k-,BKG9V!&f-dlNbh!LJm
+'+B`1GZ8QApPCbGTCY8V8&,!4c8#--M9k0RG[`'2Iq$iYr@)drB18!lPDENj+lYR
+Np)Zr*6Sr#G9ZaYRNXeT1LXBUEcp)1"$+DaMTrHpK5Hmb2dR[Q&qNph`!`%VVN!#
+4L[JmN!"142L9#b!K#iJ8lQlKT2Bqi@$NXce8kaic%iQfUJCTK'VckIG-Z3dYM25
+$FIqAYV*-A'G,qMeYT%`%!4D6b#j'GS13!1"N9kAXmYd+qIGdKicm#mJBC)mYqII
+PlC5i3#'lFHJJ$kqBAV`)5f%2,53Mi424e#`Y+a@NQ1jXFNjD9,Ym`'b1TR+ULLL
+P$Vk1CPc+4RC1FSk3!-GZUmc35f2bh+e"K09cGepI2D1R3rEV+G--,4!-bZS@LEJ
+rrLNMlR[V)qkj16!RlP&411khS%S)ER4G(ZiqM+($80E3Tb0c$j2Dp%"4Tf[09J'
+8R3I2%%CQJZiJ38pUiL,Zd9RqGV%)+N%Gjb&$'$B2Fi1rQl3JpeK58c`iL38pK`V
+,ih")*Y,b)hCU,%MMU"1b5cTNPf3J!9)`8CYKe)DZhE051-h$LrJf4p5,"c#&MXK
+$EAb$U9VahDMPdj(i6&5J[Gh(KpG1ZXccZJH`"FmrSr[D@RUXFB0Qb364CA'DIqF
+@#dP8Llm86P5,CrSRUXAYISRUM[T%eIl)`2)9TLFMUMYMYU*k2*Q*d`CE8Geje'p
+4I8`4eCh6`SKUUDfSlY6NSLSA8@`NH2UL1XBKEcfbq[N39[RY6QQ9$jqQZ+i`94I
+AVP[qL5[%dF'&Y9QRebcADUh%kRCEGSIJ1T!!e)L,Vcc)bSr"QDGT#DNB5@FXcJU
+m(T'eFh&l&8G4K"31)4,DQJFMjY6cJk9VI&S2GmaiE)p'4&[m#,NSH5F%C1+MhBG
+ja[XKN[+03(L-6!ar(PB-lrJTKS0qL@%&a,#%%RmB@H$B@&XR$&FlB,BGDYDGebb
+`-!9&M8"[5C)2)Gi5)RJJ5%@a9PkBkb@$NIXYVl[LAG)R18ki1"6&(ZGG,+p,*Z!
+Ppeh1Dm`**"UE,5bCYmDE2Fhd41je6UD"l)ACpe9b5RQmFRI#)UM6BP%cP,X6$(U
+,4@XVEB(TZqI5Er4YXjVEQJRFkLGk,!ZE&afb@23,e#P)eUCREJPb#aQQ,"CXX9[
+Vb@aar1(5TZkfKAIElY*dZV*lSP2-FKR%C,2jrN-GG*(qM)cG',Mk3M%G`h54L2r
+Bda!"4Q63*m`F$!biF0([d%[K[aS1V3[8hD"13X!QL!+E9mFCGIMTc$%NA3Va4a*
+$5b6"qN)U%kckA@#0eL%+*5-EQU5$2[8KUM1I8TfKJZQP"!05e@48945#)1JkmFH
+"S,S0@(k+QrT3FL3CUrB`9[hcX+akhNp@0I[$UJfDVI*RhT%T[f*Jq3Z$L[*I'24
+Eq6h8hD"18T8rNaFX'"#4Cd&[RT3&AkUS+JZ%8e%m)e4&VTBc%3AcH4KI@K4b9`A
+[1,a5eP'@%F-EC"Q3!-Sbi)r$CS$,c`bilPF'e$P9aad4B2JAGKPDjR*hV4E+((0
+ZAeA`9UQ6T$6"PACUV(k9932H(KR`CNUSeX94(EccBi%9eJAhILcU*"h,hPc9X4E
+8I2K*(%eb@kmE$1qfjS3K"m+Bi"RPa#'Q65(TYai"LhZSJ'5K%$f)8h*9kRUID6i
+LaQXhhSZ@kSFdLc2T$fH4DBa&rM%XLlcQ*iX8q-8L1f5C`4bdXI2BH!%jFYhKXU+
+!C894l0cH')36ZNXAj3L,X+$BEp'1kpV'PbTJ$`BVMC+Jq"4(mhfiHBFNjJ!iR"F
+T+MIbC,%0j23UEqF"&imZ+8f!)#b8"UAYP6mb$J@E,b!ieF(Gli3--Z4-G3KN)a*
+C&T@hK3541EUC6VFGABe(lh-6TL'G4jN8Qhf+'5[a!fPDk05BFB&-19@BZT3ImFI
+84G#4TTb-jH#-CFTp(8'&mTY'lX!XC`BZj5FfZYaM'9l*M+!mQ3eR'j!!%"RNpM%
+!X*QbS$KrX2`LZ[Ab#CIjK)6SVRN"N8AN426BC8Fj8Xp4mZJ)8CM9D%2M,UXdk'B
+ZA&U%$#BbRS#V9b2hE[NK-T,"BBDj+CNL&Yb3!%`#THA($#fCYNBY-!QKbPp$C[0
+,m[3#BJAhI[T*-UhKcr!Ykc5qa5SH'5GcJ1f8K9S2+J8%MGD-dT*IFee@,AKBe[3
+iNi`5kdX-D@3#8Rk+ZqIej'LA"VU(TP2QF-GhqAZCNPP%3QcJC1D8Fe+'CY1PU(`
+DZA$l"HmqN`iKCbY5[Tk"&`S*`m!%i$%HiFGqEqR$Q[fqUl5&rPrI%QKTG4Q*G&Z
+0ihV84iJddh2$akY,YeHIX230!VGbT9Xj@#6(#X6@XE!5a1qec*E-2ePBD5l8,ZR
+29$F#eM2!Kq-&!ID%,mDh9@`8#6JB,[G58EJBCPXCc-$!YiFAceUG"JDqRA)$Jr,
+&e26(LRY)($Ll!!UlR#FTE'PP[C[9%!k`I+k&JJ(,0ZRYfL&6dLQ3!*N8&23p4TG
+b-0bVIhkm0[-k!'lK,h'BZ2"&EQ0+8`c"EMZC"X2CAc%eV28JL80-ElrIA(UGrPp
+rI@e,Dh-)TX(QYU1qE5#)-lVfh0aimr)mQ2KdmB0p6!eV-)GpN!#+2pUlTU3HBAd
+6aI8#p3")CU(Gq+C,2jKN6lL`[+PC!V9dk%A2H`3*8+$CZ6aRXmbc@@ED,-rE,%r
+C,*q9,Gfe'kp(VmGRbTrPeFp+&0mXqE8C"Je+*$*I8L3TN6E5,da*GKL$cbRMeFV
+h3@!0@prN'jr13q1m-'#iUB6Gdk,FQ""Z2*K3*Y[D!M`48`#VKi-"*e0f[DL")HF
+j'C*AR*YCaIP`f)UcdXq+FkeI&@GCG9,KCre9N`THP95JSJ`QGD-SXj9!@VTh`50
+NVLPcQ`"JR4U,PXN,9,,0YV,0IMAXCVIiZGP'[cCESKMl)CQZ*aAZL0#VkHhBmVP
+!FDFBCd@`hPm*Red8[aVG@Bh%Nm"QSMaYB2QD"!L(aGb8di%IHhJ5JhIPa&jj4P8
+NKLPhBDqNMS82KP2(3UprkPKSm%FGXldb-K)9D8@b3NkD,PS`8'iB@2j,Ye58X6K
+Si@jK5hZp"CSMe'QZfKQIGUR`3YI&CNZ%9[R'UJX[6U,AiR%bdJ+e'&,K8Kq@`RG
+$YXH1l3c9FN!fc-)PdV5M8U8N8rF%8rHh`kVlQ*rU$[QPlNak'+Ujj3``SJS(34@
+,1lG!!DcbEG+KaEPkeAb(,M'dF#)Ja+FNhM5V5b50@H'Y@XA598M`F*K2IMYcE,r
+!!TAYPT+*"5V#c"!`Gp[51+&@jidV&6)#5$Vq,55a&@b"BL5-$p!)"SViiY-49*&
+SqJ5ZGK#E@pDGA("Z6)F`Cq0+@CMc['*+X!aNrTaTqiHB-3'FS5pkZ6NFK6V2fCS
+6,+0N29[hMc61N`lEYCd([mMNY&FK20,2CT0(+JZ'TTSjjb!2E9l!"dc!-(BD3Fc
+[R%fh$@T##BqIVK+JJ#eSUSF[V2hlmCrd"iMe*aG`YC6+e*+[U#A`SBeDN!#%[lY
+09FY'@l8%Z!%3*@4KDLq8e-k[Ilc'p3JC"ikTejG`JiM%SSr9keq@ABr1[pM&P&i
+S+Id'N65*1FAe+$dGmG[ND$@e5k0242(KXr5*Adk'#l*-a3BY*hN!-9N4#%XH#34
+8ZZEN!MDN$qh,j#a0aYbUHRX8Tm#U8N@p2#L*K"(D"9@p%9[(`+S-8LqV6Mc9&AS
+`+i@f5hl3DMXRe"2Fq(TPidM'k8#`G&4iVZ%J4N(0HacNbA&"2-l15P08-G6$331
+jbRQ4CdXTQ-cYfGIdEe`CkfA+F#Y1M0qY8j9"ESb9NF5#2P8CKf`G'Er,*'933(F
+C$N)ILN+3!-mC%LAQe!%0IVj8`)13!$#Ejf()Sj*#P'fhj9AEpNj*Y'`f2+jXZ,+
+eqSDhKX*YZ2+LI-2FeD#b`)p6Fb"+dTkP$I1K*lEK,@TPNr#jZ9(k"FkJp4KR9RE
++(&X`9PRj)A-q(E0Pi)FrjTZ3!"T+mXK0mf`jGZrQHG@2bb[V2&CCTiHYV$2mV+b
+6r+UXkj5JMlC%UTTV9--c`j2)'QmqU[KD(Sa+C!4(#kVdB@)L9Vf[PNp!XejYbX!
+%QITXiXqlC"FF0HA1MT1E3VUXk9Nh1ci'VK-5*P5j#p&dAG-K'HT$D4S#`EN,Ab%
+(N3cj"N1fBB('*jSm#K+UQ'#UD(&ZQep6jk1`FTY#$)Y0!m[h6,'N%X(k5@$U`)+
+`Mqf&"0l'-[U[`fEdGMmcHS0I'6h0KVchmQ422(N'L)S!MMkG"A1pYNP"UQe`ZV,
+"0j[hXX(lE)12KYeJKCmER1hA"Pp4$dX'TRBbbmB(JRc-DGNQ'fk$fd%#$*dSpTI
+a*'N5bU+LMJ#e5SDbUkKc3,dX3cP89"*32q"X*U%d&A8G+*F-0DLL`+U0CSRK1-U
+PST!!L,5aKiZB$`fcPM,hI#YcY*64"a3`[jkX3QXe+TP-er5T5hTZ5Ph5XEDU5cU
+q3eh50Y[8*G3a*kBZSEBj1hN`MJLM2B`)RkMA5ED&ZB4(4CRCJLUr9AAjH-RPib(
+R@1pPi601r,DY+p+!*,JD@M2)&*I&8I'!+"D9BLG5mkj1DN+$PU8)""fD5ddaSY&
+9IUA`hH'*`lD6!Dp2cj&Y+Y,,N8XidT2NBeHdSCVVG"lLR)X3h!#i$+JMXZ-j8DZ
+!1ZG%ZCfSPi&+FU*5(B'l+R)DN!$AC8K044i&kK8CDP"&A3CUYa2943T5RUYHH4e
+6+UqrMmX-jfA'bF*Y@hRYTX$39LPcP'SVj5HjPl-1KV(`rXkj#pr*bSJHl1[64Id
+`p(B'AMN3e$KKk8(3UT@bAKY#iV4485S2Q")EKm$@cmUV%'B@`$1p0Fhh$$9*A!B
+$J9,Z`[DCZq$8Eidlq,,0E0H'!Li3&+dEZ0(0R1[1VRKqKp40YkN$6!%cK&CE!b0
+'$J&KTUTXX5K9QPHd#H[Q&YJPJ&E`6$L!9V$D2i"@d1dA30Y8)fQZRa8b+R,()Zk
+@1jfTUN(Am+3VeIF[EmdGN!"#2M"J(YBXNmd`UZL8Q@-J8"'ShH#58##V@ZI#J%L
+Z@TRU4TMUIKY@GIeqUXlNPqV+H+)J[QP8@AX8*bAq"+NKA6*[SB3mD0l1mlN@Uf#
+*0a6$T$8eL&`)cLi4*Z&1h&E!IY1L*0a4`4a8jA52eM!51Jm,TE(8M'JU%c2EJG-
+a$0SUECBC"NfMV-kX`X9(MAcfk!&F(+KF2($bfE[*XHUE[)ZXpR5AS6M#&qDBdf&
+'i4cY)H%*[#8F,f+D"PF0UA'J!J(XKi4Mf69#&lmPJZNM(@q"Y%H(lSI8DpZeTp!
+FCS[4a5rj9hk&p-K1TdZ0KlSmSGTFAJeZI%9BFP@"P$(91FC8Cm-be@8rQ5VE(kD
+DBj*#@VrZGBDdkR-prlUhUS#bkMj2G-e$jaiL*X-jcJR0M,YDUb+e1(P69,k1%3h
+N4YSK2ekiKG2jU9EV0(NAUpD,bPG9DIT53XB@9+KM"pMTTNDF5eLKNBE@U0QPQ'8
+8P6HU634`3Sf'TC!!3Q%IDpUE&L2Z-ED%q91KRJUH%SUHB8Y#@EJcf+XcFDFc$A8
+L!ae1`H-*,FSBdV'ALcV0q@VL"'crP*SabR%9&E0M2LXlFUE0NFGP6jAB2$9BimJ
+p94cj`PiZXMhb,YQ4ej0c@h&Gm+3Ej1"GcbqTN!#-aXUT%IAeK#LmSeiHBiJ5D9(
+Bb`iXa')fe+fj&ki!`$r"%V(0CP2S@+[Ce0RUe+"ZLJdS%c[$G[DBer(%"e,Mk$&
+bJlBp*MY-KR3BmeBfX,V'36e)E(*HhQ5(SSE3md35XfX94F4NLUL3!#QL3VBYfb0
+kGG4XfQae#cc4Y1N$#S8@(UlChEbLihR$eFaEFd0`ZGfUlf$mfD16C+iR(H&9"+)
+UR%Ql4@D0C2CaaI8U*GTQckI"E!$9fe`hJ4GHj%%SZc"Tr(Qq)-'Q"Kiej4!(N4E
+`mqhdSqCNKHTJ0ZAq1Lie`BEcT),Q[*!9"BB!aPr[4p024Kr#P9TH6f,Rb$+hk
+2P#'&Va&VNpN`Q4Ic$[0jKl9-[DmK8FY@Y[L"iT3[R-''IXM-3C6-D+%%lqC!R"F
+&jUbh5H`Y'4#(C2p-3U150GM!+9l`Tfc*GcDI)(K33E[+YV2CQF(D95NXB$a6,lK
+PaLE8a!92kXmCQKSJS5'@5DAB@T`bdZTJ@EKE0N&L+iH1A*)10LJai48T(&piH(*
+kM3PHFm$f#IN48IfGB"ATpm0@T#eq9U3cr+T)NeK&QVDALM60[iTd9p[!mXH(+FN
+bL0@m-0ATU0)*a&'H-rRb4ee9'8dhV9%5%2!Q-#ambT4481*J*!-qUPa'aLeCf5G
+mAblL4180'8QC4mX0VRS)bj!!3PLqrNSB`M,6PV"mI8)K,1QIG%$L1jDN)&`Lh3Y
+R8j+I6%*GU6&!fRBD*GHBkLMZ9ciXl-212McX`m%qJZc$bcikhE@H@Qj`[$'0Qlc
+#M++5b-9[ZRMclIEL*G6dXLM!"$eF5%MZ5P2(Lce#(I,9''UV-648BmK5BqK'MD'
+Z'N0[+N-`[N$cEe(4G$%HV(NiZ2Pam1K1$%adA%[c8G2!SU4T28c)*UL6p[2qfB(
+LrYR[SqP[[6*iTepJ8$cNkVHJF-S(Z`pT[qUh"%LaKaDjqZfM#Z)6)1`"8[3R3(L
+Q&-3&)$`"8[`&)"`M#Z*G)"`"bSKhJ3M#6'B#VJe#JA@!$!BSFbi"kHA)%SBX!G)
+ES!`MC#IIp[TF0%FEhmSlaPM('$Vb,I'18!$,eM8X@kHF5Y+6QLCJNTrA2H%4,pC
+fmS(aiKj&EHX`N!#RNI%41Ta!8hIm#MF-+LNaD3F5NhC,L80Mdj8%Tq8VR%P'Bf6
+%-N`2DMI'lq%K`e2&4j!!6S'Z08lJF-hjp%`a*CTANT9b-$HIJEQLX'"ZLCpJ,Z%
+AQ,YQ#kDqG`SJD*FIB'TA66#e1AkkB'VccEf$UB",$UB#VUV"e+`frm"8`Dh6!e1
+6"l0qr'6!9%2VraS`eG$k(cHBDQJp26$982DR!8`eP*dHQ%*bk!T5K&&LNiRhNr$
+[`9MBTjdR@+42$drD4jm1i@#I3Cl!N!!q[F,,2MY&jlYIJAJT6hc-'1F4bJCUY)'
+5HZ[4K%0$K49JMMFI9S4rG`F$6P")`#+kLMHDCZ%G!ND3!)1XFf#8$#,C42f3!2%
+'`*U$b%[cic6P+#@-KRR%SpR5dc"V0E(Nq!4#+HRmHJ)%&G0`*6+!2E'GAmXI!+$
+Z'Vq*!aZS@3Re5-%S+e$bkieDPl1j#!C)(f1!p)@`J(5GRi#de#p!QPr6*'eCem$
+bIdSfY2aHDVBZV$%DGC*!D+#NbJ!+)mePcCDY0Sjc)h)d&-FEQj)eA&Di4fViEGP
++iE%PTU9Vd&`F1fM"YJ9+NK*j8h&,E0f(["%p*3QF4hG#D6S5CV6YV1Q[@Pimj!e
+5lE9i@'IEm*GHd%E)L06+cC8,p!XN-c*f*0Cm&@qHN`T#P[$0e`(cLB6'R50GB
+BTDceb5I@D&6"HXC@,i9PUhRqXG@XVUVC+R4leS0Q"cT59YiRa+`(-mFBX`8!)Kr
+FGfKIcLII'rMC`%F$haVF02#eI4m1TJeqIr$eI4X'l`eQ$5CeA"cmZi(4I4phT(4
+m2("5X2m!N!-V'd&%3e)$!'Ql%&8,C*N!@@f6lpCZP&U@CJc6@iDmM&VUR0Z3!-8
+BMX$E6DA@XC9Zb%*)@VHehA6Adl2V8`L(9AFp$+q2cAN-'!iaKSJBe!9e6L,5L$F
+4m3I$'""L3!4"L(TlFR-m1f,Xmrhrlp[VfkDE3-kjIrFe(9Bf*!m4%"!!%"!!%"!
+KlYr9+e'2"hm8e44bT)39fD8Lhi5,h&+PE0V(A'33rM285kiC%aQQcC*J)MBTa)4
+4dI,SF"$1`C[dpBF8CheXm%ia)DA023S%a$6cG$9``KacpkPdYecbH1TY+5XmRVZ
+QXC[r'+C"MKBbC[Q(mU3iam,k'X@AXN*42U0EVqR@b@lG%!f%fV3B`Ll1*#P1G!-
+`2!$qMGeHPQ1hIhAkk[5FXRfPDHRfr#2TfVhCA,bXVjpE(k1Ml!)6*6*BSecYRU$
+BC#I@VB*bqNr2HiIJX"fR9)Eci,E@i9Bm'1GTM4j@c(`j9c!UQT2L9!*#KDh4c*8
+RkmR&4SGUJe$GkNDRTBN3UHU&p@Ef%SSp1a$(MlRHHXaG1aA4%D0Y"2laX"Y,DI*
+ZT5f[deM@L4mcIQcimH+R(cmqr$4&l%%l(IAPdSc5#SiD`&PPakE*A51'I[)heFd
+k)%Qd!@8R0%dk10b94JNG"3bm-N)LcEX1+%l&58J9jkU'3XdF`&`KA#[XpL2TTR8
+El#'YTLFY0b0(@aE)5C@q2r3RZldiVI")XGCHQKQf2b52[rUd2D%d3iA[A3fdl`h
+e2&km*F$8aqSYlS06Rp@NK#f(K+RR`ShiFcPiF1Uj%&5je`A(2%Gd*(V)2I@Nk'k
+BIXhi`HP6ZbmZQGSGc9cZLckR+%H15FUAG6F30T9%M4G-Pf[FR1PicR3FQ)i2MGC
+EM"K1%0hHkGFm#BD6`(!5'%D)i5p@qc&F6Jb$YdF)dIm'hfF$3kLh`Ae`lA1DbQM
+QfQ+DpYa`02-aHRb"P%`h,B"0,LZEYFp40F'8[r)TAjUQ2)r(,491q5ZE8R)V65N
+aQkDXaq2CLUD8h#T0+H46MY18`kXB@59P01A2EaP-+C5QI-1R2'ZD!V*+p"91qBC
+0@ANh69RCBTS#XPBf964PjGem-qlJmSE3p180EKHfI$X[,PPH4k$LDKqMDHpZ`FH
+R#"M@MfFV,bjC%k2MqRpF[YR`SaU61c1Aepd49HVB`jSB2BLi8Fr'PN*d1`Pa#f*
+e495#lMUA0'8c$F-b!3+4P@ArBR`F3d#`IM`crZ+5Y8%kT[r(0I--2kSa'53%'$R
+dX$E)b&NEl)SF2Q8H$31i!Z4XKa246*Am6EZpN!"%bp9qSU9Z"`61hQa606*e#BX
+6!'D%3V1JcNpaJ6)P#M$)YmXhXeX5rhLX%lrY,&I-RD83U"h5akIi4kIaac@aSKq
+AEcEqL%&Mk2MI"bMA"ZAE0I2BVF3Q8(5j0@1+XPiEV)#%HFBI!D3SG6hqh3k[SJ5
+`XUS"$%)qSR&fE(&XGpFS)kUc$)%eG@iP+Bkr1)91D36LQ(FKMNIFf#"8dBXmL2k
+)[+"VAf&a@VV@*2[qJ29+#qfDdQ*YIUl'[Pq@JA@&j8G5l6QT4dTcd[(CcVT"*J)
+*iC&b*E)'lL99#b2N5$jE-1aKQe$5FRp1IbkMF+a@kqVSemY([hZ$hp'[Ii9(,kb
+3!*V#aqISNef0"c2eY%@%jD,P5T1I'@"Nl2#&SU@CqEQQBp8pa&C+cdR9(XQF2*6
+PlR)lkqa3[G23PHHkVNhAjY$8XH!Cf&qXF2-[er8(B`$8KNQfc1,kp2+drCP(-Ti
+E@cj)([%3Spb--QfUTMKYreJb!N)@8KG+MZ$kZDMD!94XA8S(!U@&0X(MJ4VQEFG
+LMPMNJ'+1rbNfGGSE,,*)G0fFq`S@P`m4cMp5H%"cT,4iE"MY0c'k0Lell''arp9
+@cUlV`9JVCpFm!iA&Y9'YbGE4F&89Db*LK6EFLLS@fr+LV6S5F0NHKid8+`6&`[C
+8ZeKeeDV#)DUJ@&fc+C82`B)m[U9q92&e2)*0NLLfmFaCF")8jkQAHVBkR1UPf2E
+eTP8L01M[h#Q1L-j8-@ZheMQTfY'#MF*Bji[Y#a*FQX@GkKX4XYbiq59-4SMP6GY
+lYJPXqhrbL1)VDkIE%!B%Spj4J10GapNAP$1@qX6kQ!6!I5NG3583&rD8Z&5f"$!
+)p4'EM#p&TacSZDirR"l1cFNB+cAU)6eLarBC(pZ'BjXRHfacj`M5F,SqpQBFh'`
+kYJ#QCKcD9YC#Nh&S-cq`eh685MTU%MYUHh!NG1(XU0'"pIc!22A!GHhKG*9f,!r
+-U`fU(p)VN!##1)eA3jJSfJ2KY25aiFKHr&P$mdX0$CppD@&Y4QCDQEESSJGSd66
+0@0ApBS0erNc-bNT6*l0m9iSYQZF0dlqP`lh$Xea895Y!Gi58(%Pa0QaI3N#US1b
+pVU$b0LRf"i4L(TB3QJHh@jAE5lIaA,NE4VHrkqLrfA+,Rf*[9ck2Xr9i2(k+[ES
+fLMfCVVYRrf38ZmV(0Z2BFmNeB$hfMIUE*-8f(IYkNh,ED")1EGjZS0VESGVmX&$
+Yq![EM99l8fe8Hf,'5Ue9ZfZ1MjpUGlhSf+Pf+hF)!-'U6ZV)!m0*`j4ifcP-L!q
+F5cV(((AU*I2+qCm![8DiCkB(dr#[1SHj3F`rG@a!SZr0p)'1a9l!8*!!M'4P+dc
+a1TJ)VHa$aJ*ki-(Gbm%SmLY&8`IBP0*a9Z&K&"q#`@0Zl9(f%8[DA$"eIZ95T1P
+RB*FbS%e1S09DI031C2GGjRqbV5#l,r[9"*QLr+('!'5mZ[L$l%qe"YPN+NUYeG)
+!C+FBb)`"CU"JQb4`1HQK)R"CJI9rS9CTMjGDrC)f0(5N!NK2Jc"G&"V@Q3HpG"X
+r$'Ia"EL2eiX*35p5dR6+D8hj`A+Pc[-8rh2#MDdk96Xf$*j#8J)P+h$R"9`,#C9
+HF5qI%1-T[BXFLR,9`EfH#H,HHmZ9djiIK*&5ePlYqF%HeleUcaY)mh`$$#B3Jk0
+E2ir$m#aX(Bd6HrM`5G,`5AciC3brM1(MM)E[%42%!&a&Tk[0p`Bm9ql0m&ca2)P
+dQbFTbGQYD-k+(q2&Mm+0R0'2pVJ1IZc*m1i@%`i'X+8Ei-YF`,3,RQIJ"Tq$$eG
+lTQ%lT0Vc$*mbEC-,'a(H`@IS(`ma`Y59!*8&c2f0lCe95U-B$m"%2#r`2m-!cc$
+5jRm*d2ih`(Jr!2@#C`fPCPK9!KeC(cHdqf"Sah0JrEGM4)bR`p5BaBXJHla%pRL
+3!(h4N`UbicQ"bd(HFNV"3`Tf4D6e5Sjj,!mhei*)r,e(FF`T%VXTHebhUTA6h,&
+aKVpkQEpiHBp,G02b-#4rkGf09eGlhZ)$IX`"mKBIpQ-1%!!HLT*2*UGkbEYlX"Q
+mY419DGe5GNXE#NR$Y)%HcE`rMp$empi3("@5LlS0Yc`pR4iAHfN3Hm6!68RF*BV
+EF3$E9XmBFTXHH!X$i'5mAc3GY1PJJLHESh'fK-DA314,UBRkh8MK'FAK4c8e)'6
+fYH9+JqGeE2'p2X5GL0M8DKH2B5Z08QQb6BSl)Qp3ZICTLR26blZUKa-,eUXNHL4
+"[G3UHZjEqXT&ckXYRY-H4r(-dU#c'fd@T4%Zf,iG5cfY54HJ9+fN9!Jj+eRK$L)
+mHN$4QFbcrT31(p)NSC)@(+%IB8alJN[9JTqm"*l`L5fal4I"#-RV-"$,1V'e&r'
+HLEULHP)rZ1K1K&cBkU+YXaDNIfc9AN9%U2SS09ibl'l1c8J[,pANM+@lcT0&5N!
+S*fG&p+L"Sb,,kUL`)M&jRJQ*18"kT49TY1Q)SlEcbI1XNf'm9[Th-8PXJ5h@3HK
+QEM%KHDqI3k6UKbVL$Q&EUkFi#R&-'k8PZRqU4&6HX)q%K1),0T+Bd0M#RSL,YJ3
+KU-IVJ&38IQ!%qe)kG$,"4SkEX&Fr#U(@k6i%9fZ6ZkrBai)BbGdD-c%mMT4)L$k
+%hSHBilA-khD4q&0C"jd1QcQl8q*1fNUi%aA0G'XfhGS'X9J%T[fZ[BU6&B)"X1`
+'TRM9`99P3ea1'M%#SpF35-%+J&4MiF!fZlY9A[GSKM'3!1qh9D0`5,r'LCF4$X4
+6lY(L-hj!0*k`KJ5ldSq+%k1IVedUdG&j'%8b$MILaGP8-qpLcSJ(%)Mp86'r1Ha
+S16cNX))i&Hb(AP$UR@*L*aIccShebQ43-QM%YJTSN9RPVkP@)Nm6Lk3iNjJZ03K
+FUSkLX3YE*XRT(hbMqrU$4p(4EpEN`I'Z$$e&(EPLdr4,0b4FR%MmYZ&P2VB0EP(
+Td0PX*R(!4"!kr`@mmer!4C((0,`1M#XpP"$bN980-(bMT!L6M#T,)aKXT%5qHc1
+8lhMQmkNE-%L2Rk[`mhImV**ZjN--%4%E*,DfP!jdNqrKjbEHZGp%hB'N##4)c5K
+mJD-e[Jl6D,lRll5p35R-4F3S"d$M8icmaZa"Z!fah*H$Gb,Y`%)LR!EIl1-NhX@
+0R%HKT2K$kDNJIJ&%rPdK-K9QNG%3,&GXR6[reP[j)Y)dU!YB9*pA2jF1"1*RiHB
+ZIT!!4,pMr*F2MP@[Nik!lZ!5b)qAMZ&c&%Z#P#Fkr&YVf-10aSpJ50i&%K[P9pq
+GaY-jVJF4LcSqU6B2hPRrU8cqT8hmC5F4L24I9iKF%,r$%#T%jMH)(3dTiG[*0F%
+,6f+!$SGb9(-3pKF"B(m&"&D(+-e[0KRH-#GY5)H#BIUhhKA[DEld(djJrpaD*Il
+9d,eHp6S"AbVIBSUN)E@T(Nj!')HUQ13SFHE$BF#hPR)6aT(c!#kr2(VT(D8(9PK
+5Y,!KVNY&R,UeSJ09lEKFe@KMM9Hd0UCSPSdQeddlZ56T%DMAHHKP#DpSk'MNF-4
+1D8`Im@Vf8C+NUTBf-(4k0NZZ*5H3!(3"2cH%@c$XJUB5J0r-$GGRBAaZpT3!p#A
+iq'`iKQ,"52T2Y4$V4#GBhm#0jBCG*-$FEbreh)$(Kc"eQ)SFSiMTX'*$jAREmak
+4qIX-chXH$kpUli'-'+qX%bM`mD[Q9dR92-P)h&GlVN*9(d!U`*!![-R)MlD"(ff
+$I,5K%Lchrcfc11YaB"+@L[NqJ*mFk@D@*!E'5FYkH39k#6mrim6pV')a-23CQ-r
+b2-#"TcF#AKpqVZ2!kq2!dh2J63,`p*la!0jiI*`N!Hmk)q"GC`#mkb6JZ56JZEM
+cMm$fJ!5f"b"HeZ%)afAeAlb2#m#V!R(&Hkf!#5UNNJ$+fBSUIZ2*fbeqe6iVB5$
+Fq#9e8l'-,lPi@XBVm6+)TSdQd66(ZS!1#a4d[F$T*ZIYHIj,b'*0Yj-%fm%GRYp
+af5#N(-i8+0&lcar+lH*L&SN4q#rZX8#EK23@E0el*Jde8Sf*lPa9$CdP-330i
+9L'-(JP#ka0'hbJKpcq0R)dIImaapUcMkaJ"pUj!!3NeTadM1PG#hd3Kp'`h3Ye&
+#hf%*IBG0k,Y,3YpGQ(E#8(Kj6KJ*VhfjBbHjXZ@8-@C`NmKJ'rC3A,lYXC,%"3V
+PHGpe02P[AM"986P*U"PYDedUXV&@@r2r#CNFpC*CJjeZ*#PhN46(!GP%!8qYdr'
+HX)S),,1C"CN8eYh'%`3Pajk1hqL3!09-j!"TFX"Tm-&Xm)(#,L5N+QC6D()2#df
+N!A*iFSp"H$,I5KDaK1*A(+*XpKriHi3TaQNmVTk+`Y'*`em+4rpNhlYMj+,brd5
+S16&h`eL%QUlMTP$cR9Fee(brLU&Q,C*#[LHKjSKaU#QP0$eHSHC)V8209f(,jh%
+)0ApR%'U1')HD%K#0*f`U%QT@1aS3DQlh#c9eFUMT[qAhTZYl'RL1[+,!mpAH,T[
+L&hL1F)0iNmC-+68`c8lD-M`HK*aRT"ZcL"F3293-RB@8B4M'lkZUdB9XBKpPi85
+''$FLVk0!MM0d5T-ZF50P25DYpc03Hb8PQ@)3K[C#X,CG#pAbh-#REX'Je8CKk*F
+m"%@"@FR!fH)A`2d92rrNKX)r$3a3*0LcJcD1J`RkMmN%SK*!'[H`)c5q))@L"BD
+K+#GcF3@Kk!hS%KE(9cd8A6c4824k(1'iG*3cMJar!iJ)jNCElq-FM0B9#8BEZJK
+'ceC)BYIKD)("K&U'Sj02pC,$dHe&`p%BNFE#cDpK9['0HKk3!$D-dS1T%P$M!98
+25bG,Md&B1L+&TC,D14Y-JDNhAJT-'h5HKAKePPFr#%#rX(3pVhMVNdb+DeR+cI0
+0XRPH*1AK!RFCX6"e1a##M8SJ03['qLE2'UK2$!YNmD+rP2a!4B`@'*RX#hKDZG9
+XaqYHE2DmVCHfHib#9K4pqXMc$KhKS3c21jk&f$Kj"`5Qm)Vp"*Ci`NmNc+m`C*d
+[KD`4[j!!G3XrpKEVXBGD8DdrmGc(Q8mc#PTR58%VhG`R#BeTIN(4Er#cJJZ0&8@
+%4V[%IJaHhaGe)9&b&JI[kLl"fiHIG9)J5q"GcF%l"H"GlAPG!Zm8+YaT!Zmk)r#
+Z+`,HGAlJ03KV(k*JQJ!l#i*U839"lA`%YG%+JPTIa5+NmGR*K,8&"Q'Y9Fa9&0C
+fY84JV!,EaE81E-miUVX3NamCKlCH,dIVBU2`YSkMq-XZ8I`mG9p5X%XSrT+Mq'@
+Jq%[2Qa++AmE2QbB8paUKZ,F)LR[p8'`3qJ,&Lcd,Vk8r*`b&C#h#hSQQ`aZ&[5-
+ml'AGH)dTm(8f')5pfa85N46fNZKXU%hB1l&3a#MXIH"l%[BqX'%LBHr)+`PlHCM
+%`Yjh(VH`prfUKld6hB3e$RXA`UKB+"rPfQ,1[L%Aa3md4`Ue1A)4Z-+Fjm*DiQ'
+hdiF+`bmr9YFrb`SA',)#8E"A#l0c%)BMUDGVMN9BhV*eBLch6jbP5`jZd$5M$@N
+Aam),5e`SPAdC`ZiH5N+J&!8Uf+pHmQ%q06l)%a5@FAIA(2@5qhmCpS4FETpQ-DV
+kbb'A3C,#(*DN`'iT33(6H%-D2CJUQVdhDT!!![(K&,i!&UcKKFmq6ke24,U#bj5
+Zi)13!2'biR48@$k)3MK)$*Q0*!DA,J(T)Ll9kE"&2pTT1EllT'ZE@N&cDYX%U'L
+PiZ4'AJ&[lN0Qd,B0kXU6EG$`(JqYU2'T#rA84-q&HKi5P@e(BX`SQV5%N!"qGrV
+p1rFT*-3Jc'29lpCrbJS#'DH13%(AXE34L0X(hG1RMP1eK2"(MF*q1M-CUYBM4++
+Fr&jHL+S%M4pN49!X%!I!Rmk$8bI4)G$)%3VJ64d[ZT'Sc`[!fTGa%`0(fd9(Uj'
+10SdkGp24qL"+E@)lIrAQ`FbT%p!03kKlAZH0,L$dJ2"pXkXNCRl%#!KD`dbK#Jk
+jLKe5&`[fQF4`SA&je$rp`C6,J&+CAAZET1qRMa56,ZDNTA)Ae0I&KE+1qVmc&@e
+Pc@la*YK#3Dr1FMX9KNYN4E-@#b8$e'fAG3C$3B6#0hf!T'XJ9daXkd1!Df(KG4N
+[SLihQq@+3eX%T5pSAl8$Q%K&FKLUUA[kbLa0,$4pjCj$Q5[hV-`+(PbC*4i,"L)
+l48X@4$b5iLdcKa'iQb0K-aUUS5CNV8@1)kc)X9Hpj*pR)Va,8#qCf43C&Sr9H)-
+AG4F0fGH!I@@LQ*Me8m@T29ZG'(SDc*6k6kAL[RVH%HHa"Gr@9jZ4+2@a,S#L`F'
+%*a5RaLQ11)BkYJ5MZTdSrY[1#JT,SKK&i6k2`lB4'VS9ch'LMiN"+Q)Aq4F3lMD
+T`ekl[EDL8JBQ"(Kj'NTjTD,8EK%`&KJGY!"J,*J)',1+J0%'0a4hiBedSRN4+`M
+p@!1%"Ir()(br+!LVf%98$%P$8+ib1[!UJ(,9f)0bj`eqS24M$9#ZqTm-b[eM#FV
+D&b1IQ@3Y4Vlbk#X[4Mlc&pCLj#ZcUe#-2)XDAkBQ%BqKR08GQ"2IM@a58VTmQ
+ZE6)LJflH#4JiX,%-6b2-'%-LP*ET`ZPYj0$QaE'I8@-"8l-&KF9(dNQff[e!,4H
+DE#A!'RH5rUU@SNG4ljK-q[Y"0"h8bP+hCqE,"NJ33MkD160IQR+'ZJVMia8KZe-
+Zm2R[Q8F1D1eG8bJh28T9+#Je*JH6U6r58h+K6(G,Hch[S[FQLHk1$cV0mekMIdY
+IfcJmDrIhA6iPrYcDpCr(D4I`*%QfFE'p,!hCfhC$#GP$46RSIqE8I+L"[H'PLM1
+2T"m`)S8em0#13lDXh&!B1Dci3"K)X6&5cP*`D0(hZ9(X4*-(%Ml4cZ*93pSi!3(
+TK8Fb+UDLLq8CF@0(K+SS%ImU%j'4PP0l+RJ6YPr(`FPe*TLQR&Vl59P`ArYfTqe
+BSk*e0PJF[0Kl,iUl,bZq2XZX0(brcX9*Z%(F'4r('kc0GA@#K*bdh(!B&E`#A,#
+9UVV3dSNYK1K`FJY"[-&KTdY6[*eT+&5d[LcQp89GTr8r@DpG*)lSb!eh"aMY,bh
+6CP5S1BAdrhl&AeeT`i,8&BC32j!!GAEYqM,IlCCEcX$jci4T(8)XrGVeJ6MYE#-
+&hB@P-SkNTPS$fL*+@KJSj'LiAB'6XFR@dkL8pF[!Q&2Fd'"@D-Z!LPA$c$5(%DJ
+TD%Dq`S%@HH"ar6(&Te3i+-pi8*0b4[(QIBYEFX1f1k1lShqTaPB@0AA2&[)QdUY
++4BpQ2-0$dNHR2%AIMFr1bC!!**T)rkc#!9kMSc9-KT&J00!KNA&*Q9,&+B,4`,2
+q!hP6c#jTD!a-A@``EqBC0fmbDDCjVJ)%NT*!bCaN9RB1hj'QY0$$l*2m`DbBhi8
+LSV$ANiSC$Dm[Q9P'`IlJ0R6A1k!DTih$E)PV)49"kk,#jRpGE0"`a'PD,$)-ekj
+0CB-EM4NA,b-JLkRbQ+RE9B-,rShmQ&E2PT`jU$LST$j88YhCpZKSp!-T`FT$eG4
+V85rjBc'f24Z3!-EHf1m+869G)1lN$S6*#B0#dRQUA99GjT'*,914+2"EjY-',+(
+$8R83#T%1Z'MpZa9mEX$R5M+E)Sh2+kYhPcQIEi`N"UFUBQ5U8TQUZ2H!8hI0d&F
+$BI-D9b&5rH1E1d1KNqh680MLFAJ)l(jf3$['d@,m-E6lf6hDTGim((iH$Rme$Tq
+@Dm+IS5R@XcG8bN4,L2j#[S3N%I1T&q#)3'8EF(!4"frU011f%VHk'[1m+r4[kC8
+EKQF09#FDJ+1TFkULNm!aaJ3146NR*S5Db4%UIKAIJ@E3([G($U"c$UrrC`kL133
+L-i(S0*N&'C1(%1P)L)[k!##ehlKb84+$&1+-358lLN$4(BKM9HI(a[A@N!$eA[p
++DX4SRRV*SjHV`+M3bSJ+q`0CC[(h@@h&H94F%ZQj[!'!jNbFVY4UFTILI`04C+D
+(4kN)$!NERI&UTkqfIkc0d+E#3UZ!r!VB4+V)TY!B#04-(@Xq#kN'j(Ke`P@c&CG
+r#)@TFHllBD)kq6E,BDRK,&H5h!543aI&C5kFc)d5C-eXc@A0E"Qi8@C,4CqXM@[
+Ypa1VVhlM@S%ZhXP"$B)$FJ(59LJDpC[,h#PL3S5fFGdL&5E'LkiF4q*1hRLBC1L
+l[U+H4jAakVK8S1U%'HlkP,S3pf#El"b(ZIqj99hMUJ&FK#Xc(9)$&cc8A+a)aA9
+m8Z-ZSTm1'i*%9S3jXSQVBmd9HQepYb#@J[!BVTTMG2BLDf!L@LEZ'%A)iql"0(q
+R+"+NlT&FSQLHD[CUUdX8$HY9k[Uf(8-Bl*`jE!dlYlPKPMXMa3Mf8641CBid*je
+,'0@dQSblIFB1Zk[VXV@&"1e!6lB*09BFd'H#5DJ(YpB!'0Y*f(b3!%+a+"kkSmr
+aa[fN-"5"*QfDpQ[bH##i!"pZP"jZa--0dX-0H2L(p2!22-bA(ZEMiHr5`praF*A
+dF"8HVT%HVX($21PK(KlZNalZ`m-Xk@%@(Kk3!"iHU&h3rTM2+'MA[r+JrE'lMB,
+fp4-*fR0TXj!!`+Zp4'aAhLprq'TG)#iPGq")IPTUMU,!jA+rCVYlHX(XY$-*q#-
+H,*Jp%`AM9Xi@iEa"3iciQ2%J6r#Ci*kqBKQ5!$*A,%YT'm4$I6ec+iH#5@$CTce
+F#SjJZ@)1-9Xa4cbiBJia+jJM-eXa*`11l4AhF$EhF$Eh2(P25Qkhh5j0Pm`M,e,
+Jqm-@ebJFeECGf,lDeaTd"mi(cT-3V)q&CrH1`Kh,RE(aBASNKhDi98mEAFqDYj)
+`STF*'94-N4P1E`a#)`p!C'G!M13@jY"LTrBK@")Vkj8)*MqKf#)jjUe"0ea@jSi
+Y2$dX0l)cZr@GjKU,,V'NZb`5J5-F(dl@@!T``4LGCHdR'KZUMfPi5EGf[QKTkdi
+03-cCN!#Z`XQ)AiAQ52J#fd!Jb)Zam$Bq4TdLQhUCNCHHQmr['#KZ"RNq'#j04%6
+iZhpT&RHqr8%N'VlV,ffld1#b426)2r@r1PITGXp3l40$GjD6q8d1XGYf+VBl3q6
+NaUdjFKl,YY1bAmG(KNd2$j,+S0QLmhGL%(jXi9BaT'm,+PP2+1C#jlBHfKcl(1!
+la`JX,XeJa#PRj$!cYA964hKSGdIBZIXR5,lK4!9(EY,rkRcPcZAADCc"*aAEmVp
+Tc)20Jf#+aS14UR0E+5F6Ih"V)eGk%TVPZF!@bFf3!*EKCN!p%0[SQST*Z1#DZ0X
+p9I'LU5hRlMEFpUYX@,S0MeNq**[FYYZh05AhC))%4'0FFqFPQB$9pBVZK9EGZa[
+k`N2k2MQB#bV21pFh4hEqmkrKKASi'h(C)S[m8UG!eI,3P-HRXX+KL3XdlB%YJDI
+aLU%ic"XXeDR1S[&,'fXficB)d9d%9MGYA(1(BZjP%h(Ti@**i9[1!)a08%)al04
+hD2*VYL%P0K(Nd5AFGJ!diC6Fi)lIE!TrqTIQF#Z"Hq1H6Dl4CJaTeX31YflT@,$
+RcVlS9R&[CH#,pq$dK0&K"E)1Yb)%q@dMG,%EaNjQff`L*e1EUY,DdD4b0N-Z318
+&J[Z"cZD)J[3#IH81,$K$%f)%-',dZhFc-Tah![6meJcPA1kMj$IREY`%ieH#*0e
+2S3,V0%1$*lT'[L%a'GV$1F`NJm"S4FTJjSV@cMEaUpYf+-ilm!"P`"raY8-l9V3
+kB[5Rml8lGT!!LGJRU3me[K)NG`LD)qdF@I'*CUMj[C9,9V4UR$4FI&&PlQaQ$!H
+"mX&QF8I36Lk5ET-#8MF&3@6,'e88lrH(4MfHCBTYQ!5PNH,[(35"GK)[4V9U(
+MM9&5$Cc020N*'d9F-8*Pl1CiUXMGSZceC9S!4pa[clG@pJBUp!-%IfIMk#CAX$%
+F+('9$@8(q2(ck,#1'&[Zq,+NZ'!8c[Dj6%b4F#Z")C2[-bhELkB$jJEJ-$[NaX3
+'L#hR@MVk!TQ&P@$'`(JUh2%l!m2Xa@qNEK`1m05d6(XfV+e`@PTa1LHC+P6r9qG
+CPF'&%da#PiPUh8kSa!NN%l3c`8`AMi2k0$rVNT[-TA4Z#8!6f)eQ)aH)@2UP-Ze
+N&Mp&LiX)cL*h)XL&-Y3VPG6920EdYMi5[6-!mk8pD94R`BZk6LG,)UP8DK3S09*
+H455k`!Kc2ImIm`I%a!3A,T5cZl!FJ[3$hAQB2NkGqp@j$I39G'ZR19U-@BIkD-N
+#PrB4hANL1pA'NQI95eCXI4Z&Gf"m"3$1U8S$kaK1lLdpA*%impfXJmXX@lQ)3cZ
+F56"##NlQYiS@IiE"D0+`,ZTZdab2([l1&(Vel@I'b2mFVN9FBXrpUq(+U"l*G1*
+aA$,,l1"GUDIe+aI5NZlTaFBRNSGX8**hC9GkdR$`($H(ih8`SkPK-Y'G0-`B[Z5
+21%hTB@fC&A@FF0'3!("dq8fr1QG)[JlN9dCh!5#9jl#KBpD)`AK5I&8r05iXN@+
+M6cM3R-%6Jc-B#Emf9"ir)RLP0Q[bU,,Lq-G+A2Nf9M&qG3lE$P)eqrBc9$--k-l
+N[#4R-6PZi'+kRJ%Yb)#@i!qdS++cF,BYp4+4R`d'L,&%F*,NdZh6T'STIB)U$X"
+4fA#T8Dr(`HC%9G*Jab-J`ShU1i,dlKD9e*M8C`Y"jTQK!`Y[362,"b#&R#!T"PG
+BLiT%f3M-Pc8mN!$+2BmSKEGiL6-`FFB"Elb8ekm*bk&X$bd(&[2P`S4J`YTLi%a
+))&-i(['+3`Pl8)%lfhp[De3HeZ5eVd*5E!`2-Bd6$`q(AQ0$0&GaPaZd&lQS13`
+I%(d3JGVd,KR'1-1(1F1(1F1B-F2rY$,-560L4`E$E@L58)RJMiJN**hLddq$N`F
+*5IMNJk-kpiUGqVQ`(3Np'QfUNF%*e$*JI)j'1V,JpU&LIEZ1%L-i'+-mIDj'DDU
+R"ZJZTF"%#Jq98))IQS0('+Q$@MU$Z('2UZ5L6,P)X0#Kb5mI,KCV84)eATN*AbB
+%Se"K!kp3r(LNc)JSRmP&L18L5+GVdTQ$#-C8S9dpLUj#KN2Bh$)N9#"#aEP%TJ&
+j2LYjTQ-VXQTHPT%Z8d3NL33Q1LT8l@'0cDT%k23pZ"JA*L*9!UlB4qDL!M3@S*K
+1H*mH+5B2QUQC&%dl6jjrQ&M)%m+@%PIQGLp0-LFSIc6MQSVcKQU8faAcERbNea`
+&$3#[j9XA(++RcEmA'pPN0P#Kbr#D@9$!Ml%Zb*0X0(P)aY0TDR!C1jI'CPhDi@8
+6q5HE-6%*K%3!'e[#%EKJ[Hcc1EXGVB[CbFh!$3)!`4`pM)ES@AFefifNl8abfdB
+)R-3%5YaLc%LZq$pIR%6ZVp`"$6J@-T!!3K4k1D,TiJAkG`LF1ddJGVT(VD!PCG2
+`T#,Y+3B`K)a$UIXf%B"IT!)iUTYK2SkU6L(-'j,"B5U'`5rAk`Ff%5ik#I&*F6)
++9"8K+Bq3!$M,r,A#$NE+L$4V8G-T,r2cFJ*$4C10JHVYNeQG9F#X`@e4jB9M"Dk
+U-1)251Sh)39Yh2NKa9BK8UU0N!$5Eb*NUM)Ac1U9Z3idjB)3PRFjpT'!K"l`,V3
+U2)@#-KPq+Lm"9"DIf$DQ#RFXT3hA[6a+SRR`*+UT%`h1a2%0LLCCG!1Y6P4NUE&
+JaUCE`q@d8FSp&ZD%r@)e%m-996Vf5UjN#3U4a6ibK0T`69HYcELLX"GI+daNQG$
+H`JE*drQP0+5&i*b6'Vc*Am1,*`eP+j0$''2"'%*8q4MUf1GZ$CFUG-a%FZkHaR%
+fP@+C(A@0YL%8bXZ$Z"p#eGfQ2)c!lSj$`KH9B8m01Z(qE5!9U"#h+6lkJ1!Kd[%
+B(22EP,U0`jKXdH)bHfH'[Kii15!fdT!!EVXQ4dXpPL)l+I+Mj+3BN!#qQd3XM#J
+V@!(%2!)e4*Hd2"1)-UJd1S2$qi`1lcHajF5P!#AP5Rh-Ll&+V)UM)CDGmUUL6
+'h%H9)XrQ9#bD[6!,I8LMmCA&F2',ZS+TLUr3c%$UD+#AEAe304Lk50-MXH0V`a#
+kf)3aUKejl&%5&XGJ-1e$&d90)%54i!$M'3k!CLiH[&dI!dR0YPhSK'4%XXm!,T@
+D8L46bJB3Hf%FeV1,EH4[B)%1!CZ0UfH$E(*P+rXF(69[#T,-+fdQ'[6PAF`T-JI
+kQ9PlYPkj1bc#6)DV0'bTHI(B`!CACD,+p[+!Z#2dQRFdB8#c#*hC@G%5&3D&6NZ
+1EqD6D$V,FYq`DhHhUmEjb"8-Va0h*,f'"-`Ur`(Ep5rF[U([ITSH-heF&,CXFD(
+5aU6&qc5,X%&kQ)XLj!BA)f60a"(8P#Dci&!8lM(U3Z%&,8fc``Be1EEfFDF@9#-
+c,jaAiNVMSS@#(8Sr8LrjSZ&Y24Q9ZN"N*0bi3UmD'Q`10kl9Bq'BTS@V&"FmI%T
+-%k20!(,R`4PX56R*ZQpk13"h1%N6-[GJbNcr)SVQ#4S**@jkU'EG##jb3meBfGa
+#I"aYE`2a88Fl(H+lHKcL(R)DIK(0EL4$%#C+BEP@LN(5+1HALef1F1d%''9BJ+S
+iABL"#F6kGU#lRbqKLlK3k13NljDP#a6c)0KZ4d09C9DHA6$PV2KRj44MaB[cQKL
+pBEI[6bf&T@rL4!dm[b'E[UE2U$V1(jhL"QhkFqPfbDSRNh(+l4b9p&NbbHPc"%%
+#&`hPA1!kL@fi!GkJa0PQAY#P!6mk4k9l6eV,N!"1q9"*4#!U+SN1VhY2XFhdbDX
+NGJijmP*"F+T(E+4U3GNA9Y-AK0PkA9eZLf$ckHRp8,$#m(1'Np!S!&i2dqY-&24
+5q(mAK*la9`d,Aehjch1V"i42CLhif3*Kbk2dRpTpeee#U[SfGFUalkX2UE15,b3
+[&q,a-qCTp8qAcTSKT!SRe8kejE(NV#YUYr#'F%hb-rVH,ci8-S5r#cPcNYF+2@T
+&(YLZrR4fmY6,kTm,8i4Pb5mRIr2K0am*BH'2dNKKfG2#V16,b41%%qZ5[jNRV%b
+q,2`[IPB,jG1%hiiANXF,*CbfMhr`i2QRaielHR$,PF'iJ5[G!d*!+"-qI[VA9li
+4IVdJZ82S@l$$)q"5FFT$kKp-%pjrp&(KIappp10lCJLM-i6RC`L6(K1@RKMS&Yk
+B)DaA&rBX5liY1Ap`[c"EII6B`H6[*(meq+EDeLbF'ha`f[+p%pU%[d`VkE%,FG-
+%fV3D,cJ!%RZhZSba&GjrDp'L,r!Mr$YH(,P3X1*#`A*ebQ#Em&YeR[$5&@&!2I1
+Tep9VVJJR9jd3cR8)(38r9"p0GL5r*4`@rQATB'*[FNjbmf"CpcI#bp+)EhkScNR
+qCI+E`Qq&e+@$04mQ&bB2U$Gbb[)ac[($*iAT`K*eSr"$i4VKq0-R9`JAKF'HeDq
+V[a@q&+B12rR0CD(R`XqkKGFAU9qmdLGmI-f%"liCdbImj!I#aI(GilYRR"mRG#q
+I0N8SA$RMp4NRKB[cKBprrH-6,`NAAa1qIHBh3RD(m-b[qhjdVR[-H3#3!aJ!!#5
+)!!"AZ!#3!`J!N!-J!!!r2!!(UI!!N!-+@-!!5S!!!%U!!*!$'Qi!N!-"GJ"1F8U
+$CL*"l3!J)$`r2!!!)MbTm!!"5N&Q"%T!C`T)3%K"))!K33!%3UG"q[r1d2`"!#m
+),c`!!"PZ,`0K!!+X9)pR3%)i#Pj#Tbmm4%&836mm"0@S(h!"%F!+ANUICaK1F6!
+mUA#R4N2k!#SLL%(k!#!`2+P`TNG+JfF%F!&1G8lY!#*1F8U$CJ+Tp(!!6R9J"J#
+3"3&1F4mkrrC+(fB551IJi%(krqT3d%kk"Dj-h`F(,cVrhNjeB(*"6%&%4%008!!
+$!*!d8(*"E8MRB2"d8*r#,dJ!)#"2)P3aD3!8!"JK3!!N-A`!!3!XdT%K33!ZS!,
+I`NcI$`C1G8Si#PjR$#!U!!KR$#"!)""R"Lmkri41G8MR(`C"q[qHF!`L+J!%`VJ
+$'Q'NCJ!"2NKkrij1ZJGZ@%q`H[pDCJ!"$U%D,JJ)+J"!!!4R"L"i!UDJ'b`U!!3
+U+J!)'#S!"*I8PG3J1[p@S4ir1!)JCJ!!l&42,%JJ1[p%)JE#Z!-D@%&K!2p-)$V
+r2-#i!aT"q[mi))"+K@B%S5*J"#"&S#GQ!!#d+NJJ$P#!3IVr###!)$Vr#P'!3IV
+r!##!3QG)HJ#m,a9)H[m#,cVqiLmkrZ)[1[l+,cVqbLmkrXTK!!e1-"pR)$m!5S9
+R##"0S#UJ+f!%)%fJ)b"1S"mJ4k!E-Gm#)'"J)%kJ(b"(S"Yb!")%j`RM'H34!!%
+!)!)"!1!J6D"T!J!!(i!")%fJDYA8ep4"q[jf5T!!C`K`!D#BF!1JQ#"0*8J!#(!
+!60pJq%je60pJq'!!rVir!#"1S"mJ4k!E-Gm#)0A8ep3`1!)J-F!+B*()*8J!#%c
+IB2K1G8j@!!")j`!i+'i!$%IkrLT&q[iU)"5`NQd%)")SJ%U!Ea)J8b*Z!!LL,L!
+8dC14NR!!B!3`22rC60mF!%jH6R919[r)51FH1#BZ!!JS,J!-+'i!%%(krESY52r
+83Llrb+%D,8Mrc&92U"``(cS!$%8!!'pF5'lrl$!&8d8r!+J298m[,[rXU!d`(c`
+!$%B!!'rF3LHTQeP2,blrl$!'8dBr!+J1)"mY32r`FJ%I!DQE)'lrm%U3!'F398m
+[#+QQ-"p)`()%`)&Ra#mZrr#TSf#m%#i!&'F+@8mZZ!+Q)&qJ'cmmS2a1ZJ5'9%m
+Y32r35S"R!!'H,`"1ZJ2@@%p+!'F+F!%G3!!@6[S#'%KZrq4)E[rJ5'lrf%kk"@T
+2l`!-)#lri+%H,8Mrh#!)C`!"C#!Zrq5K(Le)rqJJ#'F!!93[,[rN,`K1ZJ@i8%m
+J!fB!!+CC6bmm3dp%48*RU"mJ(be!rr"+J'F!!)iJ3#*3FKM6`5m*6VS%Y&K2FJ1
+`3@Cf)!dJ3(!SdF!Y52rd)Qlrm#44F"M9`#e+rrJ[#Nkk",TB6be!rr`JE[r`S#P
+35LCZrp3R5J!S@8m[,[r`6VS9c#!IFZM3J9'!*d!!,&925(Vq-LmZrr4)E[rm,``
+["#mZrp`[,[rJ,blrk%kk#XC86bmZrr#TSb4Zrp3PE[r3!!`PE[rF!"!PE[rJ!"3
+PE[rS!"Jr2+'B6VS$9P42*N!r2+LI6VS$5P42)J!J#l#"CJ4`!'!#F!%J!#9!!"`
+P4!!J*8`!*%Kkqm`r2+$m2cbJr%kk![K86am!6VS98MmmSCK1ZJ--9%p+J'F%F!'
+JQ#"m!!!"@M!35-$JJ()'X)&Q$%(k!+iLI!!!!c`LL"em!!(rb#"ZrmbJ'e92U"`
+`(cS!$%8!!'pd5'lrl$!&8d8r!+J298m[,[rXU!d`(c`!$%B!!'rF3LHTQeP2,bl
+rl$!'8dBr!+J1)"mY32r`FJ%I!DQE98m[,[r`UDB`(dM!FJ6!J@F),blrm+QLB-)
+NE[r`5T*R%&92,`UTTM!I5-"b"-#"CkS[#UQMB+33,[r)(8!!&NcI((K1AL"I6qm
+!$Nl36PErr%MR!$"#,[rm2cbJr%kk!La86b4!5S"RA#m!6VS"J&K25J"R8#!+*N!
+J3#mS!!`r2+$m2cbJr%kk!Gj86am!6VS81#",)'J!%+!I)%XJD!!BS"mJI!!!!9S
+`%%M!i)"b"V#"CJT`!#"m!!!$2##!(A`!!Irm%#lrr%cI$!"1ANje6PErk%MR(cK
+C6kPe)"mU!%KZrqLSG#!0)%!J%(+'d)%Y32rm)%"F5%2Zrq`Lf#,B@8m[2%4"9%%
+r2!69UD!J(bK!)%!N8$)U!!L5DJ!%2!%d+J!'P'S!!Mi#0LlrmNM$1#lrlNM%PS3
+i!8M%PS4U!P+$iS-p3rrf0Llrm%M$1#lrl%M%PS3i!NM%PS4U!P+$iS-p3rrd0Ll
+rpYC"282rqM)Zrr653Me"rrKC6d+R5'lrp%Kk!'Cb!4m"FJ%r!A,r,`*d+RU4-
+J(bC!,`#SF`D&!*!$H#m-)%Y`%0(!,`LSpPP2UA8J(l#&C!*Jp&92UA33(fB#B2C
+`rcm!3QFJ(k!b,`ZTm-UD-[,[rSU(0-haci6Pj1G3!#!!"19J!!51F!-#4Z!!J
+J#LC!)%!L+!!#$)&"6%&%CKBL+!!'$)&%3de3CJS`+!!+FJ1`3@F%F!"J!R!"60m
+-!%jH6R8[#PP22cbSER!"(`"1ZK*i)&mN5&P22cbUER!"(`"1ZK*Q)PmJ5V(*CJB
+`2!)!B!3`2!3!*&p1G8j@!!![!cBZ!!J`!dM!!S!!!!J!5S"["(!"B!*`!#BI6Pj
+1G8j@rra)ja`!0Li!#$m$6VVrc&42(8$rr()"X!&Q%!*$"rp1Z[q!X%0Z"(!!B#K
+C6cmmU*p`!4m!6VS4m#!I+J"C6cm$(blrr%kk%H!J(bJ!X)9Q!R!!60m!1%jH6R9
+19J!!51FB-$JZ!!JNEJ!+)%SJ%#C!)%!b%!a"384Q+$)S!!)-3805CKif"(,rYN&
+R'L!S!!4b'1+S!S!!N!2r-J0)`E#"C`4`!'!#F!%G3!!160m-'%jH)&pF6dl36PB
+!!&925'i!#($r2`"1Z[q5%"pR%L"Z!!JJ+!!%FKMLU!*!!2pJ!R$r6Pj1G8j@!!"
+96dKZ!!K`rcm!6VVrC"!ICa!JEJ!))#J!"!+!!2q3!f!#F2p1ANje6PB!!%MR'$J
+QEJ!)+'i!$#",-,`$!A!!*%`NJ#Bm!!!"*0H5"T)!!!*)"T)!N!-J+$`!N!1!fC,
+CNLJm!!!%N!$CNYH5fC)'NJ#3!h`'NJ!!J!"`!#4Z!"!NJ!D5!*!$*!D5!*!$)!D
+5!*!$5!D5!*!$2N*!60mF'%jH6R919[rN51FI1#CZ!!JU,J!-)!XS3#e!rqK`*0R
+!,8crl(!JfF!Y62r`F%MC`#e-rr4`2YR!)!b3!)Z`K@-'F'91qJ#b3N!q!%*!28$
+rj$B(F#5f3'4)F!5f3'3%F!"J$(!!-!0CJ'S#9S$NJ(J!1!-Y42rif+lrk#4%&)!
+J,[rid)$3V[r`)%!`V[rNF!%8%R)!%J,MB0&Zrq454f#`3N!q!(!"2!!f"h!IYN"
+N4(!"YN"N"(!!B!a`!$!$8i"U!P+!iS"i!$J$,86rr0LZrq`N4"5!)#lrr0#!d+l
+rp#"!-)C`!435FJ!5!Z0Jh%"54f#d3N"-haci6Pj1G8j@rr")jami*'i!##CZ!!`
+k,J!3+'i!%N*!2!!b"A!!-!(3J$3'FJ!b!V#"Ea4#3$3'FJ!b!Y+"dS`J36#!8NC
+JfN*!2!"`!Me!rr)f"VC&C!!!Z%*!2J"#3$e!rr"`!$!$jB$3LL"!)"!Y32rd-JC
+`!$!"d)XJ3"J3GJ!@",C(B`!!JM!ZrrCb!F""d@lrm(!!-!06J$3(FJ!b!V#"Eci
+i,[r`GJ!f"#e$rrc@JpD-)%0+8'B5)#lrr0#!d)`J3$#Zrr*8E[rb-Llrm(!!-!(
+3J0#-)%!`%$e!rr"J&M!&d%$34M3Zrr"b!$)#dS(5M#""-)"54b!Zrr6LL#e!rr4
+J!2pX8NCJ!2p%60mFq%jH6R919[rm51FF-#4Z!!Jf,J!-*Qi!$M)$F!!`!HD!1!!
+`!h)(`%%k!(!!,8$rr$3%FJ!b!Y++)%%5%(!!%!%d"A)!-J,LS()"`)(4V[rm)Ll
+rr11*dSXJ36)3F!!`!5e!rra546!&FJL`3@B'3N!k!&*%-Li!%R!!-!(3J,#Zrra
+M!Q#U%#lrra)Z!"25!C!!!8cI$$K1ANje6PErr%MR(b!NEJ!)1#i!$$SZ!!ib"(!
+!-!(QJ$`!-J4d"m*#2J&f!$B!eSSJ3a!3G!!8!#e#rra`!$!"0!9b!$)#d)(QJ()
+#X)&R$()"X)&R)%U!Cc4J-M3'FJ!b!P5"dSSJ34)3F!!3!A)3ikL"V[rm0!Cb!$)
+#8S(5LL""%K"`!"!"iBL"V[rm)#lrr$3(FJ!b!Z+S,8$rr($rFL!f"A3!0!15JZ+
+S`'lrrNcI"2K1ANje6PErf%MR(cJQEJ!)+'i!$L!m!!!"*0'Z!")J2!!!!NM4VJ!
+5)#i!%Le!rqab)01Z!")L,J!5,8(rm#3m!*!$J0@Z!")N,J!5,8,rp#4,'"*f!"B
+%,82rq1D$HJI'49*$282rh#BZrrMLJhS$aN983ce$rqCf!6SZrqEVBce$rqKq3-J
+(I!!F"$e'rq*i!HYN8d3p42rJ+Llrq(i"bSGR#(S!1J46K@!#H[mp4IrHH!Jp42r
+N5NCR4LmZ!")[!$m$8NS[#NkkrcT2l`!1jd$4E[rN,bi!%LmZrr!r!bmZrqa1ZJX
+)6qm!$LmZrr3r!bmZrq`[,[r`6VVmV%r[!!j#3$e!rpJ`,[rBX'i!$'3!!6S`,[r
+LCcSN3$mZrqJ[,[rd2blrj#m,6VVpMNr[!!`5!#!+F!!3!6e!rpTd!$3!e+lrl#"
+#%""b!")!dflrj'!F2blrjMmZrq3[#dkkrI"36ce!rpS`,[rQd@lrj$!ZrpU`E[r
+HCKBb,[rB8Qlrf(!!-!(3M#"!3K"J!2pk-#lrfV"Zrq"Q!!#8-#lriQFk*%!r,[r
+S,blrp$mZrq3[#dkkr3C2l`!-%J!J#R!!%!%p32rDG!!d!05Zrq`J3K!3FJ!5!00
+Zrq4J($mZrqBr,[rN,`Y1Z[eS8%mp32rD-#lrjY&Zrq4@E[rD-#lrfP0ZrpT+3'F
+!r`!i,[rBGJ!f"#e$rra6JpD-)%-3%#)Zrrc5M#""%)"5E[rBB-i3,[rGd#lrfc3
+ZrpK5E[rBFJ!b!Y+-)%%3J'!!rVib,[rNF!!`!9k!jS"-haci6Pj1G8j@ria)jam
+i*Qi!##SZ!!`SEJ!3,#i!e,rmK`*0I!,8[ri(!Jem!Y5rr-F%MA`#e,rq3Y62q
+8*M`!!!%NeklrP#!m!!!#50'Zrj4`)0'Zrj3S2!#3!i$CV[q8fDlrP#eZrj6rY#J
+m!!!%N!$CV[q8,@lrP2qieklrP#eZrj6r[0QZrj3YE[q8rp4`I0'Zrj3YE[q8rk3
+J2!!!J!$4V[q8)#lrP*!!M,#&B`T`C6e!!#K1qJCkF!!Z!%*!28$rM#4Zrk69r!!
+!J!!Y5[qS,@lrT2q3!#em!!#!!2rS5'lrk#mZrk3JEJ!N6T!!8%mJ,[rSCJT`Cce
+!!#K1qJBd*'lrN!"55VAZrkKMD#"Zrj!!8NL4l[qS,8Mrp#"Zrj!!NHlrT#e)rr!
+JE[qSNHlrN!!Y52rX)!KR$L"Zrj!!)QlrT#!ZrqbL,L4Zrk69l[rX,8VrN!")E[r
+`,blrT#"Z!#41N!"36b!Zrr#`V[rdC!T`Cce!!#K1qJA!)'lrN!"5V[q3!"!3(8$
+rS()!%J$5390"28(rd$!Zrp$33$e!rp)JEJ!F)"$3VJ!J,8$rX#4!,``[,[qi2c`
+"*#mZrj!!6VVlmNr[!!ib!#!+F!!`!G'Zrj!!,``[,[qd2c`"*#mZrlK1ZJHk6qm
+!$LmZrl`r2!%N,blrZ#mZrl41Z[PF6qm!$L4!,``[,[qi2blrd#mZrj!!6VVlS%r
+[!!ib!#!+F!!`!G'Zrj!!,``[,[qd2blrd#mZrlK1ZJGS6qm!$LmZrp3r,[r3,bl
+rZ#mZrl41Z[N+6qm!$R!!,J"#3$e!ri`YEJ!Jrk`JE[qXXHlrX'3!"+K#3$e!rjJ
+-EJ*)rjKN!!$#-#lrM'B!!)`NE[q3!&*+YHlrU'0S)'lrN!"55*(ZrkJY52rd)'l
+rN!#4l[qN,8Mrm#"ZrkL4l[q3!#e)rq`J#'F1)'lrN!!LE[qN)#lrl+)Z*'lrT0A
+Zrq`Y5[q3!%KZrr![,[qN)'i!*%k3!&"2)#lrm,#Zrr4N#R"R28!!+%lk"%)JE[q
+3!&+Zrj!!%K"`!"!",J"`#$e!ri``"h)"`%(4E[qB-LlrQ(!!-!(3J0#Zrl`J3$!
+328$rQ#!(iSJZ!&0ZriaJ!2mi"'i#52qB$'i"!2qBC"!JE[qX8UlrV"#ZrjPJ!2m
+)"'i"!2qB1#lrQ(B!0J3Y3rrieS2@V[r-)%-`%$e!rjSL,[ridUlrb#""%K"`!"!
+"28$rR%T!C`!!`JaZ!"MrM')!!*JNE[q3!&*+YHlrU'0S)'lrN!"55*(ZrkJY52r
+d)'lrN!#4l[qN,8Mrm#"ZrkL4l[q3!#e)rq`J#'F1)'lrN!!LE[qN)#lrl+)Z*'l
+rT0AZrq`Y5[q3!%KZrr![,[qN)'i!*%k3!&"2)#lrm,#Zrr4N#R"R28!!+%lk!bJ
+JE[q3!&+Zrj!!%K"`!"!"0#lrM()!-J,MU)k!8'lrM'!!rf*`rh)J1#lrR(B!0J5
+5Jq+S`%I4E[qD)!IQU#i!Q@lrM%*!28$rQ$!ZrjL`E[r5C!!!`M!ZriaQ!!#-*'l
+rN!"55VAZrkKMD#"Zrj!!8NL4l[qS,8Mrp#"Zrj!!NHlrT#e)rr!JE[qSNHlrN!!
+Y52rX)!KR$L"Zrj!!)QlrT#!ZrqbL,L4Zrk69l[rX,8VrN!")E[r`,blrT#"Z!#4
+1N!"36b!Zrr#`V[rdC!T`Cce!!#K1qJ*B)'lrN!"5V[q3!")3F!!3!5i!F!Jp32q
+--!Gb!F""d@lrQ$)ZrjK`!$!"d)$3V[r8)%!`%$e!rjJJ"q+),J"6E[q-B!$r0M!
+Zrp+4E[qB1#lrQ(B!0J3Y3rrmeS2@V[rN)%-`%$e!rjiL,[rmdUlri#""%K"`!"!
+"28$rR%T!C`!!`JaZ!"MrM')!!*JNE[q3!&*+YHlrU'0S)'lrN!"55*(ZrkJY52r
+d)'lrN!#4l[qN,8Mrm#"ZrkL4l[q3!#e)rq`J#'F1)'lrN!!LE[qN)#lrl+)Z*'l
+rT0AZrq`Y5[q3!%KZrr![,[qN)'i!*%k3!&"2)#lrm,#Zrr4N#R"R28!!+%lk!9S
+JE[q3!&+Zrj!!%K"`!"!"0#lrM()!-J,MU)k!8'lrM'!!rf*`rh)J1#lrR(B!0J5
+5Jq+S`%I4E[qH)!IQU#i!Q@lrM#"Zrk`b,[qHF!!`!C(!,8MrP,(Z!#"PB#"Zrj4
+5V[q8%"!JE[qX8UlrV"#!)'lrP&+Zrj33%#"Zrka5V[qX%)!JE[q88UlrP"!3)'l
+rV&+Zrk`3J$!ZrjT6E[qD5N"R!2[H)'lrP&+Zrj33%#"Zrka5V[qX%)"Jh&CZrjS
+JEJ!BdFBb,[qHF!!`!5*Zrkb6lJ!JN!#*NF!Y52q8-#lrQQFQ)'i!'0('XHlrP'-
+D)'lrP&+Zrj33%#"Zrka5V[qX%)"6E[qDB03YEJ!Jrj3`,[qD8flrQNT!C`$lCL"
+Zrj45V[q8%"!JE[qX8UlrV"#!B0`JE[qXXHlrX'F)F'Fp3!!SB"3JE[qXNHi!)#*
+Z!"`LL%*!28!!+%cI(2K1AL"I6qm!)%l3!(!m!$iJ!!"i)$i`)#BQ)(JJ2$dc-J!
+!1N0[EA"bCA0cD@pZ1N4PBfpYF(*PFh0TEfi`-c!a,Q-!!$`!2L!!!(JJ2M!J*LB
+JH#!m26-b!!!k3fpYF(*PFh0TEfik4'9MEfe`FQ9cFfP[EM!c-$%ZB`!!6PErk%M
+R(cJq,J!)+'i!$$BZ!!T`!$!$1!Gb!$)%N!#"FJ'`J@m!!E3p42rS282rkP*ZrqJ
+`,[rSX'i!#Q3FFJ!b!0+-)%%3%$3(FJ!b!Y+-)%%5%,!"C!*JeP0ZrqS`,[rUX%G
+M(()!-J$5M#""%"!d"h)!-J,5M#""%K#`!@-#B0J`,[rSX'lrkQ8#B()i,[rSGJ!
+f"#e$rr$@M#4$%K*`!"!"28$rl$SZrqTi!$J&,86rp0L-*N33%a5!&Ulrl5!Zrr$
+3J0#Z!"!J3$!328$rl#)Zrr65JG+Z!"!J36)3*#lrm05#e+i!%#"#-)%L,[rddS(
+5VJ!3)%%`J'!!rc)`,[rUX%GQ"P*(B!$r"$J(GJ!f"#e$rrM@M#4$%K*`!"!"28$
+rl$`ZrqTk!$S',8Arr0U-*N83%a5!&Ulrl5!ZrrM3J0#Z!"!J3$!328$rl#)Zrrc
+5JG+Z!"!J36)3*#lrq05#e+i!%#"#-)%L,[rmdS(5VJ!3)%%`J#!Zrr`L,[riN!#
+"0#i!#R)!-J)N,[rm8S+5JV#"E"i[,J!3,``r"Mm%6VVqA%r[!!``,[rU8N!q!'!
+!rP`[,J!3,``r,J!+-#lrkP*!2`"1Z[if6qm!$$eZrqS!#Q!!rMK-haci6Pj1G8j
+@rq4)jami*'i!#$SZ!!`QEJ!1+'i!%Le-rr!J2!!!!56C`#e-rr4#3$`!0JDf4@3
+XH!!i!be%rrMBLL"%%"!L,[ridUlrm#""%)!J,[rid)$3V[rd)%!`Je*'B-i[,[r
+d,blrm$m&3QG1Z[fb6qm!$%*!2!!f"VC&C"*`!$!$d+lrm#"!5K"Q"&*'B1K`!#e
+!rq3f"VC&C!!!U%T$Cc)J,[rNH!!i!be%rrcBV[r`)%38%()!%J)Q,[rm8i2@V[r
+`)%-@%(3!&!15JZ1S,8$rj$3'FJ!b!Y+Zrr!J34)3F!!3!6i!,@lrj2rXF!!Y32r
+S-!G64dT!Cb!J,[rSiiJL,[rXG!(#JS#",8$rk#!ZrqcLL#e!rqaJf$3'FJ!b!Y+
+"dUlrp#""-K"`!$!"jB$3Lb"!)+lrk&*'8Ulrj'!!re4-haci6Pj1G5*I)&qJ*5k
+!DJ*#Pdl4)Pm5(c!I5J&R"+G'B!+M4Lk)6Y%LAa)I-"mJAdS"C`5Q4f!#SNG1d3#
+3!`S!1+!"!!8!N!B"!!!"N!#h!!'2Y`!!"&Jm65h8!f)!N!-F!li!%d4*9%`!$3#
+L38a59!!+!8T69&)J!!%"cP"cCA3!!!(Q4%a24`!#!I*69&)M!!!#&P"*3e3!!!)
+LGQ9bF`!"!LjMD@0Z!!!#4NP$6di!!!*55801)`!%!Pj'8N9'!!3#QN*14%`!!3,
+@399c-J!!!ZjKGA0d!!%#qQPME$J!!!-53dp%43!(!aj%394"!!!$IP0*@N8!!!1
++4Q9KG!!!!jB%!Irr)!#3#)Arrb3!!)!m65e%!)Irr`#3!pB!N!@'rrmN!!%Q2%d
+Y3!#!rrm!!!'R!*!&YIrr)!!#"3#3"B,rr`!!!RF!N!3$k2rr)!!#e3#3"BMrr`!
+!!`%!N!3#!2rr!!!$f3#3"!)"rrm!!!3A!*!%"%X!+!3!&)!m65eB"+rrr`!!&0!
+!N!3""`!d)!!9$J#3"!3"rrmJ!!4M!*!&J[rr)!!%F`#3"BArrb3!")-m65eJ!)I
+rrb!!"*-!N!@'rrmN!!5M2%dY6!#!rrmJ!!5c!*!&JIrr)!!%``#3"BMrrb!!"0-
+!N!3#!2rr)!!%j3#3"!)"rrmJ!!6e!*!%"+rrr`!!&E`!N!3#!*!$)!!&"3#3"!)
+"!!FJ!!89!*!&J2rr!!!&)3#3"!2SrrmJ!!PB!*!%"%X!%!3!%USm65e3!3F!(#!
+!%X-!N!@!rrm!!!Pd!*!%!qMrr`!!#E3!N!8#rrmJ!"*k!*!&!Irr)!!5Q!#3"!4
+,rrm%!",I2%dY9!4,rrm%!"3&2%dYA!#!rrm!!"A-!*!&JIrr!!!@d!#3"B,rr`!
+!&p3!N!@$rrm!!"MB!*!&K2rr!!!Ch!#3"B$rr`!!'Z!!N!@"rrm!!"VV!*!&J[r
+r!!!DpJ#3"B2rr`!!'`%!N!@%rrm!!"X-!*!%!3$rr`!!'aF!N!@!rrm!!"Xh!*!
+(3!!!'fm!N!@%rrm!!"Z6!*!(6`!!'jF!N!@%rrm!!"[b!*!&!3"H(!!IpMa0,@J
+!!J"S(!#4[ca0,@`!!`"b(!#Ye$a0,3J!"!"m(!$e3Ma0,3`!"3#'(!%Qcca0,4!
+!"J#3!"`"5Him65d%!!$rrbJ"G3d!N!8(rrm!!A8h!*!'rrmS!''i!*!%rj!%!!&
+e+3#3"[rr!!'2U3#3"!C`FQpYF(3)a#"cG@CQDAJ,5@jcCA*d)%4TFfX,4AKTFh4
+TEQFJ8&F,5@jcCA*d)%4TFfX,4AKTFh4TEQFJ8&F16hGZCA)JFQ9cEh9bBf816hG
+ZCA)JFQ9cEh9bBf8*8f9RE@9ZG#!a#90PCfePER3J-JP6C@GYC@jd)$-*8f9RE@9
+ZG#!e#90PCfePER3J0JP6C@GYC@jd)$E+,3:
diff --git a/docs/symbols.txt b/docs/symbols.txt
new file mode 100644
index 0000000000..633162fb30
--- /dev/null
+++ b/docs/symbols.txt
@@ -0,0 +1,64 @@
+This is a list of preprocessor symbols used in the wxWindows source.
+
+GUIs:
+-----
+
+__X__ any X, but not GTK
+__WXMOTIF__ Motif
+__WXXT__ Xt; mutually exclusive with WX_MOTIF (?)
+__WXGTK__ GTK
+__WXGTK12__ GTK 1.2 or higher
+__WXMSW__ Any Windows
+__WXWINE__ WINE (i.e. Win32 on Unix)
+__WXMAC__ MacOS
+__WXPM__ OS/2 native Presentation Manager
+__UNIX__ any Unix
+__WINDOWS__ any Windows
+__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
+__WIN32__ WIN32 API
+__NT__ Windows NT
+__WXCURSES__ CURSES
+__WXSTUBS__ Stubbed version ('template' wxWin implementation)
+
+In fact, they should better all start with __WX instead of __ only.
+The only GUIs implemented for 2.0 are __WXGTK__, __WXMSW__ and __WXMOTIF__
+yet. Any new ones, please start the define with __WX.
+
+OSes/machines:
+
+__HPUX__
+__SVR4__
+__SYSV__
+__LINUX__
+__SGI__
+__ULTRIX__
+__BSD__
+__VMS__
+__SUN__ Any Sun
+__SUNOS__
+__SOLARIS__
+__ALPHA__
+__AIX__
+__DATA_GENERAL__
+__OSF__
+__FREEBSD__
+
+Compilers:
+----------
+
+__GNUWIN32__ Gnu-Win32 compiler
+__DJGPP__ DJGPP
+__GNUG__ Gnu C++ on any platform
+__BORLANDC__ Borland C++
+__WATCOMC__ Watcom C++
+__SYMANTECC__ Symantec C++
+__VISUALC__ VC++
+__SUNCC__ Sun CC
+__XLC__ ?? compiler
+
+wxWindows modes:
+----------------
+
+__WXDEBUG__ usage: #ifdef __WXDEBUG__ (=> debug mode, else => release)
+WXDEBUG usage: #if DEBUG (0: release, 1: minimal debug code, ...)
+
diff --git a/docs/tech/tn0006.txt b/docs/tech/tn0006.txt
new file mode 100644
index 0000000000..295939c128
--- /dev/null
+++ b/docs/tech/tn0006.txt
@@ -0,0 +1,41 @@
+How to make RPMs of the wxWindows sources
+=========================================
+
+This is just a short description. It is assumed that you know what you are
+doing. I do not take any responsibility for damaged systems, use at your own
+risk!
+
+ 1. Extract the archive in a temporary directory. Since you are
+ reading this text, you already have done this.
+ 2. Copy the .spec file to
+ (rpm-dir)/SPECS
+ 3. Copy the .tgz file to
+ (rpm-dir)/SOURCES
+ 4. Start the RPM manager with
+ rpm -bb (rpm-dir)/SPECS/(.spec-file)
+ or with
+ rpm -ba (rpm-dir)/SPECS/(.spec-file)
+ (the latter also builds the .src.rpm-file)
+ 5. You now have a nice set of RPMs in (rpm-dir)/RPMS
+
+Example
+=======
+
+Here's how to install e.g. wxMotif 2.1.14:
+
+ cp wxMotif.spec /usr/src/packages/SPECS
+ cp wxMotif-2.1.14.tgz /usr/src/packages/SOURCES
+ rpm -bb /usr/src/packages/SPECS/wxMotif.spec
+
+Install the resulting packages with
+
+ rpm --install /usr/src/packages/RPMS/i386/wxMotif-2.1.14-0.i386.rpm
+ rpm --install /usr/src/packages/RPMS/i386/wxMotif-devel-2.1.14-0.i386.rpm
+ rpm --install /usr/src/packages/RPMS/i386/wxMotif-gl-2.1.14-0.i386.rpm
+
+
+
+That's all. You should now have a working wxWindows library.
+
+Regards,
+ Robert Fendt
diff --git a/docs/wxQt.html b/docs/wxQt.html
new file mode 100644
index 0000000000..87f7013694
--- /dev/null
+++ b/docs/wxQt.html
@@ -0,0 +1,70 @@
+ $Id$
+
+ Proposal for a port of wxWindows to Qt - wxQt
+
+ Following the recent discussions
+ and flamewars about KDE vs Gnome, we got worried that we'll see a
+ repetition of the same damaging infighting from which Unix has
+ suffered before. Competition is a good thing, but the current
+ situation leaves application developers with a difficult decision to
+ make: Write for KDE, using qt/harmony or write for Gnome, using GTK?
+ Whatever happens to these projects, we will end up with a lot of
+ duplicated efforts and a mix of applications written for either of the
+ two environments. The result will not be the consistent look and feel
+ that both projects aim for.
+
+
+ The people on the wxWindows developers team thought that we might have
+ a solution for this problem, if we can get some outside help to get it
+ done. Let us explain: wxWindows is a cross-platform development
+ toolkit, a library of C++ classes which provide GUI concepts as well
+ as other cross-platform issues such as container classes, debug
+ features or configuration management. It has been around since 1992
+ and started by supporting Motif, XView and MS-Windows, with a direct
+ X11/Xt port added later. Last year, a major rewrite was started and we
+ now have a much advanced library, available for MS Windows, with a
+ Motif port under construction. Later last year, Robert Roebling set
+ out on a one-man project to build wxGTK, a gtk-based implementation of
+ wxWindows which in less than a year has become sufficiently stable to
+ use it as the main development platform of rather large
+ applications. The wxWindows license is a variant of the LGPL,
+ which should meet no objections from the free software community. In
+ fact, this has been an open source project long before the term became
+ commonly used.
+
+
+ Our idea is, that if this is good enough to work across different
+ operating systems (a MacOS port is under construction, too), it could
+ easily bridge the gap between KDE and Gnome. The quick evolution of
+ wxGTK has shown that a new port based on an existing widget set or
+ toolkit can easily be created by a small team within a few
+ months. Therefore, we would like to start a project for a Qt/Harmony
+ based wxWindow library, wxQt. It would then be possible for
+ application developers to write the same source and compile it either
+ for KDE, Gnome or even any of the other supported systems.
+
+
+ But for this we need help. The core developers are all pretty busy on
+ the existing ports, but we could provide significant help and support
+ for any such effort. A wxQt port could also recycle lots of existing
+ code from the other ports.
+
+ Please, join us in this effort and, if you feel that you could
+ contribute, join the wxWindows developers mailing list for further
+ discussions. Just send a mail containing "subscribe" to
+ wxwin-developers-request@wx.dent.med.uni-muenchen.de
+
+ You can find some more information about wxWindows at the following places:
+
+
+
+ Karsten Ballueder Ballueder@usa.net http://Ballueder.home.ml.org/
diff --git a/include/wx/date.h b/include/wx/date.h
new file mode 100644
index 0000000000..09e8e00c49
--- /dev/null
+++ b/include/wx/date.h
@@ -0,0 +1,256 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/date.h
+// Purpose: wxDate class: this class is deprecated, use wxDateTime instead!
+// Author: Julian Smart, Steve Marcus, Eric Simon, Chris Hill,
+// Charles D. Price
+// Modified by: 18.12.99 by VZ to use the new wxDateTime class
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright:(c)
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DATE_H_
+#define _WX_DATE_H_
+
+#ifdef __GNUG__
+ #pragma interface "date.h"
+#endif
+
+#include "wx/defs.h"
+
+#if wxUSE_TIMEDATE
+
+#include "wx/object.h"
+#include "wx/string.h"
+#include "wx/datetime.h"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+enum wxdate_format_type
+{
+ wxMDY,
+ wxDAY,
+ wxMONTH,
+ wxFULL,
+ wxEUROPEAN
+};
+
+enum // wxdate_format_flags
+{
+ wxNO_CENTURY = 0x02,
+ wxDATE_ABBR = 0x04
+};
+
+// ----------------------------------------------------------------------------
+// wxDate
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDate : public wxObject
+{
+public:
+ wxDate() { Init(); }
+ wxDate(long j) : m_date((double)(j + 0.5)) { Init(); }
+ wxDate(int m, int d, int y) : m_date(d, (wxDateTime::Month)m, y) { Init(); }
+ wxDate(const wxString& dat) { Init(); (void)m_date.ParseDate(dat); }
+ wxDate(const wxDate &date) { *this = date; }
+
+ wxDate(const wxDateTime& dt) { Init(); m_date = dt; }
+
+#ifndef __SALFORDC__
+ operator wxString() const { return FormatDate(); }
+#endif
+
+ void operator=(const wxDate& date)
+ {
+ m_date = date.m_date;
+ m_displayFormat = date.m_displayFormat;
+ m_displayOptions = date.m_displayOptions;
+ }
+
+ void operator=(const wxString& dat) { (void)m_date.ParseDate(dat); }
+
+ wxDate operator+(long i) { return wxDate(GetJulianDate() + i); }
+ wxDate operator+(int i) { return wxDate(GetJulianDate() + (long)i); }
+
+ wxDate operator-(long i) { return wxDate(GetJulianDate() - i); }
+ wxDate operator-(int i) { return wxDate(GetJulianDate() - (long)i); }
+
+ long operator-(const wxDate &dt) const
+ { return GetJulianDate() - dt.GetJulianDate(); }
+
+ wxDate &operator+=(long i) { m_date += wxTimeSpan::Days((int)i); return *this; }
+ wxDate &operator-=(long i) { m_date -= wxTimeSpan::Days((int)i); return *this; }
+
+ wxDate &operator++() { return *this += 1; }
+ wxDate &operator++(int) { return *this += 1; }
+ wxDate &operator--() { return *this -= 1; }
+ wxDate &operator--(int) { return *this -= 1; }
+
+#if wxUSE_STD_IOSTREAM
+ friend ostream WXDLLEXPORT & operator <<(ostream &os, const wxDate &dt)
+ { return os << dt.FormatDate().mb_str(); }
+#endif
+
+ void SetFormat(int format) { m_displayFormat = format; }
+ int SetOption(int option, bool enable = TRUE)
+ {
+ if ( enable )
+ m_displayOptions |= option;
+ else
+ m_displayOptions &= ~option;
+
+ return 1; // (VZ: whatever it means)
+ }
+
+ // returns julian date (VZ: the integral part of Julian Day Number)
+ long GetJulianDate() const
+ { return (long)(m_date.GetJulianDayNumber() - 0.5); }
+
+ // returns relative date since Jan. 1
+ int GetDayOfYear() const
+ { return m_date.GetDayOfYear(); }
+
+ // returns TRUE if leap year, FALSE if not
+ bool IsLeapYear() const
+ { return wxDateTime::IsLeapYear(m_date.GetYear()); }
+
+ // Sets to current system date
+ wxDate &Set()
+ { m_date = wxDateTime::Today(); return (wxDate&)*this; }
+ wxDate &Set(long lJulian)
+ { m_date.Set((double)(lJulian + 0.5)); return (wxDate&)*this; }
+ wxDate &Set(int nMonth, int nDay, int nYear)
+ { m_date.Set(nDay, (wxDateTime::Month)nMonth, nYear); return *this; }
+
+ // May also pass neg# to decrement
+ wxDate &AddWeeks(int nCount = 1)
+ { m_date += wxDateSpan::Weeks(nCount); return *this; }
+ wxDate &AddMonths(int nCount = 1)
+ { m_date += wxDateSpan::Months(nCount); return *this; }
+ wxDate &AddYears(int nCount = 1)
+ { m_date += wxDateSpan::Years(nCount); return *this; }
+
+ // Numeric Day of date object
+ int GetDay() const { return m_date.GetDay(); }
+ // Number of days in month(1..31)
+ int GetDaysInMonth() const
+ {
+ return wxDateTime::GetNumberOfDays((wxDateTime::Month)m_date.GetMonth(),
+ m_date.GetYear());
+ }
+
+ // First Day Of Month(1..7)
+ int GetFirstDayOfMonth() const
+ { return wxDate(GetMonth(), 1, GetYear()).GetDayOfWeek(); }
+
+ // Character Day Of Week('Sunday'..'Saturday')
+ wxString GetDayOfWeekName() const { return FormatDate(wxDAY); }
+ int GetDayOfWeek() const { return (int)m_date.GetWeekDay() + 1; }
+
+ // Numeric Week Of Month(1..6) (VZ: I'd love to see a month with 6 weeks)
+ int GetWeekOfMonth() const { return m_date.GetWeekOfMonth(); }
+ // Numeric Week Of Year(1..52) (VZ: but there are years with 53 weeks)
+ int GetWeekOfYear() const { return m_date.GetWeekOfYear(); }
+
+ // Character Month name
+ wxString GetMonthName() { return FormatDate(wxMONTH); }
+ // Month Number(1..12)
+ int GetMonth() const { return m_date.GetMonth() + 1; }
+
+ // First Date Of Month
+ wxDate GetMonthStart() const { return(wxDate(GetMonth()-1, 1, GetYear())); }
+ // Last Date Of Month
+ wxDate GetMonthEnd() const { return wxDate(GetMonth(), 1, GetYear())-1; }
+
+ // eg. 1992
+ int GetYear() const { return m_date.GetYear(); }
+ // First Date Of Year
+ wxDate GetYearStart() const { return wxDate(0, 1, GetYear()); }
+ // Last Date Of Year
+ wxDate GetYearEnd() const { return wxDate(0, 1, GetYear()+1) - 1; }
+
+ bool IsBetween(const wxDate& first, const wxDate& second) const
+ {
+ return m_date.IsBetween(first.m_date, second.m_date);
+ }
+
+ wxDate Previous(int dayOfWeek) const
+ {
+ wxDate prev = *this;
+ int dow = GetDayOfWeek();
+ prev -= dayOfWeek > dow ? 7 - (dayOfWeek - dow) : dow - dayOfWeek;
+
+ return prev;
+ }
+
+ wxString FormatDate(int type = -1) const
+ {
+ static const wxChar *formats[] =
+ {
+ // MDY (week)DAY MONTH FULL EUROPEAN
+ _T("%m/%d/%Y"), _T("%A"), _T("%B"), _T("%A, %B %d, %Y"), _T("%d %B %Y")
+ };
+
+ wxString fmt = formats[type == -1 ? m_displayFormat : type];
+
+ if ( m_displayOptions & wxDATE_ABBR )
+ {
+ fmt.Replace(_T("A"), _T("a"));
+ fmt.Replace(_T("B"), _T("b"));
+ }
+ if ( m_displayOptions & wxNO_CENTURY )
+ {
+ fmt.Replace(_T("Y"), _T("y"));
+ }
+
+ return m_date.Format(fmt);
+ }
+
+protected:
+ void Init() { m_displayFormat = wxMDY; m_displayOptions = 0; }
+
+#if 0 // the old wxDate members - unused any more
+ unsigned long julian; // see julDate(); days since 1/1/4713 B.C.
+ int month; // see NMonth()
+ int day; // see Day()
+ int year; // see NYear4()
+ int day_of_week; // see NDOW(); 1 = Sunday, ... 7 = Saturday
+
+ void julian_to_mdy(); // convert julian day to mdy
+ void julian_to_wday(); // convert julian day to day_of_week
+ void mdy_to_julian(); // convert mdy to julian day
+#endif // 0
+
+private:
+ wxDateTime m_date;
+
+ int m_displayFormat;
+ int m_displayOptions;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxDate)
+};
+
+// ----------------------------------------------------------------------------
+// global functions
+// ----------------------------------------------------------------------------
+
+inline bool WXDLLEXPORT operator <(const wxDate &dt1, const wxDate &dt2)
+ { return dt1.GetJulianDate() < dt2.GetJulianDate(); }
+inline bool WXDLLEXPORT operator <=(const wxDate &dt1, const wxDate &dt2)
+ { return dt1.GetJulianDate() <= dt2.GetJulianDate(); }
+inline bool WXDLLEXPORT operator >(const wxDate &dt1, const wxDate &dt2)
+ { return dt1.GetJulianDate() > dt2.GetJulianDate(); }
+inline bool WXDLLEXPORT operator >=(const wxDate &dt1, const wxDate &dt2)
+ { return dt1.GetJulianDate() >= dt2.GetJulianDate(); }
+inline bool WXDLLEXPORT operator ==(const wxDate &dt1, const wxDate &dt2)
+ { return dt1.GetJulianDate() == dt2.GetJulianDate(); }
+inline bool WXDLLEXPORT operator !=(const wxDate &dt1, const wxDate &dt2)
+ { return dt1.GetJulianDate() != dt2.GetJulianDate(); }
+
+#endif // wxUSE_TIMEDATE
+#endif
+ // _WX_DATE_H_
diff --git a/include/wx/expr.h b/include/wx/expr.h
new file mode 100644
index 0000000000..52f45b9196
--- /dev/null
+++ b/include/wx/expr.h
@@ -0,0 +1,133 @@
+/* //////////////////////////////////////////////////////////////////////////
+// Name: expr.h
+// Purpose: C helper defines and functions for wxExpr class
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c)
+// Licence: wxWindows licence
+////////////////////////////////////////////////////////////////////////// */
+
+#ifndef _WX_EXPRH__
+#define _WX_EXPRH__
+
+#include
+#if defined(__VISAGECPP__) && __IBMCPP__ >= 400
+# undef __BSEXCPT__
+#endif
+#include
+
+#ifdef ____HPUX__
+#define alloca malloc
+#endif
+
+/* Rename all YACC/LEX stuff or we'll conflict with other
+ * applications
+ */
+
+#define yyback PROIO_yyback
+#define yylook PROIO_yylook
+#define yywrap PROIO_yywrap
+#define yyoutput PROIO_yyoutput
+#define yylex PROIO_yylex
+#define yyerror PROIO_yyerror
+#define yyleng PROIO_yyleng
+#define yytext PROIO_yytext
+#define yymorfg PROIO_yymorfg
+#define yylineno PROIO_yylineno
+#define yytchar PROIO_yytchar
+#define yyin PROIO_yyin
+#define yyout PROIO_yyout
+#define yysvf PROIO_yysvf
+#define yyestate PROIO_yyestate
+#define yysvec PROIO_yysvec
+#define yybgin PROIO_yybgin
+#define yyprevious PROIO_yyprevious
+#define yylhs PROIO_yylhs
+#define yylen PROIO_yylen
+#define yydefred PROIO_yydefred
+#define yydgoto PROIO_yydgoto
+#define yysindex PROIO_yysindex
+#define yyrindex PROIO_yyrindex
+#define yygindex PROIO_yygindex
+#define yytable PROIO_yytable
+#define yycheck PROIO_yycheck
+#define yyname PROIO_yyname
+#define yyrule PROIO_yyrule
+#define yydebug PROIO_yydebug
+#define yynerrs PROIO_yynerrs
+#define yyerrflag PROIO_yyerrflag
+#define yychar PROIO_yychar
+#define yyvsp PROIO_yyvsp
+#define yyssp PROIO_yyssp
+#define yyval PROIO_yyval
+#define yylval PROIO_yylval
+#define yyss PROIO_yyss
+#define yyvs PROIO_yyvs
+#define yyparse PROIO_yyparse
+
+/* +++steve162e: more defines necessary */
+#define yy_init_buffer PROIO_yy_init_buffer
+#define yy_create_buffer PROIO_yy_create_buffer
+#define yy_load_buffer_state PROIO_yy_load_buffer_state
+#define yyrestart PROIO_yyrestart
+#define yy_switch_to_buffer PROIO_yy_switch_to_buffer
+#define yy_delete_buffer PROIO_yy_delete_buffer
+/* ---steve162e */
+
+/* WG 1/96: still more for flex 2.5 */
+#define yy_scan_buffer PROIO_scan_buffer
+#define yy_scan_string PROIO_scan_string
+#define yy_scan_bytes PROIO_scan_bytes
+#define yy_flex_debug PROIO_flex_debug
+#define yy_flush_buffer PROIO_flush_buffer
+#if !defined(__VISAGECPP__)
+/* multiply defined??? */
+#define yyleng PROIO_yyleng
+#define yytext PROIO_yytext
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+char *proio_cons(char *, char *);
+char * wxmake_integer(char *);
+char * wxmake_word(char *);
+char * wxmake_string(char *);
+char * wxmake_real(char *, char *);
+char * wxmake_exp(char *, char *);
+char * wxmake_exp2(char *, char *, char*);
+void add_expr(char *);
+void process_command(char *);
+void syntax_error(char *);
+}
+#else
+#if defined(__BORLANDC__) || defined(__VISAGECPP__)
+char *proio_cons(char *, char *);
+char * wxmake_integer(char *);
+char * wxmake_word(char *);
+char * wxmake_string(char *);
+char * wxmake_real(char *, char *);
+char * wxmake_exp(char *, char *);
+char * wxmake_exp2(char *, char *, char*);
+void add_expr(char *);
+void process_command(char *);
+void syntax_error(char *);
+int lex_input(void);
+#else
+char *proio_cons();
+char * wxmake_integer();
+char * wxmake_word();
+char * wxmake_string();
+char * wxmake_real();
+char * wxmake_exp();
+char * wxmake_exp2();
+
+void add_expr();
+void process_command();
+void syntax_error();
+#endif
+#endif
+
+#endif
+ /* _WX_EXPRH__ */
diff --git a/include/wx/generic/cross.xpm b/include/wx/generic/cross.xpm
new file mode 100644
index 0000000000..5192b65cc0
--- /dev/null
+++ b/include/wx/generic/cross.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char *cross_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"10 10 16 1",
+" c Gray0",
+". c #bf0000",
+"X c #00bf00",
+"o c #bfbf00",
+"O c #0000bf",
+"+ c #bf00bf",
+"@ c #00bfbf",
+"# c None",
+"$ c #808080",
+"% c Red",
+"& c Green",
+"* c Yellow",
+"= c Blue",
+"- c Magenta",
+"; c Cyan",
+": c Gray100",
+/* pixels */
+" ######## ",
+" #### ",
+"# ## #",
+"## ##",
+"### ###",
+"### ###",
+"## ##",
+"# ## #",
+" #### ",
+" ###### "
+};
diff --git a/include/wx/generic/deffile.xpm b/include/wx/generic/deffile.xpm
new file mode 100644
index 0000000000..f27bbc7e50
--- /dev/null
+++ b/include/wx/generic/deffile.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * deffile_xpm[] = {
+"16 16 12 1",
+" c None",
+". c #000000",
+"+ c #808080",
+"@ c #FFFFFF",
+"# c #282829",
+"$ c #505052",
+"% c #78787B",
+"& c #A0A0A4",
+"* c #404040",
+"= c #1F1F1F",
+"- c #3F3F3F",
+"; c #2F2F2F",
+" ",
+" ....... ",
+" .+@@@@@@# ",
+" .+@@@@@@$% ",
+" .+@@@@@@$&% ",
+" .+@@@@@@#$$# ",
+" .+@@@@@@@@@@. ",
+" .+@@@@@@@@@@. ",
+" .+@@@@@@@@@@. ",
+" .+@@@@@@@@@@. ",
+" .+@@@@@@@@@@. ",
+" .+@@@@@@@@@@. ",
+" .*++++++++++. ",
+" .=---=;-----. ",
+" ",
+" "};
diff --git a/include/wx/generic/dir_up.xpm b/include/wx/generic/dir_up.xpm
new file mode 100644
index 0000000000..610339e2a2
--- /dev/null
+++ b/include/wx/generic/dir_up.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char *dir_up_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 20 16 1",
+" c Gray0",
+". c #800000",
+"X c #008000",
+"o c #808000",
+"O c #000080",
+"+ c #800080",
+"@ c #008080",
+"# c None",
+"$ c #808080",
+"% c Red",
+"& c Green",
+"* c Yellow",
+"= c Blue",
+"- c Magenta",
+"; c Cyan",
+": c Gray100",
+/* pixels */
+"####################",
+"####################",
+"####################",
+"#### ###########",
+"### *:*:* ##########",
+"## ####",
+"## :*:*:*:*:*:*: ###",
+"## *:*: :*:*:*:* ###",
+"## :*: :*:*:*: ###",
+"## *: :*:*:* ###",
+"## :*:* *:*:*:*: ###",
+"## *:*: :*:*:*:* ###",
+"## :*:* :*: ###",
+"## *:*:*:*:*:*:* ###",
+"## :*:*:*:*:*:*: ###",
+"## ###",
+"####################",
+"####################",
+"####################",
+"####################",
+};
diff --git a/include/wx/generic/error.xpm b/include/wx/generic/error.xpm
new file mode 100644
index 0000000000..4e9f8b0c22
--- /dev/null
+++ b/include/wx/generic/error.xpm
@@ -0,0 +1,129 @@
+/* XPM */
+static char * error_xpm[] = {
+"48 48 78 1",
+" c None",
+". c #000000",
+"+ c #200000",
+"@ c #4A0000",
+"# c #6B0000",
+"$ c #8F0000",
+"% c #890000",
+"& c #5F0000",
+"* c #380000",
+"= c #0E0000",
+"- c #030000",
+"; c #480000",
+"> c #9C0000",
+", c #E40000",
+"' c #FE0000",
+") c #FF0000",
+"! c #C90000",
+"~ c #7E0000",
+"{ c #250000",
+"] c #090000",
+"^ c #700000",
+"/ c #DE0000",
+"( c #FB0000",
+"_ c #BB0000",
+": c #410000",
+"< c #500000",
+"[ c #DF0000",
+"} c #B00000",
+"| c #0D0000",
+"1 c #AB0000",
+"2 c #F60000",
+"3 c #600000",
+"4 c #010000",
+"5 c #220000",
+"6 c #DA0000",
+"7 c #950000",
+"8 c #070000",
+"9 c #350000",
+"0 c #F00000",
+"a c #BD0000",
+"b c #080000",
+"c c #B10000",
+"d c #880000",
+"e c #FD0000",
+"f c #4D0000",
+"g c #0B0000",
+"h c #F50000",
+"i c #1A0000",
+"j c #820000",
+"k c #E30000",
+"l c #040000",
+"m c #3C0000",
+"n c #FEAFAF",
+"o c #FFFEFE",
+"p c #FEFEFE",
+"q c #FF7F7F",
+"r c #840000",
+"s c #FFAFAF",
+"t c #FFFFFF",
+"u c #C00000",
+"v c #EA0000",
+"w c #2F0000",
+"x c #290000",
+"y c #D80000",
+"z c #AE0000",
+"A c #FE6D6D",
+"B c #FF9F9F",
+"C c #FE9F9F",
+"D c #FF4F4F",
+"E c #690000",
+"F c #C10000",
+"G c #5B0000",
+"H c #050000",
+"I c #B70000",
+"J c #E50000",
+"K c #F40000",
+"L c #420000",
+"M c #650000",
+" ",
+" ",
+" ..+@#$$$%&*=. ",
+" -;>,''''''))))!~{. ",
+" ]^/'''''''''))))))(_:. ",
+" .<['''''''''''))))))))'}+. ",
+" |1'''''''''''''))))))))))234 ",
+" 56)'''''''''''''))))))))))))78 ",
+" 90))''''''''''''')))))))))))))ab ",
+" 50)))'''''''''''''))))))))))))))c4 ",
+" |6))))''''''''''''')))))))))))))))d. ",
+" .1'))))''''''''''''')))))))))))))))ef ",
+" <''))))''''''''''''')))))))))))))))),g ",
+" ][')))))''''''''''''')))))))))))))))))%. ",
+" ^'''))))''''''''''''')))))))))))))))))hi ",
+" -/'''))))'''''''''''''))))))))))))))))))j ",
+" ;)'')))))'''''''''''''))))))))))))))))))kl ",
+" >''''))))''''''''''''')))))))))))))))))))m ",
+" .,'''noooopppppppppppppoooooooooooooooq)))r ",
+" +))')sttttppppppppppppptttttttttttttttq)))u. ",
+" @''''nttttppppppppppppptttttttttttttttq)))v. ",
+" #))''nttttppppppppppppptttttttttttttttq))))g ",
+" $)'''nttttppppppppppppptttttttttttttttq))))w ",
+" $''''nttttppppppppppppptttttttttttttttq))))w ",
+" $)'''nttttppppppppppppptttttttttttttttq))))w ",
+" %)'''nttttppppppppppppptttttttttttttttq))))x ",
+" &''''nttttppppppppppppptttttttttttttttq)))). ",
+" *)'''nttttppppppppppppptttttttttttttttq)))y. ",
+" =))''sttttppppppppppppptttttttttttttttq)))z ",
+" .!'''ABBBBCCCCCCCCCCCCCBBBBBBBBBBBBBBBD)))E ",
+" ~''''))))'''''''''''''))))))))))))))))))e+ ",
+" {('))))))'''''''''''''))))))))))))))))))F. ",
+" ._'''))))'''''''''''''))))))))))))))))))G ",
+" :'''))))''''''''''''')))))))))))))))))6H ",
+" .}))))))''''''''''''')))))))))))))))))< ",
+" +2'))))'''''''''''''))))))))))))))))I. ",
+" .3)))))''''''''''''')))))))))))))))Ji ",
+" 47))))'''''''''''''))))))))))))))KL ",
+" 8a)))'''''''''''''))))))))))))))M. ",
+" bc))'''''''''''''))))))))))))KM. ",
+" 4de''''''''''''')))))))))))JL. ",
+" .f,''''''''''''))))))))))Ii ",
+" g%h''''''''''))))))))6<. ",
+" .ijk'''''''')))))eFGH ",
+" .lmruv''''))yzE+. ",
+" ..gwwwx... ",
+" ",
+" "};
diff --git a/include/wx/generic/exefile.xpm b/include/wx/generic/exefile.xpm
new file mode 100644
index 0000000000..e93f223ed0
--- /dev/null
+++ b/include/wx/generic/exefile.xpm
@@ -0,0 +1,76 @@
+/* XPM */
+static char * exefile_xpm[] = {
+"16 16 57 1",
+" c None",
+". c #000000",
+"+ c #808080",
+"@ c #650000",
+"# c #CB0000",
+"$ c #700000",
+"% c #CDCDCD",
+"& c #D2D2D2",
+"* c #D7D7D7",
+"= c #282829",
+"- c #FF0000",
+"; c #E60000",
+"> c #FFFFFF",
+", c #505052",
+"' c #78787B",
+") c #CC0000",
+"! c #F70000",
+"~ c #A0A0A4",
+"{ c #8C4848",
+"] c #FFA0A0",
+"^ c #A95959",
+"/ c #DBDBDB",
+"( c #F7F7F7",
+"_ c #0000C8",
+": c #0000F4",
+"< c #ECECEC",
+"[ c #1010BC",
+"} c #1313E8",
+"| c #EDEDED",
+"1 c #8B8B8B",
+"2 c #AFAFAF",
+"3 c #C4C4C4",
+"4 c #FDFDFD",
+"5 c #E8E8E8",
+"6 c #FFFF00",
+"7 c #007300",
+"8 c #00B200",
+"9 c #BFBFBF",
+"0 c #CBCBCB",
+"a c #DEDEDE",
+"b c #00A800",
+"c c #00FF00",
+"d c #BEBEBE",
+"e c #FCFCFC",
+"f c #7D7D7D",
+"g c #F8F8F8",
+"h c #888888",
+"i c #F8F800",
+"j c #F7F700",
+"k c #006200",
+"l c #00A100",
+"m c #757575",
+"n c #959595",
+"o c #404040",
+"p c #1F1F1F",
+"q c #3F3F3F",
+"r c #2F2F2F",
+" ",
+" ........ ",
+" .+@#$%&*= ",
+" .+#-;>>>,' ",
+" .+)-!>>>,~' ",
+" .+{]^>>>=,,= ",
+" .+/>(>>>>>_:. ",
+" .+<>>>>>>>[}. ",
+" .+|>>>>>>>12. ",
+" .+|>>>>>>>34. ",
+" .+/>56667894. ",
+" .+0>a666bcde. ",
+" .+fghiijklmn. ",
+" .o++++++++++. ",
+" .pqqqpprqqqq. ",
+" "};
diff --git a/include/wx/generic/folder.xpm b/include/wx/generic/folder.xpm
new file mode 100644
index 0000000000..558dfb9e97
--- /dev/null
+++ b/include/wx/generic/folder.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * folder_xpm[] = {
+/* width height ncolors chars_per_pixel */
+"16 16 6 1",
+/* colors */
+" s None c None",
+". c #000000",
+"+ c #c0c0c0",
+"@ c #808080",
+"# c #ffff00",
+"$ c #ffffff",
+/* pixels */
+" ",
+" @@@@@ ",
+" @#+#+#@ ",
+" @#+#+#+#@@@@@@ ",
+" @$$$$$$$$$$$$@.",
+" @$#+#+#+#+#+#@.",
+" @$+#+#+#+#+#+@.",
+" @$#+#+#+#+#+#@.",
+" @$+#+#+#+#+#+@.",
+" @$#+#+#+#+#+#@.",
+" @$+#+#+#+#+#+@.",
+" @$#+#+#+#+#+#@.",
+" @@@@@@@@@@@@@@.",
+" ..............",
+" ",
+" "};
diff --git a/include/wx/generic/gridg.h b/include/wx/generic/gridg.h
new file mode 100644
index 0000000000..9e0278cfab
--- /dev/null
+++ b/include/wx/generic/gridg.h
@@ -0,0 +1,424 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gridg.h
+// Purpose: wxGenericGrid
+// Author: Julian Smart
+// Modified by: Michael Bedward
+// Added edit in place facility, 20 April 1999
+// Added cursor key control, 29 Jun 1999
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c)
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GRIDH_G__
+#define __GRIDH_G__
+
+#ifdef __GNUG__
+#pragma interface "gridg.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/panel.h"
+#include "wx/string.h"
+#include "wx/scrolbar.h"
+#include "wx/event.h"
+
+#define wxGRID_DEFAULT_EDIT_WIDTH 300
+#define wxGRID_DEFAULT_EDIT_HEIGHT 27
+#define wxGRID_DEFAULT_EDIT_X 2
+#define wxGRID_DEFAULT_EDIT_Y 1
+#define wxGRID_DEFAULT_SHEET_TOP 31
+#define wxGRID_DEFAULT_SHEET_LEFT 0
+#define wxGRID_DEFAULT_CELL_HEIGHT 20
+#define wxGRID_DEFAULT_CELL_WIDTH 80
+#define wxGRID_DEFAULT_VERTICAL_LABEL_WIDTH 40
+#define wxGRID_DEFAULT_HORIZONAL_LABEL_HEIGHT 20
+
+#define WXGENERIC_GRID_VERSION 0.5
+
+class WXDLLEXPORT wxGridEvent;
+class WXDLLEXPORT wxGridCell;
+
+class WXDLLEXPORT wxGenericGrid : public wxPanel
+{
+ DECLARE_DYNAMIC_CLASS(wxGenericGrid)
+
+public:
+ wxGenericGrid();
+
+ wxGenericGrid(wxWindow *parent, int x, int y, int width, int height, long style = 0, char *name = "grid")
+ {
+ Create(parent, -1, wxPoint(x, y), wxSize(width, height), style, name);
+ }
+ wxGenericGrid(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style = 0, const wxString& name = "grid")
+ {
+ Create(parent, id, pos, size, style, name);
+ }
+ ~wxGenericGrid();
+
+ bool Create(wxWindow *parent, wxWindowID, const wxPoint& pos, const wxSize& size, long style = 0, const wxString& name = "grid");
+
+ bool CreateGrid(int nRows, int nCols, wxString **cellValues = (wxString **) NULL, short *widths = (short *) NULL,
+ short defaultWidth = wxGRID_DEFAULT_CELL_WIDTH, short defaultHeight = wxGRID_DEFAULT_CELL_HEIGHT);
+ void PaintGrid(wxDC& dc);
+ void ClearGrid();
+ virtual wxGridCell *GetCell(int row, int col) const;
+ wxGridCell ***GetCells() const { return m_gridCells; }
+ bool InsertCols(int pos = 0, int n = 1, bool updateLabels = TRUE);
+ bool InsertRows(int pos = 0, int n = 1, bool updateLabels = TRUE);
+ bool AppendCols(int n = 1, bool updateLabels = TRUE);
+ bool AppendRows(int n = 1, bool updateLabels = TRUE);
+ bool DeleteCols(int pos = 0, int n = 1, bool updateLabels = TRUE);
+ bool DeleteRows(int pos = 0, int n = 1, bool updateLabels = TRUE);
+
+ // Cell accessors
+ void SetCellValue(const wxString& val, int row, int col);
+ wxString& GetCellValue(int row, int col) const;
+ void SetCellAlignment(int flag, int row, int col);
+ void SetCellAlignment(int flag);
+ int GetCellAlignment(int row, int col) const;
+ int GetCellAlignment() const;
+ void SetCellTextColour(const wxColour& val, int row, int col);
+ void SetCellTextColour(const wxColour& col);
+ wxColour& GetCellTextColour(int row, int col) const;
+ wxColour& GetCellTextColour() const { return (wxColour&) m_cellTextColour; }
+ void SetCellBackgroundColour(const wxColour& col);
+ void SetCellBackgroundColour(const wxColour& colour, int row, int col);
+ wxColour& GetCellBackgroundColour() const { return (wxColour&) m_cellBackgroundColour; }
+ wxColour& GetCellBackgroundColour(int row, int col) const;
+ wxFont& GetCellTextFont() const { return (wxFont&) m_cellTextFont; }
+ wxFont& GetCellTextFont(int row, int col) const;
+ void SetCellTextFont(const wxFont& fnt);
+ void SetCellTextFont(const wxFont& fnt, int row, int col);
+ wxBitmap *GetCellBitmap(int row, int col) const;
+ void SetCellBitmap(wxBitmap *bitmap, int row, int col);
+ void *SetCellData(void *data, int row, int col);
+ void *GetCellData(int row, int col);
+
+ // Size accessors
+ void SetColumnWidth(int col, int width);
+ int GetColumnWidth(int col) const;
+ void SetRowHeight(int row, int height);
+ int GetRowHeight(int row) const;
+ int GetViewHeight() const { return m_viewHeight; }
+ int GetViewWidth() const { return m_viewWidth; }
+
+ // Label accessors
+ void SetLabelSize(int orientation, int sz);
+ int GetLabelSize(int orientation) const;
+ void SetLabelAlignment(int orientation, int alignment);
+ int GetLabelAlignment(int orientation) const;
+ wxGridCell *GetLabelCell(int orientation, int pos) const;
+ void SetLabelValue(int orientation, const wxString& val, int pos);
+ wxString& GetLabelValue(int orientation, int pos) const;
+ void SetLabelTextColour(const wxColour& colour);
+ void SetLabelBackgroundColour(const wxColour& colour);
+ wxColour& GetLabelTextColour() const { return (wxColour&) m_labelTextColour; }
+ wxColour& GetLabelBackgroundColour() { return (wxColour&) m_labelBackgroundColour; }
+ wxFont& GetLabelTextFont() { return (wxFont&) m_labelTextFont; }
+ void SetLabelTextFont(const wxFont& fnt) { m_labelTextFont = fnt; }
+
+ // Miscellaneous accessors
+ int GetCursorRow() const { return m_wCursorRow; }
+ int GetCursorColumn() const { return m_wCursorColumn; }
+ void SetGridCursor(int row, int col);
+ int GetRows() const { return m_totalRows; }
+ int GetCols() const { return m_totalCols; }
+ int GetScrollPosX() const { return m_scrollPosX; }
+ int GetScrollPosY() const { return m_scrollPosY; }
+ void SetScrollPosX(int pos) { m_scrollPosX = pos; }
+ void SetScrollPosY(int pos) { m_scrollPosY = pos; }
+ wxTextCtrl *GetTextItem() const { return m_textItem; }
+ wxScrollBar *GetHorizScrollBar() const { return m_hScrollBar; }
+ wxScrollBar *GetVertScrollBar() const { return m_vScrollBar; }
+ bool GetEditable() const { return m_editable; }
+ void SetEditable(bool edit);
+
+ bool GetEditInPlace() const { return m_editInPlace; }
+ void SetEditInPlace(bool edit = TRUE);
+
+ wxRect& GetCurrentRect() const { return (wxRect&) m_currentRect; }
+ bool CurrentCellVisible() const { return m_currentRectVisible; }
+ void SetDividerPen(const wxPen& pen) { m_divisionPen = pen; }
+ wxPen& GetDividerPen() const { return (wxPen&) m_divisionPen; }
+
+ // High-level event handling
+ // Override e.g. to check value of current cell; but call
+ // base member for default processing.
+ virtual void OnSelectCellImplementation(wxDC *dc, int row, int col);
+
+ virtual void OnSelectCell(int WXUNUSED(row), int WXUNUSED(col)) {};
+ void _OnSelectCell(wxGridEvent& event);
+
+ // Override to create your own class of grid cell
+ virtual wxGridCell *OnCreateCell();
+ void _OnCreateCell(wxGridEvent& event);
+
+ // Override to change labels e.g. creation of grid, inserting/deleting a row/col.
+ // By default, auto-labels the grid.
+ virtual void OnChangeLabels();
+ void _OnChangeLabels(wxGridEvent& event);
+
+ // Override to change the label of the edit field when selecting a cell
+ // By default, sets it to e.g. A12
+ virtual void OnChangeSelectionLabel();
+ void _OnChangeSelectionLabel(wxGridEvent& event);
+
+ // Override for event processing
+ virtual void OnCellChange(int WXUNUSED(row), int WXUNUSED(col)) {};
+ virtual void OnCellLeftClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
+ virtual void OnCellRightClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
+ virtual void OnLabelLeftClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
+ virtual void OnLabelRightClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
+
+ void _OnCellChange(wxGridEvent& event);
+ void _OnCellLeftClick(wxGridEvent& event);
+ void _OnCellRightClick(wxGridEvent& event);
+ void _OnLabelLeftClick(wxGridEvent& event);
+ void _OnLabelRightClick(wxGridEvent& event);
+
+ // Activation: call from wxFrame::OnActivate
+ void OnActivate(bool active);
+
+ // Miscellaneous
+ void AdjustScrollbars();
+ void UpdateDimensions();
+
+ void SetCurrentRect (int Row, int Column, int canvasW = -1, int canvasH = -1);
+ void HighlightCell(wxDC *dc, bool doHighlight);
+ void DrawCellText();
+ void SetGridClippingRegion(wxDC *dc);
+
+ virtual bool CellHitTest(int x, int y, int *row, int *col);
+ virtual bool LabelSashHitTest(int x, int y, int *orientation, int *rowOrCol, int *startPos);
+ virtual bool LabelHitTest(int x, int y, int *row, int *col);
+
+ // Painting
+ virtual void DrawLabelAreas(wxDC *dc);
+ virtual void DrawEditableArea(wxDC *dc);
+ virtual void DrawGridLines(wxDC *dc);
+ virtual void DrawColumnLabels(wxDC *dc);
+ virtual void DrawColumnLabel(wxDC *dc, wxRect *rect, int col);
+ virtual void DrawRowLabels(wxDC *dc);
+ virtual void DrawRowLabel(wxDC *dc, wxRect *rect, int row);
+ virtual void DrawCells(wxDC *dc);
+ virtual void DrawCellValue(wxDC *dc, wxRect *rect, int row, int col);
+ virtual void DrawCellBackground(wxDC *dc, wxRect *rect, int row, int col);
+ virtual void DrawTextRect(wxDC *dc, const wxString& text, wxRect *rect, int flag);
+ virtual void DrawBitmapRect(wxDC *dc, wxBitmap *bitmap, wxRect *rect, int flag);
+
+ // Refresh cell and optionally set the text field
+ void RefreshCell(int row, int col, bool setText = FALSE);
+
+ // Don't refresh within the outer pair of these.
+ void BeginBatch() { m_batchCount ++; }
+ void EndBatch() { m_batchCount --; }
+ int GetBatchCount() { return m_batchCount; }
+
+ // implementation from now on
+
+ void OnPaint(wxPaintEvent& event);
+ void OnEraseBackground(wxEraseEvent& event);
+ void OnMouseEvent(wxMouseEvent& event);
+ void OnSize(wxSizeEvent& event);
+ void OnText(wxCommandEvent& ev);
+ void OnTextEnter(wxCommandEvent& ev);
+ void OnTextInPlace(wxCommandEvent& ev);
+ void OnTextInPlaceEnter(wxCommandEvent& ev);
+ void OnGridScroll(wxScrollEvent& ev);
+
+protected:
+ wxPanel* m_editingPanel; // Contains the text control
+ wxTextCtrl* m_textItem;
+ wxTextCtrl* m_inPlaceTextItem;
+
+ wxScrollBar* m_hScrollBar;
+ wxScrollBar* m_vScrollBar;
+ int m_wCursorRow;
+ int m_wCursorColumn;
+ wxRect m_currentRect;
+ bool m_currentRectVisible;
+ wxGridCell*** m_gridCells;
+ wxGridCell** m_rowLabelCells;
+ wxGridCell** m_colLabelCells;
+
+ bool m_editCreated;
+ bool m_editable;
+ bool m_editInPlace;
+ bool m_inOnTextInPlace;
+ bool m_inScroll;
+
+ int m_totalRows;
+ int m_totalCols;
+
+ // Row and column we're currently looking at
+ int m_scrollPosX;
+ int m_scrollPosY;
+
+ // Dimensions
+ int m_leftOfSheet;
+ int m_topOfSheet;
+ int m_rightOfSheet; // Calculated from m_colWidths
+ int m_bottomOfSheet; // Calculated from m_rowHeights
+ int m_totalGridWidth; // Total 'virtual' size
+ int m_totalGridHeight;
+ int m_viewHeight; // Number of rows displayed
+ int m_viewWidth; // Number of columns displayed
+ int m_cellHeight; // For now, a default
+ int m_verticalLabelWidth;
+ int m_horizontalLabelHeight;
+ int m_verticalLabelAlignment;
+ int m_horizontalLabelAlignment;
+ int m_cellAlignment;
+ short* m_colWidths; // Dynamically allocated
+ short* m_rowHeights; // Dynamically allocated
+ int m_scrollWidth; // Vert. scroll width, horiz. scroll height
+
+ // Colours
+ wxColour m_cellTextColour;
+ wxColour m_cellBackgroundColour;
+ wxFont m_cellTextFont;
+ wxColour m_labelTextColour;
+ wxColour m_labelBackgroundColour;
+ wxBrush m_labelBackgroundBrush;
+ wxFont m_labelTextFont;
+ wxPen m_divisionPen;
+ wxPen m_highlightPen;
+ wxBitmap* m_doubleBufferingBitmap;
+
+ // Position of Edit control
+ wxRect m_editControlPosition;
+
+ // Drag status
+ int m_dragStatus;
+ int m_dragRowOrCol;
+ int m_dragStartPosition;
+ int m_dragLastPosition;
+ wxCursor m_horizontalSashCursor;
+ wxCursor m_verticalSashCursor;
+
+ // To avoid multiple refreshes, use Begin/EndBatch
+ int m_batchCount;
+
+ DECLARE_EVENT_TABLE()
+};
+
+#define wxGRID_TEXT_CTRL 2000
+#define wxGRID_HSCROLL 2001
+#define wxGRID_VSCROLL 2002
+#define wxGRID_EDIT_IN_PLACE_TEXT_CTRL 2003
+
+class WXDLLEXPORT wxGridCell : public wxObject
+{
+public:
+ wxString textValue;
+ wxFont font;
+ wxColour textColour;
+ wxColour backgroundColour;
+ wxBrush backgroundBrush;
+ wxBitmap* cellBitmap;
+ void* cellData; // intended for additional data associated with a cell
+ int alignment;
+
+ wxGridCell(wxGenericGrid *window = (wxGenericGrid *) NULL);
+ ~wxGridCell();
+
+ virtual wxString& GetTextValue() const { return (wxString&) textValue; }
+ virtual void SetTextValue(const wxString& str) { textValue = str; }
+ wxFont& GetFont() const { return (wxFont&) font; }
+ void SetFont(const wxFont& f) { font = f; }
+ wxColour& GetTextColour() const { return (wxColour&) textColour; }
+ void SetTextColour(const wxColour& colour) { textColour = colour; }
+ wxColour& GetBackgroundColour() const { return (wxColour&) backgroundColour; }
+ void SetBackgroundColour(const wxColour& colour);
+ wxBrush& GetBackgroundBrush() const { return (wxBrush&) backgroundBrush; }
+ void SetBackgroundBrush(const wxBrush& brush) { backgroundBrush = brush; }
+ int GetAlignment() const { return alignment; }
+ void SetAlignment(int align) { alignment = align; }
+ wxBitmap *GetCellBitmap() const { return cellBitmap; }
+ void SetCellBitmap(wxBitmap *bitmap) { cellBitmap = bitmap; }
+
+ void *SetCellData(void *data) { void *rc = cellData; cellData = data; return rc; }
+ void *GetCellData() const { return cellData; }
+};
+
+class WXDLLEXPORT wxGrid : public wxGenericGrid
+{
+public:
+ wxGrid() : wxGenericGrid() { }
+ wxGrid(wxWindow *parent, int x=-1, int y=-1, int width=-1, int height=-1,
+ long style=0, char *name = "gridWindow")
+ : wxGenericGrid(parent, x, y, width, height, style, name)
+ {
+ }
+ wxGrid(wxWindow *parent, wxWindowID id, const wxPoint& pos,
+ const wxSize& size, long style = 0, const wxString& name = "grid")
+ : wxGenericGrid(parent, id, pos, size, style, name)
+ {
+ }
+
+};
+
+class WXDLLEXPORT wxGridEvent : public wxCommandEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxGridEvent)
+
+public:
+ wxGridEvent()
+ : wxCommandEvent(), m_row(-1), m_col(-1), m_x(-1), m_y(-1),
+ m_control(0), m_shift(0), m_cell(0)
+ {
+ }
+
+ wxGridEvent(int id, wxEventType type, wxObject* obj,
+ int row=-1, int col=-1, int x=-1, int y=-1,
+ bool control=FALSE, bool shift=FALSE)
+ : wxCommandEvent(type, id), m_row(row), m_col(col), m_x(x), m_y(y),
+ m_control(control), m_shift(shift), m_cell(0)
+ {
+ SetEventObject(obj);
+ }
+
+//private:
+ int m_row;
+ int m_col;
+ int m_x;
+ int m_y;
+ bool m_control;
+ bool m_shift;
+ wxGridCell* m_cell;
+
+ int GetRow() const { return m_row; }
+ int GetCol() const { return m_col; }
+ wxPoint GetPosition() const { return wxPoint( m_x, m_y ); }
+ wxGridCell* GetCell() const { return m_cell; }
+ bool ControlDown() const { return m_control; }
+ bool ShiftDown() const { return m_shift; }
+};
+
+const wxEventType wxEVT_GRID_SELECT_CELL = wxEVT_FIRST + 1575;
+const wxEventType wxEVT_GRID_CREATE_CELL = wxEVT_FIRST + 1576;
+const wxEventType wxEVT_GRID_CHANGE_LABELS = wxEVT_FIRST + 1577;
+const wxEventType wxEVT_GRID_CHANGE_SEL_LABEL = wxEVT_FIRST + 1578;
+const wxEventType wxEVT_GRID_CELL_CHANGE = wxEVT_FIRST + 1579;
+const wxEventType wxEVT_GRID_CELL_LCLICK = wxEVT_FIRST + 1580;
+const wxEventType wxEVT_GRID_CELL_RCLICK = wxEVT_FIRST + 1581;
+const wxEventType wxEVT_GRID_LABEL_LCLICK = wxEVT_FIRST + 1582;
+const wxEventType wxEVT_GRID_LABEL_RCLICK = wxEVT_FIRST + 1583;
+
+
+typedef void (wxEvtHandler::*wxGridEventFunction)(wxGridEvent&);
+
+#define EVT_GRID_SELECT_CELL(fn) { wxEVT_GRID_SELECT_CELL, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CREATE_CELL(fn) { wxEVT_GRID_CREATE_CELL, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CHANGE_LABELS(fn) { wxEVT_GRID_CHANGE_LABELS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CHANGE_SEL_LABEL(fn) { wxEVT_GRID_CHANGE_SEL_LABEL, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CELL_CHANGE(fn) { wxEVT_GRID_CELL_CHANGE, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CELL_LCLICK(fn) { wxEVT_GRID_CELL_LCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CELL_RCLICK(fn) { wxEVT_GRID_CELL_RCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_LABEL_LCLICK(fn) { wxEVT_GRID_LABEL_LCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_LABEL_RCLICK(fn) { wxEVT_GRID_LABEL_RCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+
+#endif // __GRIDH_G__
+
diff --git a/include/wx/generic/helphtml.h b/include/wx/generic/helphtml.h
new file mode 100644
index 0000000000..44a5cbc4a2
--- /dev/null
+++ b/include/wx/generic/helphtml.h
@@ -0,0 +1,156 @@
+/*-*- c++ -*-********************************************************
+ * helphtml.h - base class for html based help controllers *
+ * *
+ * (C) 1999 by Karsten Ballüder (Ballueder@usa.net) *
+ * *
+ * $Id$
+ *******************************************************************/
+
+#ifndef __WX_HELPHTML_H_
+#define __WX_HELPHTML_H_
+
+#if wxUSE_HELP
+
+#ifdef __GNUG__
+# pragma interface "helphtml.h"
+#endif
+
+#include "wx/helpbase.h"
+#include "wx/frame.h"
+
+/// Name for map file.
+#define WXEXTHELP_MAPFILE "wxhelp.map"
+/// Path separator.
+#ifdef __WXMSW__
+#define WXEXTHELP_SEPARATOR '\\'
+#else
+#define WXEXTHELP_SEPARATOR '/'
+#endif
+/// Maximum line length in map file.
+#define WXEXTHELP_BUFLEN 512
+/// Character introducing comments/documentation field in map file.
+#define WXEXTHELP_COMMENTCHAR ';'
+
+class WXDLLEXPORT wxExtHelpMapList;
+
+
+/**
+ This class is the base class for all html help implementations.
+ It requires the name of a directory containing the documentation
+ and a file mapping numerical Section numbers to relative URLS.
+
+ The map file contains two or three fields per line:
+ numeric_id relative_URL [; comment/documentation]
+
+ The numeric_id is the id used to look up the entry in
+ DisplaySection()/DisplayBlock(). The relative_URL is a filename of
+ an html file, relative to the help directory. The optional
+ comment/documentation field (after a ';') is used for keyword
+ searches, so some meaningful text here does not hurt.
+ If the documentation itself contains a ';', only the part before
+ that will be displayed in the listbox, but all of it used for search.
+
+ Lines starting with ';' will be ignored.
+*/
+
+class WXDLLEXPORT wxHTMLHelpControllerBase : public wxHelpControllerBase
+{
+DECLARE_ABSTRACT_CLASS(wxHTMLHelpControllerBase)
+ public:
+ wxHTMLHelpControllerBase(void);
+ virtual ~wxHTMLHelpControllerBase(void);
+
+ /** This must be called to tell the controller where to find the
+ documentation.
+ If a locale is set, look in file/localename, i.e.
+ If passed "/usr/local/myapp/help" and the current wxLocale is
+ set to be "de", then look in "/usr/local/myapp/help/de/"
+ first and fall back to "/usr/local/myapp/help" if that
+ doesn't exist.
+
+ @param file - NOT a filename, but a directory name.
+ @return true on success
+ */
+ virtual bool Initialize(const wxString& dir, int WXUNUSED(server))
+ { return Initialize(dir); }
+
+ /** This must be called to tell the controller where to find the
+ documentation.
+ If a locale is set, look in file/localename, i.e.
+ If passed "/usr/local/myapp/help" and the current wxLocale is
+ set to be "de", then look in "/usr/local/myapp/help/de/"
+ first and fall back to "/usr/local/myapp/help" if that
+ doesn't exist.
+ @param dir - directory name where to fine the help files
+ @return true on success
+ */
+ virtual bool Initialize(const wxString& dir);
+
+ /** If file is "", reloads file given in Initialize.
+ @file Name of help directory.
+ @return true on success
+ */
+ virtual bool LoadFile(const wxString& file = "");
+
+ /** Display list of all help entries.
+ @return true on success
+ */
+ virtual bool DisplayContents(void);
+ /** Display help for id sectionNo.
+ @return true on success
+ */
+ virtual bool DisplaySection(int sectionNo);
+ /** Display help for id sectionNo -- identical with DisplaySection().
+ @return true on success
+ */
+ virtual bool DisplaySection(const wxString& section);
+ /** Display help for URL (using DisplayHelp) or keyword (using KeywordSearch)
+ @return true on success
+ */
+ virtual bool DisplayBlock(long blockNo);
+ /** Search comment/documentation fields in map file and present a
+ list to chose from.
+ @key k string to search for, empty string will list all entries
+ @return true on success
+ */
+ virtual bool KeywordSearch(const wxString& k);
+
+ /// does nothing
+ virtual bool Quit(void);
+ /// does nothing
+ virtual void OnQuit(void);
+
+ /// Call the browser using a relative URL.
+ virtual bool DisplayHelp(const wxString &) = 0;
+
+ /// Allows one to override the default settings for the help frame.
+ virtual void SetFrameParameters(const wxString& WXUNUSED(title),
+ const wxSize& WXUNUSED(size),
+ const wxPoint& WXUNUSED(pos) = wxDefaultPosition,
+ bool WXUNUSED(newFrameEachTime) = FALSE)
+ {
+ // does nothing by default
+ }
+ /// Obtains the latest settings used by the help frame and the help
+ /// frame.
+ virtual wxFrame *GetFrameParameters(wxSize *WXUNUSED(size) = NULL,
+ wxPoint *WXUNUSED(pos) = NULL,
+ bool *WXUNUSED(newFrameEachTime) = NULL)
+ {
+ return (wxFrame*) NULL;// does nothing by default
+ }
+
+ protected:
+ /// Filename of currently active map file.
+ wxString m_MapFile;
+ /// How many entries do we have in the map file?
+ int m_NumOfEntries;
+ /// A list containing all id,url,documentation triples.
+ wxList *m_MapList;
+ /// Deletes the list and all objects.
+ void DeleteList(void);
+};
+
+#endif // wxUSE_HELP
+
+#endif // __WX_HELPHTML_H_
diff --git a/include/wx/generic/helpwxht.h b/include/wx/generic/helpwxht.h
new file mode 100644
index 0000000000..62d3da59aa
--- /dev/null
+++ b/include/wx/generic/helpwxht.h
@@ -0,0 +1,75 @@
+/*-*- c++ -*-********************************************************
+ * helpwxht.h - a help controller using wxHTML *
+ * *
+ * (C) 1999 by Karsten Ballüder (Ballueder@usa.net) *
+ * *
+ * $Id$
+ *******************************************************************/
+
+#ifndef _WX_HELPWXHT_H_
+#define _WX_HELPWXHT_H_
+
+#if wxUSE_HELP
+#if wxUSE_HTML
+
+#ifdef __GNUG__
+# pragma interface "helpwxht.h"
+#endif
+
+#include "wx/generic/helphtml.h"
+
+
+/**
+ This class implements help via wxHTML.
+ It requires the name of a directory containing the documentation
+ and a file mapping numerical Section numbers to relative URLS.
+
+ The map file contains two or three fields per line:
+ numeric_id relative_URL [; comment/documentation]
+
+ The numeric_id is the id used to look up the entry in
+ DisplaySection()/DisplayBlock(). The relative_URL is a filename of
+ an html file, relative to the help directory. The optional
+ comment/documentation field (after a ';') is used for keyword
+ searches, so some meaningful text here does not hurt.
+ If the documentation itself contains a ';', only the part before
+ that will be displayed in the listbox, but all of it used for search.
+
+ Lines starting with ';' will be ignored.
+*/
+
+class WXDLLEXPORT wxHelpControllerHtml : public wxHTMLHelpControllerBase
+{
+DECLARE_CLASS(wxHelpControllerHtml)
+ public:
+ wxHelpControllerHtml(void);
+ ~wxHelpControllerHtml(void);
+
+ /// Allows one to override the default settings for the help frame.
+ virtual void SetFrameParameters(const wxString &title,
+ const wxSize &size,
+ const wxPoint &pos = wxDefaultPosition,
+ bool newFrameEachTime = FALSE);
+ /// Obtains the latest settings used by the help frame.
+ virtual wxFrame * GetFrameParameters(wxSize *size = NULL,
+ wxPoint *pos = NULL,
+ bool *newFrameEachTime = NULL);
+
+
+private:
+ /// Call the browser using a relative URL.
+ virtual bool DisplayHelp(const wxString &);
+protected:
+ friend class wxHelpFrame;
+ class wxHelpFrame *m_Frame;
+ wxString m_FrameTitle;
+ wxPoint m_FramePosition;
+ wxSize m_FrameSize;
+ bool m_NewFrameEachTime;
+ size_t m_offset;
+};
+
+#endif // wxUSE_HELP
+#endif // wxUSE_HTML
+
+#endif // _WX_HELPWXHT_H_
diff --git a/include/wx/generic/helpxlp.h b/include/wx/generic/helpxlp.h
new file mode 100644
index 0000000000..2452d92910
--- /dev/null
+++ b/include/wx/generic/helpxlp.h
@@ -0,0 +1,131 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: helpxlp.h
+// Purpose: Help system: wxHelp implementation
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __HELPXLPH__
+#define __HELPXLPH__
+
+#ifdef __GNUG__
+#pragma interface "helpxlp.h"
+#endif
+
+#include
+#include "wx/wx.h"
+
+#if wxUSE_HELP
+
+#include "wx/helpbase.h"
+
+#ifdef __WXMSW__
+ #include "wx/dde.h"
+#else
+ #include "wx/sckipc.h"
+#endif
+
+class WXDLLEXPORT wxXLPHelpController;
+
+// Connection class for implementing the connection between the
+// wxHelp process and the application
+class WXDLLEXPORT wxXLPHelpConnection: public
+
+#ifdef __WXMSW__
+ wxDDEConnection
+#else
+ wxTCPConnection
+#endif
+
+{
+ friend class wxXLPHelpController;
+
+ DECLARE_DYNAMIC_CLASS(wxXLPHelpConnection)
+
+ public:
+
+ wxXLPHelpConnection(wxXLPHelpController *instance);
+ bool OnDisconnect(void);
+
+ private:
+ wxXLPHelpController *helpInstance;
+};
+
+// Connection class for implementing the client process
+// controlling the wxHelp process
+class WXDLLEXPORT wxXLPHelpClient: public
+
+#ifdef __WXMSW__
+ wxDDEClient
+#else
+ wxTCPClient
+#endif
+
+{
+DECLARE_CLASS(wxXLPHelpClient)
+
+ friend class WXDLLEXPORT wxXLPHelpController;
+public:
+ wxXLPHelpClient(wxXLPHelpController* c) { m_controller = c; }
+
+ wxConnectionBase *OnMakeConnection(void)
+ { return new wxXLPHelpConnection(m_controller);
+ }
+protected:
+ wxXLPHelpController* m_controller;
+};
+
+// An application can have one or more instances of wxHelp,
+// represented by an object of this class.
+// Nothing happens on initial creation; the application
+// must call a member function to display help.
+// If the instance of wxHelp is already active, that instance
+// will be used for subsequent help.
+
+class WXDLLEXPORT wxXLPHelpController: public wxHelpControllerBase
+{
+ friend class WXDLLEXPORT wxXLPHelpConnection;
+ DECLARE_CLASS(wxXLPHelpController)
+
+ public:
+ wxXLPHelpController(void);
+ ~wxXLPHelpController(void);
+
+ // Must call this to set the filename and server name
+ virtual bool Initialize(const wxString& file, int server = -1);
+ // If file is "", reloads file given in Initialize
+ virtual bool LoadFile(const wxString& file = "");
+ virtual bool DisplayContents(void);
+ virtual bool DisplaySection(int sectionNo);
+ virtual bool DisplayBlock(long blockNo);
+ virtual bool KeywordSearch(const wxString& k);
+
+ virtual bool DisplaySection(const wxString& section)
+ {
+ return wxHelpControllerBase::DisplaySection(section);
+ }
+
+ virtual bool Quit(void);
+ virtual void OnQuit(void);
+
+ // Private
+ bool Run(void);
+
+ protected:
+ wxString helpFile;
+ wxString helpHost;
+ int helpServer;
+ bool helpRunning;
+ wxXLPHelpConnection* helpConnection;
+ wxXLPHelpClient helpClient;
+private:
+ virtual bool Initialize(const wxString& file) { return(wxHelpControllerBase::Initialize(file)); };
+};
+
+#endif // wxUSE_HELP
+#endif
+ // __HELPXLPH__
diff --git a/include/wx/generic/home.xpm b/include/wx/generic/home.xpm
new file mode 100644
index 0000000000..2a16ace29e
--- /dev/null
+++ b/include/wx/generic/home.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * home_xpm[] = {
+"20 20 3 1",
+" c None",
+". c #000000000000",
+"X c #FFFFFFFFFFFF",
+" ",
+" ",
+" .. ",
+" . .... ",
+" . .XX . ",
+" . .XXXX . ",
+" ..XXXXXX . ",
+" .XXXXXXXX . ",
+" .XXXXXXXXX . ",
+" ...XXXXXXXX ... ",
+" .XXXXXXXX . ",
+" .XXX...XX . ",
+" .XXX. .XX . ",
+" .XXX. .XX . ",
+" .XXX. .XX . ",
+" .XXX. .XX . ",
+" ..... ...... ",
+" ",
+" ",
+" "};
diff --git a/include/wx/generic/info.xpm b/include/wx/generic/info.xpm
new file mode 100644
index 0000000000..8fb53a9db8
--- /dev/null
+++ b/include/wx/generic/info.xpm
@@ -0,0 +1,210 @@
+/* XPM */
+static char * info_xpm[] = {
+"48 48 159 2",
+" c None",
+". c #12165C",
+"+ c #9E9EC4",
+"@ c #565294",
+"# c #2E3274",
+"$ c #1A227C",
+"% c #16229C",
+"& c #262274",
+"* c #362E8C",
+"= c #262A9C",
+"- c #121E7C",
+"; c #1A2AAC",
+"> c #162284",
+", c #262EA4",
+"' c #2A2A84",
+") c #1E1E6C",
+"! c #3E3A84",
+"~ c #7A72B4",
+"{ c #121E74",
+"] c #1E2284",
+"^ c #2A2E9C",
+"/ c #362E9C",
+"( c #D2D2E4",
+"_ c #62669C",
+": c #1E269C",
+"< c #1A2AB4",
+"[ c #6A6EAC",
+"} c #121A6C",
+"| c #2E2A84",
+"1 c #26268C",
+"2 c #3E328C",
+"3 c #322E9C",
+"4 c #B6B6CC",
+"5 c #1626AC",
+"6 c #1E268C",
+"7 c #2E267C",
+"8 c #363294",
+"9 c #1A2694",
+"0 c #22226C",
+"a c #26267C",
+"b c #2E2A9C",
+"c c #1A1E7C",
+"d c #222A9C",
+"e c #162294",
+"f c #1E2EBC",
+"g c #2A2EAC",
+"h c #6A6A9C",
+"i c #2E2A94",
+"j c #CACADC",
+"k c #1A1A64",
+"l c #16269C",
+"m c #262AAC",
+"n c #161E8C",
+"o c #464294",
+"p c #8286C4",
+"q c #1A1E64",
+"r c #222AB4",
+"s c #6A6EB4",
+"t c #1A1A6C",
+"u c #BABAD4",
+"v c #1E2694",
+"w c #121A64",
+"x c #2E2E94",
+"y c #3A2E8C",
+"z c #2A2A9C",
+"A c #161E7C",
+"B c #1A2284",
+"C c #262A94",
+"D c #2E2E9C",
+"E c #36329C",
+"F c #FEFEFC",
+"G c #666AA4",
+"H c #1E2AB4",
+"I c #161A6C",
+"J c #322A84",
+"K c #2A267C",
+"L c #262EB4",
+"M c #1A269C",
+"N c #1E2274",
+"O c #1E2AA4",
+"P c #221E6C",
+"Q c #423E8C",
+"R c #222284",
+"S c #E6E6EC",
+"T c #22269C",
+"U c #6E6EA4",
+"V c #3232A4",
+"W c #BAB6D4",
+"X c #1A26AC",
+"Y c #222684",
+"Z c #3A328C",
+"` c #22227C",
+" . c #222AAC",
+".. c #222EB4",
+"+. c #8A86BC",
+"@. c #1A1E74",
+"#. c #161A5C",
+"$. c #322E8C",
+"%. c #3A329C",
+"&. c #A29ECC",
+"*. c #26227C",
+"=. c #362E94",
+"-. c #262AA4",
+";. c #121E84",
+">. c #16228C",
+",. c #262EAC",
+"'. c #2A2A8C",
+"). c #1E1E74",
+"!. c #7A76B4",
+"~. c #161E74",
+"{. c #1E228C",
+"]. c #2A2EA4",
+"^. c #6266A4",
+"/. c #1E26A4",
+"(. c #1A2ABC",
+"_. c #121A74",
+":. c #2E2A8C",
+"<. c #262694",
+"[. c #3E3294",
+"}. c #322EA4",
+"|. c #B6B6D4",
+"1. c #222274",
+"2. c #262684",
+"3. c #222AA4",
+"4. c #1A2294",
+"5. c #2E2EAC",
+"6. c #6E6AA4",
+"7. c #322A94",
+"8. c #1626A4",
+"9. c #8E8ABC",
+"0. c #4A429C",
+"a. c #6E6EBC",
+"b. c #222694",
+"c. c #2A2A94",
+"d. c #1A1E6C",
+"e. c #BABADC",
+"f. c #3A2E94",
+"g. c #2A2AA4",
+"h. c #161E84",
+"i. c #1A228C",
+"j. c #2E2EA4",
+"k. c #3632A4",
+"l. c #666AAC",
+"m. c #1E2ABC",
+"n. c #161A74",
+"o. c #322A8C",
+"p. c #2A2684",
+"q. c #1A26A4",
+"r. c #1E227C",
+"s. c #1E2AAC",
+"t. c #423E94",
+"u. c #E6E6F4",
+"v. c #6E6EAC",
+"w. c #1A26B4",
+"x. c #22268C",
+"y. c #3A3294",
+"z. c #222EBC",
+"A. c #161A64",
+"B. c #322E94",
+" ",
+" ",
+" ",
+" ",
+" 7 7 7 7 7 7 7 7 & ",
+" 2 2 2 2 2 2 y y y f.f.[.y 7 *. ",
+" J y 2 2 2 2 2 [.[.[.[.y.=.=.f.=./ B.p. ",
+" 2 2 2 2 [.2 [.[.f.y y y * * =.=.B./ B.3 o.*.*. ",
+" y 2 2 [.2 [.2 2 y [.[.f.f.o.* $.$.B.B.7.D 3 D }.D ",
+" 2 2 [.[.2 [.2 [.f.[.y ~ ( F F W 0.$.:.i x 7.3 D D <.R ",
+" y 2 [.[.[.2 [.2 2 y y ~ F F F F F u.o :.:.c.c.b b D }.}.g. ",
+" 2 [.[.2 [.2 [.2 [.y 2 Z ( F F F F F F +.7 '.:.:.i D b ].].z R ",
+" y 2 2 [.[.[.[.[.2 f.y y y F F F F F F F |.p.p.'.'.<.z z g.].].5.m ",
+" 2 2 [.t.[.[.2 2 2 f.2 f.* * u.F F F F F F + *.2.2.C '.c.z ^ ].g m = n ",
+" y 2 [.2 [.[.[.[.2 f.2 f.* * &.F F F F F F @ a *.2.2.C C z = g.].,.g. . ",
+" 2 2 [.[.[.[.[.2 [.[.[.f.* o.J $.u F F F u.U 1.0 Y *.2.1 <.C ^ -.m g.L = n ",
+" 2 2 2 [.2 t.[.[.f.[.Z y.* $.J 7 | Q U 6.P 1.P P ` ` 2.1 <.= = , ,.,.m m . ",
+" 2 [.[.[.[.[.[.2 f.2 f.f.* =.o.:.| K & & 0 0 P N 1.1.` R 2.d <.= -.-.m ..../.n ",
+" 2 2 [.2 [.2 [.[.[.[.y.=.=.* o.:.p.K ! 6.h 4 4 ) ) ).r.6 Y b.= = , ,.,.m ..r r ",
+" [.2 t.[.[.[.[.[.f.y.8 y.* B.9.W S F F F F F F ) ) N 1.R R x.b.= 3.m m ..m ..s. ",
+" 7 [.2 [.2 [.[.[.[.[.f.=.=.=.o.e.F F F F F F F F ) ) ).N R x.b.T 3.3. .m ..r H m.H ",
+" 2 [.[.[.[.[.[.[.[.f.%.=.=.$.B.:.o W F F F F F F k q N r.] R b.d T , . .r ....s.n ",
+" y 2 2 [.[.[.[.[.%.f.%.=.=.B.$.:.'.v.F F F F F F t k ) N ] 6 x.d T 3... .H r H m.< ",
+" 2 [.[.[.[.[.[.%.y.%.=.E / 7.7.p.p.v.F F F F F F q d.t @.r.R v T O . .....f r X n ",
+" y 2 2 [.[.[.[.%.=.%.=.B.B.x B.:.| v.F F F F F F k d.d.c $ {.6 T d O .r r f f m.(. ",
+" 2 [.[.[.[.[.%.%.%./ E / 3 7.i '.2.v.F F F F F F A.A.t @.r.] b.: /. .s.H H H m.5 ;. ",
+" J 2 [.[.[.[.f.%.8 / E 8 3 i i :.p.v.F F F F F F k A.d.~.$ B 6 : : /.s.H m.m.f (.(. ",
+" [.[.[.%.[.%.%./ f.E / 3 3 B.i p.1 v.F F F F F F . A.I @.c {.{.: O s. .H H m.(.w.;. ",
+" 7 [.[.%.f.%.%.E / V =.3 D D ^ '.1 v.F F F F F F #.A.I @.A i.9 : O s.s.H f m.(.(.w. ",
+" [.[.[.[.%.%.E E E / 3 3 7.i i c.2.v.F F F F F F . . A.~.c B {.M /.X H H (.(.(.w.;. ",
+" [.%.%./ %.f./ V 3 3 D D c.c.<.Y v.F F F F F F #.A.A.~.A B 4.9 /.X ; < f f (.(. ",
+" %.f.E %./ k.k./ V }.}.D D c.'.1 [ F F F F F F . . } I c >.i.M q.; H < (.(.(.5 ",
+" J f.k.E E E / / 3 V 3 D b z 1 x.v.F F F F F F #.. A.} c B 4.M /.X < (.(.(.(.(. ",
+" %.%.%.E / V }.V D j.z z c.C 1 [ F F F F F F . A.} ~.A h.4.4.q.; w.(.(.(.5 ",
+" 7 k./ V / V D }.j.j.^ z z <.x.[ F F F F F F . . . _.A h.4.% q.; 5 w.w.(.(. ",
+" / k./ V }.}.j.j.j.b z C C R l.F F F F F F . } I ~.A >.e M 5 5 (.(.(.5 ",
+" 7 V 3 V V V }.j.].].g.= C <.s F F F F F F # w } n.A >.e 4.X 5 < (.w.(. ",
+" / k.}.}.j.j.j.j.g.z = a.p u.F F F F F F j _ _ - - n e 8.5 5 w.w.5 ",
+" V V j.j.j.].].].z = F F F F F F F F F F F F n.;.n e % X 5 (.(. ",
+" j.V j.j.j.].-.-.<.a.a.s [ l.G G _ _ _ ^.^.- h.e % 8.5 < 5 ",
+" 5.].g j.]., , d T b.{.{.c A ~._.} } _.n.;.;.e % % 5 5 ",
+" 5.j.].g g.-.-.d : v i.> A A ~._.- - - >.e e % 5 % ",
+" g g.g -., 3.d : v v i.B h.A n.h.;.;.;.n % 8.% ",
+" -.,. .-.3.T : 4.{.>.>.>.>.;.>.n % % % ",
+" 3.-.3.3.O M 4.4.i.n e n e e e ",
+" : : : /.4.% e n ;. ",
+" ",
+" "};
diff --git a/include/wx/generic/listview.xpm b/include/wx/generic/listview.xpm
new file mode 100644
index 0000000000..5cc4ba1c8d
--- /dev/null
+++ b/include/wx/generic/listview.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * listview_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+"@ c #000083",
+"# c #838183",
+" ",
+" ",
+" ................ ",
+" .++++++++++++++. ",
+" .+@@+++++@@++++. ",
+" .+@+@+.#+@+@+.+. ",
+" .+@@@++++@@@+++. ",
+" .++++++++++++++. ",
+" .++++++++++++++. ",
+" .+@@+++++@@++++. ",
+" .+@+@+.#+@+@+.+. ",
+" .+@@@++++@@@+++. ",
+" .++++++++++++++. ",
+" .++++++++++++++. ",
+" .+@@+++++@@++++. ",
+" .+@+@+.#+@+@+.+. ",
+" .+@@@++++@@@+++. ",
+" ................ ",
+" ",
+" "};
diff --git a/include/wx/generic/new_dir.xpm b/include/wx/generic/new_dir.xpm
new file mode 100644
index 0000000000..86a1085e53
--- /dev/null
+++ b/include/wx/generic/new_dir.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char *new_dir_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 20 16 1",
+" c Gray0",
+". c #800000",
+"X c #008000",
+"o c #808000",
+"O c #000080",
+"+ c #800080",
+"@ c #008080",
+"# c None",
+"$ c #808080",
+"% c Red",
+"& c Green",
+"* c Yellow",
+"= c Blue",
+"- c Magenta",
+"; c Cyan",
+": c Gray100",
+/* pixels */
+"####################",
+"####################",
+"############# ######",
+"####################",
+"############# ######",
+"########## ##### ###",
+"##### ## # # ####",
+"#### *:*: ## # #####",
+"### ## # ##",
+"### :*:*:*:*: #####",
+"### *:*:*:*:* # ####",
+"### :*:*:*:*: ## ###",
+"### *:*:*:*:* ######",
+"### :*:*:*:*: ######",
+"### *:*:*:*:* ######",
+"### ######",
+"####################",
+"####################",
+"####################",
+"####################"
+};
diff --git a/include/wx/generic/plot.h b/include/wx/generic/plot.h
new file mode 100644
index 0000000000..a929055c57
--- /dev/null
+++ b/include/wx/generic/plot.h
@@ -0,0 +1,381 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: plot.h
+// Purpose: wxPlotWindow
+// Author: Robert Roebling
+// Modified by:
+// Created: 12/1/2000
+// Copyright: (c) Robert Roebling
+// RCS-ID: $Id$
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PLOT_H_
+#define _WX_PLOT_H_
+
+#ifdef __GNUG__
+#pragma interface "plot.h"
+#endif
+
+#include "wx/defs.h"
+
+#if wxUSE_PLOT
+
+#include "wx/scrolwin.h"
+#include "wx/event.h"
+#include "wx/dynarray.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotEvent;
+class WXDLLEXPORT wxPlotCurve;
+class WXDLLEXPORT wxPlotValues;
+class WXDLLEXPORT wxPlotArea;
+class WXDLLEXPORT wxPlotXAxisArea;
+class WXDLLEXPORT wxPlotYAxisArea;
+class WXDLLEXPORT wxPlotWindow;
+
+//-----------------------------------------------------------------------------
+// consts
+//-----------------------------------------------------------------------------
+
+#define wxPLOT_X_AXIS 0x0004
+#define wxPLOT_Y_AXIS 0x0008
+#define wxPLOT_BUTTON_MOVE 0x0010
+#define wxPLOT_BUTTON_ZOOM 0x0020
+#define wxPLOT_BUTTON_ENLARGE 0x0040
+
+#define wxPLOT_BUTTON_ALL (wxPLOT_BUTTON_MOVE|wxPLOT_BUTTON_ZOOM|wxPLOT_BUTTON_ENLARGE)
+#define wxPLOT_DEFAULT (wxPLOT_X_AXIS|wxPLOT_Y_AXIS | wxPLOT_BUTTON_ALL)
+
+//-----------------------------------------------------------------------------
+// wxPlotEvent
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotEvent: public wxNotifyEvent
+{
+public:
+ wxPlotEvent( wxEventType commandType = wxEVT_NULL, int id = 0 );
+
+ wxPlotCurve *GetCurve()
+ { return m_curve; }
+ void SetCurve( wxPlotCurve *curve )
+ { m_curve = curve; }
+
+ double GetZoom()
+ { return m_zoom; }
+ void SetZoom( double zoom )
+ { m_zoom = zoom; }
+
+ wxInt32 GetPosition()
+ { return m_position; }
+ void SetPosition( wxInt32 pos )
+ { m_position = pos; }
+
+private:
+ wxPlotCurve *m_curve;
+ double m_zoom;
+ wxInt32 m_position;
+};
+
+//-----------------------------------------------------------------------------
+// wxPlotCurve
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotCurve: public wxObject
+{
+public:
+ wxPlotCurve( int offsetY, double startY, double endY );
+
+ virtual wxInt32 GetStartX() = 0;
+ virtual wxInt32 GetEndX() = 0;
+
+ virtual double GetY( wxInt32 x ) = 0;
+
+ void SetStartY( double startY )
+ { m_startY = startY; }
+ double GetStartY()
+ { return m_startY; }
+ void SetEndY( double endY )
+ { m_endY = endY; }
+ double GetEndY()
+ { return m_endY; }
+ void SetOffsetY( int offsetY )
+ { m_offsetY = offsetY; }
+ int GetOffsetY()
+ { return m_offsetY; }
+
+ void SetPenNormal( const wxPen &pen )
+ { m_penNormal = pen; }
+ void SetPenSelected( const wxPen &pen )
+ { m_penSelected = pen; }
+
+private:
+ int m_offsetY;
+ double m_startY;
+ double m_endY;
+ wxPen m_penNormal;
+ wxPen m_penSelected;
+
+ DECLARE_ABSTRACT_CLASS(wxPlotCurve)
+};
+
+//-----------------------------------------------------------------------------
+// wxPlotOnOffCurve
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotOnOff
+{
+public:
+ wxPlotOnOff() { }
+
+ wxInt32 m_on;
+ wxInt32 m_off;
+ void *m_clientData;
+};
+
+WX_DECLARE_EXPORTED_OBJARRAY(wxPlotOnOff, wxArrayPlotOnOff);
+
+class WXDLLEXPORT wxPlotOnOffCurve: public wxObject
+{
+public:
+ wxPlotOnOffCurve( int offsetY );
+
+ wxInt32 GetStartX()
+ { return m_minX; }
+ wxInt32 GetEndX()
+ { return m_maxX; }
+
+ void SetOffsetY( int offsetY )
+ { m_offsetY = offsetY; }
+ int GetOffsetY()
+ { return m_offsetY; }
+
+ void Add( wxInt32 on, wxInt32 off, void *clientData = NULL );
+ size_t GetCount();
+
+ wxInt32 GetOn( size_t index );
+ wxInt32 GetOff( size_t index );
+ void* GetClientData( size_t index );
+ wxPlotOnOff *GetAt( size_t index );
+
+ virtual void DrawOnLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end, void *clientData );
+ virtual void DrawOffLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end );
+
+private:
+ int m_offsetY;
+ wxInt32 m_minX;
+ wxInt32 m_maxX;
+
+ wxArrayPlotOnOff m_marks;
+
+ DECLARE_CLASS(wxPlotOnOffCurve)
+};
+
+//-----------------------------------------------------------------------------
+// wxPlotArea
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotArea: public wxWindow
+{
+public:
+ wxPlotArea() {}
+ wxPlotArea( wxPlotWindow *parent );
+
+ void OnPaint( wxPaintEvent &event );
+ void OnMouse( wxMouseEvent &event );
+
+ void DrawCurve( wxDC *dc, wxPlotCurve *curve, int from = -1, int to = -1 );
+ void DrawOnOffCurve( wxDC *dc, wxPlotOnOffCurve *curve, int from = -1, int to = -1 );
+ void DeleteCurve( wxPlotCurve *curve, int from = -1, int to = -1 );
+
+ virtual void ScrollWindow( int dx, int dy, const wxRect *rect );
+
+private:
+ wxPlotWindow *m_owner;
+ bool m_zooming;
+
+ DECLARE_CLASS(wxPlotArea)
+ DECLARE_EVENT_TABLE()
+};
+
+//-----------------------------------------------------------------------------
+// wxPlotXAxisArea
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotXAxisArea: public wxWindow
+{
+public:
+ wxPlotXAxisArea() {}
+ wxPlotXAxisArea( wxPlotWindow *parent );
+
+ void OnPaint( wxPaintEvent &event );
+ void OnMouse( wxMouseEvent &event );
+
+private:
+ wxPlotWindow *m_owner;
+
+ DECLARE_CLASS(wxPlotXAxisArea)
+ DECLARE_EVENT_TABLE()
+};
+
+//-----------------------------------------------------------------------------
+// wxPlotYAxisArea
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotYAxisArea: public wxWindow
+{
+public:
+ wxPlotYAxisArea() {}
+ wxPlotYAxisArea( wxPlotWindow *parent );
+
+ void OnPaint( wxPaintEvent &event );
+ void OnMouse( wxMouseEvent &event );
+
+private:
+ wxPlotWindow *m_owner;
+
+ DECLARE_CLASS(wxPlotYAxisArea)
+ DECLARE_EVENT_TABLE()
+};
+
+//-----------------------------------------------------------------------------
+// wxPlotWindow
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotWindow: public wxScrolledWindow
+{
+public:
+ wxPlotWindow() {}
+ wxPlotWindow( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, int flags = wxPLOT_DEFAULT );
+ ~wxPlotWindow();
+
+ // curve accessors
+ // ---------------
+
+ void Add( wxPlotCurve *curve );
+ void Delete( wxPlotCurve* curve );
+
+ size_t GetCount();
+ wxPlotCurve *GetAt( size_t n );
+
+ void SetCurrent( wxPlotCurve* current );
+ wxPlotCurve *GetCurrent();
+
+ // mark list accessors
+ // -------------------
+
+ void Add( wxPlotOnOffCurve *curve );
+ void Delete( wxPlotOnOffCurve* curve );
+
+ size_t GetOnOffCurveCount();
+ wxPlotOnOffCurve *GetOnOffCurveAt( size_t n );
+
+ // vertical representation
+ // -----------------------
+
+ void Move( wxPlotCurve* curve, int pixels_up );
+ void Enlarge( wxPlotCurve *curve, double factor );
+
+ // horizontal representation
+ // -------------------------
+
+ void SetUnitsPerValue( double upv );
+ double GetUnitsPerValue()
+ { return m_xUnitsPerValue; }
+
+ void SetZoom( double zoom );
+ double GetZoom()
+ { return m_xZoom; }
+
+ // options
+ // -------
+
+ void SetScrollOnThumbRelease( bool scrollOnThumbRelease = TRUE )
+ { m_scrollOnThumbRelease = scrollOnThumbRelease; }
+ bool GetScrollOnThumbRelease()
+ { return m_scrollOnThumbRelease; }
+
+ void SetEnlargeAroundWindowCentre( bool enlargeAroundWindowCentre = TRUE )
+ { m_enlargeAroundWindowCentre = enlargeAroundWindowCentre; }
+ bool GetEnlargeAroundWindowCentre()
+ { return m_enlargeAroundWindowCentre; }
+
+ // events (may be overridden)
+ // --------------------------
+
+ void OnMoveUp( wxCommandEvent& event );
+ void OnMoveDown( wxCommandEvent& event );
+
+ void OnEnlarge( wxCommandEvent& event );
+ void OnShrink( wxCommandEvent& event );
+ void OnZoomIn( wxCommandEvent& event );
+ void OnZoomOut( wxCommandEvent& event );
+
+ void OnScroll2( wxScrollWinEvent& event );
+
+ // utilities
+ // ---------
+
+ void RedrawEverything();
+ void RedrawXAxis();
+ void RedrawYAxis();
+
+ void ResetScrollbar();
+
+private:
+ friend class wxPlotArea;
+ friend class wxPlotXAxisArea;
+ friend class wxPlotYAxisArea;
+
+ double m_xUnitsPerValue;
+ double m_xZoom;
+
+ wxList m_curves;
+ wxList m_onOffCurves;
+
+ wxPlotArea *m_area;
+ wxPlotXAxisArea *m_xaxis;
+ wxPlotYAxisArea *m_yaxis;
+ wxPlotCurve *m_current;
+
+ bool m_scrollOnThumbRelease;
+ bool m_enlargeAroundWindowCentre;
+
+ DECLARE_CLASS(wxPlotWindow)
+ DECLARE_EVENT_TABLE()
+};
+
+// ----------------------------------------------------------------------------
+// plot event macros
+// ----------------------------------------------------------------------------
+
+typedef void (wxEvtHandler::*wxPlotEventFunction)(wxPlotEvent&);
+
+#define EVT_PLOT(id, fn) { wxEVT_PLOT_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_SEL_CHANGING(id, fn) { wxEVT_PLOT_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_SEL_CHANGED(id, fn) { wxEVT_PLOT_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_CLICKED(id, fn) { wxEVT_PLOT_CLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_DOUBLECLICKED(id, fn) { wxEVT_PLOT_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_ZOOM_IN(id, fn) { wxEVT_PLOT_ZOOM_IN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_ZOOM_OUT(id, fn) { wxEVT_PLOT_ZOOM_OUT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_VALUE_SEL_CREATING(id, fn) { wxEVT_PLOT_VALUE_SEL_CREATING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_VALUE_SEL_CREATED(id, fn) { wxEVT_PLOT_VALUE_SEL_CREATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_VALUE_SEL_CHANGING(id, fn) { wxEVT_PLOT_VALUE_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_VALUE_SEL_CHANGED(id, fn) { wxEVT_PLOT_VALUE_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_AREA_SEL_CREATING(id, fn) { wxEVT_PLOT_AREA_SEL_CREATING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_AREA_SEL_CREATED(id, fn) { wxEVT_PLOT_AREA_SEL_CREATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_AREA_SEL_CHANGING(id, fn) { wxEVT_PLOT_AREA_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_AREA_SEL_CHANGED(id, fn) { wxEVT_PLOT_AREA_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_BEGIN_X_LABEL_EDIT(id, fn) { wxEVT_PLOT_BEGIN_X_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_END_X_LABEL_EDIT(id, fn) { wxEVT_PLOT_END_X_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_BEGIN_Y_LABEL_EDIT(id, fn) { wxEVT_PLOT_BEGIN_Y_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_END_Y_LABEL_EDIT(id, fn) { wxEVT_PLOT_END_Y_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_BEGIN_TITLE_EDIT(id, fn) { wxEVT_PLOT_BEGIN_TITLE_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+#define EVT_PLOT_END_TITLE_EDIT(id, fn) { wxEVT_PLOT_END_TITLE_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
+
+#endif // wxUSE_PLOT
+
+#endif
+ // _WX_PLOT_H_
diff --git a/include/wx/generic/plot_dwn.xpm b/include/wx/generic/plot_dwn.xpm
new file mode 100644
index 0000000000..51a59d3f16
--- /dev/null
+++ b/include/wx/generic/plot_dwn.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char *plot_dwn_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 18 8 1",
+" c Gray0",
+". c #000084",
+"X c Blue",
+"o c Green",
+"O c #848484",
+"+ c #c6c6c6",
+"@ c None",
+"# c Gray100",
+/* pixels */
+"@@.@@@@@@@@@@@@@@@@@",
+"@...@@@@@@@@@@@@@@@@",
+".@.@.@@@@@@@@@@@@@@@",
+"@@.@@@@@@@@ @@@@@@@",
+"@@.@@@@++++o +++@@@@",
+"@@.@@@@@ o @@@@@",
+"@@.@@@@@+ ooo +@@@@@",
+"@@.@@@@@@+ o +@@@@@@",
+"@@.@@@@@@@+ +@@@@@@@",
+"@@.@@@@@@@@+@@@@@@@@",
+"@@.@@....@@@@@@@@@@@",
+"@@.@.O@@@.O@@@@@@@@@",
+"@@.O.@@@@@.@@@@@@@.@",
+"@@..@@@@@@@.@@@@@.O@",
+"@@.@@@@@@@@O.@@@.O@@",
+"@@.@@@@@@@@@O...O@@@",
+"@@.@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+};
diff --git a/include/wx/generic/plot_enl.xpm b/include/wx/generic/plot_enl.xpm
new file mode 100644
index 0000000000..7e48e2c138
--- /dev/null
+++ b/include/wx/generic/plot_enl.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char *plot_enl_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 20 8 1",
+" c Gray0",
+". c #000084",
+"X c Blue",
+"o c Green",
+"O c #848484",
+"+ c #c6c6c6",
+"@ c None",
+"# c Gray100",
+/* pixels */
+"@@.@@@@@@@@@@@@@@@@@",
+"@...@@@@@@@+@@@@@@@@",
+".@.@.@@@@@+ +@@@@@@@",
+"@@.@@@@@@+ o +@@@@@@",
+"@@.@@@@@+ ooo +@@@@@",
+"@@.@@@@@ o @@@@@",
+"@@.@@@@++++o +++@@@@",
+"@@.@@....@@ @@@@@@@",
+"@@.@.O@@@.O@@@@@@@@@",
+"@@.O.@@@@@.@@@@@@@.@",
+"@@..@@@@@@@.@@@@@.O@",
+"@@.@@@@@@@@O.@@@.O@@",
+"@@.@@@@@@@@@O...O@@@",
+"@@.@@@@@@@@ @@@@@@@",
+"@@.@@@@++++o +++@@@@",
+"@@.@@@@@ o @@@@@",
+"@@.@@@@@+ ooo +@@@@@",
+"@@.@@@@@@+ o +@@@@@@",
+"@@.@@@@@@@+ +@@@@@@@",
+"@@@@@@@@@@@+@@@@@@@@",
+};
diff --git a/include/wx/generic/plot_shr.xpm b/include/wx/generic/plot_shr.xpm
new file mode 100644
index 0000000000..0918938095
--- /dev/null
+++ b/include/wx/generic/plot_shr.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char *plot_shr_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 20 8 1",
+" c Gray0",
+". c #000084",
+"X c Blue",
+"o c Green",
+"O c #848484",
+"+ c #c6c6c6",
+"@ c None",
+"# c Gray100",
+/* pixels */
+"@@.@@@@@@@@@@@@@@@@@",
+"@...@@@@@@@ @@@@@@@",
+".@.@.@@++++o +++@@@@",
+"@@.@@@@@ o @@@@@",
+"@@.@@@@@+ ooo +@@@@@",
+"@@.@@@@@@+ o +@@@@@@",
+"@@.@@@@@@@+ +@@@@@@@",
+"@@.@@....@@+@@@@@@@@",
+"@@.@.O@@@.O@@@@@@@@@",
+"@@.O.@@@@@.@@@@@@@.@",
+"@@..@@@@@@@.@@@@@.O@",
+"@@.@@@@@@@@O.@@@.O@@",
+"@@.@@@@@@@@+O...O@@@",
+"@@.@@@@@@@+ +@@@@@@@",
+"@@.@@@@@@+ o +@@@@@@",
+"@@.@@@@@+ ooo +@@@@@",
+"@@.@@@@@ o @@@@@",
+"@@.@@@@++++o +++@@@@",
+"@@.@@@@@@@@ @@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+};
diff --git a/include/wx/generic/plot_up.xpm b/include/wx/generic/plot_up.xpm
new file mode 100644
index 0000000000..cafdb0b07b
--- /dev/null
+++ b/include/wx/generic/plot_up.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char *plot_up_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 18 8 1",
+" c Gray0",
+". c #000084",
+"X c Blue",
+"o c Green",
+"O c #848484",
+"+ c #c6c6c6",
+"@ c None",
+"# c Gray100",
+/* pixels */
+"@@.@@@@@@@@@@@@@@@@@",
+"@...@@@@@@@@@@@@@@@@",
+".@.@.@@@@@@@@@@@@@@@",
+"@@.@@@@@@@@+@@@@@@@@",
+"@@.@@@@@@@+ +@@@@@@@",
+"@@.@@@@@@+ o +@@@@@@",
+"@@.@@@@@+ ooo +@@@@@",
+"@@.@@@@@ o @@@@@",
+"@@.@@@@++++o +++@@@@",
+"@@.@@@@@@@@ @@@@@@@",
+"@@.@@....@@@@@@@@@@@",
+"@@.@.O@@@.O@@@@@@@@@",
+"@@.O.@@@@@.@@@@@@@.@",
+"@@..@@@@@@@.@@@@@.O@",
+"@@.@@@@@@@@O.@@@.O@@",
+"@@.@@@@@@@@@O...O@@@",
+"@@.@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+};
diff --git a/include/wx/generic/plot_zin.xpm b/include/wx/generic/plot_zin.xpm
new file mode 100644
index 0000000000..27aabe85df
--- /dev/null
+++ b/include/wx/generic/plot_zin.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char *plot_zin_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 18 8 1",
+" c Gray0",
+". c #000084",
+"X c Blue",
+"o c Green",
+"O c #848484",
+"+ c #c6c6c6",
+"@ c None",
+"# c Gray100",
+/* pixels */
+"@@.@@@@@@@@@@@@@@@@@",
+"@...@@@@@@@@@@@@@@@@",
+".@.@.@@@@+@@@@+@@@@@",
+"@@.@@@@+ +@@@@+ +@@@",
+"@@.@@@+ +@@@@+ +@@",
+"@@.@@+ o +@@@@+ o +@",
+"@@.@+ oooo @@ oooo +",
+"@@.@@+ o @@ o +@",
+"@@.@@@+ +@@@@+ +@@",
+"@@.@@@@+ +@@@@+ +@@@",
+"@@.@@....+@@@@+@@@@@",
+"@@.@.O@@@.O@@@@@@@@@",
+"@@.O.@@@@@.@@@@@@@.@",
+"@@..@@@@@@@.@@@@@.O@",
+"@@.@@@@@@@@O.@@@.O@@",
+"@@.@@@@@@@@@O...O@@@",
+"@@.@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+};
diff --git a/include/wx/generic/plot_zot.xpm b/include/wx/generic/plot_zot.xpm
new file mode 100644
index 0000000000..d3a34d141f
--- /dev/null
+++ b/include/wx/generic/plot_zot.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char *plot_zot_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"20 18 8 1",
+" c Gray0",
+". c #000084",
+"X c Blue",
+"o c Green",
+"O c #848484",
+"+ c #c6c6c6",
+"@ c None",
+"# c Gray100",
+/* pixels */
+"@@.@@@@@@@@@@@@@@@@@",
+"@...@@@@@@@@@@@@@@@@",
+".@.@.@+@@@@@@@@@@+@@",
+"@@.@@@+ +@@@@@@+ +@@",
+"@@.@@@+ +@@@@+ +@@",
+"@@.@@@+ o +@@+ o +@@",
+"@@.@@ oooo ++ oooo @",
+"@@.@@ o +@@+ o @",
+"@@.@@@+ +@@@@+ +@@",
+"@@.@@@+ +@@@@@@+ +@@",
+"@@.@@....@@@@@@@@+@@",
+"@@.@.O@@@.O@@@@@@@@@",
+"@@.O.@@@@@.@@@@@@@.@",
+"@@..@@@@@@@.@@@@@.O@",
+"@@.@@@@@@@@O.@@@.O@@",
+"@@.@@@@@@@@@O...O@@@",
+"@@.@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+};
diff --git a/include/wx/generic/question.xpm b/include/wx/generic/question.xpm
new file mode 100644
index 0000000000..da37081123
--- /dev/null
+++ b/include/wx/generic/question.xpm
@@ -0,0 +1,216 @@
+/* XPM */
+static char * question_xpm[] = {
+"48 48 165 2",
+" c None",
+". c #000000",
+"+ c #080808",
+"@ c #2A2A2A",
+"# c #434343",
+"$ c #545454",
+"% c #626262",
+"& c #6A6A6A",
+"* c #6E6E6E",
+"= c #424242",
+"- c #525252",
+"; c #898989",
+"> c #DCDCDC",
+", c #E5E5E5",
+"' c #EDEDED",
+") c #F4F4F4",
+"! c #F9F9F9",
+"~ c #FCFCFC",
+"{ c #FFFFFF",
+"] c #888888",
+"^ c #4F4F4F",
+"/ c #050505",
+"( c #0F0F0F",
+"_ c #9C9C9C",
+": c #E6E6E6",
+"< c #9B9B9B",
+"[ c #1F1F1F",
+"} c #A1A1A1",
+"| c #E3E3E3",
+"1 c #4D4D4D",
+"2 c #D6D6D6",
+"3 c #ECECEC",
+"4 c #D9D9D9",
+"5 c #C6C6C6",
+"6 c #B0B0B0",
+"7 c #848484",
+"8 c #D3D3D3",
+"9 c #010101",
+"0 c #8B8B8B",
+"a c #F2F2F2",
+"b c #F3F3F3",
+"c c #A6A6A6",
+"d c #5E5E5E",
+"e c #2F2F2F",
+"f c #272727",
+"g c #202020",
+"h c #4E4E4E",
+"i c #8A8A8A",
+"j c #0B0B0B",
+"k c #B6B6B6",
+"l c #5D5D5D",
+"m c #131313",
+"n c #9A9A9A",
+"o c #C9C9C9",
+"p c #878787",
+"q c #0A0A0A",
+"r c #373737",
+"s c #DADADA",
+"t c #B4B4B4",
+"u c #B1B1B1",
+"v c #030303",
+"w c #767676",
+"x c #FDFDFD",
+"y c #FAFAFA",
+"z c #383838",
+"A c #F8F8F8",
+"B c #AFAFAF",
+"C c #070707",
+"D c #818181",
+"E c #555555",
+"F c #BDBDBD",
+"G c #7D7D7D",
+"H c #3C3C3C",
+"I c #F6F6F6",
+"J c #535353",
+"K c #242424",
+"L c #ABABAB",
+"M c #393939",
+"N c #BBBBBB",
+"O c #EAEAEA",
+"P c #A3A3A3",
+"Q c #4B4B4B",
+"R c #616161",
+"S c #CFCFCF",
+"T c #060606",
+"U c #EFEFEF",
+"V c #B9B9B9",
+"W c #303030",
+"X c #161616",
+"Y c #2C2C2C",
+"Z c #C0C0C0",
+"` c #2E2E2E",
+" . c #858585",
+".. c #E4E4E4",
+"+. c #1C1C1C",
+"@. c #D4D4D4",
+"#. c #828282",
+"$. c #C7C7C7",
+"%. c #3A3A3A",
+"&. c #090909",
+"*. c #151515",
+"=. c #8E8E8E",
+"-. c #F7F7F7",
+";. c #C4C4C4",
+">. c #EBEBEB",
+",. c #CECECE",
+"'. c #3D3D3D",
+"). c #676767",
+"!. c #F1F1F1",
+"~. c #FBFBFB",
+"{. c #353535",
+"]. c #212121",
+"^. c #EEEEEE",
+"/. c #444444",
+"(. c #DEDEDE",
+"_. c #020202",
+":. c #6B6B6B",
+"<. c #E1E1E1",
+"[. c #575757",
+"}. c #111111",
+"|. c #939393",
+"1. c #ADADAD",
+"2. c #6C6C6C",
+"3. c #929292",
+"4. c #4A4A4A",
+"5. c #1E1E1E",
+"6. c #3B3B3B",
+"7. c #A0A0A0",
+"8. c #696969",
+"9. c #FEFEFE",
+"0. c #CBCBCB",
+"a. c #F0F0F0",
+"b. c #0E0E0E",
+"c. c #DFDFDF",
+"d. c #808080",
+"e. c #D0D0D0",
+"f. c #636363",
+"g. c #323232",
+"h. c #D2D2D2",
+"i. c #333333",
+"j. c #292929",
+"k. c #484848",
+"l. c #646464",
+"m. c #F5F5F5",
+"n. c #B2B2B2",
+"o. c #494949",
+"p. c #E2E2E2",
+"q. c #3F3F3F",
+"r. c #0D0D0D",
+"s. c #E0E0E0",
+"t. c #2D2D2D",
+"u. c #3E3E3E",
+"v. c #C8C8C8",
+"w. c #D1D1D1",
+"x. c #7C7C7C",
+"y. c #141414",
+"z. c #A4A4A4",
+"A. c #C2C2C2",
+"B. c #262626",
+"C. c #191919",
+"D. c #999999",
+"E. c #0C0C0C",
+"F. c #101010",
+"G. c #787878",
+"H. c #797979",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" . . . . . . . . . . . . . . . . ",
+" . . . . + @ # $ % & * * & % $ = @ + . . . . ",
+" . . . . - ; > , ' ) ! ~ { { ~ ! ) ' , > ] ^ . . . . ",
+" . . / ( _ : { { { { { { { { { { { { { { { { { { : < ( / . . ",
+" . . [ } | { { { { { { { { { { { { { { { { { { { { { { | } [ . . ",
+" . . 1 2 { { { { { { { { 3 4 5 6 7 7 7 < 5 8 : ! { { { { { { 2 1 . . . ",
+" . . 9 0 a { { { { { { { b c d e 9 9 9 f 9 9 9 g h i 4 { { { { { { a ; 9 . . ",
+" . . j k { { { { { { { { ' l m 9 9 9 9 n o p 9 9 9 9 q r s { { { { { { { t q . . ",
+" . . + u { { { { { { { { { # v 9 9 9 9 w x { y z 9 9 9 9 9 @ A { { { { { { { B C . . ",
+" . . . D y { { { { { { { { { 9 9 9 9 9 j ' { { { E 9 9 9 9 9 9 F { { { { { { { y G . . . ",
+" . . H I { { { { { { { { { { J 9 9 9 9 ^ { { { { K 9 9 9 9 9 9 L { { { { { { { { I M . . . ",
+" . . . N { { { { { { { { { { { O P Q Q R S { { { } 9 9 9 9 9 9 T U { { { { { { { { { V . . . ",
+" . . W ! { { { { { { { { { { { { { { { { { { A 6 X 9 9 9 9 9 Y Z { { { { { { { { { { ! ` . . ",
+" . . .{ { { { { { { { { { { { { { { { { { ..7 ( 9 9 9 9 +.* @.{ { { { { { { { { { { { #.. . . ",
+". . . $.{ { { { { { { { { { { { { { { { { < %.&.9 9 9 *.=.5 -.{ { { { { { { { { { { { { ;.. . . ",
+". . . >.{ { { { { { { { { { { { { { { ,.'.+ . . . . ).!.~ { { { { { { { { { { { { { { { O . . . ",
+". . . ~.{ { { { { { { { { { { { { { O {.. . . . . ].^.{ { { { { { { { { { { { { { { { { ~.. . . ",
+". . . A { { { { { { { { { { { { { { k 9 9 9 9 9 9 /.{ { { { { { { { { { { { { { { { { { A . . . ",
+". . . (.{ { { { { { { { { { { { { { 5 _.. . . . . q :.4 U U <.{ { { { { { { { { { { { { > . . . ",
+". . . 6 { { { { { { { { { { { { { { { [.&.. . . . . . . . }.|.{ { { { { { { { { { { { { 1.. . . ",
+". . . 2.{ { { { { { { { { { { { { { { a 3.4.5.9 9 9 5.6.).7.a { { { { { { { { { { { { { 8.. . . ",
+" . . ( !.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.<.0.F F F 0.s a.9.9.9.9.9.9.9.9.9.9.9.9.9.9.!.b.. . . ",
+" . . . D { { { { { { { { { { { { { { { { { U c.c.c.U { { { { { { { { { { { { { { { { d.. . . ",
+" . . . ( 8 { { { { { { { { { { { { { { { e.f.g.g.g.f.;.{ { { { { { { { { { { { { { h.b.. . . ",
+" . . . 4.) { { { { { { { { { { { { { ' i.9 9 9 9 9 j.' { { { { { { { { { { { { ) k.. . . ",
+" . . . l.m.{ { { { { { { { { { { { n.. . . . . . . n.{ { { { { { { { { { { m.f.. . . . ",
+" . . . o.p.{ { { { { { { { { { { F 9 9 9 9 9 9 9 5 { { { { { { { { { { p.k.. . . . ",
+" . . . @ 0.{ { { { { { { { { { b q.. . . . . d { { { { { { { { { { b j.. . . . ",
+" . . . r.7.{ { { { { { { { { { s.* = t.= < 3 { { { { { { { { { { A e . . . ",
+" . . . . u._ >.y { { { { { { { { { { { { { { { { { { { { { { { { a - . . ",
+" . . . . . W % v., { { { { { { { { { { { { { { , w.e.>.{ { { { { U x.T ",
+" . . . . . y.f D z.A.4 >.-.x x -.>.4 A.z.d.B.C.C.Y i c h.{ { { ) D.. ",
+" . . . . . . / &.E.( F.}.}.F.b.E.&./ . . . . . 9 T E.}.] 5 ' ) G.. ",
+" . . . . . . . . . . . . . . . . . . . . . . . . . . . . M H.H.. ",
+" . . . . . . . . . . . . . . . . . . . . . . . . ",
+" . . . . ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/include/wx/generic/repview.xpm b/include/wx/generic/repview.xpm
new file mode 100644
index 0000000000..5212bae45c
--- /dev/null
+++ b/include/wx/generic/repview.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * repview_xpm[] = {
+"20 20 4 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+"@ c #000083",
+" ",
+" ",
+" ................ ",
+" .++++++++++++++. ",
+" .++++++++++++++. ",
+" .+++....+...+.+. ",
+" .++++++++++++++. ",
+" .+@@@@@@@@@@@.+. ",
+" .++++++++++++++. ",
+" .+@+....+...+.+. ",
+" .++++++++++++++. ",
+" .+@+....+...+.+. ",
+" .++++++++++++++. ",
+" .+@+....+...+.+. ",
+" .++++++++++++++. ",
+" .+@+....+...+.+. ",
+" .++++++++++++++. ",
+" ................ ",
+" ",
+" "};
diff --git a/include/wx/generic/tick.xpm b/include/wx/generic/tick.xpm
new file mode 100644
index 0000000000..630eaf460f
--- /dev/null
+++ b/include/wx/generic/tick.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char *tick_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"10 10 16 1",
+" c Gray0",
+". c #bf0000",
+"X c #00bf00",
+"o c #bfbf00",
+"O c #0000bf",
+"+ c #bf00bf",
+"@ c #00bfbf",
+"# c None",
+"$ c #808080",
+"% c Red",
+"& c Green",
+"* c Yellow",
+"= c Blue",
+"- c Magenta",
+"; c Cyan",
+": c Gray100",
+/* pixels */
+"##########",
+"######## #",
+"####### ",
+"###### ",
+"##### #",
+" ## ##",
+" ###",
+"# ####",
+"## #####",
+"### ######"
+};
diff --git a/include/wx/generic/tip.xpm b/include/wx/generic/tip.xpm
new file mode 100644
index 0000000000..2aaebfb1a3
--- /dev/null
+++ b/include/wx/generic/tip.xpm
@@ -0,0 +1,45 @@
+/* XPM */
+static char *tipIcon[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 7 1",
+" c Gray0",
+". c Cyan",
+"X c Yellow",
+"o c #808080808080",
+"O c #c0c0c0c0c0c0",
+"+ c Gray100",
+"@ c None",
+/* pixels */
+"@@@@@@@@@@@@ @@@@@@@@@@@@@@",
+"@@@@@@@@@@ XXXXXX @@@@@@@@@@@@",
+"@@@@@@@@@ XXXXXXXXXX @@@@@@@@@@@",
+"@@@@@@@@@ XXXXXXXXXX @@@@@@@@@@@",
+"@@@@@@@@ XXXXX XXXXX @@@@@@@@@@",
+"@@@@@@@ XXXXXX XXXXXX @@@@@@@@@",
+"@@@@@@@ XXXXXX XXXXXX @@@@@@@@@",
+"@@@@@@@ XXXXXX XXXXXX @@@@@@@@@",
+"@@@@@@@ XXXXXX XXXXXX @@@@@@@@@",
+"@@@@@@@ XXXXXX XXXXXX @@@@@@@@@",
+"@@@@@@@@ XXXXX XXXXX @@@@@@@@@",
+"@@@@@@@@oXXXXXXXXXXXX @@@@@@@@@@",
+"@@@@@@@o+ XXXX XXXX o@@@@@@@@@@",
+"@@@@@@o++ XXXX XXXX +o@@@@@@@@@",
+"@@@@@o++++ XXX XXX +++o@@@@@@@@",
+"@@@@o++.+.+ XXXXXX .+..+o@@@@@@@",
+"@@@o++++++++ XXXX +++++++o@@@@@@",
+"@@ +..+.+.+. oooo +.+..+.+ @@@@@",
+"@@@ ++++++++ OOOO +++++++ @@@@@@",
+"@@@@ ++.+.+. oooo +.+..+ @@@@@@@",
+"@@@oo ++++++ OO +++++ oo@@@@@@",
+"@@@ooo ++.+.+ ++.++ ooo@@@@@@",
+"@@@@ooo +.+.+ ++.+ ooo@@@@@@@",
+"@@@@@ooo +++++++++++ ooo@@@@@@@@",
+"@@@@@@ooo +.+.+.+.+ ooo@@@@@@@@@",
+"@@@@@@@ooo +++++++ ooo@@@@@@@@@@",
+"@@@@@@@@ooo +.+.+ ooo@@@@@@@@@@@",
+"@@@@@@@@@ooo +++ ooo@@@@@@@@@@@@",
+"@@@@@@@@@@ooo + ooo@@@@@@@@@@@@@",
+"@@@@@@@@@@@ooo ooo@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@ooooo@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@ooo@@@@@@@@@@@@@@@@"
+};
diff --git a/include/wx/generic/treelay.h b/include/wx/generic/treelay.h
new file mode 100644
index 0000000000..02a697132f
--- /dev/null
+++ b/include/wx/generic/treelay.h
@@ -0,0 +1,138 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: treelay.h
+// Purpose: wxTreeLayout class
+// Author: Julian Smart
+// Modified by:
+// Created: 7/4/98
+// RCS-ID: $Id$
+// Copyright: (c) 1998 Julian Smart
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TREELAY_H_
+#define _WX_TREELAY_H_
+
+#ifdef __GNUG__
+#pragma interface "wxtree.h"
+#endif
+
+#include
+
+class WXDLLEXPORT wxTreeLayout: public wxObject
+{
+ DECLARE_ABSTRACT_CLASS(wxTreeLayout)
+
+public:
+ wxTreeLayout();
+
+ // Redefine these
+ virtual void GetChildren(long id, wxList& list) = 0;
+ virtual long GetNextNode(long id) = 0;
+ virtual long GetNodeParent(long id) = 0;
+ virtual long GetNodeX(long id) = 0;
+ virtual long GetNodeY(long id) = 0;
+ virtual void SetNodeX(long id, long x) = 0;
+ virtual void SetNodeY(long id, long y) = 0;
+ virtual void ActivateNode(long id, bool active) = 0;
+ virtual bool NodeActive(long id) = 0;
+
+ // Optional redefinition
+ void Initialize(void);
+ inline virtual void SetNodeName(long id, const wxString& name) {}
+ inline virtual wxString GetNodeName(long id) { return wxString(""); }
+ virtual void GetNodeSize(long id, long *x, long *y, wxDC& dc);
+ virtual void Draw(wxDC& dc);
+ virtual void DrawNodes(wxDC& dc);
+ virtual void DrawBranches(wxDC& dc);
+ virtual void DrawNode(long id, wxDC& dc);
+ virtual void DrawBranch(long from, long to, wxDC& dc);
+
+ // Don't redefine
+ virtual void DoLayout(wxDC& dc, long topNode = -1);
+
+ // Accessors -- don't redefine
+ inline void SetTopNode(long id) { m_parentNode = id; }
+ inline long GetTopNode(void) const { return m_parentNode; }
+ inline void SetSpacing(long x, long y) { m_xSpacing = x; m_ySpacing = y; }
+ inline long GetXSpacing(void) const { return m_xSpacing; }
+ inline long GetYSpacing(void) const { return m_ySpacing; }
+ inline void SetMargins(long x, long y) { m_leftMargin = x; m_topMargin = y; }
+ inline long GetTopMargin(void) const { return m_topMargin; }
+ inline long GetLeftMargin(void) const { return m_leftMargin; }
+
+ inline bool GetOrientation(void) const { return m_orientation; }
+ inline void SetOrientation(bool orient) { m_orientation = orient; }
+
+private:
+ void CalcLayout(long node_id, int level, wxDC& dc);
+
+ // Members
+
+protected:
+ long m_parentNode;
+ long m_lastY;
+ long m_lastX;
+ long m_xSpacing;
+ long m_ySpacing;
+ long m_topMargin;
+ long m_leftMargin;
+ bool m_orientation; // TRUE for top-to-bottom, FALSE for left-to-right
+};
+
+class WXDLLEXPORT wxStoredNode
+{
+public:
+ wxString m_name;
+ long m_x, m_y;
+ long m_parentId;
+ bool m_active;
+ long m_clientData;
+};
+
+/*
+ * A version of wxTreeLayout with storage for nodes
+ */
+
+class WXDLLEXPORT wxTreeLayoutStored: public wxTreeLayout
+{
+ DECLARE_DYNAMIC_CLASS(wxTreeLayoutStored)
+public:
+ wxTreeLayoutStored(int noNodes = 200);
+ ~wxTreeLayoutStored(void);
+ void Initialize(int n);
+
+ wxString HitTest(wxMouseEvent& event, wxDC& dc);
+ wxStoredNode* GetNode(long id) const;
+ inline int GetNumNodes() const { return m_maxNodes; };
+ inline int GetNodeCount() const { return m_num; };
+
+ virtual void GetChildren(long id, wxList& list);
+ virtual long GetNextNode(long id);
+ virtual long GetNodeParent(long id);
+ virtual long GetNodeX(long id);
+ virtual long GetNodeY(long id);
+ virtual void SetNodeX(long id, long x);
+ virtual void SetNodeY(long id, long y);
+ virtual void SetNodeName(long id, const wxString& name);
+ virtual wxString GetNodeName(long id);
+ virtual void ActivateNode(long id, bool active);
+ virtual bool NodeActive(long id);
+ virtual void SetClientData(long id, long clientData);
+ virtual long GetClientData(long id) const;
+
+ virtual long AddChild(const wxString& name, const wxString& parent = "");
+ virtual long NameToId(const wxString& name);
+
+ // Data members
+private:
+ wxStoredNode* m_nodes;
+ int m_num;
+ int m_maxNodes;
+};
+
+// For backward compatibility
+#define wxStoredTree wxTreeLayoutStored
+
+#endif
+ // _WX_TREELAY_H_
+
diff --git a/include/wx/generic/warning.xpm b/include/wx/generic/warning.xpm
new file mode 100644
index 0000000000..f030fa3313
--- /dev/null
+++ b/include/wx/generic/warning.xpm
@@ -0,0 +1,202 @@
+/* XPM */
+static char * warning_xpm[] = {
+"48 48 151 2",
+" c None",
+". c #C70707",
+"+ c #F80808",
+"@ c #EA0808",
+"# c #A50505",
+"$ c #E10808",
+"% c #F70808",
+"& c #E85959",
+"* c #F80909",
+"= c #F90909",
+"- c #CD0707",
+"; c #EE0808",
+"> c #F12B2B",
+", c #F5F4F4",
+"' c #DE5F5F",
+") c #AE0606",
+"! c #D2ACAC",
+"~ c #FEFEFE",
+"{ c #E5DFDF",
+"] c #F91717",
+"^ c #E30808",
+"/ c #DC4C4C",
+"( c #FCFCFC",
+"_ c #D68585",
+": c #DB0707",
+"< c #F80C0C",
+"[ c #DECDCD",
+"} c #F6F5F5",
+"| c #ED2B2B",
+"1 c #F50808",
+"2 c #D66D6D",
+"3 c #FFFFFF",
+"4 c #D2A9A9",
+"5 c #BB0606",
+"6 c #E70808",
+"7 c #F11A1A",
+"8 c #EDE9E9",
+"9 c #E84646",
+"0 c #D59696",
+"a c #DDCCCC",
+"b c #F90E0E",
+"c c #CE0707",
+"d c #EA3030",
+"e c #F8F8F8",
+"f c #383838",
+"g c #000000",
+"h c #555555",
+"i c #DE6D6D",
+"j c #B20606",
+"k c #DAB9B9",
+"l c #A9A9A9",
+"m c #AAAAAA",
+"n c #EAE6E6",
+"o c #F81919",
+"p c #F30808",
+"q c #E05252",
+"r c #D58D8D",
+"s c #E00808",
+"t c #F81111",
+"u c #E1D5D5",
+"v c #C6C6C6",
+"w c #C7C7C7",
+"x c #F22F2F",
+"y c #CF7979",
+"z c #D4B4B4",
+"A c #F90A0A",
+"B c #C60707",
+"C c #EF0808",
+"D c #EF2222",
+"E c #EEEBEB",
+"F c #E14E4E",
+"G c #D69E9E",
+"H c #E0D2D2",
+"I c #F91111",
+"J c #D40707",
+"K c #E93A3A",
+"L c #545454",
+"M c #D97373",
+"N c #C80707",
+"O c #F80A0A",
+"P c #DAC3C3",
+"Q c #717171",
+"R c #727272",
+"S c #EFEDED",
+"T c #F91F1F",
+"U c #E45757",
+"V c #CE9999",
+"W c #E40808",
+"X c #F81313",
+"Y c #E3DADA",
+"Z c #F9F9F9",
+"` c #F13737",
+" . c #F60808",
+".. c #D37979",
+"+. c #D8BDBD",
+"@. c #F90B0B",
+"#. c #C90707",
+"$. c #F12424",
+"%. c #F0EFEF",
+"&. c #DB5656",
+"*. c #D39F9F",
+"=. c #1C1C1C",
+"-. c #E7E0E0",
+";. c #D50707",
+">. c #F40808",
+",. c #E93F3F",
+"'. c #FBFBFB",
+"). c #D77575",
+"!. c #F90C0C",
+"~. c #D9C5C5",
+"{. c #F1EEEE",
+"]. c #F42121",
+"^. c #E60808",
+"/. c #F90808",
+"(. c #DC5F5F",
+"_. c #E2E2E2",
+":. c #D19D9D",
+"<. c #F91616",
+"[. c #E9E3E3",
+"}. c #FAFAFA",
+"|. c #E33D3D",
+"1. c #D58383",
+"2. c #8D8D8D",
+"3. c #E3E3E3",
+"4. c #D9C0C0",
+"5. c #F70909",
+"6. c #F02C2C",
+"7. c #DA5D5D",
+"8. c #BC0606",
+"9. c #D0A9A9",
+"0. c #E8DFDF",
+"a. c #F51414",
+"b. c #DF0808",
+"c. c #E34646",
+"d. c #FDFDFD",
+"e. c #393939",
+"f. c #D57E7E",
+"g. c #F80B0B",
+"h. c #DDCDCD",
+"i. c #F4F3F3",
+"j. c #F12626",
+"k. c #ED0808",
+"l. c #E35D5D",
+"m. c #EBE9E9",
+"n. c #ECEAEA",
+"o. c #D99292",
+"p. c #A10505",
+"q. c #F80E0E",
+"r. c #F80D0D",
+"s. c #F90F0F",
+"t. c #F20808",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" . + @ ",
+" + + + # ",
+" $ + + + % ",
+" + % & * = - ",
+" ; % > , ' = = ",
+" ) + + ! ~ { ] = ^ ",
+" + + / ( ~ ~ _ * = ",
+" : + < [ ~ ~ ~ } | = 1 ",
+" + % 2 ~ ~ ~ ~ 3 4 = = 5 ",
+" 6 + 7 8 ~ ~ ~ ~ 3 3 9 = = ",
+" + % 0 ~ ~ ~ ~ ~ 3 3 a b = c ",
+" % % d e ~ f g g g h 3 3 i = = ",
+" j + * k ~ l g g g g g m 3 n o = p ",
+" + + q ~ ~ l g g g g g m 3 3 r = = ",
+" s + t u ~ ~ v g g g g g w 3 3 e x = = ",
+" + + y ~ ~ ~ ~ g g g g g 3 3 3 3 z A = B ",
+" C + D E ~ ~ ~ ~ g g g g g 3 3 3 3 ~ F = % ",
+" + % G ~ ~ ~ ~ ~ f g g g h 3 3 3 3 3 H I = J ",
+" + % K ( ~ ~ ~ ~ ~ L g g g h 3 3 3 3 3 3 M = = ",
+" N + O P ~ ~ ~ ~ ~ ~ Q g g g R 3 3 3 3 3 3 S T = @ ",
+" = % U ~ ~ ~ ~ ~ ~ ~ l g g g m 3 3 3 3 3 3 3 V * = ",
+" W = X Y ~ ~ ~ ~ ~ ~ ~ l g g g m 3 3 3 3 3 3 3 Z ` = . ",
+" = = ..~ ~ ~ ~ ~ ~ ~ ~ ~ g g g 3 3 3 3 3 3 3 3 3 +.@.= #. ",
+" .= $.%.~ ~ ~ ~ ~ ~ ~ ~ ~ g g g 3 3 3 3 3 3 3 3 3 3 &.= = ",
+" = * *.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ =.g f 3 3 3 3 3 3 3 3 3 3 -.I = ;. ",
+" >.= ,.'.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ L g L 3 3 3 3 3 3 3 3 3 3 3 ).= = ",
+" N = !.~.3 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ v l v 3 3 3 3 3 3 3 3 3 3 3 {.].= ^. ",
+" /.= (.3 3 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ v l _.3 3 3 3 3 3 3 3 3 3 3 3 :.= = ",
+" : + <.[.3 3 ~ ~ ~ ~ ~ ~ ~ ~ ~ L g g g m 3 3 3 3 3 3 3 3 3 3 3 }.|.= = ",
+" = + 1.3 3 3 ~ ~ ~ ~ ~ ~ ~ ~ 2.g g g g g 3.3 3 3 3 3 3 3 3 3 3 3 4.A = - ",
+" p 5.6.} 3 3 3 ~ ~ ~ ~ ~ ~ ~ ~ L g g g g g m 3 3 3 3 3 3 3 3 3 3 3 3 7.= = ",
+" 8.+ * 9.3 3 3 3 ~ ~ ~ ~ ~ ~ ~ ~ Q g g g g g w 3 3 3 3 3 3 3 3 3 3 3 3 0.a.= b. ",
+" % % c.d.3 3 3 3 ~ ~ ~ ~ ~ ~ ~ ~ _.=.g g g e.3 3 3 3 3 3 3 3 3 3 3 3 3 3 f.= = ",
+" - * g.h.~ 3 3 3 3 ~ ~ ~ ~ ~ ~ ~ ~ ~ _.Q L Q 3.3 3 3 3 3 3 3 3 3 3 3 3 3 3 i.j.= k. ",
+" = = l.m.m.n.n.n.n.m.m.m.m.m.m.m.m.m.m.m.m.m.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.o.* = p. ",
+" ^.* + g.q.r.b s.b s.r.< r.< r.r.< r.< r.< r.r.b s.b s.s.b s.b s.s.b s.b s.s.b b A = = ",
+" t.= * + * + = = = = + + + + + + + + + + + + + = = = = = = = = = = = = = = = = = = = = ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/include/wx/gtk/error.xpm b/include/wx/gtk/error.xpm
new file mode 100644
index 0000000000..c7fd8a236e
--- /dev/null
+++ b/include/wx/gtk/error.xpm
@@ -0,0 +1,591 @@
+/* XPM */
+static char *error_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 537 2",
+" c Gray0",
+". c #000001010101",
+"X c #010101010101",
+"o c #010102020202",
+"O c #020202020202",
+"+ c #020203030303",
+"@ c #030302020202",
+"# c Gray1",
+"$ c #020204040404",
+"% c #030304040404",
+"& c #070703030202",
+"* c #040404040404",
+"= c #040405050505",
+"- c Gray2",
+"; c #050507070707",
+": c #060606060606",
+"> c #060607070707",
+", c #070707070707",
+"< c #070709090909",
+"1 c #0c0c04040303",
+"2 c #0d0d04040404",
+"3 c #0d0d05050404",
+"4 c Gray3",
+"5 c #080809090909",
+"6 c #090909090909",
+"7 c #0b0b0b0b0b0b",
+"8 c #0a0a0d0d0d0d",
+"9 c #0b0b0d0d0d0d",
+"0 c #0c0c0c0c0c0c",
+"q c Gray5",
+"w c #0d0d0f0f1010",
+"e c #101006060505",
+"r c #141404040303",
+"t c #141407070606",
+"y c #171707070606",
+"u c #1d1d09090707",
+"i c #181809090808",
+"p c #1d1d09090808",
+"a c #1e1e0a0a0808",
+"s c #1e1e0b0b0909",
+"d c #101010101010",
+"f c #101011111212",
+"g c Gray7",
+"h c #131313131313",
+"j c Gray9",
+"k c #181818181818",
+"l c #191919191919",
+"z c Gray11",
+"x c #1d1d1d1d1d1d",
+"c c Gray12",
+"v c #24240b0b0a0a",
+"b c #27270d0d0b0b",
+"n c #2b2b0e0e0c0c",
+"m c #2d2d0e0e0b0b",
+"M c #30300e0e0b0b",
+"N c #33330d0d0909",
+"B c #3a3a0f0f0b0b",
+"V c #333310100e0e",
+"C c #373710100d0d",
+"Z c #373711110e0e",
+"A c #363612120f0f",
+"S c #3d3d13130f0f",
+"D c #363612121010",
+"F c Gray14",
+"G c #252525252525",
+"H c #2a2a2a2a2a2a",
+"J c Gray18",
+"K c #323232323232",
+"L c Gray20",
+"P c Gray22",
+"I c #3f3f3f3f3f3f",
+"U c #414113130e0e",
+"Y c #414113130f0f",
+"T c #404013131010",
+"R c #404014141111",
+"E c #404015151212",
+"W c #4d4d17171212",
+"Q c #4e4e18181313",
+"! c #4e4e18181414",
+"~ c #4e4e19191515",
+"^ c #4e4e1a1a1616",
+"/ c #57571b1b1515",
+"( c #595917171010",
+") c #5b5b1a1a1313",
+"_ c #58581b1b1616",
+"` c #58581c1c1717",
+"' c #5c5c1e1e1a1a",
+"] c #5c5c1f1f1b1b",
+"[ c #6e6e19190f0f",
+"{ c #67671c1c1616",
+"} c #6b6b1b1b1212",
+"| c #68681e1e1717",
+" . c #6e6e1e1e1616",
+".. c #79791e1e1515",
+"X. c #666622221d1d",
+"o. c #6b6b24241e1e",
+"O. c #6c6c22221d1d",
+"+. c #6d6d24241f1f",
+"@. c #7d7d23231c1c",
+"#. c #727226262020",
+"$. c #757526262020",
+"%. c #777728282222",
+"&. c #7f7f28282121",
+"*. c #484848484848",
+"=. c Gray33",
+"-. c #555555555555",
+";. c #656565656565",
+":. c Gray",
+">. c #94941f1f1212",
+",. c #96961f1f1111",
+"<. c #98981f1f1111",
+"1. c #818126261e1e",
+"2. c #858523231919",
+"3. c #858525251c1c",
+"4. c #878728281e1e",
+"5. c #898921211717",
+"6. c #8a8a22221616",
+"7. c #8b8b25251c1c",
+"8. c #8c8c27271d1d",
+"9. c #888828281f1f",
+"0. c #8a8a29291f1f",
+"q. c #959520201111",
+"w. c #969620201111",
+"e. c #949424241717",
+"r. c #969624241717",
+"t. c #909024241919",
+"y. c #929225251919",
+"u. c #929225251b1b",
+"i. c #959526261b1b",
+"p. c #969624241818",
+"a. c #90902a2a1f1f",
+"s. c #969629291f1f",
+"d. c #9b9b20201313",
+"f. c #999924241616",
+"g. c #9c9c21211212",
+"h. c #9f9f21211212",
+"j. c #9d9d22221414",
+"k. c #9d9d23231414",
+"l. c #9c9c23231616",
+"z. c #989827271b1b",
+"x. c #999927271b1b",
+"c. c #9a9a26261b1b",
+"v. c #989827271c1c",
+"b. c #9c9c25251818",
+"n. c #9c9c27271b1b",
+"m. c #9d9d27271b1b",
+"M. c #999928281c1c",
+"N. c #999929291e1e",
+"B. c #9b9b28281c1c",
+"V. c #9b9b28281d1d",
+"C. c #9a9a29291e1e",
+"Z. c #9a9a2a2a1e1e",
+"A. c #9a9a2b2b1f1f",
+"S. c #9b9b2a2a1f1f",
+"D. c #9c9c28281c1c",
+"F. c #9e9e29291f1f",
+"G. c #9f9f29291e1e",
+"H. c #9e9e2a2a1e1e",
+"J. c #83832b2b2424",
+"K. c #83832c2c2525",
+"L. c #84842a2a2424",
+"P. c #8b8b29292121",
+"I. c #89892b2b2424",
+"U. c #8b8b2c2c2626",
+"Y. c #8f8f2a2a2222",
+"T. c #8f8f2b2b2323",
+"R. c #8d8d2e2e2828",
+"E. c #8f8f2f2f2828",
+"W. c #8f8f38383232",
+"Q. c #919129292020",
+"!. c #90902b2b2222",
+"~. c #91912d2d2525",
+"^. c #90902d2d2626",
+"/. c #969629292020",
+"(. c #95952c2c2323",
+"). c #97972c2c2222",
+"_. c #94942d2d2525",
+"`. c #94942e2e2626",
+"'. c #97972d2d2525",
+"]. c #96962e2e2424",
+"[. c #97972e2e2626",
+"{. c #97972f2f2727",
+"}. c #99992b2b2020",
+"|. c #99992c2c2121",
+" X c #98982d2d2323",
+".X c #99992c2c2222",
+"XX c #9b9b2c2c2121",
+"oX c #9a9a2c2c2323",
+"OX c #98982d2d2424",
+"+X c #98982e2e2525",
+"@X c #98982e2e2626",
+"#X c #9d9d2b2b2121",
+"$X c #9e9e2a2a2020",
+"%X c #9c9c2c2c2121",
+"&X c #9c9c2d2d2323",
+"*X c #9d9d2e2e2323",
+"=X c #9f9f2d2d2323",
+"-X c #9e9e2e2e2020",
+";X c #9f9f2e2e2323",
+":X c #9c9c2d2d2424",
+">X c #9d9d2f2f2525",
+",X c #9c9c2f2f2626",
+"o c #a8a822221212",
+",o c #a8a823231212",
+"O c #a9a935352929",
+",O c #a9a936362a2a",
+"+ c #dbdbacac2e2e",
+",+ c #dddda8a82a2a",
+"<+ c #ddddacac2a2a",
+"1+ c #dedeadad2929",
+"2+ c #dfdfaeae2828",
+"3+ c #dcdcadad2d2d",
+"4+ c #d0d0a1a13131",
+"5+ c #d1d1a2a23030",
+"6+ c #d1d1a3a33333",
+"7+ c #d2d2a3a33232",
+"8+ c #d3d3a3a33232",
+"9+ c #d3d3a4a43333",
+"0+ c #d1d1a4a43636",
+"q+ c #d1d1a4a43737",
+"w+ c #d2d2a4a43535",
+"e+ c #d2d2a4a43636",
+"r+ c #d5d5a5a53333",
+"t+ c #d5d5a6a63434",
+"y+ c #d4d4a6a63737",
+"u+ c #d6d6a7a73535",
+"i+ c #d7d7a7a73434",
+"p+ c #d2d2a5a53939",
+"a+ c #d3d3a6a63838",
+"s+ c #d3d3a6a63a3a",
+"d+ c #d0d0a5a53d3d",
+"f+ c #d1d1a5a53c3c",
+"g+ c #d0d0a5a53f3f",
+"h+ c #d8d8a7a73333",
+"j+ c #d9d9a8a83232",
+"k+ c #d9d9acac3232",
+"l+ c #dfdfadad3636",
+"z+ c #d9d9abab3e3e",
+"x+ c #dadaaeae3939",
+"c+ c #dbdbafaf3a3a",
+"v+ c #dadaacac3f3f",
+"b+ c #dbdbadad3e3e",
+"n+ c #dfdfb1b13535",
+"m+ c #dfdfb0b03636",
+"M+ c #dcdcb0b03b3b",
+"N+ c #ddddb0b03a3a",
+"B+ c #dedeb1b13939",
+"V+ c #e3e3afaf2222",
+"C+ c #e0e0adad2525",
+"Z+ c #e1e1aeae2424",
+"A+ c #e4e4afaf2121",
+"S+ c #e2e2b2b23232",
+"D+ c #e0e0b2b23434",
+"F+ c #cfcfa5a54040",
+"G+ c #d3d3aaaa4747",
+"H+ c #d5d5abab4343",
+"J+ c #d6d6abab4242",
+"K+ c #d4d4aaaa4444",
+"L+ c #d2d2aaaa4848",
+"P+ c #d8d8acac4040",
+"I+ c #dfdfb4b44545",
+"U+ c #fbfbfbfbfbfb",
+"Y+ c Gray99",
+"T+ c #fdfdfdfdfdfd",
+"R+ c #fefefefefefe",
+"E+ c Gray100",
+"W+ c None",
+/* pixels */
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+'O(OWOTOGOAOBONOCOZOVO W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+]O_OQOmOjOpOBokohohofozoAosOfOgOSo W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+)OIOxOiOdo7o1o>oAX,.q.BXPXPX9o0ocoDono W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+`O!OnOuOao5o:o>o,oSXh.MXKXPXPXUXTX(X)Xqouoto5. W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+^OPOzOMo5o-o:o>oFXSXw.NXKXPXIXUX/X)X)XWXXoooro#o.. W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+~OYOhOso=o-o;o>oo>oo,oO,O%o&o[XFoN.{ w W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+/OLOVo5o:o>o,oo.-X:OIX#O$O)X)X.o!Xe.p.`X$o%o*o4O6OEoJoKo/.) $ W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+DORONo;o>oCX<.JXKXk.PXLX#O$O*O%O.oXooo_Xy.t.m.*o oRo7O8OQoLoXX@.i f W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+KOcO8oFX+x+c+b+k+h+i+i+t+e+y+a+s+p+(o2X(.W % 9 W+W+W+W+W+",
+"W+W+W+W+W+W+ FOloJXV+V+Z+S+C+2+1+1+<+3+3+>+;+-+5+z+v+i+u+u+y+a+a+s+f+f+[o3X]./ + < F W+W+W+W+W+",
+"W+W+W+W+W+W+ SOfoKXV+Z+C+C+D+n+1+<+3+3+>+:+:+j+8+4+r+P+P+y+a+a+.+X+X+o+{owX_._ o ; z W+W+W+W+W+",
+"W+W+W+W+W+W+ MOgoPXZ+C+2+2+1+l+m+3+>+>+:+j+k+h+i+9+$+w+J+H+H+s+f+f+d+g+]oeX~.! . + l W+W+W+W+W+",
+"W+W+W+W+W+W+ vOxoPXC+2+2+1+<+<+B+N+>+:+j+k+#+i+i+u+0+@+&+s+K+G+d+d+=+F+}ojXI.S . + l W+W+W+W+W+",
+"W+W+W+W+W+W+ lOvoUX|O1+1+<+<+3+>+N+M+j+k+h+++++u+y+y+q+%+*+f+L+L+=+F+ +|ouX&.v . + l E+W+W+W+W+",
+"W+W+W+W+W+W+ boZo/XEX)X.oXooon.c.$o z E+W+W+W+W+",
+"W+W+W+W+W+W+ [ dOwo~X.oXoooOo$oz.i.G.oORoEoWoQoa.a._o X(o^oX[o'.}o}oqXkXcXvXmXW.^ X + - j =.W+W+W+W+W+",
+"W+W+W+W+W+W+W+ - 6.po+o'X%o&o oRoRoA.}.Qo@OPo*X~o[o[o]o[.[.|oxXzXvXhXE.X.e O + 6 J Y+W+W+W+W+W+",
+"W+W+W+W+W+W+W+ X r n.$o]X{X oRoEoWoQo|.|.)oeO(o[o{o]o}o|o{.xXvXvXdX8X#.b X + o d I Y+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+ - B D.[X[XGoEoWoQo!o!o_o(oeOnXY.+X}o|o|o9X0XvXhX8X%.D X O # 6 H :.W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+ * N 7.S.GoKoKo!o)o/o(o[oOX0O5X@X|o OcXvXgXpXR.+.V X O + + j =.E+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+L # u .s.#XLoPo;X(o[o[o]o[.bXtOxXcXfXpX6XK.] a X O + - j *.T+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+ - U 3.Q.).:X2X2XwXeXrXjXqOsXiX4XJ.o.E & O O + O 0 K T+E+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+ - 1 C | 1.P.T._.`.`.^.U.L.$.' A 3 X O O # - q J :.Y+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+ # - # O y m T Q _ ` ~ R n t @ O O O + O # g P :.E+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+ - # # # O O O O O O O O O O O + # + 7 x ;.T+Y+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+ G k : # - # # X X + . # # # O , g j -.:.R+E+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+ h 6 : 6 6 # # # 6 6 0 g F *.:.T+E+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+ L F c z z z c F K =.T+E+U+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+E+E+E+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+"
+};
diff --git a/include/wx/gtk/info.xpm b/include/wx/gtk/info.xpm
new file mode 100644
index 0000000000..e7a9f5f925
--- /dev/null
+++ b/include/wx/gtk/info.xpm
@@ -0,0 +1,532 @@
+/* XPM */
+static char *info_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 478 2",
+" c Gray0",
+". c #010101010101",
+"X c #020202020202",
+"o c #050505050404",
+"O c Gray2",
+"+ c #080808080707",
+"@ c #090909090808",
+"# c #0b0b0b0b0909",
+"$ c #0b0b0b0b0b0b",
+"% c #0c0c0c0c0b0b",
+"& c #0d0d0d0d0a0a",
+"* c #0c0c0c0c0c0c",
+"= c #0f0f0e0e0c0c",
+"- c #0f0f0f0f0e0e",
+"; c Gray6",
+": c #101010100e0e",
+"> c #121212120f0f",
+", c #101010101010",
+"< c #121212121111",
+"1 c #131313131111",
+"2 c #131313131313",
+"3 c #141414141111",
+"4 c #141414141212",
+"5 c #161616161313",
+"6 c #161616161414",
+"7 c #1a1a1a1a1717",
+"8 c #1d1d1d1d1616",
+"9 c #191919191919",
+"0 c #1e1e1e1e1e1e",
+"q c #20201d1d1313",
+"w c #202020201c1c",
+"e c #212121211d1d",
+"r c #212120201e1e",
+"t c #232323231f1f",
+"y c #242421211919",
+"u c Gray15",
+"i c #272727272727",
+"p c #2a2a2a2a2727",
+"a c #282828282828",
+"s c #2a2a2a2a2a2a",
+"d c #2c2c2c2c2a2a",
+"f c #2f2f2f2f2929",
+"g c #2d2d2d2d2d2d",
+"h c Gray18",
+"j c #313131312b2b",
+"k c #303030302f2f",
+"l c #333333332f2f",
+"z c #353535352e2e",
+"x c #383835352626",
+"c c #3b3b37372424",
+"v c #333333333131",
+"b c Gray20",
+"n c #343434343434",
+"m c #353535353535",
+"M c #393937373232",
+"N c #383838383737",
+"B c #3d3d3d3d3535",
+"V c Gray23",
+"C c #3e3e3e3e3e3e",
+"Z c #42423f3f3636",
+"A c #434340403232",
+"S c #424242423a3a",
+"D c #434343433d3d",
+"F c #444444443b3b",
+"G c #474744443939",
+"H c #4f4f49493838",
+"J c #4d4d49493c3c",
+"K c #434343434242",
+"L c #434343434343",
+"P c #474747474242",
+"I c #464646464444",
+"U c #464646464646",
+"Y c Gray28",
+"T c #4b4b4b4b4444",
+"R c #4d4d4c4c4747",
+"E c #4e4e4e4e4545",
+"W c #494949494949",
+"Q c #4b4b4b4b4b4b",
+"! c #4e4e4e4e4e4e",
+"~ c #4f4f4f4f4e4e",
+"^ c #525252524848",
+"/ c #525252524949",
+"( c #555555554e4e",
+") c #565656564f4f",
+"_ c #5a5a59594c4c",
+"` c #5f5f5c5c4f4f",
+"' c Gray32",
+"] c Gray33",
+"[ c #585858585151",
+"{ c #585858585858",
+"} c #595959595858",
+"| c #5c5c5c5c5b5b",
+" . c #5f5f5e5e5959",
+".. c #6d6d66664d4d",
+"X. c #646461615959",
+"o. c #71716d6d5b5b",
+"O. c #797971715757",
+"+. c #626262626262",
+"@. c Gray39",
+"#. c #646464646464",
+"$. c #696969696464",
+"%. c #6d6d6d6d6464",
+"&. c #696969696868",
+"*. c #6b6b6b6b6a6a",
+"=. c #6d6d6d6d6d6d",
+"-. c #6f6f6f6f6f6f",
+";. c #73736f6f6161",
+":. c #707070706b6b",
+">. c #717171716f6f",
+",. c #757575756c6c",
+"<. c #797976766c6c",
+"1. c #7f7f7a7a6464",
+"2. c Gray45",
+"3. c #757575757171",
+"4. c #7b7b7b7b7a7a",
+"5. c #7b7b7b7b7b7b",
+"6. c #7f7f7f7f7b7b",
+"7. c Gray49",
+"8. c #818179795959",
+"9. c #808079795f5f",
+"0. c #8f8f82825555",
+"q. c #959588885757",
+"w. c #9b9b8c8c5a5a",
+"e. c #929289896363",
+"r. c #9d9d91916464",
+"t. c #a9a999995959",
+"y. c #abab9b9b5b5b",
+"u. c #b3b3a0a05e5e",
+"i. c #a9a9a0a07777",
+"p. c #aeaea4a47575",
+"a. c #b9b9a9a96464",
+"s. c #babaa8a86464",
+"d. c #b7b7aaaa7c7c",
+"f. c #c1c1aeae6767",
+"g. c #c4c4b2b26969",
+"h. c #c4c4b3b36b6b",
+"j. c #c6c6b3b36a6a",
+"k. c #c9c9b7b76d6d",
+"l. c #ccccb9b96e6e",
+"z. c #c1c1b3b37272",
+"x. c #c2c2b0b07171",
+"c. c #c6c6b6b67777",
+"v. c #cacab8b87171",
+"b. c #cdcdbcbc7070",
+"n. c #d1d1bcbc7070",
+"m. c #d1d1bfbf7373",
+"M. c #d1d1c0c07676",
+"N. c #d9d9c5c57777",
+"B. c #d9d9c6c67777",
+"V. c #dadac7c77777",
+"C. c #d9d9c6c67979",
+"Z. c #dbdbc7c77c7c",
+"A. c #dbdbc8c87878",
+"S. c #dbdbc9c97c7c",
+"D. c #dadac8c87e7e",
+"F. c #dbdbc9c97e7e",
+"G. c #e2e2cdcd7f7f",
+"H. c #e4e4d0d07e7e",
+"J. c #e4e4d0d07f7f",
+"K. c #e4e4d1d17e7e",
+"L. c #e6e6d2d27e7e",
+"P. c #818181818181",
+"I. c #838383838383",
+"U. c #848484848484",
+"Y. c Gray53",
+"T. c #898987878282",
+"R. c #8d8d8d8d8585",
+"E. c #8d8d8d8d8787",
+"W. c #929292928d8d",
+"Q. c #969696968e8e",
+"!. c #989895958585",
+"~. c #9b9b95958484",
+"^. c #929292929292",
+"/. c #939393939393",
+"(. c Gray58",
+"). c Gray60",
+"_. c #9d9d9d9d9999",
+"`. c #9e9e9e9e9a9a",
+"'. c #a2a29c9c8484",
+"]. c None",
+"[. c #b8b8b0b09595",
+"{. c #a0a0a0a0a0a0",
+"}. c Gray63",
+"|. c #a5a5a5a5a5a5",
+" X c #a7a7a7a7a7a7",
+".X c #a9a9a9a9a4a4",
+"XX c #aeaeaeaea9a9",
+"oX c #babab6b6a9a9",
+"OX c #b3b3b3b3b0b0",
+"+X c #b3b3b3b3b1b1",
+"@X c #b4b4b4b4b2b2",
+"#X c #b4b4b4b4b4b4",
+"$X c #b6b6b6b6b6b6",
+"%X c #b9b9b9b9b1b1",
+"&X c Gray73",
+"*X c #bbbbbbbbbbbb",
+"=X c #bcbcbcbcb9b9",
+"-X c Gray75",
+";X c #c1c1b9b99999",
+":X c #c2c2bebeafaf",
+">X c #d7d7c4c48080",
+",X c #d8d8c7c78e8e",
+"o c #f3f3e4e4a1a1",
+",o c #f3f3e6e6a3a3",
+"O c #ecececececec",
+",O c Gray93",
+"+ c None",
+",+ c None",
+/* pixels */
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+(O>+>+>+>+>+>+>+>+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+QOO+>+>+>+>+>+>+>+++!OO+>+>+>+>+>+>+>+>+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+++/O$+>+>+>+>+>+>+>+(O(O/O>+>+>+>+>+>+>+>+>+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+$+)OO+>+>+>+>+>+>+%+$+++O+>+>+>+>+>+>+>+>+>+>+>+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+O+++++-+>+>+>+>+;+-+;+-+@+>+>+>+>+>+>+)O>+>+>+>+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+@+;+;+-+>+>+>+>+;+:+:+;+%+>+>+>+>+%+/O~O>+>+>+>+>+,+",
+",+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+>+-+;+:+:+:+>+>+:+:+:+:+:+:+>+;+-+++++)O$+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+/OQO++>+>+>+>+>+>+;+:+:+:+:+:+:+:+:+:+:+:+:+:+;+-+-+;+++%+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+)O~O/O)O@+;+>+>+>+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+;+@+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+$+)O#+;+;+;+:+:+:+:+:+:+COVoCoCo,O:+:+:+:+:+:+:+:+;+;+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+>+++-+:+:+:+:+:+:+,O).Q 2 h M Z y a +.no}O:+:+:+:+:+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+-+:+:+:+:+:+nog ;.7XjX[XYXJXiX,Xd.w.` $X:+:+:+:+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+;+;+:+:+:+}.0 :XVXTX5oyoeo#o$o.ovXG.>Xr I.`O:+:+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+:+:+:+no0 FosXgXuo[o%O{oro*o@o/XcX0X6X} /.:+:+:+:+;+;+%+@+/OQO",
+",+,+,+,+,+,+,+>+>+>+(O!O(OO+@+-+;+:+:+}OY oX1omXpo8OfOMOBOmOOO&o+oDXxX+",
+",+,+,+,+,+,+,+>+>+>+WO~O)O@+-+;+:+:+:+#X] ZXNXoo_opO6OhOsOzOfOko%oOoRXyXn.'.' :+:+:+:+;+%+%+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+++)O$+;+:+:+:+:+U.!.rXEXto9OgO6OqO6OtOsO^o4o(XFXSXA.c.p Po:+:+:+;+;+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+-+%+;+:+:+:+#.;XaX}XxoiOpOdOaO.O7OXOgo3oOoOoKXH.f.X.{.:+:+:+:+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+:+:+:+:+#.;XpX{XxoqOlOlOwO6O#O`o!o+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+:+:+:+@.[.pXEXxosONOcOyOjO5O/odo2o`X|XHXqXl.O.(.:+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+;+:+:+:+P.T.BX)XwopObOuOkOnOcolo(o,o^X~XGXK.g...|.:+:+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+-+:+:+:+-XU zXMX0o$ONO OrO)oioao=o]X!XWXhXB.y.q Jo:+:+:+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+EOX+&+&+*+`O-.~.bXXo|ovO0O4Ozo6o9o-oQXRXkXJ.b.8.! `O:+:+:+;+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+++[OX+&+&+*+*+YoC fXqo}oxOeO'o7o o:o'XCXwXF.N.a.H X:+:+:+:+;+-+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+++(O++[O|Oo+&+*+*+=+u PXjo+O@O]o~o>oUXLXlXeXD.V.h.q.m FO:+:+:+:+;+$+%+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+O+(OO+TO[O.+o+&+*+*OA nXhooOWoQo8o'XjXdX1XM.m.k.r.D }.:+:+:+:+;+-+++O+$+>+",
+",+,+,+,+,+,+,+,+>+>+>+)O++%+ROo+{OX+o+&+voJ tXfosoAX;oPXjX8XC.v.z.p.1.$ 7.}O:+:+:+;+-+@+O+)O^O>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+'O|Oo+*+=+=+%.< x ._ i.uX9XZ.S.s.0.c = W *X:+:+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+_O]Oo+&+*+=+z _.@X+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+YO'O|Oo+&+`Oo 6 ( R.GoKONo[ R 9.o.s Ko*+*+:+:+:+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+>+IOYO]O|Oo+{ t Mo.XB 1 E.bo4.| & V &X*+*+*+:+:+;+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+>+HOIOYOVO|O9 ^ Ho=+LOZof P >.3.; >O&+&+&+&+:+:+-+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+,+>+>+>+AOHOIO>OVO + f Q.To ++X:.~ S L =+=+=+o+o+:+:+%+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+,+,+>+>+3OAOHO;O9 =XXXT - W.^.-.&.4 Y.*+*+*+X+[O;+;+@+>+>+>+>+>+>+>+>+>+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+>+>+:O3OAOHO ,.moVOVO%X/ I 6.=.O LO&+o+o+o+'O++@+O+%+>+>+>+>+>+>+>+>+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+>+Eo:O3OAO F v OX1OSo&.K ) i + +|O|O|O]O>+%+(O@+>+>+>+>+>+>+>+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+5XEo-O2O* 5 > f d `.-.*. n ]O]O]O'O'O_O>+>+++O+>+>+>+>+>+>+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].5XRo-OAo : e w N &.2. UOYOYOYOUOIOPO>+>+>+>+>+>+>+>+>+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].Do&O3 @ 5 1 # j l k , JOJOJOHOHODOSO>+>+>+>+>+>+>+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].5XE . 3 7 % : PoUoAOAOAOAOZO3O3O>+>+>+>+>+>+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].X X . X * -O:O2O2O2O2O2O:O-O-O>+>+>+>+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].3X4XDoRoRo=O=O=O=O=ORoRoDo>+>+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].].].].].].5X5X5X5X5X].].].,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].].].].].].].].].].].].].].,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].].].].].].].].].].].].].].,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+"
+};
diff --git a/include/wx/gtk/palette.h b/include/wx/gtk/palette.h
new file mode 100644
index 0000000000..8574526cb3
--- /dev/null
+++ b/include/wx/gtk/palette.h
@@ -0,0 +1,59 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: palette.h
+// Purpose:
+// Author: Robert Roebling
+// Created: 01/02/97
+// Id:
+// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef __GTKPALETTEH__
+#define __GTKPALETTEH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class wxPalette;
+
+//-----------------------------------------------------------------------------
+// wxPalette
+//-----------------------------------------------------------------------------
+
+class wxPalette: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPalette)
+
+ public:
+
+ wxPalette();
+ wxPalette( int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue );
+ wxPalette( const wxPalette& palette );
+ ~wxPalette();
+ wxPalette& operator = ( const wxPalette& palette );
+ bool operator == ( const wxPalette& palette );
+ bool operator != ( const wxPalette& palette );
+ bool Ok() const;
+
+ bool Create( int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ int GetPixel( const unsigned char red, const unsigned char green, const unsigned char blue ) const;
+ bool GetRGB( int pixel, unsigned char *red, unsigned char *green, unsigned char *blue ) const;
+
+ // no data
+};
+
+#define wxColorMap wxPalette
+#define wxColourMap wxPalette
+
+#endif // __GTKPALETTEH__
diff --git a/include/wx/gtk/question.xpm b/include/wx/gtk/question.xpm
new file mode 100644
index 0000000000..15ccf8968c
--- /dev/null
+++ b/include/wx/gtk/question.xpm
@@ -0,0 +1,155 @@
+/* XPM */
+static char *question_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 101 2",
+" c Gray0",
+". c Transparent",
+"X c #010101010101",
+"o c #000000000202",
+"O c #000001010202",
+"+ c #010101010202",
+"@ c #010102020303",
+"# c #020202020202",
+"$ c #020202020303",
+"% c Gray1",
+"& c #030305050707",
+"* c #040404040404",
+"= c #040404040606",
+"- c #070707070707",
+"; c #060607070808",
+": c #060608080a0a",
+"> c #060608080b0b",
+", c Gray3",
+"< c #0d0d0d0d0c0c",
+"1 c Gray6",
+"2 c #191915150d0d",
+"3 c Gray8",
+"4 c Gray10",
+"5 c #22221c1c1212",
+"6 c #393939393939",
+"7 c #2b2b3d3d6161",
+"8 c #353545456464",
+"9 c #65654f4f2424",
+"0 c #6b6b55552727",
+"q c #6e6e55552626",
+"w c #707056562727",
+"e c #717159592929",
+"r c #73735f5f3b3b",
+"t c #7c7c62622d2d",
+"y c #7f7f69694141",
+"u c Gray39",
+"i c #727272727272",
+"p c #737375757979",
+"a c Gray50",
+"s c #808063632d2d",
+"d c #828266662f2f",
+"f c #87876a6a3131",
+"g c #8c8c6d6d3131",
+"h c #929273733535",
+"j c #939374743535",
+"k c #949475753636",
+"l c #979777773737",
+"z c #99997a7a3b3b",
+"x c #9d9d7d7d3a3a",
+"c c #a2a27f7f3b3b",
+"v c #92927c7c5252",
+"b c #a6a682823c3c",
+"n c #a8a884843d3d",
+"m c #aaaa86863e3e",
+"M c #a6a687874848",
+"N c #a3a38e8e5555",
+"B c #a4a48b8b5a5a",
+"V c #b3b38d8d4040",
+"C c #b8b892924343",
+"Z c #b9b993934444",
+"A c #bebe95954444",
+"S c #bebe9b9b5353",
+"D c #bebea3a36363",
+"F c #bfbfa1a16a6a",
+"G c #bebea2a27272",
+"H c #c0c097974545",
+"J c #c3c39f9f5555",
+"K c #c3c39f9f5757",
+"L c #c9c9a4a45b5b",
+"P c #d2d2a6a64c4c",
+"I c #d2d2a6a64d4d",
+"U c #d8d8abab4e4e",
+"Y c #d8d8acac5858",
+"T c #d8d8acac5b5b",
+"R c #d8d8b1b15f5f",
+"E c #c3c3a4a46666",
+"W c #c6c6a7a76a6a",
+"Q c #c9c9acac7373",
+"! c #d2d2b0b06c6c",
+"~ c #d8d8b1b16363",
+"^ c #d8d8b1b16565",
+"/ c #dcdcb4b46363",
+"( c #d8d8b5b56e6e",
+") c #d8d8b6b66e6e",
+"_ c #dadab8b87272",
+"` c #ddddbcbc7474",
+"' c #d8d8baba7b7b",
+"] c #f7f7c3c35a5a",
+"[ c #f7f7c9c96d6d",
+"{ c #f7f7cfcf7e7e",
+"} c #aaaaaaaaaaaa",
+"| c #d8d8bebe8686",
+" . c #dcdcc4c49494",
+".. c #f7f7d4d48c8c",
+"X. c #f7f7d8d89999",
+"o. c #f7f7dcdca5a5",
+"O. c #f7f7dfdfafaf",
+"+. c #f7f7e2e2b8b8",
+"@. c #f7f7e5e5c0c0",
+"#. c Gray100",
+"$. c None",
+/* pixels */
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.< $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. c C U x b t $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. U X.X.+.X.' ' ' S b $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ] O.@.X...] ] ] { ' R b q $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.< ] O.o.] n j j m ] ] { ) R b * $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$. D X.+.] k h ] ] [ R R s 1 $.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.< [ @.{ k o 7 @ K ] { U R b % $.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. N ..O.U o 8 a a B ] [ R U b # #.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. I { ] b 8 a #.#. B [ [ ) U d # } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. ] { ] b a #.#.$. B ] ) ) U 9 % } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. / R A d a #.$. E [ ' U b a } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. a #.$. g ! | R U e + a } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. : a #. Z ..| U A 3 a #.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$. a a a a a a - V [ | U U $ a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. a a a a #. ] ..( Y z . 3 a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. 0 J ._ Q F 2 3 a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. f ! ( L W y & a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. l ' ^ T G . p } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. H ' ~ T v = a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. U | R U r a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. S ' U A X a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. M M b s ; } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. 4 6 O a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. O > a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. a i u a a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.5 , #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ` { ..A $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. { X.X.U # $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ....R A # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ..) U A # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. P R A w # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. + a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. , , , a a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. a a a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$."
+};
diff --git a/include/wx/gtk/settings.h b/include/wx/gtk/settings.h
new file mode 100644
index 0000000000..9e7db68bcd
--- /dev/null
+++ b/include/wx/gtk/settings.h
@@ -0,0 +1,41 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose:
+// Author: Robert Roebling
+// Id: $Id$
+// Copyright: (c) 1998 Robert Roebling
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GTKSETTINGSH__
+#define __GTKSETTINGSH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+#include "wx/gdicmn.h"
+#include "wx/pen.h"
+#include "wx/font.h"
+
+class wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ inline static void Init() {}
+ static void Done();
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // __GTKSETTINGSH__
diff --git a/include/wx/gtk/setup0.h b/include/wx/gtk/setup0.h
new file mode 100644
index 0000000000..cca48903c0
--- /dev/null
+++ b/include/wx/gtk/setup0.h
@@ -0,0 +1,672 @@
+/* setup.h. Generated automatically by configure. */
+/* setup.h.in. Generated automatically from configure.in by autoheader. */
+/* Generate setup.h.in from this file using autoheader. */
+/* */
+/* Version: $Id$ */
+
+/* This define (__WX_SETUP_H__) is used both to insure setup.h is included
+ * only once and to indicate that we are building using configure. */
+#ifndef __WX_SETUP_H__
+#define __WX_SETUP_H__
+
+#ifdef __GNUG__
+ #pragma interface
+#endif
+
+
+/* Define to empty if the keyword does not work. */
+/* #undef const */
+
+/* Define to `int' if doesn't define. */
+/* #undef gid_t */
+
+/* Define if you don't have vprintf but do have _doprnt. */
+/* #undef HAVE_DOPRNT */
+
+/* Define if you have the vprintf function. */
+#define HAVE_VPRINTF 1
+
+/* Define as __inline if that's what the C compiler calls it. */
+/* #undef inline */
+
+/* Define to `int' if doesn't define. */
+/* #undef mode_t */
+
+/* Define to `long' if doesn't define. */
+/* #undef off_t */
+
+/* Define to `int' if doesn't define. */
+/* #undef pid_t */
+
+/* Define to `unsigned' if doesn't define. */
+/* #undef size_t */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to `int' if doesn't define. */
+/* #undef uid_t */
+
+/* Define if your processor stores words with the most significant
+ byte first (like Motorola and SPARC, unlike Intel and VAX). */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/* Define if lex declares yytext as a char * by default, not a char[]. */
+#define YYTEXT_POINTER 1
+
+#define __WXGTK12__ 1
+
+/*
+ * Define to 1 for Unix[-like] system
+ */
+#define wxUSE_UNIX 1
+
+#define __UNIX__ 1
+#define __LINUX__ 1
+/* #undef __SGI__ */
+/* #undef __HPUX__ */
+/* #undef __SYSV__ */
+/* #undef __SVR4__ */
+/* #undef __AIX__ */
+/* #undef __SUN__ */
+/* #undef __SOLARIS__ */
+/* #undef __SUNOS__ */
+/* #undef __ALPHA__ */
+/* #undef __OSF__ */
+/* #undef __BSD__ */
+/* #undef __FREEBSD__ */
+/* #undef __VMS__ */
+/* #undef __ULTRIX__ */
+/* #undef __DATA_GENERAL__ */
+/* #undef __EMX__ */
+
+/* #undef __WINDOWS__ */
+/* #undef __WIN95__ */
+/* #undef __WIN32__ */
+/* #undef __GNUWIN32__ */
+/* #undef WINVER */
+
+/*
+ * Supports bool type
+ */
+#define HAVE_BOOL 1
+
+/*
+ * Use zlib
+ */
+#define wxUSE_ZLIB 1
+/*
+ * Use libpng
+ */
+#define wxUSE_LIBPNG 1
+/*
+ * Use libjpeg
+ */
+#define wxUSE_LIBJPEG 1
+/*
+ * Use libgif
+ */
+#define wxUSE_LIBGIF 1
+/*
+ * Use iODBC
+ */
+#define wxUSE_ODBC 0
+#define wxODBC_FWD_ONLY_CURSORS 1
+/*
+ * Use Threads
+ */
+#define wxUSE_THREADS 1
+/*
+ * Have glibc2
+ */
+#define wxHAVE_GLIBC2 1
+/*
+ * Use libXpm
+ */
+#define wxHAVE_LIB_XPM 0
+/*
+ * Use OpenGL
+ */
+#define wxUSE_OPENGL 0
+
+/*
+ * Use GUI
+ */
+#define wxUSE_GUI 1
+/*
+ * Defined if !wxUSE_GUI
+ */
+/* #undef wxUSE_NOGUI */
+
+/*
+ * Use constraints mechanism
+ */
+#define wxUSE_CONSTRAINTS 1
+
+/*
+ * Use validators
+ */
+#define wxUSE_VALIDATORS 1
+
+/*
+ * Use accelerators
+ */
+#define wxUSE_ACCEL 1
+
+/*
+ * Use wxTextEntryDialog
+ */
+#define wxUSE_TEXTDLG 1
+
+/*
+ * Use startup tips
+ */
+#define wxUSE_STARTUP_TIPS 1
+
+/*
+ * Use progress dialog
+ */
+#define wxUSE_PROGRESSDLG 1
+
+/*
+ * Use directory chooser dialog
+ */
+#define wxUSE_DIRDLG 1
+
+/*
+ * Joystick support (Linux/GTK only)
+ */
+#define wxUSE_JOYSTICK 0
+
+/*
+ * Use this control
+ */
+#define wxUSE_CARET 1
+/*
+ * Use this control
+ */
+#define wxUSE_BMPBUTTON 1
+/*
+ * Use this control
+ */
+#define wxUSE_CHECKBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_CHECKLISTBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_COMBOBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_CHOICE 1
+/*
+ * Use this control
+ */
+#define wxUSE_GAUGE 1
+/*
+ * Use this control
+ */
+#define wxUSE_GRID 1
+/*
+ * Use this control
+ */
+#define wxUSE_IMAGLIST 1
+/*
+ * Use this control
+ */
+#define wxUSE_LISTBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_LISTCTRL 1
+/*
+ * Use this control
+ */
+#define wxUSE_NOTEBOOK 1
+/*
+ * Use this control
+ */
+#define wxUSE_RADIOBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_RADIOBTN 1
+/*
+ * Use this control
+ */
+#define wxUSE_SASH 1
+/*
+ * Use this control
+ */
+#define wxUSE_SCROLLBAR 1
+/*
+ * Use this control
+ */
+#define wxUSE_SLIDER 1
+/*
+ * Use this control
+ */
+#define wxUSE_SPINBTN 1
+/*
+ * Use this control
+ */
+#define wxUSE_SPLITTER 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATBMP 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATLINE 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATUSBAR 1
+/*
+ * Use Tab dialog class - obsolete, use wxNotebook instead
+ */
+#define wxUSE_TAB_DIALOG 0
+/* compatibility */
+#define wxUSE_TABDIALOG wxUSE_TAB_DIALOG
+/*
+ * Use this control
+ */
+#define wxUSE_TOOLBAR 1
+
+#if defined(__WXWINE__) || defined(__GNUWIN32__)
+ #if wxUSE_TOOLBAR
+ #define wxUSE_BUTTONBAR 1
+ #endif
+#endif
+
+/*
+ * Use this control
+ */
+#define wxUSE_TREECTRL 1
+
+/*
+ * Use wxLongLong (a.k.a. int64) class
+ */
+#define wxUSE_LONGLONG 0
+
+/*
+ * Use wxFile class
+ */
+#define wxUSE_FILE 1
+/*
+ * Use wxTextFile class
+ */
+#define wxUSE_TEXTFILE 1
+/*
+ * Use log classes and logging functions
+ */
+#define wxUSE_LOG 1
+/*
+ * Use time and date classes
+ */
+#define wxUSE_TIMEDATE 1
+/*
+ * Use wave class
+ */
+#define wxUSE_WAVE 0
+/*
+ * Use config system
+ */
+#define wxUSE_CONFIG 1
+/*
+ * Use intl system
+ */
+#define wxUSE_INTL 1
+/*
+ * Use streams
+ */
+#define wxUSE_STREAMS 1
+/*
+ * Use class serialization
+ */
+#define wxUSE_SERIAL 1
+/*
+ * Use sockets
+ */
+#define wxUSE_SOCKETS 1
+/*
+ * Use standard C++ streams if 1. If 0, use wxWin
+ * streams implementation.
+ */
+#define wxUSE_STD_IOSTREAM 0
+/*
+ * wxLibrary class
+ */
+#define wxUSE_DYNLIB_CLASS 1
+
+/*
+ * Use font metric files in GetTextExtent for wxPostScriptDC
+ * Use consistent PostScript fonts for AFM and printing (!)
+ */
+#define wxUSE_AFM_FOR_POSTSCRIPT 1
+#define wxUSE_NORMALIZED_PS_FONTS 1
+
+/* compatibility */
+#define WX_NORMALIZED_PS_FONTS wxUSE_NORMALIZED_PS_FONTS
+
+/*
+ * Use PostScript device context
+ */
+#define wxUSE_POSTSCRIPT 1
+
+/*
+ * Compile wxString with wide character (Unicode) support?
+ */
+#define wxUSE_UNICODE 0
+
+/*
+ * Work around a bug in GNU libc 5.x wcstombs() implementation.
+ *
+ * Note that you must link your programs with libc.a if you enable this and you
+ * have libc 5 (you should enable this for libc6 where wcsrtombs() is
+ * thread-safe version of wcstombs()).
+ */
+#define wxUSE_WCSRTOMBS 0
+
+/*
+ * On some platforms overloading on size_t/int doesn't work, yet we'd like
+ * to define both size_t and int version of wxString::operator[] because it
+ * should really be size_t, but a lot of old, broken code uses int indices.
+ */
+#define wxUSE_SIZE_T_STRING_OPERATOR 0
+
+/*
+ * Use the new experimental implementation of wxString::Printf()?
+ *
+ * Warning: enabling this may cause internal compiler errors with gcc!
+ */
+#define wxUSE_EXPERIMENTAL_PRINTF 0
+
+/*
+ * Use Interprocess communication
+ */
+#define wxUSE_IPC 1
+/*
+ * Use wxGetResource & wxWriteResource (change .Xdefaults)
+ */
+#define wxUSE_X_RESOURCES 0
+/*
+ * Use clipboard
+ */
+#define wxUSE_CLIPBOARD 1
+/*
+ * Use tooltips
+ */
+#define wxUSE_TOOLTIPS 1
+/*
+ * Use dnd
+ */
+#define wxUSE_DRAG_AND_DROP 1
+/*
+ * Use spline
+ */
+#define wxUSE_SPLINES 1
+/*
+ * Use wxLibrary class
+ */
+#define wxUSE_DYNLIB_CLASS 1
+
+/*
+ * Use the mdi architecture
+ */
+#define wxUSE_MDI_ARCHITECTURE 1
+/*
+ * Use the document/view architecture
+ */
+#define wxUSE_DOC_VIEW_ARCHITECTURE 1
+/*
+ * Use the print/preview architecture
+ */
+#define wxUSE_PRINTING_ARCHITECTURE 1
+
+/*
+ * Use Prolog IO
+ */
+#define wxUSE_PROLOGIO 1
+/*
+ * Use wxWindows resource loading (.wxr-files) (Needs wxUSE_PROLOGIO 1)
+ */
+#define wxUSE_RESOURCES 1
+
+/* for compatibility */
+#define wxUSE_WX_RESOURCES wxUSE_RESOURCES
+
+/*
+ * Use wxWindows help facility (needs wxUSE_IPC 1)
+ */
+#define wxUSE_HELP 1
+/*
+ * Use iostream.h rather than iostream
+ */
+#define wxUSE_IOSTREAMH 1
+/*
+ * Use Apple Ieee-double converter
+ */
+#define wxUSE_APPLE_IEEE 1
+/*
+ * Compatibility with 1.66 API.
+ * Level 0: no backward compatibility, all new features
+ * Level 1: wxDC, OnSize (etc.) compatibility, but
+ * some new features such as event tables
+ */
+#define WXWIN_COMPATIBILITY 0
+/*
+ * Compatibility with 2.0 API.
+ */
+#define WXWIN_COMPATIBILITY_2 1
+/*
+ * Enables debugging: memory tracing, assert, etc., contains debug level
+ */
+#define WXDEBUG 1
+/*
+ * Enables debugging version of wxObject::new and wxObject::delete (IF WXDEBUG)
+ * WARNING: this code may not work with all architectures, especially
+ * if alignment is an issue.
+ */
+#define wxUSE_MEMORY_TRACING 0
+/*
+ * Enable debugging version of global memory operators new and delete
+ * Disable it, If this causes problems (e.g. link errors)
+ */
+#define wxUSE_DEBUG_NEW_ALWAYS 0
+/*
+ * VZ: What does this one do? (FIXME)
+ */
+#define wxUSE_DEBUG_CONTEXT 0
+/*
+ * In debug mode, causes new to be defined to
+ * be WXDEBUG_NEW (see object.h). If this causes
+ * problems (e.g. link errors), set this to 0.
+ */
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
+/*
+ * Matthews garbage collection (used for MrEd?)
+ */
+#define WXGARBAGE_COLLECTION_ON 0
+/*
+ * Use splines
+ */
+#define wxUSE_SPLINES 1
+/*
+ * wxUSE_DYNAMIC_CLASSES is TRUE for the Xt port
+ */
+#define wxUSE_DYNAMIC_CLASSES 1
+
+/*
+ * Support for metafiles
+ */
+#define wxUSE_METAFILE 0
+
+/*
+ * wxMiniFrame
+ */
+#define wxUSE_MINIFRAME 1
+
+/*
+ * wxHTML
+ */
+#define wxUSE_HTML 1
+
+/*
+ * (virtual) filesystems code
+ */
+#define wxUSE_FS_INET 1
+#define wxUSE_FS_ZIP 1
+
+/*
+ * A class that shows info window when app is busy
+ * (works exactly like wxBusyCursor)
+ */
+#define wxUSE_BUSYINFO 1
+
+/*
+ * Zip stream for accessing files stored inside .zip archives
+ */
+#define wxUSE_ZIPSTREAM 1
+
+
+/*
+ * Disable this if your compiler can't cope
+ * with omission of prototype parameters.
+ */
+#define REMOVE_UNUSED_ARG 1
+/*
+ * The const keyword is being introduced more in wxWindows.
+ * You can use this setting to maintain backward compatibility.
+ * If 0: will use const wherever possible.
+ * If 1: will use const only where necessary
+ * for precompiled headers to work.
+ * If 2: will be totally backward compatible, but precompiled
+ * headers may not work and program size will be larger.
+ */
+#define CONST_COMPATIBILITY 0
+
+/* The type of 3rd argument to getsockname() - usually size_t or int */
+#define SOCKLEN_T socklen_t
+
+/* Define if you have dlopen() */
+#define HAVE_DLOPEN 1
+
+/* Define if you have nanosleep() */
+#define HAVE_NANOSLEEP 1
+
+/* Define if you have sched_yield */
+#define HAVE_SCHED_YIELD 1
+
+/* Define if you have pthread_cancel */
+#define HAVE_PTHREAD_CANCEL 1
+
+/* Define if you have all functions to set thread priority */
+#define HAVE_THREAD_PRIORITY_FUNCTIONS 1
+
+/* Define if you can specify exit functions to a thread */
+/* #undef HAVE_THREAD_CLEANUP_FUNCTIONS */
+
+/* Define if you have shl_load() */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define if you have vsnprintf() */
+#define HAVE_VSNPRINTF 1
+
+/* Define if you have usleep() */
+/* #undef HAVE_USLEEP */
+
+/* Define if you have wcslen function */
+#define HAVE_WCSLEN 1
+
+/* The number of bytes in a char. */
+#define SIZEOF_CHAR 1
+
+/* The number of bytes in a int. */
+#define SIZEOF_INT 4
+
+/* The number of bytes in a int *. */
+#define SIZEOF_INT_P 4
+
+/* The number of bytes in a long. */
+#define SIZEOF_LONG 4
+
+/* The number of bytes in a long long. */
+#define SIZEOF_LONG_LONG 8
+
+/* The number of bytes in a short. */
+#define SIZEOF_SHORT 2
+
+/* Define if you have the dlopen function. */
+#define HAVE_DLOPEN 1
+
+/* Define if you have the gethostname function. */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have the nanosleep function. */
+#define HAVE_NANOSLEEP 1
+
+/* Define if you have the shl_load function. */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define if you have the uname function. */
+#define HAVE_UNAME 1
+
+/* Define if you have the usleep function. */
+/* #undef HAVE_USLEEP */
+
+/* Define if you have the vfork function. */
+#define HAVE_VFORK 1
+
+/* Define if you have the vsnprintf function. */
+#define HAVE_VSNPRINTF 1
+
+/* Define if you have the vsscanf function. */
+#define HAVE_VSSCANF 1
+
+/* Define if you have the header file. */
+#define HAVE_X11_XKBLIB_H 1
+
+/* Define if you have the header file. */
+#define HAVE_FNMATCH_H 1
+
+/* Define if you have the header file. */
+#define HAVE_IOSTREAM 1
+
+/* Define if you have the header file. */
+/* #undef HAVE_LINUX_JOYSTICK_H */
+
+/* Define if you have the header file. */
+#define HAVE_SCHED_H 1
+
+/* Define if you have the header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define if you have the header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define if you have the header file. */
+/* #undef HAVE_WCSTR_H */
+
+/* Name of package */
+#define PACKAGE "wxWindows"
+
+/* Version number of package */
+#define VERSION "2.1.0"
+
+
+#endif /* __WX_SETUP_H__ */
diff --git a/include/wx/gtk/warning.xpm b/include/wx/gtk/warning.xpm
new file mode 100644
index 0000000000..9dfbf97e15
--- /dev/null
+++ b/include/wx/gtk/warning.xpm
@@ -0,0 +1,324 @@
+/* XPM */
+static char *warning_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 270 2",
+" c Gray0",
+". c #010100000000",
+"X c #010101010000",
+"o c #010101010101",
+"O c #020201010000",
+"+ c #030301010000",
+"@ c #020202020000",
+"# c #020202020202",
+"$ c Gray1",
+"% c #040403030000",
+"& c #050504040000",
+"* c #070704040000",
+"= c #040404040404",
+"- c Gray2",
+"; c #060606060606",
+": c #090907070000",
+"> c #090907070101",
+", c #0e0e03030202",
+"< c #0d0d04040303",
+"1 c #0a0a08080000",
+"2 c #0b0b09090000",
+"3 c #0e0e0b0b0000",
+"4 c Gray3",
+"5 c #090909090909",
+"6 c Gray4",
+"7 c #0b0b0b0b0b0b",
+"8 c Gray6",
+"9 c #171704040202",
+"0 c #10100d0d0101",
+"q c #13130f0f0000",
+"w c #13130f0f0101",
+"e c #1c1c07070505",
+"r c #151510100101",
+"t c #191913130000",
+"y c #1d1d16160202",
+"u c #1e1e17170202",
+"i c #111111111111",
+"p c #161616161616",
+"a c #212107070505",
+"s c #222207070505",
+"d c #232307070404",
+"f c #232307070505",
+"g c #262608080606",
+"h c #2b2b0a0a0707",
+"j c #2c2c08080505",
+"k c #2e2e08080505",
+"l c #2e2e09090606",
+"z c #2e2e0a0a0808",
+"x c #24241c1c0303",
+"c c #25251d1d0202",
+"v c #25251d1d0303",
+"b c #27271e1e0202",
+"n c #3b3b0b0b0707",
+"m c #3b3b0c0c0909",
+"M c #3c3c0c0c0909",
+"N c #3d3d0c0c0909",
+"B c #3e3e0c0c0808",
+"V c #292920200303",
+"C c #2c2c23230303",
+"Z c #313126260404",
+"A c #313126260505",
+"S c #333327270404",
+"D c #38382c2c0505",
+"F c #3c3c2e2e0505",
+"G c Gray17",
+"H c #41410c0c0707",
+"J c #42420c0c0606",
+"K c #42420c0c0707",
+"L c #42420d0d0808",
+"P c #44440e0e0909",
+"I c #44440e0e0a0a",
+"U c #47470e0e0909",
+"Y c #46460e0e0a0a",
+"T c #49490d0d0707",
+"R c #4d4d0d0d0707",
+"E c #49490e0e0909",
+"W c #49490e0e0a0a",
+"Q c #4d4d10100c0c",
+"! c #52520e0e0707",
+"~ c #575711110909",
+"^ c #5a5a12120d0d",
+"/ c #5d5d11110b0b",
+"( c #5e5e11110a0a",
+") c #5c5c12120d0d",
+"_ c #5e5e12120c0c",
+"` c #404031310404",
+"' c #404031310505",
+"] c #414132320606",
+"[ c #424233330505",
+"{ c #454535350606",
+"} c #4b4b3a3a0707",
+"| c #4e4e3d3d0606",
+" . c #51513f3f0707",
+".. c #606012120b0b",
+"X. c #636311110909",
+"o. c #616113130e0e",
+"O. c #646412120909",
+"+. c #6a6a13130b0b",
+"@. c #6e6e13130a0a",
+"#. c #6e6e14140a0a",
+"$. c #6f6f14140b0b",
+"%. c #6d6d16160e0e",
+"&. c #6e6e15150c0c",
+"*. c #717115150d0d",
+"=. c #727215150d0d",
+"-. c #737315150c0c",
+";. c #737316160e0e",
+":. c #777715150c0c",
+">. c #787815150b0b",
+",. c #787815150c0c",
+"<. c #737317171111",
+"1. c #7a7a17171010",
+"2. c #787818181212",
+"3. c #7b7b19191212",
+"4. c #525240400707",
+"5. c #676750500909",
+"6. c #696952520a0a",
+"7. c #717157570a0a",
+"8. c #74745a5a0c0c",
+"9. c #7a7a61610909",
+"0. c #7c7c61610c0c",
+"q. c #858517170c0c",
+"w. c #868618180d0d",
+"e. c #8a8a18180c0c",
+"r. c #8a8a19190f0f",
+"t. c #808018181010",
+"y. c #80801a1a1313",
+"u. c #868619191010",
+"i. c #86861b1b1313",
+"p. c #87871b1b1212",
+"a. c #85851b1b1414",
+"s. c #88881a1a1111",
+"d. c #89891a1a1111",
+"f. c #8b8b1c1c1515",
+"g. c #8d8d1b1b1212",
+"h. c #8f8f1b1b1010",
+"j. c #8c8c1c1c1414",
+"k. c #90901a1a0f0f",
+"l. c #91911a1a0f0f",
+"z. c #92921a1a0e0e",
+"x. c #9b9b1b1b0e0e",
+"c. c #9a9a1c1c0f0f",
+"v. c #93931b1b1010",
+"b. c #90901e1e1212",
+"n. c #97971e1e1515",
+"m. c #99991d1d1313",
+"M. c #98981d1d1414",
+"N. c #98981f1f1717",
+"B. c #99991f1f1616",
+"V. c #9a9a1f1f1515",
+"C. c #9b9b1e1e1414",
+"Z. c #9b9b1f1f1717",
+"A. c #9c9c1e1e1313",
+"S. c #9d9d1e1e1212",
+"D. c #9e9e1d1d1111",
+"F. c #9f9f1d1d1010",
+"G. c #9f9f1e1e1313",
+"H. c #9d9d1f1f1515",
+"J. c #9c9c1f1f1616",
+"K. c #9e9e1e1e1414",
+"L. c #a0a01d1d0f0f",
+"P. c #a1a11c1c0e0e",
+"I. c #a2a21d1d0f0f",
+"U. c #a3a31c1c0e0e",
+"Y. c #a3a31d1d0f0f",
+"T. c #a4a41c1c0e0e",
+"R. c #a6a61d1d0f0f",
+"E. c #a7a71d1d0e0e",
+"W. c #a9a91d1d0f0f",
+"Q. c #a1a11d1d1010",
+"!. c #a1a11d1d1111",
+"~. c #a0a01e1e1212",
+"^. c #a2a21d1d1010",
+"/. c #b3b31f1f0f0f",
+"(. c #b2b21f1f1010",
+"). c #b9b920200f0f",
+"_. c #b6b621211111",
+"`. c #b7b720201010",
+"'. c #baba20201010",
+"]. c #bdbd21211111",
+"[. c #bfbf22221212",
+"{. c #abab42421616",
+"}. c #b1b140401010",
+"|. c #b9b95b5b1313",
+" X c #bbbb5b5b1111",
+".X c #bfbf6f6f1616",
+"XX c #92924f4f4848",
+"oX c #c6c622221010",
+"OX c #c8c823231212",
+"+X c #caca23231010",
+"@X c #cdcd25251313",
+"#X c #d1d124241212",
+"$X c #d2d224241111",
+"%X c #d2d226261414",
+"&X c #d5d525251111",
+"*X c #d4d425251313",
+"=X c #d9d926261313",
+"-X c #dbdb26261212",
+";X c #d8d827271515",
+":X c #dcdc26261313",
+">X c #dede26261212",
+",X c #e0e027271212",
+"XR.T.T.^XTXxXTXRXBX^.F.k.T `X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X1XwX'.T.T.DXCXX 3 ' RXRX^.!.D.-. `X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`XE.rX#XT.T.T.~X9.* q @ RXRXnX!.D.k.E `X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X4X5X(.T.T.)X~XC + . t RXRXYX!.!.S.=. `X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`XE.uXOXT.T.FX~X~Xc % V RXYXYXnX~.S.h.E `X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`XE.eX:XR.T.Y.~X~X~Xb y [ YXYXYXYX~.~.S.*. `X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X@.0X].T.T.GX~X~XRX| ` { YXYXYXIXmX~.S.d.U `X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`XR.aX=XR.T.Y.~X~X~XRXu X v ] YXYXIXIXIX~.G.m.( `X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X 8.PXPXWXWXWXWXJXJXJXH.J.j.Y - `X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`XR.3X;XY.Y.zX(XEXRXYXYXYXYXIXIXcXA 0.HXPXWXWXWXWXJXJXJXJX.XJ.B.o. 7 `X`X`X`X`X",
+"`X`X`X`X`X`X`X`X#.7X[.Y.^.^.^.^.!.!.!.|.hXlXNXLXUXUXUX!X!X!X!XQXQXQXQXKXkX{.B.2.g G `X`X`X`X`X",
+"`X`X`X`X`X`X`X`XJ @XY.L.^.^.^.!.!.!.!.~.~.~.~.G.G.G.G.K.K.K.H.H.H.H.J.J.J.J.Z.f.I `X`X`X`X",
+"`X`X`X`X`X`X`X`X9 >.! +.$.,.w.r.v.D.S.~.~.~.G.G.G.G.K.K.K.H.H.H.H.J.J.J.J.Z.Z.N.^ o `X`X`X`X",
+"`X`X`X`X`X`X`X`X - # # , d l H K ~ / ..&.;.;.;.t.s.s.s.s.p.p.p.i.i.i.i.a.a.y.<.Q # ; `X`X`X`X",
+"`X`X`X`X`X`X`X`X # # # # # # # # # < s a a f L B B B B B B N N N M M M m z e # `X`X`X`X",
+"`X`X`X`X`X`X`X`X $ $ # # # # # # # # # # # # # # # # # # # # # # # # # o `X`X`X`X",
+"`X`X`X`X`X`X`X`X`X 8 6 o o = = $ $ # # # # # # # # # # # # # # $ $ `X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X 5 5 4 `X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X `X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X"
+};
diff --git a/include/wx/gtk1/error.xpm b/include/wx/gtk1/error.xpm
new file mode 100644
index 0000000000..c7fd8a236e
--- /dev/null
+++ b/include/wx/gtk1/error.xpm
@@ -0,0 +1,591 @@
+/* XPM */
+static char *error_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 537 2",
+" c Gray0",
+". c #000001010101",
+"X c #010101010101",
+"o c #010102020202",
+"O c #020202020202",
+"+ c #020203030303",
+"@ c #030302020202",
+"# c Gray1",
+"$ c #020204040404",
+"% c #030304040404",
+"& c #070703030202",
+"* c #040404040404",
+"= c #040405050505",
+"- c Gray2",
+"; c #050507070707",
+": c #060606060606",
+"> c #060607070707",
+", c #070707070707",
+"< c #070709090909",
+"1 c #0c0c04040303",
+"2 c #0d0d04040404",
+"3 c #0d0d05050404",
+"4 c Gray3",
+"5 c #080809090909",
+"6 c #090909090909",
+"7 c #0b0b0b0b0b0b",
+"8 c #0a0a0d0d0d0d",
+"9 c #0b0b0d0d0d0d",
+"0 c #0c0c0c0c0c0c",
+"q c Gray5",
+"w c #0d0d0f0f1010",
+"e c #101006060505",
+"r c #141404040303",
+"t c #141407070606",
+"y c #171707070606",
+"u c #1d1d09090707",
+"i c #181809090808",
+"p c #1d1d09090808",
+"a c #1e1e0a0a0808",
+"s c #1e1e0b0b0909",
+"d c #101010101010",
+"f c #101011111212",
+"g c Gray7",
+"h c #131313131313",
+"j c Gray9",
+"k c #181818181818",
+"l c #191919191919",
+"z c Gray11",
+"x c #1d1d1d1d1d1d",
+"c c Gray12",
+"v c #24240b0b0a0a",
+"b c #27270d0d0b0b",
+"n c #2b2b0e0e0c0c",
+"m c #2d2d0e0e0b0b",
+"M c #30300e0e0b0b",
+"N c #33330d0d0909",
+"B c #3a3a0f0f0b0b",
+"V c #333310100e0e",
+"C c #373710100d0d",
+"Z c #373711110e0e",
+"A c #363612120f0f",
+"S c #3d3d13130f0f",
+"D c #363612121010",
+"F c Gray14",
+"G c #252525252525",
+"H c #2a2a2a2a2a2a",
+"J c Gray18",
+"K c #323232323232",
+"L c Gray20",
+"P c Gray22",
+"I c #3f3f3f3f3f3f",
+"U c #414113130e0e",
+"Y c #414113130f0f",
+"T c #404013131010",
+"R c #404014141111",
+"E c #404015151212",
+"W c #4d4d17171212",
+"Q c #4e4e18181313",
+"! c #4e4e18181414",
+"~ c #4e4e19191515",
+"^ c #4e4e1a1a1616",
+"/ c #57571b1b1515",
+"( c #595917171010",
+") c #5b5b1a1a1313",
+"_ c #58581b1b1616",
+"` c #58581c1c1717",
+"' c #5c5c1e1e1a1a",
+"] c #5c5c1f1f1b1b",
+"[ c #6e6e19190f0f",
+"{ c #67671c1c1616",
+"} c #6b6b1b1b1212",
+"| c #68681e1e1717",
+" . c #6e6e1e1e1616",
+".. c #79791e1e1515",
+"X. c #666622221d1d",
+"o. c #6b6b24241e1e",
+"O. c #6c6c22221d1d",
+"+. c #6d6d24241f1f",
+"@. c #7d7d23231c1c",
+"#. c #727226262020",
+"$. c #757526262020",
+"%. c #777728282222",
+"&. c #7f7f28282121",
+"*. c #484848484848",
+"=. c Gray33",
+"-. c #555555555555",
+";. c #656565656565",
+":. c Gray",
+">. c #94941f1f1212",
+",. c #96961f1f1111",
+"<. c #98981f1f1111",
+"1. c #818126261e1e",
+"2. c #858523231919",
+"3. c #858525251c1c",
+"4. c #878728281e1e",
+"5. c #898921211717",
+"6. c #8a8a22221616",
+"7. c #8b8b25251c1c",
+"8. c #8c8c27271d1d",
+"9. c #888828281f1f",
+"0. c #8a8a29291f1f",
+"q. c #959520201111",
+"w. c #969620201111",
+"e. c #949424241717",
+"r. c #969624241717",
+"t. c #909024241919",
+"y. c #929225251919",
+"u. c #929225251b1b",
+"i. c #959526261b1b",
+"p. c #969624241818",
+"a. c #90902a2a1f1f",
+"s. c #969629291f1f",
+"d. c #9b9b20201313",
+"f. c #999924241616",
+"g. c #9c9c21211212",
+"h. c #9f9f21211212",
+"j. c #9d9d22221414",
+"k. c #9d9d23231414",
+"l. c #9c9c23231616",
+"z. c #989827271b1b",
+"x. c #999927271b1b",
+"c. c #9a9a26261b1b",
+"v. c #989827271c1c",
+"b. c #9c9c25251818",
+"n. c #9c9c27271b1b",
+"m. c #9d9d27271b1b",
+"M. c #999928281c1c",
+"N. c #999929291e1e",
+"B. c #9b9b28281c1c",
+"V. c #9b9b28281d1d",
+"C. c #9a9a29291e1e",
+"Z. c #9a9a2a2a1e1e",
+"A. c #9a9a2b2b1f1f",
+"S. c #9b9b2a2a1f1f",
+"D. c #9c9c28281c1c",
+"F. c #9e9e29291f1f",
+"G. c #9f9f29291e1e",
+"H. c #9e9e2a2a1e1e",
+"J. c #83832b2b2424",
+"K. c #83832c2c2525",
+"L. c #84842a2a2424",
+"P. c #8b8b29292121",
+"I. c #89892b2b2424",
+"U. c #8b8b2c2c2626",
+"Y. c #8f8f2a2a2222",
+"T. c #8f8f2b2b2323",
+"R. c #8d8d2e2e2828",
+"E. c #8f8f2f2f2828",
+"W. c #8f8f38383232",
+"Q. c #919129292020",
+"!. c #90902b2b2222",
+"~. c #91912d2d2525",
+"^. c #90902d2d2626",
+"/. c #969629292020",
+"(. c #95952c2c2323",
+"). c #97972c2c2222",
+"_. c #94942d2d2525",
+"`. c #94942e2e2626",
+"'. c #97972d2d2525",
+"]. c #96962e2e2424",
+"[. c #97972e2e2626",
+"{. c #97972f2f2727",
+"}. c #99992b2b2020",
+"|. c #99992c2c2121",
+" X c #98982d2d2323",
+".X c #99992c2c2222",
+"XX c #9b9b2c2c2121",
+"oX c #9a9a2c2c2323",
+"OX c #98982d2d2424",
+"+X c #98982e2e2525",
+"@X c #98982e2e2626",
+"#X c #9d9d2b2b2121",
+"$X c #9e9e2a2a2020",
+"%X c #9c9c2c2c2121",
+"&X c #9c9c2d2d2323",
+"*X c #9d9d2e2e2323",
+"=X c #9f9f2d2d2323",
+"-X c #9e9e2e2e2020",
+";X c #9f9f2e2e2323",
+":X c #9c9c2d2d2424",
+">X c #9d9d2f2f2525",
+",X c #9c9c2f2f2626",
+"o c #a8a822221212",
+",o c #a8a823231212",
+"O c #a9a935352929",
+",O c #a9a936362a2a",
+"+ c #dbdbacac2e2e",
+",+ c #dddda8a82a2a",
+"<+ c #ddddacac2a2a",
+"1+ c #dedeadad2929",
+"2+ c #dfdfaeae2828",
+"3+ c #dcdcadad2d2d",
+"4+ c #d0d0a1a13131",
+"5+ c #d1d1a2a23030",
+"6+ c #d1d1a3a33333",
+"7+ c #d2d2a3a33232",
+"8+ c #d3d3a3a33232",
+"9+ c #d3d3a4a43333",
+"0+ c #d1d1a4a43636",
+"q+ c #d1d1a4a43737",
+"w+ c #d2d2a4a43535",
+"e+ c #d2d2a4a43636",
+"r+ c #d5d5a5a53333",
+"t+ c #d5d5a6a63434",
+"y+ c #d4d4a6a63737",
+"u+ c #d6d6a7a73535",
+"i+ c #d7d7a7a73434",
+"p+ c #d2d2a5a53939",
+"a+ c #d3d3a6a63838",
+"s+ c #d3d3a6a63a3a",
+"d+ c #d0d0a5a53d3d",
+"f+ c #d1d1a5a53c3c",
+"g+ c #d0d0a5a53f3f",
+"h+ c #d8d8a7a73333",
+"j+ c #d9d9a8a83232",
+"k+ c #d9d9acac3232",
+"l+ c #dfdfadad3636",
+"z+ c #d9d9abab3e3e",
+"x+ c #dadaaeae3939",
+"c+ c #dbdbafaf3a3a",
+"v+ c #dadaacac3f3f",
+"b+ c #dbdbadad3e3e",
+"n+ c #dfdfb1b13535",
+"m+ c #dfdfb0b03636",
+"M+ c #dcdcb0b03b3b",
+"N+ c #ddddb0b03a3a",
+"B+ c #dedeb1b13939",
+"V+ c #e3e3afaf2222",
+"C+ c #e0e0adad2525",
+"Z+ c #e1e1aeae2424",
+"A+ c #e4e4afaf2121",
+"S+ c #e2e2b2b23232",
+"D+ c #e0e0b2b23434",
+"F+ c #cfcfa5a54040",
+"G+ c #d3d3aaaa4747",
+"H+ c #d5d5abab4343",
+"J+ c #d6d6abab4242",
+"K+ c #d4d4aaaa4444",
+"L+ c #d2d2aaaa4848",
+"P+ c #d8d8acac4040",
+"I+ c #dfdfb4b44545",
+"U+ c #fbfbfbfbfbfb",
+"Y+ c Gray99",
+"T+ c #fdfdfdfdfdfd",
+"R+ c #fefefefefefe",
+"E+ c Gray100",
+"W+ c None",
+/* pixels */
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+'O(OWOTOGOAOBONOCOZOVO W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+]O_OQOmOjOpOBokohohofozoAosOfOgOSo W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+)OIOxOiOdo7o1o>oAX,.q.BXPXPX9o0ocoDono W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+`O!OnOuOao5o:o>o,oSXh.MXKXPXPXUXTX(X)Xqouoto5. W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+^OPOzOMo5o-o:o>oFXSXw.NXKXPXIXUX/X)X)XWXXoooro#o.. W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+~OYOhOso=o-o;o>oo>oo,oO,O%o&o[XFoN.{ w W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+/OLOVo5o:o>o,oo.-X:OIX#O$O)X)X.o!Xe.p.`X$o%o*o4O6OEoJoKo/.) $ W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+DORONo;o>oCX<.JXKXk.PXLX#O$O*O%O.oXooo_Xy.t.m.*o oRo7O8OQoLoXX@.i f W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+KOcO8oFX+x+c+b+k+h+i+i+t+e+y+a+s+p+(o2X(.W % 9 W+W+W+W+W+",
+"W+W+W+W+W+W+ FOloJXV+V+Z+S+C+2+1+1+<+3+3+>+;+-+5+z+v+i+u+u+y+a+a+s+f+f+[o3X]./ + < F W+W+W+W+W+",
+"W+W+W+W+W+W+ SOfoKXV+Z+C+C+D+n+1+<+3+3+>+:+:+j+8+4+r+P+P+y+a+a+.+X+X+o+{owX_._ o ; z W+W+W+W+W+",
+"W+W+W+W+W+W+ MOgoPXZ+C+2+2+1+l+m+3+>+>+:+j+k+h+i+9+$+w+J+H+H+s+f+f+d+g+]oeX~.! . + l W+W+W+W+W+",
+"W+W+W+W+W+W+ vOxoPXC+2+2+1+<+<+B+N+>+:+j+k+#+i+i+u+0+@+&+s+K+G+d+d+=+F+}ojXI.S . + l W+W+W+W+W+",
+"W+W+W+W+W+W+ lOvoUX|O1+1+<+<+3+>+N+M+j+k+h+++++u+y+y+q+%+*+f+L+L+=+F+ +|ouX&.v . + l E+W+W+W+W+",
+"W+W+W+W+W+W+ boZo/XEX)X.oXooon.c.$o z E+W+W+W+W+",
+"W+W+W+W+W+W+ [ dOwo~X.oXoooOo$oz.i.G.oORoEoWoQoa.a._o X(o^oX[o'.}o}oqXkXcXvXmXW.^ X + - j =.W+W+W+W+W+",
+"W+W+W+W+W+W+W+ - 6.po+o'X%o&o oRoRoA.}.Qo@OPo*X~o[o[o]o[.[.|oxXzXvXhXE.X.e O + 6 J Y+W+W+W+W+W+",
+"W+W+W+W+W+W+W+ X r n.$o]X{X oRoEoWoQo|.|.)oeO(o[o{o]o}o|o{.xXvXvXdX8X#.b X + o d I Y+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+ - B D.[X[XGoEoWoQo!o!o_o(oeOnXY.+X}o|o|o9X0XvXhX8X%.D X O # 6 H :.W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+ * N 7.S.GoKoKo!o)o/o(o[oOX0O5X@X|o OcXvXgXpXR.+.V X O + + j =.E+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+L # u .s.#XLoPo;X(o[o[o]o[.bXtOxXcXfXpX6XK.] a X O + - j *.T+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+ - U 3.Q.).:X2X2XwXeXrXjXqOsXiX4XJ.o.E & O O + O 0 K T+E+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+ - 1 C | 1.P.T._.`.`.^.U.L.$.' A 3 X O O # - q J :.Y+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+ # - # O y m T Q _ ` ~ R n t @ O O O + O # g P :.E+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+ - # # # O O O O O O O O O O O + # + 7 x ;.T+Y+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+ G k : # - # # X X + . # # # O , g j -.:.R+E+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+ h 6 : 6 6 # # # 6 6 0 g F *.:.T+E+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+ L F c z z z c F K =.T+E+U+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+E+E+E+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+",
+"W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+W+"
+};
diff --git a/include/wx/gtk1/info.xpm b/include/wx/gtk1/info.xpm
new file mode 100644
index 0000000000..e7a9f5f925
--- /dev/null
+++ b/include/wx/gtk1/info.xpm
@@ -0,0 +1,532 @@
+/* XPM */
+static char *info_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 478 2",
+" c Gray0",
+". c #010101010101",
+"X c #020202020202",
+"o c #050505050404",
+"O c Gray2",
+"+ c #080808080707",
+"@ c #090909090808",
+"# c #0b0b0b0b0909",
+"$ c #0b0b0b0b0b0b",
+"% c #0c0c0c0c0b0b",
+"& c #0d0d0d0d0a0a",
+"* c #0c0c0c0c0c0c",
+"= c #0f0f0e0e0c0c",
+"- c #0f0f0f0f0e0e",
+"; c Gray6",
+": c #101010100e0e",
+"> c #121212120f0f",
+", c #101010101010",
+"< c #121212121111",
+"1 c #131313131111",
+"2 c #131313131313",
+"3 c #141414141111",
+"4 c #141414141212",
+"5 c #161616161313",
+"6 c #161616161414",
+"7 c #1a1a1a1a1717",
+"8 c #1d1d1d1d1616",
+"9 c #191919191919",
+"0 c #1e1e1e1e1e1e",
+"q c #20201d1d1313",
+"w c #202020201c1c",
+"e c #212121211d1d",
+"r c #212120201e1e",
+"t c #232323231f1f",
+"y c #242421211919",
+"u c Gray15",
+"i c #272727272727",
+"p c #2a2a2a2a2727",
+"a c #282828282828",
+"s c #2a2a2a2a2a2a",
+"d c #2c2c2c2c2a2a",
+"f c #2f2f2f2f2929",
+"g c #2d2d2d2d2d2d",
+"h c Gray18",
+"j c #313131312b2b",
+"k c #303030302f2f",
+"l c #333333332f2f",
+"z c #353535352e2e",
+"x c #383835352626",
+"c c #3b3b37372424",
+"v c #333333333131",
+"b c Gray20",
+"n c #343434343434",
+"m c #353535353535",
+"M c #393937373232",
+"N c #383838383737",
+"B c #3d3d3d3d3535",
+"V c Gray23",
+"C c #3e3e3e3e3e3e",
+"Z c #42423f3f3636",
+"A c #434340403232",
+"S c #424242423a3a",
+"D c #434343433d3d",
+"F c #444444443b3b",
+"G c #474744443939",
+"H c #4f4f49493838",
+"J c #4d4d49493c3c",
+"K c #434343434242",
+"L c #434343434343",
+"P c #474747474242",
+"I c #464646464444",
+"U c #464646464646",
+"Y c Gray28",
+"T c #4b4b4b4b4444",
+"R c #4d4d4c4c4747",
+"E c #4e4e4e4e4545",
+"W c #494949494949",
+"Q c #4b4b4b4b4b4b",
+"! c #4e4e4e4e4e4e",
+"~ c #4f4f4f4f4e4e",
+"^ c #525252524848",
+"/ c #525252524949",
+"( c #555555554e4e",
+") c #565656564f4f",
+"_ c #5a5a59594c4c",
+"` c #5f5f5c5c4f4f",
+"' c Gray32",
+"] c Gray33",
+"[ c #585858585151",
+"{ c #585858585858",
+"} c #595959595858",
+"| c #5c5c5c5c5b5b",
+" . c #5f5f5e5e5959",
+".. c #6d6d66664d4d",
+"X. c #646461615959",
+"o. c #71716d6d5b5b",
+"O. c #797971715757",
+"+. c #626262626262",
+"@. c Gray39",
+"#. c #646464646464",
+"$. c #696969696464",
+"%. c #6d6d6d6d6464",
+"&. c #696969696868",
+"*. c #6b6b6b6b6a6a",
+"=. c #6d6d6d6d6d6d",
+"-. c #6f6f6f6f6f6f",
+";. c #73736f6f6161",
+":. c #707070706b6b",
+">. c #717171716f6f",
+",. c #757575756c6c",
+"<. c #797976766c6c",
+"1. c #7f7f7a7a6464",
+"2. c Gray45",
+"3. c #757575757171",
+"4. c #7b7b7b7b7a7a",
+"5. c #7b7b7b7b7b7b",
+"6. c #7f7f7f7f7b7b",
+"7. c Gray49",
+"8. c #818179795959",
+"9. c #808079795f5f",
+"0. c #8f8f82825555",
+"q. c #959588885757",
+"w. c #9b9b8c8c5a5a",
+"e. c #929289896363",
+"r. c #9d9d91916464",
+"t. c #a9a999995959",
+"y. c #abab9b9b5b5b",
+"u. c #b3b3a0a05e5e",
+"i. c #a9a9a0a07777",
+"p. c #aeaea4a47575",
+"a. c #b9b9a9a96464",
+"s. c #babaa8a86464",
+"d. c #b7b7aaaa7c7c",
+"f. c #c1c1aeae6767",
+"g. c #c4c4b2b26969",
+"h. c #c4c4b3b36b6b",
+"j. c #c6c6b3b36a6a",
+"k. c #c9c9b7b76d6d",
+"l. c #ccccb9b96e6e",
+"z. c #c1c1b3b37272",
+"x. c #c2c2b0b07171",
+"c. c #c6c6b6b67777",
+"v. c #cacab8b87171",
+"b. c #cdcdbcbc7070",
+"n. c #d1d1bcbc7070",
+"m. c #d1d1bfbf7373",
+"M. c #d1d1c0c07676",
+"N. c #d9d9c5c57777",
+"B. c #d9d9c6c67777",
+"V. c #dadac7c77777",
+"C. c #d9d9c6c67979",
+"Z. c #dbdbc7c77c7c",
+"A. c #dbdbc8c87878",
+"S. c #dbdbc9c97c7c",
+"D. c #dadac8c87e7e",
+"F. c #dbdbc9c97e7e",
+"G. c #e2e2cdcd7f7f",
+"H. c #e4e4d0d07e7e",
+"J. c #e4e4d0d07f7f",
+"K. c #e4e4d1d17e7e",
+"L. c #e6e6d2d27e7e",
+"P. c #818181818181",
+"I. c #838383838383",
+"U. c #848484848484",
+"Y. c Gray53",
+"T. c #898987878282",
+"R. c #8d8d8d8d8585",
+"E. c #8d8d8d8d8787",
+"W. c #929292928d8d",
+"Q. c #969696968e8e",
+"!. c #989895958585",
+"~. c #9b9b95958484",
+"^. c #929292929292",
+"/. c #939393939393",
+"(. c Gray58",
+"). c Gray60",
+"_. c #9d9d9d9d9999",
+"`. c #9e9e9e9e9a9a",
+"'. c #a2a29c9c8484",
+"]. c None",
+"[. c #b8b8b0b09595",
+"{. c #a0a0a0a0a0a0",
+"}. c Gray63",
+"|. c #a5a5a5a5a5a5",
+" X c #a7a7a7a7a7a7",
+".X c #a9a9a9a9a4a4",
+"XX c #aeaeaeaea9a9",
+"oX c #babab6b6a9a9",
+"OX c #b3b3b3b3b0b0",
+"+X c #b3b3b3b3b1b1",
+"@X c #b4b4b4b4b2b2",
+"#X c #b4b4b4b4b4b4",
+"$X c #b6b6b6b6b6b6",
+"%X c #b9b9b9b9b1b1",
+"&X c Gray73",
+"*X c #bbbbbbbbbbbb",
+"=X c #bcbcbcbcb9b9",
+"-X c Gray75",
+";X c #c1c1b9b99999",
+":X c #c2c2bebeafaf",
+">X c #d7d7c4c48080",
+",X c #d8d8c7c78e8e",
+"o c #f3f3e4e4a1a1",
+",o c #f3f3e6e6a3a3",
+"O c #ecececececec",
+",O c Gray93",
+"+ c None",
+",+ c None",
+/* pixels */
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+(O>+>+>+>+>+>+>+>+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+QOO+>+>+>+>+>+>+>+++!OO+>+>+>+>+>+>+>+>+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+++/O$+>+>+>+>+>+>+>+(O(O/O>+>+>+>+>+>+>+>+>+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+$+)OO+>+>+>+>+>+>+%+$+++O+>+>+>+>+>+>+>+>+>+>+>+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+O+++++-+>+>+>+>+;+-+;+-+@+>+>+>+>+>+>+)O>+>+>+>+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+@+;+;+-+>+>+>+>+;+:+:+;+%+>+>+>+>+%+/O~O>+>+>+>+>+,+",
+",+,+,+,+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+>+>+-+;+:+:+:+>+>+:+:+:+:+:+:+>+;+-+++++)O$+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+/OQO++>+>+>+>+>+>+;+:+:+:+:+:+:+:+:+:+:+:+:+:+;+-+-+;+++%+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+)O~O/O)O@+;+>+>+>+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+:+;+@+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+$+)O#+;+;+;+:+:+:+:+:+:+COVoCoCo,O:+:+:+:+:+:+:+:+;+;+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+>+++-+:+:+:+:+:+:+,O).Q 2 h M Z y a +.no}O:+:+:+:+:+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+-+:+:+:+:+:+nog ;.7XjX[XYXJXiX,Xd.w.` $X:+:+:+:+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+;+;+:+:+:+}.0 :XVXTX5oyoeo#o$o.ovXG.>Xr I.`O:+:+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+:+:+:+no0 FosXgXuo[o%O{oro*o@o/XcX0X6X} /.:+:+:+:+;+;+%+@+/OQO",
+",+,+,+,+,+,+,+>+>+>+(O!O(OO+@+-+;+:+:+}OY oX1omXpo8OfOMOBOmOOO&o+oDXxX+",
+",+,+,+,+,+,+,+>+>+>+WO~O)O@+-+;+:+:+:+#X] ZXNXoo_opO6OhOsOzOfOko%oOoRXyXn.'.' :+:+:+:+;+%+%+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+++)O$+;+:+:+:+:+U.!.rXEXto9OgO6OqO6OtOsO^o4o(XFXSXA.c.p Po:+:+:+;+;+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+-+%+;+:+:+:+#.;XaX}XxoiOpOdOaO.O7OXOgo3oOoOoKXH.f.X.{.:+:+:+:+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+:+:+:+:+#.;XpX{XxoqOlOlOwO6O#O`o!o+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+>+:+:+:+@.[.pXEXxosONOcOyOjO5O/odo2o`X|XHXqXl.O.(.:+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+;+:+:+:+P.T.BX)XwopObOuOkOnOcolo(o,o^X~XGXK.g...|.:+:+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+>+-+:+:+:+-XU zXMX0o$ONO OrO)oioao=o]X!XWXhXB.y.q Jo:+:+:+>+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+>+EOX+&+&+*+`O-.~.bXXo|ovO0O4Ozo6o9o-oQXRXkXJ.b.8.! `O:+:+:+;+>+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+>+>+++[OX+&+&+*+*+YoC fXqo}oxOeO'o7o o:o'XCXwXF.N.a.H X:+:+:+:+;+-+>+>+>+",
+",+,+,+,+,+,+,+>+>+>+>+++(O++[O|Oo+&+*+*+=+u PXjo+O@O]o~o>oUXLXlXeXD.V.h.q.m FO:+:+:+:+;+$+%+>+>+",
+",+,+,+,+,+,+,+,+>+>+>+O+(OO+TO[O.+o+&+*+*OA nXhooOWoQo8o'XjXdX1XM.m.k.r.D }.:+:+:+:+;+-+++O+$+>+",
+",+,+,+,+,+,+,+,+>+>+>+)O++%+ROo+{OX+o+&+voJ tXfosoAX;oPXjX8XC.v.z.p.1.$ 7.}O:+:+:+;+-+@+O+)O^O>+",
+",+,+,+,+,+,+,+,+>+>+>+>+>+>+'O|Oo+*+=+=+%.< x ._ i.uX9XZ.S.s.0.c = W *X:+:+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+_O]Oo+&+*+=+z _.@X+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+>+>+>+>+>+YO'O|Oo+&+`Oo 6 ( R.GoKONo[ R 9.o.s Ko*+*+:+:+:+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+>+IOYO]O|Oo+{ t Mo.XB 1 E.bo4.| & V &X*+*+*+:+:+;+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+>+>+>+>+HOIOYOVO|O9 ^ Ho=+LOZof P >.3.; >O&+&+&+&+:+:+-+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+,+>+>+>+AOHOIO>OVO + f Q.To ++X:.~ S L =+=+=+o+o+:+:+%+>+>+>+>+>+>+>+>+>+>+",
+",+,+,+,+,+,+,+,+,+,+,+,+>+>+3OAOHO;O9 =XXXT - W.^.-.&.4 Y.*+*+*+X+[O;+;+@+>+>+>+>+>+>+>+>+>+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+>+>+:O3OAOHO ,.moVOVO%X/ I 6.=.O LO&+o+o+o+'O++@+O+%+>+>+>+>+>+>+>+>+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+>+Eo:O3OAO F v OX1OSo&.K ) i + +|O|O|O]O>+%+(O@+>+>+>+>+>+>+>+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+5XEo-O2O* 5 > f d `.-.*. n ]O]O]O'O'O_O>+>+++O+>+>+>+>+>+>+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].5XRo-OAo : e w N &.2. UOYOYOYOUOIOPO>+>+>+>+>+>+>+>+>+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].Do&O3 @ 5 1 # j l k , JOJOJOHOHODOSO>+>+>+>+>+>+>+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].5XE . 3 7 % : PoUoAOAOAOAOZO3O3O>+>+>+>+>+>+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].X X . X * -O:O2O2O2O2O2O:O-O-O>+>+>+>+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].3X4XDoRoRo=O=O=O=O=ORoRoDo>+>+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].].].].].].5X5X5X5X5X].].].,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].].].].].].].].].].].].].].,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+].].].].].].].].].].].].].].].].].].].].].,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+",
+",+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+"
+};
diff --git a/include/wx/gtk1/palette.h b/include/wx/gtk1/palette.h
new file mode 100644
index 0000000000..8574526cb3
--- /dev/null
+++ b/include/wx/gtk1/palette.h
@@ -0,0 +1,59 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: palette.h
+// Purpose:
+// Author: Robert Roebling
+// Created: 01/02/97
+// Id:
+// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef __GTKPALETTEH__
+#define __GTKPALETTEH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class wxPalette;
+
+//-----------------------------------------------------------------------------
+// wxPalette
+//-----------------------------------------------------------------------------
+
+class wxPalette: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPalette)
+
+ public:
+
+ wxPalette();
+ wxPalette( int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue );
+ wxPalette( const wxPalette& palette );
+ ~wxPalette();
+ wxPalette& operator = ( const wxPalette& palette );
+ bool operator == ( const wxPalette& palette );
+ bool operator != ( const wxPalette& palette );
+ bool Ok() const;
+
+ bool Create( int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ int GetPixel( const unsigned char red, const unsigned char green, const unsigned char blue ) const;
+ bool GetRGB( int pixel, unsigned char *red, unsigned char *green, unsigned char *blue ) const;
+
+ // no data
+};
+
+#define wxColorMap wxPalette
+#define wxColourMap wxPalette
+
+#endif // __GTKPALETTEH__
diff --git a/include/wx/gtk1/question.xpm b/include/wx/gtk1/question.xpm
new file mode 100644
index 0000000000..15ccf8968c
--- /dev/null
+++ b/include/wx/gtk1/question.xpm
@@ -0,0 +1,155 @@
+/* XPM */
+static char *question_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 101 2",
+" c Gray0",
+". c Transparent",
+"X c #010101010101",
+"o c #000000000202",
+"O c #000001010202",
+"+ c #010101010202",
+"@ c #010102020303",
+"# c #020202020202",
+"$ c #020202020303",
+"% c Gray1",
+"& c #030305050707",
+"* c #040404040404",
+"= c #040404040606",
+"- c #070707070707",
+"; c #060607070808",
+": c #060608080a0a",
+"> c #060608080b0b",
+", c Gray3",
+"< c #0d0d0d0d0c0c",
+"1 c Gray6",
+"2 c #191915150d0d",
+"3 c Gray8",
+"4 c Gray10",
+"5 c #22221c1c1212",
+"6 c #393939393939",
+"7 c #2b2b3d3d6161",
+"8 c #353545456464",
+"9 c #65654f4f2424",
+"0 c #6b6b55552727",
+"q c #6e6e55552626",
+"w c #707056562727",
+"e c #717159592929",
+"r c #73735f5f3b3b",
+"t c #7c7c62622d2d",
+"y c #7f7f69694141",
+"u c Gray39",
+"i c #727272727272",
+"p c #737375757979",
+"a c Gray50",
+"s c #808063632d2d",
+"d c #828266662f2f",
+"f c #87876a6a3131",
+"g c #8c8c6d6d3131",
+"h c #929273733535",
+"j c #939374743535",
+"k c #949475753636",
+"l c #979777773737",
+"z c #99997a7a3b3b",
+"x c #9d9d7d7d3a3a",
+"c c #a2a27f7f3b3b",
+"v c #92927c7c5252",
+"b c #a6a682823c3c",
+"n c #a8a884843d3d",
+"m c #aaaa86863e3e",
+"M c #a6a687874848",
+"N c #a3a38e8e5555",
+"B c #a4a48b8b5a5a",
+"V c #b3b38d8d4040",
+"C c #b8b892924343",
+"Z c #b9b993934444",
+"A c #bebe95954444",
+"S c #bebe9b9b5353",
+"D c #bebea3a36363",
+"F c #bfbfa1a16a6a",
+"G c #bebea2a27272",
+"H c #c0c097974545",
+"J c #c3c39f9f5555",
+"K c #c3c39f9f5757",
+"L c #c9c9a4a45b5b",
+"P c #d2d2a6a64c4c",
+"I c #d2d2a6a64d4d",
+"U c #d8d8abab4e4e",
+"Y c #d8d8acac5858",
+"T c #d8d8acac5b5b",
+"R c #d8d8b1b15f5f",
+"E c #c3c3a4a46666",
+"W c #c6c6a7a76a6a",
+"Q c #c9c9acac7373",
+"! c #d2d2b0b06c6c",
+"~ c #d8d8b1b16363",
+"^ c #d8d8b1b16565",
+"/ c #dcdcb4b46363",
+"( c #d8d8b5b56e6e",
+") c #d8d8b6b66e6e",
+"_ c #dadab8b87272",
+"` c #ddddbcbc7474",
+"' c #d8d8baba7b7b",
+"] c #f7f7c3c35a5a",
+"[ c #f7f7c9c96d6d",
+"{ c #f7f7cfcf7e7e",
+"} c #aaaaaaaaaaaa",
+"| c #d8d8bebe8686",
+" . c #dcdcc4c49494",
+".. c #f7f7d4d48c8c",
+"X. c #f7f7d8d89999",
+"o. c #f7f7dcdca5a5",
+"O. c #f7f7dfdfafaf",
+"+. c #f7f7e2e2b8b8",
+"@. c #f7f7e5e5c0c0",
+"#. c Gray100",
+"$. c None",
+/* pixels */
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.< $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. c C U x b t $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. U X.X.+.X.' ' ' S b $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ] O.@.X...] ] ] { ' R b q $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.< ] O.o.] n j j m ] ] { ) R b * $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$. D X.+.] k h ] ] [ R R s 1 $.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.< [ @.{ k o 7 @ K ] { U R b % $.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. N ..O.U o 8 a a B ] [ R U b # #.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. I { ] b 8 a #.#. B [ [ ) U d # } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. ] { ] b a #.#.$. B ] ) ) U 9 % } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. / R A d a #.$. E [ ' U b a } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. a #.$. g ! | R U e + a } #.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$. : a #. Z ..| U A 3 a #.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$. a a a a a a - V [ | U U $ a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. a a a a #. ] ..( Y z . 3 a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. 0 J ._ Q F 2 3 a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. f ! ( L W y & a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. l ' ^ T G . p } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. H ' ~ T v = a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. U | R U r a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. S ' U A X a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. M M b s ; } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. 4 6 O a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. O > a #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. a i u a a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.5 , #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ` { ..A $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. { X.X.U # $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ....R A # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. ..) U A # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. P R A w # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. # } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. + a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. , , , a a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$. a a a } #.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.",
+"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$."
+};
diff --git a/include/wx/gtk1/settings.h b/include/wx/gtk1/settings.h
new file mode 100644
index 0000000000..9e7db68bcd
--- /dev/null
+++ b/include/wx/gtk1/settings.h
@@ -0,0 +1,41 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose:
+// Author: Robert Roebling
+// Id: $Id$
+// Copyright: (c) 1998 Robert Roebling
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __GTKSETTINGSH__
+#define __GTKSETTINGSH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+#include "wx/gdicmn.h"
+#include "wx/pen.h"
+#include "wx/font.h"
+
+class wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ inline static void Init() {}
+ static void Done();
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // __GTKSETTINGSH__
diff --git a/include/wx/gtk1/setup0.h b/include/wx/gtk1/setup0.h
new file mode 100644
index 0000000000..cca48903c0
--- /dev/null
+++ b/include/wx/gtk1/setup0.h
@@ -0,0 +1,672 @@
+/* setup.h. Generated automatically by configure. */
+/* setup.h.in. Generated automatically from configure.in by autoheader. */
+/* Generate setup.h.in from this file using autoheader. */
+/* */
+/* Version: $Id$ */
+
+/* This define (__WX_SETUP_H__) is used both to insure setup.h is included
+ * only once and to indicate that we are building using configure. */
+#ifndef __WX_SETUP_H__
+#define __WX_SETUP_H__
+
+#ifdef __GNUG__
+ #pragma interface
+#endif
+
+
+/* Define to empty if the keyword does not work. */
+/* #undef const */
+
+/* Define to `int' if doesn't define. */
+/* #undef gid_t */
+
+/* Define if you don't have vprintf but do have _doprnt. */
+/* #undef HAVE_DOPRNT */
+
+/* Define if you have the vprintf function. */
+#define HAVE_VPRINTF 1
+
+/* Define as __inline if that's what the C compiler calls it. */
+/* #undef inline */
+
+/* Define to `int' if doesn't define. */
+/* #undef mode_t */
+
+/* Define to `long' if doesn't define. */
+/* #undef off_t */
+
+/* Define to `int' if doesn't define. */
+/* #undef pid_t */
+
+/* Define to `unsigned' if doesn't define. */
+/* #undef size_t */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to `int' if doesn't define. */
+/* #undef uid_t */
+
+/* Define if your processor stores words with the most significant
+ byte first (like Motorola and SPARC, unlike Intel and VAX). */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/* Define if lex declares yytext as a char * by default, not a char[]. */
+#define YYTEXT_POINTER 1
+
+#define __WXGTK12__ 1
+
+/*
+ * Define to 1 for Unix[-like] system
+ */
+#define wxUSE_UNIX 1
+
+#define __UNIX__ 1
+#define __LINUX__ 1
+/* #undef __SGI__ */
+/* #undef __HPUX__ */
+/* #undef __SYSV__ */
+/* #undef __SVR4__ */
+/* #undef __AIX__ */
+/* #undef __SUN__ */
+/* #undef __SOLARIS__ */
+/* #undef __SUNOS__ */
+/* #undef __ALPHA__ */
+/* #undef __OSF__ */
+/* #undef __BSD__ */
+/* #undef __FREEBSD__ */
+/* #undef __VMS__ */
+/* #undef __ULTRIX__ */
+/* #undef __DATA_GENERAL__ */
+/* #undef __EMX__ */
+
+/* #undef __WINDOWS__ */
+/* #undef __WIN95__ */
+/* #undef __WIN32__ */
+/* #undef __GNUWIN32__ */
+/* #undef WINVER */
+
+/*
+ * Supports bool type
+ */
+#define HAVE_BOOL 1
+
+/*
+ * Use zlib
+ */
+#define wxUSE_ZLIB 1
+/*
+ * Use libpng
+ */
+#define wxUSE_LIBPNG 1
+/*
+ * Use libjpeg
+ */
+#define wxUSE_LIBJPEG 1
+/*
+ * Use libgif
+ */
+#define wxUSE_LIBGIF 1
+/*
+ * Use iODBC
+ */
+#define wxUSE_ODBC 0
+#define wxODBC_FWD_ONLY_CURSORS 1
+/*
+ * Use Threads
+ */
+#define wxUSE_THREADS 1
+/*
+ * Have glibc2
+ */
+#define wxHAVE_GLIBC2 1
+/*
+ * Use libXpm
+ */
+#define wxHAVE_LIB_XPM 0
+/*
+ * Use OpenGL
+ */
+#define wxUSE_OPENGL 0
+
+/*
+ * Use GUI
+ */
+#define wxUSE_GUI 1
+/*
+ * Defined if !wxUSE_GUI
+ */
+/* #undef wxUSE_NOGUI */
+
+/*
+ * Use constraints mechanism
+ */
+#define wxUSE_CONSTRAINTS 1
+
+/*
+ * Use validators
+ */
+#define wxUSE_VALIDATORS 1
+
+/*
+ * Use accelerators
+ */
+#define wxUSE_ACCEL 1
+
+/*
+ * Use wxTextEntryDialog
+ */
+#define wxUSE_TEXTDLG 1
+
+/*
+ * Use startup tips
+ */
+#define wxUSE_STARTUP_TIPS 1
+
+/*
+ * Use progress dialog
+ */
+#define wxUSE_PROGRESSDLG 1
+
+/*
+ * Use directory chooser dialog
+ */
+#define wxUSE_DIRDLG 1
+
+/*
+ * Joystick support (Linux/GTK only)
+ */
+#define wxUSE_JOYSTICK 0
+
+/*
+ * Use this control
+ */
+#define wxUSE_CARET 1
+/*
+ * Use this control
+ */
+#define wxUSE_BMPBUTTON 1
+/*
+ * Use this control
+ */
+#define wxUSE_CHECKBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_CHECKLISTBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_COMBOBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_CHOICE 1
+/*
+ * Use this control
+ */
+#define wxUSE_GAUGE 1
+/*
+ * Use this control
+ */
+#define wxUSE_GRID 1
+/*
+ * Use this control
+ */
+#define wxUSE_IMAGLIST 1
+/*
+ * Use this control
+ */
+#define wxUSE_LISTBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_LISTCTRL 1
+/*
+ * Use this control
+ */
+#define wxUSE_NOTEBOOK 1
+/*
+ * Use this control
+ */
+#define wxUSE_RADIOBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_RADIOBTN 1
+/*
+ * Use this control
+ */
+#define wxUSE_SASH 1
+/*
+ * Use this control
+ */
+#define wxUSE_SCROLLBAR 1
+/*
+ * Use this control
+ */
+#define wxUSE_SLIDER 1
+/*
+ * Use this control
+ */
+#define wxUSE_SPINBTN 1
+/*
+ * Use this control
+ */
+#define wxUSE_SPLITTER 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATBMP 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATBOX 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATLINE 1
+/*
+ * Use this control
+ */
+#define wxUSE_STATUSBAR 1
+/*
+ * Use Tab dialog class - obsolete, use wxNotebook instead
+ */
+#define wxUSE_TAB_DIALOG 0
+/* compatibility */
+#define wxUSE_TABDIALOG wxUSE_TAB_DIALOG
+/*
+ * Use this control
+ */
+#define wxUSE_TOOLBAR 1
+
+#if defined(__WXWINE__) || defined(__GNUWIN32__)
+ #if wxUSE_TOOLBAR
+ #define wxUSE_BUTTONBAR 1
+ #endif
+#endif
+
+/*
+ * Use this control
+ */
+#define wxUSE_TREECTRL 1
+
+/*
+ * Use wxLongLong (a.k.a. int64) class
+ */
+#define wxUSE_LONGLONG 0
+
+/*
+ * Use wxFile class
+ */
+#define wxUSE_FILE 1
+/*
+ * Use wxTextFile class
+ */
+#define wxUSE_TEXTFILE 1
+/*
+ * Use log classes and logging functions
+ */
+#define wxUSE_LOG 1
+/*
+ * Use time and date classes
+ */
+#define wxUSE_TIMEDATE 1
+/*
+ * Use wave class
+ */
+#define wxUSE_WAVE 0
+/*
+ * Use config system
+ */
+#define wxUSE_CONFIG 1
+/*
+ * Use intl system
+ */
+#define wxUSE_INTL 1
+/*
+ * Use streams
+ */
+#define wxUSE_STREAMS 1
+/*
+ * Use class serialization
+ */
+#define wxUSE_SERIAL 1
+/*
+ * Use sockets
+ */
+#define wxUSE_SOCKETS 1
+/*
+ * Use standard C++ streams if 1. If 0, use wxWin
+ * streams implementation.
+ */
+#define wxUSE_STD_IOSTREAM 0
+/*
+ * wxLibrary class
+ */
+#define wxUSE_DYNLIB_CLASS 1
+
+/*
+ * Use font metric files in GetTextExtent for wxPostScriptDC
+ * Use consistent PostScript fonts for AFM and printing (!)
+ */
+#define wxUSE_AFM_FOR_POSTSCRIPT 1
+#define wxUSE_NORMALIZED_PS_FONTS 1
+
+/* compatibility */
+#define WX_NORMALIZED_PS_FONTS wxUSE_NORMALIZED_PS_FONTS
+
+/*
+ * Use PostScript device context
+ */
+#define wxUSE_POSTSCRIPT 1
+
+/*
+ * Compile wxString with wide character (Unicode) support?
+ */
+#define wxUSE_UNICODE 0
+
+/*
+ * Work around a bug in GNU libc 5.x wcstombs() implementation.
+ *
+ * Note that you must link your programs with libc.a if you enable this and you
+ * have libc 5 (you should enable this for libc6 where wcsrtombs() is
+ * thread-safe version of wcstombs()).
+ */
+#define wxUSE_WCSRTOMBS 0
+
+/*
+ * On some platforms overloading on size_t/int doesn't work, yet we'd like
+ * to define both size_t and int version of wxString::operator[] because it
+ * should really be size_t, but a lot of old, broken code uses int indices.
+ */
+#define wxUSE_SIZE_T_STRING_OPERATOR 0
+
+/*
+ * Use the new experimental implementation of wxString::Printf()?
+ *
+ * Warning: enabling this may cause internal compiler errors with gcc!
+ */
+#define wxUSE_EXPERIMENTAL_PRINTF 0
+
+/*
+ * Use Interprocess communication
+ */
+#define wxUSE_IPC 1
+/*
+ * Use wxGetResource & wxWriteResource (change .Xdefaults)
+ */
+#define wxUSE_X_RESOURCES 0
+/*
+ * Use clipboard
+ */
+#define wxUSE_CLIPBOARD 1
+/*
+ * Use tooltips
+ */
+#define wxUSE_TOOLTIPS 1
+/*
+ * Use dnd
+ */
+#define wxUSE_DRAG_AND_DROP 1
+/*
+ * Use spline
+ */
+#define wxUSE_SPLINES 1
+/*
+ * Use wxLibrary class
+ */
+#define wxUSE_DYNLIB_CLASS 1
+
+/*
+ * Use the mdi architecture
+ */
+#define wxUSE_MDI_ARCHITECTURE 1
+/*
+ * Use the document/view architecture
+ */
+#define wxUSE_DOC_VIEW_ARCHITECTURE 1
+/*
+ * Use the print/preview architecture
+ */
+#define wxUSE_PRINTING_ARCHITECTURE 1
+
+/*
+ * Use Prolog IO
+ */
+#define wxUSE_PROLOGIO 1
+/*
+ * Use wxWindows resource loading (.wxr-files) (Needs wxUSE_PROLOGIO 1)
+ */
+#define wxUSE_RESOURCES 1
+
+/* for compatibility */
+#define wxUSE_WX_RESOURCES wxUSE_RESOURCES
+
+/*
+ * Use wxWindows help facility (needs wxUSE_IPC 1)
+ */
+#define wxUSE_HELP 1
+/*
+ * Use iostream.h rather than iostream
+ */
+#define wxUSE_IOSTREAMH 1
+/*
+ * Use Apple Ieee-double converter
+ */
+#define wxUSE_APPLE_IEEE 1
+/*
+ * Compatibility with 1.66 API.
+ * Level 0: no backward compatibility, all new features
+ * Level 1: wxDC, OnSize (etc.) compatibility, but
+ * some new features such as event tables
+ */
+#define WXWIN_COMPATIBILITY 0
+/*
+ * Compatibility with 2.0 API.
+ */
+#define WXWIN_COMPATIBILITY_2 1
+/*
+ * Enables debugging: memory tracing, assert, etc., contains debug level
+ */
+#define WXDEBUG 1
+/*
+ * Enables debugging version of wxObject::new and wxObject::delete (IF WXDEBUG)
+ * WARNING: this code may not work with all architectures, especially
+ * if alignment is an issue.
+ */
+#define wxUSE_MEMORY_TRACING 0
+/*
+ * Enable debugging version of global memory operators new and delete
+ * Disable it, If this causes problems (e.g. link errors)
+ */
+#define wxUSE_DEBUG_NEW_ALWAYS 0
+/*
+ * VZ: What does this one do? (FIXME)
+ */
+#define wxUSE_DEBUG_CONTEXT 0
+/*
+ * In debug mode, causes new to be defined to
+ * be WXDEBUG_NEW (see object.h). If this causes
+ * problems (e.g. link errors), set this to 0.
+ */
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
+/*
+ * Matthews garbage collection (used for MrEd?)
+ */
+#define WXGARBAGE_COLLECTION_ON 0
+/*
+ * Use splines
+ */
+#define wxUSE_SPLINES 1
+/*
+ * wxUSE_DYNAMIC_CLASSES is TRUE for the Xt port
+ */
+#define wxUSE_DYNAMIC_CLASSES 1
+
+/*
+ * Support for metafiles
+ */
+#define wxUSE_METAFILE 0
+
+/*
+ * wxMiniFrame
+ */
+#define wxUSE_MINIFRAME 1
+
+/*
+ * wxHTML
+ */
+#define wxUSE_HTML 1
+
+/*
+ * (virtual) filesystems code
+ */
+#define wxUSE_FS_INET 1
+#define wxUSE_FS_ZIP 1
+
+/*
+ * A class that shows info window when app is busy
+ * (works exactly like wxBusyCursor)
+ */
+#define wxUSE_BUSYINFO 1
+
+/*
+ * Zip stream for accessing files stored inside .zip archives
+ */
+#define wxUSE_ZIPSTREAM 1
+
+
+/*
+ * Disable this if your compiler can't cope
+ * with omission of prototype parameters.
+ */
+#define REMOVE_UNUSED_ARG 1
+/*
+ * The const keyword is being introduced more in wxWindows.
+ * You can use this setting to maintain backward compatibility.
+ * If 0: will use const wherever possible.
+ * If 1: will use const only where necessary
+ * for precompiled headers to work.
+ * If 2: will be totally backward compatible, but precompiled
+ * headers may not work and program size will be larger.
+ */
+#define CONST_COMPATIBILITY 0
+
+/* The type of 3rd argument to getsockname() - usually size_t or int */
+#define SOCKLEN_T socklen_t
+
+/* Define if you have dlopen() */
+#define HAVE_DLOPEN 1
+
+/* Define if you have nanosleep() */
+#define HAVE_NANOSLEEP 1
+
+/* Define if you have sched_yield */
+#define HAVE_SCHED_YIELD 1
+
+/* Define if you have pthread_cancel */
+#define HAVE_PTHREAD_CANCEL 1
+
+/* Define if you have all functions to set thread priority */
+#define HAVE_THREAD_PRIORITY_FUNCTIONS 1
+
+/* Define if you can specify exit functions to a thread */
+/* #undef HAVE_THREAD_CLEANUP_FUNCTIONS */
+
+/* Define if you have shl_load() */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define if you have vsnprintf() */
+#define HAVE_VSNPRINTF 1
+
+/* Define if you have usleep() */
+/* #undef HAVE_USLEEP */
+
+/* Define if you have wcslen function */
+#define HAVE_WCSLEN 1
+
+/* The number of bytes in a char. */
+#define SIZEOF_CHAR 1
+
+/* The number of bytes in a int. */
+#define SIZEOF_INT 4
+
+/* The number of bytes in a int *. */
+#define SIZEOF_INT_P 4
+
+/* The number of bytes in a long. */
+#define SIZEOF_LONG 4
+
+/* The number of bytes in a long long. */
+#define SIZEOF_LONG_LONG 8
+
+/* The number of bytes in a short. */
+#define SIZEOF_SHORT 2
+
+/* Define if you have the dlopen function. */
+#define HAVE_DLOPEN 1
+
+/* Define if you have the gethostname function. */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have the nanosleep function. */
+#define HAVE_NANOSLEEP 1
+
+/* Define if you have the shl_load function. */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define if you have the uname function. */
+#define HAVE_UNAME 1
+
+/* Define if you have the usleep function. */
+/* #undef HAVE_USLEEP */
+
+/* Define if you have the vfork function. */
+#define HAVE_VFORK 1
+
+/* Define if you have the vsnprintf function. */
+#define HAVE_VSNPRINTF 1
+
+/* Define if you have the vsscanf function. */
+#define HAVE_VSSCANF 1
+
+/* Define if you have the header file. */
+#define HAVE_X11_XKBLIB_H 1
+
+/* Define if you have the header file. */
+#define HAVE_FNMATCH_H 1
+
+/* Define if you have the header file. */
+#define HAVE_IOSTREAM 1
+
+/* Define if you have the header file. */
+/* #undef HAVE_LINUX_JOYSTICK_H */
+
+/* Define if you have the header file. */
+#define HAVE_SCHED_H 1
+
+/* Define if you have the header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define if you have the header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define if you have the header file. */
+/* #undef HAVE_WCSTR_H */
+
+/* Name of package */
+#define PACKAGE "wxWindows"
+
+/* Version number of package */
+#define VERSION "2.1.0"
+
+
+#endif /* __WX_SETUP_H__ */
diff --git a/include/wx/gtk1/warning.xpm b/include/wx/gtk1/warning.xpm
new file mode 100644
index 0000000000..9dfbf97e15
--- /dev/null
+++ b/include/wx/gtk1/warning.xpm
@@ -0,0 +1,324 @@
+/* XPM */
+static char *warning_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 270 2",
+" c Gray0",
+". c #010100000000",
+"X c #010101010000",
+"o c #010101010101",
+"O c #020201010000",
+"+ c #030301010000",
+"@ c #020202020000",
+"# c #020202020202",
+"$ c Gray1",
+"% c #040403030000",
+"& c #050504040000",
+"* c #070704040000",
+"= c #040404040404",
+"- c Gray2",
+"; c #060606060606",
+": c #090907070000",
+"> c #090907070101",
+", c #0e0e03030202",
+"< c #0d0d04040303",
+"1 c #0a0a08080000",
+"2 c #0b0b09090000",
+"3 c #0e0e0b0b0000",
+"4 c Gray3",
+"5 c #090909090909",
+"6 c Gray4",
+"7 c #0b0b0b0b0b0b",
+"8 c Gray6",
+"9 c #171704040202",
+"0 c #10100d0d0101",
+"q c #13130f0f0000",
+"w c #13130f0f0101",
+"e c #1c1c07070505",
+"r c #151510100101",
+"t c #191913130000",
+"y c #1d1d16160202",
+"u c #1e1e17170202",
+"i c #111111111111",
+"p c #161616161616",
+"a c #212107070505",
+"s c #222207070505",
+"d c #232307070404",
+"f c #232307070505",
+"g c #262608080606",
+"h c #2b2b0a0a0707",
+"j c #2c2c08080505",
+"k c #2e2e08080505",
+"l c #2e2e09090606",
+"z c #2e2e0a0a0808",
+"x c #24241c1c0303",
+"c c #25251d1d0202",
+"v c #25251d1d0303",
+"b c #27271e1e0202",
+"n c #3b3b0b0b0707",
+"m c #3b3b0c0c0909",
+"M c #3c3c0c0c0909",
+"N c #3d3d0c0c0909",
+"B c #3e3e0c0c0808",
+"V c #292920200303",
+"C c #2c2c23230303",
+"Z c #313126260404",
+"A c #313126260505",
+"S c #333327270404",
+"D c #38382c2c0505",
+"F c #3c3c2e2e0505",
+"G c Gray17",
+"H c #41410c0c0707",
+"J c #42420c0c0606",
+"K c #42420c0c0707",
+"L c #42420d0d0808",
+"P c #44440e0e0909",
+"I c #44440e0e0a0a",
+"U c #47470e0e0909",
+"Y c #46460e0e0a0a",
+"T c #49490d0d0707",
+"R c #4d4d0d0d0707",
+"E c #49490e0e0909",
+"W c #49490e0e0a0a",
+"Q c #4d4d10100c0c",
+"! c #52520e0e0707",
+"~ c #575711110909",
+"^ c #5a5a12120d0d",
+"/ c #5d5d11110b0b",
+"( c #5e5e11110a0a",
+") c #5c5c12120d0d",
+"_ c #5e5e12120c0c",
+"` c #404031310404",
+"' c #404031310505",
+"] c #414132320606",
+"[ c #424233330505",
+"{ c #454535350606",
+"} c #4b4b3a3a0707",
+"| c #4e4e3d3d0606",
+" . c #51513f3f0707",
+".. c #606012120b0b",
+"X. c #636311110909",
+"o. c #616113130e0e",
+"O. c #646412120909",
+"+. c #6a6a13130b0b",
+"@. c #6e6e13130a0a",
+"#. c #6e6e14140a0a",
+"$. c #6f6f14140b0b",
+"%. c #6d6d16160e0e",
+"&. c #6e6e15150c0c",
+"*. c #717115150d0d",
+"=. c #727215150d0d",
+"-. c #737315150c0c",
+";. c #737316160e0e",
+":. c #777715150c0c",
+">. c #787815150b0b",
+",. c #787815150c0c",
+"<. c #737317171111",
+"1. c #7a7a17171010",
+"2. c #787818181212",
+"3. c #7b7b19191212",
+"4. c #525240400707",
+"5. c #676750500909",
+"6. c #696952520a0a",
+"7. c #717157570a0a",
+"8. c #74745a5a0c0c",
+"9. c #7a7a61610909",
+"0. c #7c7c61610c0c",
+"q. c #858517170c0c",
+"w. c #868618180d0d",
+"e. c #8a8a18180c0c",
+"r. c #8a8a19190f0f",
+"t. c #808018181010",
+"y. c #80801a1a1313",
+"u. c #868619191010",
+"i. c #86861b1b1313",
+"p. c #87871b1b1212",
+"a. c #85851b1b1414",
+"s. c #88881a1a1111",
+"d. c #89891a1a1111",
+"f. c #8b8b1c1c1515",
+"g. c #8d8d1b1b1212",
+"h. c #8f8f1b1b1010",
+"j. c #8c8c1c1c1414",
+"k. c #90901a1a0f0f",
+"l. c #91911a1a0f0f",
+"z. c #92921a1a0e0e",
+"x. c #9b9b1b1b0e0e",
+"c. c #9a9a1c1c0f0f",
+"v. c #93931b1b1010",
+"b. c #90901e1e1212",
+"n. c #97971e1e1515",
+"m. c #99991d1d1313",
+"M. c #98981d1d1414",
+"N. c #98981f1f1717",
+"B. c #99991f1f1616",
+"V. c #9a9a1f1f1515",
+"C. c #9b9b1e1e1414",
+"Z. c #9b9b1f1f1717",
+"A. c #9c9c1e1e1313",
+"S. c #9d9d1e1e1212",
+"D. c #9e9e1d1d1111",
+"F. c #9f9f1d1d1010",
+"G. c #9f9f1e1e1313",
+"H. c #9d9d1f1f1515",
+"J. c #9c9c1f1f1616",
+"K. c #9e9e1e1e1414",
+"L. c #a0a01d1d0f0f",
+"P. c #a1a11c1c0e0e",
+"I. c #a2a21d1d0f0f",
+"U. c #a3a31c1c0e0e",
+"Y. c #a3a31d1d0f0f",
+"T. c #a4a41c1c0e0e",
+"R. c #a6a61d1d0f0f",
+"E. c #a7a71d1d0e0e",
+"W. c #a9a91d1d0f0f",
+"Q. c #a1a11d1d1010",
+"!. c #a1a11d1d1111",
+"~. c #a0a01e1e1212",
+"^. c #a2a21d1d1010",
+"/. c #b3b31f1f0f0f",
+"(. c #b2b21f1f1010",
+"). c #b9b920200f0f",
+"_. c #b6b621211111",
+"`. c #b7b720201010",
+"'. c #baba20201010",
+"]. c #bdbd21211111",
+"[. c #bfbf22221212",
+"{. c #abab42421616",
+"}. c #b1b140401010",
+"|. c #b9b95b5b1313",
+" X c #bbbb5b5b1111",
+".X c #bfbf6f6f1616",
+"XX c #92924f4f4848",
+"oX c #c6c622221010",
+"OX c #c8c823231212",
+"+X c #caca23231010",
+"@X c #cdcd25251313",
+"#X c #d1d124241212",
+"$X c #d2d224241111",
+"%X c #d2d226261414",
+"&X c #d5d525251111",
+"*X c #d4d425251313",
+"=X c #d9d926261313",
+"-X c #dbdb26261212",
+";X c #d8d827271515",
+":X c #dcdc26261313",
+">X c #dede26261212",
+",X c #e0e027271212",
+"XR.T.T.^XTXxXTXRXBX^.F.k.T `X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X1XwX'.T.T.DXCXX 3 ' RXRX^.!.D.-. `X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`XE.rX#XT.T.T.~X9.* q @ RXRXnX!.D.k.E `X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X4X5X(.T.T.)X~XC + . t RXRXYX!.!.S.=. `X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`XE.uXOXT.T.FX~X~Xc % V RXYXYXnX~.S.h.E `X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`XE.eX:XR.T.Y.~X~X~Xb y [ YXYXYXYX~.~.S.*. `X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X@.0X].T.T.GX~X~XRX| ` { YXYXYXIXmX~.S.d.U `X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`XR.aX=XR.T.Y.~X~X~XRXu X v ] YXYXIXIXIX~.G.m.( `X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X 8.PXPXWXWXWXWXJXJXJXH.J.j.Y - `X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`XR.3X;XY.Y.zX(XEXRXYXYXYXYXIXIXcXA 0.HXPXWXWXWXWXJXJXJXJX.XJ.B.o. 7 `X`X`X`X`X",
+"`X`X`X`X`X`X`X`X#.7X[.Y.^.^.^.^.!.!.!.|.hXlXNXLXUXUXUX!X!X!X!XQXQXQXQXKXkX{.B.2.g G `X`X`X`X`X",
+"`X`X`X`X`X`X`X`XJ @XY.L.^.^.^.!.!.!.!.~.~.~.~.G.G.G.G.K.K.K.H.H.H.H.J.J.J.J.Z.f.I `X`X`X`X",
+"`X`X`X`X`X`X`X`X9 >.! +.$.,.w.r.v.D.S.~.~.~.G.G.G.G.K.K.K.H.H.H.H.J.J.J.J.Z.Z.N.^ o `X`X`X`X",
+"`X`X`X`X`X`X`X`X - # # , d l H K ~ / ..&.;.;.;.t.s.s.s.s.p.p.p.i.i.i.i.a.a.y.<.Q # ; `X`X`X`X",
+"`X`X`X`X`X`X`X`X # # # # # # # # # < s a a f L B B B B B B N N N M M M m z e # `X`X`X`X",
+"`X`X`X`X`X`X`X`X $ $ # # # # # # # # # # # # # # # # # # # # # # # # # o `X`X`X`X",
+"`X`X`X`X`X`X`X`X`X 8 6 o o = = $ $ # # # # # # # # # # # # # # $ $ `X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X 5 5 4 `X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X `X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X",
+"`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X`X"
+};
diff --git a/include/wx/helpxlp.h b/include/wx/helpxlp.h
new file mode 100644
index 0000000000..b9f6af78eb
--- /dev/null
+++ b/include/wx/helpxlp.h
@@ -0,0 +1,7 @@
+#ifndef _WX_HELPXLP_H_BASE_
+#define _WX_HELPXLP_H_BASE_
+
+#include "wx/generic/helpxlp.h"
+
+#endif
+ // _WX_HELPXLP_H_BASE_
diff --git a/include/wx/html/msw/wback.bmp b/include/wx/html/msw/wback.bmp
new file mode 100644
index 0000000000..543290530c
Binary files /dev/null and b/include/wx/html/msw/wback.bmp differ
diff --git a/include/wx/html/msw/wbkadd.bmp b/include/wx/html/msw/wbkadd.bmp
new file mode 100644
index 0000000000..562b6ca001
Binary files /dev/null and b/include/wx/html/msw/wbkadd.bmp differ
diff --git a/include/wx/html/msw/wbkdel.bmp b/include/wx/html/msw/wbkdel.bmp
new file mode 100644
index 0000000000..f3b58cddf3
Binary files /dev/null and b/include/wx/html/msw/wbkdel.bmp differ
diff --git a/include/wx/html/msw/wbook.ico b/include/wx/html/msw/wbook.ico
new file mode 100644
index 0000000000..77f12dbbbe
Binary files /dev/null and b/include/wx/html/msw/wbook.ico differ
diff --git a/include/wx/html/msw/wdown.bmp b/include/wx/html/msw/wdown.bmp
new file mode 100644
index 0000000000..e1f3f1868a
Binary files /dev/null and b/include/wx/html/msw/wdown.bmp differ
diff --git a/include/wx/html/msw/wfolder.ico b/include/wx/html/msw/wfolder.ico
new file mode 100644
index 0000000000..0ffdb660e3
Binary files /dev/null and b/include/wx/html/msw/wfolder.ico differ
diff --git a/include/wx/html/msw/wforward.bmp b/include/wx/html/msw/wforward.bmp
new file mode 100644
index 0000000000..8e78844e84
Binary files /dev/null and b/include/wx/html/msw/wforward.bmp differ
diff --git a/include/wx/html/msw/whelp.ico b/include/wx/html/msw/whelp.ico
new file mode 100644
index 0000000000..71324fa96a
Binary files /dev/null and b/include/wx/html/msw/whelp.ico differ
diff --git a/include/wx/html/msw/whlproot.ico b/include/wx/html/msw/whlproot.ico
new file mode 100644
index 0000000000..e46df53c46
Binary files /dev/null and b/include/wx/html/msw/whlproot.ico differ
diff --git a/include/wx/html/msw/wopen.bmp b/include/wx/html/msw/wopen.bmp
new file mode 100644
index 0000000000..d74a5fd0a3
Binary files /dev/null and b/include/wx/html/msw/wopen.bmp differ
diff --git a/include/wx/html/msw/woptions.bmp b/include/wx/html/msw/woptions.bmp
new file mode 100644
index 0000000000..6f5227a29f
Binary files /dev/null and b/include/wx/html/msw/woptions.bmp differ
diff --git a/include/wx/html/msw/wpage.ico b/include/wx/html/msw/wpage.ico
new file mode 100644
index 0000000000..3e8194d9b9
Binary files /dev/null and b/include/wx/html/msw/wpage.ico differ
diff --git a/include/wx/html/msw/wpanel.bmp b/include/wx/html/msw/wpanel.bmp
new file mode 100644
index 0000000000..e735d3584b
Binary files /dev/null and b/include/wx/html/msw/wpanel.bmp differ
diff --git a/include/wx/html/msw/wprint.bmp b/include/wx/html/msw/wprint.bmp
new file mode 100644
index 0000000000..04dbc757ca
Binary files /dev/null and b/include/wx/html/msw/wprint.bmp differ
diff --git a/include/wx/html/msw/wup.bmp b/include/wx/html/msw/wup.bmp
new file mode 100644
index 0000000000..940b5da689
Binary files /dev/null and b/include/wx/html/msw/wup.bmp differ
diff --git a/include/wx/html/msw/wupnode.bmp b/include/wx/html/msw/wupnode.bmp
new file mode 100644
index 0000000000..f8e8f08f7b
Binary files /dev/null and b/include/wx/html/msw/wupnode.bmp differ
diff --git a/include/wx/html/msw/wxhtml.rc b/include/wx/html/msw/wxhtml.rc
new file mode 100644
index 0000000000..562e90dade
--- /dev/null
+++ b/include/wx/html/msw/wxhtml.rc
@@ -0,0 +1,25 @@
+
+//
+// This file contains bitmaps used
+// by wxHtmlHelpController
+// Include it in your .rc file if you're using wxHTML help system
+// (#include "wx/html/msw/wxhtml.rc")
+//
+
+wback BITMAP "wx/html/msw/wback.bmp"
+wforward BITMAP "wx/html/msw/wforward.bmp"
+wpanel BITMAP "wx/html/msw/wpanel.bmp"
+woptions BITMAP "wx/html/msw/woptions.bmp"
+wbkadd BITMAP "wx/html/msw/wbkadd.bmp"
+wbkdel BITMAP "wx/html/msw/wbkdel.bmp"
+wup BITMAP "wx/html/msw/wup.bmp"
+wupnode BITMAP "wx/html/msw/wupnode.bmp"
+wdown BITMAP "wx/html/msw/wdown.bmp"
+wprint BITMAP "wx/html/msw/wprint.bmp"
+wopen BITMAP "wx/html/msw/wopen.bmp"
+
+wbook ICON "wx/html/msw/wbook.ico"
+wfolder ICON "wx/html/msw/wfolder.ico"
+wpage ICON "wx/html/msw/wpage.ico"
+whelp ICON "wx/html/msw/whelp.ico"
+whlproot ICON "wx/html/msw/whlproot.ico"
diff --git a/include/wx/mac/print.h b/include/wx/mac/print.h
new file mode 100644
index 0000000000..f70265e0e6
--- /dev/null
+++ b/include/wx/mac/print.h
@@ -0,0 +1,14 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: print.h
+// Purpose: wxPrinter, wxPrintPreview classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRINT_H_
+#define _WX_PRINT_H_
+#endif
\ No newline at end of file
diff --git a/include/wx/mac/settings.h b/include/wx/mac/settings.h
new file mode 100644
index 0000000000..8ed994f1ba
--- /dev/null
+++ b/include/wx/mac/settings.h
@@ -0,0 +1,133 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose: wxSystemSettings class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETTINGS_H_
+#define _WX_SETTINGS_H_
+
+#ifdef __GNUG__
+#pragma interface "settings.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/colour.h"
+#include "wx/font.h"
+
+#define wxSYS_WHITE_BRUSH 0
+#define wxSYS_LTGRAY_BRUSH 1
+#define wxSYS_GRAY_BRUSH 2
+#define wxSYS_DKGRAY_BRUSH 3
+#define wxSYS_BLACK_BRUSH 4
+#define wxSYS_NULL_BRUSH 5
+#define wxSYS_HOLLOW_BRUSH wxSYS_NULL_BRUSH
+#define wxSYS_WHITE_PEN 6
+#define wxSYS_BLACK_PEN 7
+#define wxSYS_NULL_PEN 8
+#define wxSYS_OEM_FIXED_FONT 10
+#define wxSYS_ANSI_FIXED_FONT 11
+#define wxSYS_ANSI_VAR_FONT 12
+#define wxSYS_SYSTEM_FONT 13
+#define wxSYS_DEVICE_DEFAULT_FONT 14
+#define wxSYS_DEFAULT_PALETTE 15
+#define wxSYS_SYSTEM_FIXED_FONT 16 // Obsolete
+#define wxSYS_DEFAULT_GUI_FONT 17
+
+#define wxSYS_COLOUR_SCROLLBAR 0
+#define wxSYS_COLOUR_BACKGROUND 1
+#define wxSYS_COLOUR_ACTIVECAPTION 2
+#define wxSYS_COLOUR_INACTIVECAPTION 3
+#define wxSYS_COLOUR_MENU 4
+#define wxSYS_COLOUR_WINDOW 5
+#define wxSYS_COLOUR_WINDOWFRAME 6
+#define wxSYS_COLOUR_MENUTEXT 7
+#define wxSYS_COLOUR_WINDOWTEXT 8
+#define wxSYS_COLOUR_CAPTIONTEXT 9
+#define wxSYS_COLOUR_ACTIVEBORDER 10
+#define wxSYS_COLOUR_INACTIVEBORDER 11
+#define wxSYS_COLOUR_APPWORKSPACE 12
+#define wxSYS_COLOUR_HIGHLIGHT 13
+#define wxSYS_COLOUR_HIGHLIGHTTEXT 14
+#define wxSYS_COLOUR_BTNFACE 15
+#define wxSYS_COLOUR_BTNSHADOW 16
+#define wxSYS_COLOUR_GRAYTEXT 17
+#define wxSYS_COLOUR_BTNTEXT 18
+#define wxSYS_COLOUR_INACTIVECAPTIONTEXT 19
+#define wxSYS_COLOUR_BTNHIGHLIGHT 20
+
+#define wxSYS_COLOUR_3DDKSHADOW 21
+#define wxSYS_COLOUR_3DLIGHT 22
+#define wxSYS_COLOUR_INFOTEXT 23
+#define wxSYS_COLOUR_INFOBK 24
+
+#define wxSYS_COLOUR_DESKTOP wxSYS_COLOUR_BACKGROUND
+#define wxSYS_COLOUR_3DFACE wxSYS_COLOUR_BTNFACE
+#define wxSYS_COLOUR_3DSHADOW wxSYS_COLOUR_BTNSHADOW
+#define wxSYS_COLOUR_3DHIGHLIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+#define wxSYS_COLOUR_3DHILIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+#define wxSYS_COLOUR_BTNHILIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+
+// Metrics
+#define wxSYS_MOUSE_BUTTONS 1
+#define wxSYS_BORDER_X 2
+#define wxSYS_BORDER_Y 3
+#define wxSYS_CURSOR_X 4
+#define wxSYS_CURSOR_Y 5
+#define wxSYS_DCLICK_X 6
+#define wxSYS_DCLICK_Y 7
+#define wxSYS_DRAG_X 8
+#define wxSYS_DRAG_Y 9
+#define wxSYS_EDGE_X 10
+#define wxSYS_EDGE_Y 11
+#define wxSYS_HSCROLL_ARROW_X 12
+#define wxSYS_HSCROLL_ARROW_Y 13
+#define wxSYS_HTHUMB_X 14
+#define wxSYS_ICON_X 15
+#define wxSYS_ICON_Y 16
+#define wxSYS_ICONSPACING_X 17
+#define wxSYS_ICONSPACING_Y 18
+#define wxSYS_WINDOWMIN_X 19
+#define wxSYS_WINDOWMIN_Y 20
+#define wxSYS_SCREEN_X 21
+#define wxSYS_SCREEN_Y 22
+#define wxSYS_FRAMESIZE_X 23
+#define wxSYS_FRAMESIZE_Y 24
+#define wxSYS_SMALLICON_X 25
+#define wxSYS_SMALLICON_Y 26
+#define wxSYS_HSCROLL_Y 27
+#define wxSYS_VSCROLL_X 28
+#define wxSYS_VSCROLL_ARROW_X 29
+#define wxSYS_VSCROLL_ARROW_Y 30
+#define wxSYS_VTHUMB_Y 31
+#define wxSYS_CAPTION_Y 32
+#define wxSYS_MENU_Y 33
+#define wxSYS_NETWORK_PRESENT 34
+#define wxSYS_PENWINDOWS_PRESENT 35
+#define wxSYS_SHOW_SOUNDS 36
+#define wxSYS_SWAP_BUTTONS 37
+
+class WXDLLEXPORT wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // _WX_SETTINGS_H_
diff --git a/include/wx/mac/setup.h b/include/wx/mac/setup.h
new file mode 100644
index 0000000000..3469bdc814
--- /dev/null
+++ b/include/wx/mac/setup.h
@@ -0,0 +1,348 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: setup.h
+// Purpose: Configuration for the library
+// Author: Stefan Csomor
+// Modified by: Stefan Csomor
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETUP_H_
+#define _WX_SETUP_H_
+
+/*
+ * General features
+ *
+ */
+
+#define wxUSE_GEOMETRY 1
+#define WORDS_BIGENDIAN 1
+
+#define wxUSE_CONFIG 1
+ // Use wxConfig, with CreateConfig in wxApp
+
+#define WXWIN_COMPATIBILITY 0
+ // Compatibility with 1.66 API.
+ // Level 0: no backward compatibility, all new features
+ // Level 1: wxDC, OnSize (etc.) compatibility, but
+ // some new features such as event tables
+#define wxUSE_POSTSCRIPT 0
+ // 0 for no PostScript device context
+#define wxUSE_AFM_FOR_POSTSCRIPT 0
+ // 1 to use font metric files in GetTextExtent
+#define wxUSE_METAFILE 1
+ // 0 for no Metafile and metafile device context
+#define wxUSE_IPC 0
+ // 0 for no interprocess comms
+#define wxUSE_HELP 1
+ // 0 for no help facility
+#define wxUSE_RESOURCES 1
+ // 0 for no wxGetResource/wxWriteResource
+#define wxUSE_CONSTRAINTS 1
+ // Use constraints mechanism
+#define wxUSE_TIMEDATE 1
+ // 0 for no wxTime/wxDate classes
+
+#define wxUSE_CLIPBOARD 1
+ // 0 for no clipboard functions
+
+#define wxUSE_SPLINES 1
+ // 0 for no splines
+
+#define wxUSE_DRAG_AND_DROP 0
+ // 0 for no drag and drop
+
+#define wxUSE_TOOLBAR 1
+#define wxUSE_TOOLBAR_NATIVE 1
+ // Define 1 to use toolbar classes
+#define wxUSE_BUTTONBAR 1
+ // Define 1 to use buttonbar classes (enhanced toolbar
+ // for MS Windows)
+#define wxUSE_GAUGE 1
+ // Define 1 to use Microsoft's gauge (Windows)
+ // or Bull's gauge (Motif) library (both in contrib).
+#define wxUSE_COMBOBOX 1
+ // Define 1 to use COMBOXBOX control (Windows)
+ // or FWW's ComboBox widget (Motif).
+#define wxUSE_CHOICE 1
+ // Define 1 to use CHOICE
+
+#define wxUSE_RADIOBUTTON 1
+ // Define 1 to use radio button control
+#define wxUSE_RADIOBTN 1
+ // Unfortunately someone introduced this one, too
+
+#define wxUSE_SCROLLBAR 1
+ // Define 1 to compile contributed wxScrollBar class
+
+#define wxUSE_CHECKBOX 1
+ // Define 1 to compile checkbox
+
+#define wxUSE_LISTBOX 1
+ // Define 1 to compile listbox
+
+#define wxUSE_SPINBTN 1
+ // Define 1 to compile spin button
+
+// use wxStaticLine class (separator line in the dialog)?
+#define wxUSE_STATLINE 1
+
+#define wxUSE_CHECKLISTBOX 1
+ // Define 1 to compile check listbox
+
+#define wxUSE_CHOICE 1
+ // Define 1 to compile choice
+
+#define wxUSE_CARET 1
+ // Define 1 to use wxCaret class
+#define wxUSE_XPM_IN_MSW 1
+ // Define 1 to support the XPM package in wxBitmap.
+#define wxUSE_IMAGE_LOADING_IN_MSW 1
+ // Use dynamic DIB loading/saving code in utils/dib under MSW.
+#define wxUSE_RESOURCE_LOADING_IN_MSW 1
+ // Use dynamic icon/cursor loading/saving code
+ // under MSW.
+#define wxUSE_WX_RESOURCES 1
+ // Use .wxr resource mechanism (requires PrologIO library)
+
+// support for startup tips (wxShowTip &c)
+#define wxUSE_STARTUP_TIPS 1
+
+// BC++/Win16 can't cope with the amount of data in resource.cpp
+#if defined(__WIN16__) && defined(__BORLANDC__)
+#undef wxUSE_WX_RESOURCES
+#define wxUSE_WX_RESOURCES 0
+#endif
+
+#define wxUSE_DOC_VIEW_ARCHITECTURE 1
+ // Set to 0 to disable document/view architecture
+#define wxUSE_MDI_ARCHITECTURE 1
+ // Set to 0 to disable MDI document/view architecture
+#define wxUSE_PRINTING_ARCHITECTURE 1
+ // Set to 0 to disable print/preview architecture code
+#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
+ // Set to 0 to disable PostScript print/preview architecture code
+ // under Windows (just use Windows printing).
+#define wxUSE_DYNAMIC_CLASSES 1
+ // If 1, enables provision of run-time type information.
+ // NOW MANDATORY: don't change.
+#define wxUSE_MEMORY_TRACING 1
+ // If 1, enables debugging versions of wxObject::new and
+ // wxObject::delete *IF* __WXDEBUG__ is also defined.
+ // WARNING: this code may not work with all architectures, especially
+ // if alignment is an issue.
+#ifndef __MWERKS__
+#define wxUSE_DEBUG_CONTEXT 0
+#else
+#define wxUSE_DEBUG_CONTEXT 1
+#endif
+ // If 1, enables wxDebugContext, for
+ // writing error messages to file, etc.
+ // If __WXDEBUG__ is not defined, will still use
+ // normal memory operators.
+ // It's recommended to set this to 1,
+ // since you may well need to output
+ // an error log in a production
+ // version (or non-debugging beta)
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
+ // In debug mode, cause new and delete to be redefined globally.
+ // If this causes problems (e.g. link errors), set this to 0.
+
+#define wxUSE_DEBUG_NEW_ALWAYS 1
+ // In debug mode, causes new to be defined to
+ // be WXDEBUG_NEW (see object.h).
+ // If this causes problems (e.g. link errors), set this to 0.
+ // You may need to set this to 0 if using templates (at least
+ // for VC++).
+
+#define REMOVE_UNUSED_ARG 1
+ // Set this to 0 if your compiler can't cope
+ // with omission of prototype parameters.
+
+#define wxUSE_ODBC 1
+ // Define 1 to use ODBC classes
+
+
+#define wxODBC_FWD_ONLY_CURSORS 1
+ // Some databases/ODBC drivers only allow forward scrolling cursors.
+ // Unless you specifically want to use backward scrolling
+ // cursors, and you know that all of the databases/ODBC drivers
+ // that you will use these odbc classes with allow backward
+ // scrolling cursors, this setting should remain set to 1
+ // for maximum database/driver compatibilty
+
+
+
+#ifndef __MWERKS__
+#define wxUSE_IOSTREAMH 0
+#else
+#define wxUSE_IOSTREAMH 1
+#endif
+ // VC++ 4.2 and above allows and
+ // but you can't mix them. Set to 1 for ,
+ // 0 for
+
+#define wxUSE_STREAMS 1
+ // If enabled (1), compiles wxWindows streams classes
+
+#ifndef __MWERKS__
+#define wxUSE_STD_IOSTREAM 0
+#else
+#define wxUSE_STD_IOSTREAM 1
+ // Use standard C++ streams if 1. If 0, use wxWin
+ // streams implementation.
+#endif
+
+#define wxUSE_WXCONFIG 1
+ // if enabled, compiles built-in OS independent wxConfig
+ // class and it's file (any platform) and registry (Win)
+ // based implementations
+#define wxUSE_THREADS 1
+ // support for multithreaded applications: if
+ // 1, compile in thread classes (thread.h)
+ // and make the library thread safe
+#define wxUSE_ZLIB 1
+ // Use zlib for compression in streams and PNG code
+#define wxUSE_LIBPNG 1
+ // Use PNG bitmap code
+#define wxUSE_LIBJPEG 1
+ // Use JPEG bitmap code
+#define wxUSE_LIBTIFF 1
+ // Use TIFF bitmap code
+#define wxUSE_GIF 1
+ // Use GIF bitmap code
+
+#define wxUSE_SERIAL 0
+ // Use serialization (requires utils/serialize)
+#define wxUSE_DYNLIB_CLASS 0
+ // Compile in wxLibrary class for run-time
+ // DLL loading and function calling
+#define wxUSE_TOOLTIPS 1
+ // Define to use wxToolTip class and
+ // wxWindow::SetToolTip() method
+#define wxUSE_SOCKETS 1 // 0
+ // Set to 1 to use socket classes
+#define wxUSE_HTML 1 // 0
+ // Set to 1 to use wxHTML sub-library
+#define wxUSE_FILESYSTEM 1
+
+#define wxUSE_FS_ZIP 1 // 0
+#define wxUSE_FS_INET 1 // 0 // Set to 1 to enable virtual file systems
+
+#define wxUSE_BUSYINFO 1 // 0
+ // wxBusyInfo displays window with message
+ // when app is busy. Works in same way as
+ // wxBusyCursor
+#define wxUSE_ZIPSTREAM 1 // 0
+ // input stream for reading from zip archives
+
+/*
+ * Finer detail
+ *
+ */
+
+#define wxUSE_APPLE_IEEE 1
+ // if enabled, the float codec written by Apple
+ // will be used to write, in a portable way,
+ // float on the disk
+
+// use wxFile class - required by i18n code, wxConfig and others - recommended
+#define wxUSE_FILE 1
+
+// use wxTextFile class: requires wxFile, required by wxConfig
+#define wxUSE_TEXTFILE 1
+
+// i18n support: _() macro, wxLocale class. Requires wxFile
+#define wxUSE_INTL 1
+
+// wxLogXXX functions - highly recommended
+#define wxUSE_LOG 1
+
+// wxValidator class
+#define wxUSE_VALIDATORS 1
+
+// wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar)
+#define wxUSE_ACCEL 1
+
+// wxSashWindow class
+#define wxUSE_SASH 1
+
+// text entry dialog and wxGetTextFromUser function
+#define wxUSE_TEXTDLG 1
+
+// wxStatusBar class
+#define wxUSE_STATUSBAR 1
+
+// progress dialog class for lengthy operations
+#define wxUSE_PROGRESSDLG 1
+
+// wxDirDlg class for getting a directory name from user
+#define wxUSE_DIRDLG 1
+
+/*
+ * MS Windows/Windows NT
+ *
+ */
+
+#define wxUSE_OLE 1
+ // drag-and-drop, clipboard, OLE Automation
+
+#if defined(__WIN95__)
+#define wxUSE_CTL3D 0
+#else
+#define wxUSE_CTL3D 1
+ // Define 1 to use Microsoft CTL3D library.
+ // See note above about using FAFA and CTL3D.
+#endif
+
+#define wxUSE_COMMON_DIALOGS 1
+ // On rare occasions (e.g. using DJGPP) may want
+ // to omit common dialogs
+ // (e.g. file selector, printer dialog).
+ // Switching this off also switches off
+ // the printing architecture and interactive
+ // wxPrinterDC.
+#define wxUSE_ITSY_BITSY 1
+ // Define 1 to use Microsoft's ItsyBitsy
+ // small title bar library, for wxMiniFrame
+#define wxUSE_BITMAP_MESSAGE 1
+ // Define 1 to use bitmap messages.
+#define wxUSE_PORTABLE_FONTS_IN_MSW 0
+ // Define 1 to use new portable font scheme in Windows
+ // (used by default under X)
+#define wxFONT_SIZE_COMPATIBILITY 0
+ // Define 1 for font size to be backward compatible
+ // to 1.63 and earlier. 1.64 and later define point
+ // sizes to be compatible with Windows.
+#define wxUSE_GENERIC_DIALOGS_IN_MSW 1
+ // Define 1 to use generic dialogs in Windows, even though
+ // they duplicate native common dialog (e.g. wxColourDialog)
+#define wxUSE_PENWINDOWS 0
+ // Set to 1 to use PenWindows
+
+#define wxUSE_OWNER_DRAWN 0
+ // Owner-drawn menus and listboxes
+
+#define wxUSE_NATIVE_STATUSBAR 1
+ // Set to 0 to use cross-platform wxStatusBar
+#define wxUSE_DBWIN32 1
+ // Use Andrew Tucker's OutputDebugString implementation
+ // (required on Win95 only). See utils.cpp.
+
+/*
+ * Any platform
+ *
+ */
+
+#define wxUSE_TYPEDEFS 1
+ // Use typedefs not classes for wxPoint
+ // and others, to reduce overhead and avoid
+ // MS C7 memory bug. Bounds checker
+ // complains about deallocating
+ // arrays of wxPoints if wxPoint is a class.
+
+
+#endif
+ // _WX_SETUP_H_
diff --git a/include/wx/mac/taskbar.h b/include/wx/mac/taskbar.h
new file mode 100644
index 0000000000..7f4a36b8b4
--- /dev/null
+++ b/include/wx/mac/taskbar.h
@@ -0,0 +1,49 @@
+/////////////////////////////////////////////////////////////////////////
+// File: taskbar.h
+// Purpose: Defines wxTaskBarIcon class for manipulating icons on the
+// task bar. Optional.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c)
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TASKBAR_H_
+#define _WX_TASKBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "taskbar.h"
+#endif
+
+#include
+#include
+
+class wxTaskBarIcon: public wxObject
+{
+public:
+ wxTaskBarIcon();
+ virtual ~wxTaskBarIcon();
+
+// Accessors
+
+// Operations
+ bool SetIcon(const wxIcon& icon, const wxString& tooltip = "");
+ bool RemoveIcon();
+
+// Overridables
+ virtual void OnMouseMove();
+ virtual void OnLButtonDown();
+ virtual void OnLButtonUp();
+ virtual void OnRButtonDown();
+ virtual void OnRButtonUp();
+ virtual void OnLButtonDClick();
+ virtual void OnRButtonDClick();
+
+// Data members
+protected:
+};
+
+#endif
+ // _WX_TASKBAR_H_
diff --git a/include/wx/motif/bitmap.h b/include/wx/motif/bitmap.h
new file mode 100644
index 0000000000..1af6e40347
--- /dev/null
+++ b/include/wx/motif/bitmap.h
@@ -0,0 +1,222 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: bitmap.h
+// Purpose: wxBitmap class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BITMAP_H_
+#define _WX_BITMAP_H_
+
+#ifdef __GNUG__
+#pragma interface "bitmap.h"
+#endif
+
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+#include "wx/palette.h"
+
+// Bitmap
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxBitmapHandler;
+class WXDLLEXPORT wxIcon;
+class WXDLLEXPORT wxCursor;
+
+// A mask is a mono bitmap used for drawing bitmaps
+// transparently.
+class WXDLLEXPORT wxMask: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxMask)
+
+public:
+ wxMask();
+
+ // Construct a mask from a bitmap and a colour indicating
+ // the transparent area
+ wxMask(const wxBitmap& bitmap, const wxColour& colour);
+
+ // Construct a mask from a bitmap and a palette index indicating
+ // the transparent area
+ wxMask(const wxBitmap& bitmap, int paletteIndex);
+
+ // Construct a mask from a mono bitmap (copies the bitmap).
+ wxMask(const wxBitmap& bitmap);
+
+ ~wxMask();
+
+ bool Create(const wxBitmap& bitmap, const wxColour& colour);
+ bool Create(const wxBitmap& bitmap, int paletteIndex);
+ bool Create(const wxBitmap& bitmap);
+
+ WXPixmap GetPixmap() const { return m_pixmap; }
+ void SetPixmap(WXPixmap pixmap) { m_pixmap = pixmap; }
+
+protected:
+ WXPixmap m_pixmap;
+};
+
+class WXDLLEXPORT wxBitmapRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxIcon;
+ friend class WXDLLEXPORT wxCursor;
+public:
+ wxBitmapRefData();
+ ~wxBitmapRefData();
+
+public:
+ int m_width;
+ int m_height;
+ int m_depth;
+ bool m_ok;
+ int m_numColors;
+ wxPalette m_bitmapPalette;
+ int m_quality;
+
+ wxMask * m_bitmapMask; // Optional mask
+
+ // Motif implementation
+public:
+ WXPixmap m_pixmap;
+ WXDisplay* m_display;
+ bool m_freePixmap;
+ unsigned long* m_freeColors;
+ long m_freeColorsCount;
+
+ // These 5 variables are for wxControl
+ WXPixmap m_insensPixmap ;
+ WXPixmap m_labelPixmap ;
+ WXPixmap m_armPixmap ;
+ WXImage* m_image ;
+ WXImage* m_insensImage ;
+};
+
+#define M_BITMAPDATA ((wxBitmapRefData *)m_refData)
+
+class WXDLLEXPORT wxBitmapHandler: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
+public:
+ wxBitmapHandler() { m_name = ""; m_extension = ""; m_type = 0; };
+
+ virtual bool Create(wxBitmap *bitmap, void *data, long flags, int width, int height, int depth = 1);
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth, int desiredHeight);
+ virtual bool SaveFile(wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL);
+
+ void SetName(const wxString& name) { m_name = name; }
+ void SetExtension(const wxString& ext) { m_extension = ext; }
+ void SetType(long type) { m_type = type; }
+ wxString GetName() const { return m_name; }
+ wxString GetExtension() const { return m_extension; }
+ long GetType() const { return m_type; }
+protected:
+ wxString m_name;
+ wxString m_extension;
+ long m_type;
+};
+
+#define M_BITMAPHANDLERDATA ((wxBitmapRefData *)bitmap->GetRefData())
+
+class WXDLLEXPORT wxBitmap: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmap)
+
+ friend class WXDLLEXPORT wxBitmapHandler;
+
+public:
+ wxBitmap(); // Platform-specific
+
+ // Copy constructors
+ wxBitmap(const wxBitmap& bitmap)
+ { Ref(bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
+
+ // Initialize with raw XBM data
+ wxBitmap(const char bits[], int width, int height, int depth = 1);
+
+ // from XPM
+ wxBitmap(const char **data) { (void)CreateFromXpm(data); }
+ wxBitmap(char **data) { (void)CreateFromXpm((const char **)data); }
+
+ // Initialize with XPM data -- deprecated
+ wxBitmap(char **data, wxControl* control);
+
+ // Load a file or resource
+ wxBitmap(const wxString& name, long type = wxBITMAP_TYPE_XPM);
+
+ // Constructor for generalised creation from data
+ wxBitmap(void *data, long type, int width, int height, int depth = 1);
+
+ // If depth is omitted, will create a bitmap compatible with the display
+ wxBitmap(int width, int height, int depth = -1);
+ ~wxBitmap();
+
+ virtual bool Create(int width, int height, int depth = -1);
+ virtual bool Create(void *data, long type, int width, int height, int depth = 1);
+
+ wxBitmap GetSubBitmap( const wxRect& rect ) const;
+
+ virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_XPM);
+ virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
+
+ bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
+ int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
+ int GetHeight() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
+ int GetDepth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
+ int GetQuality() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
+ void SetWidth(int w);
+ void SetHeight(int h);
+ void SetDepth(int d);
+ void SetQuality(int q);
+ void SetOk(bool isOk);
+
+ wxPalette* GetPalette() const { return (M_BITMAPDATA ? (& M_BITMAPDATA->m_bitmapPalette) : (wxPalette*) NULL); }
+ void SetPalette(const wxPalette& palette);
+
+ wxMask *GetMask() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_bitmapMask : (wxMask*) NULL); }
+ void SetMask(wxMask *mask) ;
+
+ wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
+ bool operator == (const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; }
+ bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; }
+
+ // Format handling
+ static wxList& GetHandlers() { return sm_handlers; }
+ static void AddHandler(wxBitmapHandler *handler);
+ static void InsertHandler(wxBitmapHandler *handler);
+ static bool RemoveHandler(const wxString& name);
+ static wxBitmapHandler *FindHandler(const wxString& name);
+ static wxBitmapHandler *FindHandler(const wxString& extension, long bitmapType);
+ static wxBitmapHandler *FindHandler(long bitmapType);
+
+ static void InitStandardHandlers();
+ static void CleanUpHandlers();
+
+ // Motif implementation
+public:
+ WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; }
+ WXPixmap GetPixmap() const { return (WXPixmap) M_BITMAPDATA->m_pixmap; }
+ virtual WXPixmap GetLabelPixmap(WXWidget w) ;
+ virtual WXPixmap GetArmPixmap(WXWidget w) ;
+ virtual WXPixmap GetInsensPixmap(WXWidget w = (WXWidget) 0) ;
+ void SetPixmapNull() { M_BITMAPDATA->m_pixmap = 0; }
+
+protected:
+ static wxList sm_handlers;
+
+protected:
+ bool CreateFromXpm(const char **bits);
+};
+
+// Creates a bitmap with transparent areas drawn in
+// the given colour.
+wxBitmap wxCreateMaskedBitmap(const wxBitmap& bitmap, wxColour& colour);
+
+#endif
+ // _WX_BITMAP_H_
diff --git a/include/wx/motif/brush.h b/include/wx/motif/brush.h
new file mode 100644
index 0000000000..03c23ce98a
--- /dev/null
+++ b/include/wx/motif/brush.h
@@ -0,0 +1,79 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: brush.h
+// Purpose: wxBrush class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BRUSH_H_
+#define _WX_BRUSH_H_
+
+#ifdef __GNUG__
+#pragma interface "brush.h"
+#endif
+
+#include "wx/gdicmn.h"
+#include "wx/gdiobj.h"
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxBrush;
+
+class WXDLLEXPORT wxBrushRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxBrush;
+public:
+ wxBrushRefData();
+ wxBrushRefData(const wxBrushRefData& data);
+ ~wxBrushRefData();
+
+protected:
+ int m_style;
+ wxBitmap m_stipple ;
+ wxColour m_colour;
+};
+
+#define M_BRUSHDATA ((wxBrushRefData *)m_refData)
+
+// Brush
+class WXDLLEXPORT wxBrush: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBrush)
+
+public:
+ wxBrush();
+ wxBrush(const wxColour& col, int style);
+ wxBrush(const wxBitmap& stipple);
+ inline wxBrush(const wxBrush& brush) { Ref(brush); }
+ ~wxBrush();
+
+ virtual void SetColour(const wxColour& col) ;
+ virtual void SetColour(unsigned char r, unsigned char g, unsigned char b) ;
+ virtual void SetStyle(int style) ;
+ virtual void SetStipple(const wxBitmap& stipple) ;
+
+ inline wxBrush& operator = (const wxBrush& brush) { if (*this == brush) return (*this); Ref(brush); return *this; }
+ inline bool operator == (const wxBrush& brush) const { return m_refData == brush.m_refData; }
+ inline bool operator != (const wxBrush& brush) const { return m_refData != brush.m_refData; }
+
+ inline wxColour& GetColour() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_colour : wxNullColour); };
+ inline int GetStyle() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_style : 0); };
+ inline wxBitmap *GetStipple() const { return (M_BRUSHDATA ? & M_BRUSHDATA->m_stipple : 0); };
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+// Implementation
+
+ // Useful helper: create the brush resource
+ bool RealizeResource();
+
+ // When setting properties, we must make sure we're not changing
+ // another object
+ void Unshare();
+};
+
+#endif
+ // _WX_BRUSH_H_
diff --git a/include/wx/motif/colordlg.h b/include/wx/motif/colordlg.h
new file mode 100644
index 0000000000..58cbb11e0a
--- /dev/null
+++ b/include/wx/motif/colordlg.h
@@ -0,0 +1,46 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: colordlg.h
+// Purpose: wxColourDialog class. Use generic version if no
+// platform-specific implementation.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COLORDLG_H_
+#define _WX_COLORDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "colordlg.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/dialog.h"
+#include "wx/cmndata.h"
+
+/*
+ * Platform-specific colour dialog implementation
+ */
+
+class WXDLLEXPORT wxColourDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxColourDialog)
+public:
+ wxColourDialog();
+ wxColourDialog(wxWindow *parent, wxColourData *data = NULL);
+
+ bool Create(wxWindow *parent, wxColourData *data = NULL);
+
+ int ShowModal();
+ wxColourData& GetColourData() { return m_colourData; }
+
+protected:
+ wxColourData m_colourData;
+ wxWindow* m_dialogParent;
+};
+
+#endif
+ // _WX_COLORDLG_H_
diff --git a/include/wx/motif/dirdlg.h b/include/wx/motif/dirdlg.h
new file mode 100644
index 0000000000..b27cb74466
--- /dev/null
+++ b/include/wx/motif/dirdlg.h
@@ -0,0 +1,49 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dirdlg.h
+// Purpose: wxDirDialog class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DIRDLG_H_
+#define _WX_DIRDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "dirdlg.h"
+#endif
+
+#include "wx/dialog.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxFileSelectorPromptStr;
+
+class WXDLLEXPORT wxDirDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxDirDialog)
+public:
+ wxDirDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultPath = "",
+ long style = 0, const wxPoint& pos = wxDefaultPosition);
+
+ inline void SetMessage(const wxString& message) { m_message = message; }
+ inline void SetPath(const wxString& path) { m_path = path; }
+ inline void SetStyle(long style) { m_dialogStyle = style; }
+
+ inline wxString GetMessage() const { return m_message; }
+ inline wxString GetPath() const { return m_path; }
+ inline long GetStyle() const { return m_dialogStyle; }
+
+ int ShowModal();
+
+protected:
+ wxString m_message;
+ long m_dialogStyle;
+ wxWindow * m_parent;
+ wxString m_path;
+};
+
+#endif
+ // _WX_DIRDLG_H_
diff --git a/include/wx/motif/fontdlg.h b/include/wx/motif/fontdlg.h
new file mode 100644
index 0000000000..ca799d759a
--- /dev/null
+++ b/include/wx/motif/fontdlg.h
@@ -0,0 +1,46 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: fontdlg.h
+// Purpose: wxFontDialog class. Use generic version if no
+// platform-specific implementation.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FONTDLG_H_
+#define _WX_FONTDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "fontdlg.h"
+#endif
+
+#include "wx/dialog.h"
+#include "wx/cmndata.h"
+
+/*
+ * Font dialog
+ */
+
+class WXDLLEXPORT wxFontDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxFontDialog)
+public:
+ wxFontDialog();
+ wxFontDialog(wxWindow *parent, wxFontData *data = NULL);
+
+ bool Create(wxWindow *parent, wxFontData *data = NULL);
+
+ int ShowModal();
+ wxFontData& GetFontData() { return m_fontData; }
+
+protected:
+ wxWindow* m_dialogParent;
+ wxFontData m_fontData;
+};
+
+#endif
+ // _WX_FONTDLG_H_
+
diff --git a/include/wx/motif/helpxxxx.h b/include/wx/motif/helpxxxx.h
new file mode 100644
index 0000000000..fc991a93b3
--- /dev/null
+++ b/include/wx/motif/helpxxxx.h
@@ -0,0 +1,52 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: helpxxxx.h
+// Purpose: Help system: native implementation for your system. Replace
+// XXXX with suitable name.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_HELPXXXX_H_
+#define _WX_HELPXXXX_H_
+
+#ifdef __GNUG__
+#pragma interface "helpxxxx.h"
+#endif
+
+#include "wx/wx.h"
+
+#include "wx/helpbase.h"
+
+class WXDLLEXPORT wxXXXXHelpController: public wxHelpControllerBase
+{
+ DECLARE_CLASS(wxXXXXHelpController)
+
+ public:
+ wxXXXXHelpController();
+ ~wxXXXXHelpController();
+
+ // Must call this to set the filename and server name
+ virtual bool Initialize(const wxString& file);
+
+ // If file is "", reloads file given in Initialize
+ virtual bool LoadFile(const wxString& file = "");
+ virtual bool DisplayContents();
+ virtual bool DisplaySection(int sectionNo);
+ virtual bool DisplayBlock(long blockNo);
+ virtual bool KeywordSearch(const wxString& k);
+
+ virtual bool Quit();
+ virtual void OnQuit();
+
+ inline wxString GetHelpFile() const { return m_helpFile; }
+
+protected:
+ wxString m_helpFile;
+};
+
+#endif
+ // _WX_HELPXXXX_H_
diff --git a/include/wx/motif/joystick.h b/include/wx/motif/joystick.h
new file mode 100644
index 0000000000..cc544c4d93
--- /dev/null
+++ b/include/wx/motif/joystick.h
@@ -0,0 +1,93 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: joystick.h
+// Purpose: wxJoystick class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_JOYSTICK_H_
+#define _WX_JOYSTICK_H_
+
+#ifdef __GNUG__
+#pragma interface "joystick.h"
+#endif
+
+#include "wx/event.h"
+
+class WXDLLEXPORT wxJoystick: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxJoystick)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxJoystick(int joystick = wxJOYSTICK1) { m_joystick = joystick; };
+
+ // Attributes
+ ////////////////////////////////////////////////////////////////////////////
+
+ wxPoint GetPosition() const;
+ int GetZPosition() const;
+ int GetButtonState() const;
+ int GetPOVPosition() const;
+ int GetPOVCTSPosition() const;
+ int GetRudderPosition() const;
+ int GetUPosition() const;
+ int GetVPosition() const;
+ int GetMovementThreshold() const;
+ void SetMovementThreshold(int threshold) ;
+
+ // Capabilities
+ ////////////////////////////////////////////////////////////////////////////
+
+ bool IsOk() const; // Checks that the joystick is functioning
+ int GetNumberJoysticks() const ;
+ int GetManufacturerId() const ;
+ int GetProductId() const ;
+ wxString GetProductName() const ;
+ int GetXMin() const;
+ int GetYMin() const;
+ int GetZMin() const;
+ int GetXMax() const;
+ int GetYMax() const;
+ int GetZMax() const;
+ int GetNumberButtons() const;
+ int GetNumberAxes() const;
+ int GetMaxButtons() const;
+ int GetMaxAxes() const;
+ int GetPollingMin() const;
+ int GetPollingMax() const;
+ int GetRudderMin() const;
+ int GetRudderMax() const;
+ int GetUMin() const;
+ int GetUMax() const;
+ int GetVMin() const;
+ int GetVMax() const;
+
+ bool HasRudder() const;
+ bool HasZ() const;
+ bool HasU() const;
+ bool HasV() const;
+ bool HasPOV() const;
+ bool HasPOV4Dir() const;
+ bool HasPOVCTS() const;
+
+ // Operations
+ ////////////////////////////////////////////////////////////////////////////
+
+ // pollingFreq = 0 means that movement events are sent when above the threshold.
+ // If pollingFreq > 0, events are received every this many milliseconds.
+ bool SetCapture(wxWindow* win, int pollingFreq = 0);
+ bool ReleaseCapture();
+
+protected:
+ int m_joystick;
+};
+
+#endif
+ // _WX_JOYSTICK_H_
diff --git a/include/wx/motif/metafile.h b/include/wx/motif/metafile.h
new file mode 100644
index 0000000000..b6f823b860
--- /dev/null
+++ b/include/wx/motif/metafile.h
@@ -0,0 +1,101 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: metafile.h
+// Purpose: wxMetaFile, wxMetaFileDC classes.
+// This probably should be restricted to Windows platforms,
+// but if there is an equivalent on your platform, great.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef _WX_METAFIILE_H_
+#define _WX_METAFIILE_H_
+
+#ifdef __GNUG__
+#pragma interface "metafile.h"
+#endif
+
+#include "wx/setup.h"
+
+/*
+ * Metafile and metafile device context classes - work in Windows 3.1 only
+ *
+ */
+
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxMetaFile: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxMetaFile)
+ public:
+ wxMetaFile(const wxString& file = "");
+ ~wxMetaFile();
+
+ // After this is called, the metafile cannot be used for anything
+ // since it is now owned by the clipboard.
+ virtual bool SetClipboard(int width = 0, int height = 0);
+
+ virtual bool Play(wxDC *dc);
+ // TODO
+ inline bool Ok() { return FALSE; };
+
+/* TODO: Implementation
+ inline WXHANDLE GetHMETAFILE() { return m_metaFile; }
+ inline void SetHMETAFILE(WXHANDLE mf) { m_metaFile = mf; }
+
+protected:
+ WXHANDLE m_metaFile;
+*/
+};
+
+class WXDLLEXPORT wxMetaFileDC: public wxDC
+{
+ DECLARE_DYNAMIC_CLASS(wxMetaFileDC)
+
+ public:
+ // Don't supply origin and extent
+ // Supply them to wxMakeMetaFilePlaceable instead.
+ wxMetaFileDC(const wxString& file = "");
+
+ // Supply origin and extent (recommended).
+ // Then don't need to supply them to wxMakeMetaFilePlaceable.
+ wxMetaFileDC(const wxString& file, int xext, int yext, int xorg, int yorg);
+
+ ~wxMetaFileDC();
+
+ // Should be called at end of drawing
+ virtual wxMetaFile *Close();
+ virtual void SetMapMode(int mode);
+ virtual void GetTextExtent(const wxString& string, float *x, float *y,
+ float *descent = NULL, float *externalLeading = NULL,
+ wxFont *theFont = NULL, bool use16bit = FALSE);
+
+ // Implementation
+ inline wxMetaFile *GetMetaFile() { return m_metaFile; }
+ inline void SetMetaFile(wxMetaFile *mf) { m_metaFile = mf; }
+ inline int GetWindowsMappingMode() { return m_windowsMappingMode; }
+ inline void SetWindowsMappingMode(int mm) { m_windowsMappingMode = mm; }
+
+protected:
+ int m_windowsMappingMode;
+ wxMetaFile *m_metaFile;
+};
+
+/*
+ * Pass filename of existing non-placeable metafile, and bounding box.
+ * Adds a placeable metafile header, sets the mapping mode to anisotropic,
+ * and sets the window origin and extent to mimic the wxMM_TEXT mapping mode.
+ *
+ */
+
+// No origin or extent
+bool WXDLLEXPORT wxMakeMetaFilePlaceable(const wxString& filename, float scale = 1.0);
+
+// Optional origin and extent
+bool WXDLLEXPORT wxMakeMetaFilePlaceable(const wxString& filename, int x1, int y1, int x2, int y2, float scale = 1.0, bool useOriginAndExtent = TRUE);
+
+#endif
+ // _WX_METAFIILE_H_
diff --git a/include/wx/motif/pen.h b/include/wx/motif/pen.h
new file mode 100644
index 0000000000..b0a30769e1
--- /dev/null
+++ b/include/wx/motif/pen.h
@@ -0,0 +1,102 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: pen.h
+// Purpose: wxPen class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PEN_H_
+#define _WX_PEN_H_
+
+#ifdef __GNUG__
+#pragma interface "pen.h"
+#endif
+
+#include "wx/gdiobj.h"
+#include "wx/colour.h"
+#include "wx/bitmap.h"
+
+typedef char wxMOTIFDash;
+
+class WXDLLEXPORT wxPen;
+
+class WXDLLEXPORT wxPenRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxPen;
+public:
+ wxPenRefData();
+ wxPenRefData(const wxPenRefData& data);
+ ~wxPenRefData();
+
+protected:
+ int m_width;
+ int m_style;
+ int m_join ;
+ int m_cap ;
+ wxBitmap m_stipple ;
+ int m_nbDash ;
+ wxMOTIFDash *m_dash ;
+ wxColour m_colour;
+};
+
+#define M_PENDATA ((wxPenRefData *)m_refData)
+
+// Pen
+class WXDLLEXPORT wxPen: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPen)
+public:
+ wxPen();
+ wxPen(const wxColour& col, int width, int style);
+ wxPen(const wxBitmap& stipple, int width);
+ inline wxPen(const wxPen& pen) { Ref(pen); }
+ ~wxPen();
+
+ inline wxPen& operator = (const wxPen& pen) { if (*this == pen) return (*this); Ref(pen); return *this; }
+ inline bool operator == (const wxPen& pen) const { return m_refData == pen.m_refData; }
+ inline bool operator != (const wxPen& pen) const { return m_refData != pen.m_refData; }
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ // Override in order to recreate the pen
+ void SetColour(const wxColour& col) ;
+ void SetColour(unsigned char r, unsigned char g, unsigned char b) ;
+
+ void SetWidth(int width) ;
+ void SetStyle(int style) ;
+ void SetStipple(const wxBitmap& stipple) ;
+ void SetDashes(int nb_dashes, const wxDash *dash) ;
+ void SetJoin(int join) ;
+ void SetCap(int cap) ;
+
+ inline wxColour& GetColour() const { return (M_PENDATA ? M_PENDATA->m_colour : wxNullColour); };
+ inline int GetWidth() const { return (M_PENDATA ? M_PENDATA->m_width : 0); };
+ inline int GetStyle() const { return (M_PENDATA ? M_PENDATA->m_style : 0); };
+ inline int GetJoin() const { return (M_PENDATA ? M_PENDATA->m_join : 0); };
+ inline int GetCap() const { return (M_PENDATA ? M_PENDATA->m_cap : 0); };
+ inline int GetDashes(wxDash **ptr) const
+ {
+ *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL);
+ return (M_PENDATA ? M_PENDATA->m_nbDash : 0);
+ }
+ inline int GetDashCount() const { return (M_PENDATA->m_nbDash); }
+ inline wxDash* GetDash() const { return (wxDash*)M_PENDATA->m_dash; }
+
+ inline wxBitmap *GetStipple() const { return (M_PENDATA ? (& M_PENDATA->m_stipple) : (wxBitmap*) NULL); };
+
+// Implementation
+
+ // Useful helper: create the brush resource
+ bool RealizeResource();
+
+ // When setting properties, we must make sure we're not changing
+ // another object
+ void Unshare();
+};
+
+#endif
+ // _WX_PEN_H_
diff --git a/include/wx/motif/printdlg.h b/include/wx/motif/printdlg.h
new file mode 100644
index 0000000000..81d630d5b2
--- /dev/null
+++ b/include/wx/motif/printdlg.h
@@ -0,0 +1,70 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: printdlg.h
+// Purpose: wxPrintDialog, wxPageSetupDialog classes.
+// Use generic, PostScript version if no
+// platform-specific implementation.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRINTDLG_H_
+#define _WX_PRINTDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "printdlg.h"
+#endif
+
+#include "wx/dialog.h"
+#include "wx/cmndata.h"
+
+/*
+ * wxPrinterDialog
+ * The common dialog for printing.
+ */
+
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxPrintDialog: public wxDialog
+{
+ DECLARE_DYNAMIC_CLASS(wxPrintDialog)
+
+ public:
+ wxPrintDialog();
+ wxPrintDialog(wxWindow *parent, wxPrintData* data = NULL);
+ ~wxPrintDialog();
+
+ bool Create(wxWindow *parent, wxPrintData* data = NULL);
+ virtual int ShowModal();
+
+ inline wxPrintData& GetPrintData() { return m_printData; }
+ virtual wxDC *GetPrintDC();
+
+ private:
+ wxPrintData m_printData;
+ wxDC* m_printerDC;
+ wxWindow* m_dialogParent;
+};
+
+class WXDLLEXPORT wxPageSetupDialog: public wxDialog
+{
+ DECLARE_DYNAMIC_CLASS(wxPageSetupDialog)
+
+ private:
+ wxPageSetupData m_pageSetupData;
+ wxWindow* m_dialogParent;
+ public:
+ wxPageSetupDialog();
+ wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL);
+ ~wxPageSetupDialog();
+
+ bool Create(wxWindow *parent, wxPageSetupData *data = NULL);
+ virtual int ShowModal();
+
+ inline wxPageSetupData& GetPageSetupData() { return m_pageSetupData; }
+};
+
+#endif
+ // _WX_PRINTDLG_H_
diff --git a/include/wx/motif/settings.h b/include/wx/motif/settings.h
new file mode 100644
index 0000000000..92a61461af
--- /dev/null
+++ b/include/wx/motif/settings.h
@@ -0,0 +1,42 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose: wxSystemSettings class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETTINGS_H_
+#define _WX_SETTINGS_H_
+
+#ifdef __GNUG__
+#pragma interface "settings.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/colour.h"
+#include "wx/font.h"
+
+
+class WXDLLEXPORT wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // _WX_SETTINGS_H_
diff --git a/include/wx/motif/setup0.h b/include/wx/motif/setup0.h
new file mode 100644
index 0000000000..6303aa2f27
--- /dev/null
+++ b/include/wx/motif/setup0.h
@@ -0,0 +1,645 @@
+/* ./include/wx/motif/setup.h. Generated automatically by configure. */
+/* setup.h
+
+ Do not edit this file. It is autogenerated by configure.
+
+ Leave the following blank line there!! Autoheader needs it. */
+
+
+/* ------------------------------------------------------------------------ */
+/* Features as requested by configure */
+/* ------------------------------------------------------------------------ */
+
+#ifndef __GTKSETUPH__
+#define __GTKSETUPH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+/* define the system to compile */
+#define __UNIX__ 1
+#define __LINUX__ 1
+/* #undef __SGI__ */
+/* #undef __HPUX__ */
+/* #undef __SYSV__ */
+/* #undef __SVR4__ */
+/* #undef __AIX__ */
+/* #undef __SUN__ */
+/* #undef __SOLARIS__ */
+/* #undef __SUNOS__ */
+/* #undef __ALPHA__ */
+/* #undef __OSF__ */
+/* #undef __BSD__ */
+/* #undef __FREEBSD__ */
+/* #undef __VMS__ */
+/* #undef __ULTRIX__ */
+/* #undef __DATA_GENERAL__ */
+
+/* ------------------------------------------------------------------------ */
+/* compiler options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Supports bool type
+ */
+#define HAVE_BOOL 1
+
+/* ------------------------------------------------------------------------ */
+/* library options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use zlib
+ */
+#define wxUSE_ZLIB 1
+/*
+ * Use libpng
+ */
+#define wxUSE_LIBPNG 1
+/*
+ * Use libjpeg
+ */
+#define wxUSE_LIBJPEG 0
+/*
+ * Use GIF
+ */
+#define wxUSE_LIBGIF 1
+/*
+ * Use PCX
+ */
+#define wxUSE_PCX 1
+/*
+ * Use PNM
+ */
+#define wxUSE_PNM 1
+/*
+ * Use iODBC
+ */
+#define wxUSE_ODBC 0
+#define wxODBC_FWD_ONLY_CURSORS 1
+/*
+ * Use Threads
+ */
+#define wxUSE_THREADS 0
+/*
+ * Have glibc2
+ */
+#define wxHAVE_GLIBC2 1
+/*
+ * Use libXpm
+ */
+#define wxHAVE_LIB_XPM 0
+
+#define wxUSE_XPM 1
+
+/* ------------------------------------------------------------------------ */
+/* GUI control options (always enabled in wxGTK) */
+/* ------------------------------------------------------------------------ */
+/*
+ * Use gauge item
+ */
+#define wxUSE_GAUGE 1
+/*
+ * Use combobox item
+ */
+#define wxUSE_COMBOBOX 1
+/*
+ * Use scrollbar item
+ */
+#define wxUSE_SCROLLBAR 1
+/*
+ * Use scrollbar item
+ */
+#define wxUSE_RADIOBTN 1
+/*
+ * Use toolbar item
+ */
+#define wxUSE_TOOLBAR 1
+
+/* ------------------------------------------------------------------------ */
+/* non-GUI options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use time and date classes
+ */
+#define wxUSE_TIMEDATE 1
+/*
+ * Use config system
+ */
+#define wxUSE_CONFIG 1
+/*
+ * Use intl system
+ */
+#define wxUSE_INTL 1
+/*
+ * Use streams
+ */
+#define wxUSE_STREAMS 1
+/*
+ * Use class serialization
+ */
+#define wxUSE_SERIAL 0
+/*
+ * Use sockets
+ */
+#define wxUSE_SOCKETS 1
+/*
+ * Use standard C++ streams if 1. If 0, use wxWin
+ * streams implementation.
+ */
+#define wxUSE_STD_IOSTREAM 1
+/*
+ * Use constraints mechanism
+ */
+#define wxUSE_CONSTRAINTS 1
+
+/* ------------------------------------------------------------------------ */
+/* PS options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use font metric files in GetTextExtent for wxPostScriptDC
+ * Use consistent PostScript fonts for AFM and printing (!)
+ */
+#define wxUSE_AFM_FOR_POSTSCRIPT 1
+#define WX_NORMALIZED_PS_FONTS 1
+/*
+ * Use PostScript device context
+ */
+#define wxUSE_POSTSCRIPT 1
+
+/* ------------------------------------------------------------------------ */
+/* wxString options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Compile wxString with wide character (Unicode) support?
+ */
+#define wxUSE_UNICODE 1
+
+/*
+ * Work around a bug in GNU libc 5.x wcstombs() implementation.
+ *
+ * Note that you must link your programs with libc.a if you enable this and you
+ * have libc 5 (you should enable this for libc6 where wcsrtombs() is
+ * thread-safe version of wcstombs()).
+ */
+#define wxUSE_WCSRTOMBS 0
+
+/*
+ * On some platforms overloading on size_t/int doesn't work, yet we'd like
+ * to define both size_t and int version of wxString::operator[] because it
+ * should really be size_t, but a lot of old, broken code uses int indices.
+ */
+#define wxUSE_SIZE_T_STRING_OPERATOR 1
+
+/* ------------------------------------------------------------------------ */
+/* misc options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use Interprocess communication
+ */
+#define wxUSE_IPC 1
+/*
+ * Use wxGetResource & wxWriteResource (change .Xdefaults)
+ */
+#define wxUSE_RESOURCES 1
+/*
+ * Use clipboard
+ */
+#define wxUSE_CLIPBOARD 1
+/*
+ * Use tooltips
+ */
+#define wxUSE_TOOLTIPS 0
+/*
+ * Use dnd
+ */
+#define wxUSE_DRAG_AND_DROP 0
+/*
+ * Use wxLibrary class
+ */
+#define wxUSE_DYNLIB_CLASS 0
+
+/* ------------------------------------------------------------------------ */
+/* architecture options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use the mdi architecture
+ */
+#define wxUSE_MDI_ARCHITECTURE 1
+/*
+ * Use the document/view architecture
+ */
+#define wxUSE_DOC_VIEW_ARCHITECTURE 1
+/*
+ * Use the print/preview architecture
+ */
+#define wxUSE_PRINTING_ARCHITECTURE 1
+
+/* ------------------------------------------------------------------------ */
+/* Prolog and wxWindows' resource system options */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use Prolog IO
+ */
+#define wxUSE_PROLOGIO 1
+/*
+ * Use Remote Procedure Call (Needs wxUSE_IPC and wxUSE_PROLOGIO)
+ */
+#define wxUSE_RPC 0
+/*
+ * Use wxWindows resource loading (.wxr-files) (Needs wxUSE_PROLOGIO 1)
+ */
+#define wxUSE_WX_RESOURCES 1
+
+/* ------------------------------------------------------------------------ */
+/* the rest */
+/* ------------------------------------------------------------------------ */
+
+/*
+ * Use wxWindows help facility (needs wxUSE_IPC 1)
+ */
+#define wxUSE_HELP 1
+/*
+ * Use iostream.h rather than iostream
+ */
+#define wxUSE_IOSTREAMH 1
+/*
+ * Use Apple Ieee-double converter
+ */
+#define wxUSE_APPLE_IEEE 1
+/* Compatibility with 1.66 API.
+ Level 0: no backward compatibility, all new features
+ Level 1: wxDC, OnSize (etc.) compatibility, but
+ some new features such as event tables */
+#define WXWIN_COMPATIBILITY 0
+/*
+ * Enables debugging: memory tracing, assert, etc., contains debug level
+ */
+#define WXDEBUG 1
+/*
+ * Enables debugging version of wxObject::new and wxObject::delete (IF WXDEBUG)
+ * WARNING: this code may not work with all architectures, especially
+ * if alignment is an issue.
+ */
+#define wxUSE_MEMORY_TRACING 0
+/*
+ * Enable debugging version of global memory operators new and delete
+ * Disable it, If this causes problems (e.g. link errors)
+ */
+#define wxUSE_DEBUG_NEW_ALWAYS 1
+/*
+ * In debug mode, causes new to be defined to
+ * be WXDEBUG_NEW (see object.h). If this causes
+ * problems (e.g. link errors), set this to 0.
+ */
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
+/*
+ * Matthews garbage collection (used for MrEd?)
+ */
+#define WXGARBAGE_COLLECTION_ON 0
+/*
+ * Use splines
+ */
+#define wxUSE_SPLINES 1
+/*
+ * wxUSE_DYNAMIC_CLASSES is TRUE for the Xt port
+ */
+#define wxUSE_DYNAMIC_CLASSES 1
+/*
+ * Disable this if your compiler can't cope
+ * with omission of prototype parameters.
+ */
+#define REMOVE_UNUSED_ARG 1
+/*
+ * The const keyword is being introduced more in wxWindows.
+ * You can use this setting to maintain backward compatibility.
+ * If 0: will use const wherever possible.
+ * If 1: will use const only where necessary
+ * for precompiled headers to work.
+ * If 2: will be totally backward compatible, but precompiled
+ * headers may not work and program size will be larger.
+ */
+#define CONST_COMPATIBILITY 0
+
+/* ------------------------------------------------------------------------ */
+/* System-specific stuff */
+/* ------------------------------------------------------------------------ */
+
+/* acconfig.h
+ This file is in the public domain.
+
+ Descriptive text for the C preprocessor macros that
+ the distributed Autoconf macros can define.
+ No software package will use all of them; autoheader copies the ones
+ your configure.in uses into your configuration header file templates.
+
+ The entries are in sort -df order: alphabetical, case insensitive,
+ ignoring punctuation (such as underscores). Although this order
+ can split up related entries, it makes it easier to check whether
+ a given entry is in the file. */
+
+/* Define if on AIX 3.
+ System headers sometimes define this.
+ We just want to avoid a redefinition error message. */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* Define if using alloca.c. */
+/* #undef C_ALLOCA */
+
+/* Define if type char is unsigned and you are not using gcc. */
+#ifndef __CHAR_UNSIGNED__
+/* #undef __CHAR_UNSIGNED__ */
+#endif
+
+/* Define if the closedir function returns void instead of int. */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to empty if the keyword does not work. */
+/* #undef const */
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define for DGUX with . */
+/* #undef DGUX */
+
+/* Define if you have . */
+/* #undef DIRENT */
+
+/* Define to the type of elements in the array set by `getgroups'.
+ Usually this is either `int' or `gid_t'. */
+#define GETGROUPS_T gid_t
+
+/* The type of 3rd argument to getsockname() - usually size_t or int */
+#define SOCKLEN_T size_t
+
+/* Define if the `getloadavg' function needs to be run setuid or setgid. */
+/* #undef GETLOADAVG_PRIVILEGED */
+
+/* Define if the `getpgrp' function takes no argument. */
+/* #undef GETPGRP_VOID */
+
+/* Define to `int' if doesn't define. */
+/* #undef gid_t */
+
+/* Define if you have alloca, as a function or macro. */
+/* #undef HAVE_ALLOCA */
+
+/* Define if you have and it should be used (not on Ultrix). */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define if you don't have vprintf but do have _doprnt. */
+/* #undef HAVE_DOPRNT */
+
+/* Define if you have sched.h */
+#define HAVE_SCHED_H 0
+
+/* Define if you have strings.h */
+#define HAVE_STRINGS_H 1
+
+/* Define if you have vprintf() */
+#define HAVE_VPRINTF 1
+
+/* Define if you have dlopen() */
+/* #undef HAVE_DLOPEN */
+
+/* Define if you have shl_load() */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define if you have vsnprintf() */
+#define HAVE_VSNPRINTF 1
+
+/* Define if you have usleep() */
+#define HAVE_USLEEP 1
+
+/* Define if you have nanosleep() */
+#define HAVE_NANOSLEEP 0
+
+/* Define if you have vfork() */
+#define HAVE_VFORK 1
+
+/* Define if you have uname() */
+#define HAVE_UNAME 1
+
+/* Define if you have gethostname() */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define if you have sched_yield */
+#define HAVE_SCHED_YIELD 1
+
+/* Define if you have pthread_cancel */
+#define HAVE_PTHREAD_CANCEL 1
+
+/* Define if you have all functions to set thread priority */
+#define HAVE_THREAD_PRIORITY_FUNCTIONS 1
+
+/* Define if your system has its own `getloadavg' function. */
+/* #undef HAVE_GETLOADAVG */
+
+/* Define if you have the getmntent function. */
+/* #undef HAVE_GETMNTENT */
+
+/* Define if the `long double' type works. */
+#define HAVE_LONG_DOUBLE 1
+
+/* Define if you support file names longer than 14 characters. */
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if you have a working `mmap' system call. */
+/* #undef HAVE_MMAP */
+
+/* Define if system calls automatically restart after interruption
+ by a signal. */
+/* #undef HAVE_RESTARTABLE_SYSCALLS */
+
+/* Define if your struct stat has st_blksize. */
+#define HAVE_ST_BLKSIZE 1
+
+/* Define if your struct stat has st_blocks. */
+#define HAVE_ST_BLOCKS 1
+
+/* Define if you have the strcoll function and it is properly defined. */
+/* #undef HAVE_STRCOLL */
+
+/* Define if your struct stat has st_rdev. */
+#define HAVE_ST_RDEV 1
+
+/* Define if you have the strftime function. */
+/* #undef HAVE_STRFTIME */
+
+/* Define if you have that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define if your struct tm has tm_zone. */
+#define HAVE_TM_ZONE 1
+
+/* Define if you don't have tm_zone but do have the external array
+ tzname. */
+/* #undef HAVE_TZNAME */
+
+/* Define if you have . */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have . */
+#define HAVE_FNMATCH_H 1
+
+/* Define if utime(file, NULL) sets file's timestamp to the present. */
+/* #undef HAVE_UTIME_NULL */
+
+/* Define if you have . */
+/* #undef HAVE_VFORK_H */
+
+/* Define if you have the vprintf function. */
+#define HAVE_VPRINTF 1
+
+/* Define if you have the wait3 system call. */
+/* #undef HAVE_WAIT3 */
+
+/* Define as __inline if that's what the C compiler calls it. */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define if major, minor, and makedev are declared in . */
+/* #undef MAJOR_IN_MKDEV */
+
+/* Define if major, minor, and makedev are declared in . */
+/* #undef MAJOR_IN_SYSMACROS */
+
+/* Define if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to `int' if doesn't define. */
+/* #undef mode_t */
+
+/* Define if you don't have , but have . */
+/* #undef NDIR */
+
+/* Define if you have , and doesn't declare the
+ mem* functions. */
+/* #undef NEED_MEMORY_H */
+
+/* Define if your struct nlist has an n_un member. */
+/* #undef NLIST_NAME_UNION */
+
+/* Define if you have . */
+/* #undef NLIST_STRUCT */
+
+/* Define if your C compiler doesn't accept -c and -o together. */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to `long' if doesn't define. */
+/* #undef off_t */
+
+/* Define to `int' if doesn't define. */
+/* #undef pid_t */
+
+/* Define if the system does not provide POSIX.1 features except
+ with this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define if you need to in order for stat and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Define as the return type of signal handlers (int or void). */
+#define RETSIGTYPE void
+
+/* Define if the setvbuf function takes the buffering type as its second
+ argument and the buffer pointer as the third, as on System V
+ before release 3. */
+/* #undef SETVBUF_REVERSED */
+
+/* Define SIZESOF for some Objects */
+#define SIZEOF_INT 4
+#define SIZEOF_INT_P 4
+#define SIZEOF_LONG 4
+#define SIZEOF_LONG_LONG 8
+
+/* Define to `unsigned' if doesn't define. */
+/* #undef size_t */
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
+ */
+/* #undef STACK_DIRECTION */
+
+/* Define if the `S_IS*' macros in do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define on System V Release 4. */
+/* #undef SVR4 */
+
+/* Define on BSD */
+/* #undef BSD */
+
+/* Define on System V */
+/* #undef SYSV */
+
+/* Define if you don't have , but have . */
+/* #undef SYSDIR */
+
+/* Define if you don't have , but have . */
+/* #undef SYSNDIR */
+
+/* Define if `sys_siglist' is declared by . */
+/* #undef SYS_SIGLIST_DECLARED */
+
+/* Define if you can safely include both and . */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define if your declares struct tm. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define to `int' if doesn't define. */
+/* #undef uid_t */
+
+/* Define for Encore UMAX. */
+/* #undef UMAX */
+
+/* Define for Encore UMAX 4.3 that has
+ instead of . */
+/* #undef UMAX4_3 */
+
+/* Define if you do not have , index, bzero, etc.. */
+/* #undef USG */
+
+/* Define if the system is System V Release 4 */
+/* #undef SVR4 */
+
+/* Define vfork as fork if vfork does not work. */
+/* #undef vfork */
+
+/* Define if the closedir function returns void instead of int. */
+/* #undef VOID_CLOSEDIR */
+
+/* Define if your processor stores words with the most significant
+ byte first (like Motorola and SPARC, unlike Intel and VAX). */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define if lex declares yytext as a char * by default, not a char[]. */
+#define YYTEXT_POINTER 1
+
+#endif /* __GTKSETUPH__ */
+
+
+/* Leave that blank line there!! Autoheader needs it.
+ If you're adding to this file, keep in mind:
+ The entries are in sort -df order: alphabetical, case insensitive,
+ ignoring punctuation (such as underscores). */
diff --git a/include/wx/motif/tabctrl.h b/include/wx/motif/tabctrl.h
new file mode 100644
index 0000000000..c7ffd57bf7
--- /dev/null
+++ b/include/wx/motif/tabctrl.h
@@ -0,0 +1,138 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: tabctrl.h
+// Purpose: wxTabCtrl class
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TABCTRL_H_
+#define _WX_TABCTRL_H_
+
+#ifdef __GNUG__
+#pragma interface "tabctrl.h"
+#endif
+
+class wxImageList;
+
+/*
+ * Flags returned by HitTest
+ */
+
+#define wxTAB_HITTEST_NOWHERE 1
+#define wxTAB_HITTEST_ONICON 2
+#define wxTAB_HITTEST_ONLABEL 4
+#define wxTAB_HITTEST_ONITEM 6
+
+class WXDLLEXPORT wxTabCtrl: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxTabCtrl)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxTabCtrl();
+
+ inline wxTabCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = "tabCtrl")
+ {
+ Create(parent, id, pos, size, style, name);
+ }
+ ~wxTabCtrl();
+
+// Accessors
+
+ // Get the selection
+ int GetSelection() const;
+
+ // Get the tab with the current keyboard focus
+ int GetCurFocus() const;
+
+ // Get the associated image list
+ wxImageList* GetImageList() const;
+
+ // Get the number of items
+ int GetItemCount() const;
+
+ // Get the rect corresponding to the tab
+ bool GetItemRect(int item, wxRect& rect) const;
+
+ // Get the number of rows
+ int GetRowCount() const;
+
+ // Get the item text
+ wxString GetItemText(int item) const ;
+
+ // Get the item image
+ int GetItemImage(int item) const;
+
+ // Get the item data
+ void* GetItemData(int item) const;
+
+ // Set the selection
+ int SetSelection(int item);
+
+ // Set the image list
+ void SetImageList(wxImageList* imageList);
+
+ // Set the text for an item
+ bool SetItemText(int item, const wxString& text);
+
+ // Set the image for an item
+ bool SetItemImage(int item, int image);
+
+ // Set the data for an item
+ bool SetItemData(int item, void* data);
+
+ // Set the size for a fixed-width tab control
+ void SetItemSize(const wxSize& size);
+
+ // Set the padding between tabs
+ void SetPadding(const wxSize& padding);
+
+// Operations
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = "tabCtrl");
+
+ // Delete all items
+ bool DeleteAllItems();
+
+ // Delete an item
+ bool DeleteItem(int item);
+
+ // Hit test
+ int HitTest(const wxPoint& pt, long& flags);
+
+ // Insert an item
+ bool InsertItem(int item, const wxString& text, int imageId = -1, void* data = NULL);
+
+ void Command(wxCommandEvent& event);
+
+protected:
+ wxImageList* m_imageList;
+
+DECLARE_EVENT_TABLE()
+};
+
+class WXDLLEXPORT wxTabEvent: public wxCommandEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxTabEvent)
+
+ public:
+ wxTabEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+};
+
+typedef void (wxEvtHandler::*wxTabEventFunction)(wxTabEvent&);
+
+#define EVT_TAB_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGED, \
+ id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL },
+#define EVT_TAB_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGING, \
+ id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL },
+
+#endif
+ // _WX_TABCTRL_H_
diff --git a/include/wx/motif/taskbar.h b/include/wx/motif/taskbar.h
new file mode 100644
index 0000000000..d9453f7033
--- /dev/null
+++ b/include/wx/motif/taskbar.h
@@ -0,0 +1,49 @@
+/////////////////////////////////////////////////////////////////////////
+// File: taskbar.h
+// Purpose: Defines wxTaskBarIcon class for manipulating icons on the
+// task bar. Optional.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c)
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TASKBAR_H_
+#define _WX_TASKBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "taskbar.h"
+#endif
+
+#include
+#include
+
+class wxTaskBarIcon: public wxObject
+{
+public:
+ wxTaskBarIcon();
+ virtual ~wxTaskBarIcon();
+
+// Accessors
+
+// Operations
+ bool SetIcon(const wxIcon& icon, const wxString& tooltip = "");
+ bool RemoveIcon();
+
+// Overridables
+ virtual void OnMouseMove();
+ virtual void OnLButtonDown();
+ virtual void OnLButtonUp();
+ virtual void OnRButtonDown();
+ virtual void OnRButtonUp();
+ virtual void OnLButtonDClick();
+ virtual void OnRButtonDClick();
+
+// Data members
+protected:
+};
+
+#endif
+ // _WX_TASKBAR_H_
diff --git a/include/wx/motif/wave.h b/include/wx/motif/wave.h
new file mode 100644
index 0000000000..272b152aa3
--- /dev/null
+++ b/include/wx/motif/wave.h
@@ -0,0 +1,44 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wave.h
+// Purpose: wxWave class (loads and plays short Windows .wav files).
+// Optional on non-Windows platforms.
+// Author: Julian Smart
+// Modified by:
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_WAVE_H_
+#define _WX_WAVE_H_
+
+#ifdef __GNUG__
+#pragma interface "wave.h"
+#endif
+
+#include "wx/object.h"
+
+class wxWave : public wxObject
+{
+public:
+ wxWave();
+ wxWave(const wxString& fileName, bool isResource = FALSE);
+ ~wxWave();
+
+public:
+ bool Create(const wxString& fileName, bool isResource = FALSE);
+ bool IsOk() const { return (m_waveData ? TRUE : FALSE); };
+ bool Play(bool async = TRUE, bool looped = FALSE) const;
+
+protected:
+ bool Free();
+
+private:
+ char* m_waveData;
+ int m_waveLength;
+ bool m_isResource;
+};
+
+#endif
+ // _WX_WAVE_H_
diff --git a/include/wx/msw/cross.bmp b/include/wx/msw/cross.bmp
new file mode 100644
index 0000000000..079cb0dd58
Binary files /dev/null and b/include/wx/msw/cross.bmp differ
diff --git a/include/wx/msw/curico.h b/include/wx/msw/curico.h
new file mode 100644
index 0000000000..a4f4394350
--- /dev/null
+++ b/include/wx/msw/curico.h
@@ -0,0 +1,28 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: curico.h
+// Purpose: Icon and cursor functions
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CURICO_H_
+#define _WX_CURICO_H_
+
+HICON ReadIconFile( wxChar *szFileName, HINSTANCE hInst,
+ int *W = 0, int *H = 0);
+HCURSOR ReadCursorFile( wxChar *szFileName, HINSTANCE hInst,
+ int *W = 0, int *H = 0, int *XHot = 0, int *YHot = 0);
+HCURSOR IconToCursor( wxChar *szFileName, HINSTANCE hInst, int XHot, int YHot,
+ int *W = 0, int *H = 0);
+HICON CursorToIcon( wxChar *szFileName, HINSTANCE hInst,
+ int *W = 0, int *H = 0);
+
+HCURSOR MakeCursorFromBitmap(HINSTANCE hInst, HBITMAP hBitmap, POINT *pPoint);
+HICON MakeIconFromBitmap(HINSTANCE hInst, HBITMAP hBitmap);
+
+#endif
+
diff --git a/include/wx/msw/curicop.h b/include/wx/msw/curicop.h
new file mode 100644
index 0000000000..2be9ce59a7
--- /dev/null
+++ b/include/wx/msw/curicop.h
@@ -0,0 +1,79 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: curicop.h
+// Purpose: Private routines for cursor/icon handling
+// Author: Various
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CURICOP_H_
+#define _WX_CURICOP_H_
+
+// PRIVATE STUFF FOLLOWS UNTIL END
+
+// Header signatures for various resources
+#define BFT_ICON 0x4349 /* 'IC' */
+#define BFT_BITMAP 0x4d42 /* 'BM' */
+#define BFT_CURSOR 0x5450 /* 'PT(' */
+
+// This WIDTHBYTES macro determines the number of BYTES per scan line.
+#define WIDTHBYTES( i) ((i + 31) / 32 * 4)
+#define IS_WIN30_DIB( lpbi) ((*(LPDWORD)( lpbi)) == sizeof( BITMAPINFOHEADER))
+
+WORD DIBNumColors(LPSTR pv);
+WORD PaletteSize(LPSTR lpbi);
+
+
+struct tagCURFILEHEADER { WORD wReserved; // Always 0
+ WORD wResourceType; // 2 = cursor
+ WORD wResourceCount; // Number of icons in the file
+ };
+
+typedef struct tagCURFILEHEADER CURFILEHEADER;
+
+struct tagCURFILERES {
+ BYTE bWidth; // Width of image
+ BYTE bHeight; // Height of image
+ BYTE bColorCount; // Number of colors in image (2, 8, or 16)
+ BYTE bReserved1; // Reserved
+ WORD wXHotspot; // x coordinate of hotspot
+ WORD wYHotspot; // y coordinate of hotspot
+ DWORD dwDIBSize; // Size of DIB for this image
+ DWORD dwDIBOffset; // Offset to DIB for this image
+ };
+
+typedef struct tagCURFILERES CURFILERES;
+
+HANDLE ReadCur( LPTSTR szFileName, LPPOINT lpptHotSpot, int *W = 0, int *H = 0);
+HBITMAP ColorDDBToMonoDDB( HBITMAP hbm);
+HCURSOR MakeCursor( HANDLE hDIB, LPPOINT lpptHotSpot, HINSTANCE hInst);
+
+struct tagICONFILEHEADER {
+ WORD wReserved; // Always 0
+ WORD wResourceType; // 1 = icon
+ WORD wResourceCount; // Number of icons in the file
+ };
+
+typedef struct tagICONFILEHEADER ICONFILEHEADER;
+
+struct tagICONFILERES {
+ BYTE bWidth; // Width of image
+ BYTE bHeight; // Height of image
+ BYTE bColorCount; // Number of colors in image (2, 8, or 16)
+ BYTE bReserved1; // Reserved
+ WORD wReserved2;
+ WORD wReserved3;
+ DWORD dwDIBSize; // Size of DIB for this image
+ DWORD dwDIBOffset; // Offset to DIB for this image
+ };
+
+typedef struct tagICONFILERES ICONFILERES;
+
+HANDLE ReadIcon( wxChar *szFileName, int *W = 0, int *H = 0);
+HICON MakeIcon( HANDLE hDIB, HINSTANCE hInst);
+
+#endif
+
diff --git a/include/wx/msw/dibutils.h b/include/wx/msw/dibutils.h
new file mode 100644
index 0000000000..bb9845f2c6
--- /dev/null
+++ b/include/wx/msw/dibutils.h
@@ -0,0 +1,132 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dibutils.h
+// Purpose: Utilities for DIBs
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Microsoft, Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+/***************************************************************************
+
+ (C) Copyright 1994 Microsoft Corp. All rights reserved.
+
+ You have a royalty-free right to use, modify, reproduce and
+ distribute the Sample Files (and/or any modified version) in
+ any way you find useful, provided that you agree that
+ Microsoft has no warranty obligations or liability for any
+ Sample Application Files which are modified.
+
+ **************************************************************************/
+
+/***************************************************************************
+ Functions for handling Device Independent Bitmaps and clearing the
+ System Palette.
+ **************************************************************************/
+
+#ifndef SAMPLES_UTILS_H
+#define SAMPLES_UTILS_H
+
+#ifdef __GNUG__
+#pragma interface "dibutils.h"
+#endif
+
+typedef LPBITMAPINFOHEADER PDIB;
+typedef HANDLE HDIB;
+
+/***************************************************************************
+ External function declarations
+ **************************************************************************/
+
+void wxClearSystemPalette(void);
+PDIB wxDibOpenFile(LPTSTR szFile);
+int wxDibWriteFile(LPTSTR szFile, LPBITMAPINFOHEADER lpbi);
+BOOL wxDibSetUsage(PDIB pdib, HPALETTE hpal,UINT wUsage);
+PDIB wxDibCreate(int bits, int dx, int dy);
+BOOL wxDibMapToPalette(PDIB pdib, HPALETTE hpal);
+HPALETTE wxMakePalette(const BITMAPINFO FAR* Info, UINT flags);
+
+/****************************************************************************
+ Internal function declarations
+ ***************************************************************************/
+
+PDIB wxDibReadBitmapInfo(HFILE fh);
+
+/****************************************************************************
+ DIB macros.
+ ***************************************************************************/
+
+#ifdef WIN32
+ #define wxHandleFromDib(lpbi) GlobalHandle(lpbi)
+#else
+ #define wxHandleFromDib(lpbi) (HANDLE)GlobalHandle(SELECTOROF(lpbi))
+#endif
+
+#define wxDibFromHandle(h) (PDIB)GlobalLock(h)
+
+#define wxDibFree(pdib) GlobalFreePtr(pdib)
+
+#define wxWIDTHBYTES(i) ((unsigned)((i+31)&(~31))/8) /* ULONG aligned ! */
+
+#define wxDibWidth(lpbi) (UINT)(((LPBITMAPINFOHEADER)(lpbi))->biWidth)
+#define wxDibHeight(lpbi) (UINT)(((LPBITMAPINFOHEADER)(lpbi))->biHeight)
+#define wxDibBitCount(lpbi) (UINT)(((LPBITMAPINFOHEADER)(lpbi))->biBitCount)
+#define wxDibCompression(lpbi) (DWORD)(((LPBITMAPINFOHEADER)(lpbi))->biCompression)
+
+#define wxDibWidthBytesN(lpbi, n) (UINT)wxWIDTHBYTES((UINT)(lpbi)->biWidth * (UINT)(n))
+#define wxDibWidthBytes(lpbi) wxDibWidthBytesN(lpbi, (lpbi)->biBitCount)
+
+#define wxDibSizeImage(lpbi) ((lpbi)->biSizeImage == 0 \
+ ? ((DWORD)(UINT)wxDibWidthBytes(lpbi) * (DWORD)(UINT)(lpbi)->biHeight) \
+ : (lpbi)->biSizeImage)
+
+#define wxDibSize(lpbi) ((lpbi)->biSize + (lpbi)->biSizeImage + (int)(lpbi)->biClrUsed * sizeof(RGBQUAD))
+#define wxDibPaletteSize(lpbi) (wxDibNumColors(lpbi) * sizeof(RGBQUAD))
+
+#define wxDibFlipY(lpbi, y) ((int)(lpbi)->biHeight-1-(y))
+
+//HACK for NT BI_BITFIELDS DIBs
+#ifdef WIN32
+ #define wxDibPtr(lpbi) ((lpbi)->biCompression == BI_BITFIELDS \
+ ? (LPVOID)(wxDibColors(lpbi) + 3) \
+ : (LPVOID)(wxDibColors(lpbi) + (UINT)(lpbi)->biClrUsed))
+#else
+ #define wxDibPtr(lpbi) (LPVOID)(wxDibColors(lpbi) + (UINT)(lpbi)->biClrUsed)
+#endif
+
+#define wxDibColors(lpbi) ((RGBQUAD FAR *)((LPBYTE)(lpbi) + (int)(lpbi)->biSize))
+
+#define wxDibNumColors(lpbi) ((lpbi)->biClrUsed == 0 && (lpbi)->biBitCount <= 8 \
+ ? (int)(1 << (int)(lpbi)->biBitCount) \
+ : (int)(lpbi)->biClrUsed)
+
+#define wxDibXYN(lpbi,pb,x,y,n) (LPVOID)( \
+ (BYTE _huge *)(pb) + \
+ (UINT)((UINT)(x) * (UINT)(n) / 8u) + \
+ ((DWORD)wxDibWidthBytesN(lpbi,n) * (DWORD)(UINT)(y)))
+
+#define wxDibXY(lpbi,x,y) wxDibXYN(lpbi,wxDibPtr(lpbi),x,y,(lpbi)->biBitCount)
+
+#define wxFixBitmapInfo(lpbi) if ((lpbi)->biSizeImage == 0) \
+ (lpbi)->biSizeImage = wxDibSizeImage(lpbi); \
+ if ((lpbi)->biClrUsed == 0) \
+ (lpbi)->biClrUsed = wxDibNumColors(lpbi);
+
+// if ((lpbi)->biCompression == BI_BITFIELDS && (lpbi)->biClrUsed == 0)
+// ; // (lpbi)->biClrUsed = 3;
+
+#define wxDibInfo(pDIB) ((BITMAPINFO FAR *)(pDIB))
+
+/***************************************************************************/
+
+#ifndef BI_BITFIELDS
+ #define BI_BITFIELDS 3
+#endif
+
+#ifndef HALFTONE
+ #define HALFTONE COLORONCOLOR
+#endif
+
+#endif
diff --git a/include/wx/msw/gauge.h b/include/wx/msw/gauge.h
new file mode 100644
index 0000000000..3b5569a769
--- /dev/null
+++ b/include/wx/msw/gauge.h
@@ -0,0 +1,30 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gauge.h
+// Purpose: wxGauge header, includes gauge class headers as appropriate
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GAUGE_H_
+#define _WX_GAUGE_H_
+
+#ifdef __GNUG__
+#pragma interface "gauge.h"
+#endif
+
+#ifdef __WIN95__
+#include "wx/msw/gauge95.h"
+#define wxGauge wxGauge95
+#define sm_classwxGauge sm_classwxGauge95
+#else
+#include "wx/msw/gaugemsw.h"
+#define wxGauge wxGaugeMSW
+#define sm_classwxGauge sm_classwxGaugeMSW
+#endif
+
+#endif
+ // _WX_GAUGE_H_
diff --git a/include/wx/msw/gaugemsw.h b/include/wx/msw/gaugemsw.h
new file mode 100644
index 0000000000..78cf35fc14
--- /dev/null
+++ b/include/wx/msw/gaugemsw.h
@@ -0,0 +1,79 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gaugemsw.h
+// Purpose: wxGauge class
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _GAUGEMSW_H_
+#define _GAUGEMSW_H_
+
+#ifdef __GNUG__
+#pragma interface "gaugemsw.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const wxChar*) wxGaugeNameStr;
+
+// Group box
+class WXDLLEXPORT wxGaugeMSW: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxGaugeMSW)
+
+public:
+ wxGaugeMSW(void) { m_rangeMax = 0; m_gaugePos = 0; }
+
+ wxGaugeMSW(wxWindow *parent, wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr)
+ {
+ Create(parent, id, range, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr);
+
+ void SetShadowWidth(int w);
+ void SetBezelFace(int w);
+ void SetRange(int r);
+ void SetValue(int pos);
+
+ int GetShadowWidth(void) const ;
+ int GetBezelFace(void) const ;
+ int GetRange(void) const ;
+ int GetValue(void) const ;
+
+ bool SetForegroundColour(const wxColour& col);
+ bool SetBackgroundColour(const wxColour& col);
+
+ // overriden base class virtuals
+ virtual bool AcceptsFocus() const { return FALSE; }
+
+ // Backward compatibility
+#if WXWIN_COMPATIBILITY
+ void SetButtonColour(const wxColour& col) { SetForegroundColour(col); }
+#endif
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {} ;
+
+protected:
+ int m_rangeMax;
+ int m_gaugePos;
+};
+
+#endif
+ // _GAUGEMSW_H_
diff --git a/include/wx/msw/plot_dwn.bmp b/include/wx/msw/plot_dwn.bmp
new file mode 100644
index 0000000000..3d2c04fe5d
Binary files /dev/null and b/include/wx/msw/plot_dwn.bmp differ
diff --git a/include/wx/msw/plot_enl.bmp b/include/wx/msw/plot_enl.bmp
new file mode 100644
index 0000000000..840f2958e1
Binary files /dev/null and b/include/wx/msw/plot_enl.bmp differ
diff --git a/include/wx/msw/plot_shr.bmp b/include/wx/msw/plot_shr.bmp
new file mode 100644
index 0000000000..7b4f3cfccb
Binary files /dev/null and b/include/wx/msw/plot_shr.bmp differ
diff --git a/include/wx/msw/plot_up.bmp b/include/wx/msw/plot_up.bmp
new file mode 100644
index 0000000000..96b0be6ef7
Binary files /dev/null and b/include/wx/msw/plot_up.bmp differ
diff --git a/include/wx/msw/plot_zin.bmp b/include/wx/msw/plot_zin.bmp
new file mode 100644
index 0000000000..6df6ffeff2
Binary files /dev/null and b/include/wx/msw/plot_zin.bmp differ
diff --git a/include/wx/msw/plot_zot.bmp b/include/wx/msw/plot_zot.bmp
new file mode 100644
index 0000000000..dbe24799d0
Binary files /dev/null and b/include/wx/msw/plot_zot.bmp differ
diff --git a/include/wx/msw/settings.h b/include/wx/msw/settings.h
new file mode 100644
index 0000000000..1f16e900c2
--- /dev/null
+++ b/include/wx/msw/settings.h
@@ -0,0 +1,39 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose: wxSystemSettings class
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETTINGS_H_
+#define _WX_SETTINGS_H_
+
+#ifdef __GNUG__
+#pragma interface "settings.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/colour.h"
+#include "wx/font.h"
+
+class WXDLLEXPORT wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings(void) {}
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // _WX_SETTINGS_H_
diff --git a/include/wx/msw/slider.h b/include/wx/msw/slider.h
new file mode 100644
index 0000000000..95cf43b5f6
--- /dev/null
+++ b/include/wx/msw/slider.h
@@ -0,0 +1,30 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: slider.h
+// Purpose: wxSlider header, includes slider class headers as appropriate
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _SLIDER_H_
+#define _SLIDER_H_
+
+#ifdef __GNUG__
+#pragma interface "slider.h"
+#endif
+
+#ifdef __WIN95__
+#include "wx/msw/slider95.h"
+#define wxSlider wxSlider95
+#define sm_classwxSlider sm_classwxSlider95
+#else
+#include "wx/msw/slidrmsw.h"
+#define wxSlider wxSliderMSW
+#define sm_classwxSlider sm_classwxSliderMSW
+#endif
+
+#endif
+ // _SLIDER_H_
diff --git a/include/wx/msw/tick.bmp b/include/wx/msw/tick.bmp
new file mode 100644
index 0000000000..3673eda5de
Binary files /dev/null and b/include/wx/msw/tick.bmp differ
diff --git a/include/wx/msw/tip.ico b/include/wx/msw/tip.ico
new file mode 100644
index 0000000000..4cdaba021c
Binary files /dev/null and b/include/wx/msw/tip.ico differ
diff --git a/include/wx/msw/xpmhand.h b/include/wx/msw/xpmhand.h
new file mode 100644
index 0000000000..0bc3d121c0
--- /dev/null
+++ b/include/wx/msw/xpmhand.h
@@ -0,0 +1,51 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: xpmhand.h
+// Purpose: XPM bitmap handler
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma interface "xpmhand.h"
+#endif
+
+#ifndef _WX_XPMHAND_H_
+#define _WX_XPMHAND_H_
+
+class WXDLLEXPORT wxXPMFileHandler: public wxBitmapHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxXPMFileHandler)
+public:
+ inline wxXPMFileHandler(void)
+ {
+ m_name = "XPM bitmap file";
+ m_extension = "xpm";
+ m_type = wxBITMAP_TYPE_XPM;
+ };
+
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth = -1, int desiredHeight = -1);
+ virtual bool SaveFile(wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL);
+};
+
+class WXDLLEXPORT wxXPMDataHandler: public wxBitmapHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxXPMDataHandler)
+public:
+ inline wxXPMDataHandler(void)
+ {
+ m_name = "XPM bitmap data";
+ m_extension = "xpm";
+ m_type = wxBITMAP_TYPE_XPM_DATA;
+ };
+
+ virtual bool Create(wxBitmap *bitmap, void *data, long flags, int width, int height, int depth = 1);
+};
+
+#endif
+ // _WX_XPMHAND_H_
+
diff --git a/include/wx/objstrm.h b/include/wx/objstrm.h
new file mode 100644
index 0000000000..8d1970df1f
--- /dev/null
+++ b/include/wx/objstrm.h
@@ -0,0 +1,90 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: objstrm.h
+// Purpose: wxObjectStream classes
+// Author: Guilhem Lavaux
+// Modified by:
+// Created: 16/07/98
+// RCS-ID: $Id$
+// Copyright: (c) 1998 Guilhem Lavaux
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_WXOBJSTRM_H__
+#define _WX_WXOBJSTRM_H__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+
+#if wxUSE_STREAMS && wxUSE_SERIAL
+
+#include "wx/object.h"
+#include "wx/string.h"
+#include "wx/stream.h"
+
+class wxObjectStreamInfo : public wxObject {
+ public:
+ wxString object_name;
+ int n_children, children_removed;
+ wxList children;
+ wxObjectStreamInfo *parent;
+ wxObject *object;
+ bool duplicate, recall;
+};
+
+class wxObjectOutputStream : public wxFilterOutputStream {
+ public:
+ wxObjectOutputStream(wxOutputStream& s);
+
+ void AddChild(wxObject *obj);
+ bool SaveObject(wxObject& obj);
+
+ bool FirstStage() const { return m_stage == 0; }
+
+ wxString GetObjectName(wxObject *obj);
+
+ protected:
+ void WriteObjectDef(wxObjectStreamInfo& info);
+ void ProcessObjectDef(wxObjectStreamInfo *info);
+ void ProcessObjectData(wxObjectStreamInfo *info);
+
+ protected:
+ int m_stage;
+ bool m_saving;
+ wxObjectStreamInfo *m_current_info;
+ wxList m_saved_objs;
+};
+
+class wxObjectInputStream : public wxFilterInputStream {
+ public:
+ wxObjectInputStream(wxInputStream& s);
+
+ bool SecondCall() const { return m_secondcall; }
+ void Recall(bool on = TRUE) { m_current_info->recall = on; }
+
+ wxObject *GetChild(int no) const;
+ wxObject *GetChild();
+ int NumberOfChildren() const { return m_current_info->n_children; }
+ void RemoveChildren(int nb);
+ wxObject *GetParent() const;
+ wxObject *LoadObject();
+
+ wxObject *SolveName(const wxString& objName) const;
+
+ protected:
+ bool ReadObjectDef(wxObjectStreamInfo *info);
+ wxObjectStreamInfo *ProcessObjectDef(wxObjectStreamInfo *info);
+ void ProcessObjectData(wxObjectStreamInfo *info);
+
+ protected:
+ bool m_secondcall;
+ wxObjectStreamInfo *m_current_info;
+ wxList m_solver;
+};
+
+#endif
+ // wxUSE_STREAMS && wxUSE_SERIAL
+
+#endif
+// _WX_WXOBJSTRM_H__
diff --git a/include/wx/odbc.h b/include/wx/odbc.h
new file mode 100644
index 0000000000..d55fe5a14b
--- /dev/null
+++ b/include/wx/odbc.h
@@ -0,0 +1,341 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: odbc.h
+// Purpose: ODBC classes
+// Author: Olaf Klein, Patrick Halke, Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/setup.h"
+
+#if wxUSE_ODBC
+
+#ifdef __GNUG__
+#pragma interface "odbc.h"
+#endif
+
+#ifndef _WX_ODBCH__
+#define _WX_ODBCH__
+
+//#ifdef __WXMSW__
+//#include
+//#endif
+
+
+#ifdef __UNIX__
+extern "C"
+{
+ #include "wx/isql.h"
+ #include "wx/isqlext.h"
+
+ typedef float SFLOAT;
+ typedef double SDOUBLE;
+
+ #define ULONG UDWORD
+ #define SQL_SQLSTATE_SIZE 5
+}
+#else // !Unix
+ #include
+#endif // Unix/!Unix
+
+#include "wx/defs.h"
+#include "wx/list.h"
+#include "wx/string.h"
+
+typedef RETCODE wxRETCODE;
+
+// Recordset open types
+#define wxOPEN_TYPE_DYNASET 1
+#define wxOPEN_TYPE_SNAPSHOT 2
+#define wxOPEN_TYPE_FORWARD_ONLY 3
+
+// Recordset open options
+#define wxOPTION_DEFAULT 1
+#define wxOPTION_APPEND_ONLY 2
+#define wxOPTION_READ_ONLY 3
+
+// Data types
+class WXDLLEXPORT wxRecordSet;
+
+class WXDLLEXPORT wxDatabase: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxDatabase)
+ protected:
+ static HENV hEnv;
+ static int refCount;
+
+ HDBC hDBC;
+ char* username;
+ char* password;
+ char* datasource;
+ char* dbname;
+ char* connectstring;
+ bool isOpen;
+
+ // error-handling variables
+ wxRETCODE retcode;
+ char sqlstate[SQL_SQLSTATE_SIZE+1]; // error class and subclass
+ char errmsg[SQL_MAX_MESSAGE_LENGTH]; // error message
+ long nat_err; // error number by ODBC driver
+ bool err_occured;
+
+ wxList recordSets; // Record sets: Added by JACS
+
+ public:
+ wxDatabase();
+ ~wxDatabase();
+
+ bool Open(char *, bool exclusive =FALSE, bool readOnly =TRUE, char *username ="ODBC", char *password ="");
+ bool Close();
+
+ // Cleanup operations, added by JACS
+ void DeleteRecordSets(void); // Called when the database is deleted
+ void ResetRecordSets(void); // Required if the database is closed
+ inline wxList& GetRecordSets(void) { return recordSets; }
+
+ inline char *GetUsername(void) { return username; }
+ inline char *GetPassword(void) { return password; }
+ inline char *GetDataSource(void) { return datasource; }
+ inline bool IsOpen(void) { return isOpen; }
+ inline wxRETCODE GetErrorCode(void) { return retcode; }
+ inline HDBC GetHDBC(void) { return hDBC; }
+ inline HENV GetHENV(void) { return hEnv; }
+
+ void SetPassword(char *s);
+ void SetUsername(char *s);
+ void SetDataSource(char *s);
+
+ // Database attributes
+ char *GetDatabaseName();
+ bool CanUpdate();
+ bool CanTransact();
+ bool InWaitForDataSource();
+ void SetLoginTimeout(long seconds);
+ void SetQueryTimeout(long seconds);
+ void SetSynchronousMode(bool synchronous);
+
+ // Database operations
+ bool BeginTrans();
+ bool CommitTrans();
+ bool RollbackTrans();
+ void Cancel();
+
+ // Error handling
+ bool ErrorOccured();
+ char* GetErrorMessage();
+ long GetErrorNumber();
+ char* GetErrorClass();
+ inline void ErrorSnapshot(HSTMT =SQL_NULL_HSTMT);
+
+ // Overridables
+ virtual void OnSetOptions(wxRecordSet *recordSet);
+ virtual void OnWaitForDataSource(bool stillExecuting);
+
+ bool GetInfo(long infoType, long *buf);
+ bool GetInfo(long infoType, char *buf, int bufSize = -1);
+
+ // implementation = TRUE means get the DLL version.
+ // Otherwise, returns header file version.
+ wxString GetODBCVersionString(bool implementation = TRUE);
+ float GetODBCVersionFloat(bool implementation = TRUE);
+};
+
+// Represents a data row
+class WXDLLEXPORT wxQueryField: public wxObject
+{
+ // JACS
+ DECLARE_DYNAMIC_CLASS(wxQueryField)
+ private:
+ void *data;
+ short type;
+ long size;
+ bool dirty;
+
+ bool AllocData();
+
+ public:
+ wxQueryField();
+ ~wxQueryField();
+
+ bool SetData(void*, long);
+ void SetDirty(bool =TRUE);
+ void ClearData();
+ void SetType(short);
+ void SetSize(long);
+
+ void* GetData();
+ short GetType();
+ long GetSize();
+
+ bool IsDirty();
+};
+
+// Represents a column description
+class WXDLLEXPORT wxQueryCol: public wxObject
+{
+ // JACS
+ DECLARE_DYNAMIC_CLASS(wxQueryCol)
+ private:
+ short type;
+ char *name;
+ bool nullable;
+ long varsize;
+ void* var;
+
+ public:
+ wxList fields;
+
+ wxQueryCol();
+ ~wxQueryCol();
+
+ void* BindVar(void*, long);
+ void FillVar(int);
+ void AppendField(void*, long);
+ bool SetData(int, void*, long);
+ void SetName(char*);
+ void SetNullable(bool);
+ void SetFieldDirty(int, bool =TRUE);
+ void SetType(short);
+
+ char* GetName();
+ short GetType();
+ bool IsNullable();
+ void* GetData(int);
+ long GetSize(int);
+
+ bool IsFieldDirty(int);
+};
+
+class WXDLLEXPORT wxRecordSet: public wxObject
+{
+ // JACS
+ DECLARE_DYNAMIC_CLASS(wxRecordSet)
+ private:
+ int cursor;
+ int type;
+ int options;
+
+ protected:
+ HSTMT hStmt;
+ int nFields;
+ int nParams;
+ int nRecords;
+ short nCols;
+ char *recordFilter;
+ char *sortString;
+ char *defaultSQL;
+ char* tablename;
+ wxDatabase *parentdb;
+ wxRETCODE retcode;
+ wxList cols;
+ wxList fetchbuf;
+
+ void FillVars(int);
+
+ public:
+ // JACS gave parent a default value for benefit of IMPLEMENT_DYNAMIC_CLASS
+ wxRecordSet(wxDatabase *parent = NULL,
+ int = wxOPEN_TYPE_DYNASET,
+ int = wxOPTION_DEFAULT);
+ ~wxRecordSet();
+
+ // My own, lower-level functions.
+ bool BeginQuery(int openType, char *sql = NULL, int options = wxOPTION_DEFAULT);
+ bool EndQuery();
+ bool Query(char* columns, char* table =NULL, char *filter =NULL);
+
+ // Attributes
+ inline int GetNumberFields(void) { return nFields; }
+ inline int GetNumberParams(void) { return nParams; }
+ long GetNumberRecords();
+ long GetNumberCols();
+ inline char *GetFilter(void) { return recordFilter; }
+ inline char *GetSortString(void) { return sortString; }
+ inline wxDatabase *GetDatabase(void) { return parentdb; }
+ inline wxRETCODE GetErrorCode(void) { return retcode; }
+ bool CanAppend();
+ bool CanRestart();
+ bool CanScroll();
+ bool CanTransact();
+ bool CanUpdate();
+ long GetCurrentRecord();
+ bool RecordCountFinal();
+ bool GetResultSet();
+ bool ExecuteSQL(char*);
+ bool GetTables();
+ bool GetColumns(char* =NULL);
+ bool GetPrimaryKeys(char* =NULL);
+ bool GetForeignKeys(char* , char * );
+ char *GetTableName();
+ void SetTableName(char*);
+ char *GetSQL();
+ bool IsOpen();
+ bool IsBOF();
+ bool IsEOF();
+ bool IsDeleted();
+
+ bool GetFieldData(int colPos, int dataType, void *dataPtr);
+ bool GetFieldData(const char*, int dataType, void *dataPtr);
+ void* GetFieldDataPtr(int, int);
+ void* GetFieldDataPtr(const char*, int);
+ char* GetColName(int);
+ short GetColType(int);
+ short GetColType(const char*);
+ void* BindVar(int, void*, long);
+ void* BindVar(const char*, void*, long);
+
+ void SetType(int);
+ int GetType();
+ void SetOptions(int);
+ int GetOptions();
+
+ // Update operations
+ void AddNew();
+ bool Delete();
+ void Edit();
+ bool Update();
+
+ // Record navigation
+ virtual bool Move(long rows);
+ virtual bool MoveFirst();
+ virtual bool MoveLast();
+ virtual bool MoveNext();
+ virtual bool MovePrev();
+ virtual bool GoTo(long);
+
+ // Others
+ bool GetDataSources();
+
+ // Associate a column name/position with a data location
+ // bool BindColumn(int colPos, int dataType, void *dataPtr);
+
+ void Cancel();
+ bool IsFieldDirty(int);
+ bool IsFieldDirty(const char*);
+ bool IsFieldNull(int);
+ bool IsFieldNull(const char*);
+ bool IsColNullable(int);
+ bool IsColNullable(const char*);
+ virtual bool Requery();
+ virtual void SetFieldDirty(int, bool dirty = TRUE);
+ virtual void SetFieldDirty(const char*, bool dirty = TRUE);
+ void SetFieldNull(void *p, bool isNull = TRUE);
+
+ // Overridables
+ virtual char *GetDefaultConnect();
+ virtual char *GetDefaultSQL();
+
+ // Internal
+
+ // Build SQL query from column specification
+ bool ConstructDefaultSQL();
+ void SetDefaultSQL(char *s);
+ bool ReleaseHandle(void); // Added JACS
+};
+
+#endif
+
+#endif // wxUSE_ODBC
diff --git a/include/wx/os2/gsockos2.h b/include/wx/os2/gsockos2.h
new file mode 100644
index 0000000000..ee941f3fb6
--- /dev/null
+++ b/include/wx/os2/gsockos2.h
@@ -0,0 +1,105 @@
+/* -------------------------------------------------------------------------
+ * Project: GSocket (Generic Socket) for WX
+ * Name: gsockos2.h
+ * Purpose: GSocket OS/2 header
+ * CVSID: $Id$
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef __GSOCK_OS2_H
+#define __GSOCK_OS2_H
+
+#ifndef __GSOCKET_STANDALONE__
+#include "wx/setup.h"
+#endif
+
+#if wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__)
+
+#ifndef __GSOCKET_STANDALONE__
+#include "wx/gsocket.h"
+#else
+#include "gsocket.h"
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define SIGPIPE 13
+
+/* Definition of GSocket */
+struct _GSocket
+{
+ int m_fd;
+ GAddress *m_local;
+ GAddress *m_peer;
+ GSocketError m_error;
+
+ int m_non_blocking;
+ int m_server;
+ int m_stream;
+ int m_oriented;
+ int m_establishing;
+ unsigned long m_timeout;
+
+ /* Callbacks */
+ GSocketEventFlags m_detected;
+ GSocketCallback m_cbacks[GSOCK_MAX_EVENT];
+ char *m_data[GSOCK_MAX_EVENT];
+
+ char *m_gui_dependent;
+};
+
+/* Definition of GAddress */
+struct _GAddress
+{
+ struct sockaddr *m_addr;
+ size_t m_len;
+
+ GAddressType m_family;
+ int m_realfamily;
+
+ GSocketError m_error;
+};
+
+/* Input / Output */
+
+GSocketError _GSocket_Input_Timeout(GSocket *socket);
+GSocketError _GSocket_Output_Timeout(GSocket *socket);
+int _GSocket_Recv_Stream(GSocket *socket, char *buffer, int size);
+int _GSocket_Recv_Dgram(GSocket *socket, char *buffer, int size);
+int _GSocket_Send_Stream(GSocket *socket, const char *buffer, int size);
+int _GSocket_Send_Dgram(GSocket *socket, const char *buffer, int size);
+
+/* Callbacks */
+
+void _GSocket_Enable(GSocket *socket, GSocketEvent event);
+void _GSocket_Disable(GSocket *socket, GSocketEvent event);
+void _GSocket_Detected_Read(GSocket *socket);
+void _GSocket_Detected_Write(GSocket *socket);
+
+void _GSocket_GUI_Init(GSocket *socket);
+void _GSocket_GUI_Destroy(GSocket *socket);
+void _GSocket_Enable_Events(GSocket *socket);
+void _GSocket_Disable_Events(GSocket *socket);
+void _GSocket_Install_Callback(GSocket *socket, GSocketEvent event);
+void _GSocket_Uninstall_Callback(GSocket *socket, GSocketEvent event);
+
+/* GAddress */
+
+GSocketError _GAddress_translate_from(GAddress *address,
+ struct sockaddr *addr, int len);
+GSocketError _GAddress_translate_to(GAddress *address,
+ struct sockaddr **addr, int *len);
+
+GSocketError _GAddress_Init_INET(GAddress *address);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */
+
+#endif /* __GSOCK_UNX_H */
+
diff --git a/include/wx/os2/settings.h b/include/wx/os2/settings.h
new file mode 100644
index 0000000000..8ddb450f36
--- /dev/null
+++ b/include/wx/os2/settings.h
@@ -0,0 +1,36 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose: wxSystemSettings class
+// Author: David Webster
+// Modified by:
+// Created: 10/15/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETTINGS_H_
+#define _WX_SETTINGS_H_
+
+#include "wx/setup.h"
+#include "wx/colour.h"
+#include "wx/font.h"
+
+
+class WXDLLEXPORT wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // _WX_SETTINGS_H_
diff --git a/include/wx/os2/setup.h b/include/wx/os2/setup.h
new file mode 100644
index 0000000000..c3af84e11c
--- /dev/null
+++ b/include/wx/os2/setup.h
@@ -0,0 +1,313 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: setup.h
+// Purpose: Configuration for the library
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETUP_H_
+#define _WX_SETUP_H_
+
+// ----------------------------------------------------------------------------
+// global settings
+// ----------------------------------------------------------------------------
+
+// define this to 1 if you want icons to behave as bitmaps
+#define wxICON_IS_BITMAP 0
+
+// define this to 0 when building wxBase library
+#define wxUSE_GUI 1
+
+// ----------------------------------------------------------------------------
+// General features
+// ----------------------------------------------------------------------------
+
+#define wxUSE_FILESYSTEM 1 // better have this is you want to compile wxHTML
+
+#define wxUSE_PCX 1 // Utilize PCX images
+
+#define wxUSE_PNM 1 // Utilize PNM images
+
+#define wxUSE_GIF 1 // Utilize GIF images
+
+#if defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )
+#define wxUSE_LONGLONG 1
+#endif
+
+#define wxUSE_NET_API 1 // Utilize OS/2's UPM netapi's
+
+#define wxUSE_CONFIG 1
+ // Use wxConfig, with CreateConfig in wxApp
+
+#define wxUSE_POSTSCRIPT 1
+ // 0 for no PostScript device context
+#define wxUSE_AFM_FOR_POSTSCRIPT 1
+ // 1 to use font metric files in GetTextExtent
+#define wxUSE_METAFILE 1
+ // 0 for no Metafile and metafile device context
+#define wxUSE_IPC 1
+ // 0 for no interprocess comms
+// Note: wxHELP uses IPC under X so these are interdependent!
+#define wxUSE_HELP 1
+ // 0 for no help facility
+#define wxUSE_RESOURCES 1
+ // 0 for no wxGetResource/wxWriteResource
+#define wxUSE_CONSTRAINTS 1
+ // 0 for no window layout constraint system
+
+#define wxUSE_TIMEDATE 1
+ // 0 for no wxTime/wxDate classes
+
+#define wxUSE_CLIPBOARD 1
+ // 0 for no clipboard functions
+
+#define wxUSE_PLOT 1
+ // 0 for no generic plot functions
+
+#define wxUSE_SPLINES 1
+ // 0 for no splines
+
+#define wxUSE_DRAG_AND_DROP 1
+ // 0 for no drag and drop
+
+#define wxUSE_BUTTONBAR 1
+ // Define 1 to use buttonbar classes (enhanced toolbar
+ // for MS Windows)
+#define wxUSE_GAUGE 1
+ // Define 1 to use Microsoft's gauge (Windows)
+ // or Bull's gauge (Motif) library (both in contrib).
+#define wxUSE_COMBOBOX 1
+ // Define 1 to use COMBOXBOX control (Windows)
+ // or FWW's ComboBox widget (Motif).
+#define wxUSE_CHOICE 1
+ // Define 1 to use CHOICE
+
+#define wxUSE_RADIOBUTTON 1
+ // Define 1 to use radio button control
+#define wxUSE_RADIOBTN 1
+ // Unfortunately someone introduced this one, too
+
+#define wxUSE_SCROLLBAR 1
+ // Define 1 to compile contributed wxScrollBar class
+
+#define wxUSE_CHECKBOX 1
+ // Define 1 to compile checkbox
+
+#define wxUSE_LISTBOX 1
+ // Define 1 to compile listbox
+
+#define wxUSE_SPINBTN 1
+ // Define 1 to compile spin button
+
+// use wxStaticLine class (separator line in the dialog)?
+#define wxUSE_STATLINE 1
+
+#define wxUSE_CHECKLISTBOX 1
+ // Define 1 to compile check listbox
+#define wxUSE_CARET 1
+ // Define 1 to use wxCaret class
+#define wxUSE_XPM_IN_OS2 1
+ // Define 1 to support the XPM package in wxBitmap.
+#define wxUSE_IMAGE_LOADING_IN_OS2 1
+ // Use dynamic DIB loading/saving code in utils/dib under OS2.
+#define wxUSE_RESOURCE_LOADING_IN_OS2 1
+ // Use dynamic icon/cursor loading/saving code
+ // under OS2.
+#define wxUSE_WX_RESOURCES 1
+ // Use .wxr resource mechanism (requires PrologIO library)
+
+// support for startup tips (wxShowTip &c)
+#define wxUSE_STARTUP_TIPS 1
+
+#define wxUSE_DOC_VIEW_ARCHITECTURE 1
+ // Set to 0 to disable document/view architecture
+#define wxUSE_MDI_ARCHITECTURE 1
+ // Set to 0 to disable MDI document/view architecture
+#define wxUSE_PRINTING_ARCHITECTURE 1
+ // Set to 0 to disable print/preview architecture code
+#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_OS2 1
+ // Set to 0 to disable PostScript print/preview architecture code
+ // under OS/2 PM (just use PM printing).
+#define wxUSE_DYNAMIC_CLASSES 1
+ // If 1, enables provision of run-time type information.
+ // NOW MANDATORY: don't change.
+#define wxUSE_MEMORY_TRACING 1
+ // If 1, enables debugging versions of wxObject::new and
+ // wxObject::delete *IF* __WXDEBUG__ is also defined.
+ // WARNING: this code may not work with all architectures, especially
+ // if alignment is an issue.
+#define wxUSE_DEBUG_CONTEXT 1
+ // If 1, enables wxDebugContext, for
+ // writing error messages to file, etc.
+ // If __WXDEBUG__ is not defined, will still use
+ // normal memory operators.
+ // It's recommended to set this to 1,
+ // since you may well need to output
+ // an error log in a production
+ // version (or non-debugging beta)
+#if defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
+#else
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 1
+#endif
+ // In debug mode, cause new and delete to be redefined globally.
+ // If this causes problems (e.g. link errors), set this to 0.
+
+#define wxUSE_DEBUG_NEW_ALWAYS 1
+ // In debug mode, causes new to be defined to
+ // be WXDEBUG_NEW (see object.h).
+ // If this causes problems (e.g. link errors), set this to 0.
+ // You may need to set this to 0 if using templates (at least
+ // for VC++).
+
+#define REMOVE_UNUSED_ARG 1
+ // Set this to 0 if your compiler can't cope
+ // with omission of prototype parameters.
+
+#define wxUSE_ODBC 1
+ // Define 1 to use ODBC classes
+
+#define wxODBC_FWD_ONLY_CURSORS 1
+ // For backward compatibility reasons, this parameter now only
+ // controls the default scrolling method used by cursors. This
+ // default behavior can be overriden by setting the second param
+ // of wxDB::GetDbConnection() to indicate whether the connection
+ // (and any wxTable()s that use the connection) should support
+ // forward only scrolling of cursors, or both forward and backward
+ // Support for backward scrolling cursors is dependent on the
+ // data source as well as the ODBC driver being used.
+
+#define wxODBC_BACKWARD_COMPATABILITY 0
+ // Default is 0. Set to 1 to use the deprecated classes, enum
+ // types, function, member variables. With a setting of 1, full
+ // backward compatability with the 2.0.x release is possible.
+ // It is STRONGLY recommended that this be set to 0, as
+ // future development will be done only on the non-deprecated
+ // functions/classes/member variables/etc.
+
+#define wxUSE_IOSTREAMH 1
+ // VC++ 4.2 and above allows and
+ // but you can't mix them. Set to 1 for ,
+ // 0 for
+
+#define wxUSE_STREAMS 1
+ // If enabled (1), compiles wxWindows streams classes
+
+#define wxUSE_STD_IOSTREAM 1
+ // Use standard C++ streams if 1. If 0, use wxWin
+ // streams implementation.
+
+#define wxUSE_WXCONFIG 1
+ // if enabled, compiles built-in OS independent wxConfig
+ // class and it's file (any platform) and registry (Win)
+ // based implementations
+#define wxUSE_THREADS 1
+ // support for multithreaded applications: if
+ // 1, compile in thread classes (thread.h)
+ // and make the library thread safe
+#define wxUSE_ZLIB 1
+ // Use zlib for compression in streams and PNG code
+#define wxUSE_LIBPNG 1
+ // Use PNG bitmap code
+#define wxUSE_LIBJPEG 1
+ // Use JPEG bitmap code
+#define wxUSE_SERIAL 1
+ // Use serialization (requires utils/serialize)
+#define wxUSE_DYNLIB_CLASS 1
+ // Compile in wxLibrary class for run-time
+ // DLL loading and function calling
+#define wxUSE_TOOLTIPS 1
+ // Define to use wxToolTip class and
+ // wxWindow::SetToolTip() method
+#define wxUSE_SOCKETS 1
+ // Set to 1 to use socket classes
+#define wxUSE_HTML 1
+ // Set to 1 to use wxHTML sub-library
+#define wxUSE_FS_ZIP 1
+#define wxUSE_FS_INET 1 // Set to 1 to enable virtual file systems
+
+#define wxUSE_BUSYINFO 1
+ // wxBusyInfo displays window with message
+ // when app is busy. Works in same way as
+ // wxBusyCursor
+#define wxUSE_ZIPSTREAM 1
+ // input stream for reading from zip archives
+
+/*
+ * Finer detail
+ *
+ */
+
+#define wxUSE_APPLE_IEEE 1
+ // if enabled, the float codec written by Apple
+ // will be used to write, in a portable way,
+ // float on the disk
+
+// use wxFile class - required by i18n code, wxConfig and others - recommended
+#define wxUSE_FILE 1
+
+// use wxTextFile class: requires wxFile, required by wxConfig
+#define wxUSE_TEXTFILE 1
+
+// i18n support: _() macro, wxLocale class. Requires wxFile
+#define wxUSE_INTL 1
+
+// wxLogXXX functions - highly recommended
+#define wxUSE_LOG 1
+
+// wxValidator class
+#define wxUSE_VALIDATORS 1
+
+// wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar)
+#define wxUSE_ACCEL 1
+
+// wxSashWindow class
+#define wxUSE_SASH 1
+
+// text entry dialog and wxGetTextFromUser function
+#define wxUSE_TEXTDLG 1
+
+// wxToolBar class
+#define wxUSE_TOOLBAR 1
+#define wxUSE_TOOLBAR_NATIVE 1
+
+// wxStatusBar class
+#define wxUSE_STATUSBAR 1
+
+// wxSpinCtrl class
+#define wxUSE_SPINCTRL 1
+
+// progress dialog class for lengthy operations
+#define wxUSE_PROGRESSDLG 1
+
+// wxDirDlg class for getting a directory name from user
+#define wxUSE_DIRDLG 1
+
+#define wxUSE_OWNER_DRAWN 1
+ // Owner-drawn menus and listboxes
+
+/*
+ * Any platform
+ *
+ */
+
+#define wxUSE_TYPEDEFS 0
+ // Use typedefs not classes for wxPoint
+ // and others, to reduce overhead and avoid
+ // MS C7 memory bug. Bounds checker
+ // complains about deallocating
+ // arrays of wxPoints if wxPoint is a class.
+
+#define wxUSE_PORTABLE_FONTS_IN_OS2 0
+ // Define 1 to use new portable font scheme in Windows
+ // (used by default under X)
+
+#define wxUSE_GENERIC_DIALOGS_IN_OS2 0
+ // Define 1 to use generic dialogs in Windows, even though
+ // they duplicate native common dialog (e.g. wxColourDialog)
+#endif
+ // _WX_SETUP_H_
diff --git a/include/wx/os2/taskbar.h b/include/wx/os2/taskbar.h
new file mode 100644
index 0000000000..aa25c67c41
--- /dev/null
+++ b/include/wx/os2/taskbar.h
@@ -0,0 +1,92 @@
+/////////////////////////////////////////////////////////////////////////
+// File: taskbar.h
+// Purpose: Defines wxTaskBarIcon class for manipulating icons on the
+// task bar. Optional.
+// Author: David Webster
+// Modified by:
+// Created: 10/17/99
+// RCS-ID: $Id$
+// Copyright: (c) David Webster
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TASKBAR_H_
+#define _WX_TASKBAR_H_
+
+#include
+#include
+#include
+
+class WXDLLEXPORT wxTaskBarIcon: public wxEvtHandler {
+ DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
+public:
+ wxTaskBarIcon(void);
+ virtual ~wxTaskBarIcon(void);
+
+// Accessors
+ inline WXHWND GetHWND() const { return m_hWnd; }
+ inline bool IsOK() const { return (m_hWnd != 0) ; }
+ inline bool IsIconInstalled() const { return m_iconAdded; }
+
+// Operations
+ bool SetIcon(const wxIcon& icon, const wxString& tooltip = "");
+ bool RemoveIcon(void);
+ bool PopupMenu(wxMenu *menu); //, int x, int y);
+
+// Overridables
+ virtual void OnMouseMove(wxEvent&);
+ virtual void OnLButtonDown(wxEvent&);
+ virtual void OnLButtonUp(wxEvent&);
+ virtual void OnRButtonDown(wxEvent&);
+ virtual void OnRButtonUp(wxEvent&);
+ virtual void OnLButtonDClick(wxEvent&);
+ virtual void OnRButtonDClick(wxEvent&);
+
+// Implementation
+ static wxTaskBarIcon* FindObjectForHWND(WXHWND hWnd);
+ static void AddObject(wxTaskBarIcon* obj);
+ static void RemoveObject(wxTaskBarIcon* obj);
+ static bool RegisterWindowClass();
+ static WXHWND CreateTaskBarWindow();
+ MRESULT WindowProc( WXHWND hWnd, UINT msg, MPARAM wParam, MPARAM lParam );
+
+// Data members
+protected:
+ WXHWND m_hWnd;
+ bool m_iconAdded;
+ static wxList sm_taskBarIcons;
+ static bool sm_registeredClass;
+ static unsigned int sm_taskbarMsg;
+
+ // non-virtual default event handlers to forward events to the virtuals
+ void _OnMouseMove(wxEvent&);
+ void _OnLButtonDown(wxEvent&);
+ void _OnLButtonUp(wxEvent&);
+ void _OnRButtonDown(wxEvent&);
+ void _OnRButtonUp(wxEvent&);
+ void _OnLButtonDClick(wxEvent&);
+ void _OnRButtonDClick(wxEvent&);
+
+ DECLARE_EVENT_TABLE()
+};
+
+const wxEventType wxEVT_TASKBAR_MOVE = wxEVT_FIRST + 1550;
+const wxEventType wxEVT_TASKBAR_LEFT_DOWN = wxEVT_FIRST + 1551;
+const wxEventType wxEVT_TASKBAR_LEFT_UP = wxEVT_FIRST + 1552;
+const wxEventType wxEVT_TASKBAR_RIGHT_DOWN = wxEVT_FIRST + 1553;
+const wxEventType wxEVT_TASKBAR_RIGHT_UP = wxEVT_FIRST + 1554;
+const wxEventType wxEVT_TASKBAR_LEFT_DCLICK = wxEVT_FIRST + 1555;
+const wxEventType wxEVT_TASKBAR_RIGHT_DCLICK = wxEVT_FIRST + 1556;
+
+#define EVT_TASKBAR_MOVE(fn) { wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_LEFT_DOWN(fn) { wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_LEFT_UP(fn) { wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_RIGHT_DOWN(fn) { wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_RIGHT_UP(fn) { wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_LEFT_DCLICK(fn) { wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_RIGHT_DCLICK(fn) { wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+
+
+#endif
+ // _TASKBAR_H_
+
diff --git a/include/wx/os2/wxos2.h b/include/wx/os2/wxos2.h
new file mode 100644
index 0000000000..c5a5835cbc
--- /dev/null
+++ b/include/wx/os2/wxos2.h
@@ -0,0 +1,43 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wxOs2.h
+// Purpose: OS/2 resource defines
+// Author: David Webster
+// Modified by:
+// Created: 02/26/00
+// RCS-ID: $Id$
+// Copyright: (c) David Webster
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_OS2_H_
+#define _WX_OS2_H_
+
+//
+// These are defines of wxOS2's standard frame resources
+//
+
+#define IDR_MAIN 1
+
+#define IDM_FILENEW 2000
+#define IDM_FILEOPEN 2001
+#define IDM_FILESAVE 2002
+#define IDM_FILESAVEAS 2003
+
+#define IDM_EDIT 3000
+#define IDM_EDITUNDO 3001
+#define IDM_EDITCUT 3002
+#define IDM_EDITCOPY 3003
+#define IDM_EDITPASTE 3004
+#define IDM_EDITCLEAR 3005
+
+#define IDM_HELP 8000
+#define IDM_HELPINDEX 8001
+#define IDM_HELPGENERAL 8002
+#define IDM_HELPUSINGHELP 8003
+#define IDM_HELPABOUT 8004
+
+#define IDS_OPEN 20000
+#define IDS_SAVE 20001
+
+#endif // _WX_OS2_H_
+
diff --git a/include/wx/plot.h b/include/wx/plot.h
new file mode 100644
index 0000000000..6fa9d621b8
--- /dev/null
+++ b/include/wx/plot.h
@@ -0,0 +1,7 @@
+#ifndef _WX_PLOT_H_BASE_
+#define _WX_PLOT_H_BASE_
+
+#include "wx/generic/plot.h"
+
+#endif
+ // _WX_PLOT_H_BASE_
diff --git a/include/wx/prop.h b/include/wx/prop.h
new file mode 100644
index 0000000000..109b51a4ad
--- /dev/null
+++ b/include/wx/prop.h
@@ -0,0 +1,338 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: prop.h
+// Purpose: Property sheet classes
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PROP_H_
+#define _WX_PROP_H_
+
+#ifdef __GNUG__
+#pragma interface "prop.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/string.h"
+#include "wx/hash.h"
+#include "wx/dialog.h"
+#include "wx/frame.h"
+#include "wx/button.h"
+#include "wx/listbox.h"
+#include "wx/textctrl.h"
+#include "wx/gdicmn.h"
+#include "wx/layout.h"
+#include "wx/sizer.h"
+
+class wxWindow;
+class wxProperty;
+class wxPropertyValue;
+class wxPropertySheet;
+class wxPropertyView;
+class wxPropertyValidator;
+class wxPropertyValidatorRegistry;
+
+#define wxPROPERTY_VERSION 2.0
+
+// A storable sheet of values
+class WXDLLEXPORT wxPropertySheet: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertySheet)
+ public:
+ wxPropertySheet(const wxString& name = "");
+ ~wxPropertySheet(void);
+
+ // Set the name of the sheet
+ inline virtual void SetName(const wxString& name) { m_name=name; }
+ inline virtual wxString GetName() const { return m_name; }
+ // Does this sheet contain a property with this name
+ virtual bool HasProperty(const wxString& name) const;
+
+ // Set property name to value
+ virtual bool SetProperty(const wxString& name, const wxPropertyValue& value);
+
+ // Remove property from sheet by name, deleting it
+ virtual void RemoveProperty(const wxString& name);
+
+ // Get the name of the sheet
+ // Add a property
+ virtual void AddProperty(wxProperty *property);
+
+ // Get property by name
+ virtual wxProperty *GetProperty(const wxString& name) const;
+
+ // Clear all properties
+ virtual void Clear(void);
+
+ virtual void UpdateAllViews(wxPropertyView *thisView = NULL);
+ inline virtual wxList& GetProperties(void) const { return (wxList&) m_properties; }
+
+ // Sets/clears the modified flag for each property value
+ virtual void SetAllModified(bool flag = TRUE);
+
+ protected:
+ wxObject* m_viewedObject;
+ wxList m_properties;
+ wxPropertyView* m_propertyView;
+ wxString m_name;
+};
+
+
+// Base class for property sheet views. There are currently two directly derived
+// classes: wxPropertyListView, and wxPropertyFormView.
+class WXDLLEXPORT wxPropertyView: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyView)
+ public:
+ wxPropertyView(long flags = 0);
+ ~wxPropertyView(void);
+
+ // Associates and shows the view
+ virtual void ShowView(wxPropertySheet *WXUNUSED(propertySheet), wxWindow *WXUNUSED(panel)) {}
+
+ // Update this view of the viewed object, called e.g. by
+ // the object itself.
+ virtual bool OnUpdateView(void) {return FALSE;};
+
+ // Override this to do something as soon as the property changed,
+ // if the view and validators support it.
+ virtual void OnPropertyChanged(wxProperty *WXUNUSED(property)) {}
+
+ virtual void AddRegistry(wxPropertyValidatorRegistry *registry);
+ inline virtual wxList& GetRegistryList(void) const
+ { return (wxList&) m_validatorRegistryList; }
+
+ virtual wxPropertyValidator *FindPropertyValidator(wxProperty *property);
+ inline virtual void SetPropertySheet(wxPropertySheet *sheet) { m_propertySheet = sheet; }
+ inline virtual wxPropertySheet *GetPropertySheet(void) const { return m_propertySheet; }
+
+/*
+ virtual void OnOk(void) {};
+ virtual void OnCancel(void) {};
+ virtual void OnHelp(void) {};
+*/
+
+ inline virtual bool OnClose(void) { return FALSE; }
+ inline long GetFlags(void) { return m_buttonFlags; }
+
+ protected:
+ long m_buttonFlags;
+ wxPropertySheet* m_propertySheet;
+ wxProperty* m_currentProperty;
+ wxList m_validatorRegistryList;
+ wxPropertyValidator* m_currentValidator;
+};
+
+
+class WXDLLEXPORT wxPropertyValidator: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyValidator)
+ public:
+ wxPropertyValidator(long flags = 0);
+ ~wxPropertyValidator(void);
+
+ inline long GetFlags(void) const { return m_validatorFlags; }
+ inline void SetValidatorProperty(wxProperty *prop) { m_validatorProperty = prop; }
+ inline wxProperty *GetValidatorProperty(void) const { return m_validatorProperty; }
+
+ virtual bool StringToFloat (wxChar *s, float *number);
+ virtual bool StringToDouble (wxChar *s, double *number);
+ virtual bool StringToInt (wxChar *s, int *number);
+ virtual bool StringToLong (wxChar *s, long *number);
+ virtual wxChar *FloatToString (float number);
+ virtual wxChar *DoubleToString (double number);
+ virtual wxChar *IntToString (int number);
+ virtual wxChar *LongToString (long number);
+
+ protected:
+ long m_validatorFlags;
+ wxProperty* m_validatorProperty;
+};
+
+
+// extern wxPropertyValidator *wxDefaultPropertyValidator;
+
+class WXDLLEXPORT wxPropertyValidatorRegistry: public wxHashTable
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyValidatorRegistry)
+ public:
+ wxPropertyValidatorRegistry(void);
+ ~wxPropertyValidatorRegistry(void);
+
+ virtual void RegisterValidator(const wxString& roleName, wxPropertyValidator *validator);
+ virtual wxPropertyValidator *GetValidator(const wxString& roleName);
+ void ClearRegistry(void);
+};
+
+/*
+ * Property value class
+ */
+
+typedef enum {
+ wxPropertyValueNull,
+ wxPropertyValueInteger,
+ wxPropertyValueReal,
+ wxPropertyValuebool,
+ wxPropertyValueString,
+ wxPropertyValueList,
+ wxPropertyValueIntegerPtr,
+ wxPropertyValueRealPtr,
+ wxPropertyValueboolPtr,
+ wxPropertyValueStringPtr
+} wxPropertyValueType;
+
+class WXDLLEXPORT wxPropertyValue: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyValue)
+
+ wxPropertyValue(void); // Unknown type
+ wxPropertyValue(const wxPropertyValue& copyFrom); // Copy constructor
+ wxPropertyValue(const wxChar *val);
+ wxPropertyValue(const wxString& val);
+ wxPropertyValue(long val);
+ wxPropertyValue(bool val);
+ wxPropertyValue(float val);
+ wxPropertyValue(double the_real);
+ wxPropertyValue(wxList *val);
+ wxPropertyValue(wxStringList *val);
+ // Pointer versions
+ wxPropertyValue(wxChar **val);
+ wxPropertyValue(long *val);
+ wxPropertyValue(bool *val);
+ wxPropertyValue(float *val);
+
+ ~wxPropertyValue(void);
+
+ virtual inline wxPropertyValueType Type(void) const { return m_type; }
+ virtual inline void SetType(wxPropertyValueType typ) { m_type = typ; }
+ virtual long IntegerValue(void) const;
+ virtual float RealValue(void) const;
+ virtual bool BoolValue(void) const;
+ virtual wxChar *StringValue(void) const;
+ virtual long *IntegerValuePtr(void) const;
+ virtual float *RealValuePtr(void) const;
+ virtual bool *BoolValuePtr(void) const;
+ virtual wxChar **StringValuePtr(void) const;
+
+ // Get nth arg of clause (starting from 1)
+ virtual wxPropertyValue *Arg(wxPropertyValueType type, int arg) const;
+
+ // Return nth argument of a list expression (starting from zero)
+ virtual wxPropertyValue *Nth(int arg) const;
+ // Returns the number of elements in a list expression
+ virtual int Number(void) const;
+
+ virtual wxPropertyValue *NewCopy(void) const;
+ virtual void Copy(wxPropertyValue& copyFrom);
+
+ virtual void WritePropertyClause(wxString &stream); // Write this expression as a top-level clause
+ virtual void WritePropertyType(wxString &stream); // Write as any other subexpression
+
+ // Append an expression to a list
+ virtual void Append(wxPropertyValue *expr);
+ // Insert at beginning of list
+ virtual void Insert(wxPropertyValue *expr);
+
+ // Get first expr in list
+ virtual inline wxPropertyValue *GetFirst(void) const
+ { return ((m_type == wxPropertyValueList) ? m_value.first : (wxPropertyValue*)NULL); }
+
+ // Get next expr if this is a node in a list
+ virtual inline wxPropertyValue *GetNext(void) const
+ { return m_next; }
+
+ // Get last expr in list
+ virtual inline wxPropertyValue *GetLast(void) const
+ { return ((m_type == wxPropertyValueList) ? m_last : (wxPropertyValue*)NULL); }
+
+ // Delete this node from the list
+ virtual void Delete(wxPropertyValue *node);
+
+ // Clear list
+ virtual void ClearList(void);
+
+ virtual inline void SetClientData(wxObject *data) { m_clientData = data; }
+ virtual inline wxObject *GetClientData(void) { return m_clientData; }
+
+ virtual wxString GetStringRepresentation(void);
+
+ inline void SetModified(bool flag = TRUE) { m_modifiedFlag = flag; }
+ inline bool GetModified(void) { return m_modifiedFlag; }
+
+ // Operators
+ void operator=(const wxPropertyValue& val);
+// void operator=(const char *val);
+ void operator=(const wxString& val);
+ void operator=(const long val);
+ void operator=(const bool val);
+ void operator=(const float val);
+ void operator=(const wxChar **val);
+ void operator=(const long *val);
+ void operator=(const bool *val);
+ void operator=(const float *val);
+
+ public:
+ wxObject* m_clientData;
+ wxPropertyValueType m_type;
+ bool m_modifiedFlag;
+
+ union {
+ long integer; // Also doubles as bool
+ wxChar *string;
+ float real;
+ long *integerPtr;
+ bool *boolPtr;
+ wxChar **stringPtr;
+ float *realPtr;
+ wxPropertyValue *first; // If is a list expr, points to the first node
+ } m_value;
+
+ wxPropertyValue* m_next; // If this is a node in a list, points to the next node
+ wxPropertyValue* m_last; // If is a list expr, points to the last node
+
+};
+
+/*
+ * Property class: contains a name and a value.
+ */
+
+class WXDLLEXPORT wxProperty: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxProperty)
+ protected:
+ bool m_enabled;
+ public:
+ wxPropertyValue m_value;
+ wxString m_name;
+ wxString m_propertyRole;
+ wxPropertyValidator* m_propertyValidator;
+ wxWindow* m_propertyWindow; // Usually a panel item, if anything
+
+ wxProperty(void);
+ wxProperty(wxProperty& copyFrom);
+ wxProperty(wxString name, wxString role, wxPropertyValidator *ed = NULL);
+ wxProperty(wxString name, const wxPropertyValue& val, wxString role, wxPropertyValidator *ed = NULL);
+ ~wxProperty(void);
+
+ virtual wxPropertyValue& GetValue(void) const;
+ virtual wxPropertyValidator *GetValidator(void) const;
+ virtual wxString& GetName(void) const;
+ virtual wxString& GetRole(void) const;
+ virtual void SetValue(const wxPropertyValue& val);
+ virtual void SetValidator(wxPropertyValidator *v);
+ virtual void SetName(wxString& nm);
+ virtual void SetRole(wxString& role);
+ void operator=(const wxPropertyValue& val);
+ virtual inline void SetWindow(wxWindow *win) { m_propertyWindow = win; }
+ virtual inline wxWindow *GetWindow(void) const { return m_propertyWindow; }
+
+ inline void Enable(bool en) { m_enabled = en; }
+ inline bool IsEnabled(void) const { return m_enabled; }
+};
+
+#endif
+ // _WX_PROP_H_
diff --git a/include/wx/propform.h b/include/wx/propform.h
new file mode 100644
index 0000000000..3b3b1ad859
--- /dev/null
+++ b/include/wx/propform.h
@@ -0,0 +1,328 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: propform.h
+// Purpose: Property form classes
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PROPFORM_H_
+#define _WX_PROPFORM_H_
+
+#ifdef __GNUG__
+#pragma interface "propform.h"
+#endif
+
+#include "wx/prop.h"
+
+////
+//// Property form classes: for using an existing dialog or panel
+////
+
+#define wxID_PROP_REVERT 3100
+#define wxID_PROP_UPDATE 3101
+
+// Mediates between a physical panel and the property sheet
+class WXDLLEXPORT wxPropertyFormView: public wxPropertyView
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyFormView)
+ public:
+ wxPropertyFormView(wxWindow *propPanel = NULL, long flags = 0);
+ ~wxPropertyFormView(void);
+
+ // Associates and shows the view
+ virtual void ShowView(wxPropertySheet *propertySheet, wxWindow *panel);
+
+ // Update this view of the viewed object, called e.g. by
+ // the object itself.
+ virtual bool OnUpdateView(void);
+
+ // Transfer values from property sheet to dialog
+ virtual bool TransferToDialog(void);
+
+ // Transfer values from dialog to property sheet
+ virtual bool TransferToPropertySheet(void);
+
+ // Check that all the values are valid
+ virtual bool Check(void);
+
+ // Give each property in the sheet a panel item, by matching
+ // the name of the property to the name of the panel item.
+ // The user doesn't always want to call this; sometimes, it
+ // will have been done explicitly (e.g., no matching names).
+ virtual bool AssociateNames(void);
+
+ void OnOk(wxCommandEvent& event);
+ void OnCancel(wxCommandEvent& event);
+ void OnHelp(wxCommandEvent& event);
+ void OnUpdate(wxCommandEvent& event);
+ void OnRevert(wxCommandEvent& event);
+
+ virtual bool OnClose();
+ virtual void OnDoubleClick(wxControl *item);
+
+ // TODO: does OnCommand still get called...??? No,
+ // make ProcessEvent do it.
+ virtual void OnCommand(wxWindow& win, wxCommandEvent& event);
+
+ // Extend event processing to process OnCommand
+ virtual bool ProcessEvent(wxEvent& event);
+
+ inline virtual void AssociatePanel(wxWindow *win) { m_propertyWindow = win; }
+ inline virtual wxWindow *GetPanel(void) const { return m_propertyWindow; }
+
+ inline virtual void SetManagedWindow(wxWindow *win) { m_managedWindow = win; }
+ inline virtual wxWindow *GetManagedWindow(void) const { return m_managedWindow; }
+
+ inline virtual wxButton *GetWindowCloseButton() const { return m_windowCloseButton; }
+ inline virtual wxButton *GetWindowCancelButton() const { return m_windowCancelButton; }
+ inline virtual wxButton *GetHelpButton() const { return m_windowHelpButton; }
+
+public:
+ static bool sm_dialogCancelled;
+
+ protected:
+ bool m_detailedEditing; // E.g. using listbox for choices
+
+ wxWindow* m_propertyWindow; // Panel that the controls will appear on
+ wxWindow* m_managedWindow; // Frame or dialog
+
+ wxButton* m_windowCloseButton; // Or OK
+ wxButton* m_windowCancelButton;
+ wxButton* m_windowHelpButton;
+
+DECLARE_EVENT_TABLE()
+
+};
+
+/*
+ * The type of validator used for forms (wxForm style but using an existing panel
+ * or dialog box).
+ * Classes derived from this know how to map from whatever widget they
+ * find themselves paired with, to the wxProperty and vice versa.
+ * Should the widget pointer be stored with the validator, or
+ * the wxProperty? If with the property, we don't have to supply
+ * a validator for every property. Otherwise, there ALWAYS needs
+ * to be a validator. On the other hand, not storing a wxWindow pointer
+ * in the wxProperty is more elegant. Perhaps.
+ * I think on balance, should put wxWindow pointer into wxProperty.
+ * After all, wxProperty will often be used to represent the data
+ * assocated with a window. It's that kinda thing.
+ */
+
+class WXDLLEXPORT wxPropertyFormValidator: public wxPropertyValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyFormValidator)
+ protected:
+ public:
+ wxPropertyFormValidator(long flags = 0): wxPropertyValidator(flags) { }
+ ~wxPropertyFormValidator(void) {}
+
+ // Called to check value is OK (e.g. when OK is pressed)
+ // Return FALSE if value didn't check out; signal to restore old value.
+ virtual bool OnCheckValue( wxProperty *WXUNUSED(property), wxPropertyFormView *WXUNUSED(view),
+ wxWindow *WXUNUSED(parentWindow) ) { return TRUE; }
+
+ // Does the transferance from the property editing area to the property itself.
+ // Called by the view, e.g. when closing the window.
+ virtual bool OnRetrieveValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow) = 0;
+
+ // Called by the view to transfer the property to the window.
+ virtual bool OnDisplayValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow) = 0;
+
+ virtual void OnDoubleClick( wxProperty *WXUNUSED(property), wxPropertyFormView *WXUNUSED(view),
+ wxWindow *WXUNUSED(parentWindow) ) { }
+ virtual void OnSetFocus( wxProperty *WXUNUSED(property), wxPropertyFormView *WXUNUSED(view),
+ wxWindow *WXUNUSED(parentWindow) ) { }
+ virtual void OnKillFocus( wxProperty *WXUNUSED(property), wxPropertyFormView *WXUNUSED(view),
+ wxWindow *WXUNUSED(parentWindow) ) { }
+ virtual void OnCommand( wxProperty *WXUNUSED(property), wxPropertyFormView *WXUNUSED(view),
+ wxWindow *WXUNUSED(parentWindow), wxCommandEvent& WXUNUSED(event) ) {}
+private:
+// Virtual function hiding suppression
+#if WXWIN_COMPATIBILITY_2
+ virtual void OnCommand(wxWindow& win,
+ wxCommandEvent& event)
+ { wxEvtHandler::OnCommand(win, event); }
+#endif
+};
+
+/*
+ * Some default validators
+ */
+
+class WXDLLEXPORT wxRealFormValidator: public wxPropertyFormValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxRealFormValidator)
+ public:
+ // 0.0, 0.0 means no range
+ wxRealFormValidator(float min = 0.0, float max = 0.0, long flags = 0):wxPropertyFormValidator(flags)
+ {
+ m_realMin = min; m_realMax = max;
+ }
+ ~wxRealFormValidator(void) {}
+
+ bool OnCheckValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnRetrieveValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ // Called by the view to transfer the property to the window.
+ bool OnDisplayValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+
+ protected:
+ float m_realMin;
+ float m_realMax;
+};
+
+class WXDLLEXPORT wxIntegerFormValidator: public wxPropertyFormValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxIntegerFormValidator)
+ public:
+ // 0, 0 means no range
+ wxIntegerFormValidator(long min = 0, long max = 0, long flags = 0):wxPropertyFormValidator(flags)
+ {
+ m_integerMin = min; m_integerMax = max;
+ }
+ ~wxIntegerFormValidator(void) {}
+
+ bool OnCheckValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnRetrieveValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+
+ protected:
+ long m_integerMin;
+ long m_integerMax;
+};
+
+class WXDLLEXPORT wxBoolFormValidator: public wxPropertyFormValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxBoolFormValidator)
+ protected:
+ public:
+ wxBoolFormValidator(long flags = 0):wxPropertyFormValidator(flags)
+ {
+ }
+ ~wxBoolFormValidator(void) {}
+
+ bool OnCheckValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnRetrieveValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+};
+
+class WXDLLEXPORT wxStringFormValidator: public wxPropertyFormValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxStringFormValidator)
+ public:
+ wxStringFormValidator(wxStringList *list = NULL, long flags = 0);
+
+ ~wxStringFormValidator(void)
+ {
+ if (m_strings)
+ delete m_strings;
+ }
+
+ bool OnCheckValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnRetrieveValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyFormView *view, wxWindow *parentWindow);
+
+ protected:
+ wxStringList* m_strings;
+};
+
+/*
+ * A default dialog box class to use.
+ */
+
+class WXDLLEXPORT wxPropertyFormDialog: public wxDialog
+{
+public:
+ wxPropertyFormDialog(wxPropertyFormView *v = NULL,
+ wxWindow *parent = NULL,
+ const wxString& title = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = _T("dialogBox"));
+
+ void OnCloseWindow(wxCloseEvent& event);
+ void OnDefaultAction(wxControl *item);
+ void OnCommand(wxWindow& win, wxCommandEvent& event);
+
+ // Extend event processing to search the view's event table
+ virtual bool ProcessEvent(wxEvent& event);
+
+private:
+ wxPropertyFormView* m_view;
+
+ DECLARE_EVENT_TABLE()
+ DECLARE_CLASS(wxPropertyFormDialog)
+};
+
+/*
+ * A default panel class to use.
+ */
+
+class WXDLLEXPORT wxPropertyFormPanel: public wxPanel
+{
+public:
+ wxPropertyFormPanel(wxPropertyFormView *v = NULL,
+ wxWindow *parent = NULL,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = _T("panel"))
+ : wxPanel(parent, -1, pos, size, style, name)
+ {
+ m_view = v;
+ }
+ void OnDefaultAction(wxControl *item);
+ void OnCommand(wxWindow& win, wxCommandEvent& event);
+
+ // Extend event processing to search the view's event table
+ virtual bool ProcessEvent(wxEvent& event);
+ void SetView(wxPropertyFormView* view) { m_view = view; }
+ wxPropertyFormView* GetView() const { return m_view; }
+
+private:
+ wxPropertyFormView* m_view;
+
+ DECLARE_CLASS(wxPropertyFormPanel)
+};
+
+/*
+ * A default frame class to use.
+ */
+
+class WXDLLEXPORT wxPropertyFormFrame: public wxFrame
+{
+public:
+ wxPropertyFormFrame(wxPropertyFormView *v = NULL,
+ wxFrame *parent = NULL,
+ const wxString& title = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = _T("frame"))
+ : wxFrame(parent, -1, title, pos, size, style, name)
+ {
+ m_view = v;
+ m_propertyPanel = NULL;
+ }
+ void OnCloseWindow(wxCloseEvent& event);
+
+ // Must call this to create panel and associate view
+ virtual bool Initialize(void);
+ virtual wxPanel *OnCreatePanel(wxFrame *parent, wxPropertyFormView *v);
+ inline virtual wxPanel *GetPropertyPanel(void) const { return m_propertyPanel; }
+
+private:
+ wxPropertyFormView* m_view;
+ wxPanel* m_propertyPanel;
+
+ DECLARE_EVENT_TABLE()
+ DECLARE_CLASS(wxPropertyFormFrame)
+};
+
+#endif
+ // _WX_PROPFORM_H_
diff --git a/include/wx/proplist.h b/include/wx/proplist.h
new file mode 100644
index 0000000000..ea93c33eb0
--- /dev/null
+++ b/include/wx/proplist.h
@@ -0,0 +1,582 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: proplist.h
+// Purpose: Property list classes
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+ /*
+
+ TO DO:
+
+ (1) Optional popup-help for each item, and an optional Help button
+ for dialog.
+
+ (2) Align Ok, Cancel, Help buttons properly.
+
+ (3) Consider retrieving the rectangle on the panel that can be
+ drawn into (where the value listbox is) and giving an example
+ of editing graphically. May be too fancy.
+
+ (4) Deriveable types for wxPropertyValue => may need to reorganise
+ wxPropertyValue to use inheritance rather than present all-types-in-one
+ scheme.
+
+ (5) Optional popup panel for value list, perhaps.
+
+ (6) Floating point checking routine still crashes with Floating
+ point error for zany input.
+
+ (7) Property sheet with choice (or listbox) to select alternative
+ sheets... multiple views per panel, only one active. For this
+ we really need a wxChoice that can be dynamically set: XView
+ may be a problem; Motif?
+
+ (8) More example validators, e.g. colour selector.
+ */
+
+#ifndef _WX_PROPLIST_H_
+#define _WX_PROPLIST_H_
+
+#ifdef __GNUG__
+#pragma interface "proplist.h"
+#endif
+
+#include "wx/prop.h"
+
+#define wxPROP_BUTTON_CLOSE 1
+#define wxPROP_BUTTON_OK 2
+#define wxPROP_BUTTON_CANCEL 4
+#define wxPROP_BUTTON_CHECK_CROSS 8
+#define wxPROP_BUTTON_HELP 16
+#define wxPROP_DYNAMIC_VALUE_FIELD 32
+#define wxPROP_PULLDOWN 64
+#define wxPROP_SHOWVALUES 128
+
+// Show OK/Cancel buttons on X-based systems where window management is
+// more awkward
+#if defined(__WXMOTIF__) || defined(__WXGTK__)
+#define wxPROP_BUTTON_DEFAULT wxPROP_BUTTON_OK | wxPROP_BUTTON_CANCEL | wxPROP_BUTTON_CHECK_CROSS | wxPROP_PULLDOWN
+#else
+#define wxPROP_BUTTON_DEFAULT wxPROP_BUTTON_CHECK_CROSS | wxPROP_PULLDOWN | wxPROP_SHOWVALUES
+#endif
+
+#define wxID_PROP_CROSS 3000
+#define wxID_PROP_CHECK 3001
+#define wxID_PROP_EDIT 3002
+#define wxID_PROP_TEXT 3003
+#define wxID_PROP_SELECT 3004
+#define wxID_PROP_VALUE_SELECT 3005
+
+// Mediates between a physical panel and the property sheet
+class WXDLLEXPORT wxPropertyListView: public wxPropertyView
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyListView)
+ public:
+ wxPropertyListView(wxPanel *propPanel = NULL, long flags = wxPROP_BUTTON_DEFAULT);
+ ~wxPropertyListView(void);
+
+ // Associates and shows the view
+ virtual void ShowView(wxPropertySheet *propertySheet, wxPanel *panel);
+
+ // Update this view of the viewed object, called e.g. by
+ // the object itself.
+ virtual bool OnUpdateView(void);
+
+ wxString MakeNameValueString(wxString name, wxString value);
+
+ // Update a single line in the list of properties
+ virtual bool UpdatePropertyDisplayInList(wxProperty *property);
+
+ // Update the whole list
+ virtual bool UpdatePropertyList(bool clearEditArea = TRUE);
+
+ // Find the wxListBox index corresponding to this property
+ virtual int FindListIndexForProperty(wxProperty *property);
+
+ // Select and show string representation in editor the given
+ // property. NULL resets to show no property.
+ virtual bool ShowProperty(wxProperty *property, bool select = TRUE);
+ virtual bool EditProperty(wxProperty *property);
+
+ // Update the display from the property
+ virtual bool DisplayProperty(wxProperty *property);
+ // Update the property from the display
+ virtual bool RetrieveProperty(wxProperty *property);
+
+ // Find appropriate validator and load property into value controls
+ virtual bool BeginShowingProperty(wxProperty *property);
+ // Find appropriate validator and unload property from value controls
+ virtual bool EndShowingProperty(wxProperty *property);
+
+ // Begin detailed editing (e.g. using value listbox)
+ virtual void BeginDetailedEditing(void);
+
+ // End detailed editing (e.g. using value listbox)
+ virtual void EndDetailedEditing(void);
+
+ // Called by the property listbox
+ void OnPropertySelect(wxCommandEvent& event);
+
+ // Called by the value listbox
+ void OnValueListSelect(wxCommandEvent& event);
+
+ virtual bool CreateControls(void);
+ virtual void ShowTextControl(bool show);
+ virtual void ShowListBoxControl(bool show);
+ virtual void EnableCheck(bool show);
+ virtual void EnableCross(bool show);
+
+ void OnOk(wxCommandEvent& event);
+ void OnCancel(wxCommandEvent& event);
+ void OnHelp(wxCommandEvent& event);
+ void OnPropertyDoubleClick(wxCommandEvent& event);
+// virtual void OnDoubleClick(void);
+
+ void OnCheck(wxCommandEvent& event);
+ void OnCross(wxCommandEvent& event);
+ void OnEdit(wxCommandEvent& event);
+ void OnText(wxCommandEvent& event);
+
+ inline virtual wxListBox *GetPropertyScrollingList() const { return m_propertyScrollingList; }
+ inline virtual wxListBox *GetValueList() const { return m_valueList; }
+ inline virtual wxTextCtrl *GetValueText() const { return m_valueText; }
+ inline virtual wxButton *GetConfirmButton() const { return m_confirmButton; }
+ inline virtual wxButton *GetCancelButton() const { return m_cancelButton; }
+ inline virtual wxButton *GetEditButton() const { return m_editButton; }
+ inline virtual bool GetDetailedEditing(void) const { return m_detailedEditing; }
+
+ inline virtual void AssociatePanel(wxPanel *win) { m_propertyWindow = win; }
+ inline virtual wxPanel *GetPanel(void) const { return m_propertyWindow; }
+
+ inline virtual void SetManagedWindow(wxWindow *win) { m_managedWindow = win; }
+ inline virtual wxWindow *GetManagedWindow(void) const { return m_managedWindow; }
+
+ inline virtual wxButton *GetWindowCloseButton() const { return m_windowCloseButton; }
+ inline virtual wxButton *GetWindowCancelButton() const { return m_windowCancelButton; }
+ inline virtual wxButton *GetHelpButton() const { return m_windowHelpButton; }
+
+ bool OnClose(void);
+
+public:
+ static bool sm_dialogCancelled;
+
+ protected:
+ wxListBox* m_propertyScrollingList;
+ wxListBox* m_valueList; // Should really be a combobox, but we don't have one.
+ wxTextCtrl* m_valueText;
+ wxButton* m_confirmButton; // A tick, as in VB
+ wxButton* m_cancelButton; // A cross, as in VB
+ wxButton* m_editButton; // Invokes the custom validator, if any
+ wxSizer* m_middleSizer;
+
+ bool m_detailedEditing; // E.g. using listbox for choices
+
+ wxPanel* m_propertyWindow; // Panel that the controls will appear on
+ wxWindow* m_managedWindow; // Frame or dialog
+
+ wxButton* m_windowCloseButton; // Or OK
+ wxButton* m_windowCancelButton;
+ wxButton* m_windowHelpButton;
+
+DECLARE_EVENT_TABLE()
+private:
+ virtual void ShowView(wxPropertySheet *propertySheet, wxWindow *window)
+ { wxPropertyView::ShowView(propertySheet, window); };
+};
+
+class WXDLLEXPORT wxPropertyTextEdit: public wxTextCtrl
+{
+public:
+ wxPropertyTextEdit(wxPropertyListView *v = NULL,
+ wxWindow *parent = NULL,
+ const wxWindowID id = -1,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = _T("text"));
+
+ void OnSetFocus();
+ void OnKillFocus();
+
+ wxPropertyListView* m_view;
+
+ DECLARE_CLASS(wxPropertyTextEdit)
+};
+
+#define wxPROP_ALLOW_TEXT_EDITING 1
+
+/*
+ * The type of validator used for property lists (Visual Basic style)
+ */
+
+class WXDLLEXPORT wxPropertyListValidator: public wxPropertyValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxPropertyListValidator)
+ protected:
+ public:
+ wxPropertyListValidator(long flags = wxPROP_ALLOW_TEXT_EDITING): wxPropertyValidator(flags) { }
+ ~wxPropertyListValidator(void) {}
+
+ // Called when the property is selected or deselected: typically displays the value
+ // in the edit control (having chosen a suitable control to display: (non)editable text or listbox)
+ virtual bool OnSelect(bool select, wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the property is double clicked. Extra functionality can be provided, such as
+ // cycling through possible values.
+ inline virtual bool OnDoubleClick(
+ wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
+ { return TRUE; }
+
+ // Called when the value listbox is selected. Default behaviour is to copy
+ // string to text control, and retrieve the value into the property.
+ virtual bool OnValueListSelect(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the property value is edited using standard text control
+ inline virtual bool OnPrepareControls(
+ wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
+ { return TRUE; }
+
+ virtual bool OnClearControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the property is edited in detail
+ inline virtual bool OnPrepareDetailControls(
+ wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
+ { return TRUE; }
+
+ // Called if focus lost, IF we're in a modeless property editing situation.
+ inline virtual bool OnClearDetailControls(
+ wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
+ { return TRUE; }
+
+ // Called when the edit (...) button is pressed. The default implementation
+ // calls view->BeginDetailedEditing; the filename validator (for example) overrides
+ // this function to show the file selector.
+ virtual void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ inline virtual bool OnCheckValue(
+ wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
+ { return TRUE; }
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transferance from the property editing area to the property itself
+ virtual bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ virtual bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+};
+
+/*
+ * A default dialog box class to use.
+ */
+
+class WXDLLEXPORT wxPropertyListDialog: public wxDialog
+{
+public:
+ wxPropertyListDialog(wxPropertyListView *v = NULL,
+ wxWindow *parent = NULL,
+ const wxString& title = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = _T("dialogBox"));
+
+ void OnCloseWindow(wxCloseEvent& event);
+ void OnDefaultAction(wxControl *item);
+ void OnCancel(wxCommandEvent& event);
+
+ // Extend event processing to search the view's event table
+ virtual bool ProcessEvent(wxEvent& event);
+
+private:
+ wxPropertyListView* m_view;
+
+ DECLARE_CLASS(wxPropertyListDialog)
+ DECLARE_EVENT_TABLE()
+};
+
+/*
+ * A default panel class to use.
+ */
+
+class WXDLLEXPORT wxPropertyListPanel: public wxPanel
+{
+public:
+ wxPropertyListPanel(wxPropertyListView *v = NULL,
+ wxWindow *parent = NULL,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = _T("panel"))
+ : wxPanel(parent, -1, pos, size, style, name)
+ {
+ m_view = v;
+ }
+ ~wxPropertyListPanel();
+ void OnDefaultAction(wxControl *item);
+
+ inline void SetView(wxPropertyListView* v) { m_view = v; }
+ inline wxPropertyListView* GetView() const { return m_view; }
+
+ // Extend event processing to search the view's event table
+ virtual bool ProcessEvent(wxEvent& event);
+
+ // Call Layout()
+ void OnSize(wxSizeEvent& event);
+
+private:
+ wxPropertyListView* m_view;
+
+ DECLARE_EVENT_TABLE()
+ DECLARE_CLASS(wxPropertyListPanel)
+};
+
+/*
+ * A default frame class to use.
+ */
+
+class WXDLLEXPORT wxPropertyListFrame: public wxFrame
+{
+public:
+ wxPropertyListFrame(wxPropertyListView *v = NULL,
+ wxFrame *parent = NULL,
+ const wxString& title = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = _T("frame"))
+ : wxFrame(parent, -1, title, pos, size, style, name)
+ {
+ m_view = v;
+ m_propertyPanel = NULL;
+ }
+ void OnCloseWindow(wxCloseEvent& event);
+
+ // Must call this to create panel and associate view
+ virtual bool Initialize(void);
+ virtual wxPropertyListPanel *OnCreatePanel(wxFrame *parent, wxPropertyListView *v);
+ inline virtual wxPropertyListPanel *GetPropertyPanel(void) const { return m_propertyPanel; }
+ inline wxPropertyListView* GetView() const { return m_view; }
+
+private:
+ wxPropertyListView* m_view;
+ wxPropertyListPanel* m_propertyPanel;
+
+ DECLARE_EVENT_TABLE()
+ DECLARE_CLASS(wxPropertyListFrame)
+};
+
+/*
+ * Some default validators
+ */
+
+class WXDLLEXPORT wxRealListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxRealListValidator)
+ public:
+ // 0.0, 0.0 means no range
+ wxRealListValidator(float min = 0.0, float max = 0.0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
+ {
+ m_realMin = min; m_realMax = max;
+ }
+ ~wxRealListValidator(void) {}
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transfer from the property editing area to the property itself
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ protected:
+ float m_realMin;
+ float m_realMax;
+};
+
+class WXDLLEXPORT wxIntegerListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxIntegerListValidator)
+ public:
+ // 0, 0 means no range
+ wxIntegerListValidator(long min = 0, long max = 0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
+ {
+ m_integerMin = min; m_integerMax = max;
+ }
+ ~wxIntegerListValidator(void) {}
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transfer from the property editing area to the property itself
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ protected:
+ long m_integerMin;
+ long m_integerMax;
+};
+
+class WXDLLEXPORT wxBoolListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxBoolListValidator)
+ protected:
+ public:
+ wxBoolListValidator(long flags = 0):wxPropertyListValidator(flags)
+ {
+ }
+ ~wxBoolListValidator(void) {}
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transfer from the property editing area to the property itself
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the property is double clicked. Extra functionality can be provided,
+ // cycling through possible values.
+ virtual bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+};
+
+class WXDLLEXPORT wxStringListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxStringListValidator)
+ public:
+ wxStringListValidator(wxStringList *list = NULL, long flags = 0);
+
+ ~wxStringListValidator(void)
+ {
+ if (m_strings)
+ delete m_strings;
+ }
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transfer from the property editing area to the property itself
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the property is double clicked. Extra functionality can be provided,
+ // cycling through possible values.
+ bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ protected:
+ wxStringList* m_strings;
+};
+
+class WXDLLEXPORT wxFilenameListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxFilenameListValidator)
+ public:
+ wxFilenameListValidator(wxString message = "Select a file", wxString wildcard = wxALL_FILES_PATTERN, long flags = 0);
+
+ ~wxFilenameListValidator(void);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transferance from the property editing area to the property itself
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the edit (...) button is pressed.
+ void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ protected:
+ wxString m_filenameWildCard;
+ wxString m_filenameMessage;
+
+};
+
+class WXDLLEXPORT wxColourListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxColourListValidator)
+ protected:
+ public:
+ wxColourListValidator(long flags = 0);
+
+ ~wxColourListValidator(void);
+
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the edit (...) button is pressed.
+ void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+};
+
+class WXDLLEXPORT wxListOfStringsListValidator: public wxPropertyListValidator
+{
+ DECLARE_DYNAMIC_CLASS(wxListOfStringsListValidator)
+ protected:
+ public:
+ wxListOfStringsListValidator(long flags = 0);
+
+ ~wxListOfStringsListValidator(void)
+ {
+ }
+
+ bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost.
+ // Return FALSE if value didn't check out; signal to restore old value.
+ bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when TICK is pressed or focus is lost or view wants to update
+ // the property list.
+ // Does the transfer from the property editing area to the property itself
+ bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+ bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ // Called when the property is double clicked.
+ bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+ bool EditStringList(wxWindow *parent, wxStringList *stringList, const wxChar *title = wxT("String List Editor"));
+
+ // Called when the edit (...) button is pressed.
+ void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+};
+
+#endif
+ // _WX_PROPLIST_H_
diff --git a/include/wx/qt/app.h b/include/wx/qt/app.h
new file mode 100644
index 0000000000..8535882520
--- /dev/null
+++ b/include/wx/qt/app.h
@@ -0,0 +1,156 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: app.h
+// Purpose: wxApp class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_APP_H_
+#define _WX_APP_H_
+
+#ifdef __GNUG__
+#pragma interface "app.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+
+class WXDLLEXPORT wxFrame;
+class WXDLLEXPORT wxWindow;
+class WXDLLEXPORT wxApp ;
+class WXDLLEXPORT wxKeyEvent;
+class WXDLLEXPORT wxLog;
+
+#define wxPRINT_WINDOWS 1
+#define wxPRINT_POSTSCRIPT 2
+
+WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
+
+void WXDLLEXPORT wxCleanUp();
+void WXDLLEXPORT wxCommonCleanUp(); // Call this from the platform's wxCleanUp()
+void WXDLLEXPORT wxCommonInit(); // Call this from the platform's initialization
+
+// Force an exit from main loop
+void WXDLLEXPORT wxExit();
+
+// Yield to other apps/messages
+bool WXDLLEXPORT wxYield();
+
+// Represents the application. Derive OnInit and declare
+// a new App object to start application
+class WXDLLEXPORT wxApp: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxApp)
+ wxApp();
+ inline ~wxApp() {}
+
+ static void SetInitializerFunction(wxAppInitializerFunction fn) { m_appInitFn = fn; }
+ static wxAppInitializerFunction GetInitializerFunction() { return m_appInitFn; }
+
+ virtual int MainLoop();
+ void ExitMainLoop();
+ bool Initialized();
+ virtual bool Pending() ;
+ virtual void Dispatch() ;
+
+ virtual void OnIdle(wxIdleEvent& event);
+
+// Generic
+ virtual bool OnInit() { return FALSE; };
+
+ // No specific tasks to do here.
+ virtual bool OnInitGui() { return TRUE; }
+
+ // Called to set off the main loop
+ virtual int OnRun() { return MainLoop(); };
+ virtual int OnExit() { return 0; }
+ /** Returns the standard icons for the msg dialogs, implemented in
+ src/generic/msgdlgg.cpp and src/gtk/app.cpp. */
+ virtual wxIcon GetStdIcon(int which) const;
+
+ inline void SetPrintMode(int mode) { m_printMode = mode; }
+ inline int GetPrintMode() const { return m_printMode; }
+
+ inline void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
+ inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
+
+ inline wxString GetAppName() const {
+ if (m_appName != "")
+ return m_appName;
+ else return m_className;
+ }
+
+ inline void SetAppName(const wxString& name) { m_appName = name; };
+ inline wxString GetClassName() const { return m_className; }
+ inline void SetClassName(const wxString& name) { m_className = name; }
+
+ void SetVendorName(const wxString& vendorName) { m_vendorName = vendorName; }
+ const wxString& GetVendorName() const { return m_vendorName; }
+
+ wxWindow *GetTopWindow() const ;
+ inline void SetTopWindow(wxWindow *win) { m_topWindow = win; }
+
+ inline void SetWantDebugOutput(bool flag) { m_wantDebugOutput = flag; }
+ inline bool GetWantDebugOutput() { return m_wantDebugOutput; }
+
+ // Send idle event to all top-level windows.
+ // Returns TRUE if more idle time is requested.
+ bool SendIdleEvents();
+
+ // Send idle event to window and all subwindows
+ // Returns TRUE if more idle time is requested.
+ bool SendIdleEvents(wxWindow* win);
+
+ // Windows only, but for compatibility...
+ inline void SetAuto3D(bool flag) { m_auto3D = flag; }
+ inline bool GetAuto3D() const { return m_auto3D; }
+
+ // Creates a log object
+ virtual wxLog* CreateLogTarget();
+
+public:
+ // Will always be set to the appropriate, main-style values.
+ int argc;
+ char ** argv;
+
+protected:
+ bool m_wantDebugOutput ;
+ wxString m_className;
+ wxString m_appName,
+ m_vendorName;
+ wxWindow * m_topWindow;
+ bool m_exitOnFrameDelete;
+ bool m_showOnInit;
+ int m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
+ bool m_auto3D ; // Always use 3D controls, except
+ // where overriden
+ static wxAppInitializerFunction m_appInitFn;
+
+public:
+
+ // Implementation
+ static void CommonInit();
+ static void CommonCleanUp();
+ void DeletePendingObjects();
+ bool ProcessIdle();
+
+public:
+ static long sm_lastMessageTime;
+ int m_nCmdShow;
+
+protected:
+ bool m_keepGoing ;
+
+DECLARE_EVENT_TABLE()
+};
+
+// TODO: add platform-specific arguments
+int WXDLLEXPORT wxEntry( int argc, char *argv[] );
+
+#endif
+ // _WX_APP_H_
+
diff --git a/include/wx/qt/bitmap.h b/include/wx/qt/bitmap.h
new file mode 100644
index 0000000000..195944f835
--- /dev/null
+++ b/include/wx/qt/bitmap.h
@@ -0,0 +1,198 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: bitmap.h
+// Purpose: wxBitmap class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BITMAP_H_
+#define _WX_BITMAP_H_
+
+#ifdef __GNUG__
+#pragma interface "bitmap.h"
+#endif
+
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+#include "wx/palette.h"
+
+// Bitmap
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxBitmapHandler;
+class WXDLLEXPORT wxIcon;
+class WXDLLEXPORT wxCursor;
+
+// A mask is a mono bitmap used for drawing bitmaps
+// transparently.
+class WXDLLEXPORT wxMask: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxMask)
+
+public:
+ wxMask();
+
+ // Construct a mask from a bitmap and a colour indicating
+ // the transparent area
+ wxMask(const wxBitmap& bitmap, const wxColour& colour);
+
+ // Construct a mask from a bitmap and a palette index indicating
+ // the transparent area
+ wxMask(const wxBitmap& bitmap, int paletteIndex);
+
+ // Construct a mask from a mono bitmap (copies the bitmap).
+ wxMask(const wxBitmap& bitmap);
+
+ ~wxMask();
+
+ bool Create(const wxBitmap& bitmap, const wxColour& colour);
+ bool Create(const wxBitmap& bitmap, int paletteIndex);
+ bool Create(const wxBitmap& bitmap);
+
+/* TODO: platform-specific data access
+ // Implementation
+ inline WXHBITMAP GetMaskBitmap() const { return m_maskBitmap; }
+ inline void SetMaskBitmap(WXHBITMAP bmp) { m_maskBitmap = bmp; }
+protected:
+ WXHBITMAP m_maskBitmap;
+*/
+};
+
+class WXDLLEXPORT wxBitmapRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxIcon;
+ friend class WXDLLEXPORT wxCursor;
+public:
+ wxBitmapRefData();
+ ~wxBitmapRefData();
+
+public:
+ int m_width;
+ int m_height;
+ int m_depth;
+ bool m_ok;
+ int m_numColors;
+ wxPalette m_bitmapPalette;
+ int m_quality;
+
+/* WXHBITMAP m_hBitmap; TODO: platform-specific handle */
+ wxMask * m_bitmapMask; // Optional mask
+};
+
+#define M_BITMAPDATA ((wxBitmapRefData *)m_refData)
+
+class WXDLLEXPORT wxBitmapHandler: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
+public:
+ wxBitmapHandler() { m_name = ""; m_extension = ""; m_type = 0; };
+
+ virtual bool Create(wxBitmap *bitmap, void *data, long flags, int width, int height, int depth = 1);
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth, int desiredHeight);
+ virtual bool SaveFile(wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL);
+
+ inline void SetName(const wxString& name) { m_name = name; }
+ inline void SetExtension(const wxString& ext) { m_extension = ext; }
+ inline void SetType(long type) { m_type = type; }
+ inline wxString GetName() const { return m_name; }
+ inline wxString GetExtension() const { return m_extension; }
+ inline long GetType() const { return m_type; }
+protected:
+ wxString m_name;
+ wxString m_extension;
+ long m_type;
+};
+
+#define M_BITMAPHANDLERDATA ((wxBitmapRefData *)bitmap->GetRefData())
+
+class WXDLLEXPORT wxBitmap: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmap)
+
+ friend class WXDLLEXPORT wxBitmapHandler;
+
+public:
+ wxBitmap(); // Platform-specific
+
+ // Copy constructors
+ inline wxBitmap(const wxBitmap& bitmap)
+ { Ref(bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
+ inline wxBitmap(const wxBitmap* bitmap) { if (bitmap) Ref(*bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
+
+ // Initialize with raw data.
+ wxBitmap(const char bits[], int width, int height, int depth = 1);
+
+/* TODO: maybe implement XPM reading
+ // Initialize with XPM data
+ wxBitmap(const char **data);
+*/
+
+ // Load a file or resource
+ // TODO: make default type whatever's appropriate for the platform.
+ wxBitmap(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
+
+ // Constructor for generalised creation from data
+ wxBitmap(void *data, long type, int width, int height, int depth = 1);
+
+ // If depth is omitted, will create a bitmap compatible with the display
+ wxBitmap(int width, int height, int depth = -1);
+ ~wxBitmap();
+
+ virtual bool Create(int width, int height, int depth = -1);
+ virtual bool Create(void *data, long type, int width, int height, int depth = 1);
+ virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
+ virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
+
+ inline bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
+ inline int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
+ inline int GetHeight() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
+ inline int GetDepth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
+ inline int GetQuality() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
+ void SetWidth(int w);
+ void SetHeight(int h);
+ void SetDepth(int d);
+ void SetQuality(int q);
+ void SetOk(bool isOk);
+
+ inline wxPalette* GetPalette() const { return (M_BITMAPDATA ? (& M_BITMAPDATA->m_bitmapPalette) : NULL); }
+ void SetPalette(const wxPalette& palette);
+
+ inline wxMask *GetMask() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_bitmapMask : NULL); }
+ void SetMask(wxMask *mask) ;
+
+ inline wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
+ inline bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; }
+ inline bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; }
+
+ // Format handling
+ static inline wxList& GetHandlers() { return sm_handlers; }
+ static void AddHandler(wxBitmapHandler *handler);
+ static void InsertHandler(wxBitmapHandler *handler);
+ static bool RemoveHandler(const wxString& name);
+ static wxBitmapHandler *FindHandler(const wxString& name);
+ static wxBitmapHandler *FindHandler(const wxString& extension, long bitmapType);
+ static wxBitmapHandler *FindHandler(long bitmapType);
+
+ static void InitStandardHandlers();
+ static void CleanUpHandlers();
+protected:
+ static wxList sm_handlers;
+
+/*
+ // TODO: Implementation
+public:
+ void SetHBITMAP(WXHBITMAP bmp);
+ inline WXHBITMAP GetHBITMAP() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_hBitmap : 0); }
+ bool FreeResource(bool force = FALSE);
+*/
+
+};
+#endif
+ // _WX_BITMAP_H_
diff --git a/include/wx/qt/bmpbuttn.h b/include/wx/qt/bmpbuttn.h
new file mode 100644
index 0000000000..defe39e438
--- /dev/null
+++ b/include/wx/qt/bmpbuttn.h
@@ -0,0 +1,83 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: bmpbuttn.h
+// Purpose: wxBitmapButton class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BMPBUTTN_H_
+#define _WX_BMPBUTTN_H_
+
+#ifdef __GNUG__
+#pragma interface "bmpbuttn.h"
+#endif
+
+#include "wx/button.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
+
+#define wxDEFAULT_BUTTON_MARGIN 4
+
+class WXDLLEXPORT wxBitmapButton: public wxButton
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapButton)
+ public:
+ inline wxBitmapButton() { m_marginX = wxDEFAULT_BUTTON_MARGIN; m_marginY = wxDEFAULT_BUTTON_MARGIN; }
+ inline wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr)
+ {
+ Create(parent, id, bitmap, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr);
+
+ virtual void SetLabel(const wxBitmap& bitmap)
+ {
+ SetBitmapLabel(bitmap);
+ }
+
+ virtual void SetBitmapLabel(const wxBitmap& bitmap);
+
+ inline wxBitmap& GetBitmapLabel() const { return (wxBitmap&) m_buttonBitmap; }
+ inline wxBitmap& GetBitmapSelected() const { return (wxBitmap&) m_buttonBitmapSelected; }
+ inline wxBitmap& GetBitmapFocus() const { return (wxBitmap&) m_buttonBitmapFocus; }
+ inline wxBitmap& GetBitmapDisabled() const { return (wxBitmap&) m_buttonBitmapDisabled; }
+
+ inline void SetBitmapSelected(const wxBitmap& sel) { m_buttonBitmapSelected = sel; };
+ inline void SetBitmapFocus(const wxBitmap& focus) { m_buttonBitmapFocus = focus; };
+ inline void SetBitmapDisabled(const wxBitmap& disabled) { m_buttonBitmapDisabled = disabled; };
+
+ inline void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; }
+ inline int GetMarginX() { return m_marginX; }
+ inline int GetMarginY() { return m_marginY; }
+
+/*
+ // TODO: Implementation
+ virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
+ virtual void DrawFace( WXHDC dc, int left, int top, int right, int bottom, bool sel );
+ virtual void DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel );
+ virtual void DrawButtonDisable( WXHDC dc, int left, int top, int right, int bottom, bool with_marg );
+*/
+
+ protected:
+ wxBitmap m_buttonBitmap;
+ wxBitmap m_buttonBitmapSelected;
+ wxBitmap m_buttonBitmapFocus;
+ wxBitmap m_buttonBitmapDisabled;
+ int m_marginX;
+ int m_marginY;
+};
+
+#endif
+ // _WX_BMPBUTTN_H_
diff --git a/include/wx/qt/brush.h b/include/wx/qt/brush.h
new file mode 100644
index 0000000000..2475bd0b24
--- /dev/null
+++ b/include/wx/qt/brush.h
@@ -0,0 +1,86 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: brush.h
+// Purpose: wxBrush class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BRUSH_H_
+#define _WX_BRUSH_H_
+
+#ifdef __GNUG__
+#pragma interface "brush.h"
+#endif
+
+#include "wx/gdicmn.h"
+#include "wx/gdiobj.h"
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxBrush;
+
+class WXDLLEXPORT wxBrushRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxBrush;
+public:
+ wxBrushRefData();
+ wxBrushRefData(const wxBrushRefData& data);
+ ~wxBrushRefData();
+
+protected:
+ int m_style;
+ wxBitmap m_stipple ;
+ wxColour m_colour;
+
+/* TODO: implementation
+ WXHBRUSH m_hBrush;
+*/
+};
+
+#define M_BRUSHDATA ((wxBrushRefData *)m_refData)
+
+// Brush
+class WXDLLEXPORT wxBrush: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBrush)
+
+public:
+ wxBrush();
+ wxBrush(const wxColour& col, int style);
+ wxBrush(const wxString& col, int style);
+ wxBrush(const wxBitmap& stipple);
+ inline wxBrush(const wxBrush& brush) { Ref(brush); }
+ inline wxBrush(const wxBrush* brush) { if (brush) Ref(*brush); }
+ ~wxBrush();
+
+ virtual void SetColour(const wxColour& col) ;
+ virtual void SetColour(const wxString& col) ;
+ virtual void SetColour(unsigned char r, unsigned char g, unsigned char b) ;
+ virtual void SetStyle(int style) ;
+ virtual void SetStipple(const wxBitmap& stipple) ;
+
+ inline wxBrush& operator = (const wxBrush& brush) { if (*this == brush) return (*this); Ref(brush); return *this; }
+ inline bool operator == (const wxBrush& brush) { return m_refData == brush.m_refData; }
+ inline bool operator != (const wxBrush& brush) { return m_refData != brush.m_refData; }
+
+ inline wxColour& GetColour() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_colour : wxNullColour); };
+ inline int GetStyle() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_style : 0); };
+ inline wxBitmap *GetStipple() const { return (M_BRUSHDATA ? & M_BRUSHDATA->m_stipple : 0); };
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+// Implementation
+
+ // Useful helper: create the brush resource
+ void RealizeResource();
+
+ // When setting properties, we must make sure we're not changing
+ // another object
+ void Unshare();
+};
+
+#endif
+ // _WX_BRUSH_H_
diff --git a/include/wx/qt/button.h b/include/wx/qt/button.h
new file mode 100644
index 0000000000..68b67d8c96
--- /dev/null
+++ b/include/wx/qt/button.h
@@ -0,0 +1,53 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: button.h
+// Purpose: wxButton class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BUTTON_H_
+#define _WX_BUTTON_H_
+
+#ifdef __GNUG__
+#pragma interface "button.h"
+#endif
+
+#include "wx/control.h"
+#include "wx/gdicmn.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
+
+// Pushbutton
+class WXDLLEXPORT wxButton: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxButton)
+ public:
+ inline wxButton() {}
+ inline wxButton(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr);
+
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual void SetDefault();
+ virtual void SetLabel(const wxString& label);
+ virtual wxString GetLabel() const ;
+ virtual void Command(wxCommandEvent& event);
+};
+
+#endif
+ // _WX_BUTTON_H_
diff --git a/include/wx/qt/checkbox.h b/include/wx/qt/checkbox.h
new file mode 100644
index 0000000000..8bf41d9958
--- /dev/null
+++ b/include/wx/qt/checkbox.h
@@ -0,0 +1,81 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: checkbox.h
+// Purpose: wxCheckBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CHECKBOX_H_
+#define _WX_CHECKBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "checkbox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxCheckBoxNameStr;
+
+// Checkbox item (single checkbox)
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxCheckBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxCheckBox)
+
+ public:
+ inline wxCheckBox() { }
+ inline wxCheckBox(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr);
+ virtual void SetValue(bool);
+ virtual bool GetValue() const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual void SetLabel(const wxString& label);
+ virtual void Command(wxCommandEvent& event);
+};
+
+class WXDLLEXPORT wxBitmapCheckBox: public wxCheckBox
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapCheckBox)
+
+ public:
+ int checkWidth ;
+ int checkHeight ;
+
+ inline wxBitmapCheckBox() { checkWidth = -1; checkHeight = -1; }
+ inline wxBitmapCheckBox(wxWindow *parent, wxWindowID id, const wxBitmap *label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxBitmap *bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr);
+ virtual void SetValue(bool);
+ virtual bool GetValue() const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual void SetLabel(const wxBitmap *bitmap);
+};
+#endif
+ // _WX_CHECKBOX_H_
diff --git a/include/wx/qt/choice.h b/include/wx/qt/choice.h
new file mode 100644
index 0000000000..7f360ed5cc
--- /dev/null
+++ b/include/wx/qt/choice.h
@@ -0,0 +1,72 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: choice.h
+// Purpose: wxChoice class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CHOICE_H_
+#define _WX_CHOICE_H_
+
+#ifdef __GNUG__
+#pragma interface "choice.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxChoiceNameStr;
+
+// Choice item
+class WXDLLEXPORT wxChoice: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxChoice)
+
+ public:
+ inline wxChoice() { m_noStrings = 0; }
+
+ inline wxChoice(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxChoiceNameStr)
+ {
+ Create(parent, id, pos, size, n, choices, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxChoiceNameStr);
+
+ virtual void Append(const wxString& item);
+ virtual void Delete(int n);
+ virtual void Clear();
+ virtual int GetSelection() const ;
+ virtual void SetSelection(int n);
+ virtual int FindString(const wxString& s) const;
+ virtual wxString GetString(int n) const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual wxString GetStringSelection() const ;
+ virtual bool SetStringSelection(const wxString& sel);
+
+ virtual inline int Number() const { return m_noStrings; }
+ virtual void Command(wxCommandEvent& event);
+
+ virtual inline void SetColumns(int WXUNUSED(n) = 1 ) { /* No effect */ } ;
+ virtual inline int GetColumns() const { return 1 ; };
+
+protected:
+ int m_noStrings;
+};
+
+#endif
+ // _WX_CHOICE_H_
diff --git a/include/wx/qt/colour.h b/include/wx/qt/colour.h
new file mode 100644
index 0000000000..e8fca8e3b4
--- /dev/null
+++ b/include/wx/qt/colour.h
@@ -0,0 +1,68 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: colour.h
+// Purpose: wxColour class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COLOUR_H_
+#define _WX_COLOUR_H_
+
+#ifdef __GNUG__
+#pragma interface "colour.h"
+#endif
+
+// Colour
+class WXDLLEXPORT wxColour: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxColour)
+public:
+ wxColour();
+ wxColour(unsigned char r, unsigned char g, unsigned char b);
+ wxColour(unsigned long colRGB) { Set(colRGB); }
+ wxColour(const wxColour& col);
+ wxColour(const wxString& col);
+ ~wxColour() ;
+ wxColour& operator =(const wxColour& src) ;
+ wxColour& operator =(const wxString& src) ;
+ inline int Ok() const { return (m_isInit) ; }
+
+ void Set(unsigned char r, unsigned char g, unsigned char b);
+ void Set(unsigned long colRGB)
+ {
+ // we don't need to know sizeof(long) here because we assume that the three
+ // least significant bytes contain the R, G and B values
+ Set((unsigned char)colRGB,
+ (unsigned char)(colRGB >> 8),
+ (unsigned char)(colRGB >> 16));
+ }
+
+ inline unsigned char Red() const { return m_red; }
+ inline unsigned char Green() const { return m_green; }
+ inline unsigned char Blue() const { return m_blue; }
+
+ inline bool operator == (const wxColour& colour) { return (m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue); }
+
+ inline bool operator != (const wxColour& colour) { return (!(m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue)); }
+
+ WXCOLORREF GetPixel() const { return m_pixel; };
+
+ private:
+ bool m_isInit;
+ unsigned char m_red;
+ unsigned char m_blue;
+ unsigned char m_green;
+ public:
+/* TODO: implementation
+ WXCOLORREF m_pixel ;
+*/
+};
+
+#define wxColor wxColour
+
+#endif
+ // _WX_COLOUR_H_
diff --git a/include/wx/qt/combobox.h b/include/wx/qt/combobox.h
new file mode 100644
index 0000000000..86895e561c
--- /dev/null
+++ b/include/wx/qt/combobox.h
@@ -0,0 +1,78 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: combobox.h
+// Purpose: wxComboBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COMBOBOX_H_
+#define _WX_COMBOBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "combobox.h"
+#endif
+
+#include "wx/choice.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxComboBoxNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// Combobox item
+class WXDLLEXPORT wxComboBox: public wxChoice
+{
+ DECLARE_DYNAMIC_CLASS(wxComboBox)
+
+ public:
+ inline wxComboBox() {}
+
+ inline wxComboBox(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr)
+ {
+ Create(parent, id, value, pos, size, n, choices, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
+
+ // List functions: see wxChoice
+
+ // Text field functions
+ virtual wxString GetValue() const ;
+ virtual void SetValue(const wxString& value);
+
+ // Clipboard operations
+ virtual void Copy();
+ virtual void Cut();
+ virtual void Paste();
+ virtual void SetInsertionPoint(long pos);
+ virtual void SetInsertionPointEnd();
+ virtual long GetInsertionPoint() const ;
+ virtual long GetLastPosition() const ;
+ virtual void Replace(long from, long to, const wxString& value);
+ virtual void Remove(long from, long to);
+ virtual void SetSelection(int n)
+ {
+ wxChoice::SetSelection(n);
+ }
+ virtual void SetSelection(long from, long to);
+ virtual void SetEditable(bool editable);
+};
+
+#endif
+ // _WX_COMBOBOX_H_
diff --git a/include/wx/qt/control.h b/include/wx/qt/control.h
new file mode 100644
index 0000000000..5432b5c5e7
--- /dev/null
+++ b/include/wx/qt/control.h
@@ -0,0 +1,50 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: control.h
+// Purpose: wxControl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CONTROL_H_
+#define _WX_CONTROL_H_
+
+#ifdef __GNUG__
+#pragma interface "control.h"
+#endif
+
+#include "wx/window.h"
+#include "wx/list.h"
+#include "wx/validate.h"
+
+// General item class
+class WXDLLEXPORT wxControl: public wxWindow
+{
+ DECLARE_ABSTRACT_CLASS(wxControl)
+public:
+ wxControl();
+ ~wxControl();
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) = 0; // Simulates an event
+ virtual void ProcessCommand(wxCommandEvent& event); // Calls the callback and
+ // appropriate event handlers
+ virtual void SetLabel(const wxString& label);
+ virtual wxString GetLabel() const ;
+
+ // Places item in centre of panel - so can't be used BEFORE panel->Fit()
+ void Centre(int direction = wxHORIZONTAL);
+ inline void Callback(const wxFunction function) { m_callback = function; }; // Adds callback
+
+ inline wxFunction GetCallback() { return m_callback; }
+
+protected:
+ wxFunction m_callback; // Callback associated with the window
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_CONTROL_H_
diff --git a/include/wx/qt/cursor.h b/include/wx/qt/cursor.h
new file mode 100644
index 0000000000..9cf490cdc6
--- /dev/null
+++ b/include/wx/qt/cursor.h
@@ -0,0 +1,75 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: cursor.h
+// Purpose: wxCursor class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CURSOR_H_
+#define _WX_CURSOR_H_
+
+#ifdef __GNUG__
+#pragma interface "cursor.h"
+#endif
+
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxCursorRefData: public wxBitmapRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxCursor;
+public:
+ wxCursorRefData();
+ ~wxCursorRefData();
+
+protected:
+/* TODO: implementation
+ WXHCURSOR m_hCursor;
+*/
+};
+
+#define M_CURSORDATA ((wxCursorRefData *)m_refData)
+#define M_CURSORHANDLERDATA ((wxCursorRefData *)bitmap->m_refData)
+
+// Cursor
+class WXDLLEXPORT wxCursor: public wxBitmap
+{
+ DECLARE_DYNAMIC_CLASS(wxCursor)
+
+public:
+ wxCursor();
+
+ // Copy constructors
+ inline wxCursor(const wxCursor& cursor) { Ref(cursor); }
+ inline wxCursor(const wxCursor* cursor) { if (cursor) Ref(*cursor); }
+
+ wxCursor(const char bits[], int width, int height, int hotSpotX = -1, int hotSpotY = -1,
+ const char maskBits[] = NULL);
+
+ /* TODO: make default type suit platform */
+ wxCursor(const wxString& name, long flags = wxBITMAP_TYPE_CUR_RESOURCE,
+ int hotSpotX = 0, int hotSpotY = 0);
+
+ wxCursor(int cursor_type);
+ ~wxCursor();
+
+ virtual bool Ok() const { return (m_refData != NULL && M_CURSORDATA->m_hCursor) ; }
+
+ inline wxCursor& operator = (const wxCursor& cursor) { if (*this == cursor) return (*this); Ref(cursor); return *this; }
+ inline bool operator == (const wxCursor& cursor) { return m_refData == cursor.m_refData; }
+ inline bool operator != (const wxCursor& cursor) { return m_refData != cursor.m_refData; }
+
+/* TODO: implementation
+ void SetHCURSOR(WXHCURSOR cursor);
+ inline WXHCURSOR GetHCURSOR() const { return (M_CURSORDATA ? M_CURSORDATA->m_hCursor : 0); }
+*/
+};
+
+extern WXDLLEXPORT void wxSetCursor(const wxCursor& cursor);
+
+#endif
+ // _WX_CURSOR_H_
diff --git a/include/wx/qt/dc.h b/include/wx/qt/dc.h
new file mode 100644
index 0000000000..9943b0e2ab
--- /dev/null
+++ b/include/wx/qt/dc.h
@@ -0,0 +1,373 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dc.h
+// Purpose: wxDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DC_H_
+#define _WX_DC_H_
+
+#ifdef __GNUG__
+#pragma interface "dc.h"
+#endif
+
+#include "wx/pen.h"
+#include "wx/brush.h"
+#include "wx/icon.h"
+#include "wx/font.h"
+#include "wx/gdicmn.h"
+
+//-----------------------------------------------------------------------------
+// constants
+//-----------------------------------------------------------------------------
+
+#define MM_TEXT 0
+#define MM_ISOTROPIC 1
+#define MM_ANISOTROPIC 2
+#define MM_LOMETRIC 3
+#define MM_HIMETRIC 4
+#define MM_TWIPS 5
+#define MM_POINTS 6
+#define MM_METRIC 7
+
+//-----------------------------------------------------------------------------
+// global variables
+//-----------------------------------------------------------------------------
+
+extern int wxPageNumber;
+
+//-----------------------------------------------------------------------------
+// wxDC
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDC: public wxObject
+{
+ DECLARE_ABSTRACT_CLASS(wxDC)
+
+ public:
+
+ wxDC(void);
+ ~wxDC(void);
+
+ void BeginDrawing(void) {};
+ void EndDrawing(void) {};
+
+ virtual bool Ok(void) const { return m_ok; };
+
+ virtual void FloodFill( long x1, long y1, wxColour *col, int style=wxFLOOD_SURFACE ) = 0;
+ inline void FloodFill(const wxPoint& pt, const wxColour& col, int style=wxFLOOD_SURFACE)
+ {
+ FloodFill(pt.x, pt.y, col, style);
+ }
+ virtual bool GetPixel( long x1, long y1, wxColour *col ) const = 0;
+ inline bool GetPixel(const wxPoint& pt, wxColour *col) const
+ {
+ return GetPixel(pt.x, pt.y, col);
+ }
+
+ virtual void DrawLine( long x1, long y1, long x2, long y2 ) = 0;
+ inline void DrawLine(const wxPoint& pt1, const wxPoint& pt2)
+ {
+ DrawLine(pt1.x, pt1.y, pt2.x, pt2.y);
+ }
+
+ virtual void CrossHair( long x, long y ) = 0;
+ inline void CrossHair(const wxPoint& pt)
+ {
+ CrossHair(pt.x, pt.y);
+ }
+
+ virtual void DrawArc( long x1, long y1, long x2, long y2, double xc, double yc ) = 0;
+ inline void DrawArc(const wxPoint& pt1, const wxPoint& pt2, double xc, double yc)
+ {
+ DrawArc(pt1.x, pt1.y, pt2.x, pt2.y, xc, yc);
+ }
+
+ virtual void DrawEllipticArc( long x, long y, long width, long height, double sa, double ea ) = 0;
+ virtual void DrawEllipticArc (const wxPoint& pt, const wxSize& sz, double sa, double ea)
+ {
+ DrawEllipticArc(pt.x, pt.y, sz.x, sz.y, sa, ea);
+ }
+
+ virtual void DrawPoint( long x, long y ) = 0;
+ virtual void DrawPoint( wxPoint& point );
+
+ virtual void DrawLines( int n, wxPoint points[], long xoffset = 0, long yoffset = 0 ) = 0;
+ virtual void DrawLines( wxList *points, long xoffset = 0, long yoffset = 0 );
+ virtual void DrawPolygon( int n, wxPoint points[], long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE ) = 0;
+ virtual void DrawPolygon( wxList *lines, long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE );
+
+ virtual void DrawRectangle( long x, long y, long width, long height ) = 0;
+ inline void DrawRectangle(const wxPoint& pt, const wxSize& sz)
+ {
+ DrawRectangle(pt.x, pt.y, sz.x, sz.y);
+ }
+ inline void DrawRectangle(const wxRect& rect)
+ {
+ DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+ }
+ virtual void DrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 ) = 0;
+ inline void DrawRoundedRectangle(const wxPoint& pt, const wxSize& sz, double radius = 20.0)
+ {
+ DrawRoundedRectangle(pt.x, pt.y, sz.x, sz.y, radius);
+ }
+ inline void DrawRoundedRectangle(const wxRect& rect, double radius = 20.0)
+ {
+ DrawRoundedRectangle(rect.x, rect.y, rect.width, rect.height, radius);
+ }
+
+ virtual void DrawEllipse( long x, long y, long width, long height ) = 0;
+ inline void DrawEllipse(const wxPoint& pt, const wxSize& sz)
+ {
+ DrawEllipse(pt.x, pt.y, sz.x, sz.y);
+ }
+ inline void DrawEllipse(const wxRect& rect)
+ {
+ DrawEllipse(rect.x, rect.y, rect.width, rect.height);
+ }
+
+ virtual void DrawIcon(const wxIcon& icon, long x, long y) = 0;
+
+ virtual void DrawSpline( long x1, long y1, long x2, long y2, long x3, long y3 );
+ virtual void DrawSpline( wxList *points );
+ virtual void DrawSpline( int n, wxPoint points[] );
+
+ virtual bool CanDrawBitmap(void) const = 0;
+
+ virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+ inline void DrawIcon(const wxIcon& icon, const wxPoint& pt)
+ {
+ DrawIcon(icon, pt.x, pt.y);
+ }
+
+ // TODO DrawBitmap is not always the same as DrawIcon, especially if bitmaps and
+ // icons are implemented differently.
+ void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE )
+ { DrawIcon( *((wxIcon*)(&bmp)), x, y, useMask ); }
+
+ virtual bool Blit( long xdest, long ydest, long width, long height,
+ wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE ) = 0;
+ inline bool Blit(const wxPoint& destPt, const wxSize& sz,
+ wxDC *source, const wxPoint& srcPt, int rop = wxCOPY, bool useMask = FALSE)
+ {
+ return Blit(destPt.x, destPt.y, sz.x, sz.y, source, srcPt.x, srcPt.y, rop, useMask);
+ }
+
+ virtual void DrawText( const wxString &text, long x, long y, bool use16 = FALSE ) = 0;
+ inline void DrawText(const wxString& text, const wxPoint& pt, bool use16bit = FALSE)
+ {
+ DrawText(text, pt.x, pt.y, use16bit);
+ }
+
+ virtual bool CanGetTextExtent(void) const = 0;
+ virtual void GetTextExtent( const wxString &string, long *width, long *height,
+ long *descent = NULL, long *externalLeading = NULL,
+ wxFont *theFont = NULL, bool use16 = FALSE ) = 0;
+ virtual long GetCharWidth(void) = 0;
+ virtual long GetCharHeight(void) = 0;
+
+ virtual void Clear(void) = 0;
+
+ virtual void SetFont( const wxFont &font ) = 0;
+ virtual wxFont *GetFont(void) const { return &m_font; };
+
+ virtual void SetPen( const wxPen &pen ) = 0;
+ virtual wxPen *GetPen(void) const { return &m_pen; };
+
+ virtual void SetBrush( const wxBrush &brush ) = 0;
+ virtual wxBrush *GetBrush(void) const { return &m_brush; };
+
+ virtual void SetBackground( const wxBrush &brush ) = 0;
+ virtual wxBrush *GetBackground(void) const { return &m_backgroundBrush; };
+
+ virtual void SetLogicalFunction( int function ) = 0;
+ virtual int GetLogicalFunction(void) const { return m_logicalFunction; };
+
+ virtual void SetTextForeground( const wxColour &col );
+ virtual void SetTextBackground( const wxColour &col );
+ virtual wxColour& GetTextBackground(void) const { return (wxColour&)m_textBackgroundColour; };
+ virtual wxColour& GetTextForeground(void) const { return (wxColour&)m_textForegroundColour; };
+
+ virtual void SetBackgroundMode( int mode ) = 0;
+ virtual int GetBackgroundMode(void) const { return m_backgroundMode; };
+
+ virtual void SetPalette( const wxPalette& palette ) = 0;
+ void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
+
+ // the first two must be overridden and called
+ virtual void SetClippingRegion( long x, long y, long width, long height );
+ virtual void DestroyClippingRegion(void);
+ virtual void GetClippingBox( long *x, long *y, long *width, long *height ) const;
+
+ virtual inline long MinX(void) const { return m_minX; }
+ virtual inline long MaxX(void) const { return m_maxX; }
+ virtual inline long MinY(void) const { return m_minY; }
+ virtual inline long MaxY(void) const { return m_maxY; }
+
+ virtual void GetSize( int* width, int* height ) const;
+ inline wxSize GetSize(void) const { int w, h; GetSize(&w, &h); return wxSize(w, h); }
+ virtual void GetSizeMM( long* width, long* height ) const;
+
+ virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return TRUE; };
+ virtual void EndDoc(void) {};
+ virtual void StartPage(void) {};
+ virtual void EndPage(void) {};
+
+ virtual void SetMapMode( int mode );
+ virtual int GetMapMode(void) const { return m_mappingMode; };
+
+ virtual void SetUserScale( double x, double y );
+ virtual void GetUserScale( double *x, double *y );
+ virtual void SetLogicalScale( double x, double y );
+ virtual void GetLogicalScale( double *x, double *y );
+
+ virtual void SetLogicalOrigin( long x, long y );
+ virtual void GetLogicalOrigin( long *x, long *y );
+ virtual void SetDeviceOrigin( long x, long y );
+ virtual void GetDeviceOrigin( long *x, long *y );
+ virtual void SetInternalDeviceOrigin( long x, long y );
+ virtual void GetInternalDeviceOrigin( long *x, long *y );
+
+ virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
+
+ virtual void SetOptimization( bool WXUNUSED(optimize) ) {};
+ virtual bool GetOptimization(void) { return m_optimize; };
+
+ virtual long DeviceToLogicalX(long x) const;
+ virtual long DeviceToLogicalY(long y) const;
+ virtual long DeviceToLogicalXRel(long x) const;
+ virtual long DeviceToLogicalYRel(long y) const;
+ virtual long LogicalToDeviceX(long x) const;
+ virtual long LogicalToDeviceY(long y) const;
+ virtual long LogicalToDeviceXRel(long x) const;
+ virtual long LogicalToDeviceYRel(long y) const;
+
+ public:
+
+ void CalcBoundingBox( long x, long y );
+ void ComputeScaleAndOrigin(void);
+
+ long XDEV2LOG(long x) const
+ {
+ long new_x = x - m_deviceOriginX;
+ if (new_x > 0)
+ return (long)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
+ else
+ return (long)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
+ }
+ long XDEV2LOGREL(long x) const
+ {
+ if (x > 0)
+ return (long)((double)(x) / m_scaleX + 0.5);
+ else
+ return (long)((double)(x) / m_scaleX - 0.5);
+ }
+ long YDEV2LOG(long y) const
+ {
+ long new_y = y - m_deviceOriginY;
+ if (new_y > 0)
+ return (long)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
+ else
+ return (long)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
+ }
+ long YDEV2LOGREL(long y) const
+ {
+ if (y > 0)
+ return (long)((double)(y) / m_scaleY + 0.5);
+ else
+ return (long)((double)(y) / m_scaleY - 0.5);
+ }
+ long XLOG2DEV(long x) const
+ {
+ long new_x = x - m_logicalOriginX;
+ if (new_x > 0)
+ return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
+ else
+ return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
+ }
+ long XLOG2DEVREL(long x) const
+ {
+ if (x > 0)
+ return (long)((double)(x) * m_scaleX + 0.5);
+ else
+ return (long)((double)(x) * m_scaleX - 0.5);
+ }
+ long YLOG2DEV(long y) const
+ {
+ long new_y = y - m_logicalOriginY;
+ if (new_y > 0)
+ return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
+ else
+ return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
+ }
+ long YLOG2DEVREL(long y) const
+ {
+ if (y > 0)
+ return (long)((double)(y) * m_scaleY + 0.5);
+ else
+ return (long)((double)(y) * m_scaleY - 0.5);
+ }
+
+ virtual void DrawOpenSpline( wxList *points ) = 0;
+
+ public:
+
+ bool m_ok;
+ bool m_colour;
+
+ // not sure, what these mean
+ bool m_clipping; // Is clipping on right now ?
+ bool m_isInteractive; // Is GetPixel possible ?
+ bool m_autoSetting; // wxMSW only ?
+ bool m_dontDelete; // wxMSW only ?
+ bool m_optimize; // wxMSW only ?
+ wxString m_filename; // Not sure where this belongs.
+
+ wxPen m_pen;
+ wxBrush m_brush;
+ wxBrush m_backgroundBrush;
+ wxColour m_textForegroundColour;
+ wxColour m_textBackgroundColour;
+ wxFont m_font;
+
+ int m_logicalFunction;
+ int m_backgroundMode;
+ int m_textAlignment; // gone in wxWin 2.0 ?
+
+ int m_mappingMode;
+
+ // not sure what for, but what is a mm on a screen you don't know the size of?
+ double m_mm_to_pix_x,m_mm_to_pix_y;
+
+ long m_internalDeviceOriginX,m_internalDeviceOriginY; // If un-scrolled is non-zero or
+ // d.o. changes with scrolling.
+ // Set using SetInternalDeviceOrigin().
+
+ long m_externalDeviceOriginX,m_externalDeviceOriginY; // To be set by external classes
+ // such as wxScrolledWindow
+ // using SetDeviceOrigin()
+
+ long m_deviceOriginX,m_deviceOriginY; // Sum of the two above.
+
+ long m_logicalOriginX,m_logicalOriginY; // User defined.
+
+ double m_scaleX,m_scaleY;
+ double m_logicalScaleX,m_logicalScaleY;
+ double m_userScaleX,m_userScaleY;
+ long m_signX,m_signY;
+
+ bool m_needComputeScaleX,m_needComputeScaleY; // not yet used
+
+ long m_clipX1,m_clipY1,m_clipX2,m_clipY2;
+ long m_minX,m_maxX,m_minY,m_maxY;
+};
+
+#endif
+ // _WX_DC_H_
diff --git a/include/wx/qt/dcclient.h b/include/wx/qt/dcclient.h
new file mode 100644
index 0000000000..828a507d75
--- /dev/null
+++ b/include/wx/qt/dcclient.h
@@ -0,0 +1,100 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcclient.h
+// Purpose: wxClientDC, wxPaintDC and wxWindowDC classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCCLIENT_H_
+#define _WX_DCCLIENT_H_
+
+#ifdef __GNUG__
+#pragma interface "dcclient.h"
+#endif
+
+#include "wx/dc.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPaintDC;
+
+// Under Windows, wxClientDC, wxPaintDC and wxWindowDC are implemented differently.
+// On many platforms, however, they will be the same.
+
+typedef wxPaintDC wxClientDC;
+typedef wxPaintDC wxWindowDC;
+
+//-----------------------------------------------------------------------------
+// wxPaintDC
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPaintDC: public wxDC
+{
+ DECLARE_DYNAMIC_CLASS(wxPaintDC)
+
+ public:
+
+ wxPaintDC(void);
+ wxPaintDC( wxWindow *win );
+
+ ~wxPaintDC(void);
+
+ virtual void FloodFill( long x1, long y1, wxColour *col, int style=wxFLOOD_SURFACE );
+ virtual bool GetPixel( long x1, long y1, wxColour *col ) const;
+
+ virtual void DrawLine( long x1, long y1, long x2, long y2 );
+ virtual void CrossHair( long x, long y );
+ virtual void DrawArc( long x1, long y1, long x2, long y2, double xc, double yc );
+ virtual void DrawEllipticArc( long x, long y, long width, long height, double sa, double ea );
+ virtual void DrawPoint( long x, long y );
+
+ virtual void DrawLines( int n, wxPoint points[], long xoffset = 0, long yoffset = 0 );
+ virtual void DrawLines( wxList *points, long xoffset = 0, long yoffset = 0 );
+ virtual void DrawPolygon( int n, wxPoint points[], long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE );
+ virtual void DrawPolygon( wxList *lines, long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE );
+
+ virtual void DrawRectangle( long x, long y, long width, long height );
+ virtual void DrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 );
+ virtual void DrawEllipse( long x, long y, long width, long height );
+
+ virtual bool CanDrawBitmap(void) const;
+ virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+ virtual bool Blit( long xdest, long ydest, long width, long height,
+ wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE );
+
+ virtual void DrawText( const wxString &text, long x, long y, bool use16 = FALSE );
+ virtual bool CanGetTextExtent(void) const;
+ virtual void GetTextExtent( const wxString &string, long *width, long *height,
+ long *descent = NULL, long *externalLeading = NULL,
+ wxFont *theFont = NULL, bool use16 = FALSE );
+ virtual long GetCharWidth(void);
+ virtual long GetCharHeight(void);
+
+ virtual void Clear(void);
+
+ virtual void SetFont( const wxFont &font );
+ virtual void SetPen( const wxPen &pen );
+ virtual void SetBrush( const wxBrush &brush );
+ virtual void SetBackground( const wxBrush &brush );
+ virtual void SetLogicalFunction( int function );
+ virtual void SetTextForeground( const wxColour &col );
+ virtual void SetTextBackground( const wxColour &col );
+ virtual void SetBackgroundMode( int mode );
+ virtual void SetPalette( const wxPalette& palette );
+
+ virtual void SetClippingRegion( long x, long y, long width, long height );
+ virtual void DestroyClippingRegion(void);
+
+ virtual void DrawOpenSpline( wxList *points );
+};
+
+#endif
+ // _WX_DCCLIENT_H_
diff --git a/include/wx/qt/dcmemory.h b/include/wx/qt/dcmemory.h
new file mode 100644
index 0000000000..c6c5737642
--- /dev/null
+++ b/include/wx/qt/dcmemory.h
@@ -0,0 +1,38 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcmemory.h
+// Purpose: wxMemoryDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCMEMORY_H_
+#define _WX_DCMEMORY_H_
+
+#ifdef __GNUG__
+#pragma interface "dcmemory.h"
+#endif
+
+#include "wx/dcclient.h"
+
+class WXDLLEXPORT wxMemoryDC: public wxPaintDC
+{
+ DECLARE_DYNAMIC_CLASS(wxMemoryDC)
+
+ public:
+ wxMemoryDC(void);
+ wxMemoryDC( wxDC *dc ); // Create compatible DC
+ ~wxMemoryDC(void);
+ virtual void SelectObject( const wxBitmap& bitmap );
+ void GetSize( int *width, int *height ) const;
+
+ private:
+ friend wxPaintDC;
+ wxBitmap m_selected;
+};
+
+#endif
+ // _WX_DCMEMORY_H_
diff --git a/include/wx/qt/dcscreen.h b/include/wx/qt/dcscreen.h
new file mode 100644
index 0000000000..27961a1caa
--- /dev/null
+++ b/include/wx/qt/dcscreen.h
@@ -0,0 +1,39 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcscreen.h
+// Purpose: wxScreenDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCSCREEN_H_
+#define _WX_DCSCREEN_H_
+
+#ifdef __GNUG__
+#pragma interface "dcscreen.h"
+#endif
+
+#include "wx/dcclient.h"
+
+class WXDLLEXPORT wxScreenDC: public wxPaintDC
+{
+ DECLARE_DYNAMIC_CLASS(wxScreenDC)
+
+ public:
+ // Create a DC representing the whole screen
+ wxScreenDC();
+ ~wxScreenDC();
+
+ // Compatibility with X's requirements for
+ // drawing on top of all windows
+ static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return TRUE; }
+ static bool StartDrawingOnTop(wxRect* WXUNUSED(rect) = NULL) { return TRUE; }
+ static bool EndDrawingOnTop() { return TRUE; }
+};
+
+#endif
+ // _WX_DCSCREEN_H_
+
diff --git a/include/wx/qt/dialog.h b/include/wx/qt/dialog.h
new file mode 100644
index 0000000000..d68cc7c9a0
--- /dev/null
+++ b/include/wx/qt/dialog.h
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dialog.h
+// Purpose: wxDialog class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DIALOG_H_
+#define _WX_DIALOG_H_
+
+#ifdef __GNUG__
+#pragma interface "dialog.h"
+#endif
+
+#include "wx/panel.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxDialogNameStr;
+
+// Dialog boxes
+class WXDLLEXPORT wxDialog: public wxPanel
+{
+ DECLARE_DYNAMIC_CLASS(wxDialog)
+public:
+
+ wxDialog();
+
+ // Constructor with a modal flag, but no window id - the old convention
+ inline wxDialog(wxWindow *parent,
+ const wxString& title, bool modal,
+ int x = -1, int y= -1, int width = 500, int height = 500,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr)
+ {
+ long modalStyle = modal ? wxDIALOG_MODAL : wxDIALOG_MODELESS ;
+ Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), style|modalStyle, name);
+ }
+
+ // Constructor with no modal flag - the new convention.
+ inline wxDialog(wxWindow *parent, wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& title, // bool modal = FALSE, // TODO make this a window style?
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr);
+
+ ~wxDialog();
+
+ virtual bool Destroy();
+ void SetClientSize(int width, int height);
+ void GetPosition(int *x, int *y) const;
+ bool Show(bool show);
+ void Iconize(bool iconize);
+
+ virtual bool IsIconized() const;
+ void Fit();
+
+ void SetTitle(const wxString& title);
+ wxString GetTitle() const ;
+
+ void OnCharHook(wxKeyEvent& event);
+ void OnCloseWindow(wxCloseEvent& event);
+
+ void SetModal(bool flag);
+
+ virtual void Centre(int direction = wxBOTH);
+ virtual bool IsModal() const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
+
+ virtual int ShowModal();
+ virtual void EndModal(int retCode);
+
+ // Standard buttons
+ void OnOK(wxCommandEvent& event);
+ void OnApply(wxCommandEvent& event);
+ void OnCancel(wxCommandEvent& event);
+
+ // Responds to colour changes
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_DIALOG_H_
diff --git a/include/wx/qt/dirdlg.h b/include/wx/qt/dirdlg.h
new file mode 100644
index 0000000000..fe36bb7fec
--- /dev/null
+++ b/include/wx/qt/dirdlg.h
@@ -0,0 +1,47 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dirdlg.h
+// Purpose: wxDirDialog class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DIRDLG_H_
+#define _WX_DIRDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "dirdlg.h"
+#endif
+
+#include "wx/dialog.h"
+
+class WXDLLEXPORT wxDirDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxDirDialog)
+public:
+ wxDirDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultPath = "",
+ long style = 0, const wxPoint& pos = wxDefaultPosition);
+
+ inline void SetMessage(const wxString& message) { m_message = message; }
+ inline void SetPath(const wxString& path) { m_path = path; }
+ inline void SetStyle(long style) { m_dialogStyle = style; }
+
+ inline wxString GetMessage() const { return m_message; }
+ inline wxString GetPath() const { return m_path; }
+ inline long GetStyle() const { return m_dialogStyle; }
+
+ int ShowModal();
+
+protected:
+ wxString m_message;
+ long m_dialogStyle;
+ wxWindow * m_parent;
+ wxString m_path;
+};
+
+#endif
+ // _WX_DIRDLG_H_
diff --git a/include/wx/qt/dnd.h b/include/wx/qt/dnd.h
new file mode 100644
index 0000000000..217561903a
--- /dev/null
+++ b/include/wx/qt/dnd.h
@@ -0,0 +1,239 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: dnd.h
+// Purpose: declaration of the wxDropTarget class
+// Author: Robert Roebling
+// RCS-ID:
+// Copyright: (c) 1998 Vadim Zeitlin, Robert Roebling
+// Licence: wxWindows license
+///////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef __GTKDNDH__
+#define __GTKDNDH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/string.h"
+#include "wx/cursor.h"
+
+//-------------------------------------------------------------------------
+// classes
+//-------------------------------------------------------------------------
+
+class wxWindow;
+
+class wxDataObject;
+class wxTextDataObject;
+class wxFileDataObject;
+
+class wxDropTarget;
+class wxTextDropTarget;
+class wxFileDropTarget;
+
+class wxDropSource;
+
+//-------------------------------------------------------------------------
+// wxDataObject
+//-------------------------------------------------------------------------
+
+class wxDataObject: public wxObject
+{
+public:
+ // all data formats (values are the same as in windows.h, do not change!)
+ enum StdFormat
+ {
+ Invalid,
+ Text,
+ Bitmap,
+ MetafilePict,
+ Sylk,
+ Dif,
+ Tiff,
+ OemText,
+ Dib,
+ Palette,
+ Pendata,
+ Riff,
+ Wave,
+ UnicodeText,
+ EnhMetafile,
+ Hdrop,
+ Locale,
+ Max
+ };
+
+ // function to return symbolic name of clipboard format (debug messages)
+ static const char *GetFormatName(wxDataFormat format);
+
+ // ctor & dtor
+ wxDataObject() {};
+ ~wxDataObject() {};
+
+ // pure virtuals to override
+ // get the best suited format for our data
+ virtual wxDataFormat GetPreferredFormat() const = 0;
+ // decide if we support this format (should be one of values of
+ // StdFormat enumerations or a user-defined format)
+ virtual bool IsSupportedFormat(wxDataFormat format) const = 0;
+ // get the (total) size of data
+ virtual size_t GetDataSize() const = 0;
+ // copy raw data to provided pointer
+ virtual void GetDataHere(void *pBuf) const = 0;
+
+};
+
+// ----------------------------------------------------------------------------
+// wxTextDataObject is a specialization of wxDataObject for text data
+// ----------------------------------------------------------------------------
+
+class wxTextDataObject : public wxDataObject
+{
+public:
+ // ctors
+ wxTextDataObject() { }
+ wxTextDataObject(const wxString& strText) : m_strText(strText) { }
+ void Init(const wxString& strText) { m_strText = strText; }
+
+ // implement base class pure virtuals
+ virtual wxDataFormat GetPreferredFormat() const
+ { return wxDF_TEXT; }
+ virtual bool IsSupportedFormat(wxDataFormat format) const
+ { return format == wxDF_TEXT; }
+ virtual size_t GetDataSize() const
+ { return m_strText.Len() + 1; } // +1 for trailing '\0'of course
+ virtual void GetDataHere(void *pBuf) const
+ { memcpy(pBuf, m_strText.c_str(), GetDataSize()); }
+
+private:
+ wxString m_strText;
+
+};
+
+// ----------------------------------------------------------------------------
+// wxFileDataObject is a specialization of wxDataObject for file names
+// ----------------------------------------------------------------------------
+
+class wxFileDataObject : public wxDataObject
+{
+public:
+
+ wxFileDataObject(void) { }
+ void AddFile( const wxString &file )
+ { m_files += file; m_files += ";"; }
+
+ // implement base class pure virtuals
+ virtual wxDataFormat GetPreferredFormat() const
+ { return wxDF_FILENAME; }
+ virtual bool IsSupportedFormat(wxDataFormat format) const
+ { return format == wxDF_FILENAME; }
+ virtual size_t GetDataSize() const
+ { return m_files.Len() + 1; } // +1 for trailing '\0'of course
+ virtual void GetDataHere(void *pBuf) const
+ { memcpy(pBuf, m_files.c_str(), GetDataSize()); }
+
+private:
+ wxString m_files;
+
+};
+//-------------------------------------------------------------------------
+// wxDropTarget
+//-------------------------------------------------------------------------
+
+class wxDropTarget: public wxObject
+{
+ public:
+
+ wxDropTarget();
+ ~wxDropTarget();
+
+ virtual void OnEnter() { }
+ virtual void OnLeave() { }
+ virtual bool OnDrop( long x, long y, const void *pData ) = 0;
+
+// protected:
+
+ friend wxWindow;
+
+ // Override these to indicate what kind of data you support:
+
+ virtual size_t GetFormatCount() const = 0;
+ virtual wxDataFormat GetFormat(size_t n) const = 0;
+};
+
+//-------------------------------------------------------------------------
+// wxTextDropTarget
+//-------------------------------------------------------------------------
+
+class wxTextDropTarget: public wxDropTarget
+{
+ public:
+
+ wxTextDropTarget() {};
+ virtual bool OnDrop( long x, long y, const void *pData );
+ virtual bool OnDropText( long x, long y, const char *psz );
+
+ protected:
+
+ virtual size_t GetFormatCount() const;
+ virtual wxDataFormat GetFormat(size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// A drop target which accepts files (dragged from File Manager or Explorer)
+// ----------------------------------------------------------------------------
+
+class wxFileDropTarget: public wxDropTarget
+{
+ public:
+
+ wxFileDropTarget() {};
+
+ virtual bool OnDrop(long x, long y, const void *pData);
+ virtual bool OnDropFiles( long x, long y,
+ size_t nFiles, const char * const aszFiles[]);
+
+ protected:
+
+ virtual size_t GetFormatCount() const;
+ virtual wxDataFormat GetFormat(size_t n) const;
+};
+
+//-------------------------------------------------------------------------
+// wxDropSource
+//-------------------------------------------------------------------------
+
+class wxDropSource: public wxObject
+{
+ public:
+
+ enum DragResult
+ {
+ Error, // error prevented the d&d operation from completing
+ None, // drag target didn't accept the data
+ Copy, // the data was successfully copied
+ Move, // the data was successfully moved
+ Cancel // the operation was cancelled by user (not an error)
+ };
+
+ wxDropSource( wxWindow *win );
+ wxDropSource( wxDataObject &data, wxWindow *win );
+
+ ~wxDropSource(void);
+
+ void SetData( wxDataObject &data );
+ DragResult DoDragDrop( bool bAllowMove = FALSE );
+
+ virtual bool GiveFeedback( DragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
+
+ protected:
+
+ wxDataObject *m_data;
+};
+
+#endif
+ //__GTKDNDH__
+
diff --git a/include/wx/qt/filedlg.h b/include/wx/qt/filedlg.h
new file mode 100644
index 0000000000..1abeed4d68
--- /dev/null
+++ b/include/wx/qt/filedlg.h
@@ -0,0 +1,71 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: filedlg.h
+// Purpose: wxFileDialog class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FILEDLG_H_
+#define _WX_FILEDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "filedlg.h"
+#endif
+
+#include "wx/dialog.h"
+
+/*
+ * File selector
+ */
+
+WXDLLEXPORT_DATA(extern const char*) wxFileSelectorPromptStr;
+WXDLLEXPORT_DATA(extern const char*) wxFileSelectorDefaultWildcardStr;
+
+class WXDLLEXPORT wxFileDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxFileDialog)
+protected:
+ wxString m_message;
+ long m_dialogStyle;
+ wxWindow * m_parent;
+ wxString m_dir;
+ wxString m_path; // Full path
+ wxString m_fileName;
+ wxString m_wildCard;
+ int m_filterIndex;
+public:
+ wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultDir = "", const wxString& defaultFile = "", const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
+ long style = 0, const wxPoint& pos = wxDefaultPosition);
+
+ inline void SetMessage(const wxString& message) { m_message = message; }
+ inline void SetPath(const wxString& path) { m_path = path; }
+ inline void SetDirectory(const wxString& dir) { m_dir = dir; }
+ inline void SetFilename(const wxString& name) { m_fileName = name; }
+ inline void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; }
+ inline void SetStyle(long style) { m_dialogStyle = style; }
+ inline void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; }
+
+ inline wxString GetMessage() const { return m_message; }
+ inline wxString GetPath() const { return m_path; }
+ inline wxString GetDirectory() const { return m_dir; }
+ inline wxString GetFilename() const { return m_fileName; }
+ inline wxString GetWildcard() const { return m_wildCard; }
+ inline long GetStyle() const { return m_dialogStyle; }
+ inline int GetFilterIndex() const { return m_filterIndex ; }
+
+ int ShowModal();
+};
+
+#define wxOPEN 0x0001
+#define wxSAVE 0x0002
+#define wxOVERWRITE_PROMPT 0x0004
+#define wxHIDE_READONLY 0x0008
+#define wxFILE_MUST_EXIST 0x0010
+
+#endif
+ // _WX_FILEDLG_H_
diff --git a/include/wx/qt/font.h b/include/wx/qt/font.h
new file mode 100644
index 0000000000..2079f2d0f0
--- /dev/null
+++ b/include/wx/qt/font.h
@@ -0,0 +1,88 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: font.h
+// Purpose: wxFont class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FONT_H_
+#define _WX_FONT_H_
+
+#ifdef __GNUG__
+#pragma interface "font.h"
+#endif
+
+#include "wx/gdiobj.h"
+
+class WXDLLEXPORT wxFont;
+
+class WXDLLEXPORT wxFontRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxFont;
+public:
+ wxFontRefData();
+ ~wxFontRefData();
+protected:
+ int m_pointSize;
+ int m_family;
+ int m_style;
+ int m_weight;
+ bool m_underlined;
+ wxString m_faceName;
+/* TODO: implementation
+ WXHFONT m_hFont;
+*/
+};
+
+#define M_FONTDATA ((wxFontRefData *)m_refData)
+
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// Font
+class WXDLLEXPORT wxFont: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxFont)
+public:
+ wxFont();
+ wxFont(int pointSize, int family, int style, int weight, bool underlined = FALSE, const wxString& faceName = wxEmptyString);
+ inline wxFont(const wxFont& font) { Ref(font); }
+ inline wxFont(const wxFont* font) { if (font) Ref(*font); }
+
+ ~wxFont();
+
+ bool Create(int pointSize, int family, int style, int weight, bool underlined = FALSE, const wxString& faceName = wxEmptyString);
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ inline int GetPointSize() const { return M_FONTDATA->m_pointSize; }
+ inline int GetFamily() const { return M_FONTDATA->m_family; }
+ inline int GetStyle() const { return M_FONTDATA->m_style; }
+ inline int GetWeight() const { return M_FONTDATA->m_weight; }
+ wxString GetFamilyString() const ;
+ wxString GetFaceName() const ;
+ wxString GetStyleString() const ;
+ wxString GetWeightString() const ;
+ inline bool GetUnderlined() const { return M_FONTDATA->m_underlined; }
+
+ void SetPointSize(int pointSize);
+ void SetFamily(int family);
+ void SetStyle(int style);
+ void SetWeight(int weight);
+ void SetFaceName(const wxString& faceName);
+ void SetUnderlined(bool underlined);
+
+ inline wxFont& operator = (const wxFont& font) { if (*this == font) return (*this); Ref(font); return *this; }
+ inline bool operator == (const wxFont& font) { return m_refData == font.m_refData; }
+ inline bool operator != (const wxFont& font) { return m_refData != font.m_refData; }
+
+ // Implementation
+protected:
+ void Unshare();
+};
+
+#endif
+ // _WX_FONT_H_
diff --git a/include/wx/qt/frame.h b/include/wx/qt/frame.h
new file mode 100644
index 0000000000..2e76caab02
--- /dev/null
+++ b/include/wx/qt/frame.h
@@ -0,0 +1,154 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: frame.h
+// Purpose: wxFrame class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FRAME_H_
+#define _WX_FRAME_H_
+
+#ifdef __GNUG__
+#pragma interface "frame.h"
+#endif
+
+#include "wx/window.h"
+#include "wx/toolbar.h"
+#include "wx/accel.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
+
+class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxStatusBar;
+
+class WXDLLEXPORT wxFrame: public wxWindow {
+
+ DECLARE_DYNAMIC_CLASS(wxFrame)
+
+public:
+ wxFrame();
+ inline wxFrame(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxFrame();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr);
+
+ virtual bool Destroy();
+ void SetClientSize(int width, int height);
+ void GetClientSize(int *width, int *height) const;
+
+ void GetSize(int *width, int *height) const ;
+ void GetPosition(int *x, int *y) const ;
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ void OnSize(wxSizeEvent& event);
+ void OnMenuHighlight(wxMenuEvent& event);
+ void OnActivate(wxActivateEvent& event);
+ void OnIdle(wxIdleEvent& event);
+ void OnCloseWindow(wxCloseEvent& event);
+
+ bool Show(bool show);
+
+ // Set menu bar
+ void SetMenuBar(wxMenuBar *menu_bar);
+ virtual wxMenuBar *GetMenuBar() const ;
+
+ // Set title
+ void SetTitle(const wxString& title);
+ wxString GetTitle() const ;
+
+ void Centre(int direction = wxBOTH);
+
+ // Call this to simulate a menu command
+ virtual void Command(int id);
+ virtual void ProcessCommand(int id);
+
+ // Set icon
+ virtual void SetIcon(const wxIcon& icon);
+
+ // Create status line
+ virtual wxStatusBar* CreateStatusBar(int number=1, long style = wxST_SIZEGRIP, wxWindowID id = 0,
+ const wxString& name = "statusBar");
+ inline wxStatusBar *GetStatusBar() const { return m_frameStatusBar; }
+ virtual void PositionStatusBar();
+ virtual wxStatusBar *OnCreateStatusBar(int number, long style, wxWindowID id,
+ const wxString& name);
+
+ // Create toolbar
+ virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1, const wxString& name = wxToolBarNameStr);
+ virtual wxToolBar *OnCreateToolBar(long style, wxWindowID id, const wxString& name);
+ // If made known to the frame, the frame will manage it automatically.
+ virtual inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
+ virtual inline wxToolBar *GetToolBar() const { return m_frameToolBar; }
+ virtual void PositionToolBar();
+
+ // Set status line text
+ virtual void SetStatusText(const wxString& text, int number = 0);
+
+ // Set status line widths
+ virtual void SetStatusWidths(int n, const int widths_field[]);
+
+ // Hint to tell framework which status bar to use
+ // TODO: should this go into a wxFrameworkSettings class perhaps?
+ static void UseNativeStatusBar(bool useNative) { m_useNativeStatusBar = useNative; };
+ static bool UsesNativeStatusBar() { return m_useNativeStatusBar; };
+
+ // Fit frame around subwindows
+ virtual void Fit();
+
+ // Iconize
+ virtual void Iconize(bool iconize);
+
+ virtual bool IsIconized() const ;
+
+ // Compatibility
+ inline bool Iconized() const { return IsIconized(); }
+
+ virtual void Maximize(bool maximize);
+
+ virtual void SetAcceleratorTable(const wxAcceleratorTable& accel);
+
+ // Responds to colour changes
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+ // Query app for menu item updates (called from OnIdle)
+ void DoMenuUpdates();
+ void DoMenuUpdates(wxMenu* menu);
+
+ // Checks if there is a toolbar, and returns the first free client position
+ virtual wxPoint GetClientAreaOrigin() const;
+
+protected:
+ wxMenuBar * m_frameMenuBar;
+ wxStatusBar * m_frameStatusBar;
+ wxIcon m_icon;
+ bool m_iconized;
+ static bool m_useNativeStatusBar;
+ wxToolBar * m_frameToolBar ;
+ wxAcceleratorTable m_acceleratorTable;
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_FRAME_H_
diff --git a/include/wx/qt/gauge.h b/include/wx/qt/gauge.h
new file mode 100644
index 0000000000..ce19d9ef1f
--- /dev/null
+++ b/include/wx/qt/gauge.h
@@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gauge.h
+// Purpose: wxGauge class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GAUGE_H_
+#define _WX_GAUGE_H_
+
+#ifdef __GNUG__
+#pragma interface "gauge.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxGaugeNameStr;
+
+// Group box
+class WXDLLEXPORT wxGauge: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxGauge)
+ public:
+ inline wxGauge() { m_rangeMax = 0; m_gaugePos = 0; }
+
+ inline wxGauge(wxWindow *parent, wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr)
+ {
+ Create(parent, id, range, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr);
+
+ void SetShadowWidth(int w);
+ void SetBezelFace(int w);
+ void SetRange(int r);
+ void SetValue(int pos);
+
+ int GetShadowWidth() const ;
+ int GetBezelFace() const ;
+ int GetRange() const ;
+ int GetValue() const ;
+
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {} ;
+
+ protected:
+ int m_rangeMax;
+ int m_gaugePos;
+};
+
+#endif
+ // _WX_GAUGE_H_
diff --git a/include/wx/qt/gdiobj.h b/include/wx/qt/gdiobj.h
new file mode 100644
index 0000000000..9263d4d6ad
--- /dev/null
+++ b/include/wx/qt/gdiobj.h
@@ -0,0 +1,48 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gdiobj.h
+// Purpose: wxGDIObject class: base class for other GDI classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GDIOBJ_H_
+#define _WX_GDIOBJ_H_
+
+#include "wx/object.h"
+
+#ifdef __GNUG__
+#pragma interface "gdiobj.h"
+#endif
+
+class WXDLLEXPORT wxGDIRefData: public wxObjectRefData {
+public:
+ inline wxGDIRefData()
+ {
+ }
+};
+
+#define M_GDIDATA ((wxGDIRefData *)m_refData)
+
+class WXDLLEXPORT wxGDIObject: public wxObject
+{
+DECLARE_DYNAMIC_CLASS(wxGDIObject)
+ public:
+ inline wxGDIObject() { m_visible = FALSE; };
+ inline ~wxGDIObject() {};
+
+ inline bool IsNull() const { return (m_refData == 0); }
+
+ virtual bool GetVisible() { return m_visible; }
+ virtual void SetVisible(bool v) { m_visible = v; }
+
+protected:
+ bool m_visible; // Can a pointer to this object be safely taken?
+ // - only if created within FindOrCreate...
+};
+
+#endif
+ // _WX_GDIOBJ_H_
diff --git a/include/wx/qt/icon.h b/include/wx/qt/icon.h
new file mode 100644
index 0000000000..f68c23154b
--- /dev/null
+++ b/include/wx/qt/icon.h
@@ -0,0 +1,107 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: icon.h
+// Purpose: wxIcon class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_ICON_H_
+#define _WX_ICON_H_
+
+#ifdef __GNUG__
+#pragma interface "icon.h"
+#endif
+
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxIconRefData: public wxBitmapRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxIcon;
+public:
+ wxIconRefData();
+ ~wxIconRefData();
+
+public:
+/* TODO: whatever your actual icon handle is
+ WXHICON m_hIcon;
+*/
+};
+
+#define M_ICONDATA ((wxIconRefData *)m_refData)
+#define M_ICONHANDLERDATA ((wxIconRefData *)bitmap->GetRefData())
+
+// Icon
+class WXDLLEXPORT wxIcon: public wxBitmap
+{
+ DECLARE_DYNAMIC_CLASS(wxIcon)
+
+public:
+ wxIcon();
+
+ // Copy constructors
+ inline wxIcon(const wxIcon& icon) { Ref(icon); }
+ inline wxIcon(const wxIcon* icon) { if (icon) Ref(*icon); }
+
+ wxIcon(const char bits[], int width, int height);
+ wxIcon(const wxString& name, long flags = wxBITMAP_TYPE_ICO_RESOURCE,
+ int desiredWidth = -1, int desiredHeight = -1);
+ ~wxIcon();
+
+ bool LoadFile(const wxString& name, long flags = wxBITMAP_TYPE_ICO_RESOURCE,
+ int desiredWidth = -1, int desiredHeight = -1);
+
+ inline wxIcon& operator = (const wxIcon& icon) { if (*this == icon) return (*this); Ref(icon); return *this; }
+ inline bool operator == (const wxIcon& icon) { return m_refData == icon.m_refData; }
+ inline bool operator != (const wxIcon& icon) { return m_refData != icon.m_refData; }
+
+/* TODO: implementation
+ void SetHICON(WXHICON ico);
+ inline WXHICON GetHICON() const { return (M_ICONDATA ? M_ICONDATA->m_hIcon : 0); }
+*/
+
+/* TODO */
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+};
+
+/* Example handlers. TODO: write your own handlers for relevant types.
+
+class WXDLLEXPORT wxICOFileHandler: public wxBitmapHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxICOFileHandler)
+public:
+ inline wxICOFileHandler()
+ {
+ m_name = "ICO icon file";
+ m_extension = "ico";
+ m_type = wxBITMAP_TYPE_ICO;
+ };
+
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth = -1, int desiredHeight = -1);
+};
+
+class WXDLLEXPORT wxICOResourceHandler: public wxBitmapHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxICOResourceHandler)
+public:
+ inline wxICOResourceHandler()
+ {
+ m_name = "ICO resource";
+ m_extension = "ico";
+ m_type = wxBITMAP_TYPE_ICO_RESOURCE;
+ };
+
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth = -1, int desiredHeight = -1);
+
+};
+
+*/
+
+#endif
+ // _WX_ICON_H_
diff --git a/include/wx/qt/joystick.h b/include/wx/qt/joystick.h
new file mode 100644
index 0000000000..30324fc035
--- /dev/null
+++ b/include/wx/qt/joystick.h
@@ -0,0 +1,93 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: joystick.h
+// Purpose: wxJoystick class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_JOYSTICK_H_
+#define _WX_JOYSTICK_H_
+
+#ifdef __GNUG__
+#pragma interface "joystick.h"
+#endif
+
+#include "wx/event.h"
+
+class WXDLLEXPORT wxJoystick: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxJoystick)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxJoystick(int joystick = wxJOYSTICK1) { m_joystick = joystick; };
+
+ // Attributes
+ ////////////////////////////////////////////////////////////////////////////
+
+ wxPoint GetPosition() const;
+ int GetZPosition() const;
+ int GetButtonState() const;
+ int GetPOVPosition() const;
+ int GetPOVCTSPosition() const;
+ int GetRudderPosition() const;
+ int GetUPosition() const;
+ int GetVPosition() const;
+ int GetMovementThreshold() const;
+ void SetMovementThreshold(int threshold) ;
+
+ // Capabilities
+ ////////////////////////////////////////////////////////////////////////////
+
+ bool IsOk() const; // Checks that the joystick is functioning
+ int GetNumberJoysticks() const ;
+ int GetManufacturerId() const ;
+ int GetProductId() const ;
+ wxString GetProductName() const ;
+ int GetXMin() const;
+ int GetYMin() const;
+ int GetZMin() const;
+ int GetXMax() const;
+ int GetYMax() const;
+ int GetZMax() const;
+ int GetNumberButtons() const;
+ int GetNumberAxes() const;
+ int GetMaxButtons() const;
+ int GetMaxAxes() const;
+ int GetPollingMin() const;
+ int GetPollingMax() const;
+ int GetRudderMin() const;
+ int GetRudderMax() const;
+ int GetUMin() const;
+ int GetUMax() const;
+ int GetVMin() const;
+ int GetVMax() const;
+
+ bool HasRudder() const;
+ bool HasZ() const;
+ bool HasU() const;
+ bool HasV() const;
+ bool HasPOV() const;
+ bool HasPOV4Dir() const;
+ bool HasPOVCTS() const;
+
+ // Operations
+ ////////////////////////////////////////////////////////////////////////////
+
+ // pollingFreq = 0 means that movement events are sent when above the threshold.
+ // If pollingFreq > 0, events are received every this many milliseconds.
+ bool SetCapture(wxWindow* win, int pollingFreq = 0);
+ bool ReleaseCapture();
+
+protected:
+ int m_joystick;
+};
+
+#endif
+ // _WX_JOYSTICK_H_
diff --git a/include/wx/qt/listbox.h b/include/wx/qt/listbox.h
new file mode 100644
index 0000000000..d95db4379b
--- /dev/null
+++ b/include/wx/qt/listbox.h
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: listbox.h
+// Purpose: wxListBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_LISTBOX_H_
+#define _WX_LISTBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "listbox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxListBoxNameStr;
+
+// forward decl for GetSelections()
+class WXDLLEXPORT wxArrayInt;
+
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// List box item
+class WXDLLEXPORT wxListBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxListBox)
+ public:
+
+ wxListBox();
+ inline wxListBox(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxListBoxNameStr)
+ {
+ Create(parent, id, pos, size, n, choices, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxListBoxNameStr);
+
+ ~wxListBox();
+
+ virtual void Append(const wxString& item);
+ virtual void Append(const wxString& item, char *clientData);
+ virtual void Set(int n, const wxString* choices, char **clientData = NULL);
+ virtual int FindString(const wxString& s) const ;
+ virtual void Clear();
+ virtual void SetSelection(int n, bool select = TRUE);
+
+ virtual void Deselect(int n);
+
+ // For single choice list item only
+ virtual int GetSelection() const ;
+ virtual void Delete(int n);
+ virtual char *GetClientData(int n) const ;
+ virtual void SetClientData(int n, char *clientData);
+ virtual void SetString(int n, const wxString& s);
+
+ // For single or multiple choice list item
+ virtual int GetSelections(wxArrayInt& aSelections) const;
+ virtual bool Selected(int n) const ;
+ virtual wxString GetString(int n) const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ // Set the specified item at the first visible item
+ // or scroll to max range.
+ virtual void SetFirstItem(int n) ;
+ virtual void SetFirstItem(const wxString& s) ;
+
+ virtual void InsertItems(int nItems, const wxString items[], int pos);
+
+ virtual wxString GetStringSelection() const ;
+ virtual bool SetStringSelection(const wxString& s, bool flag = TRUE);
+ virtual int Number() const ;
+
+ void Command(wxCommandEvent& event);
+
+ protected:
+ int m_noItems;
+ int m_selected;
+};
+
+#endif
+ // _WX_LISTBOX_H_
diff --git a/include/wx/qt/mdi.h b/include/wx/qt/mdi.h
new file mode 100644
index 0000000000..1daec94008
--- /dev/null
+++ b/include/wx/qt/mdi.h
@@ -0,0 +1,160 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: mdi.h
+// Purpose: MDI (Multiple Document Interface) classes.
+// This doesn't have to be implemented just like Windows,
+// it could be a tabbed design as in wxGTK.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MDI_H_
+#define _WX_MDI_H_
+
+#ifdef __GNUG__
+#pragma interface "mdi.h"
+#endif
+
+#include "wx/frame.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxStatusLineNameStr;
+
+class WXDLLEXPORT wxMDIClientWindow;
+class WXDLLEXPORT wxMDIChildFrame;
+
+class WXDLLEXPORT wxMDIParentFrame: public wxFrame
+{
+DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
+
+ friend class WXDLLEXPORT wxMDIChildFrame;
+public:
+
+ wxMDIParentFrame();
+ inline wxMDIParentFrame(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, // Scrolling refers to client window
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxMDIParentFrame();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
+ const wxString& name = wxFrameNameStr);
+
+ void OnSize(wxSizeEvent& event);
+ void OnActivate(wxActivateEvent& event);
+
+ void SetMenuBar(wxMenuBar *menu_bar);
+
+ // Gets the size available for subwindows after menu size, toolbar size
+ // and status bar size have been subtracted. If you want to manage your own
+ // toolbar(s), don't call SetToolBar.
+ void GetClientSize(int *width, int *height) const;
+
+ // Get the active MDI child window (Windows only)
+ wxMDIChildFrame *GetActiveChild() const ;
+
+ // Get the client window
+ inline wxMDIClientWindow *GetClientWindow() const { return m_clientWindow; };
+
+ // Create the client window class (don't Create the window,
+ // just return a new class)
+ virtual wxMDIClientWindow *OnCreateClient() ;
+
+ // MDI operations
+ virtual void Cascade();
+ virtual void Tile();
+ virtual void ArrangeIcons();
+ virtual void ActivateNext();
+ virtual void ActivatePrevious();
+
+protected:
+
+DECLARE_EVENT_TABLE()
+};
+
+class WXDLLEXPORT wxMDIChildFrame: public wxFrame
+{
+DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)
+public:
+
+ wxMDIChildFrame();
+ inline wxMDIChildFrame(wxMDIParentFrame *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxMDIChildFrame();
+
+ bool Create(wxMDIParentFrame *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr);
+
+ // Set menu bar
+ void SetMenuBar(wxMenuBar *menu_bar);
+ void SetClientSize(int width, int height);
+ void GetPosition(int *x, int *y) const ;
+
+ // MDI operations
+ virtual void Maximize();
+ virtual void Restore();
+ virtual void Activate();
+};
+
+/* The client window is a child of the parent MDI frame, and itself
+ * contains the child MDI frames.
+ * However, you create the MDI children as children of the MDI parent:
+ * only in the implementation does the client window become the parent
+ * of the children. Phew! So the children are sort of 'adopted'...
+ */
+
+class WXDLLEXPORT wxMDIClientWindow: public wxWindow
+{
+ DECLARE_DYNAMIC_CLASS(wxMDIClientWindow)
+ public:
+
+ wxMDIClientWindow() ;
+ inline wxMDIClientWindow(wxMDIParentFrame *parent, long style = 0)
+ {
+ CreateClient(parent, style);
+ }
+
+ ~wxMDIClientWindow();
+
+ // Note: this is virtual, to allow overridden behaviour.
+ virtual bool CreateClient(wxMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL);
+
+ // Explicitly call default scroll behaviour
+ void OnScroll(wxScrollEvent& event);
+
+protected:
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_MDI_H_
diff --git a/include/wx/qt/menu.h b/include/wx/qt/menu.h
new file mode 100644
index 0000000000..1654602141
--- /dev/null
+++ b/include/wx/qt/menu.h
@@ -0,0 +1,157 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: menu.h
+// Purpose: wxMenu, wxMenuBar classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MENU_H_
+#define _WX_MENU_H_
+
+#ifdef __GNUG__
+#pragma interface "menu.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/event.h"
+
+class WXDLLEXPORT wxMenuItem;
+class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxMenu;
+
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// ----------------------------------------------------------------------------
+// Menu
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxMenu: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxMenu)
+
+public:
+ // ctor & dtor
+ wxMenu(const wxString& title = wxEmptyString, const wxFunction func = NULL);
+ ~wxMenu();
+
+ // construct menu
+ // append items to the menu
+ // separator line
+ void AppendSeparator();
+ // normal item
+ void Append(int id, const wxString& Label, const wxString& helpString = wxEmptyString,
+ bool checkable = FALSE);
+ // a submenu
+ void Append(int id, const wxString& Label, wxMenu *SubMenu,
+ const wxString& helpString = wxEmptyString);
+ // the most generic form (create wxMenuItem first and use it's functions)
+ void Append(wxMenuItem *pItem);
+ // insert a break in the menu
+ void Break();
+ // delete an item
+ void Delete(int id);
+
+ // menu item control
+ void Enable(int id, bool Flag);
+ bool Enabled(int id) const;
+ inline bool IsEnabled(int id) const { return Enabled(id); };
+ void Check(int id, bool Flag);
+ bool Checked(int id) const;
+ inline bool IsChecked(int id) const { return IsChecked(id); };
+
+ // item properties
+ // title
+ void SetTitle(const wxString& label);
+ const wxString& GetTitle() const;
+ // label
+ void SetLabel(int id, const wxString& label);
+ wxString GetLabel(int id) const;
+ // help string
+ virtual void SetHelpString(int id, const wxString& helpString);
+ virtual wxString GetHelpString(int id) const ;
+
+ // find item
+ // Finds the item id matching the given string, -1 if not found.
+ virtual int FindItem(const wxString& itemString) const ;
+ // Find wxMenuItem by ID, and item's menu too if itemMenu is !NULL.
+ wxMenuItem *FindItemForId(int itemId, wxMenu **itemMenu = NULL) const;
+
+ void ProcessCommand(wxCommandEvent& event);
+ inline void Callback(const wxFunction func) { m_callback = func; }
+
+ virtual void SetParent(wxEvtHandler *parent) { m_parent = parent; }
+ inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; }
+ inline wxEvtHandler *GetEventHandler() { return m_eventHandler; }
+
+ inline wxList& GetItems() const { return (wxList&) m_menuItems; }
+
+public:
+ wxFunction m_callback;
+
+ int m_noItems;
+ wxString m_title;
+ wxMenuBar * m_menuBar;
+ wxList m_menuItems;
+ wxEvtHandler * m_parent;
+ wxEvtHandler * m_eventHandler;
+};
+
+// ----------------------------------------------------------------------------
+// Menu Bar (a la Windows)
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxFrame;
+class WXDLLEXPORT wxMenuBar: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxMenuBar)
+
+ wxMenuBar();
+ wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ ~wxMenuBar();
+
+ void Append(wxMenu *menu, const wxString& title);
+ // Must only be used AFTER menu has been attached to frame,
+ // otherwise use individual menus to enable/disable items
+ void Enable(int Id, bool Flag);
+ bool Enabled(int Id) const ;
+ inline bool IsEnabled(int Id) const { return Enabled(Id); };
+ void EnableTop(int pos, bool Flag);
+ void Check(int id, bool Flag);
+ bool Checked(int id) const ;
+ inline bool IsChecked(int Id) const { return Checked(Id); };
+ void SetLabel(int id, const wxString& label) ;
+ wxString GetLabel(int id) const ;
+ void SetLabelTop(int pos, const wxString& label) ;
+ wxString GetLabelTop(int pos) const ;
+ virtual void Delete(wxMenu *menu, int index = 0); /* Menu not destroyed */
+ virtual bool OnAppend(wxMenu *menu, const char *title);
+ virtual bool OnDelete(wxMenu *menu, int index);
+
+ virtual void SetHelpString(int Id, const wxString& helpString);
+ virtual wxString GetHelpString(int Id) const ;
+
+ virtual int FindMenuItem(const wxString& menuString, const wxString& itemString) const ;
+
+ // Find wxMenuItem for item ID, and return item's
+ // menu too if itemMenu is non-NULL.
+ wxMenuItem *FindItemForId(int itemId, wxMenu **menuForItem = NULL) const ;
+
+ inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; }
+ inline wxEvtHandler *GetEventHandler() { return m_eventHandler; }
+
+ inline int GetMenuCount() const { return m_menuCount; }
+ inline wxMenu* GetMenu(int i) const { return m_menus[i]; }
+
+ public:
+ wxEvtHandler * m_eventHandler;
+ int m_menuCount;
+ wxMenu ** m_menus;
+ wxString * m_titles;
+ wxFrame * m_menuBarFrame;
+/* TODO: data that represents the actual menubar when created.
+ */
+};
+
+#endif // _WX_MENU_H_
diff --git a/include/wx/qt/notebook.h b/include/wx/qt/notebook.h
new file mode 100644
index 0000000000..b5834ec181
--- /dev/null
+++ b/include/wx/qt/notebook.h
@@ -0,0 +1,202 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: notebook.h
+// Purpose: MSW/GTK compatible notebook (a.k.a. property sheet)
+// Author: AUTHOR
+// Modified by:
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_NOTEBOOK_H_
+#define _WX_NOTEBOOK_H_
+
+#ifdef __GNUG__
+#pragma interface "notebook.h"
+#endif
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+#include
+
+// ----------------------------------------------------------------------------
+// types
+// ----------------------------------------------------------------------------
+
+// fwd declarations
+class WXDLLEXPORT wxImageList;
+class WXDLLEXPORT wxWindow;
+
+// array of notebook pages
+typedef wxWindow wxNotebookPage; // so far, any window can be a page
+WX_DEFINE_ARRAY(wxNotebookPage *, wxArrayPages);
+
+// ----------------------------------------------------------------------------
+// notebook events
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxNotebookEvent : public wxCommandEvent
+{
+public:
+ wxNotebookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
+ int nSel = -1, int nOldSel = -1)
+ : wxCommandEvent(commandType, id) { m_nSel = nSel; m_nOldSel = nOldSel; }
+
+ // accessors
+ int GetSelection() const { return m_nSel; }
+ int GetOldSelection() const { return m_nOldSel; }
+
+private:
+ int m_nSel, // currently selected page
+ m_nOldSel; // previously selected page
+
+ DECLARE_DYNAMIC_CLASS(wxNotebookEvent)
+};
+
+// ----------------------------------------------------------------------------
+// wxNotebook
+// ----------------------------------------------------------------------------
+
+// @@@ this class should really derive from wxTabCtrl, but the interface is not
+// exactly the same, so I can't do it right now and instead we reimplement
+// part of wxTabCtrl here
+class wxNotebook : public wxControl
+{
+public:
+ // ctors
+ // -----
+ // default for dynamic class
+ wxNotebook();
+ // the same arguments as for wxControl (@@@ any special styles?)
+ wxNotebook(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = "notebook");
+ // Create() function
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = "notebook");
+ // dtor
+ ~wxNotebook();
+
+ // accessors
+ // ---------
+ // get number of pages in the dialog
+ int GetPageCount() const;
+
+ // set the currently selected page, return the index of the previously
+ // selected one (or -1 on error)
+ // NB: this function will _not_ generate wxEVT_NOTEBOOK_PAGE_xxx events
+ int SetSelection(int nPage);
+ // cycle thru the tabs
+ void AdvanceSelection(bool bForward = TRUE);
+ // get the currently selected page
+ int GetSelection() const { return m_nSelection; }
+
+ // set/get the title of a page
+ bool SetPageText(int nPage, const wxString& strText);
+ wxString GetPageText(int nPage) const;
+
+ // image list stuff: each page may have an image associated with it. All
+ // the images belong to an image list, so you have to
+ // 1) create an image list
+ // 2) associate it with the notebook
+ // 3) set for each page it's image
+ // associate image list with a control
+ void SetImageList(wxImageList* imageList);
+ // get pointer (may be NULL) to the associated image list
+ wxImageList* GetImageList() const { return m_pImageList; }
+
+ // sets/returns item's image index in the current image list
+ int GetPageImage(int nPage) const;
+ bool SetPageImage(int nPage, int nImage);
+
+ // currently it's always 1 because wxGTK doesn't support multi-row
+ // tab controls
+ int GetRowCount() const;
+
+ // control the appearance of the notebook pages
+ // set the size (the same for all pages)
+ void SetPageSize(const wxSize& size);
+ // set the padding between tabs (in pixels)
+ void SetPadding(const wxSize& padding);
+
+ // operations
+ // ----------
+ // remove one page from the notebook
+ bool DeletePage(int nPage);
+ // remove all pages
+ bool DeleteAllPages();
+ // adds a new page to the notebook (it will be deleted ny the notebook,
+ // don't delete it yourself). If bSelect, this page becomes active.
+ bool AddPage(wxNotebookPage *pPage,
+ const wxString& strText,
+ bool bSelect = FALSE,
+ int imageId = -1);
+ // the same as AddPage(), but adds it at the specified position
+ bool InsertPage(int nPage,
+ wxNotebookPage *pPage,
+ const wxString& strText,
+ bool bSelect = FALSE,
+ int imageId = -1);
+ // get the panel which represents the given page
+ wxNotebookPage *GetPage(int nPage) { return m_aPages[nPage]; }
+
+ // callbacks
+ // ---------
+ void OnSize(wxSizeEvent& event);
+ void OnSelChange(wxNotebookEvent& event);
+ void OnSetFocus(wxFocusEvent& event);
+ void OnNavigationKey(wxNavigationKeyEvent& event);
+
+ // base class virtuals
+ // -------------------
+ virtual void Command(wxCommandEvent& event);
+ virtual void SetConstraintSizes(bool recurse = TRUE);
+ virtual bool DoPhase(int nPhase);
+
+protected:
+ // common part of all ctors
+ void Init();
+
+ // helper functions
+ void ChangePage(int nOldSel, int nSel); // change pages
+
+ wxImageList *m_pImageList; // we can have an associated image list
+ wxArrayPages m_aPages; // array of pages
+
+ int m_nSelection; // the current selection (-1 if none)
+
+ DECLARE_DYNAMIC_CLASS(wxNotebook)
+ DECLARE_EVENT_TABLE()
+};
+
+// ----------------------------------------------------------------------------
+// event macros
+// ----------------------------------------------------------------------------
+typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&);
+
+#define EVT_NOTEBOOK_PAGE_CHANGED(id, fn) \
+ { \
+ wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, \
+ id, \
+ -1, \
+ (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn, \
+ NULL \
+ },
+
+#define EVT_NOTEBOOK_PAGE_CHANGING(id, fn) \
+ { \
+ wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, \ \
+ id, \
+ -1, \
+ (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn, \
+ NULL \
+ },
+
+#endif // _WX_NOTEBOOK_H_
diff --git a/include/wx/qt/palette.h b/include/wx/qt/palette.h
new file mode 100644
index 0000000000..a5c85bb1d0
--- /dev/null
+++ b/include/wx/qt/palette.h
@@ -0,0 +1,66 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: palette.h
+// Purpose: wxPalette class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PALETTE_H_
+#define _WX_PALETTE_H_
+
+#ifdef __GNUG__
+#pragma interface "palette.h"
+#endif
+
+#include "wx/gdiobj.h"
+
+class WXDLLEXPORT wxPalette;
+
+class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxPalette;
+public:
+ wxPaletteRefData();
+ ~wxPaletteRefData();
+/* TODO: implementation
+protected:
+ WXHPALETTE m_hPalette;
+*/
+};
+
+#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
+
+class WXDLLEXPORT wxPalette: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPalette)
+
+public:
+ wxPalette();
+ inline wxPalette(const wxPalette& palette) { Ref(palette); }
+ inline wxPalette(const wxPalette* palette) { UnRef(); if (palette) Ref(*palette); }
+
+ wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ ~wxPalette();
+ bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ int GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const;
+ bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const;
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ inline wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
+ inline bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; }
+ inline bool operator != (const wxPalette& palette) { return m_refData != palette.m_refData; }
+
+ virtual bool FreeResource(bool force = FALSE);
+/* TODO: implementation
+ inline WXHPALETTE GetHPALETTE() const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
+ void SetHPALETTE(WXHPALETTE pal);
+*/
+};
+
+#endif
+ // _WX_PALETTE_H_
diff --git a/include/wx/qt/pen.h b/include/wx/qt/pen.h
new file mode 100644
index 0000000000..8989d44435
--- /dev/null
+++ b/include/wx/qt/pen.h
@@ -0,0 +1,105 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: pen.h
+// Purpose: wxPen class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PEN_H_
+#define _WX_PEN_H_
+
+#ifdef __GNUG__
+#pragma interface "pen.h"
+#endif
+
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+
+typedef WXDWORD wxQTDash;
+
+class WXDLLEXPORT wxPen;
+
+class WXDLLEXPORT wxPenRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxPen;
+public:
+ wxPenRefData();
+ wxPenRefData(const wxPenRefData& data);
+ ~wxPenRefData();
+
+protected:
+ int m_width;
+ int m_style;
+ int m_join ;
+ int m_cap ;
+ wxBitmap m_stipple ;
+ int m_nbDash ;
+ wxQTDash * m_dash;
+ wxColour m_colour;
+/* TODO: implementation
+ WXHPEN m_hPen;
+*/
+};
+
+#define M_PENDATA ((wxPenRefData *)m_refData)
+
+// Pen
+class WXDLLEXPORT wxPen: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPen)
+public:
+ wxPen();
+ wxPen(const wxColour& col, int width, int style);
+ wxPen(const wxString& col, int width, int style);
+ wxPen(const wxBitmap& stipple, int width);
+ inline wxPen(const wxPen& pen) { Ref(pen); }
+ inline wxPen(const wxPen* pen) { if (pen) Ref(*pen); }
+ ~wxPen();
+
+ inline wxPen& operator = (const wxPen& pen) { if (*this == pen) return (*this); Ref(pen); return *this; }
+ inline bool operator == (const wxPen& pen) { return m_refData == pen.m_refData; }
+ inline bool operator != (const wxPen& pen) { return m_refData != pen.m_refData; }
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ // Override in order to recreate the pen
+ void SetColour(const wxColour& col) ;
+ void SetColour(const wxString& col) ;
+ void SetColour(const unsigned char r, const unsigned char g, const unsigned char b) ;
+
+ void SetWidth(int width) ;
+ void SetStyle(int style) ;
+ void SetStipple(const wxBitmap& stipple) ;
+ void SetDashes(int nb_dashes, const wxDash *dash) ;
+ void SetJoin(int join) ;
+ void SetCap(int cap) ;
+
+ inline wxColour& GetColour() const { return (M_PENDATA ? M_PENDATA->m_colour : wxNullColour); };
+ inline int GetWidth() const { return (M_PENDATA ? M_PENDATA->m_width : 0); };
+ inline int GetStyle() const { return (M_PENDATA ? M_PENDATA->m_style : 0); };
+ inline int GetJoin() const { return (M_PENDATA ? M_PENDATA->m_join : 0); };
+ inline int GetCap() const { return (M_PENDATA ? M_PENDATA->m_cap : 0); };
+ inline int GetDashes(wxDash **ptr) const
+ {
+ *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*)NULL);
+ return (M_PENDATA ? M_PENDATA->m_nbDash : 0);
+ }
+
+ inline wxBitmap *GetStipple() const { return (M_PENDATA ? (& M_PENDATA->m_stipple) : NULL); };
+
+// Implementation
+
+ // Useful helper: create the brush resource
+ void RealizeResource();
+
+ // When setting properties, we must make sure we're not changing
+ // another object
+ void Unshare();
+};
+
+#endif
+ // _WX_PEN_H_
diff --git a/include/wx/qt/radiobox.h b/include/wx/qt/radiobox.h
new file mode 100644
index 0000000000..cb7c5ba405
--- /dev/null
+++ b/include/wx/qt/radiobox.h
@@ -0,0 +1,88 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: radiobox.h
+// Purpose: wxRadioBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RADIOBOX_H_
+#define _WX_RADIOBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "radiobox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxRadioBoxNameStr;
+
+// List box item
+class WXDLLEXPORT wxBitmap ;
+
+class WXDLLEXPORT wxRadioBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxRadioBox)
+public:
+ wxRadioBox();
+
+ inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ int majorDim = 0, long style = wxRA_HORIZONTAL,
+ const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
+ {
+ Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
+ }
+
+ ~wxRadioBox();
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ int majorDim = 0, long style = wxRA_HORIZONTAL,
+ const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
+
+ int FindString(const wxString& s) const;
+ void SetSelection(int N);
+ int GetSelection() const;
+ wxString GetString(int N) const;
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void GetSize(int *x, int *y) const;
+ void GetPosition(int *x, int *y) const;
+ wxString GetLabel() const;
+ void SetLabel(const wxString& label);
+ void SetLabel(int item, const wxString& label) ;
+ wxString GetLabel(int item) const;
+ bool Show(bool show);
+ void SetFocus();
+ void Enable(bool enable);
+ void Enable(int item, bool enable);
+ void Show(int item, bool show) ;
+ inline void SetLabelFont(const wxFont& WXUNUSED(font)) {};
+ inline void SetButtonFont(const wxFont& font) { SetFont(font); }
+
+ virtual wxString GetStringSelection() const;
+ virtual bool SetStringSelection(const wxString& s);
+ inline virtual int Number() const { return m_noItems; } ;
+ void Command(wxCommandEvent& event);
+
+ inline int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
+ inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
+
+protected:
+/* TODO: implementation
+ WXHWND * m_radioButtons;
+*/
+ int m_majorDim ;
+ int m_noItems;
+ int m_noRowsOrCols;
+ int m_selectedButton;
+
+};
+
+#endif
+ // _WX_RADIOBOX_H_
diff --git a/include/wx/qt/radiobut.h b/include/wx/qt/radiobut.h
new file mode 100644
index 0000000000..7a4ce62d50
--- /dev/null
+++ b/include/wx/qt/radiobut.h
@@ -0,0 +1,92 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: radiobut.h
+// Purpose: wxRadioButton class
+// Author: AUTHOR
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RADIOBUT_H_
+#define _WX_RADIOBUT_H_
+
+#ifdef __GNUG__
+#pragma interface "radiobut.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxRadioButtonNameStr;
+
+class WXDLLEXPORT wxRadioButton: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxRadioButton)
+ protected:
+ public:
+ inline wxRadioButton() {}
+ inline wxRadioButton(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxRadioButtonNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxRadioButtonNameStr);
+
+ virtual void SetLabel(const wxString& label);
+ virtual void SetValue(bool val);
+ virtual bool GetValue() const ;
+
+ void Command(wxCommandEvent& event);
+ virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
+ WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
+};
+
+// Not implemented
+#if 0
+class WXDLLEXPORT wxBitmap ;
+
+WXDLLEXPORT_DATA(extern const char*) wxBitmapRadioButtonNameStr;
+
+class WXDLLEXPORT wxBitmapRadioButton: public wxRadioButton
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapRadioButton)
+ protected:
+ wxBitmap *theButtonBitmap;
+ public:
+ inline wxBitmapRadioButton() { theButtonBitmap = NULL; }
+ inline wxBitmapRadioButton(wxWindow *parent, wxWindowID id,
+ const wxBitmap *label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxBitmapRadioButtonNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxBitmap *label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxBitmapRadioButtonNameStr);
+
+ virtual void SetLabel(const wxBitmap *label);
+ virtual void SetValue(bool val) ;
+ virtual bool GetValue() const ;
+};
+#endif
+
+#endif
+ // _WX_RADIOBUT_H_
diff --git a/include/wx/qt/region.h b/include/wx/qt/region.h
new file mode 100644
index 0000000000..02bf97845f
--- /dev/null
+++ b/include/wx/qt/region.h
@@ -0,0 +1,140 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: region.h
+// Purpose: wxRegion class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_REGION_H_
+#define _WX_REGION_H_
+
+#ifdef __GNUG__
+#pragma interface "region.h"
+#endif
+
+#include "wx/list.h"
+#include "wx/gdiobj.h"
+
+class WXDLLEXPORT wxRect;
+class WXDLLEXPORT wxPoint;
+
+enum wxRegionContain {
+ wxOutRegion = 0, wxPartRegion = 1, wxInRegion = 2
+};
+
+// So far, for internal use only
+enum wxRegionOp {
+wxRGN_AND, // Creates the intersection of the two combined regions.
+wxRGN_COPY, // Creates a copy of the region identified by hrgnSrc1.
+wxRGN_DIFF, // Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.
+wxRGN_OR, // Creates the union of two combined regions.
+wxRGN_XOR // Creates the union of two combined regions except for any overlapping areas.
+};
+
+class WXDLLEXPORT wxRegion : public wxGDIObject {
+DECLARE_DYNAMIC_CLASS(wxRegion);
+ friend class WXDLLEXPORT wxRegionIterator;
+public:
+ wxRegion(long x, long y, long w, long h);
+ wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
+ wxRegion(const wxRect& rect);
+
+/* TODO: implementation
+ wxRegion(WXHRGN hRegion); // Hangs on to this region
+*/
+
+ wxRegion();
+ ~wxRegion();
+
+ //# Copying
+ inline wxRegion(const wxRegion& r)
+ { Ref(r); }
+ inline wxRegion& operator = (const wxRegion& r)
+ { Ref(r); return (*this); }
+
+ //# Modify region
+ // Clear current region
+ void Clear();
+
+ // Union rectangle or region with this.
+ inline bool Union(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_OR); }
+ inline bool Union(const wxRect& rect) { return Combine(rect, wxRGN_OR); }
+ inline bool Union(const wxRegion& region) { return Combine(region, wxRGN_OR); }
+
+ // Intersect rectangle or region with this.
+ inline bool Intersect(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_AND); }
+ inline bool Intersect(const wxRect& rect) { return Combine(rect, wxRGN_AND); }
+ inline bool Intersect(const wxRegion& region) { return Combine(region, wxRGN_AND); }
+
+ // Subtract rectangle or region from this:
+ // Combines the parts of 'this' that are not part of the second region.
+ inline bool Subtract(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_DIFF); }
+ inline bool Subtract(const wxRect& rect) { return Combine(rect, wxRGN_DIFF); }
+ inline bool Subtract(const wxRegion& region) { return Combine(region, wxRGN_DIFF); }
+
+ // XOR: the union of two combined regions except for any overlapping areas.
+ inline bool Xor(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_XOR); }
+ inline bool Xor(const wxRect& rect) { return Combine(rect, wxRGN_XOR); }
+ inline bool Xor(const wxRegion& region) { return Combine(region, wxRGN_XOR); }
+
+ //# Information on region
+ // Outer bounds of region
+ void GetBox(long& x, long& y, long&w, long &h) const;
+ wxRect GetBox() const ;
+
+ // Is region empty?
+ bool Empty() const;
+ inline bool IsEmpty() const { return Empty(); }
+
+ //# Tests
+ // Does the region contain the point (x,y)?
+ wxRegionContain Contains(long x, long y) const;
+ // Does the region contain the point pt?
+ wxRegionContain Contains(const wxPoint& pt) const;
+ // Does the region contain the rectangle (x, y, w, h)?
+ wxRegionContain Contains(long x, long y, long w, long h) const;
+ // Does the region contain the rectangle rect?
+ wxRegionContain Contains(const wxRect& rect) const;
+
+// Internal
+ bool Combine(long x, long y, long width, long height, wxRegionOp op);
+ bool Combine(const wxRegion& region, wxRegionOp op);
+ bool Combine(const wxRect& rect, wxRegionOp op);
+};
+
+class WXDLLEXPORT wxRegionIterator : public wxObject {
+DECLARE_DYNAMIC_CLASS(wxRegionIterator);
+public:
+ wxRegionIterator();
+ wxRegionIterator(const wxRegion& region);
+ ~wxRegionIterator();
+
+ void Reset() { m_current = 0; }
+ void Reset(const wxRegion& region);
+
+ operator bool () const { return m_current < m_numRects; }
+ bool HaveRects() const { return m_current < m_numRects; }
+
+ void operator ++ ();
+ void operator ++ (int);
+
+ long GetX() const;
+ long GetY() const;
+ long GetW() const;
+ long GetWidth() const { return GetW(); }
+ long GetH() const;
+ long GetHeight() const { return GetH(); }
+
+private:
+ long m_current;
+ long m_numRects;
+ wxRegion m_region;
+ wxRect* m_rects;
+};
+
+#endif
+ // _WX_REGION_H_
diff --git a/include/wx/qt/scrolbar.h b/include/wx/qt/scrolbar.h
new file mode 100644
index 0000000000..eeef6727c5
--- /dev/null
+++ b/include/wx/qt/scrolbar.h
@@ -0,0 +1,68 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: scrollbar.h
+// Purpose: wxScrollBar class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SCROLBAR_H_
+#define _WX_SCROLBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "scrolbar.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxScrollBarNameStr;
+
+// Scrollbar item
+class WXDLLEXPORT wxScrollBar: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxScrollBar)
+
+public:
+ inline wxScrollBar() { m_pageSize = 0; m_viewSize = 0; m_objectSize = 0; }
+ ~wxScrollBar();
+
+ inline wxScrollBar(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSB_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxScrollBarNameStr)
+ {
+ Create(parent, id, pos, size, style, validator, name);
+ }
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSB_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxScrollBarNameStr);
+
+ int GetPosition() const ;
+ inline int GetThumbSize() const { return m_pageSize; }
+ inline int GetPageSize() const { return m_viewSize; }
+ inline int GetRange() const { return m_objectSize; }
+
+ virtual void SetPosition(int viewStart);
+ virtual void SetScrollbar(int position, int thumbSize, int range, int pageSize,
+ bool refresh = TRUE);
+
+ void Command(wxCommandEvent& event);
+
+protected:
+ int m_pageSize;
+ int m_viewSize;
+ int m_objectSize;
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_SCROLBAR_H_
diff --git a/include/wx/qt/settings.h b/include/wx/qt/settings.h
new file mode 100644
index 0000000000..7cd3cbe19e
--- /dev/null
+++ b/include/wx/qt/settings.h
@@ -0,0 +1,129 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose: wxSystemSettings class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETTINGS_H_
+#define _WX_SETTINGS_H_
+
+#ifdef __GNUG__
+#pragma interface "settings.h"
+#endif
+
+#include "wx/setup.h"
+
+#define wxSYS_WHITE_BRUSH 0
+#define wxSYS_LTGRAY_BRUSH 1
+#define wxSYS_GRAY_BRUSH 2
+#define wxSYS_DKGRAY_BRUSH 3
+#define wxSYS_BLACK_BRUSH 4
+#define wxSYS_NULL_BRUSH 5
+#define wxSYS_HOLLOW_BRUSH wxSYS_NULL_BRUSH
+#define wxSYS_WHITE_PEN 6
+#define wxSYS_BLACK_PEN 7
+#define wxSYS_NULL_PEN 8
+#define wxSYS_OEM_FIXED_FONT 10
+#define wxSYS_ANSI_FIXED_FONT 11
+#define wxSYS_ANSI_VAR_FONT 12
+#define wxSYS_SYSTEM_FONT 13
+#define wxSYS_DEVICE_DEFAULT_FONT 14
+#define wxSYS_DEFAULT_PALETTE 15
+#define wxSYS_SYSTEM_FIXED_FONT 16 // Obsolete
+#define wxSYS_DEFAULT_GUI_FONT 17
+
+#define wxSYS_COLOUR_SCROLLBAR 0
+#define wxSYS_COLOUR_BACKGROUND 1
+#define wxSYS_COLOUR_ACTIVECAPTION 2
+#define wxSYS_COLOUR_INACTIVECAPTION 3
+#define wxSYS_COLOUR_MENU 4
+#define wxSYS_COLOUR_WINDOW 5
+#define wxSYS_COLOUR_WINDOWFRAME 6
+#define wxSYS_COLOUR_MENUTEXT 7
+#define wxSYS_COLOUR_WINDOWTEXT 8
+#define wxSYS_COLOUR_CAPTIONTEXT 9
+#define wxSYS_COLOUR_ACTIVEBORDER 10
+#define wxSYS_COLOUR_INACTIVEBORDER 11
+#define wxSYS_COLOUR_APPWORKSPACE 12
+#define wxSYS_COLOUR_HIGHLIGHT 13
+#define wxSYS_COLOUR_HIGHLIGHTTEXT 14
+#define wxSYS_COLOUR_BTNFACE 15
+#define wxSYS_COLOUR_BTNSHADOW 16
+#define wxSYS_COLOUR_GRAYTEXT 17
+#define wxSYS_COLOUR_BTNTEXT 18
+#define wxSYS_COLOUR_INACTIVECAPTIONTEXT 19
+#define wxSYS_COLOUR_BTNHIGHLIGHT 20
+
+#define wxSYS_COLOUR_3DDKSHADOW 21
+#define wxSYS_COLOUR_3DLIGHT 22
+#define wxSYS_COLOUR_INFOTEXT 23
+#define wxSYS_COLOUR_INFOBK 24
+
+#define wxSYS_COLOUR_DESKTOP wxSYS_COLOUR_BACKGROUND
+#define wxSYS_COLOUR_3DFACE wxSYS_COLOUR_BTNFACE
+#define wxSYS_COLOUR_3DSHADOW wxSYS_COLOUR_BTNSHADOW
+#define wxSYS_COLOUR_3DHIGHLIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+#define wxSYS_COLOUR_3DHILIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+#define wxSYS_COLOUR_BTNHILIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+
+// Metrics
+#define wxSYS_MOUSE_BUTTONS 1
+#define wxSYS_BORDER_X 2
+#define wxSYS_BORDER_Y 3
+#define wxSYS_CURSOR_X 4
+#define wxSYS_CURSOR_Y 5
+#define wxSYS_DCLICK_X 6
+#define wxSYS_DCLICK_Y 7
+#define wxSYS_DRAG_X 8
+#define wxSYS_DRAG_Y 9
+#define wxSYS_EDGE_X 10
+#define wxSYS_EDGE_Y 11
+#define wxSYS_HSCROLL_ARROW_X 12
+#define wxSYS_HSCROLL_ARROW_Y 13
+#define wxSYS_HTHUMB_X 14
+#define wxSYS_ICON_X 15
+#define wxSYS_ICON_Y 16
+#define wxSYS_ICONSPACING_X 17
+#define wxSYS_ICONSPACING_Y 18
+#define wxSYS_WINDOWMIN_X 19
+#define wxSYS_WINDOWMIN_Y 20
+#define wxSYS_SCREEN_X 21
+#define wxSYS_SCREEN_Y 22
+#define wxSYS_FRAMESIZE_X 23
+#define wxSYS_FRAMESIZE_Y 24
+#define wxSYS_SMALLICON_X 25
+#define wxSYS_SMALLICON_Y 26
+#define wxSYS_HSCROLL_Y 27
+#define wxSYS_VSCROLL_X 28
+#define wxSYS_VSCROLL_ARROW_X 29
+#define wxSYS_VSCROLL_ARROW_Y 30
+#define wxSYS_VTHUMB_Y 31
+#define wxSYS_CAPTION_Y 32
+#define wxSYS_MENU_Y 33
+#define wxSYS_NETWORK_PRESENT 34
+#define wxSYS_PENWINDOWS_PRESENT 35
+#define wxSYS_SHOW_SOUNDS 36
+#define wxSYS_SWAP_BUTTONS 37
+
+class WXDLLEXPORT wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // _WX_SETTINGS_H_
diff --git a/include/wx/qt/slider.h b/include/wx/qt/slider.h
new file mode 100644
index 0000000000..239e914e5c
--- /dev/null
+++ b/include/wx/qt/slider.h
@@ -0,0 +1,91 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: slider.h
+// Purpose: wxSlider class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SLIDER_H_
+#define _WX_SLIDER_H_
+
+#ifdef __GNUG__
+#pragma interface "slider.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxSliderNameStr;
+
+// Slider
+class WXDLLEXPORT wxSlider: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxSlider)
+
+public:
+ wxSlider();
+
+ inline wxSlider(wxWindow *parent, wxWindowID id,
+ int value, int minValue, int maxValue,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSL_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxSliderNameStr)
+ {
+ Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
+ }
+
+ ~wxSlider();
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ int value, int minValue, int maxValue,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSL_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxSliderNameStr);
+
+ virtual int GetValue() const ;
+ virtual void SetValue(int);
+ void GetSize(int *x, int *y) const ;
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void GetPosition(int *x, int *y) const ;
+ bool Show(bool show);
+
+ void SetRange(int minValue, int maxValue);
+
+ inline int GetMin() const { return m_rangeMin; }
+ inline int GetMax() const { return m_rangeMax; }
+
+ // For trackbars only
+ void SetTickFreq(int n, int pos);
+ inline int GetTickFreq() const { return m_tickFreq; }
+ void SetPageSize(int pageSize);
+ int GetPageSize() const ;
+ void ClearSel() ;
+ void ClearTicks() ;
+ void SetLineSize(int lineSize);
+ int GetLineSize() const ;
+ int GetSelEnd() const ;
+ int GetSelStart() const ;
+ void SetSelection(int minPos, int maxPos);
+ void SetThumbLength(int len) ;
+ int GetThumbLength() const ;
+ void SetTick(int tickPos) ;
+
+ void Command(wxCommandEvent& event);
+ protected:
+ int m_rangeMin;
+ int m_rangeMax;
+ int m_pageSize;
+ int m_lineSize;
+ int m_tickFreq;
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_SLIDER_H_
diff --git a/include/wx/qt/statbmp.h b/include/wx/qt/statbmp.h
new file mode 100644
index 0000000000..f371fddd2d
--- /dev/null
+++ b/include/wx/qt/statbmp.h
@@ -0,0 +1,64 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: statbmp.h
+// Purpose: wxStaticBitmap class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATBMP_H_
+#define _WX_STATBMP_H_
+
+#ifdef __GNUG__
+#pragma interface "statbmp.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxStaticBitmapNameStr;
+
+class WXDLLEXPORT wxStaticBitmap: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxStaticBitmap)
+ public:
+ inline wxStaticBitmap() { }
+
+ inline wxStaticBitmap(wxWindow *parent, wxWindowID id,
+ const wxBitmap& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBitmapNameStr)
+ {
+ Create(parent, id, label, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxBitmap& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBitmapNameStr);
+
+ virtual void SetBitmap(const wxBitmap& bitmap);
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {};
+ virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {};
+
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_messageBitmap; }
+
+ // overriden base class virtuals
+ virtual bool AcceptsFocus() const { return FALSE; }
+
+ protected:
+ wxBitmap m_messageBitmap;
+
+};
+
+#endif
+ // _WX_STATBMP_H_
diff --git a/include/wx/qt/statbox.h b/include/wx/qt/statbox.h
new file mode 100644
index 0000000000..1aa4a6f88a
--- /dev/null
+++ b/include/wx/qt/statbox.h
@@ -0,0 +1,57 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: statbox.h
+// Purpose: wxStaticBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATBOX_H_
+#define _WX_STATBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "statbox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxStaticBoxNameStr;
+
+// Group box
+class WXDLLEXPORT wxStaticBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxStaticBox)
+
+ public:
+ inline wxStaticBox() {}
+ inline wxStaticBox(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBoxNameStr)
+ {
+ Create(parent, id, label, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBoxNameStr);
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {};
+ virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {};
+
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void SetLabel(const wxString& label);
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_STATBOX_H_
diff --git a/include/wx/qt/stattext.h b/include/wx/qt/stattext.h
new file mode 100644
index 0000000000..aa8eaf229e
--- /dev/null
+++ b/include/wx/qt/stattext.h
@@ -0,0 +1,56 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: stattext.h
+// Purpose: wxStaticText class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATTEXT_H_
+#define _WX_STATTEXT_H_
+
+#ifdef __GNUG__
+#pragma interface "stattext.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxStaticTextNameStr;
+
+class WXDLLEXPORT wxStaticText: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxStaticText)
+ public:
+ inline wxStaticText() { }
+
+ inline wxStaticText(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticTextNameStr)
+ {
+ Create(parent, id, label, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticTextNameStr);
+
+ // accessors
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void SetLabel(const wxString&);
+
+ // operations
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {};
+ virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {};
+};
+
+#endif
+ // _WX_STATTEXT_H_
diff --git a/include/wx/qt/tbargtk.h b/include/wx/qt/tbargtk.h
new file mode 100644
index 0000000000..f6a3636927
--- /dev/null
+++ b/include/wx/qt/tbargtk.h
@@ -0,0 +1,139 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: tbargtk.h
+// Purpose: GTK toolbar
+// Author: Robert Roebling
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Robert Roebling
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __TBARGTKH__
+#define __TBARGTKH__
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "wx/defs.h"
+#include "wx/control.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class wxToolBarTool;
+class wxToolBar;
+
+//-----------------------------------------------------------------------------
+// constants
+//-----------------------------------------------------------------------------
+
+#define wxTOOL_STYLE_BUTTON 1
+#define wxTOOL_STYLE_SEPARATOR 2
+
+//-----------------------------------------------------------------------------
+// global data
+//-----------------------------------------------------------------------------
+
+extern const char *wxToolBarNameStr;
+
+//-----------------------------------------------------------------------------
+// wxToolBarTool
+//-----------------------------------------------------------------------------
+
+class wxToolBarTool: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxToolBarTool)
+
+ public:
+
+ wxToolBarTool(void) {};
+ wxToolBarTool( wxToolBar *owner, int theIndex = 0,
+ const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
+ bool toggle = FALSE, wxObject *clientData = NULL,
+ const wxString& shortHelpString = "", const wxString& longHelpString = "");
+ ~wxToolBarTool(void);
+
+ public:
+
+ int m_toolStyle;
+ wxObject *m_clientData;
+ int m_index;
+ bool m_toggleState;
+ bool m_isToggle;
+ bool m_deleteSecondBitmap;
+ bool m_enabled;
+ wxBitmap m_bitmap1;
+ wxBitmap m_bitmap2;
+ bool m_isMenuCommand;
+ wxString m_shortHelpString;
+ wxString m_longHelpString;
+ wxToolBar *m_owner;
+};
+
+//-----------------------------------------------------------------------------
+// wxToolBar
+//-----------------------------------------------------------------------------
+
+class wxToolBar: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxToolBar)
+
+ public:
+
+ wxToolBar(void);
+ wxToolBar( wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = wxToolBarNameStr );
+ ~wxToolBar(void);
+
+ bool Create( wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = wxToolBarNameStr);
+
+ // Only allow toggle if returns TRUE. Call when left button up.
+ virtual bool OnLeftClick(int toolIndex, bool toggleDown);
+
+ // Call when right button down.
+ virtual void OnRightClick(int toolIndex, float x, float y);
+
+ // Called when the mouse cursor enters a tool bitmap.
+ // Argument is -1 if mouse is exiting the toolbar.
+ virtual void OnMouseEnter(int toolIndex);
+
+ // If pushedBitmap is NULL, a reversed version of bitmap is
+ // created and used as the pushed/toggled image.
+ // If toggle is TRUE, the button toggles between the two states.
+ virtual wxToolBarTool *AddTool( int toolIndex, const wxBitmap& bitmap,
+ const wxBitmap& pushedBitmap = wxNullBitmap, bool toggle = FALSE,
+ float xPos = -1, float yPos = -1, wxObject *clientData = NULL,
+ const wxString& helpString1 = "", const wxString& helpString2 = "");
+ virtual void AddSeparator(void);
+ virtual void ClearTools(void);
+
+ virtual void Realize(void);
+
+ virtual void EnableTool(int toolIndex, bool enable);
+ virtual void ToggleTool(int toolIndex, bool toggle); // toggle is TRUE if toggled on
+ virtual wxObject *GetToolClientData(int index) const;
+
+ virtual bool GetToolState(int toolIndex) const;
+ virtual bool GetToolEnabled(int toolIndex) const;
+
+ virtual void SetMargins(int x, int y);
+ void SetMargins(const wxSize& size) { SetMargins(size.x, size.y); };
+ virtual void SetToolPacking(int packing);
+ virtual void SetToolSeparation(int separation);
+
+ public:
+
+ wxList m_tools;
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // __TBARGTKH__
+
diff --git a/include/wx/qt/textctrl.h b/include/wx/qt/textctrl.h
new file mode 100644
index 0000000000..6b323a9fbe
--- /dev/null
+++ b/include/wx/qt/textctrl.h
@@ -0,0 +1,140 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: textctrl.h
+// Purpose: wxTextCtrl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TEXTCTRL_H_
+#define _WX_TEXTCTRL_H_
+
+#ifdef __GNUG__
+#pragma interface "textctrl.h"
+#endif
+
+#include "wx/control.h"
+
+#if wxUSE_IOSTREAMH
+#include
+#else
+#include
+#endif
+
+WXDLLEXPORT_DATA(extern const char*) wxTextCtrlNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// Single-line text item
+class WXDLLEXPORT wxTextCtrl: public wxControl
+
+// TODO Some platforms/compilers don't like inheritance from streambuf.
+
+#if (defined(__BORLANDC__) && !defined(__WIN32__)) || defined(__MWERKS__)
+#define NO_TEXT_WINDOW_STREAM
+#endif
+
+#ifndef NO_TEXT_WINDOW_STREAM
+, public streambuf
+#endif
+
+{
+ DECLARE_DYNAMIC_CLASS(wxTextCtrl)
+
+public:
+ // creation
+ // --------
+ wxTextCtrl();
+ inline wxTextCtrl(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxTextCtrlNameStr)
+#ifndef NO_TEXT_WINDOW_STREAM
+ :streambuf()
+#endif
+ {
+ Create(parent, id, value, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxTextCtrlNameStr);
+
+ // accessors
+ // ---------
+ virtual wxString GetValue() const ;
+ virtual void SetValue(const wxString& value);
+
+ virtual int GetLineLength(long lineNo) const;
+ virtual wxString GetLineText(long lineNo) const;
+ virtual int GetNumberOfLines() const;
+
+ // operations
+ // ----------
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ // Clipboard operations
+ virtual void Copy();
+ virtual void Cut();
+ virtual void Paste();
+
+ virtual void SetInsertionPoint(long pos);
+ virtual void SetInsertionPointEnd();
+ virtual long GetInsertionPoint() const ;
+ virtual long GetLastPosition() const ;
+ virtual void Replace(long from, long to, const wxString& value);
+ virtual void Remove(long from, long to);
+ virtual void SetSelection(long from, long to);
+ virtual void SetEditable(bool editable);
+
+ // streambuf implementation
+#ifndef NO_TEXT_WINDOW_STREAM
+ int overflow(int i);
+ int sync();
+ int underflow();
+#endif
+
+ wxTextCtrl& operator<<(const wxString& s);
+ wxTextCtrl& operator<<(int i);
+ wxTextCtrl& operator<<(long i);
+ wxTextCtrl& operator<<(float f);
+ wxTextCtrl& operator<<(double d);
+ wxTextCtrl& operator<<(const char c);
+
+ virtual bool LoadFile(const wxString& file);
+ virtual bool SaveFile(const wxString& file);
+ virtual void WriteText(const wxString& text);
+ virtual void AppendText(const wxString& text);
+ virtual void DiscardEdits();
+ virtual bool IsModified() const;
+
+ virtual long XYToPosition(long x, long y) const ;
+ virtual void PositionToXY(long pos, long *x, long *y) const ;
+ virtual void ShowPosition(long pos);
+ virtual void Clear();
+
+ // callbacks
+ // ---------
+ void OnDropFiles(wxDropFilesEvent& event);
+ void OnChar(wxKeyEvent& event); // Process 'enter' if required
+ void OnEraseBackground(wxEraseEvent& event);
+
+ // Implementation
+ // --------------
+ virtual void Command(wxCommandEvent& event);
+
+protected:
+ wxString m_fileName;
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_TEXTCTRL_H_
diff --git a/include/wx/qt/timer.h b/include/wx/qt/timer.h
new file mode 100644
index 0000000000..426f431b00
--- /dev/null
+++ b/include/wx/qt/timer.h
@@ -0,0 +1,53 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: timer.h
+// Purpose: wxTimer class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TIMER_H_
+#define _WX_TIMER_H_
+
+#ifdef __GNUG__
+#pragma interface "timer.h"
+#endif
+
+#include "wx/object.h"
+
+class WXDLLEXPORT wxTimer: public wxObject
+{
+public:
+ wxTimer();
+ ~wxTimer();
+
+ virtual bool Start(int milliseconds = -1,
+ bool one_shot = FALSE); // Start timer
+ virtual void Stop(); // Stop timer
+
+ virtual void Notify() = 0; // Override this member
+
+ // Returns the current interval time (0 if stop)
+ int Interval() const { return milli; };
+ bool OneShot() const { return oneShot; }
+
+protected:
+ bool oneShot ;
+ int milli ;
+ int lastMilli ;
+
+ long id;
+
+private:
+ DECLARE_ABSTRACT_CLASS(wxTimer)
+};
+
+/* Note: these are implemented in common/timercmn.cpp, so need to implement them separately.
+ * But you may need to modify timercmn.cpp.
+ */
+
+#endif
+ // _WX_TIMER_H_
diff --git a/include/wx/qt/window.h b/include/wx/qt/window.h
new file mode 100644
index 0000000000..cac783dfc4
--- /dev/null
+++ b/include/wx/qt/window.h
@@ -0,0 +1,547 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: window.h
+// Purpose: wxWindow class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_WINDOW_H_
+#define _WX_WINDOW_H_
+
+#ifdef __GNUG__
+#pragma interface "window.h"
+#endif
+
+#include "wx/gdicmn.h"
+#include "wx/icon.h"
+#include "wx/cursor.h"
+#include "wx/pen.h"
+#include "wx/font.h"
+#include "wx/validate.h"
+#include "wx/event.h"
+#include "wx/string.h"
+#include "wx/list.h"
+#include "wx/region.h"
+
+#define wxKEY_SHIFT 1
+#define wxKEY_CTRL 2
+
+/*
+ * Base class for frame, panel, canvas, panel items, dialog box.
+ *
+ */
+
+/*
+ * Event handler: windows have themselves as their event handlers
+ * by default, but their event handlers could be set to another
+ * object entirely. This separation can reduce the amount of
+ * derivation required, and allow alteration of a window's functionality
+ * (e.g. by a resource editor that temporarily switches event handlers).
+ */
+
+class WXDLLEXPORT wxWindow;
+class WXDLLEXPORT wxEvent;
+class WXDLLEXPORT wxCommandEvent;
+class WXDLLEXPORT wxKeyEvent;
+class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxCursor;
+class WXDLLEXPORT wxColourMap;
+class WXDLLEXPORT wxFont;
+class WXDLLEXPORT wxMenu;
+class WXDLLEXPORT wxRect;
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxSizer;
+class WXDLLEXPORT wxList;
+class WXDLLEXPORT wxLayoutConstraints;
+class WXDLLEXPORT wxMouseEvent;
+class WXDLLEXPORT wxButton;
+class WXDLLEXPORT wxColour;
+class WXDLLEXPORT wxBrush;
+class WXDLLEXPORT wxPen;
+class WXDLLEXPORT wxIcon;
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxValidator;
+
+#if wxUSE_DRAG_AND_DROP
+class WXDLLEXPORT wxDropTarget;
+#endif
+
+#if wxUSE_WX_RESOURCES
+class WXDLLEXPORT wxResourceTable;
+class WXDLLEXPORT wxItemResource;
+#endif
+
+WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
+
+WXDLLEXPORT_DATA(extern const wxSize) wxDefaultSize;
+WXDLLEXPORT_DATA(extern const wxPoint) wxDefaultPosition;
+
+class WXDLLEXPORT wxWindow: public wxEvtHandler
+{
+ DECLARE_ABSTRACT_CLASS(wxWindow)
+
+ friend class wxDC;
+ friend class wxPaintDC;
+
+public:
+ wxWindow();
+ inline wxWindow(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxPanelNameStr)
+ {
+ m_children = new wxList;
+ Create(parent, id, pos, size, style, name);
+ }
+
+ virtual ~wxWindow();
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxPanelNameStr);
+
+ // Fit the window around the items
+ virtual void Fit();
+
+ // Show or hide the window
+ virtual bool Show(bool show);
+
+ // Is the window shown?
+ virtual bool IsShown() const;
+
+ // Raise the window to the top of the Z order
+ virtual void Raise();
+
+ // Lower the window to the bottom of the Z order
+ virtual void Lower();
+
+ // Is the window enabled?
+ virtual bool IsEnabled() const;
+
+ // For compatibility
+ inline bool Enabled() const { return IsEnabled(); }
+
+ // Dialog support: override these and call
+ // base class members to add functionality
+ // that can't be done using validators.
+
+ // Transfer values to controls. If returns FALSE,
+ // it's an application error (pops up a dialog)
+ virtual bool TransferDataToWindow();
+
+ // Transfer values from controls. If returns FALSE,
+ // transfer failed: don't quit
+ virtual bool TransferDataFromWindow();
+
+ // Validate controls. If returns FALSE,
+ // validation failed: don't quit
+ virtual bool Validate();
+
+ // Return code for dialogs
+ inline void SetReturnCode(int retCode);
+ inline int GetReturnCode();
+
+ // Set the cursor
+ virtual void SetCursor(const wxCursor& cursor);
+ inline virtual wxCursor *GetCursor() const { return (wxCursor *)& m_windowCursor; };
+
+ // Get the window with the focus
+ static wxWindow *FindFocus();
+
+ // Get character size
+ virtual int GetCharHeight() const;
+ virtual int GetCharWidth() const;
+
+ // Get overall window size
+ virtual void GetSize(int *width, int *height) const;
+
+ // Get window position, relative to parent (or screen if no parent)
+ virtual void GetPosition(int *x, int *y) const;
+
+ // Get client (application-useable) size
+ virtual void GetClientSize(int *width, int *height) const;
+
+ // Set overall size and position
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ inline virtual void SetSize(int width, int height) { SetSize(-1, -1, width, height, wxSIZE_USE_EXISTING); }
+ inline virtual void Move(int x, int y) { SetSize(x, y, -1, -1, wxSIZE_USE_EXISTING); }
+
+ // Set client size
+ virtual void SetClientSize(int width, int size);
+
+ // Convert client to screen coordinates
+ virtual void ClientToScreen(int *x, int *y) const;
+
+ // Convert screen to client coordinates
+ virtual void ScreenToClient(int *x, int *y) const;
+
+ // Set the focus to this window
+ virtual void SetFocus();
+
+ // Capture/release mouse
+ virtual void CaptureMouse();
+ virtual void ReleaseMouse();
+
+ // Enable or disable the window
+ virtual void Enable(bool enable);
+
+#if wxUSE_DRAG_AND_DROP
+ // Associate a drop target with this window (if the window already had a drop
+ // target, it's deleted!) and return the current drop target (may be NULL).
+ void SetDropTarget(wxDropTarget *pDropTarget);
+ wxDropTarget *GetDropTarget() const { return m_pDropTarget; }
+#endif
+
+ // Accept files for dragging
+ virtual void DragAcceptFiles(bool accept);
+
+ // Update region access
+ virtual wxRegion GetUpdateRegion() const;
+ virtual bool IsExposed(int x, int y, int w, int h) const;
+ virtual bool IsExposed(const wxPoint& pt) const;
+ virtual bool IsExposed(const wxRect& rect) const;
+
+ // Set/get the window title
+ virtual inline void SetTitle(const wxString& WXUNUSED(title)) {};
+ inline virtual wxString GetTitle() const { return wxString(""); };
+ // Most windows have the concept of a label; for frames, this is the
+ // title; for items, this is the label or button text.
+ inline virtual wxString GetLabel() const { return GetTitle(); }
+
+ // Set/get the window name (used for resource setting in X)
+ inline virtual wxString GetName() const;
+ inline virtual void SetName(const wxString& name);
+
+ // Centre the window
+ virtual void Centre(int direction) ;
+ inline void Center(int direction = wxHORIZONTAL) { Centre(direction); }
+
+ // Popup a menu
+ virtual bool PopupMenu(wxMenu *menu, int x, int y);
+
+ // Send the window a refresh event
+ virtual void Refresh(bool eraseBack = TRUE, const wxRect *rect = NULL);
+
+ // New functions that will replace the above.
+ virtual void SetScrollbar(int orient, int pos, int thumbVisible,
+ int range, bool refresh = TRUE);
+
+ virtual void SetScrollPos(int orient, int pos, bool refresh = TRUE);
+ virtual int GetScrollPos(int orient) const;
+ virtual int GetScrollRange(int orient) const;
+ virtual int GetScrollThumb(int orient) const;
+
+ virtual void ScrollWindow(int dx, int dy, const wxRect *rect = NULL);
+
+ // Caret manipulation
+ virtual void CreateCaret(int w, int h);
+ virtual void CreateCaret(const wxBitmap *bitmap);
+ virtual void DestroyCaret();
+ virtual void ShowCaret(bool show);
+ virtual void SetCaretPos(int x, int y);
+ virtual void GetCaretPos(int *x, int *y) const;
+
+ // Tell window how much it can be sized
+ virtual void SetSizeHints(int minW = -1, int minH = -1, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1);
+
+ // Set/get the window's identifier
+ inline int GetId() const;
+ inline void SetId(int id);
+
+ // Make the window modal (all other windows unresponsive)
+ virtual void MakeModal(bool modal);
+
+ // Get the private handle (platform-dependent)
+ inline void *GetHandle() const;
+
+ // Set/get the window's relatives
+ inline wxWindow *GetParent() const;
+ inline void SetParent(wxWindow *p) ;
+ inline wxWindow *GetGrandParent() const;
+ inline wxList *GetChildren() const;
+
+ // Set/get the window's font
+ virtual void SetFont(const wxFont& f);
+ inline virtual wxFont *GetFont() const;
+
+ // Set/get the window's validator
+ void SetValidator(const wxValidator& validator);
+ inline wxValidator *GetValidator() const;
+
+ // Set/get the window's style
+ inline void SetWindowStyleFlag(long flag);
+ inline long GetWindowStyleFlag() const;
+
+ // Set/get event handler
+ inline void SetEventHandler(wxEvtHandler *handler);
+ inline wxEvtHandler *GetEventHandler() const;
+
+ // Push/pop event handler (i.e. allow a chain of event handlers
+ // be searched)
+ void PushEventHandler(wxEvtHandler *handler) ;
+ wxEvtHandler *PopEventHandler(bool deleteHandler = FALSE) ;
+
+ // Close the window by calling OnClose, posting a deletion
+ virtual bool Close(bool force = FALSE);
+
+ // Destroy the window (delayed, if a managed window)
+ virtual bool Destroy() ;
+
+ // Mode for telling default OnSize members to
+ // call Layout(), if not using Sizers, just top-down constraints
+ inline void SetAutoLayout(bool a);
+ inline bool GetAutoLayout() const;
+
+ // Set/get constraints
+ inline wxLayoutConstraints *GetConstraints() const;
+ void SetConstraints(wxLayoutConstraints *c);
+
+ // Set/get window background colour
+ inline virtual void SetBackgroundColour(const wxColour& col);
+ inline virtual wxColour GetBackgroundColour() const;
+
+ // Set/get window foreground colour
+ inline virtual void SetForegroundColour(const wxColour& col);
+ inline virtual wxColour GetForegroundColour() const;
+
+ // Set/get window default background colour (for children to inherit).
+ // NOTE: these may be removed in later revisions.
+ inline virtual void SetDefaultBackgroundColour(const wxColour& col);
+ inline virtual wxColour GetDefaultBackgroundColour(void) const;
+
+ // Set/get window default foreground colour (for children to inherit)
+ inline virtual void SetDefaultForegroundColour(const wxColour& col);
+ inline virtual wxColour GetDefaultForegroundColour(void) const;
+
+ // Get the default button, if there is one
+ inline virtual wxButton *GetDefaultItem() const;
+ inline virtual void SetDefaultItem(wxButton *but);
+
+ // Override to define new behaviour for default action (e.g. double clicking
+ // on a listbox)
+ virtual void OnDefaultAction(wxControl *initiatingItem);
+
+ // Resource loading
+#if wxUSE_WX_RESOURCES
+ virtual bool LoadFromResource(wxWindow *parent, const wxString& resourceName, const wxResourceTable *table = NULL);
+ virtual wxControl *CreateItem(const wxItemResource *childResource, const wxResourceTable *table = NULL);
+#endif
+
+ // Native resource loading
+ virtual bool LoadNativeDialog(wxWindow* parent, wxWindowID& id);
+ virtual bool LoadNativeDialog(wxWindow* parent, const wxString& name);
+ virtual wxWindow* GetWindowChild1(wxWindowID& id);
+ virtual wxWindow* GetWindowChild(wxWindowID& id);
+
+ virtual void GetTextExtent(const wxString& string, int *x, int *y,
+ int *descent = NULL,
+ int *externalLeading = NULL,
+ const wxFont *theFont = NULL, bool use16 = FALSE) const;
+
+ // Is the window retained?
+ inline bool IsRetained() const;
+
+ // Warp the pointer the given position
+ virtual void WarpPointer(int x_pos, int y_pos) ;
+
+ // Clear the window
+ virtual void Clear();
+
+ // Find a window by id or name
+ virtual wxWindow *FindWindow(long id);
+ virtual wxWindow *FindWindow(const wxString& name);
+
+ // Constraint operations
+ bool Layout();
+ void SetSizer(wxSizer *sizer); // Adds sizer child to this window
+ inline wxSizer *GetSizer() const ;
+ inline wxWindow *GetSizerParent() const ;
+ inline void SetSizerParent(wxWindow *win);
+
+ // Do Update UI processing for controls
+ void UpdateWindowUI();
+
+ void OnEraseBackground(wxEraseEvent& event);
+ void OnChar(wxKeyEvent& event);
+ void OnPaint(wxPaintEvent& event);
+ void OnIdle(wxIdleEvent& event);
+
+ // Does this window want to accept keyboard focus?
+ virtual bool AcceptsFocus() const;
+
+public:
+ ////////////////////////////////////////////////////////////////////////
+ //// IMPLEMENTATION
+
+ // For implementation purposes - sometimes decorations make the client area
+ // smaller
+ virtual wxPoint GetClientAreaOrigin() const;
+
+ // Makes an adjustment to the window position (for example, a frame that has
+ // a toolbar that it manages itself).
+ virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
+
+ // Executes the default message
+ virtual long Default();
+
+/* TODO: you may need something like this
+ // Determine whether 3D effects are wanted
+ virtual WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D);
+*/
+
+ virtual void AddChild(wxWindow *child); // Adds reference to the child object
+ virtual void RemoveChild(wxWindow *child); // Removes reference to child
+ // (but doesn't delete the child object)
+ virtual void DestroyChildren(); // Removes and destroys all children
+
+ // Constraint implementation
+ void UnsetConstraints(wxLayoutConstraints *c);
+ inline wxList *GetConstraintsInvolvedIn() const ;
+ // Back-pointer to other windows we're involved with, so if we delete
+ // this window, we must delete any constraints we're involved with.
+ void AddConstraintReference(wxWindow *otherWin);
+ void RemoveConstraintReference(wxWindow *otherWin);
+ void DeleteRelatedConstraints();
+
+ virtual void ResetConstraints();
+ virtual void SetConstraintSizes(bool recurse = TRUE);
+ virtual bool LayoutPhase1(int *noChanges);
+ virtual bool LayoutPhase2(int *noChanges);
+ virtual bool DoPhase(int);
+ // Transforms from sizer coordinate space to actual
+ // parent coordinate space
+ virtual void TransformSizerToActual(int *x, int *y) const ;
+
+ // Set size with transformation to actual coordinates if nec.
+ virtual void SizerSetSize(int x, int y, int w, int h);
+ virtual void SizerMove(int x, int y);
+
+ // Only set/get the size/position of the constraint (if any)
+ virtual void SetSizeConstraint(int x, int y, int w, int h);
+ virtual void MoveConstraint(int x, int y);
+ virtual void GetSizeConstraint(int *w, int *h) const ;
+ virtual void GetClientSizeConstraint(int *w, int *h) const ;
+ virtual void GetPositionConstraint(int *x, int *y) const ;
+
+ wxObject *GetChild(int number) const ;
+
+ inline void SetShowing(bool show);
+ inline bool IsUserEnabled() const;
+ inline bool GetTransparentBackground() const ;
+
+ // Responds to colour changes: passes event on to children.
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+ // Transfers data to any child controls
+ void OnInitDialog(wxInitDialogEvent& event);
+
+ // Sends an OnInitDialog event, which in turns transfers data to
+ // to the window via validators.
+ virtual void InitDialog();
+
+ ////////////////////////////////////////////////////////////////////////
+ //// PROTECTED DATA
+protected:
+ int m_windowId;
+ long m_windowStyle; // Store the window's style
+ wxEvtHandler * m_windowEventHandler; // Usually is 'this'
+ wxLayoutConstraints * m_constraints; // Constraints for this window
+ wxList * m_constraintsInvolvedIn; // List of constraints we're involved in
+ wxSizer * m_windowSizer; // Window's top-level sizer (if any)
+ wxWindow * m_sizerParent; // Window's parent sizer (if any)
+ bool m_autoLayout; // Whether to call Layout() in OnSize
+ wxWindow * m_windowParent; // Each window always knows its parent
+ wxValidator * m_windowValidator;
+ int m_minSizeX;
+ int m_minSizeY;
+ int m_maxSizeX;
+ int m_maxSizeY;
+
+ // Caret data
+ int m_caretWidth;
+ int m_caretHeight;
+ bool m_caretEnabled;
+ bool m_caretShown;
+ wxFont m_windowFont; // Window's font
+ wxCursor m_windowCursor; // Window's cursor
+ wxString m_windowName; // Window name
+
+ wxButton * m_defaultItem;
+
+ wxColour m_backgroundColour ;
+ wxColour m_foregroundColour ;
+ wxColour m_defaultBackgroundColour;
+ wxColour m_defaultForegroundColour;
+
+#if wxUSE_DRAG_AND_DROP
+ wxDropTarget *m_pDropTarget; // the current drop target or NULL
+#endif //USE_DRAG_AND_DROP
+
+public:
+ wxRegion m_updateRegion;
+ wxList * m_children; // Window's children
+ int m_returnCode;
+
+DECLARE_EVENT_TABLE()
+};
+
+////////////////////////////////////////////////////////////////////////
+//// INLINES
+
+inline void *wxWindow::GetHandle() const { return (void *)NULL; }
+inline int wxWindow::GetId() const { return m_windowId; }
+inline void wxWindow::SetId(int id) { m_windowId = id; }
+inline wxWindow *wxWindow::GetParent() const { return m_windowParent; }
+inline void wxWindow::SetParent(wxWindow *p) { m_windowParent = p; }
+inline wxWindow *wxWindow::GetGrandParent() const { return (m_windowParent ? m_windowParent->m_windowParent : NULL); }
+inline wxList *wxWindow::GetChildren() const { return m_children; }
+inline wxFont *wxWindow::GetFont() const { return (wxFont *) & m_windowFont; }
+inline wxString wxWindow::GetName() const { return m_windowName; }
+inline void wxWindow::SetName(const wxString& name) { m_windowName = name; }
+inline long wxWindow::GetWindowStyleFlag() const { return m_windowStyle; }
+inline void wxWindow::SetWindowStyleFlag(long flag) { m_windowStyle = flag; }
+inline void wxWindow::SetDoubleClick(bool flag) { m_doubleClickAllowed = flag; }
+inline bool wxWindow::GetDoubleClick() const { return m_doubleClickAllowed; }
+inline void wxWindow::SetEventHandler(wxEvtHandler *handler) { m_windowEventHandler = handler; }
+inline wxEvtHandler *wxWindow::GetEventHandler() const { return m_windowEventHandler; }
+inline void wxWindow::SetAutoLayout(bool a) { m_autoLayout = a; }
+inline bool wxWindow::GetAutoLayout() const { return m_autoLayout; }
+inline wxLayoutConstraints *wxWindow::GetConstraints() const { return m_constraints; }
+inline void wxWindow::SetBackgroundColour(const wxColour& col) { m_backgroundColour = col; };
+inline wxColour wxWindow::GetBackgroundColour() const { return m_backgroundColour; };
+inline void wxWindow::SetForegroundColour(const wxColour& col) { m_foregroundColour = col; };
+inline wxColour wxWindow::GetForegroundColour() const { return m_foregroundColour; };
+inline void wxWindow::SetDefaultForegroundColour(const wxColour& col) { m_defaultForegroundColour = col; };
+inline wxColour wxWindow::GetDefaultForegroundColour(void) const { return m_defaultForegroundColour; };
+inline void wxWindow::SetDefaultBackgroundColour(const wxColour& col) { m_defaultBackgroundColour = col; };
+inline wxColour wxWindow::GetDefaultBackgroundColour(void) const { return m_defaultBackgroundColour; };
+
+inline wxButton *wxWindow::GetDefaultItem() const { return m_defaultItem; }
+inline void wxWindow::SetDefaultItem(wxButton *but) { m_defaultItem = but; }
+inline bool wxWindow::IsRetained() const { return ((m_windowStyle & wxRETAINED) == wxRETAINED); }
+
+inline void wxWindow::SetShowing(bool show) { m_isShown = show; }
+inline wxList *wxWindow::GetConstraintsInvolvedIn() const { return m_constraintsInvolvedIn; }
+inline wxSizer *wxWindow::GetSizer() const { return m_windowSizer; }
+inline wxWindow *wxWindow::GetSizerParent() const { return m_sizerParent; }
+inline void wxWindow::SetSizerParent(wxWindow *win) { m_sizerParent = win; }
+inline wxValidator *wxWindow::GetValidator() const { return m_windowValidator; }
+inline bool wxWindow::IsUserEnabled() const { return m_winEnabled; }
+inline bool wxWindow::GetTransparentBackground() const { return m_backgroundTransparent; }
+inline void wxWindow::SetReturnCode(int retCode) { m_returnCode = retCode; }
+inline int wxWindow::GetReturnCode() { return m_returnCode; }
+
+// Get the active window.
+wxWindow* WXDLLEXPORT wxGetActiveWindow();
+
+WXDLLEXPORT_DATA(extern wxList) wxTopLevelWindows;
+
+#endif
+ // _WX_WINDOW_H_
diff --git a/include/wx/resource.h b/include/wx/resource.h
new file mode 100644
index 0000000000..34f282c777
--- /dev/null
+++ b/include/wx/resource.h
@@ -0,0 +1,201 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: resource.h
+// Purpose: Resource processing
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RESOURCEH__
+#define _WX_RESOURCEH__
+
+#ifdef __GNUG__
+#pragma interface "resource.h"
+#endif
+
+#include "wx/setup.h"
+
+#if wxUSE_WX_RESOURCES
+
+#include "wx/bitmap.h"
+#include
+
+// A few further types not in wx_types.h
+#define wxRESOURCE_TYPE_SEPARATOR 1000
+#define wxRESOURCE_TYPE_XBM_DATA 1001
+#define wxRESOURCE_TYPE_XPM_DATA 1002
+
+#define RESOURCE_PLATFORM_WINDOWS 1
+#define RESOURCE_PLATFORM_X 2
+#define RESOURCE_PLATFORM_MAC 3
+#define RESOURCE_PLATFORM_ANY 4
+
+// Extended styles: for resource usage only
+
+// Use dialog units instead of pixels
+#define wxRESOURCE_DIALOG_UNITS 0x0001
+// Use default system colour and font
+#define wxRESOURCE_USE_DEFAULTS 0x0002
+// Old-style vertical label
+#define wxRESOURCE_VERTICAL_LABEL 0x0004
+// Old-style horizontal label
+#define wxRESOURCE_HORIZONTAL_LABEL 0x0008
+
+// Macros to help use dialog units
+#define wxDLG_POINT(x, y, parent, useDlgUnits) (useDlgUnits ? parent->ConvertDialogToPixel(wxPoint(x, y)) : wxPoint(x, y))
+#define wxDLG_SIZE(x, y, parent, useDlgUnits) (useDlgUnits ? parent->ConvertDialogToPixel(wxSize(x, y)) : wxSize(x, y))
+
+#ifdef FindResource
+#undef FindResource
+#endif
+
+/*
+ * Internal format for control/panel item
+ */
+
+class WXDLLEXPORT wxItemResource: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxItemResource)
+
+ public:
+
+ wxItemResource();
+ ~wxItemResource();
+
+ inline void SetType(const wxString& type) { m_itemType = type; }
+ inline void SetStyle(long styl) { m_windowStyle = styl; }
+ inline void SetId(int id) { m_windowId = id; }
+ inline void SetBitmap(const wxBitmap& bm) { m_bitmap = bm; }
+ inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_bitmap; }
+ inline void SetFont(const wxFont& font) { m_windowFont = font; }
+ inline wxFont& GetFont() const { return (wxFont&) m_windowFont; }
+ inline void SetSize(int xx, int yy, int ww, int hh)
+ { m_x = xx; m_y = yy; m_width = ww; m_height = hh; }
+ inline void SetTitle(const wxString& title) { m_title = title; }
+ inline void SetName(const wxString& name) { m_name = name; }
+ inline void SetValue1(long v) { m_value1 = v; }
+ inline void SetValue2(long v) { m_value2 = v; }
+ inline void SetValue3(long v) { m_value3 = v; }
+ inline void SetValue5(long v) { m_value5 = v; }
+ inline void SetValue4(const wxString& v) { m_value4 = v; }
+ inline void SetStringValues(const wxStringList& svalues) { m_stringValues = svalues; }
+
+ inline const wxString& GetType() const { return m_itemType; }
+ inline int GetX() const { return m_x; }
+ inline int GetY() const { return m_y; }
+ inline int GetWidth() const { return m_width; }
+ inline int GetHeight() const { return m_height; }
+
+ inline const wxString& GetTitle() const { return m_title; }
+ inline const wxString& GetName() const { return m_name; }
+ inline long GetStyle() const { return m_windowStyle; }
+ inline int GetId() const { return m_windowId; }
+
+ inline wxInt32 GetValue1() const { return m_value1; }
+ inline wxInt32 GetValue2() const { return m_value2; }
+ inline wxInt32 GetValue3() const { return m_value3; }
+ inline wxInt32 GetValue5() const { return m_value5; }
+ inline wxString GetValue4() const { return m_value4; }
+ inline wxList& GetChildren() const { return (wxList&) m_children; }
+ inline wxStringList& GetStringValues() const { return (wxStringList&) m_stringValues; }
+
+ inline void SetBackgroundColour(const wxColour& col) { m_backgroundColour = col; }
+ inline void SetLabelColour(const wxColour& col) { m_labelColour = col; }
+ inline void SetButtonColour(const wxColour& col) { m_buttonColour = col; }
+
+ inline wxColour& GetBackgroundColour() const { return (wxColour&) m_backgroundColour; }
+ inline wxColour& GetLabelColour() const { return (wxColour&) m_labelColour; }
+ inline wxColour& GetButtonColour() const { return (wxColour&) m_buttonColour; }
+
+ inline void SetResourceStyle(long style) { m_exStyle = style; }
+ inline wxInt32 GetResourceStyle() const { return m_exStyle; }
+
+ protected:
+ wxList m_children;
+ wxString m_itemType;
+ int m_x, m_y, m_width, m_height;
+ wxString m_title;
+ wxString m_name;
+ long m_windowStyle;
+ long m_value1, m_value2, m_value3, m_value5;
+ wxString m_value4;
+ int m_windowId;
+ wxStringList m_stringValues; // Optional string values
+ wxBitmap m_bitmap;
+ wxColour m_backgroundColour;
+ wxColour m_labelColour;
+ wxColour m_buttonColour;
+ wxFont m_windowFont;
+ long m_exStyle; // Extended, resource-specific styles
+};
+
+/*
+ * Resource table (normally only one of these)
+ */
+
+class WXDLLEXPORT wxResourceTable: public wxHashTable
+{
+ DECLARE_DYNAMIC_CLASS(wxResourceTable)
+
+ protected:
+
+ public:
+ wxHashTable identifiers;
+
+ wxResourceTable();
+ ~wxResourceTable();
+
+ virtual wxItemResource *FindResource(const wxString& name) const;
+ virtual void AddResource(wxItemResource *item);
+ virtual bool DeleteResource(const wxString& name);
+
+ virtual bool ParseResourceFile(const wxString& filename);
+ virtual bool ParseResourceFile( wxInputStream *is ) ;
+ virtual bool ParseResourceData(const wxString& data);
+ virtual bool SaveResource(const wxString& filename);
+
+ // Register XBM/XPM data
+ virtual bool RegisterResourceBitmapData(const wxString& name, char bits[], int width, int height);
+ virtual bool RegisterResourceBitmapData(const wxString& name, char **data);
+
+ virtual wxControl *CreateItem(wxWindow *panel, const wxItemResource* childResource, const wxItemResource* parentResource) const;
+
+ virtual void ClearTable();
+};
+
+WXDLLEXPORT extern void wxInitializeResourceSystem();
+WXDLLEXPORT extern void wxCleanUpResourceSystem();
+
+WXDLLEXPORT_DATA(extern wxResourceTable*) wxDefaultResourceTable;
+WXDLLEXPORT extern long wxParseWindowStyle(const wxString& style);
+
+class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxMenu;
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxIcon;
+WXDLLEXPORT extern wxBitmap wxResourceCreateBitmap(const wxString& resource, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern wxIcon wxResourceCreateIcon(const wxString& resource, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern wxMenuBar* wxResourceCreateMenuBar(const wxString& resource, wxResourceTable *table = (wxResourceTable *) NULL, wxMenuBar *menuBar = (wxMenuBar *) NULL);
+WXDLLEXPORT extern wxMenu* wxResourceCreateMenu(const wxString& resource, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern bool wxResourceParseData(const wxString& resource, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern bool wxResourceParseFile(const wxString& filename, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern bool wxResourceParseString(char* s, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern void wxResourceClear(wxResourceTable *table = (wxResourceTable *) NULL);
+// Register XBM/XPM data
+WXDLLEXPORT extern bool wxResourceRegisterBitmapData(const wxString& name, char bits[], int width, int height, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern bool wxResourceRegisterBitmapData(const wxString& name, char **data, wxResourceTable *table = (wxResourceTable *) NULL);
+#define wxResourceRegisterIconData wxResourceRegisterBitmapData
+
+/*
+ * Resource identifer code: #define storage
+ */
+
+WXDLLEXPORT extern bool wxResourceAddIdentifier(const wxString& name, int value, wxResourceTable *table = (wxResourceTable *) NULL);
+WXDLLEXPORT extern int wxResourceGetIdentifier(const wxString& name, wxResourceTable *table = (wxResourceTable *) NULL);
+
+#endif
+#endif
+ // _WX_RESOURCEH__
diff --git a/include/wx/serbase.h b/include/wx/serbase.h
new file mode 100644
index 0000000000..1ec7b6a52d
--- /dev/null
+++ b/include/wx/serbase.h
@@ -0,0 +1,67 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: serbase.h
+// Purpose: Serialization plug-ins
+// Author: Guilhem Lavaux
+// Modified by:
+// Created: July 1998
+// RCS-ID: $Id$
+// Copyright: (c) Guilhem Lavaux
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_WX_SERBASEH_H__
+#define _WX_WX_SERBASEH_H__
+
+#include "wx/setup.h"
+#include "wx/dynlib.h"
+
+#define WXSERIAL(classname) classname##_Serialize
+
+#if wxUSE_SERIAL
+class wxObject_Serialize : public wxObject {
+ DECLARE_DYNAMIC_CLASS(wxObject_Serialize)
+ public:
+ wxObject_Serialize() {}
+ virtual ~wxObject_Serialize() {}
+
+ void SetObject(wxObject *obj) { m_object = obj; }
+ wxObject *Object() { return m_object; }
+
+ protected:
+ wxObject *m_object;
+};
+#endif
+ // wxUSE_SERIAL
+
+
+#define DECLARE_SERIAL_CLASS(classname, parent) \
+class WXSERIAL(classname) : public WXSERIAL(parent) { \
+ DECLARE_DYNAMIC_CLASS(classname##_Serialize) \
+ public: \
+ WXSERIAL(classname)() { } \
+ virtual ~WXSERIAL(classname)() { } \
+\
+ virtual void StoreObject(wxObjectOutputStream& stream); \
+ virtual void LoadObject(wxObjectInputStream& stream); \
+};
+
+#define DECLARE_ALIAS_SERIAL_CLASS(classname, parent) \
+class WXSERIAL(classname) : public WXSERIAL(parent) { \
+ DECLARE_DYNAMIC_CLASS(classname##_Serialize) \
+ public: \
+ WXSERIAL(classname)() { } \
+ virtual ~WXSERIAL(classname)() { } \
+};
+
+#define IMPLEMENT_SERIAL_CLASS(classname, parent) \
+IMPLEMENT_DYNAMIC_CLASS(classname##_Serialize, parent##_Serialize)
+
+#define IMPLEMENT_ALIAS_SERIAL_CLASS(classname, parent) \
+IMPLEMENT_DYNAMIC_CLASS(classname##_Serialize, parent##_Serialize)
+
+#if wxUSE_SERIAL
+DECLARE_SERIAL_CLASS(wxList, wxObject)
+DECLARE_SERIAL_CLASS(wxHashTable, wxObject)
+#endif
+ // wxUSE_SERIAL
+
+#endif
diff --git a/include/wx/setup.h b/include/wx/setup.h
new file mode 100644
index 0000000000..a38f59eb9f
--- /dev/null
+++ b/include/wx/setup.h
@@ -0,0 +1,60 @@
+/*
+ * The main configuration file for wxWindows.
+ *
+ * NB: this file can be included in .c files, so it must be compileable by a C
+ * compiler - use #ifdef __cplusplus for C++ specific features and avoid
+ * using C++ style comments
+ */
+
+#ifndef _WX_SETUP_H_BASE_
+#define _WX_SETUP_H_BASE_
+
+/* compatibility code, to be removed asap: */
+
+#if !defined(__WXBASE__) && !defined(__WXMSW__) && !defined(__WXGTK__) && !defined(__WXMOTIF__) && !defined(__WXQT__) && !defined(__WXSTUBS__) && !defined(__WXMAC__) && !defined(__WXPM__)
+#error No __WXxxx__ define set! Please define one of __WXBASE__,__WXGTK__,__WXMSW__,__WXMOTIF__,__WXMAC__,__WXQT__,__WXPM__,__WXSTUBS__
+#endif
+
+#ifdef __WXBASE__
+#if defined(__USE_WXCONFIG__) && defined(__WXDEBUG__)
+#include "wx/based/setup.h"
+#else
+#include "wx/base/setup.h"
+#endif
+
+#elif defined(__VMS)
+#include "wx_root:[wxwindows]setup.h"
+#elif defined(__WXMSW__)
+#include "wx/msw/setup.h"
+#elif defined(__WXMAC__)
+#include "wx/mac/setup.h"
+
+#elif defined(__WXQT__)
+#if defined(__USE_WXCONFIG__) && defined(__WXDEBUG__)
+#include "wx/qtd/setup.h"
+#else
+#include "wx/qt/setup.h"
+#endif
+
+#elif defined(__WXMOTIF__)
+#if defined(__USE_WXCONFIG__) && defined(__WXDEBUG__)
+#include "wx/motifd/setup.h"
+#else
+#include "wx/motif/setup.h"
+#endif
+
+#elif defined(__WXPM__)
+#include "wx/os2/setup.h"
+#elif defined(__WXSTUBS__)
+#include "wx/stubs/setup.h"
+
+#elif defined(__WXGTK__)
+#if defined(__USE_WXCONFIG__) && defined(__WXDEBUG__)
+#include "wx/gtkd/setup.h"
+#else
+#include "wx/gtk/setup.h"
+#endif
+
+#endif
+#endif
+ /* _WX_SETUP_H_BASE_ */
diff --git a/include/wx/stubs/accel.h b/include/wx/stubs/accel.h
new file mode 100644
index 0000000000..ec39737483
--- /dev/null
+++ b/include/wx/stubs/accel.h
@@ -0,0 +1,80 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: accel.h
+// Purpose: wxAcceleratorTable class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_ACCEL_H_
+#define _WX_ACCEL_H_
+
+#ifdef __GNUG__
+#pragma interface "accel.h"
+#endif
+
+#include "wx/object.h"
+#include "wx/string.h"
+
+class WXDLLEXPORT wxAcceleratorTable;
+
+// Hold Ctrl key down
+#define wxACCEL_ALT 0x01
+
+// Hold Ctrl key down
+#define wxACCEL_CTRL 0x02
+
+ // Hold Shift key down
+#define wxACCEL_SHIFT 0x04
+
+ // Hold no key down
+#define wxACCEL_NORMAL 0x00
+
+class WXDLLEXPORT wxAcceleratorEntry
+{
+public:
+ wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0)
+ {
+ m_flags = flags; m_keyCode = keyCode; m_command = cmd;
+ }
+
+ inline void Set(int flags, int keyCode, int cmd)
+ { m_flags = flags; m_keyCode = keyCode; m_command = cmd; }
+
+ inline int GetFlags() const { return m_flags; }
+ inline int GetKeyCode() const { return m_keyCode; }
+ inline int GetCommand() const { return m_command; }
+
+ int m_flags;
+ int m_keyCode; // ASCII or virtual keycode
+ int m_command; // Command id to generate
+};
+
+class WXDLLEXPORT wxAcceleratorTable: public wxObject
+{
+DECLARE_DYNAMIC_CLASS(wxAcceleratorTable)
+public:
+ wxAcceleratorTable();
+ wxAcceleratorTable(const wxString& resource); // Load from .rc resource
+ wxAcceleratorTable(int n, wxAcceleratorEntry entries[]); // Load from array
+
+ // Copy constructors
+ inline wxAcceleratorTable(const wxAcceleratorTable& accel) { Ref(accel); }
+ inline wxAcceleratorTable(const wxAcceleratorTable* accel) { if (accel) Ref(*accel); }
+
+ ~wxAcceleratorTable();
+
+ inline wxAcceleratorTable& operator = (const wxAcceleratorTable& accel) { if (*this == accel) return (*this); Ref(accel); return *this; }
+ inline bool operator == (const wxAcceleratorTable& accel) { return m_refData == accel.m_refData; }
+ inline bool operator != (const wxAcceleratorTable& accel) { return m_refData != accel.m_refData; }
+
+ bool Ok() const;
+};
+
+WXDLLEXPORT_DATA(extern wxAcceleratorTable) wxNullAcceleratorTable;
+
+#endif
+ // _WX_ACCEL_H_
diff --git a/include/wx/stubs/app.h b/include/wx/stubs/app.h
new file mode 100644
index 0000000000..fba1c3f241
--- /dev/null
+++ b/include/wx/stubs/app.h
@@ -0,0 +1,156 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: app.h
+// Purpose: wxApp class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_APP_H_
+#define _WX_APP_H_
+
+#ifdef __GNUG__
+#pragma interface "app.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/gdicmn.h"
+#include "wx/event.h"
+
+class WXDLLEXPORT wxFrame;
+class WXDLLEXPORT wxWindow;
+class WXDLLEXPORT wxApp ;
+class WXDLLEXPORT wxKeyEvent;
+class WXDLLEXPORT wxLog;
+
+#define wxPRINT_WINDOWS 1
+#define wxPRINT_POSTSCRIPT 2
+
+WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
+
+// Force an exit from main loop
+void WXDLLEXPORT wxExit();
+
+// Yield to other apps/messages
+bool WXDLLEXPORT wxYield();
+
+// Represents the application. Derive OnInit and declare
+// a new App object to start application
+class WXDLLEXPORT wxApp: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxApp)
+ wxApp();
+ inline ~wxApp() {}
+
+ static void SetInitializerFunction(wxAppInitializerFunction fn) { m_appInitFn = fn; }
+ static wxAppInitializerFunction GetInitializerFunction() { return m_appInitFn; }
+
+ virtual int MainLoop();
+ void ExitMainLoop();
+ bool Initialized();
+ virtual bool Pending() ;
+ virtual void Dispatch() ;
+
+ void OnIdle(wxIdleEvent& event);
+
+// Generic
+ virtual bool OnInit() { return FALSE; };
+
+ // No specific tasks to do here.
+ virtual bool OnInitGui() { return TRUE; }
+
+ // Called to set off the main loop
+ virtual int OnRun() { return MainLoop(); };
+ virtual int OnExit() { return 0; }
+
+ /** Returns the standard icons for the msg dialogs, implemented in
+ src/generic/msgdlgg.cpp and src/gtk/app.cpp. */
+ virtual wxIcon GetStdIcon(int which) const;
+
+ inline void SetPrintMode(int mode) { m_printMode = mode; }
+ inline int GetPrintMode() const { return m_printMode; }
+
+ inline void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
+ inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
+
+ inline wxString GetAppName() const {
+ if (m_appName != "")
+ return m_appName;
+ else return m_className;
+ }
+
+ inline void SetAppName(const wxString& name) { m_appName = name; };
+ inline wxString GetClassName() const { return m_className; }
+ inline void SetClassName(const wxString& name) { m_className = name; }
+
+ void SetVendorName(const wxString& vendorName) { m_vendorName = vendorName; }
+ const wxString& GetVendorName() const { return m_vendorName; }
+
+ wxWindow *GetTopWindow() const ;
+ inline void SetTopWindow(wxWindow *win) { m_topWindow = win; }
+
+ inline void SetWantDebugOutput(bool flag) { m_wantDebugOutput = flag; }
+ inline bool GetWantDebugOutput() { return m_wantDebugOutput; }
+
+ // Send idle event to all top-level windows.
+ // Returns TRUE if more idle time is requested.
+ bool SendIdleEvents();
+
+ // Send idle event to window and all subwindows
+ // Returns TRUE if more idle time is requested.
+ bool SendIdleEvents(wxWindow* win);
+
+ // Windows only, but for compatibility...
+ inline void SetAuto3D(bool flag) { m_auto3D = flag; }
+ inline bool GetAuto3D() const { return m_auto3D; }
+
+ // Creates a log object
+ virtual wxLog* CreateLogTarget();
+
+public:
+ // Will always be set to the appropriate, main-style values.
+ int argc;
+ char ** argv;
+
+protected:
+ bool m_wantDebugOutput ;
+ wxString m_className;
+ wxString m_appName,
+ m_vendorName;
+ wxWindow * m_topWindow;
+ bool m_exitOnFrameDelete;
+ bool m_showOnInit;
+ int m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
+ bool m_auto3D ; // Always use 3D controls, except
+ // where overriden
+ static wxAppInitializerFunction m_appInitFn;
+
+public:
+
+ // Implementation
+ static bool Initialize();
+ static void CleanUp();
+
+ void DeletePendingObjects();
+ bool ProcessIdle();
+
+public:
+ static long sm_lastMessageTime;
+ int m_nCmdShow;
+
+protected:
+ bool m_keepGoing ;
+
+DECLARE_EVENT_TABLE()
+};
+
+// TODO: add platform-specific arguments
+int WXDLLEXPORT wxEntry( int argc, char *argv[] );
+
+#endif
+ // _WX_APP_H_
+
diff --git a/include/wx/stubs/bitmap.h b/include/wx/stubs/bitmap.h
new file mode 100644
index 0000000000..1d2f5417e5
--- /dev/null
+++ b/include/wx/stubs/bitmap.h
@@ -0,0 +1,197 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: bitmap.h
+// Purpose: wxBitmap class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BITMAP_H_
+#define _WX_BITMAP_H_
+
+#ifdef __GNUG__
+#pragma interface "bitmap.h"
+#endif
+
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+#include "wx/palette.h"
+
+// Bitmap
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxBitmapHandler;
+class WXDLLEXPORT wxIcon;
+class WXDLLEXPORT wxCursor;
+
+// A mask is a mono bitmap used for drawing bitmaps
+// transparently.
+class WXDLLEXPORT wxMask: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxMask)
+
+public:
+ wxMask();
+
+ // Construct a mask from a bitmap and a colour indicating
+ // the transparent area
+ wxMask(const wxBitmap& bitmap, const wxColour& colour);
+
+ // Construct a mask from a bitmap and a palette index indicating
+ // the transparent area
+ wxMask(const wxBitmap& bitmap, int paletteIndex);
+
+ // Construct a mask from a mono bitmap (copies the bitmap).
+ wxMask(const wxBitmap& bitmap);
+
+ ~wxMask();
+
+ bool Create(const wxBitmap& bitmap, const wxColour& colour);
+ bool Create(const wxBitmap& bitmap, int paletteIndex);
+ bool Create(const wxBitmap& bitmap);
+
+/* TODO: platform-specific data access
+ // Implementation
+ inline WXHBITMAP GetMaskBitmap() const { return m_maskBitmap; }
+ inline void SetMaskBitmap(WXHBITMAP bmp) { m_maskBitmap = bmp; }
+protected:
+ WXHBITMAP m_maskBitmap;
+*/
+};
+
+class WXDLLEXPORT wxBitmapRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxIcon;
+ friend class WXDLLEXPORT wxCursor;
+public:
+ wxBitmapRefData();
+ ~wxBitmapRefData();
+
+public:
+ int m_width;
+ int m_height;
+ int m_depth;
+ bool m_ok;
+ int m_numColors;
+ wxPalette m_bitmapPalette;
+ int m_quality;
+
+/* WXHBITMAP m_hBitmap; TODO: platform-specific handle */
+ wxMask * m_bitmapMask; // Optional mask
+};
+
+#define M_BITMAPDATA ((wxBitmapRefData *)m_refData)
+
+class WXDLLEXPORT wxBitmapHandler: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
+public:
+ wxBitmapHandler() { m_name = ""; m_extension = ""; m_type = 0; };
+
+ virtual bool Create(wxBitmap *bitmap, void *data, long flags, int width, int height, int depth = 1);
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth, int desiredHeight);
+ virtual bool SaveFile(wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL);
+
+ inline void SetName(const wxString& name) { m_name = name; }
+ inline void SetExtension(const wxString& ext) { m_extension = ext; }
+ inline void SetType(long type) { m_type = type; }
+ inline wxString GetName() const { return m_name; }
+ inline wxString GetExtension() const { return m_extension; }
+ inline long GetType() const { return m_type; }
+protected:
+ wxString m_name;
+ wxString m_extension;
+ long m_type;
+};
+
+#define M_BITMAPHANDLERDATA ((wxBitmapRefData *)bitmap->GetRefData())
+
+class WXDLLEXPORT wxBitmap: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmap)
+
+ friend class WXDLLEXPORT wxBitmapHandler;
+
+public:
+ wxBitmap(); // Platform-specific
+
+ // Copy constructors
+ inline wxBitmap(const wxBitmap& bitmap)
+ { Ref(bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
+
+ // Initialize with raw data.
+ wxBitmap(const char bits[], int width, int height, int depth = 1);
+
+/* TODO: maybe implement XPM reading
+ // Initialize with XPM data
+ wxBitmap(const char **data);
+*/
+
+ // Load a file or resource
+ // TODO: make default type whatever's appropriate for the platform.
+ wxBitmap(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
+
+ // Constructor for generalised creation from data
+ wxBitmap(void *data, long type, int width, int height, int depth = 1);
+
+ // If depth is omitted, will create a bitmap compatible with the display
+ wxBitmap(int width, int height, int depth = -1);
+ ~wxBitmap();
+
+ virtual bool Create(int width, int height, int depth = -1);
+ virtual bool Create(void *data, long type, int width, int height, int depth = 1);
+ virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
+ virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
+
+ inline bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
+ inline int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
+ inline int GetHeight() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
+ inline int GetDepth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
+ inline int GetQuality() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
+ void SetWidth(int w);
+ void SetHeight(int h);
+ void SetDepth(int d);
+ void SetQuality(int q);
+ void SetOk(bool isOk);
+
+ inline wxPalette* GetPalette() const { return (M_BITMAPDATA ? (& M_BITMAPDATA->m_bitmapPalette) : (wxPalette*) NULL); }
+ void SetPalette(const wxPalette& palette);
+
+ inline wxMask *GetMask() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_bitmapMask : (wxMask*) NULL); }
+ void SetMask(wxMask *mask) ;
+
+ inline wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
+ inline bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; }
+ inline bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; }
+
+ // Format handling
+ static inline wxList& GetHandlers() { return sm_handlers; }
+ static void AddHandler(wxBitmapHandler *handler);
+ static void InsertHandler(wxBitmapHandler *handler);
+ static bool RemoveHandler(const wxString& name);
+ static wxBitmapHandler *FindHandler(const wxString& name);
+ static wxBitmapHandler *FindHandler(const wxString& extension, long bitmapType);
+ static wxBitmapHandler *FindHandler(long bitmapType);
+
+ static void InitStandardHandlers();
+ static void CleanUpHandlers();
+protected:
+ static wxList sm_handlers;
+
+/*
+ // TODO: Implementation
+public:
+ void SetHBITMAP(WXHBITMAP bmp);
+ inline WXHBITMAP GetHBITMAP() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_hBitmap : 0); }
+ bool FreeResource(bool force = FALSE);
+*/
+
+};
+#endif
+ // _WX_BITMAP_H_
diff --git a/include/wx/stubs/bmpbuttn.h b/include/wx/stubs/bmpbuttn.h
new file mode 100644
index 0000000000..defe39e438
--- /dev/null
+++ b/include/wx/stubs/bmpbuttn.h
@@ -0,0 +1,83 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: bmpbuttn.h
+// Purpose: wxBitmapButton class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BMPBUTTN_H_
+#define _WX_BMPBUTTN_H_
+
+#ifdef __GNUG__
+#pragma interface "bmpbuttn.h"
+#endif
+
+#include "wx/button.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
+
+#define wxDEFAULT_BUTTON_MARGIN 4
+
+class WXDLLEXPORT wxBitmapButton: public wxButton
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapButton)
+ public:
+ inline wxBitmapButton() { m_marginX = wxDEFAULT_BUTTON_MARGIN; m_marginY = wxDEFAULT_BUTTON_MARGIN; }
+ inline wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr)
+ {
+ Create(parent, id, bitmap, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr);
+
+ virtual void SetLabel(const wxBitmap& bitmap)
+ {
+ SetBitmapLabel(bitmap);
+ }
+
+ virtual void SetBitmapLabel(const wxBitmap& bitmap);
+
+ inline wxBitmap& GetBitmapLabel() const { return (wxBitmap&) m_buttonBitmap; }
+ inline wxBitmap& GetBitmapSelected() const { return (wxBitmap&) m_buttonBitmapSelected; }
+ inline wxBitmap& GetBitmapFocus() const { return (wxBitmap&) m_buttonBitmapFocus; }
+ inline wxBitmap& GetBitmapDisabled() const { return (wxBitmap&) m_buttonBitmapDisabled; }
+
+ inline void SetBitmapSelected(const wxBitmap& sel) { m_buttonBitmapSelected = sel; };
+ inline void SetBitmapFocus(const wxBitmap& focus) { m_buttonBitmapFocus = focus; };
+ inline void SetBitmapDisabled(const wxBitmap& disabled) { m_buttonBitmapDisabled = disabled; };
+
+ inline void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; }
+ inline int GetMarginX() { return m_marginX; }
+ inline int GetMarginY() { return m_marginY; }
+
+/*
+ // TODO: Implementation
+ virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
+ virtual void DrawFace( WXHDC dc, int left, int top, int right, int bottom, bool sel );
+ virtual void DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel );
+ virtual void DrawButtonDisable( WXHDC dc, int left, int top, int right, int bottom, bool with_marg );
+*/
+
+ protected:
+ wxBitmap m_buttonBitmap;
+ wxBitmap m_buttonBitmapSelected;
+ wxBitmap m_buttonBitmapFocus;
+ wxBitmap m_buttonBitmapDisabled;
+ int m_marginX;
+ int m_marginY;
+};
+
+#endif
+ // _WX_BMPBUTTN_H_
diff --git a/include/wx/stubs/brush.h b/include/wx/stubs/brush.h
new file mode 100644
index 0000000000..a0a1bd7471
--- /dev/null
+++ b/include/wx/stubs/brush.h
@@ -0,0 +1,83 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: brush.h
+// Purpose: wxBrush class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BRUSH_H_
+#define _WX_BRUSH_H_
+
+#ifdef __GNUG__
+#pragma interface "brush.h"
+#endif
+
+#include "wx/gdicmn.h"
+#include "wx/gdiobj.h"
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxBrush;
+
+class WXDLLEXPORT wxBrushRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxBrush;
+public:
+ wxBrushRefData();
+ wxBrushRefData(const wxBrushRefData& data);
+ ~wxBrushRefData();
+
+protected:
+ int m_style;
+ wxBitmap m_stipple ;
+ wxColour m_colour;
+
+/* TODO: implementation
+ WXHBRUSH m_hBrush;
+*/
+};
+
+#define M_BRUSHDATA ((wxBrushRefData *)m_refData)
+
+// Brush
+class WXDLLEXPORT wxBrush: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxBrush)
+
+public:
+ wxBrush();
+ wxBrush(const wxColour& col, int style);
+ wxBrush(const wxBitmap& stipple);
+ inline wxBrush(const wxBrush& brush) { Ref(brush); }
+ ~wxBrush();
+
+ virtual void SetColour(const wxColour& col) ;
+ virtual void SetColour(unsigned char r, unsigned char g, unsigned char b) ;
+ virtual void SetStyle(int style) ;
+ virtual void SetStipple(const wxBitmap& stipple) ;
+
+ inline wxBrush& operator = (const wxBrush& brush) { if (*this == brush) return (*this); Ref(brush); return *this; }
+ inline bool operator == (const wxBrush& brush) { return m_refData == brush.m_refData; }
+ inline bool operator != (const wxBrush& brush) { return m_refData != brush.m_refData; }
+
+ inline wxColour& GetColour() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_colour : wxNullColour); };
+ inline int GetStyle() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_style : 0); };
+ inline wxBitmap *GetStipple() const { return (M_BRUSHDATA ? & M_BRUSHDATA->m_stipple : 0); };
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+// Implementation
+
+ // Useful helper: create the brush resource
+ bool RealizeResource();
+
+ // When setting properties, we must make sure we're not changing
+ // another object
+ void Unshare();
+};
+
+#endif
+ // _WX_BRUSH_H_
diff --git a/include/wx/stubs/button.h b/include/wx/stubs/button.h
new file mode 100644
index 0000000000..68b67d8c96
--- /dev/null
+++ b/include/wx/stubs/button.h
@@ -0,0 +1,53 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: button.h
+// Purpose: wxButton class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_BUTTON_H_
+#define _WX_BUTTON_H_
+
+#ifdef __GNUG__
+#pragma interface "button.h"
+#endif
+
+#include "wx/control.h"
+#include "wx/gdicmn.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
+
+// Pushbutton
+class WXDLLEXPORT wxButton: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxButton)
+ public:
+ inline wxButton() {}
+ inline wxButton(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxButtonNameStr);
+
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual void SetDefault();
+ virtual void SetLabel(const wxString& label);
+ virtual wxString GetLabel() const ;
+ virtual void Command(wxCommandEvent& event);
+};
+
+#endif
+ // _WX_BUTTON_H_
diff --git a/include/wx/stubs/checkbox.h b/include/wx/stubs/checkbox.h
new file mode 100644
index 0000000000..cfc102058a
--- /dev/null
+++ b/include/wx/stubs/checkbox.h
@@ -0,0 +1,81 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: checkbox.h
+// Purpose: wxCheckBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CHECKBOX_H_
+#define _WX_CHECKBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "checkbox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxCheckBoxNameStr;
+
+// Checkbox item (single checkbox)
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxCheckBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxCheckBox)
+
+ public:
+ inline wxCheckBox() { }
+ inline wxCheckBox(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr);
+ virtual void SetValue(bool);
+ virtual bool GetValue() const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual void SetLabel(const wxString& label);
+ virtual void Command(wxCommandEvent& event);
+};
+
+class WXDLLEXPORT wxBitmapCheckBox: public wxCheckBox
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapCheckBox)
+
+ public:
+ int checkWidth ;
+ int checkHeight ;
+
+ inline wxBitmapCheckBox() { checkWidth = -1; checkHeight = -1; }
+ inline wxBitmapCheckBox(wxWindow *parent, wxWindowID id, const wxBitmap *label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxBitmap *bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxCheckBoxNameStr);
+ virtual void SetValue(bool);
+ virtual bool GetValue() const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual void SetLabel(const wxBitmap& bitmap);
+};
+#endif
+ // _WX_CHECKBOX_H_
diff --git a/include/wx/stubs/checklst.h b/include/wx/stubs/checklst.h
new file mode 100644
index 0000000000..19b4ccb8d3
--- /dev/null
+++ b/include/wx/stubs/checklst.h
@@ -0,0 +1,47 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: checklst.h
+// Purpose: wxCheckListBox class - a listbox with checkable items
+// Note: this is an optional class.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CHECKLST_H_
+#define _WX_CHECKLST_H_
+
+#ifdef __GNUG__
+#pragma interface "checklst.h"
+#endif
+
+#include "wx/listbox.h"
+
+typedef unsigned int size_t;
+
+class wxCheckListBox : public wxListBox
+{
+ DECLARE_DYNAMIC_CLASS(wxCheckListBox)
+public:
+ // ctors
+ wxCheckListBox();
+ wxCheckListBox(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int nStrings = 0,
+ const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxListBoxNameStr);
+
+ // items may be checked
+ bool IsChecked(size_t uiIndex) const;
+ void Check(size_t uiIndex, bool bCheck = TRUE);
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_CHECKLST_H_
diff --git a/include/wx/stubs/choice.h b/include/wx/stubs/choice.h
new file mode 100644
index 0000000000..7f360ed5cc
--- /dev/null
+++ b/include/wx/stubs/choice.h
@@ -0,0 +1,72 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: choice.h
+// Purpose: wxChoice class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CHOICE_H_
+#define _WX_CHOICE_H_
+
+#ifdef __GNUG__
+#pragma interface "choice.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxChoiceNameStr;
+
+// Choice item
+class WXDLLEXPORT wxChoice: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxChoice)
+
+ public:
+ inline wxChoice() { m_noStrings = 0; }
+
+ inline wxChoice(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxChoiceNameStr)
+ {
+ Create(parent, id, pos, size, n, choices, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxChoiceNameStr);
+
+ virtual void Append(const wxString& item);
+ virtual void Delete(int n);
+ virtual void Clear();
+ virtual int GetSelection() const ;
+ virtual void SetSelection(int n);
+ virtual int FindString(const wxString& s) const;
+ virtual wxString GetString(int n) const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ virtual wxString GetStringSelection() const ;
+ virtual bool SetStringSelection(const wxString& sel);
+
+ virtual inline int Number() const { return m_noStrings; }
+ virtual void Command(wxCommandEvent& event);
+
+ virtual inline void SetColumns(int WXUNUSED(n) = 1 ) { /* No effect */ } ;
+ virtual inline int GetColumns() const { return 1 ; };
+
+protected:
+ int m_noStrings;
+};
+
+#endif
+ // _WX_CHOICE_H_
diff --git a/include/wx/stubs/clipbrd.h b/include/wx/stubs/clipbrd.h
new file mode 100644
index 0000000000..697dc9d939
--- /dev/null
+++ b/include/wx/stubs/clipbrd.h
@@ -0,0 +1,104 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: clipbrd.h
+// Purpose: Clipboard functionality.
+// Note: this functionality is under review, and
+// is derived from wxWindows 1.xx code. Please contact
+// the wxWindows developers for further information.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CLIPBRD_H_
+#define _WX_CLIPBRD_H_
+
+#ifdef __GNUG__
+#pragma interface "clipbrd.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/setup.h"
+
+#include "wx/list.h"
+
+bool WXDLLEXPORT wxOpenClipboard();
+bool WXDLLEXPORT wxClipboardOpen();
+bool WXDLLEXPORT wxCloseClipboard();
+bool WXDLLEXPORT wxEmptyClipboard();
+bool WXDLLEXPORT wxIsClipboardFormatAvailable(int dataFormat);
+bool WXDLLEXPORT wxSetClipboardData(int dataFormat, wxObject *obj, int width = 0, int height = 0);
+wxObject* WXDLLEXPORT wxGetClipboardData(int dataFormat, long *len = NULL);
+int WXDLLEXPORT wxEnumClipboardFormats(int dataFormat);
+int WXDLLEXPORT wxRegisterClipboardFormat(char *formatName);
+bool WXDLLEXPORT wxGetClipboardFormatName(int dataFormat, char *formatName, int maxCount);
+
+/* A clipboard client holds data belonging to the clipboard.
+ For plain text, a client is not necessary. */
+class WXDLLEXPORT wxClipboardClient : public wxObject
+{
+ DECLARE_ABSTRACT_CLASS(wxClipboardClient)
+
+ public:
+ /* This list should be filled in with strings indicating the formats
+ this client can provide. Almost all clients will provide "TEXT".
+ Format names should be 4 characters long, so things will work
+ out on the Macintosh */
+ wxStringList formats;
+
+ /* This method is called when the client is losing the selection. */
+ virtual void BeingReplaced() = 0;
+
+ /* This method is called when someone wants the data this client is
+ supplying to the clipboard. "format" is a string indicating the
+ format of the data - one of the strings from the "formats"
+ list. "*size" should be filled with the size of the resulting
+ data. In the case of text, "*size" does not count the
+ NULL terminator. */
+ virtual char *GetData(char *format, long *size) = 0;
+};
+
+/* ONE instance of this class: */
+class WXDLLEXPORT wxClipboard : public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxClipboard)
+
+ public:
+ wxClipboardClient *clipOwner;
+ char *cbString, *sentString, *receivedString;
+ void *receivedTargets;
+ long receivedLength;
+
+ wxClipboard();
+ ~wxClipboard();
+
+ /* Set the clipboard data owner. "time" comes from the event record. */
+ void SetClipboardClient(wxClipboardClient *, long time);
+
+ /* Set the clipboard string; does not require a client. */
+ void SetClipboardString(char *, long time);
+
+ /* Get data from the clipboard in the format "TEXT". */
+ char *GetClipboardString(long time);
+
+ /* Get data from the clipboard */
+ char *GetClipboardData(char *format, long *length, long time);
+
+ /* Get the clipboard client directly. Will be NULL if clipboard data
+ is a string, or if some other application owns the clipboard.
+ This can be useful for shortcutting data translation, if the
+ clipboard user can check for a specific client. (This is used
+ by the wxMediaEdit class.) */
+ wxClipboardClient *GetClipboardClient();
+};
+
+/* Initialize wxTheClipboard. Can be called repeatedly */
+void WXDLLEXPORT wxInitClipboard();
+
+/* The clipboard */
+WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard;
+
+#endif
+ // _WX_CLIPBRD_H_
diff --git a/include/wx/stubs/colordlg.h b/include/wx/stubs/colordlg.h
new file mode 100644
index 0000000000..556c2f316e
--- /dev/null
+++ b/include/wx/stubs/colordlg.h
@@ -0,0 +1,46 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: colordlg.h
+// Purpose: wxColourDialog class. Use generic version if no
+// platform-specific implementation.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COLORDLG_H_
+#define _WX_COLORDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "colordlg.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/dialog.h"
+#include "wx/cmndata.h"
+
+/*
+ * Platform-specific colour dialog implementation
+ */
+
+class WXDLLEXPORT wxColourDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxColourDialog)
+public:
+ wxColourDialog();
+ wxColourDialog(wxWindow *parent, wxColourData *data = NULL);
+
+ bool Create(wxWindow *parent, wxColourData *data = NULL);
+
+ int ShowModal();
+ wxColourData& GetColourData() { return m_colourData; }
+
+protected:
+ wxColourData m_colourData;
+ wxWindow* m_dialogParent;
+};
+
+#endif
+ // _WX_COLORDLG_H_
diff --git a/include/wx/stubs/colour.h b/include/wx/stubs/colour.h
new file mode 100644
index 0000000000..24028b6756
--- /dev/null
+++ b/include/wx/stubs/colour.h
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: colour.h
+// Purpose: wxColour class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COLOUR_H_
+#define _WX_COLOUR_H_
+
+#ifdef __GNUG__
+#pragma interface "colour.h"
+#endif
+
+#include "wx/object.h"
+#include "wx/string.h"
+
+// Colour
+class WXDLLEXPORT wxColour: public wxObject
+{
+public:
+ // ctors
+ // default
+ wxColour();
+ // from RGB
+ wxColour( unsigned char red, unsigned char green, unsigned char blue );
+ // implicit conversion from the colour name
+ wxColour( const wxString &colourName ) { InitFromName(colourName); }
+ wxColour( const char *colourName ) { InitFromName(colourName); }
+
+ // copy ctors and assignment operators
+ wxColour( const wxColour& col );
+ wxColour( const wxColour* col );
+ wxColour& operator = ( const wxColour& col );
+
+ // dtor
+ ~wxColour();
+
+ // Set() functions
+ void Set( unsigned char red, unsigned char green, unsigned char blue );
+ void Set( unsigned long colRGB )
+ {
+ // we don't need to know sizeof(long) here because we assume that the three
+ // least significant bytes contain the R, G and B values
+ Set((unsigned char)colRGB,
+ (unsigned char)(colRGB >> 8),
+ (unsigned char)(colRGB >> 16));
+ }
+
+ // accessors
+ bool Ok() const {return m_isInit; }
+
+ // Let's remove this inelegant function
+#if WXWIN_COMPATIBILITY
+ void Get(unsigned char *r, unsigned char *g, unsigned char *b) const;
+#endif
+
+ unsigned char Red() const { return m_red; }
+ unsigned char Green() const { return m_green; }
+ unsigned char Blue() const { return m_blue; }
+
+ // comparison
+ bool operator == (const wxColour& colour) const
+ {
+ return (m_red == colour.m_red &&
+ m_green == colour.m_green &&
+ m_blue == colour.m_blue);
+ }
+ bool operator != (const wxColour& colour) const { return !(*this == colour); }
+
+ void InitFromName(const wxString& col);
+
+/* TODO
+ WXCOLORREF GetPixel() const { return m_pixel; };
+*/
+
+private:
+ bool m_isInit;
+ unsigned char m_red;
+ unsigned char m_blue;
+ unsigned char m_green;
+
+public:
+ /* TODO: implementation
+ WXCOLORREF m_pixel ;
+ */
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxColour)
+};
+
+#endif
+ // _WX_COLOUR_H_
diff --git a/include/wx/stubs/combobox.h b/include/wx/stubs/combobox.h
new file mode 100644
index 0000000000..07054af74e
--- /dev/null
+++ b/include/wx/stubs/combobox.h
@@ -0,0 +1,84 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: combobox.h
+// Purpose: wxComboBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COMBOBOX_H_
+#define _WX_COMBOBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "combobox.h"
+#endif
+
+#include "wx/choice.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxComboBoxNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// Combobox item
+class WXDLLEXPORT wxComboBox: public wxChoice
+{
+ DECLARE_DYNAMIC_CLASS(wxComboBox)
+
+ public:
+ inline wxComboBox() {}
+
+ inline wxComboBox(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr)
+ {
+ Create(parent, id, value, pos, size, n, choices, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
+
+ // List functions
+ virtual void Append(const wxString& item);
+ virtual void Delete(int n);
+ virtual void Clear();
+ virtual int GetSelection() const ;
+ virtual void SetSelection(int n);
+ virtual int FindString(const wxString& s) const;
+ virtual wxString GetString(int n) const ;
+ virtual wxString GetStringSelection() const ;
+ virtual bool SetStringSelection(const wxString& sel);
+ virtual inline int Number() const { return m_noStrings; }
+
+ // Text field functions
+ virtual wxString GetValue() const ;
+ virtual void SetValue(const wxString& value);
+
+ // Clipboard operations
+ virtual void Copy();
+ virtual void Cut();
+ virtual void Paste();
+ virtual void SetInsertionPoint(long pos);
+ virtual void SetInsertionPointEnd();
+ virtual long GetInsertionPoint() const ;
+ virtual long GetLastPosition() const ;
+ virtual void Replace(long from, long to, const wxString& value);
+ virtual void Remove(long from, long to);
+ virtual void SetSelection(long from, long to);
+ virtual void SetEditable(bool editable);
+};
+
+#endif
+ // _WX_COMBOBOX_H_
diff --git a/include/wx/stubs/control.h b/include/wx/stubs/control.h
new file mode 100644
index 0000000000..c75756a72a
--- /dev/null
+++ b/include/wx/stubs/control.h
@@ -0,0 +1,50 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: control.h
+// Purpose: wxControl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CONTROL_H_
+#define _WX_CONTROL_H_
+
+#ifdef __GNUG__
+#pragma interface "control.h"
+#endif
+
+#include "wx/window.h"
+#include "wx/list.h"
+#include "wx/validate.h"
+
+// General item class
+class WXDLLEXPORT wxControl: public wxWindow
+{
+ DECLARE_ABSTRACT_CLASS(wxControl)
+public:
+ wxControl();
+ ~wxControl();
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {}; // Simulates an event
+ virtual void ProcessCommand(wxCommandEvent& event); // Calls the callback and
+ // appropriate event handlers
+ virtual void SetLabel(const wxString& label);
+ virtual wxString GetLabel() const ;
+
+ // Places item in centre of panel - so can't be used BEFORE panel->Fit()
+ void Centre(int direction = wxHORIZONTAL);
+ inline void Callback(const wxFunction function) { m_callback = function; }; // Adds callback
+
+ inline wxFunction GetCallback() { return m_callback; }
+
+protected:
+ wxFunction m_callback; // Callback associated with the window
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_CONTROL_H_
diff --git a/include/wx/stubs/cursor.h b/include/wx/stubs/cursor.h
new file mode 100644
index 0000000000..bc6397069f
--- /dev/null
+++ b/include/wx/stubs/cursor.h
@@ -0,0 +1,75 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: cursor.h
+// Purpose: wxCursor class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_CURSOR_H_
+#define _WX_CURSOR_H_
+
+#ifdef __GNUG__
+#pragma interface "cursor.h"
+#endif
+
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxCursorRefData: public wxBitmapRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxCursor;
+public:
+ wxCursorRefData();
+ ~wxCursorRefData();
+
+protected:
+/* TODO: implementation
+ WXHCURSOR m_hCursor;
+*/
+};
+
+#define M_CURSORDATA ((wxCursorRefData *)m_refData)
+#define M_CURSORHANDLERDATA ((wxCursorRefData *)bitmap->m_refData)
+
+// Cursor
+class WXDLLEXPORT wxCursor: public wxBitmap
+{
+ DECLARE_DYNAMIC_CLASS(wxCursor)
+
+public:
+ wxCursor();
+
+ // Copy constructors
+ inline wxCursor(const wxCursor& cursor) { Ref(cursor); }
+
+ wxCursor(const char bits[], int width, int height, int hotSpotX = -1, int hotSpotY = -1,
+ const char maskBits[] = NULL);
+
+ /* TODO: make default type suit platform */
+ wxCursor(const wxString& name, long flags = wxBITMAP_TYPE_CUR_RESOURCE,
+ int hotSpotX = 0, int hotSpotY = 0);
+
+ wxCursor(int cursor_type);
+ ~wxCursor();
+
+ // TODO: also verify the internal cursor handle
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ inline wxCursor& operator = (const wxCursor& cursor) { if (*this == cursor) return (*this); Ref(cursor); return *this; }
+ inline bool operator == (const wxCursor& cursor) { return m_refData == cursor.m_refData; }
+ inline bool operator != (const wxCursor& cursor) { return m_refData != cursor.m_refData; }
+
+/* TODO: implementation
+ void SetHCURSOR(WXHCURSOR cursor);
+ inline WXHCURSOR GetHCURSOR() const { return (M_CURSORDATA ? M_CURSORDATA->m_hCursor : 0); }
+*/
+};
+
+extern WXDLLEXPORT void wxSetCursor(const wxCursor& cursor);
+
+#endif
+ // _WX_CURSOR_H_
diff --git a/include/wx/stubs/dc.h b/include/wx/stubs/dc.h
new file mode 100644
index 0000000000..596e26de9a
--- /dev/null
+++ b/include/wx/stubs/dc.h
@@ -0,0 +1,372 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dc.h
+// Purpose: wxDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DC_H_
+#define _WX_DC_H_
+
+#ifdef __GNUG__
+#pragma interface "dc.h"
+#endif
+
+#include "wx/pen.h"
+#include "wx/brush.h"
+#include "wx/icon.h"
+#include "wx/font.h"
+#include "wx/gdicmn.h"
+
+//-----------------------------------------------------------------------------
+// constants
+//-----------------------------------------------------------------------------
+
+#ifndef MM_TEXT
+#define MM_TEXT 0
+#define MM_ISOTROPIC 1
+#define MM_ANISOTROPIC 2
+#define MM_LOMETRIC 3
+#define MM_HIMETRIC 4
+#define MM_TWIPS 5
+#define MM_POINTS 6
+#define MM_METRIC 7
+#endif
+
+//-----------------------------------------------------------------------------
+// global variables
+//-----------------------------------------------------------------------------
+
+extern int wxPageNumber;
+
+//-----------------------------------------------------------------------------
+// wxDC
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDC: public wxObject
+{
+ DECLARE_ABSTRACT_CLASS(wxDC)
+
+ public:
+
+ wxDC(void);
+ ~wxDC(void);
+
+ void BeginDrawing(void) {};
+ void EndDrawing(void) {};
+
+ virtual bool Ok(void) const { return m_ok; };
+
+ virtual void FloodFill( long x1, long y1, const wxColour& col, int style=wxFLOOD_SURFACE ) = 0;
+ inline void FloodFill(const wxPoint& pt, const wxColour& col, int style=wxFLOOD_SURFACE)
+ {
+ FloodFill(pt.x, pt.y, col, style);
+ }
+
+ virtual bool GetPixel( long x1, long y1, wxColour *col ) const = 0;
+ inline bool GetPixel(const wxPoint& pt, wxColour *col) const
+ {
+ return GetPixel(pt.x, pt.y, col);
+ }
+
+ virtual void DrawLine( long x1, long y1, long x2, long y2 ) = 0;
+ inline void DrawLine(const wxPoint& pt1, const wxPoint& pt2)
+ {
+ DrawLine(pt1.x, pt1.y, pt2.x, pt2.y);
+ }
+
+ virtual void CrossHair( long x, long y ) = 0;
+ inline void CrossHair(const wxPoint& pt)
+ {
+ CrossHair(pt.x, pt.y);
+ }
+
+ virtual void DrawArc( long x1, long y1, long x2, long y2, long xc, long yc ) = 0;
+ inline void DrawArc(const wxPoint& pt1, const wxPoint& pt2, const wxPoint& centre)
+ {
+ DrawArc(pt1.x, pt1.y, pt2.x, pt2.y, centre.x, centre.y);
+ }
+
+ virtual void DrawEllipticArc( long x, long y, long width, long height, double sa, double ea ) = 0;
+ virtual void DrawEllipticArc (const wxPoint& pt, const wxSize& sz, double sa, double ea)
+ {
+ DrawEllipticArc(pt.x, pt.y, sz.x, sz.y, sa, ea);
+ }
+
+ virtual void DrawPoint( long x, long y ) = 0;
+ virtual void DrawPoint( wxPoint& point );
+
+ virtual void DrawLines( int n, wxPoint points[], long xoffset = 0, long yoffset = 0 ) = 0;
+ virtual void DrawLines( wxList *points, long xoffset = 0, long yoffset = 0 );
+ virtual void DrawPolygon( int n, wxPoint points[], long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE ) = 0;
+ virtual void DrawPolygon( wxList *lines, long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE );
+
+ virtual void DrawRectangle( long x, long y, long width, long height ) = 0;
+ inline void DrawRectangle(const wxPoint& pt, const wxSize& sz)
+ {
+ DrawRectangle(pt.x, pt.y, sz.x, sz.y);
+ }
+ inline void DrawRectangle(const wxRect& rect)
+ {
+ DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+ }
+ virtual void DrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 ) = 0;
+ inline void DrawRoundedRectangle(const wxPoint& pt, const wxSize& sz, double radius = 20.0)
+ {
+ DrawRoundedRectangle(pt.x, pt.y, sz.x, sz.y, radius);
+ }
+ inline void DrawRoundedRectangle(const wxRect& rect, double radius = 20.0)
+ {
+ DrawRoundedRectangle(rect.x, rect.y, rect.width, rect.height, radius);
+ }
+
+ virtual void DrawEllipse( long x, long y, long width, long height ) = 0;
+ inline void DrawEllipse(const wxPoint& pt, const wxSize& sz)
+ {
+ DrawEllipse(pt.x, pt.y, sz.x, sz.y);
+ }
+ inline void DrawEllipse(const wxRect& rect)
+ {
+ DrawEllipse(rect.x, rect.y, rect.width, rect.height);
+ }
+
+ virtual void DrawSpline( long x1, long y1, long x2, long y2, long x3, long y3 );
+ virtual void DrawSpline( wxList *points ) = 0;
+ virtual void DrawSpline( int n, wxPoint points[] );
+
+ virtual bool CanDrawBitmap(void) const = 0;
+
+ virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+ inline void DrawIcon(const wxIcon& icon, const wxPoint& pt)
+ {
+ DrawIcon(icon, pt.x, pt.y);
+ }
+
+ // TODO DrawBitmap is not always the same as DrawIcon, especially if bitmaps and
+ // icons are implemented differently.
+ void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE )
+ { DrawIcon( *((wxIcon*)(&bmp)), x, y, useMask ); }
+
+ virtual bool Blit( long xdest, long ydest, long width, long height,
+ wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE ) = 0;
+ inline bool Blit(const wxPoint& destPt, const wxSize& sz,
+ wxDC *source, const wxPoint& srcPt, int rop = wxCOPY, bool useMask = FALSE)
+ {
+ return Blit(destPt.x, destPt.y, sz.x, sz.y, source, srcPt.x, srcPt.y, rop, useMask);
+ }
+
+ virtual void DrawText( const wxString &text, long x, long y, bool use16 = FALSE ) = 0;
+ inline void DrawText(const wxString& text, const wxPoint& pt, bool use16bit = FALSE)
+ {
+ DrawText(text, pt.x, pt.y, use16bit);
+ }
+
+ virtual bool CanGetTextExtent(void) const = 0;
+ virtual void GetTextExtent( const wxString &string, long *width, long *height,
+ long *descent = NULL, long *externalLeading = NULL,
+ wxFont *theFont = NULL, bool use16 = FALSE ) = 0;
+ virtual long GetCharWidth(void) = 0;
+ virtual long GetCharHeight(void) = 0;
+
+ virtual void Clear(void) = 0;
+
+ virtual void SetFont( const wxFont &font ) = 0;
+ virtual wxFont& GetFont(void) const { return (wxFont&) m_font; };
+
+ virtual void SetPen( const wxPen &pen ) = 0;
+ virtual wxPen& GetPen(void) const { return (wxPen&) m_pen; };
+
+ virtual void SetBrush( const wxBrush &brush ) = 0;
+ virtual wxBrush& GetBrush(void) const { return (wxBrush&) m_brush; };
+
+ virtual void SetBackground( const wxBrush &brush ) = 0;
+ virtual wxBrush& GetBackground(void) const { return (wxBrush&) m_backgroundBrush; };
+
+ virtual void SetLogicalFunction( int function ) = 0;
+ virtual int GetLogicalFunction(void) const { return m_logicalFunction; };
+
+ virtual void SetTextForeground( const wxColour &col );
+ virtual void SetTextBackground( const wxColour &col );
+ virtual wxColour& GetTextBackground(void) const { return (wxColour&)m_textBackgroundColour; };
+ virtual wxColour& GetTextForeground(void) const { return (wxColour&)m_textForegroundColour; };
+
+ virtual void SetBackgroundMode( int mode ) = 0;
+ virtual int GetBackgroundMode(void) const { return m_backgroundMode; };
+
+ virtual void SetPalette( const wxPalette& palette ) = 0;
+ void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
+
+ // the first two must be overridden and called
+ virtual void SetClippingRegion( long x, long y, long width, long height );
+ virtual void DestroyClippingRegion(void);
+ virtual void GetClippingBox( long *x, long *y, long *width, long *height ) const;
+
+ virtual inline long MinX(void) const { return m_minX; }
+ virtual inline long MaxX(void) const { return m_maxX; }
+ virtual inline long MinY(void) const { return m_minY; }
+ virtual inline long MaxY(void) const { return m_maxY; }
+
+ virtual void GetSize( int* width, int* height ) const;
+ inline wxSize GetSize(void) const { int w, h; GetSize(&w, &h); return wxSize(w, h); }
+ virtual void GetSizeMM( long* width, long* height ) const;
+
+ virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return TRUE; };
+ virtual void EndDoc(void) {};
+ virtual void StartPage(void) {};
+ virtual void EndPage(void) {};
+
+ virtual void SetMapMode( int mode );
+ virtual int GetMapMode(void) const { return m_mappingMode; };
+
+ virtual void SetUserScale( double x, double y );
+ virtual void GetUserScale( double *x, double *y );
+ virtual void SetLogicalScale( double x, double y );
+ virtual void GetLogicalScale( double *x, double *y );
+
+ virtual void SetLogicalOrigin( long x, long y );
+ virtual void GetLogicalOrigin( long *x, long *y );
+ virtual void SetDeviceOrigin( long x, long y );
+ virtual void GetDeviceOrigin( long *x, long *y );
+ virtual void SetInternalDeviceOrigin( long x, long y );
+ virtual void GetInternalDeviceOrigin( long *x, long *y );
+
+ virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
+
+ virtual void SetOptimization( bool WXUNUSED(optimize) ) {};
+ virtual bool GetOptimization(void) { return m_optimize; };
+
+ virtual long DeviceToLogicalX(long x) const;
+ virtual long DeviceToLogicalY(long y) const;
+ virtual long DeviceToLogicalXRel(long x) const;
+ virtual long DeviceToLogicalYRel(long y) const;
+ virtual long LogicalToDeviceX(long x) const;
+ virtual long LogicalToDeviceY(long y) const;
+ virtual long LogicalToDeviceXRel(long x) const;
+ virtual long LogicalToDeviceYRel(long y) const;
+
+ public:
+
+ void CalcBoundingBox( long x, long y );
+ void ComputeScaleAndOrigin(void);
+
+ long XDEV2LOG(long x) const
+ {
+ long new_x = x - m_deviceOriginX;
+ if (new_x > 0)
+ return (long)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
+ else
+ return (long)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
+ }
+ long XDEV2LOGREL(long x) const
+ {
+ if (x > 0)
+ return (long)((double)(x) / m_scaleX + 0.5);
+ else
+ return (long)((double)(x) / m_scaleX - 0.5);
+ }
+ long YDEV2LOG(long y) const
+ {
+ long new_y = y - m_deviceOriginY;
+ if (new_y > 0)
+ return (long)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
+ else
+ return (long)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
+ }
+ long YDEV2LOGREL(long y) const
+ {
+ if (y > 0)
+ return (long)((double)(y) / m_scaleY + 0.5);
+ else
+ return (long)((double)(y) / m_scaleY - 0.5);
+ }
+ long XLOG2DEV(long x) const
+ {
+ long new_x = x - m_logicalOriginX;
+ if (new_x > 0)
+ return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
+ else
+ return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
+ }
+ long XLOG2DEVREL(long x) const
+ {
+ if (x > 0)
+ return (long)((double)(x) * m_scaleX + 0.5);
+ else
+ return (long)((double)(x) * m_scaleX - 0.5);
+ }
+ long YLOG2DEV(long y) const
+ {
+ long new_y = y - m_logicalOriginY;
+ if (new_y > 0)
+ return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
+ else
+ return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
+ }
+ long YLOG2DEVREL(long y) const
+ {
+ if (y > 0)
+ return (long)((double)(y) * m_scaleY + 0.5);
+ else
+ return (long)((double)(y) * m_scaleY - 0.5);
+ }
+
+ public:
+
+ bool m_ok;
+ bool m_colour;
+
+ // not sure, what these mean
+ bool m_clipping; // Is clipping on right now ?
+ bool m_isInteractive; // Is GetPixel possible ?
+ bool m_autoSetting; // wxMSW only ?
+ bool m_dontDelete; // wxMSW only ?
+ bool m_optimize; // wxMSW only ?
+ wxString m_filename; // Not sure where this belongs.
+
+ wxPen m_pen;
+ wxBrush m_brush;
+ wxBrush m_backgroundBrush;
+ wxColour m_textForegroundColour;
+ wxColour m_textBackgroundColour;
+ wxFont m_font;
+
+ int m_logicalFunction;
+ int m_backgroundMode;
+ int m_textAlignment; // gone in wxWin 2.0 ?
+
+ int m_mappingMode;
+
+ // not sure what for, but what is a mm on a screen you don't know the size of?
+ double m_mm_to_pix_x,m_mm_to_pix_y;
+
+ long m_internalDeviceOriginX,m_internalDeviceOriginY; // If un-scrolled is non-zero or
+ // d.o. changes with scrolling.
+ // Set using SetInternalDeviceOrigin().
+
+ long m_externalDeviceOriginX,m_externalDeviceOriginY; // To be set by external classes
+ // such as wxScrolledWindow
+ // using SetDeviceOrigin()
+
+ long m_deviceOriginX,m_deviceOriginY; // Sum of the two above.
+
+ long m_logicalOriginX,m_logicalOriginY; // User defined.
+
+ double m_scaleX,m_scaleY;
+ double m_logicalScaleX,m_logicalScaleY;
+ double m_userScaleX,m_userScaleY;
+ long m_signX,m_signY;
+
+ bool m_needComputeScaleX,m_needComputeScaleY; // not yet used
+
+ long m_clipX1,m_clipY1,m_clipX2,m_clipY2;
+ long m_minX,m_maxX,m_minY,m_maxY;
+};
+
+#endif
+ // _WX_DC_H_
diff --git a/include/wx/stubs/dcclient.h b/include/wx/stubs/dcclient.h
new file mode 100644
index 0000000000..29e4e6f7a0
--- /dev/null
+++ b/include/wx/stubs/dcclient.h
@@ -0,0 +1,125 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcclient.h
+// Purpose: wxClientDC, wxPaintDC and wxWindowDC classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCCLIENT_H_
+#define _WX_DCCLIENT_H_
+
+#ifdef __GNUG__
+#pragma interface "dcclient.h"
+#endif
+
+#include "wx/dc.h"
+
+//-----------------------------------------------------------------------------
+// classes
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPaintDC;
+class WXDLLEXPORT wxWindow;
+
+// Under Windows, wxClientDC, wxPaintDC and wxWindowDC are implemented differently.
+// On many platforms, however, they will be the same.
+
+class WXDLLEXPORT wxWindowDC: public wxDC
+{
+ DECLARE_DYNAMIC_CLASS(wxWindowDC)
+
+ public:
+
+ wxWindowDC(void);
+ wxWindowDC( wxWindow *win );
+
+ ~wxWindowDC(void);
+
+ virtual void FloodFill( long x1, long y1, const wxColour& col, int style=wxFLOOD_SURFACE );
+ virtual bool GetPixel( long x1, long y1, wxColour *col ) const;
+
+ virtual void DrawLine( long x1, long y1, long x2, long y2 );
+ virtual void CrossHair( long x, long y );
+ virtual void DrawArc( long x1, long y1, long x2, long y2, long xc, long yc );
+ virtual void DrawEllipticArc( long x, long y, long width, long height, double sa, double ea );
+ virtual void DrawPoint( long x, long y );
+
+ virtual void DrawLines( int n, wxPoint points[], long xoffset = 0, long yoffset = 0 );
+ virtual void DrawLines( wxList *points, long xoffset = 0, long yoffset = 0 );
+ virtual void DrawPolygon( int n, wxPoint points[], long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE );
+ virtual void DrawPolygon( wxList *lines, long xoffset = 0, long yoffset = 0,
+ int fillStyle=wxODDEVEN_RULE );
+
+ virtual void DrawRectangle( long x, long y, long width, long height );
+ virtual void DrawRoundedRectangle( long x, long y, long width, long height, double radius = 20.0 );
+ virtual void DrawEllipse( long x, long y, long width, long height );
+
+ virtual bool CanDrawBitmap(void) const;
+ virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+ virtual bool Blit( long xdest, long ydest, long width, long height,
+ wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE );
+
+ virtual void DrawText( const wxString &text, long x, long y, bool use16 = FALSE );
+ virtual bool CanGetTextExtent(void) const;
+ virtual void GetTextExtent( const wxString &string, long *width, long *height,
+ long *descent = NULL, long *externalLeading = NULL,
+ wxFont *theFont = NULL, bool use16 = FALSE );
+ virtual long GetCharWidth(void);
+ virtual long GetCharHeight(void);
+
+ virtual void Clear(void);
+
+ virtual void SetFont( const wxFont &font );
+ virtual void SetPen( const wxPen &pen );
+ virtual void SetBrush( const wxBrush &brush );
+ virtual void SetBackground( const wxBrush &brush );
+ virtual void SetLogicalFunction( int function );
+ virtual void SetTextForeground( const wxColour &col );
+ virtual void SetTextBackground( const wxColour &col );
+ virtual void SetBackgroundMode( int mode );
+ virtual void SetPalette( const wxPalette& palette );
+
+ virtual void SetClippingRegion( long x, long y, long width, long height );
+ virtual void SetClippingRegion( const wxRegion& region ) ;
+ virtual void DestroyClippingRegion(void);
+
+ virtual void DrawSpline( wxList *points );
+};
+
+//-----------------------------------------------------------------------------
+// wxPaintDC
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPaintDC: public wxWindowDC
+{
+ DECLARE_DYNAMIC_CLASS(wxPaintDC)
+
+ public:
+
+ wxPaintDC(void):wxWindowDC() {};
+ wxPaintDC( wxWindow *win ): wxWindowDC(win) {};
+
+};
+
+//-----------------------------------------------------------------------------
+// wxClientDC
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxClientDC: public wxWindowDC
+{
+ DECLARE_DYNAMIC_CLASS(wxClientDC)
+
+ public:
+
+ wxClientDC(void):wxWindowDC() {};
+ wxClientDC( wxWindow *win ): wxWindowDC(win) {};
+
+};
+
+#endif
+ // _WX_DCCLIENT_H_
diff --git a/include/wx/stubs/dcmemory.h b/include/wx/stubs/dcmemory.h
new file mode 100644
index 0000000000..c6c5737642
--- /dev/null
+++ b/include/wx/stubs/dcmemory.h
@@ -0,0 +1,38 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcmemory.h
+// Purpose: wxMemoryDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCMEMORY_H_
+#define _WX_DCMEMORY_H_
+
+#ifdef __GNUG__
+#pragma interface "dcmemory.h"
+#endif
+
+#include "wx/dcclient.h"
+
+class WXDLLEXPORT wxMemoryDC: public wxPaintDC
+{
+ DECLARE_DYNAMIC_CLASS(wxMemoryDC)
+
+ public:
+ wxMemoryDC(void);
+ wxMemoryDC( wxDC *dc ); // Create compatible DC
+ ~wxMemoryDC(void);
+ virtual void SelectObject( const wxBitmap& bitmap );
+ void GetSize( int *width, int *height ) const;
+
+ private:
+ friend wxPaintDC;
+ wxBitmap m_selected;
+};
+
+#endif
+ // _WX_DCMEMORY_H_
diff --git a/include/wx/stubs/dcprint.h b/include/wx/stubs/dcprint.h
new file mode 100644
index 0000000000..2ea66d15bf
--- /dev/null
+++ b/include/wx/stubs/dcprint.h
@@ -0,0 +1,34 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcprint.h
+// Purpose: wxPrinterDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCPRINT_H_
+#define _WX_DCPRINT_H_
+
+#ifdef __GNUG__
+#pragma interface "dcprint.h"
+#endif
+
+#include "wx/dc.h"
+
+class WXDLLEXPORT wxPrinterDC: public wxDC
+{
+ public:
+ DECLARE_CLASS(wxPrinterDC)
+
+ // Create a printer DC
+ wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = TRUE, int orientation = wxPORTRAIT);
+
+ ~wxPrinterDC();
+};
+
+#endif
+ // _WX_DCPRINT_H_
+
diff --git a/include/wx/stubs/dcscreen.h b/include/wx/stubs/dcscreen.h
new file mode 100644
index 0000000000..e04b450f69
--- /dev/null
+++ b/include/wx/stubs/dcscreen.h
@@ -0,0 +1,39 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dcscreen.h
+// Purpose: wxScreenDC class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DCSCREEN_H_
+#define _WX_DCSCREEN_H_
+
+#ifdef __GNUG__
+#pragma interface "dcscreen.h"
+#endif
+
+#include "wx/dcclient.h"
+
+class WXDLLEXPORT wxScreenDC: public wxWindowDC
+{
+ DECLARE_DYNAMIC_CLASS(wxScreenDC)
+
+ public:
+ // Create a DC representing the whole screen
+ wxScreenDC();
+ ~wxScreenDC();
+
+ // Compatibility with X's requirements for
+ // drawing on top of all windows
+ static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return TRUE; }
+ static bool StartDrawingOnTop(wxRect* WXUNUSED(rect) = NULL) { return TRUE; }
+ static bool EndDrawingOnTop() { return TRUE; }
+};
+
+#endif
+ // _WX_DCSCREEN_H_
+
diff --git a/include/wx/stubs/dialog.h b/include/wx/stubs/dialog.h
new file mode 100644
index 0000000000..d68cc7c9a0
--- /dev/null
+++ b/include/wx/stubs/dialog.h
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dialog.h
+// Purpose: wxDialog class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DIALOG_H_
+#define _WX_DIALOG_H_
+
+#ifdef __GNUG__
+#pragma interface "dialog.h"
+#endif
+
+#include "wx/panel.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxDialogNameStr;
+
+// Dialog boxes
+class WXDLLEXPORT wxDialog: public wxPanel
+{
+ DECLARE_DYNAMIC_CLASS(wxDialog)
+public:
+
+ wxDialog();
+
+ // Constructor with a modal flag, but no window id - the old convention
+ inline wxDialog(wxWindow *parent,
+ const wxString& title, bool modal,
+ int x = -1, int y= -1, int width = 500, int height = 500,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr)
+ {
+ long modalStyle = modal ? wxDIALOG_MODAL : wxDIALOG_MODELESS ;
+ Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), style|modalStyle, name);
+ }
+
+ // Constructor with no modal flag - the new convention.
+ inline wxDialog(wxWindow *parent, wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& title, // bool modal = FALSE, // TODO make this a window style?
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr);
+
+ ~wxDialog();
+
+ virtual bool Destroy();
+ void SetClientSize(int width, int height);
+ void GetPosition(int *x, int *y) const;
+ bool Show(bool show);
+ void Iconize(bool iconize);
+
+ virtual bool IsIconized() const;
+ void Fit();
+
+ void SetTitle(const wxString& title);
+ wxString GetTitle() const ;
+
+ void OnCharHook(wxKeyEvent& event);
+ void OnCloseWindow(wxCloseEvent& event);
+
+ void SetModal(bool flag);
+
+ virtual void Centre(int direction = wxBOTH);
+ virtual bool IsModal() const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
+
+ virtual int ShowModal();
+ virtual void EndModal(int retCode);
+
+ // Standard buttons
+ void OnOK(wxCommandEvent& event);
+ void OnApply(wxCommandEvent& event);
+ void OnCancel(wxCommandEvent& event);
+
+ // Responds to colour changes
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_DIALOG_H_
diff --git a/include/wx/stubs/dirdlg.h b/include/wx/stubs/dirdlg.h
new file mode 100644
index 0000000000..44f96238e2
--- /dev/null
+++ b/include/wx/stubs/dirdlg.h
@@ -0,0 +1,49 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: dirdlg.h
+// Purpose: wxDirDialog class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DIRDLG_H_
+#define _WX_DIRDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "dirdlg.h"
+#endif
+
+#include "wx/dialog.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxFileSelectorPromptStr;
+
+class WXDLLEXPORT wxDirDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxDirDialog)
+public:
+ wxDirDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultPath = "",
+ long style = 0, const wxPoint& pos = wxDefaultPosition);
+
+ inline void SetMessage(const wxString& message) { m_message = message; }
+ inline void SetPath(const wxString& path) { m_path = path; }
+ inline void SetStyle(long style) { m_dialogStyle = style; }
+
+ inline wxString GetMessage() const { return m_message; }
+ inline wxString GetPath() const { return m_path; }
+ inline long GetStyle() const { return m_dialogStyle; }
+
+ int ShowModal();
+
+protected:
+ wxString m_message;
+ long m_dialogStyle;
+ wxWindow * m_parent;
+ wxString m_path;
+};
+
+#endif
+ // _WX_DIRDLG_H_
diff --git a/include/wx/stubs/dnd.h b/include/wx/stubs/dnd.h
new file mode 100644
index 0000000000..5a7a65335f
--- /dev/null
+++ b/include/wx/stubs/dnd.h
@@ -0,0 +1,238 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: dnd.h
+// Purpose: Declaration of the wxDropTarget, wxDropSource class etc.
+// Author: AUTHOR
+// RCS-ID: $Id$
+// Copyright: (c) 1998 AUTHOR
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_DND_H_
+#define _WX_DND_H_
+
+#ifdef __GNUG__
+#pragma interface "dnd.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/string.h"
+#include "wx/cursor.h"
+
+//-------------------------------------------------------------------------
+// classes
+//-------------------------------------------------------------------------
+
+class WXDLLEXPORT wxWindow;
+
+class WXDLLEXPORT wxDataObject;
+class WXDLLEXPORT wxTextDataObject;
+class WXDLLEXPORT wxFileDataObject;
+
+class WXDLLEXPORT wxDropTarget;
+class WXDLLEXPORT wxTextDropTarget;
+class WXDLLEXPORT wxFileDropTarget;
+
+class WXDLLEXPORT wxDropSource;
+
+//-------------------------------------------------------------------------
+// wxDataObject
+//-------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDataObject: public wxObject
+{
+public:
+ // all data formats (values are the same as in windows.h, do not change!)
+ enum StdFormat
+ {
+ Invalid,
+ Text,
+ Bitmap,
+ MetafilePict,
+ Sylk,
+ Dif,
+ Tiff,
+ OemText,
+ Dib,
+ Palette,
+ Pendata,
+ Riff,
+ Wave,
+ UnicodeText,
+ EnhMetafile,
+ Hdrop,
+ Locale,
+ Max
+ };
+
+ // function to return symbolic name of clipboard format (debug messages)
+ static const char *GetFormatName(wxDataFormat format);
+
+ // ctor & dtor
+ wxDataObject() {};
+ ~wxDataObject() {};
+
+ // pure virtuals to override
+ // get the best suited format for our data
+ virtual wxDataFormat GetPreferredFormat() const = 0;
+ // decide if we support this format (should be one of values of
+ // StdFormat enumerations or a user-defined format)
+ virtual bool IsSupportedFormat(wxDataFormat format) const = 0;
+ // get the (total) size of data
+ virtual size_t GetDataSize() const = 0;
+ // copy raw data to provided pointer
+ virtual void GetDataHere(void *pBuf) const = 0;
+
+};
+
+// ----------------------------------------------------------------------------
+// wxTextDataObject is a specialization of wxDataObject for text data
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxTextDataObject : public wxDataObject
+{
+public:
+ // ctors
+ wxTextDataObject() { }
+ wxTextDataObject(const wxString& strText) : m_strText(strText) { }
+ void Init(const wxString& strText) { m_strText = strText; }
+
+ // implement base class pure virtuals
+ virtual wxDataFormat GetPreferredFormat() const
+ { return wxDF_TEXT; }
+ virtual bool IsSupportedFormat(wxDataFormat format) const
+ { return format == wxDF_TEXT; }
+ virtual size_t GetDataSize() const
+ { return m_strText.Len() + 1; } // +1 for trailing '\0'of course
+ virtual void GetDataHere(void *pBuf) const
+ { memcpy(pBuf, m_strText.c_str(), GetDataSize()); }
+
+private:
+ wxString m_strText;
+
+};
+
+// ----------------------------------------------------------------------------
+// wxFileDataObject is a specialization of wxDataObject for file names
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxFileDataObject : public wxDataObject
+{
+public:
+
+ wxFileDataObject(void) { }
+ void AddFile( const wxString &file )
+ { m_files += file; m_files += ";"; }
+
+ // implement base class pure virtuals
+ virtual wxDataFormat GetPreferredFormat() const
+ { return wxDF_FILENAME; }
+ virtual bool IsSupportedFormat(wxDataFormat format) const
+ { return format == wxDF_FILENAME; }
+ virtual size_t GetDataSize() const
+ { return m_files.Len() + 1; } // +1 for trailing '\0'of course
+ virtual void GetDataHere(void *pBuf) const
+ { memcpy(pBuf, m_files.c_str(), GetDataSize()); }
+
+private:
+ wxString m_files;
+
+};
+//-------------------------------------------------------------------------
+// wxDropTarget
+//-------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDropTarget: public wxObject
+{
+ public:
+
+ wxDropTarget();
+ ~wxDropTarget();
+
+ virtual void OnEnter() { }
+ virtual void OnLeave() { }
+ virtual bool OnDrop( long x, long y, const void *pData ) = 0;
+
+// protected:
+
+ friend wxWindow;
+
+ // Override these to indicate what kind of data you support:
+
+ virtual size_t GetFormatCount() const = 0;
+ virtual wxDataFormat GetFormat(size_t n) const = 0;
+};
+
+//-------------------------------------------------------------------------
+// wxTextDropTarget
+//-------------------------------------------------------------------------
+
+class WXDLLEXPORT wxTextDropTarget: public wxDropTarget
+{
+ public:
+
+ wxTextDropTarget() {};
+ virtual bool OnDrop( long x, long y, const void *pData );
+ virtual bool OnDropText( long x, long y, const char *psz );
+
+ protected:
+
+ virtual size_t GetFormatCount() const;
+ virtual wxDataFormat GetFormat(size_t n) const;
+};
+
+// ----------------------------------------------------------------------------
+// A drop target which accepts files (dragged from File Manager or Explorer)
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxFileDropTarget: public wxDropTarget
+{
+ public:
+
+ wxFileDropTarget() {};
+
+ virtual bool OnDrop(long x, long y, const void *pData);
+ virtual bool OnDropFiles( long x, long y,
+ size_t nFiles, const char * const aszFiles[]);
+
+ protected:
+
+ virtual size_t GetFormatCount() const;
+ virtual wxDataFormat GetFormat(size_t n) const;
+};
+
+//-------------------------------------------------------------------------
+// wxDropSource
+//-------------------------------------------------------------------------
+
+enum wxDragResult
+ {
+ wxDragError, // error prevented the d&d operation from completing
+ wxDragNone, // drag target didn't accept the data
+ wxDragCopy, // the data was successfully copied
+ wxDragMove, // the data was successfully moved
+ wxDragCancel // the operation was cancelled by user (not an error)
+ };
+
+class WXDLLEXPORT wxDropSource: public wxObject
+{
+ public:
+
+ wxDropSource( wxWindow *win );
+ wxDropSource( wxDataObject &data, wxWindow *win );
+
+ ~wxDropSource(void);
+
+ void SetData( wxDataObject &data );
+ wxDragResult DoDragDrop( bool bAllowMove = FALSE );
+
+ virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
+
+ protected:
+
+ wxDataObject *m_data;
+};
+
+#endif
+ //_WX_DND_H_
+
diff --git a/include/wx/stubs/filedlg.h b/include/wx/stubs/filedlg.h
new file mode 100644
index 0000000000..bd6075eb15
--- /dev/null
+++ b/include/wx/stubs/filedlg.h
@@ -0,0 +1,89 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: filedlg.h
+// Purpose: wxFileDialog class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FILEDLG_H_
+#define _WX_FILEDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "filedlg.h"
+#endif
+
+#include "wx/dialog.h"
+
+/*
+ * File selector
+ */
+
+WXDLLEXPORT_DATA(extern const char*) wxFileSelectorPromptStr;
+WXDLLEXPORT_DATA(extern const char*) wxFileSelectorDefaultWildcardStr;
+
+class WXDLLEXPORT wxFileDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxFileDialog)
+protected:
+ wxString m_message;
+ long m_dialogStyle;
+ wxWindow * m_parent;
+ wxString m_dir;
+ wxString m_path; // Full path
+ wxString m_fileName;
+ wxString m_wildCard;
+ int m_filterIndex;
+public:
+ wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultDir = "", const wxString& defaultFile = "", const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
+ long style = 0, const wxPoint& pos = wxDefaultPosition);
+
+ inline void SetMessage(const wxString& message) { m_message = message; }
+ inline void SetPath(const wxString& path) { m_path = path; }
+ inline void SetDirectory(const wxString& dir) { m_dir = dir; }
+ inline void SetFilename(const wxString& name) { m_fileName = name; }
+ inline void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; }
+ inline void SetStyle(long style) { m_dialogStyle = style; }
+ inline void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; }
+
+ inline wxString GetMessage() const { return m_message; }
+ inline wxString GetPath() const { return m_path; }
+ inline wxString GetDirectory() const { return m_dir; }
+ inline wxString GetFilename() const { return m_fileName; }
+ inline wxString GetWildcard() const { return m_wildCard; }
+ inline long GetStyle() const { return m_dialogStyle; }
+ inline int GetFilterIndex() const { return m_filterIndex ; }
+
+ int ShowModal();
+};
+
+#define wxOPEN 0x0001
+#define wxSAVE 0x0002
+#define wxOVERWRITE_PROMPT 0x0004
+#define wxHIDE_READONLY 0x0008
+#define wxFILE_MUST_EXIST 0x0010
+
+// File selector - backward compatibility
+WXDLLEXPORT wxString wxFileSelector(const char *message = wxFileSelectorPromptStr, const char *default_path = NULL,
+ const char *default_filename = NULL, const char *default_extension = NULL,
+ const char *wildcard = wxFileSelectorDefaultWildcardStr, int flags = 0,
+ wxWindow *parent = NULL, int x = -1, int y = -1);
+
+// An extended version of wxFileSelector
+WXDLLEXPORT wxString wxFileSelectorEx(const char *message = wxFileSelectorPromptStr, const char *default_path = NULL,
+ const char *default_filename = NULL, int *indexDefaultExtension = NULL,
+ const char *wildcard = wxFileSelectorDefaultWildcardStr, int flags = 0,
+ wxWindow *parent = NULL, int x = -1, int y = -1);
+
+// Generic file load dialog
+WXDLLEXPORT wxString wxLoadFileSelector(const char *what, const char *extension, const char *default_name = NULL, wxWindow *parent = NULL);
+
+// Generic file save dialog
+WXDLLEXPORT wxString wxSaveFileSelector(const char *what, const char *extension, const char *default_name = NULL, wxWindow *parent = NULL);
+
+#endif
+ // _WX_FILEDLG_H_
diff --git a/include/wx/stubs/font.h b/include/wx/stubs/font.h
new file mode 100644
index 0000000000..aff8fb3a75
--- /dev/null
+++ b/include/wx/stubs/font.h
@@ -0,0 +1,89 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: font.h
+// Purpose: wxFont class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FONT_H_
+#define _WX_FONT_H_
+
+#ifdef __GNUG__
+#pragma interface "font.h"
+#endif
+
+#include "wx/gdiobj.h"
+
+class WXDLLEXPORT wxFont;
+
+class WXDLLEXPORT wxFontRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxFont;
+public:
+ wxFontRefData();
+ wxFontRefData(const wxFontRefData& data);
+ ~wxFontRefData();
+protected:
+ int m_pointSize;
+ int m_family;
+ int m_style;
+ int m_weight;
+ bool m_underlined;
+ wxString m_faceName;
+/* TODO: implementation
+ WXHFONT m_hFont;
+*/
+};
+
+#define M_FONTDATA ((wxFontRefData *)m_refData)
+
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// Font
+class WXDLLEXPORT wxFont: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxFont)
+public:
+ wxFont();
+ wxFont(int pointSize, int family, int style, int weight, bool underlined = FALSE, const wxString& faceName = wxEmptyString);
+ inline wxFont(const wxFont& font) { Ref(font); }
+
+ ~wxFont();
+
+ bool Create(int pointSize, int family, int style, int weight, bool underlined = FALSE, const wxString& faceName = wxEmptyString);
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ inline int GetPointSize() const { return M_FONTDATA->m_pointSize; }
+ inline int GetFamily() const { return M_FONTDATA->m_family; }
+ inline int GetStyle() const { return M_FONTDATA->m_style; }
+ inline int GetWeight() const { return M_FONTDATA->m_weight; }
+ wxString GetFamilyString() const ;
+ wxString GetFaceName() const ;
+ wxString GetStyleString() const ;
+ wxString GetWeightString() const ;
+ inline bool GetUnderlined() const { return M_FONTDATA->m_underlined; }
+
+ void SetPointSize(int pointSize);
+ void SetFamily(int family);
+ void SetStyle(int style);
+ void SetWeight(int weight);
+ void SetFaceName(const wxString& faceName);
+ void SetUnderlined(bool underlined);
+
+ inline wxFont& operator = (const wxFont& font) { if (*this == font) return (*this); Ref(font); return *this; }
+ inline bool operator == (const wxFont& font) { return m_refData == font.m_refData; }
+ inline bool operator != (const wxFont& font) { return m_refData != font.m_refData; }
+
+ // Implementation
+protected:
+ bool RealizeResource();
+ void Unshare();
+};
+
+#endif
+ // _WX_FONT_H_
diff --git a/include/wx/stubs/fontdlg.h b/include/wx/stubs/fontdlg.h
new file mode 100644
index 0000000000..39da6fd967
--- /dev/null
+++ b/include/wx/stubs/fontdlg.h
@@ -0,0 +1,46 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: fontdlg.h
+// Purpose: wxFontDialog class. Use generic version if no
+// platform-specific implementation.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FONTDLG_H_
+#define _WX_FONTDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "fontdlg.h"
+#endif
+
+#include "wx/dialog.h"
+#include "wx/cmndata.h"
+
+/*
+ * Font dialog
+ */
+
+class WXDLLEXPORT wxFontDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxFontDialog)
+public:
+ wxFontDialog();
+ wxFontDialog(wxWindow *parent, wxFontData *data = NULL);
+
+ bool Create(wxWindow *parent, wxFontData *data = NULL);
+
+ int ShowModal();
+ wxFontData& GetFontData() { return m_fontData; }
+
+protected:
+ wxWindow* m_dialogParent;
+ wxFontData m_fontData;
+};
+
+#endif
+ // _WX_FONTDLG_H_
+
diff --git a/include/wx/stubs/frame.h b/include/wx/stubs/frame.h
new file mode 100644
index 0000000000..540caf249e
--- /dev/null
+++ b/include/wx/stubs/frame.h
@@ -0,0 +1,159 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: frame.h
+// Purpose: wxFrame class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_FRAME_H_
+#define _WX_FRAME_H_
+
+#ifdef __GNUG__
+#pragma interface "frame.h"
+#endif
+
+#include "wx/window.h"
+#include "wx/toolbar.h"
+
+#if wxUSE_ACCEL
+#include "wx/accel.h"
+#endif
+
+WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
+
+class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxStatusBar;
+
+class WXDLLEXPORT wxFrame: public wxWindow {
+
+ DECLARE_DYNAMIC_CLASS(wxFrame)
+
+public:
+ wxFrame();
+ inline wxFrame(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxFrame();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr);
+
+ virtual bool Destroy();
+ void SetClientSize(int width, int height);
+ void GetClientSize(int *width, int *height) const;
+
+ void GetSize(int *width, int *height) const ;
+ void GetPosition(int *x, int *y) const ;
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void ClientToScreen(int *x, int *y) const;
+ void ScreenToClient(int *x, int *y) const;
+
+ void OnSize(wxSizeEvent& event);
+ void OnMenuHighlight(wxMenuEvent& event);
+ void OnActivate(wxActivateEvent& event);
+ void OnIdle(wxIdleEvent& event);
+ void OnCloseWindow(wxCloseEvent& event);
+
+ bool Show(bool show);
+
+ // Set menu bar
+ void SetMenuBar(wxMenuBar *menu_bar);
+ virtual wxMenuBar *GetMenuBar() const ;
+
+ // Set title
+ void SetTitle(const wxString& title);
+ wxString GetTitle() const ;
+
+ void Centre(int direction = wxBOTH);
+
+ // Call this to simulate a menu command
+ virtual void Command(int id);
+ virtual void ProcessCommand(int id);
+
+ // Set icon
+ virtual void SetIcon(const wxIcon& icon);
+
+ // Create status line
+ virtual wxStatusBar* CreateStatusBar(int number=1, long style = wxST_SIZEGRIP, wxWindowID id = 0,
+ const wxString& name = "statusBar");
+ inline wxStatusBar *GetStatusBar() const { return m_frameStatusBar; }
+ virtual void PositionStatusBar();
+ virtual wxStatusBar *OnCreateStatusBar(int number, long style, wxWindowID id,
+ const wxString& name);
+
+ // Create toolbar
+ virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1, const wxString& name = wxToolBarNameStr);
+ virtual wxToolBar *OnCreateToolBar(long style, wxWindowID id, const wxString& name);
+ // If made known to the frame, the frame will manage it automatically.
+ virtual inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
+ virtual inline wxToolBar *GetToolBar() const { return m_frameToolBar; }
+ virtual void PositionToolBar();
+
+ // Set status line text
+ virtual void SetStatusText(const wxString& text, int number = 0);
+
+ // Set status line widths
+ virtual void SetStatusWidths(int n, const int widths_field[]);
+
+ // Hint to tell framework which status bar to use
+ // TODO: should this go into a wxFrameworkSettings class perhaps?
+ static void UseNativeStatusBar(bool useNative) { m_useNativeStatusBar = useNative; };
+ static bool UsesNativeStatusBar() { return m_useNativeStatusBar; };
+
+ // Fit frame around subwindows
+ virtual void Fit();
+
+ // Iconize
+ virtual void Iconize(bool iconize);
+
+ virtual bool IsIconized() const ;
+
+ // Compatibility
+ inline bool Iconized() const { return IsIconized(); }
+
+ // Is the frame maximized?
+ virtual bool IsMaximized(void) const ;
+
+ virtual void Maximize(bool maximize);
+
+ // Responds to colour changes
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+ // Query app for menu item updates (called from OnIdle)
+ void DoMenuUpdates();
+ void DoMenuUpdates(wxMenu* menu, wxWindow* focusWin);
+
+ // Checks if there is a toolbar, and returns the first free client position
+ virtual wxPoint GetClientAreaOrigin() const;
+
+protected:
+ wxMenuBar * m_frameMenuBar;
+ wxStatusBar * m_frameStatusBar;
+ wxIcon m_icon;
+ bool m_iconized;
+ static bool m_useNativeStatusBar;
+ wxToolBar * m_frameToolBar ;
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_FRAME_H_
diff --git a/include/wx/stubs/gauge.h b/include/wx/stubs/gauge.h
new file mode 100644
index 0000000000..ce19d9ef1f
--- /dev/null
+++ b/include/wx/stubs/gauge.h
@@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gauge.h
+// Purpose: wxGauge class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GAUGE_H_
+#define _WX_GAUGE_H_
+
+#ifdef __GNUG__
+#pragma interface "gauge.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxGaugeNameStr;
+
+// Group box
+class WXDLLEXPORT wxGauge: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxGauge)
+ public:
+ inline wxGauge() { m_rangeMax = 0; m_gaugePos = 0; }
+
+ inline wxGauge(wxWindow *parent, wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr)
+ {
+ Create(parent, id, range, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ int range,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxGA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxGaugeNameStr);
+
+ void SetShadowWidth(int w);
+ void SetBezelFace(int w);
+ void SetRange(int r);
+ void SetValue(int pos);
+
+ int GetShadowWidth() const ;
+ int GetBezelFace() const ;
+ int GetRange() const ;
+ int GetValue() const ;
+
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {} ;
+
+ protected:
+ int m_rangeMax;
+ int m_gaugePos;
+};
+
+#endif
+ // _WX_GAUGE_H_
diff --git a/include/wx/stubs/gdiobj.h b/include/wx/stubs/gdiobj.h
new file mode 100644
index 0000000000..9263d4d6ad
--- /dev/null
+++ b/include/wx/stubs/gdiobj.h
@@ -0,0 +1,48 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: gdiobj.h
+// Purpose: wxGDIObject class: base class for other GDI classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GDIOBJ_H_
+#define _WX_GDIOBJ_H_
+
+#include "wx/object.h"
+
+#ifdef __GNUG__
+#pragma interface "gdiobj.h"
+#endif
+
+class WXDLLEXPORT wxGDIRefData: public wxObjectRefData {
+public:
+ inline wxGDIRefData()
+ {
+ }
+};
+
+#define M_GDIDATA ((wxGDIRefData *)m_refData)
+
+class WXDLLEXPORT wxGDIObject: public wxObject
+{
+DECLARE_DYNAMIC_CLASS(wxGDIObject)
+ public:
+ inline wxGDIObject() { m_visible = FALSE; };
+ inline ~wxGDIObject() {};
+
+ inline bool IsNull() const { return (m_refData == 0); }
+
+ virtual bool GetVisible() { return m_visible; }
+ virtual void SetVisible(bool v) { m_visible = v; }
+
+protected:
+ bool m_visible; // Can a pointer to this object be safely taken?
+ // - only if created within FindOrCreate...
+};
+
+#endif
+ // _WX_GDIOBJ_H_
diff --git a/include/wx/stubs/helpxxxx.h b/include/wx/stubs/helpxxxx.h
new file mode 100644
index 0000000000..d53c28b7e4
--- /dev/null
+++ b/include/wx/stubs/helpxxxx.h
@@ -0,0 +1,52 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: helpxxxx.h
+// Purpose: Help system: native implementation for your system. Replace
+// XXXX with suitable name.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_HELPXXXX_H_
+#define _WX_HELPXXXX_H_
+
+#ifdef __GNUG__
+#pragma interface "helpxxxx.h"
+#endif
+
+#include "wx/wx.h"
+
+#include "wx/helpbase.h"
+
+class WXDLLEXPORT wxXXXXHelpController: public wxHelpControllerBase
+{
+ DECLARE_CLASS(wxXXXXHelpController)
+
+ public:
+ wxXXXXHelpController();
+ ~wxXXXXHelpController();
+
+ // Must call this to set the filename and server name
+ virtual bool Initialize(const wxString& file);
+
+ // If file is "", reloads file given in Initialize
+ virtual bool LoadFile(const wxString& file = "");
+ virtual bool DisplayContents();
+ virtual bool DisplaySection(int sectionNo);
+ virtual bool DisplayBlock(long blockNo);
+ virtual bool KeywordSearch(const wxString& k);
+
+ virtual bool Quit();
+ virtual void OnQuit();
+
+ inline wxString GetHelpFile() const { return m_helpFile; }
+
+protected:
+ wxString m_helpFile;
+};
+
+#endif
+ // _WX_HELPXXXX_H_
diff --git a/include/wx/stubs/icon.h b/include/wx/stubs/icon.h
new file mode 100644
index 0000000000..df475672ba
--- /dev/null
+++ b/include/wx/stubs/icon.h
@@ -0,0 +1,106 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: icon.h
+// Purpose: wxIcon class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_ICON_H_
+#define _WX_ICON_H_
+
+#ifdef __GNUG__
+#pragma interface "icon.h"
+#endif
+
+#include "wx/bitmap.h"
+
+class WXDLLEXPORT wxIconRefData: public wxBitmapRefData
+{
+ friend class WXDLLEXPORT wxBitmap;
+ friend class WXDLLEXPORT wxIcon;
+public:
+ wxIconRefData();
+ ~wxIconRefData();
+
+public:
+/* TODO: whatever your actual icon handle is
+ WXHICON m_hIcon;
+*/
+};
+
+#define M_ICONDATA ((wxIconRefData *)m_refData)
+#define M_ICONHANDLERDATA ((wxIconRefData *)bitmap->GetRefData())
+
+// Icon
+class WXDLLEXPORT wxIcon: public wxBitmap
+{
+ DECLARE_DYNAMIC_CLASS(wxIcon)
+
+public:
+ wxIcon();
+
+ // Copy constructors
+ inline wxIcon(const wxIcon& icon) { Ref(icon); }
+
+ wxIcon(const char bits[], int width, int height);
+ wxIcon(const wxString& name, long flags = wxBITMAP_TYPE_ICO_RESOURCE,
+ int desiredWidth = -1, int desiredHeight = -1);
+ ~wxIcon();
+
+ bool LoadFile(const wxString& name, long flags = wxBITMAP_TYPE_ICO_RESOURCE,
+ int desiredWidth = -1, int desiredHeight = -1);
+
+ inline wxIcon& operator = (const wxIcon& icon) { if (*this == icon) return (*this); Ref(icon); return *this; }
+ inline bool operator == (const wxIcon& icon) { return m_refData == icon.m_refData; }
+ inline bool operator != (const wxIcon& icon) { return m_refData != icon.m_refData; }
+
+/* TODO: implementation
+ void SetHICON(WXHICON ico);
+ inline WXHICON GetHICON() const { return (M_ICONDATA ? M_ICONDATA->m_hIcon : 0); }
+*/
+
+/* TODO */
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+};
+
+/* Example handlers. TODO: write your own handlers for relevant types.
+
+class WXDLLEXPORT wxICOFileHandler: public wxBitmapHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxICOFileHandler)
+public:
+ inline wxICOFileHandler()
+ {
+ m_name = "ICO icon file";
+ m_extension = "ico";
+ m_type = wxBITMAP_TYPE_ICO;
+ };
+
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth = -1, int desiredHeight = -1);
+};
+
+class WXDLLEXPORT wxICOResourceHandler: public wxBitmapHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxICOResourceHandler)
+public:
+ inline wxICOResourceHandler()
+ {
+ m_name = "ICO resource";
+ m_extension = "ico";
+ m_type = wxBITMAP_TYPE_ICO_RESOURCE;
+ };
+
+ virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
+ int desiredWidth = -1, int desiredHeight = -1);
+
+};
+
+*/
+
+#endif
+ // _WX_ICON_H_
diff --git a/include/wx/stubs/imaglist.h b/include/wx/stubs/imaglist.h
new file mode 100644
index 0000000000..7e66ffb36a
--- /dev/null
+++ b/include/wx/stubs/imaglist.h
@@ -0,0 +1,145 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: imaglist.h
+// Purpose: wxImageList class. Note: if your GUI doesn't have
+// an image list equivalent, you can use the generic class
+// in src/generic.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_IMAGLIST_H_
+#define _WX_IMAGLIST_H_
+
+#ifdef __GNUG__
+#pragma interface "imaglist.h"
+#endif
+
+#include "wx/bitmap.h"
+
+/*
+ * wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
+ * images for their items by an index into an image list.
+ * A wxImageList is capable of creating images with optional masks from
+ * a variety of sources - a single bitmap plus a colour to indicate the mask,
+ * two bitmaps, or an icon.
+ *
+ */
+
+// Flags for Draw
+#define wxIMAGELIST_DRAW_NORMAL 0x0001
+#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002
+#define wxIMAGELIST_DRAW_SELECTED 0x0004
+#define wxIMAGELIST_DRAW_FOCUSED 0x0008
+
+// Flag values for Set/GetImageList
+enum {
+ wxIMAGE_LIST_NORMAL, // Normal icons
+ wxIMAGE_LIST_SMALL, // Small icons
+ wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation)
+};
+
+// Eventually we'll make this a reference-counted wxGDIObject. For
+// now, the app must take care of ownership issues. That is, the
+// image lists must be explicitly deleted after the control(s) that uses them
+// is (are) deleted, or when the app exits.
+class WXDLLEXPORT wxImageList: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxImageList)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxImageList();
+
+ // Creates an image list.
+ // Specify the width and height of the images in the list,
+ // whether there are masks associated with them (e.g. if creating images
+ // from icons), and the initial size of the list.
+ inline wxImageList(int width, int height, bool mask = TRUE, int initialCount = 1)
+ {
+ Create(width, height, mask, initialCount);
+ }
+ ~wxImageList();
+
+
+ // Attributes
+ ////////////////////////////////////////////////////////////////////////////
+
+ // Returns the number of images in the image list.
+ int GetImageCount() const;
+
+ // Operations
+ ////////////////////////////////////////////////////////////////////////////
+
+ // Creates an image list
+ // width, height specify the size of the images in the list (all the same).
+ // mask specifies whether the images have masks or not.
+ // initialNumber is the initial number of images to reserve.
+ bool Create(int width, int height, bool mask = TRUE, int initialNumber = 1);
+
+ // Adds a bitmap, and optionally a mask bitmap.
+ // Note that wxImageList creates *new* bitmaps, so you may delete
+ // 'bitmap' and 'mask' after calling Add.
+ int Add(const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap);
+
+ // Adds a bitmap, using the specified colour to create the mask bitmap
+ // Note that wxImageList creates *new* bitmaps, so you may delete
+ // 'bitmap' after calling Add.
+ int Add(const wxBitmap& bitmap, const wxColour& maskColour);
+
+ // Adds a bitmap and mask from an icon.
+ int Add(const wxIcon& icon);
+
+ // Replaces a bitmap, optionally passing a mask bitmap.
+ // Note that wxImageList creates new bitmaps, so you may delete
+ // 'bitmap' and 'mask' after calling Replace.
+ bool Replace(int index, const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap);
+
+/* Not supported by Win95
+ // Replacing a bitmap, using the specified colour to create the mask bitmap
+ // Note that wxImageList creates new bitmaps, so you may delete
+ // 'bitmap'.
+ bool Replace(int index, const wxBitmap& bitmap, const wxColour& maskColour);
+*/
+
+ // Replaces a bitmap and mask from an icon.
+ // You can delete 'icon' after calling Replace.
+ bool Replace(int index, const wxIcon& icon);
+
+ // Removes the image at the given index.
+ bool Remove(int index);
+
+ // Remove all images
+ bool RemoveAll();
+
+ // Draws the given image on a dc at the specified position.
+ // If 'solidBackground' is TRUE, Draw sets the image list background
+ // colour to the background colour of the wxDC, to speed up
+ // drawing by eliminating masked drawing where possible.
+ bool Draw(int index, wxDC& dc, int x, int y,
+ int flags = wxIMAGELIST_DRAW_NORMAL, bool solidBackground = FALSE);
+
+/* TODO (optional?)
+ wxIcon *MakeIcon(int index);
+*/
+
+/* TODO
+ // Implementation
+ ////////////////////////////////////////////////////////////////////////////
+
+ // Returns the native image list handle
+ inline WXHIMAGELIST GetHIMAGELIST() const { return m_hImageList; }
+
+protected:
+ WXHIMAGELIST m_hImageList;
+*/
+
+};
+
+#endif
+ // _WX_IMAGLIST_H_
diff --git a/include/wx/stubs/joystick.h b/include/wx/stubs/joystick.h
new file mode 100644
index 0000000000..30324fc035
--- /dev/null
+++ b/include/wx/stubs/joystick.h
@@ -0,0 +1,93 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: joystick.h
+// Purpose: wxJoystick class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_JOYSTICK_H_
+#define _WX_JOYSTICK_H_
+
+#ifdef __GNUG__
+#pragma interface "joystick.h"
+#endif
+
+#include "wx/event.h"
+
+class WXDLLEXPORT wxJoystick: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxJoystick)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxJoystick(int joystick = wxJOYSTICK1) { m_joystick = joystick; };
+
+ // Attributes
+ ////////////////////////////////////////////////////////////////////////////
+
+ wxPoint GetPosition() const;
+ int GetZPosition() const;
+ int GetButtonState() const;
+ int GetPOVPosition() const;
+ int GetPOVCTSPosition() const;
+ int GetRudderPosition() const;
+ int GetUPosition() const;
+ int GetVPosition() const;
+ int GetMovementThreshold() const;
+ void SetMovementThreshold(int threshold) ;
+
+ // Capabilities
+ ////////////////////////////////////////////////////////////////////////////
+
+ bool IsOk() const; // Checks that the joystick is functioning
+ int GetNumberJoysticks() const ;
+ int GetManufacturerId() const ;
+ int GetProductId() const ;
+ wxString GetProductName() const ;
+ int GetXMin() const;
+ int GetYMin() const;
+ int GetZMin() const;
+ int GetXMax() const;
+ int GetYMax() const;
+ int GetZMax() const;
+ int GetNumberButtons() const;
+ int GetNumberAxes() const;
+ int GetMaxButtons() const;
+ int GetMaxAxes() const;
+ int GetPollingMin() const;
+ int GetPollingMax() const;
+ int GetRudderMin() const;
+ int GetRudderMax() const;
+ int GetUMin() const;
+ int GetUMax() const;
+ int GetVMin() const;
+ int GetVMax() const;
+
+ bool HasRudder() const;
+ bool HasZ() const;
+ bool HasU() const;
+ bool HasV() const;
+ bool HasPOV() const;
+ bool HasPOV4Dir() const;
+ bool HasPOVCTS() const;
+
+ // Operations
+ ////////////////////////////////////////////////////////////////////////////
+
+ // pollingFreq = 0 means that movement events are sent when above the threshold.
+ // If pollingFreq > 0, events are received every this many milliseconds.
+ bool SetCapture(wxWindow* win, int pollingFreq = 0);
+ bool ReleaseCapture();
+
+protected:
+ int m_joystick;
+};
+
+#endif
+ // _WX_JOYSTICK_H_
diff --git a/include/wx/stubs/listbox.h b/include/wx/stubs/listbox.h
new file mode 100644
index 0000000000..d95db4379b
--- /dev/null
+++ b/include/wx/stubs/listbox.h
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: listbox.h
+// Purpose: wxListBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_LISTBOX_H_
+#define _WX_LISTBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "listbox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxListBoxNameStr;
+
+// forward decl for GetSelections()
+class WXDLLEXPORT wxArrayInt;
+
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// List box item
+class WXDLLEXPORT wxListBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxListBox)
+ public:
+
+ wxListBox();
+ inline wxListBox(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxListBoxNameStr)
+ {
+ Create(parent, id, pos, size, n, choices, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxListBoxNameStr);
+
+ ~wxListBox();
+
+ virtual void Append(const wxString& item);
+ virtual void Append(const wxString& item, char *clientData);
+ virtual void Set(int n, const wxString* choices, char **clientData = NULL);
+ virtual int FindString(const wxString& s) const ;
+ virtual void Clear();
+ virtual void SetSelection(int n, bool select = TRUE);
+
+ virtual void Deselect(int n);
+
+ // For single choice list item only
+ virtual int GetSelection() const ;
+ virtual void Delete(int n);
+ virtual char *GetClientData(int n) const ;
+ virtual void SetClientData(int n, char *clientData);
+ virtual void SetString(int n, const wxString& s);
+
+ // For single or multiple choice list item
+ virtual int GetSelections(wxArrayInt& aSelections) const;
+ virtual bool Selected(int n) const ;
+ virtual wxString GetString(int n) const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ // Set the specified item at the first visible item
+ // or scroll to max range.
+ virtual void SetFirstItem(int n) ;
+ virtual void SetFirstItem(const wxString& s) ;
+
+ virtual void InsertItems(int nItems, const wxString items[], int pos);
+
+ virtual wxString GetStringSelection() const ;
+ virtual bool SetStringSelection(const wxString& s, bool flag = TRUE);
+ virtual int Number() const ;
+
+ void Command(wxCommandEvent& event);
+
+ protected:
+ int m_noItems;
+ int m_selected;
+};
+
+#endif
+ // _WX_LISTBOX_H_
diff --git a/include/wx/stubs/listctrl.h b/include/wx/stubs/listctrl.h
new file mode 100644
index 0000000000..6dfc25df98
--- /dev/null
+++ b/include/wx/stubs/listctrl.h
@@ -0,0 +1,451 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: listctrl.h
+// Purpose: wxListCtrl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_LISTCTRL_H_
+#define _WX_LISTCTRL_H_
+
+#ifdef __GNUG__
+#pragma interface "listctrl.h"
+#endif
+
+#include "wx/control.h"
+#include "wx/event.h"
+#include "wx/imaglist.h"
+
+/*
+ The wxListCtrl can show lists of items in four different modes:
+ wxLC_LIST: multicolumn list view, with optional small icons (icons could be
+ optional for some platforms). Columns are computed automatically,
+ i.e. you don't set columns as in wxLC_REPORT. In other words,
+ the list wraps, unlike a wxListBox.
+ wxLC_REPORT: single or multicolumn report view (with optional header)
+ wxLC_ICON: large icon view, with optional labels
+ wxLC_SMALL_ICON: small icon view, with optional labels
+
+ You can change the style dynamically, either with SetSingleStyle or
+ SetWindowStyleFlag.
+
+ Further window styles:
+
+ wxLC_ALIGN_TOP icons align to the top (default)
+ wxLC_ALIGN_LEFT icons align to the left
+ wxLC_AUTOARRANGE icons arrange themselves
+ wxLC_USER_TEXT the app provides label text on demand, except for column headers
+ wxLC_EDIT_LABELS labels are editable: app will be notified.
+ wxLC_NO_HEADER no header in report mode
+ wxLC_NO_SORT_HEADER can't click on header
+ wxLC_SINGLE_SEL single selection
+ wxLC_SORT_ASCENDING sort ascending (must still supply a comparison callback in SortItems)
+ wxLC_SORT_DESCENDING sort descending (ditto)
+
+ Items are referred to by their index (position in the list starting from zero).
+
+ Label text is supplied via insertion/setting functions and is stored by the
+ control, unless the wxLC_USER_TEXT style has been specified, in which case
+ the app will be notified when text is required (see sample).
+
+ Images are dealt with by (optionally) associating 3 image lists with the control.
+ Zero-based indexes into these image lists indicate which image is to be used for
+ which item. Each image in an image list can contain a mask, and can be made out
+ of either a bitmap, two bitmaps or an icon. See ImagList.h for more details.
+
+ Notifications are passed via the wxWindows 2.0 event system.
+
+ See the sample wxListCtrl app for API usage.
+
+ */
+
+// Mask flags to tell app/GUI what fields of wxListItem are valid
+#define wxLIST_MASK_STATE 0x0001
+#define wxLIST_MASK_TEXT 0x0002
+#define wxLIST_MASK_IMAGE 0x0004
+#define wxLIST_MASK_DATA 0x0008
+#define wxLIST_SET_ITEM 0x0010
+#define wxLIST_MASK_WIDTH 0x0020
+#define wxLIST_MASK_FORMAT 0x0040
+
+// State flags for indicating the state of an item
+#define wxLIST_STATE_DONTCARE 0x0000
+#define wxLIST_STATE_DROPHILITED 0x0001
+#define wxLIST_STATE_FOCUSED 0x0002
+#define wxLIST_STATE_SELECTED 0x0004
+#define wxLIST_STATE_CUT 0x0008
+
+// Hit test flags, used in HitTest
+#define wxLIST_HITTEST_ABOVE 0x0001 // Above the client area.
+#define wxLIST_HITTEST_BELOW 0x0002 // Below the client area.
+#define wxLIST_HITTEST_NOWHERE 0x0004 // In the client area but below the last item.
+#define wxLIST_HITTEST_ONITEMICON 0x0020 // On the bitmap associated with an item.
+#define wxLIST_HITTEST_ONITEMLABEL 0x0080 // On the label (string) associated with an item.
+#define wxLIST_HITTEST_ONITEMRIGHT 0x0100 // In the area to the right of an item.
+#define wxLIST_HITTEST_ONITEMSTATEICON 0x0200 // On the state icon for a tree view item that is in a user-defined state.
+#define wxLIST_HITTEST_TOLEFT 0x0400 // To the left of the client area.
+#define wxLIST_HITTEST_TORIGHT 0x0800 // To the right of the client area.
+
+#define wxLIST_HITTEST_ONITEM (wxLIST_HITTEST_ONITEMICON | wxLIST_HITTEST_ONITEMLABEL wxLIST_HITTEST_ONITEMSTATEICON)
+
+// Flags for GetNextItem
+enum {
+ wxLIST_NEXT_ABOVE, // Searches for an item above the specified item
+ wxLIST_NEXT_ALL, // Searches for subsequent item by index
+ wxLIST_NEXT_BELOW, // Searches for an item below the specified item
+ wxLIST_NEXT_LEFT, // Searches for an item to the left of the specified item
+ wxLIST_NEXT_RIGHT, // Searches for an item to the right of the specified item
+};
+
+// Alignment flags for Arrange
+enum {
+ wxLIST_ALIGN_DEFAULT,
+ wxLIST_ALIGN_LEFT,
+ wxLIST_ALIGN_TOP,
+ wxLIST_ALIGN_SNAP_TO_GRID
+};
+
+// Column format
+enum {
+ wxLIST_FORMAT_LEFT,
+ wxLIST_FORMAT_RIGHT,
+ wxLIST_FORMAT_CENTRE,
+ wxLIST_FORMAT_CENTER = wxLIST_FORMAT_CENTRE
+};
+
+// Autosize values for SetColumnWidth
+enum {
+ wxLIST_AUTOSIZE = -1,
+ wxLIST_AUTOSIZE_USEHEADER = -2
+};
+
+// Flag values for GetItemRect
+enum {
+ wxLIST_RECT_BOUNDS,
+ wxLIST_RECT_ICON,
+ wxLIST_RECT_LABEL
+};
+
+// Flag values for FindItem
+enum {
+ wxLIST_FIND_UP,
+ wxLIST_FIND_DOWN,
+ wxLIST_FIND_LEFT,
+ wxLIST_FIND_RIGHT
+};
+
+// wxListItem: data representing an item, or report field.
+// It also doubles up to represent entire column information
+// when inserting or setting a column.
+class WXDLLEXPORT wxListItem: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxListItem)
+public:
+ long m_mask; // Indicates what fields are valid
+ long m_itemId; // The zero-based item position
+ int m_col; // Zero-based column, if in report mode
+ long m_state; // The state of the item
+ long m_stateMask; // Which flags of m_state are valid (uses same flags)
+ wxString m_text; // The label/header text
+ int m_image; // The zero-based index into an image list
+ long m_data; // App-defined data
+
+ // For columns only
+ int m_format; // left, right, centre
+ int m_width; // width of column
+
+ wxListItem();
+};
+
+// type of compare function for wxListCtrl sort operation
+typedef int (*wxListCtrlCompare)(long item1, long item2, long sortData);
+
+class WXDLLEXPORT wxListCtrl: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxListCtrl)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxListCtrl();
+
+ inline wxListCtrl(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "listCtrl")
+ {
+ Create(parent, id, pos, size, style, validator, name);
+ }
+ ~wxListCtrl();
+
+ bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator, const wxString& name = "wxListCtrl");
+
+
+ // Attributes
+ ////////////////////////////////////////////////////////////////////////////
+
+ // Gets information about this column
+ bool GetColumn(int col, wxListItem& item) const;
+
+ // Sets information about this column
+ bool SetColumn(int col, wxListItem& item) ;
+
+ // Gets the column width
+ int GetColumnWidth(int col) const;
+
+ // Sets the column width
+ bool SetColumnWidth(int col, int width) ;
+
+ // Gets the number of items that can fit vertically in the
+ // visible area of the list control (list or report view)
+ // or the total number of items in the list control (icon
+ // or small icon view)
+ int GetCountPerPage() const;
+
+ // Gets the edit control for editing labels.
+ wxTextCtrl* GetEditControl() const;
+
+ // Gets information about the item
+ bool GetItem(wxListItem& info) const ;
+
+ // Sets information about the item
+ bool SetItem(wxListItem& info) ;
+
+ // Sets a string field at a particular column
+ long SetItem(long index, int col, const wxString& label, int imageId = -1);
+
+ // Gets the item state
+ int GetItemState(long item, long stateMask) const ;
+
+ // Sets the item state
+ bool SetItemState(long item, long state, long stateMask) ;
+
+ // Sets the item image
+ bool SetItemImage(long item, int image, int selImage) ;
+
+ // Gets the item text
+ wxString GetItemText(long item) const ;
+
+ // Sets the item text
+ void SetItemText(long item, const wxString& str) ;
+
+ // Gets the item data
+ long GetItemData(long item) const ;
+
+ // Sets the item data
+ bool SetItemData(long item, long data) ;
+
+ // Gets the item rectangle
+ bool GetItemRect(long item, wxRect& rect, int code = wxLIST_RECT_BOUNDS) const ;
+
+ // Gets the item position
+ bool GetItemPosition(long item, wxPoint& pos) const ;
+
+ // Sets the item position
+ bool SetItemPosition(long item, const wxPoint& pos) ;
+
+ // Gets the number of items in the list control
+ int GetItemCount() const;
+
+ // Gets the number of columns in the list control
+ int GetColumnCount() const;
+
+ // Retrieves the spacing between icons in pixels.
+ // If small is TRUE, gets the spacing for the small icon
+ // view, otherwise the large icon view.
+ int GetItemSpacing(bool isSmall) const;
+
+ // Gets the number of selected items in the list control
+ int GetSelectedItemCount() const;
+
+ // Gets the text colour of the listview
+ wxColour GetTextColour() const;
+
+ // Sets the text colour of the listview
+ void SetTextColour(const wxColour& col);
+
+ // Gets the index of the topmost visible item when in
+ // list or report view
+ long GetTopItem() const ;
+
+ // Add or remove a single window style
+ void SetSingleStyle(long style, bool add = TRUE) ;
+
+ // Set the whole window style
+ void SetWindowStyleFlag(long style) ;
+
+ // Searches for an item, starting from 'item'.
+ // item can be -1 to find the first item that matches the
+ // specified flags.
+ // Returns the item or -1 if unsuccessful.
+ long GetNextItem(long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE) const ;
+
+ // Implementation: converts wxWindows style to MSW style.
+ // Can be a single style flag or a bit list.
+ // oldStyle is 'normalised' so that it doesn't contain
+ // conflicting styles.
+ long ConvertToMSWStyle(long& oldStyle, long style) const;
+
+ // Gets one of the three image lists
+ wxImageList *GetImageList(int which) const ;
+
+ // Sets the image list
+ // N.B. There's a quirk in the Win95 list view implementation.
+ // If in wxLC_LIST mode, it'll *still* display images by the labels if
+ // there's a small-icon image list set for the control - even though you
+ // haven't specified wxLIST_MASK_IMAGE when inserting.
+ // So you have to set a NULL small-icon image list to be sure that
+ // the wxLC_LIST mode works without icons. Of course, you may want icons...
+ void SetImageList(wxImageList *imageList, int which) ;
+
+ // Operations
+ ////////////////////////////////////////////////////////////////////////////
+
+ // Arranges the items
+ bool Arrange(int flag = wxLIST_ALIGN_DEFAULT);
+
+ // Deletes an item
+ bool DeleteItem(long item);
+
+ // Deletes all items
+ bool DeleteAllItems() ;
+
+ // Deletes a column
+ bool DeleteColumn(int col);
+
+ // Deletes all columns
+ bool DeleteAllColumns();
+
+ // Clears items, and columns if there are any.
+ void ClearAll();
+
+ // Edit the label
+ wxTextCtrl* EditLabel(long item, wxClassInfo* textControlClass = CLASSINFO(wxTextCtrl));
+
+ // End label editing, optionally cancelling the edit
+ bool EndEditLabel(bool cancel);
+
+ // Ensures this item is visible
+ bool EnsureVisible(long item) ;
+
+ // Find an item whose label matches this string, starting from the item after 'start'
+ // or the beginning if 'start' is -1.
+ long FindItem(long start, const wxString& str, bool partial = FALSE);
+
+ // Find an item whose data matches this data, starting from the item after 'start'
+ // or the beginning if 'start' is -1.
+ long FindItem(long start, long data);
+
+ // Find an item nearest this position in the specified direction, starting from
+ // the item after 'start' or the beginning if 'start' is -1.
+ long FindItem(long start, const wxPoint& pt, int direction);
+
+ // Determines which item (if any) is at the specified point,
+ // giving details in 'flags' (see wxLIST_HITTEST_... flags above)
+ long HitTest(const wxPoint& point, int& flags);
+
+ // Inserts an item, returning the index of the new item if successful,
+ // -1 otherwise.
+ // TOD: Should also have some further convenience functions
+ // which don't require setting a wxListItem object
+ long InsertItem(wxListItem& info);
+
+ // Insert a string item
+ long InsertItem(long index, const wxString& label);
+
+ // Insert an image item
+ long InsertItem(long index, int imageIndex);
+
+ // Insert an image/string item
+ long InsertItem(long index, const wxString& label, int imageIndex);
+
+ // For list view mode (only), inserts a column.
+ long InsertColumn(long col, wxListItem& info);
+
+ long InsertColumn(long col, const wxString& heading, int format = wxLIST_FORMAT_LEFT,
+ int width = -1);
+
+ // Scrolls the list control. If in icon, small icon or report view mode,
+ // x specifies the number of pixels to scroll. If in list view mode, x
+ // specifies the number of columns to scroll.
+ // If in icon, small icon or list view mode, y specifies the number of pixels
+ // to scroll. If in report view mode, y specifies the number of lines to scroll.
+ bool ScrollList(int dx, int dy);
+
+ // Sort items.
+
+ // fn is a function which takes 3 long arguments: item1, item2, data.
+ // item1 is the long data associated with a first item (NOT the index).
+ // item2 is the long data associated with a second item (NOT the index).
+ // data is the same value as passed to SortItems.
+ // The return value is a negative number if the first item should precede the second
+ // item, a positive number of the second item should precede the first,
+ // or zero if the two items are equivalent.
+
+ // data is arbitrary data to be passed to the sort function.
+ bool SortItems(wxListCtrlCompare fn, long data);
+
+/* Why should we need this function? Leave for now.
+ * We might need it because item data may have changed,
+ * but the display needs refreshing (in string callback mode)
+ // Updates an item. If the list control has the wxLI_AUTO_ARRANGE style,
+ // the items will be rearranged.
+ bool Update(long item);
+*/
+
+ void Command(wxCommandEvent& event) { ProcessCommand(event); };
+
+protected:
+ wxTextCtrl* m_textCtrl; // The control used for editing a label
+ wxImageList * m_imageListNormal; // The image list for normal icons
+ wxImageList * m_imageListSmall; // The image list for small icons
+ wxImageList * m_imageListState; // The image list state icons (not implemented yet)
+
+ long m_baseStyle; // Basic Windows style flags, for recreation purposes
+ wxStringList m_stringPool; // Pool of 3 strings to satisfy Windows callback
+ // requirements
+ int m_colCount; // Windows doesn't have GetColumnCount so must
+ // keep track of inserted/deleted columns
+
+};
+
+class WXDLLEXPORT wxListEvent: public wxCommandEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxListEvent)
+
+ public:
+ wxListEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+
+ int m_code;
+ long m_itemIndex;
+ long m_oldItemIndex;
+ int m_col;
+ bool m_cancelled;
+ wxPoint m_pointDrag;
+
+ wxListItem m_item;
+};
+
+typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&);
+
+#define EVT_LIST_BEGIN_DRAG(id, fn) { wxEVT_COMMAND_LIST_BEGIN_DRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_BEGIN_RDRAG(id, fn) { wxEVT_COMMAND_LIST_BEGIN_RDRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_BEGIN_LABEL_EDIT(id, fn) { wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_END_LABEL_EDIT(id, fn) { wxEVT_COMMAND_LIST_END_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_DELETE_ITEM(id, fn) { wxEVT_COMMAND_LIST_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_DELETE_ALL_ITEMS(id, fn) { wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_GET_INFO(id, fn) { wxEVT_COMMAND_LIST_GET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_SET_INFO(id, fn) { wxEVT_COMMAND_LIST_SET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_ITEM_SELECTED(id, fn) { wxEVT_COMMAND_LIST_ITEM_SELECTED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_ITEM_DESELECTED(id, fn) { wxEVT_COMMAND_LIST_ITEM_DESELECTED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_KEY_DOWN(id, fn) { wxEVT_COMMAND_LIST_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_INSERT_ITEM(id, fn) { wxEVT_COMMAND_LIST_INSERT_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_COL_CLICK(id, fn) { wxEVT_COMMAND_LIST_COL_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+
+#endif
+ // _WX_LISTCTRL_H_
diff --git a/include/wx/stubs/mdi.h b/include/wx/stubs/mdi.h
new file mode 100644
index 0000000000..6f9fc294e2
--- /dev/null
+++ b/include/wx/stubs/mdi.h
@@ -0,0 +1,164 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: mdi.h
+// Purpose: MDI (Multiple Document Interface) classes.
+// This doesn't have to be implemented just like Windows,
+// it could be a tabbed design as in wxGTK.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MDI_H_
+#define _WX_MDI_H_
+
+#ifdef __GNUG__
+#pragma interface "mdi.h"
+#endif
+
+#include "wx/frame.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxStatusLineNameStr;
+
+class WXDLLEXPORT wxMDIClientWindow;
+class WXDLLEXPORT wxMDIChildFrame;
+
+class WXDLLEXPORT wxMDIParentFrame: public wxFrame
+{
+DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
+
+ friend class WXDLLEXPORT wxMDIChildFrame;
+public:
+
+ wxMDIParentFrame();
+ inline wxMDIParentFrame(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, // Scrolling refers to client window
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxMDIParentFrame();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
+ const wxString& name = wxFrameNameStr);
+
+ void OnSize(wxSizeEvent& event);
+ void OnActivate(wxActivateEvent& event);
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+ void SetMenuBar(wxMenuBar *menu_bar);
+
+ // Gets the size available for subwindows after menu size, toolbar size
+ // and status bar size have been subtracted. If you want to manage your own
+ // toolbar(s), don't call SetToolBar.
+ void GetClientSize(int *width, int *height) const;
+
+ // Get the active MDI child window (Windows only)
+ wxMDIChildFrame *GetActiveChild() const ;
+
+ // Get the client window
+ inline wxMDIClientWindow *GetClientWindow() const { return m_clientWindow; };
+
+ // Create the client window class (don't Create the window,
+ // just return a new class)
+ virtual wxMDIClientWindow *OnCreateClient() ;
+
+ // MDI operations
+ virtual void Cascade();
+ virtual void Tile();
+ virtual void ArrangeIcons();
+ virtual void ActivateNext();
+ virtual void ActivatePrevious();
+
+protected:
+
+ // TODO maybe have this member
+ wxMDIClientWindow *m_clientWindow;
+
+DECLARE_EVENT_TABLE()
+};
+
+class WXDLLEXPORT wxMDIChildFrame: public wxFrame
+{
+DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)
+public:
+
+ wxMDIChildFrame();
+ inline wxMDIChildFrame(wxMDIParentFrame *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxMDIChildFrame();
+
+ bool Create(wxMDIParentFrame *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr);
+
+ // Set menu bar
+ void SetMenuBar(wxMenuBar *menu_bar);
+ void SetClientSize(int width, int height);
+ void GetPosition(int *x, int *y) const ;
+
+ // MDI operations
+ virtual void Maximize();
+ virtual void Restore();
+ virtual void Activate();
+};
+
+/* The client window is a child of the parent MDI frame, and itself
+ * contains the child MDI frames.
+ * However, you create the MDI children as children of the MDI parent:
+ * only in the implementation does the client window become the parent
+ * of the children. Phew! So the children are sort of 'adopted'...
+ */
+
+class WXDLLEXPORT wxMDIClientWindow: public wxWindow
+{
+ DECLARE_DYNAMIC_CLASS(wxMDIClientWindow)
+ public:
+
+ wxMDIClientWindow() ;
+ inline wxMDIClientWindow(wxMDIParentFrame *parent, long style = 0)
+ {
+ CreateClient(parent, style);
+ }
+
+ ~wxMDIClientWindow();
+
+ // Note: this is virtual, to allow overridden behaviour.
+ virtual bool CreateClient(wxMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL);
+
+ // Explicitly call default scroll behaviour
+ void OnScroll(wxScrollEvent& event);
+
+protected:
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_MDI_H_
diff --git a/include/wx/stubs/menu.h b/include/wx/stubs/menu.h
new file mode 100644
index 0000000000..db15f8fc70
--- /dev/null
+++ b/include/wx/stubs/menu.h
@@ -0,0 +1,172 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: menu.h
+// Purpose: wxMenu, wxMenuBar classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MENU_H_
+#define _WX_MENU_H_
+
+#ifdef __GNUG__
+#pragma interface "menu.h"
+#endif
+
+#include "wx/defs.h"
+#include "wx/event.h"
+
+class WXDLLEXPORT wxMenuItem;
+class WXDLLEXPORT wxMenuBar;
+class WXDLLEXPORT wxMenu;
+
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// ----------------------------------------------------------------------------
+// Menu
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxMenu: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxMenu)
+
+public:
+ // ctor & dtor
+ wxMenu(const wxString& title = wxEmptyString, const wxFunction func = NULL);
+ ~wxMenu();
+
+ // construct menu
+ // append items to the menu
+ // separator line
+ void AppendSeparator();
+ // normal item
+ void Append(int id, const wxString& Label, const wxString& helpString = wxEmptyString,
+ bool checkable = FALSE);
+ // a submenu
+ void Append(int id, const wxString& Label, wxMenu *SubMenu,
+ const wxString& helpString = wxEmptyString);
+ // the most generic form (create wxMenuItem first and use it's functions)
+ void Append(wxMenuItem *pItem);
+ // insert a break in the menu
+ void Break();
+ // delete an item
+ void Delete(int id);
+
+ // menu item control
+ void Enable(int id, bool Flag);
+ bool Enabled(int id) const;
+ inline bool IsEnabled(int id) const { return Enabled(id); };
+ void Check(int id, bool Flag);
+ bool Checked(int id) const;
+ inline bool IsChecked(int id) const { return IsChecked(id); };
+
+ // Client data
+ inline void SetClientData(void* clientData) { m_clientData = clientData; }
+ inline void* GetClientData() const { return m_clientData; }
+
+ void SetInvokingWindow(wxWindow *pWin) { m_pInvokingWindow = pWin; }
+ wxWindow *GetInvokingWindow() const { return m_pInvokingWindow; }
+
+ // item properties
+ // title
+ void SetTitle(const wxString& label);
+ const wxString GetTitle() const;
+ // label
+ void SetLabel(int id, const wxString& label);
+ wxString GetLabel(int id) const;
+ // help string
+ virtual void SetHelpString(int id, const wxString& helpString);
+ virtual wxString GetHelpString(int id) const ;
+
+ // find item
+ // Finds the item id matching the given string, -1 if not found.
+ virtual int FindItem(const wxString& itemString) const ;
+ // Find wxMenuItem by ID, and item's menu too if itemMenu is !NULL.
+ wxMenuItem *FindItemForId(int itemId, wxMenu **itemMenu = NULL) const;
+
+ void ProcessCommand(wxCommandEvent& event);
+ inline void Callback(const wxFunction func) { m_callback = func; }
+
+ // Updates the UI for a menu and all submenus recursively.
+ // source is the object that has the update event handlers
+ // defined for it. If NULL, the menu or associated window
+ // will be used.
+ void UpdateUI(wxEvtHandler* source = (wxEvtHandler*) NULL);
+
+ virtual void SetParent(wxEvtHandler *parent) { m_parent = parent; }
+ inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; }
+ inline wxEvtHandler *GetEventHandler() { return m_eventHandler; }
+
+ inline wxList& GetItems() const { return (wxList&) m_menuItems; }
+
+public:
+ wxFunction m_callback;
+
+ int m_noItems;
+ wxString m_title;
+ wxMenuBar * m_menuBar;
+ wxList m_menuItems;
+ wxEvtHandler * m_parent;
+ wxEvtHandler * m_eventHandler;
+ void* m_clientData;
+ wxWindow* m_pInvokingWindow;
+};
+
+// ----------------------------------------------------------------------------
+// Menu Bar (a la Windows)
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxFrame;
+class WXDLLEXPORT wxMenuBar: public wxEvtHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxMenuBar)
+
+ wxMenuBar();
+ wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+ ~wxMenuBar();
+
+ void Append(wxMenu *menu, const wxString& title);
+ // Must only be used AFTER menu has been attached to frame,
+ // otherwise use individual menus to enable/disable items
+ void Enable(int Id, bool Flag);
+ bool Enabled(int Id) const ;
+ inline bool IsEnabled(int Id) const { return Enabled(Id); };
+ void EnableTop(int pos, bool Flag);
+ void Check(int id, bool Flag);
+ bool Checked(int id) const ;
+ inline bool IsChecked(int Id) const { return Checked(Id); };
+ void SetLabel(int id, const wxString& label) ;
+ wxString GetLabel(int id) const ;
+ void SetLabelTop(int pos, const wxString& label) ;
+ wxString GetLabelTop(int pos) const ;
+ virtual void Delete(wxMenu *menu, int index = 0); /* Menu not destroyed */
+ virtual bool OnAppend(wxMenu *menu, const char *title);
+ virtual bool OnDelete(wxMenu *menu, int index);
+
+ virtual void SetHelpString(int Id, const wxString& helpString);
+ virtual wxString GetHelpString(int Id) const ;
+
+ virtual int FindMenuItem(const wxString& menuString, const wxString& itemString) const ;
+
+ // Find wxMenuItem for item ID, and return item's
+ // menu too if itemMenu is non-NULL.
+ wxMenuItem *FindItemForId(int itemId, wxMenu **menuForItem = NULL) const ;
+
+ inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; }
+ inline wxEvtHandler *GetEventHandler() { return m_eventHandler; }
+
+ inline int GetMenuCount() const { return m_menuCount; }
+ inline wxMenu* GetMenu(int i) const { return m_menus[i]; }
+
+ public:
+ wxEvtHandler * m_eventHandler;
+ int m_menuCount;
+ wxMenu ** m_menus;
+ wxString * m_titles;
+ wxFrame * m_menuBarFrame;
+/* TODO: data that represents the actual menubar when created.
+ */
+};
+
+#endif // _WX_MENU_H_
diff --git a/include/wx/stubs/menuitem.h b/include/wx/stubs/menuitem.h
new file mode 100644
index 0000000000..9c912967f1
--- /dev/null
+++ b/include/wx/stubs/menuitem.h
@@ -0,0 +1,95 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: menuitem.h
+// Purpose: wxMenuItem class
+// Author: Vadim Zeitlin
+// Modified by:
+// Created: 11.11.97
+// RCS-ID: $Id$
+// Copyright: (c) 1998 Vadim Zeitlin
+// Licence: wxWindows license
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _MENUITEM_H
+#define _MENUITEM_H
+
+#ifdef __GNUG__
+#pragma interface "menuitem.h"
+#endif
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "wx/setup.h"
+
+// an exception to the general rule that a normal header doesn't include other
+// headers - only because ownerdrw.h is not always included and I don't want
+// to write #ifdef's everywhere...
+#if wxUSE_OWNER_DRAWN
+#include "wx/ownerdrw.h"
+#endif
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// id for a separator line in the menu (invalid for normal item)
+#define ID_SEPARATOR (-1)
+
+// ----------------------------------------------------------------------------
+// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxMenuItem: public wxObject
+#if wxUSE_OWNER_DRAWN
+ , public wxOwnerDrawn
+#endif
+{
+DECLARE_DYNAMIC_CLASS(wxMenuItem)
+
+public:
+ // ctor & dtor
+ wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR,
+ const wxString& strName = "", const wxString& wxHelp = "",
+ bool bCheckable = FALSE, wxMenu *pSubMenu = NULL);
+ virtual ~wxMenuItem();
+
+ // accessors (some more are inherited from wxOwnerDrawn or are below)
+ bool IsSeparator() const { return m_idItem == ID_SEPARATOR; }
+ bool IsEnabled() const { return m_bEnabled; }
+ bool IsChecked() const { return m_bChecked; }
+
+ int GetId() const { return m_idItem; }
+ const wxString& GetHelp() const { return m_strHelp; }
+ wxMenu *GetSubMenu() const { return m_pSubMenu; }
+
+ // operations
+ void SetName(const wxString& strName) { m_strName = strName; }
+ void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; }
+
+ void Enable(bool bDoEnable = TRUE);
+ void Check(bool bDoCheck = TRUE);
+
+ void DeleteSubMenu();
+
+private:
+ int m_idItem; // numeric id of the item
+ wxString m_strHelp; // associated help string
+ wxMenu *m_pSubMenu, // may be NULL
+ *m_pParentMenu; // menu this item is contained in
+ bool m_bEnabled, // enabled or greyed?
+ m_bChecked; // checked? (only if checkable)
+
+#if wxUSE_OWNER_DRAWN
+ // wxOwnerDrawn base class already has these variables - nothing to do
+
+#else //!owner drawn
+ bool m_bCheckable; // can be checked?
+ wxString m_strName; // name or label of the item
+
+public:
+ const wxString& GetName() const { return m_strName; }
+ bool IsCheckable() const { return m_bCheckable; }
+#endif //owner drawn
+};
+
+#endif //_MENUITEM_H
diff --git a/include/wx/stubs/metafile.h b/include/wx/stubs/metafile.h
new file mode 100644
index 0000000000..e4be296d92
--- /dev/null
+++ b/include/wx/stubs/metafile.h
@@ -0,0 +1,101 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: metafile.h
+// Purpose: wxMetaFile, wxMetaFileDC classes.
+// This probably should be restricted to Windows platforms,
+// but if there is an equivalent on your platform, great.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef _WX_METAFIILE_H_
+#define _WX_METAFIILE_H_
+
+#ifdef __GNUG__
+#pragma interface "metafile.h"
+#endif
+
+#include "wx/setup.h"
+
+/*
+ * Metafile and metafile device context classes - work in Windows 3.1 only
+ *
+ */
+
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxMetaFile: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxMetaFile)
+ public:
+ wxMetaFile(const wxString& file = "");
+ ~wxMetaFile();
+
+ // After this is called, the metafile cannot be used for anything
+ // since it is now owned by the clipboard.
+ virtual bool SetClipboard(int width = 0, int height = 0);
+
+ virtual bool Play(wxDC *dc);
+ // TODO
+ inline bool Ok() { return FALSE; };
+
+/* TODO: Implementation
+ inline WXHANDLE GetHMETAFILE() { return m_metaFile; }
+ inline void SetHMETAFILE(WXHANDLE mf) { m_metaFile = mf; }
+
+protected:
+ WXHANDLE m_metaFile;
+*/
+};
+
+class WXDLLEXPORT wxMetaFileDC: public wxDC
+{
+ DECLARE_DYNAMIC_CLASS(wxMetaFileDC)
+
+ public:
+ // Don't supply origin and extent
+ // Supply them to wxMakeMetaFilePlaceable instead.
+ wxMetaFileDC(const wxString& file = "");
+
+ // Supply origin and extent (recommended).
+ // Then don't need to supply them to wxMakeMetaFilePlaceable.
+ wxMetaFileDC(const wxString& file, int xext, int yext, int xorg, int yorg);
+
+ ~wxMetaFileDC();
+
+ // Should be called at end of drawing
+ virtual wxMetaFile *Close();
+ virtual void SetMapMode(int mode);
+ virtual void GetTextExtent(const wxString& string, float *x, float *y,
+ float *descent = NULL, float *externalLeading = NULL,
+ wxFont *theFont = NULL, bool use16bit = FALSE);
+
+ // Implementation
+ inline wxMetaFile *GetMetaFile() { return m_metaFile; }
+ inline void SetMetaFile(wxMetaFile *mf) { m_metaFile = mf; }
+ inline int GetWindowsMappingMode() { return m_windowsMappingMode; }
+ inline void SetWindowsMappingMode(int mm) { m_windowsMappingMode = mm; }
+
+protected:
+ int m_windowsMappingMode;
+ wxMetaFile *m_metaFile;
+};
+
+/*
+ * Pass filename of existing non-placeable metafile, and bounding box.
+ * Adds a placeable metafile header, sets the mapping mode to anisotropic,
+ * and sets the window origin and extent to mimic the wxMM_TEXT mapping mode.
+ *
+ */
+
+// No origin or extent
+bool WXDLLEXPORT wxMakeMetaFilePlaceable(const wxString& filename, float scale = 1.0);
+
+// Optional origin and extent
+bool WXDLLEXPORT wxMakeMetaFilePlaceable(const wxString& filename, int x1, int y1, int x2, int y2, float scale = 1.0, bool useOriginAndExtent = TRUE);
+
+#endif
+ // _WX_METAFIILE_H_
diff --git a/include/wx/stubs/minifram.h b/include/wx/stubs/minifram.h
new file mode 100644
index 0000000000..8f1644d558
--- /dev/null
+++ b/include/wx/stubs/minifram.h
@@ -0,0 +1,46 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: minifram.h
+// Purpose: wxMiniFrame class. A small frame for e.g. floating toolbars.
+// If there is no equivalent on your platform, just make it a
+// normal frame.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MINIFRAM_H_
+#define _WX_MINIFRAM_H_
+
+#ifdef __GNUG__
+#pragma interface "minifram.h"
+#endif
+
+#include "wx/frame.h"
+
+class WXDLLEXPORT wxMiniFrame: public wxFrame {
+
+ DECLARE_DYNAMIC_CLASS(wxMiniFrame)
+
+public:
+ inline wxMiniFrame() {}
+ inline wxMiniFrame(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE|wxTINY_CAPTION_HORIZ,
+ const wxString& name = wxFrameNameStr)
+ {
+ // Use wxFrame constructor in absence of more specific code.
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ ~wxMiniFrame() {}
+protected:
+};
+
+#endif
+ // _WX_MINIFRAM_H_
diff --git a/include/wx/stubs/msgdlg.h b/include/wx/stubs/msgdlg.h
new file mode 100644
index 0000000000..58fa8e51ae
--- /dev/null
+++ b/include/wx/stubs/msgdlg.h
@@ -0,0 +1,50 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: msgdlg.h
+// Purpose: wxMessageDialog class. Use generic version if no
+// platform-specific implementation.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MSGBOXDLG_H_
+#define _WX_MSGBOXDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "msgdlg.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/dialog.h"
+
+/*
+ * Message box dialog
+ */
+
+WXDLLEXPORT_DATA(extern const char*) wxMessageBoxCaptionStr;
+
+class WXDLLEXPORT wxMessageDialog: public wxDialog
+{
+DECLARE_DYNAMIC_CLASS(wxMessageDialog)
+protected:
+ wxString m_caption;
+ wxString m_message;
+ long m_dialogStyle;
+ wxWindow * m_parent;
+public:
+ wxMessageDialog(wxWindow *parent, const wxString& message, const wxString& caption = wxMessageBoxCaptionStr,
+ long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
+
+ int ShowModal();
+};
+
+
+int WXDLLEXPORT wxMessageBox(const wxString& message, const wxString& caption = wxMessageBoxCaptionStr,
+ long style = wxOK|wxCENTRE,
+ wxWindow *parent = NULL, int x = -1, int y = -1);
+
+#endif
+ // _WX_MSGBOXDLG_H_
diff --git a/include/wx/stubs/notebook.h b/include/wx/stubs/notebook.h
new file mode 100644
index 0000000000..18b0793da2
--- /dev/null
+++ b/include/wx/stubs/notebook.h
@@ -0,0 +1,209 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: notebook.h
+// Purpose: MSW/GTK compatible notebook (a.k.a. property sheet)
+// Author: AUTHOR
+// Modified by:
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_NOTEBOOK_H_
+#define _WX_NOTEBOOK_H_
+
+#ifdef __GNUG__
+#pragma interface "notebook.h"
+#endif
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+#include "wx/dynarray.h"
+#include "wx/event.h"
+#include "wx/control.h"
+
+// ----------------------------------------------------------------------------
+// types
+// ----------------------------------------------------------------------------
+
+// fwd declarations
+class WXDLLEXPORT wxImageList;
+class WXDLLEXPORT wxWindow;
+
+// array of notebook pages
+typedef wxWindow wxNotebookPage; // so far, any window can be a page
+WX_DEFINE_ARRAY(wxNotebookPage *, wxArrayPages);
+
+// ----------------------------------------------------------------------------
+// notebook events
+// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxNotebookEvent : public wxCommandEvent
+{
+public:
+ wxNotebookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
+ int nSel = -1, int nOldSel = -1)
+ : wxCommandEvent(commandType, id) { m_nSel = nSel; m_nOldSel = nOldSel; }
+
+ // accessors
+ int GetSelection() const { return m_nSel; }
+ int GetOldSelection() const { return m_nOldSel; }
+
+private:
+ int m_nSel, // currently selected page
+ m_nOldSel; // previously selected page
+
+ DECLARE_DYNAMIC_CLASS(wxNotebookEvent)
+};
+
+// ----------------------------------------------------------------------------
+// wxNotebook
+// ----------------------------------------------------------------------------
+
+// @@@ this class should really derive from wxTabCtrl, but the interface is not
+// exactly the same, so I can't do it right now and instead we reimplement
+// part of wxTabCtrl here
+class wxNotebook : public wxControl
+{
+public:
+ // ctors
+ // -----
+ // default for dynamic class
+ wxNotebook();
+ // the same arguments as for wxControl (@@@ any special styles?)
+ wxNotebook(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = "notebook");
+ // Create() function
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = "notebook");
+ // dtor
+ ~wxNotebook();
+
+ // accessors
+ // ---------
+ // get number of pages in the dialog
+ int GetPageCount() const;
+
+ // set the currently selected page, return the index of the previously
+ // selected one (or -1 on error)
+ // NB: this function will _not_ generate wxEVT_NOTEBOOK_PAGE_xxx events
+ int SetSelection(int nPage);
+ // cycle thru the tabs
+ void AdvanceSelection(bool bForward = TRUE);
+ // get the currently selected page
+ int GetSelection() const { return m_nSelection; }
+
+ // set/get the title of a page
+ bool SetPageText(int nPage, const wxString& strText);
+ wxString GetPageText(int nPage) const;
+
+ // image list stuff: each page may have an image associated with it. All
+ // the images belong to an image list, so you have to
+ // 1) create an image list
+ // 2) associate it with the notebook
+ // 3) set for each page it's image
+ // associate image list with a control
+ void SetImageList(wxImageList* imageList);
+ // get pointer (may be NULL) to the associated image list
+ wxImageList* GetImageList() const { return m_pImageList; }
+
+ // sets/returns item's image index in the current image list
+ int GetPageImage(int nPage) const;
+ bool SetPageImage(int nPage, int nImage);
+
+ // currently it's always 1 because wxGTK doesn't support multi-row
+ // tab controls
+ int GetRowCount() const;
+
+ // control the appearance of the notebook pages
+ // set the size (the same for all pages)
+ void SetPageSize(const wxSize& size);
+ // set the padding between tabs (in pixels)
+ void SetPadding(const wxSize& padding);
+
+ // Sets the size of the tabs (assumes all tabs are the same size)
+ void SetTabSize(const wxSize& sz);
+
+ // operations
+ // ----------
+ // remove one page from the notebook
+ bool DeletePage(int nPage);
+ // remove one page from the notebook, without deleting
+ bool RemovePage(int nPage);
+ // remove all pages
+ bool DeleteAllPages();
+ // adds a new page to the notebook (it will be deleted ny the notebook,
+ // don't delete it yourself). If bSelect, this page becomes active.
+ bool AddPage(wxNotebookPage *pPage,
+ const wxString& strText,
+ bool bSelect = FALSE,
+ int imageId = -1);
+ // the same as AddPage(), but adds it at the specified position
+ bool InsertPage(int nPage,
+ wxNotebookPage *pPage,
+ const wxString& strText,
+ bool bSelect = FALSE,
+ int imageId = -1);
+ // get the panel which represents the given page
+ wxNotebookPage *GetPage(int nPage) { return m_aPages[nPage]; }
+
+ // callbacks
+ // ---------
+ void OnSize(wxSizeEvent& event);
+ void OnSelChange(wxNotebookEvent& event);
+ void OnSetFocus(wxFocusEvent& event);
+ void OnNavigationKey(wxNavigationKeyEvent& event);
+
+ // base class virtuals
+ // -------------------
+ virtual void Command(wxCommandEvent& event);
+ virtual void SetConstraintSizes(bool recurse = TRUE);
+ virtual bool DoPhase(int nPhase);
+
+protected:
+ // common part of all ctors
+ void Init();
+
+ // helper functions
+ void ChangePage(int nOldSel, int nSel); // change pages
+
+ wxImageList *m_pImageList; // we can have an associated image list
+ wxArrayPages m_aPages; // array of pages
+
+ int m_nSelection; // the current selection (-1 if none)
+
+ DECLARE_DYNAMIC_CLASS(wxNotebook)
+ DECLARE_EVENT_TABLE()
+};
+
+// ----------------------------------------------------------------------------
+// event macros
+// ----------------------------------------------------------------------------
+typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&);
+
+#define EVT_NOTEBOOK_PAGE_CHANGED(id, fn) \
+ { \
+ wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, \
+ id, \
+ -1, \
+ (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn, \
+ NULL \
+ },
+
+#define EVT_NOTEBOOK_PAGE_CHANGING(id, fn) \
+ { \
+ wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, \ \
+ id, \
+ -1, \
+ (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn, \
+ NULL \
+ },
+
+#endif // _WX_NOTEBOOK_H_
diff --git a/include/wx/stubs/palette.h b/include/wx/stubs/palette.h
new file mode 100644
index 0000000000..3482b33934
--- /dev/null
+++ b/include/wx/stubs/palette.h
@@ -0,0 +1,64 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: palette.h
+// Purpose: wxPalette class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PALETTE_H_
+#define _WX_PALETTE_H_
+
+#ifdef __GNUG__
+#pragma interface "palette.h"
+#endif
+
+#include "wx/gdiobj.h"
+
+class WXDLLEXPORT wxPalette;
+
+class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxPalette;
+public:
+ wxPaletteRefData();
+ ~wxPaletteRefData();
+/* TODO: implementation
+protected:
+ WXHPALETTE m_hPalette;
+*/
+};
+
+#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
+
+class WXDLLEXPORT wxPalette: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPalette)
+
+public:
+ wxPalette();
+ inline wxPalette(const wxPalette& palette) { Ref(palette); }
+
+ wxPalette(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ ~wxPalette();
+ bool Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
+ int GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const;
+ bool GetRGB(int pixel, unsigned char *red, unsigned char *green, unsigned char *blue) const;
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ inline wxPalette& operator = (const wxPalette& palette) { if (*this == palette) return (*this); Ref(palette); return *this; }
+ inline bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; }
+ inline bool operator != (const wxPalette& palette) { return m_refData != palette.m_refData; }
+
+/* TODO: implementation
+ inline WXHPALETTE GetHPALETTE() const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
+ void SetHPALETTE(WXHPALETTE pal);
+*/
+};
+
+#endif
+ // _WX_PALETTE_H_
diff --git a/include/wx/stubs/pen.h b/include/wx/stubs/pen.h
new file mode 100644
index 0000000000..4cb73dcb8e
--- /dev/null
+++ b/include/wx/stubs/pen.h
@@ -0,0 +1,113 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: pen.h
+// Purpose: wxPen class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PEN_H_
+#define _WX_PEN_H_
+
+#ifdef __GNUG__
+#pragma interface "pen.h"
+#endif
+
+#include "wx/gdiobj.h"
+#include "wx/colour.h"
+#include "wx/bitmap.h"
+
+// PORTERS, NB: this typedef is the platform specific type for dashes..
+// change all occurences of XSTUBX in pen.h and pen.cpp to something
+// meaningful for your port (eg. wxMSWDash, wxGTKDash) and change the
+// type from long to whatever your platform requires.
+
+typedef long wxXSTUBXDash;
+
+// wxDash is typedef'd in gdicmn.h and is the type that should be used
+// for all public interfaces. Convert parameters to the wxXSTUBXDash
+// type for use inside the platform specific methods, and cast them
+// back to wxDash again before passing back to the user. -- RL
+
+class WXDLLEXPORT wxPen;
+
+class WXDLLEXPORT wxPenRefData: public wxGDIRefData
+{
+ friend class WXDLLEXPORT wxPen;
+public:
+ wxPenRefData();
+ wxPenRefData(const wxPenRefData& data);
+ ~wxPenRefData();
+
+protected:
+ int m_width;
+ int m_style;
+ int m_join;
+ int m_cap;
+ wxBitmap m_stipple;
+ int m_nbDash;
+ wxXSTUBXDash *m_dash;
+ wxColour m_colour;
+/* TODO: implementation
+ WXHPEN m_hPen;
+*/
+};
+
+#define M_PENDATA ((wxPenRefData *)m_refData)
+
+// Pen
+class WXDLLEXPORT wxPen: public wxGDIObject
+{
+ DECLARE_DYNAMIC_CLASS(wxPen)
+public:
+ wxPen();
+ wxPen(const wxColour& col, int width, int style);
+ wxPen(const wxBitmap& stipple, int width);
+ inline wxPen(const wxPen& pen) { Ref(pen); }
+ ~wxPen();
+
+ inline wxPen& operator = (const wxPen& pen) { if (*this == pen) return (*this); Ref(pen); return *this; }
+ inline bool operator == (const wxPen& pen) { return m_refData == pen.m_refData; }
+ inline bool operator != (const wxPen& pen) { return m_refData != pen.m_refData; }
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ // Override in order to recreate the pen
+ void SetColour(const wxColour& col) ;
+ void SetColour(unsigned char r, unsigned char g, unsigned char b) ;
+
+ void SetWidth(int width) ;
+ void SetStyle(int style) ;
+ void SetStipple(const wxBitmap& stipple) ;
+ void SetDashes(int nb_dashes, const wxDash *dash) ;
+ void SetJoin(int join) ;
+ void SetCap(int cap) ;
+
+ inline wxColour& GetColour() const { return (M_PENDATA ? M_PENDATA->m_colour : wxNullColour); };
+ inline int GetWidth() const { return (M_PENDATA ? M_PENDATA->m_width : 0); };
+ inline int GetStyle() const { return (M_PENDATA ? M_PENDATA->m_style : 0); };
+ inline int GetJoin() const { return (M_PENDATA ? M_PENDATA->m_join : 0); };
+ inline int GetCap() const { return (M_PENDATA ? M_PENDATA->m_cap : 0); };
+ inline int GetDashes(wxDash **ptr) const
+ {
+ *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*)NULL);
+ return (M_PENDATA ? M_PENDATA->m_nbDash : 0);
+ }
+
+ inline wxBitmap *GetStipple() const { return (M_PENDATA ? (& M_PENDATA->m_stipple) : (wxBitmap*) NULL); };
+
+// Implementation
+
+ // Useful helper: create the brush resource
+ bool RealizeResource();
+
+ // When setting properties, we must make sure we're not changing
+ // another object
+ void Unshare();
+};
+
+#endif
+ // _WX_PEN_H_
diff --git a/include/wx/stubs/print.h b/include/wx/stubs/print.h
new file mode 100644
index 0000000000..bac3703496
--- /dev/null
+++ b/include/wx/stubs/print.h
@@ -0,0 +1,56 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: print.h
+// Purpose: wxPrinter, wxPrintPreview classes
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRINT_H_
+#define _WX_PRINT_H_
+
+#ifdef __GNUG__
+#pragma interface "print.h"
+#endif
+
+#include "wx/prntbase.h"
+
+/*
+ * Represents the printer: manages printing a wxPrintout object
+ */
+
+class WXDLLEXPORT wxPrinter: public wxPrinterBase
+{
+ DECLARE_DYNAMIC_CLASS(wxPrinter)
+
+ public:
+ wxPrinter(wxPrintData *data = NULL);
+ ~wxPrinter();
+
+ virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = TRUE);
+ virtual bool PrintDialog(wxWindow *parent);
+ virtual bool Setup(wxWindow *parent);
+};
+
+/*
+ * wxPrintPreview
+ * Programmer creates an object of this class to preview a wxPrintout.
+ */
+
+class WXDLLEXPORT wxPrintPreview: public wxPrintPreviewBase
+{
+ DECLARE_CLASS(wxPrintPreview)
+
+ public:
+ wxPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting = NULL, wxPrintData *data = NULL);
+ ~wxPrintPreview();
+
+ virtual bool Print(bool interactive);
+ virtual void DetermineScaling();
+};
+
+#endif
+ // _WX_PRINT_H_
diff --git a/include/wx/stubs/printdlg.h b/include/wx/stubs/printdlg.h
new file mode 100644
index 0000000000..ac31a49096
--- /dev/null
+++ b/include/wx/stubs/printdlg.h
@@ -0,0 +1,70 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: printdlg.h
+// Purpose: wxPrintDialog, wxPageSetupDialog classes.
+// Use generic, PostScript version if no
+// platform-specific implementation.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRINTDLG_H_
+#define _WX_PRINTDLG_H_
+
+#ifdef __GNUG__
+#pragma interface "printdlg.h"
+#endif
+
+#include "wx/dialog.h"
+#include "wx/cmndata.h"
+
+/*
+ * wxPrinterDialog
+ * The common dialog for printing.
+ */
+
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxPrintDialog: public wxDialog
+{
+ DECLARE_DYNAMIC_CLASS(wxPrintDialog)
+
+ public:
+ wxPrintDialog();
+ wxPrintDialog(wxWindow *parent, wxPrintData* data = NULL);
+ ~wxPrintDialog();
+
+ bool Create(wxWindow *parent, wxPrintData* data = NULL);
+ virtual int ShowModal();
+
+ inline wxPrintData& GetPrintData() { return m_printData; }
+ virtual wxDC *GetPrintDC();
+
+ private:
+ wxPrintData m_printData;
+ wxDC* m_printerDC;
+ wxWindow* m_dialogParent;
+};
+
+class WXDLLEXPORT wxPageSetupDialog: public wxDialog
+{
+ DECLARE_DYNAMIC_CLASS(wxPageSetupDialog)
+
+ private:
+ wxPageSetupData m_pageSetupData;
+ wxWindow* m_dialogParent;
+ public:
+ wxPageSetupDialog();
+ wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL);
+ ~wxPageSetupDialog();
+
+ bool Create(wxWindow *parent, wxPageSetupData *data = NULL);
+ virtual int ShowModal();
+
+ inline wxPageSetupData& GetPageSetupData() { return m_pageSetupData; }
+};
+
+#endif
+ // _WX_PRINTDLG_H_
diff --git a/include/wx/stubs/private.h b/include/wx/stubs/private.h
new file mode 100644
index 0000000000..922c172436
--- /dev/null
+++ b/include/wx/stubs/private.h
@@ -0,0 +1,21 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: private.h
+// Purpose: Private declarations
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRIVATE_H_
+#define _WX_PRIVATE_H_
+
+#include "wx/defs.h"
+
+/* TODO: put any private declarations here.
+ */
+
+#endif
+ // _WX_PRIVATE_H_
diff --git a/include/wx/stubs/radiobox.h b/include/wx/stubs/radiobox.h
new file mode 100644
index 0000000000..cb7c5ba405
--- /dev/null
+++ b/include/wx/stubs/radiobox.h
@@ -0,0 +1,88 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: radiobox.h
+// Purpose: wxRadioBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RADIOBOX_H_
+#define _WX_RADIOBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "radiobox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxRadioBoxNameStr;
+
+// List box item
+class WXDLLEXPORT wxBitmap ;
+
+class WXDLLEXPORT wxRadioBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxRadioBox)
+public:
+ wxRadioBox();
+
+ inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ int majorDim = 0, long style = wxRA_HORIZONTAL,
+ const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
+ {
+ Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
+ }
+
+ ~wxRadioBox();
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ int majorDim = 0, long style = wxRA_HORIZONTAL,
+ const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
+
+ int FindString(const wxString& s) const;
+ void SetSelection(int N);
+ int GetSelection() const;
+ wxString GetString(int N) const;
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void GetSize(int *x, int *y) const;
+ void GetPosition(int *x, int *y) const;
+ wxString GetLabel() const;
+ void SetLabel(const wxString& label);
+ void SetLabel(int item, const wxString& label) ;
+ wxString GetLabel(int item) const;
+ bool Show(bool show);
+ void SetFocus();
+ void Enable(bool enable);
+ void Enable(int item, bool enable);
+ void Show(int item, bool show) ;
+ inline void SetLabelFont(const wxFont& WXUNUSED(font)) {};
+ inline void SetButtonFont(const wxFont& font) { SetFont(font); }
+
+ virtual wxString GetStringSelection() const;
+ virtual bool SetStringSelection(const wxString& s);
+ inline virtual int Number() const { return m_noItems; } ;
+ void Command(wxCommandEvent& event);
+
+ inline int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
+ inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
+
+protected:
+/* TODO: implementation
+ WXHWND * m_radioButtons;
+*/
+ int m_majorDim ;
+ int m_noItems;
+ int m_noRowsOrCols;
+ int m_selectedButton;
+
+};
+
+#endif
+ // _WX_RADIOBOX_H_
diff --git a/include/wx/stubs/radiobut.h b/include/wx/stubs/radiobut.h
new file mode 100644
index 0000000000..8e8bf1313d
--- /dev/null
+++ b/include/wx/stubs/radiobut.h
@@ -0,0 +1,90 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: radiobut.h
+// Purpose: wxRadioButton class
+// Author: AUTHOR
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RADIOBUT_H_
+#define _WX_RADIOBUT_H_
+
+#ifdef __GNUG__
+#pragma interface "radiobut.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxRadioButtonNameStr;
+
+class WXDLLEXPORT wxRadioButton: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxRadioButton)
+ protected:
+ public:
+ inline wxRadioButton() {}
+ inline wxRadioButton(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxRadioButtonNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxRadioButtonNameStr);
+
+ virtual void SetLabel(const wxString& label);
+ virtual void SetValue(bool val);
+ virtual bool GetValue() const ;
+
+ void Command(wxCommandEvent& event);
+};
+
+// Not implemented
+#if 0
+class WXDLLEXPORT wxBitmap ;
+
+WXDLLEXPORT_DATA(extern const char*) wxBitmapRadioButtonNameStr;
+
+class WXDLLEXPORT wxBitmapRadioButton: public wxRadioButton
+{
+ DECLARE_DYNAMIC_CLASS(wxBitmapRadioButton)
+ protected:
+ wxBitmap *theButtonBitmap;
+ public:
+ inline wxBitmapRadioButton() { theButtonBitmap = NULL; }
+ inline wxBitmapRadioButton(wxWindow *parent, wxWindowID id,
+ const wxBitmap *label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxBitmapRadioButtonNameStr)
+ {
+ Create(parent, id, label, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxBitmap *label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxBitmapRadioButtonNameStr);
+
+ virtual void SetLabel(const wxBitmap *label);
+ virtual void SetValue(bool val) ;
+ virtual bool GetValue() const ;
+};
+#endif
+
+#endif
+ // _WX_RADIOBUT_H_
diff --git a/include/wx/stubs/region.h b/include/wx/stubs/region.h
new file mode 100644
index 0000000000..04d143c2e9
--- /dev/null
+++ b/include/wx/stubs/region.h
@@ -0,0 +1,137 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: region.h
+// Purpose: wxRegion class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_REGION_H_
+#define _WX_REGION_H_
+
+#ifdef __GNUG__
+#pragma interface "region.h"
+#endif
+
+#include "wx/list.h"
+#include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
+
+class WXDLLEXPORT wxRect;
+class WXDLLEXPORT wxPoint;
+
+enum wxRegionContain {
+ wxOutRegion = 0, wxPartRegion = 1, wxInRegion = 2
+};
+
+// So far, for internal use only
+enum wxRegionOp {
+wxRGN_AND, // Creates the intersection of the two combined regions.
+wxRGN_COPY, // Creates a copy of the region identified by hrgnSrc1.
+wxRGN_DIFF, // Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.
+wxRGN_OR, // Creates the union of two combined regions.
+wxRGN_XOR // Creates the union of two combined regions except for any overlapping areas.
+};
+
+class WXDLLEXPORT wxRegion : public wxGDIObject {
+DECLARE_DYNAMIC_CLASS(wxRegion);
+ friend class WXDLLEXPORT wxRegionIterator;
+public:
+ wxRegion(long x, long y, long w, long h);
+ wxRegion(const wxPoint& topLeft, const wxPoint& bottomRight);
+ wxRegion(const wxRect& rect);
+ wxRegion();
+ ~wxRegion();
+
+ //# Copying
+ inline wxRegion(const wxRegion& r)
+ { Ref(r); }
+ inline wxRegion& operator = (const wxRegion& r)
+ { Ref(r); return (*this); }
+
+ //# Modify region
+ // Clear current region
+ void Clear();
+
+ // Union rectangle or region with this.
+ inline bool Union(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_OR); }
+ inline bool Union(const wxRect& rect) { return Combine(rect, wxRGN_OR); }
+ inline bool Union(const wxRegion& region) { return Combine(region, wxRGN_OR); }
+
+ // Intersect rectangle or region with this.
+ inline bool Intersect(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_AND); }
+ inline bool Intersect(const wxRect& rect) { return Combine(rect, wxRGN_AND); }
+ inline bool Intersect(const wxRegion& region) { return Combine(region, wxRGN_AND); }
+
+ // Subtract rectangle or region from this:
+ // Combines the parts of 'this' that are not part of the second region.
+ inline bool Subtract(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_DIFF); }
+ inline bool Subtract(const wxRect& rect) { return Combine(rect, wxRGN_DIFF); }
+ inline bool Subtract(const wxRegion& region) { return Combine(region, wxRGN_DIFF); }
+
+ // XOR: the union of two combined regions except for any overlapping areas.
+ inline bool Xor(long x, long y, long width, long height) { return Combine(x, y, width, height, wxRGN_XOR); }
+ inline bool Xor(const wxRect& rect) { return Combine(rect, wxRGN_XOR); }
+ inline bool Xor(const wxRegion& region) { return Combine(region, wxRGN_XOR); }
+
+ //# Information on region
+ // Outer bounds of region
+ void GetBox(long& x, long& y, long&w, long &h) const;
+ wxRect GetBox() const ;
+
+ // Is region empty?
+ bool Empty() const;
+ inline bool IsEmpty() const { return Empty(); }
+
+ //# Tests
+ // Does the region contain the point (x,y)?
+ wxRegionContain Contains(long x, long y) const;
+ // Does the region contain the point pt?
+ wxRegionContain Contains(const wxPoint& pt) const;
+ // Does the region contain the rectangle (x, y, w, h)?
+ wxRegionContain Contains(long x, long y, long w, long h) const;
+ // Does the region contain the rectangle rect?
+ wxRegionContain Contains(const wxRect& rect) const;
+
+// Internal
+ bool Combine(long x, long y, long width, long height, wxRegionOp op);
+ bool Combine(const wxRegion& region, wxRegionOp op);
+ bool Combine(const wxRect& rect, wxRegionOp op);
+};
+
+class WXDLLEXPORT wxRegionIterator : public wxObject {
+DECLARE_DYNAMIC_CLASS(wxRegionIterator);
+public:
+ wxRegionIterator();
+ wxRegionIterator(const wxRegion& region);
+ ~wxRegionIterator();
+
+ void Reset() { m_current = 0; }
+ void Reset(const wxRegion& region);
+
+ operator bool () const { return m_current < m_numRects; }
+ bool HaveRects() const { return m_current < m_numRects; }
+
+ void operator ++ ();
+ void operator ++ (int);
+
+ long GetX() const;
+ long GetY() const;
+ long GetW() const;
+ long GetWidth() const { return GetW(); }
+ long GetH() const;
+ long GetHeight() const { return GetH(); }
+ wxRect GetRect() const { return wxRect(GetX(), GetY(), GetWidth(), GetHeight()); }
+
+private:
+ long m_current;
+ long m_numRects;
+ wxRegion m_region;
+ wxRect* m_rects;
+};
+
+#endif
+ // _WX_REGION_H_
diff --git a/include/wx/stubs/scrolbar.h b/include/wx/stubs/scrolbar.h
new file mode 100644
index 0000000000..3ec992e78e
--- /dev/null
+++ b/include/wx/stubs/scrolbar.h
@@ -0,0 +1,68 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: scrollbar.h
+// Purpose: wxScrollBar class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SCROLBAR_H_
+#define _WX_SCROLBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "scrolbar.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxScrollBarNameStr;
+
+// Scrollbar item
+class WXDLLEXPORT wxScrollBar: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxScrollBar)
+
+public:
+ inline wxScrollBar() { m_pageSize = 0; m_viewSize = 0; m_objectSize = 0; }
+ ~wxScrollBar();
+
+ inline wxScrollBar(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSB_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxScrollBarNameStr)
+ {
+ Create(parent, id, pos, size, style, validator, name);
+ }
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSB_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxScrollBarNameStr);
+
+ int GetThumbPosition() const ;
+ inline int GetThumbSize() const { return m_pageSize; }
+ inline int GetPageSize() const { return m_viewSize; }
+ inline int GetRange() const { return m_objectSize; }
+
+ virtual void SetThumbPosition(int viewStart);
+ virtual void SetScrollbar(int position, int thumbSize, int range, int pageSize,
+ bool refresh = TRUE);
+
+ void Command(wxCommandEvent& event);
+
+protected:
+ int m_pageSize;
+ int m_viewSize;
+ int m_objectSize;
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_SCROLBAR_H_
diff --git a/include/wx/stubs/settings.h b/include/wx/stubs/settings.h
new file mode 100644
index 0000000000..8ed994f1ba
--- /dev/null
+++ b/include/wx/stubs/settings.h
@@ -0,0 +1,133 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: settings.h
+// Purpose: wxSystemSettings class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETTINGS_H_
+#define _WX_SETTINGS_H_
+
+#ifdef __GNUG__
+#pragma interface "settings.h"
+#endif
+
+#include "wx/setup.h"
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/colour.h"
+#include "wx/font.h"
+
+#define wxSYS_WHITE_BRUSH 0
+#define wxSYS_LTGRAY_BRUSH 1
+#define wxSYS_GRAY_BRUSH 2
+#define wxSYS_DKGRAY_BRUSH 3
+#define wxSYS_BLACK_BRUSH 4
+#define wxSYS_NULL_BRUSH 5
+#define wxSYS_HOLLOW_BRUSH wxSYS_NULL_BRUSH
+#define wxSYS_WHITE_PEN 6
+#define wxSYS_BLACK_PEN 7
+#define wxSYS_NULL_PEN 8
+#define wxSYS_OEM_FIXED_FONT 10
+#define wxSYS_ANSI_FIXED_FONT 11
+#define wxSYS_ANSI_VAR_FONT 12
+#define wxSYS_SYSTEM_FONT 13
+#define wxSYS_DEVICE_DEFAULT_FONT 14
+#define wxSYS_DEFAULT_PALETTE 15
+#define wxSYS_SYSTEM_FIXED_FONT 16 // Obsolete
+#define wxSYS_DEFAULT_GUI_FONT 17
+
+#define wxSYS_COLOUR_SCROLLBAR 0
+#define wxSYS_COLOUR_BACKGROUND 1
+#define wxSYS_COLOUR_ACTIVECAPTION 2
+#define wxSYS_COLOUR_INACTIVECAPTION 3
+#define wxSYS_COLOUR_MENU 4
+#define wxSYS_COLOUR_WINDOW 5
+#define wxSYS_COLOUR_WINDOWFRAME 6
+#define wxSYS_COLOUR_MENUTEXT 7
+#define wxSYS_COLOUR_WINDOWTEXT 8
+#define wxSYS_COLOUR_CAPTIONTEXT 9
+#define wxSYS_COLOUR_ACTIVEBORDER 10
+#define wxSYS_COLOUR_INACTIVEBORDER 11
+#define wxSYS_COLOUR_APPWORKSPACE 12
+#define wxSYS_COLOUR_HIGHLIGHT 13
+#define wxSYS_COLOUR_HIGHLIGHTTEXT 14
+#define wxSYS_COLOUR_BTNFACE 15
+#define wxSYS_COLOUR_BTNSHADOW 16
+#define wxSYS_COLOUR_GRAYTEXT 17
+#define wxSYS_COLOUR_BTNTEXT 18
+#define wxSYS_COLOUR_INACTIVECAPTIONTEXT 19
+#define wxSYS_COLOUR_BTNHIGHLIGHT 20
+
+#define wxSYS_COLOUR_3DDKSHADOW 21
+#define wxSYS_COLOUR_3DLIGHT 22
+#define wxSYS_COLOUR_INFOTEXT 23
+#define wxSYS_COLOUR_INFOBK 24
+
+#define wxSYS_COLOUR_DESKTOP wxSYS_COLOUR_BACKGROUND
+#define wxSYS_COLOUR_3DFACE wxSYS_COLOUR_BTNFACE
+#define wxSYS_COLOUR_3DSHADOW wxSYS_COLOUR_BTNSHADOW
+#define wxSYS_COLOUR_3DHIGHLIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+#define wxSYS_COLOUR_3DHILIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+#define wxSYS_COLOUR_BTNHILIGHT wxSYS_COLOUR_BTNHIGHLIGHT
+
+// Metrics
+#define wxSYS_MOUSE_BUTTONS 1
+#define wxSYS_BORDER_X 2
+#define wxSYS_BORDER_Y 3
+#define wxSYS_CURSOR_X 4
+#define wxSYS_CURSOR_Y 5
+#define wxSYS_DCLICK_X 6
+#define wxSYS_DCLICK_Y 7
+#define wxSYS_DRAG_X 8
+#define wxSYS_DRAG_Y 9
+#define wxSYS_EDGE_X 10
+#define wxSYS_EDGE_Y 11
+#define wxSYS_HSCROLL_ARROW_X 12
+#define wxSYS_HSCROLL_ARROW_Y 13
+#define wxSYS_HTHUMB_X 14
+#define wxSYS_ICON_X 15
+#define wxSYS_ICON_Y 16
+#define wxSYS_ICONSPACING_X 17
+#define wxSYS_ICONSPACING_Y 18
+#define wxSYS_WINDOWMIN_X 19
+#define wxSYS_WINDOWMIN_Y 20
+#define wxSYS_SCREEN_X 21
+#define wxSYS_SCREEN_Y 22
+#define wxSYS_FRAMESIZE_X 23
+#define wxSYS_FRAMESIZE_Y 24
+#define wxSYS_SMALLICON_X 25
+#define wxSYS_SMALLICON_Y 26
+#define wxSYS_HSCROLL_Y 27
+#define wxSYS_VSCROLL_X 28
+#define wxSYS_VSCROLL_ARROW_X 29
+#define wxSYS_VSCROLL_ARROW_Y 30
+#define wxSYS_VTHUMB_Y 31
+#define wxSYS_CAPTION_Y 32
+#define wxSYS_MENU_Y 33
+#define wxSYS_NETWORK_PRESENT 34
+#define wxSYS_PENWINDOWS_PRESENT 35
+#define wxSYS_SHOW_SOUNDS 36
+#define wxSYS_SWAP_BUTTONS 37
+
+class WXDLLEXPORT wxSystemSettings: public wxObject
+{
+public:
+ inline wxSystemSettings() {}
+
+ // Get a system colour
+ static wxColour GetSystemColour(int index);
+
+ // Get a system font
+ static wxFont GetSystemFont(int index);
+
+ // Get a system metric, e.g. scrollbar size
+ static int GetSystemMetric(int index);
+};
+
+#endif
+ // _WX_SETTINGS_H_
diff --git a/include/wx/stubs/setup.h b/include/wx/stubs/setup.h
new file mode 100644
index 0000000000..566b0d414d
--- /dev/null
+++ b/include/wx/stubs/setup.h
@@ -0,0 +1,170 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: setup.h
+// Purpose: Configuration for the library
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SETUP_H_
+#define _WX_SETUP_H_
+
+/*
+ * General features
+ *
+ */
+
+#define wxUSE_CONSTRAINTS 1
+ // Use constraints mechanism
+#define wxUSE_CONFIG 1
+ // Use wxConfig, with CreateConfig in wxApp
+#define _WX_GOODCOMPILER__
+ // gcc can have problems, but Windows compilers
+ // are generally OK.
+#define WXWIN_COMPATIBILITY 1
+ // Compatibility with 1.66 API.
+ // Level 0: no backward compatibility, all new features
+ // Level 1: wxDC, OnSize (etc.) compatibility, but
+ // some new features such as event tables
+
+#define wxUSE_POSTSCRIPT 1
+ // 0 for no PostScript device context
+#define wxUSE_AFM_FOR_POSTSCRIPT 0
+ // 1 to use font metric files in GetTextExtent
+#define wxUSE_METAFILE 1
+ // 0 for no Metafile and metafile device context
+#define wxUSE_IPC 1
+ // 0 for no interprocess comms
+#define wxUSE_HELP 1
+ // 0 for no help facility
+#define wxUSE_RESOURCES 1
+ // 0 for no wxGetResource/wxWriteResource
+#define wxUSE_CLIPBOARD 1
+ // 0 for no clipboard functions
+#define wxUSE_SPLINES 1
+ // 0 for no splines
+#define wxUSE_XFIG_SPLINE_CODE 1
+ // 1 for XFIG spline code, 0 for AIAI spline code.
+// AIAI spline code is slower, but freer of copyright issues.
+ // 0 for no splines
+
+#define wxUSE_TOOLBAR 1
+ // Use toolbars
+#define wxUSE_DRAG_AND_DROP 1
+ // 0 for no drag and drop
+
+#define wxUSE_WX_RESOURCES 1
+ // Use .wxr resource mechanism (requires PrologIO library)
+
+#define wxUSE_DOC_VIEW_ARCHITECTURE 1
+ // Set to 0 to disable document/view architecture
+#define wxUSE_PRINTING_ARCHITECTURE 1
+ // Set to 0 to disable print/preview architecture code
+#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
+ // Set to 0 to disable PostScript print/preview architecture code
+ // under Windows (just use Windows printing).
+#define wxUSE_DYNAMIC_CLASSES 1
+ // If 1, enables provision of run-time type information.
+ // NOW MANDATORY: don't change.
+#define wxUSE_MEMORY_TRACING 1
+ // If 1, enables debugging versions of wxObject::new and
+ // wxObject::delete *IF* WXDEBUG is also defined.
+ // WARNING: this code may not work with all architectures, especially
+ // if alignment is an issue.
+#define wxUSE_DEBUG_CONTEXT 1
+ // If 1, enables wxDebugContext, for
+ // writing error messages to file, etc.
+ // If WXDEBUG is not defined, will still use
+ // normal memory operators.
+ // It's recommended to set this to 1,
+ // since you may well need to output
+ // an error log in a production
+ // version (or non-debugging beta)
+#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
+ // In debug mode, cause new and delete to be redefined globally.
+ // If this causes problems (e.g. link errors), set this to 0.
+
+#define wxUSE_DEBUG_NEW_ALWAYS 1
+ // In debug mode, causes new to be defined to
+ // be WXDEBUG_NEW (see object.h).
+ // If this causes problems (e.g. link errors), set this to 0.
+
+#define REMOVE_UNUSED_ARG 1
+ // Set this to 0 if your compiler can't cope
+ // with omission of prototype parameters.
+
+#define wxUSE_C_MAIN 0
+ // Set to 1 to use main.c instead of main.cpp (UNIX only)
+
+#define wxUSE_ODBC 0
+ // Define 1 to use ODBC classes
+
+#define wxODBC_FWD_ONLY_CURSORS 1
+ // For backward compatibility reasons, this parameter now only
+ // controls the default scrolling method used by cursors. This
+ // default behavior can be overriden by setting the second param
+ // of wxDB::GetDbConnection() to indicate whether the connection
+ // (and any wxTable()s that use the connection) should support
+ // forward only scrolling of cursors, or both forward and backward
+ // Support for backward scrolling cursors is dependent on the
+ // data source as well as the ODBC driver being used.
+
+#define wxODBC_BACKWARD_COMPATABILITY 0
+ // Default is 0. Set to 1 to use the deprecated classes, enum
+ // types, function, member variables. With a setting of 1, full
+ // backward compatability with the 2.0.x release is possible.
+ // It is STRONGLY recommended that this be set to 0, as
+ // future development will be done only on the non-deprecated
+ // functions/classes/member variables/etc.
+
+#define wxUSE_IOSTREAMH 1
+ // VC++ 4.2 and above allows and
+ // but you can't mix them. Set to 1 for ,
+ // 0 for
+
+#define wxUSE_WXCONFIG 1
+ // if enabled, compiles built-in OS independent wxConfig
+ // class and it's file (any platform) and registry (Win)
+ // based implementations
+#define wxUSE_TIMEDATE 1
+ // Use time and date
+#define wxUSE_THREADS 0
+ // Use threads
+
+#define wxUSE_ZLIB 1
+ // Use zlib for compression in streams and PNG code
+#define wxUSE_LIBPNG 1
+ // Use PNG bitmap code
+#define wxUSE_LIBPNG 0
+ // Use JPEG bitmap code
+#define wxUSE_LIBGIF 0
+ // Use GIF bitmap code
+#define wxUSE_STD_IOSTREAM 1
+ // Use standard C++ streams if 1. If 0, use wxWin
+ // streams implementation.
+
+#define wxUSE_SERIAL 0
+ // Use serialization
+
+#define wxUSE_TOOLTIPS 0
+ // Use tooltips
+
+#define wxUSE_DYNLIB_CLASS 0
+ // Use wxLibrary
+#define wxUSE_SOCKETS 1
+ // Set to 1 to use socket classes
+/*
+ * Finer detail
+ *
+ */
+
+#define wxUSE_APPLE_IEEE 1
+ // if enabled, the float codec written by Apple
+ // will be used to write, in a portable way,
+ // float on the disk
+
+#endif
+ // _WX_SETUP_H_
diff --git a/include/wx/stubs/slider.h b/include/wx/stubs/slider.h
new file mode 100644
index 0000000000..239e914e5c
--- /dev/null
+++ b/include/wx/stubs/slider.h
@@ -0,0 +1,91 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: slider.h
+// Purpose: wxSlider class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SLIDER_H_
+#define _WX_SLIDER_H_
+
+#ifdef __GNUG__
+#pragma interface "slider.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxSliderNameStr;
+
+// Slider
+class WXDLLEXPORT wxSlider: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxSlider)
+
+public:
+ wxSlider();
+
+ inline wxSlider(wxWindow *parent, wxWindowID id,
+ int value, int minValue, int maxValue,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSL_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxSliderNameStr)
+ {
+ Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
+ }
+
+ ~wxSlider();
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ int value, int minValue, int maxValue,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxSL_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxSliderNameStr);
+
+ virtual int GetValue() const ;
+ virtual void SetValue(int);
+ void GetSize(int *x, int *y) const ;
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void GetPosition(int *x, int *y) const ;
+ bool Show(bool show);
+
+ void SetRange(int minValue, int maxValue);
+
+ inline int GetMin() const { return m_rangeMin; }
+ inline int GetMax() const { return m_rangeMax; }
+
+ // For trackbars only
+ void SetTickFreq(int n, int pos);
+ inline int GetTickFreq() const { return m_tickFreq; }
+ void SetPageSize(int pageSize);
+ int GetPageSize() const ;
+ void ClearSel() ;
+ void ClearTicks() ;
+ void SetLineSize(int lineSize);
+ int GetLineSize() const ;
+ int GetSelEnd() const ;
+ int GetSelStart() const ;
+ void SetSelection(int minPos, int maxPos);
+ void SetThumbLength(int len) ;
+ int GetThumbLength() const ;
+ void SetTick(int tickPos) ;
+
+ void Command(wxCommandEvent& event);
+ protected:
+ int m_rangeMin;
+ int m_rangeMax;
+ int m_pageSize;
+ int m_lineSize;
+ int m_tickFreq;
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_SLIDER_H_
diff --git a/include/wx/stubs/spinbutt.h b/include/wx/stubs/spinbutt.h
new file mode 100644
index 0000000000..afdb978c3f
--- /dev/null
+++ b/include/wx/stubs/spinbutt.h
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: spinbutt.h
+// Purpose: wxSpinButton class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SPINBUTT_H_
+#define _WX_SPINBUTT_H_
+
+#ifdef __GNUG__
+#pragma interface "spinbutt.h"
+#endif
+
+#include "wx/control.h"
+#include "wx/event.h"
+
+/*
+ The wxSpinButton is like a small scrollbar than is often placed next
+ to a text control.
+
+ wxSP_HORIZONTAL: horizontal spin button
+ wxSP_VERTICAL: vertical spin button (the default)
+ wxSP_ARROW_KEYS: arrow keys increment/decrement value
+ wxSP_WRAP: value wraps at either end
+ */
+
+class WXDLLEXPORT wxSpinButton: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxSpinButton)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxSpinButton();
+
+ inline wxSpinButton(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxSP_VERTICAL, const wxString& name = "wxSpinButton")
+ {
+ Create(parent, id, pos, size, style, name);
+ }
+ ~wxSpinButton();
+
+ bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxSP_VERTICAL, const wxString& name = "wxSpinButton");
+
+
+ // Attributes
+ ////////////////////////////////////////////////////////////////////////////
+
+ int GetValue() const ;
+ void SetValue(int val) ;
+ void SetRange(int minVal, int maxVal) ;
+ inline int GetMin() const { return m_min; }
+ inline int GetMax() const { return m_max; }
+
+ // Operations
+ ////////////////////////////////////////////////////////////////////////////
+
+ void Command(wxCommandEvent& event) { ProcessCommand(event); };
+
+protected:
+ int m_min;
+ int m_max;
+};
+
+class WXDLLEXPORT wxSpinEvent: public wxScrollEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxSpinEvent)
+
+ public:
+ wxSpinEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+};
+
+typedef void (wxEvtHandler::*wxSpinEventFunction)(wxSpinEvent&);
+
+// Spin events
+
+#define EVT_SPIN_UP(id, func) { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func }
+#define EVT_SPIN_DOWN(id, func) { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func }
+
+#define EVT_SPIN(id, func) \
+ { wxEVT_SCROLL_TOP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
+ { wxEVT_SCROLL_BOTTOM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
+ { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
+ { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
+ { wxEVT_SCROLL_PAGEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
+ { wxEVT_SCROLL_PAGEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\
+ { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },
+
+#endif
+ // _WX_SPINBUTT_H_
diff --git a/include/wx/stubs/statbmp.h b/include/wx/stubs/statbmp.h
new file mode 100644
index 0000000000..f371fddd2d
--- /dev/null
+++ b/include/wx/stubs/statbmp.h
@@ -0,0 +1,64 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: statbmp.h
+// Purpose: wxStaticBitmap class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATBMP_H_
+#define _WX_STATBMP_H_
+
+#ifdef __GNUG__
+#pragma interface "statbmp.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxStaticBitmapNameStr;
+
+class WXDLLEXPORT wxStaticBitmap: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxStaticBitmap)
+ public:
+ inline wxStaticBitmap() { }
+
+ inline wxStaticBitmap(wxWindow *parent, wxWindowID id,
+ const wxBitmap& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBitmapNameStr)
+ {
+ Create(parent, id, label, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxBitmap& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBitmapNameStr);
+
+ virtual void SetBitmap(const wxBitmap& bitmap);
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {};
+ virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {};
+
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_messageBitmap; }
+
+ // overriden base class virtuals
+ virtual bool AcceptsFocus() const { return FALSE; }
+
+ protected:
+ wxBitmap m_messageBitmap;
+
+};
+
+#endif
+ // _WX_STATBMP_H_
diff --git a/include/wx/stubs/statbox.h b/include/wx/stubs/statbox.h
new file mode 100644
index 0000000000..1aa4a6f88a
--- /dev/null
+++ b/include/wx/stubs/statbox.h
@@ -0,0 +1,57 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: statbox.h
+// Purpose: wxStaticBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATBOX_H_
+#define _WX_STATBOX_H_
+
+#ifdef __GNUG__
+#pragma interface "statbox.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxStaticBoxNameStr;
+
+// Group box
+class WXDLLEXPORT wxStaticBox: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxStaticBox)
+
+ public:
+ inline wxStaticBox() {}
+ inline wxStaticBox(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBoxNameStr)
+ {
+ Create(parent, id, label, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBoxNameStr);
+
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {};
+ virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {};
+
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void SetLabel(const wxString& label);
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_STATBOX_H_
diff --git a/include/wx/stubs/stattext.h b/include/wx/stubs/stattext.h
new file mode 100644
index 0000000000..aa8eaf229e
--- /dev/null
+++ b/include/wx/stubs/stattext.h
@@ -0,0 +1,56 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: stattext.h
+// Purpose: wxStaticText class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATTEXT_H_
+#define _WX_STATTEXT_H_
+
+#ifdef __GNUG__
+#pragma interface "stattext.h"
+#endif
+
+#include "wx/control.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxStaticTextNameStr;
+
+class WXDLLEXPORT wxStaticText: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxStaticText)
+ public:
+ inline wxStaticText() { }
+
+ inline wxStaticText(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticTextNameStr)
+ {
+ Create(parent, id, label, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& label,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticTextNameStr);
+
+ // accessors
+ void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ void SetLabel(const wxString&);
+
+ // operations
+ virtual void Command(wxCommandEvent& WXUNUSED(event)) {};
+ virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {};
+};
+
+#endif
+ // _WX_STATTEXT_H_
diff --git a/include/wx/stubs/statusbr.h b/include/wx/stubs/statusbr.h
new file mode 100644
index 0000000000..28567b19e1
--- /dev/null
+++ b/include/wx/stubs/statusbr.h
@@ -0,0 +1,53 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: statusbr.h
+// Purpose: native implementation of wxStatusBar. Optional; can use generic
+// version instead.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_STATBAR_H_
+#define _WX_STATBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "statbar.h"
+#endif
+
+#include "wx/generic/statusbr.h"
+
+class WXDLLEXPORT wxStatusBarXX : public wxStatusBar
+{
+ DECLARE_DYNAMIC_CLASS(wxStatusBarXX);
+
+public:
+ // ctors
+ wxStatusBarXX();
+ wxStatusBarXX(wxWindow *parent, wxWindowID id = -1, long style = wxST_SIZEGRIP);
+
+ // create status line
+ bool Create(wxWindow *parent, wxWindowID id = -1, long style = wxST_SIZEGRIP);
+
+ // a status line can have several (<256) fields numbered from 0
+ virtual void SetFieldsCount(int number = 1, const int widths[] = NULL);
+
+ // each field of status line has its own text
+ virtual void SetStatusText(const wxString& text, int number = 0);
+ virtual wxString GetStatusText(int number = 0) const;
+
+ // set status line fields' widths
+ virtual void SetStatusWidths(int n, const int widths_field[]);
+
+ void OnSize(wxSizeEvent& event);
+
+ DECLARE_EVENT_TABLE()
+
+protected:
+ void CopyFieldsWidth(const int widths[]);
+ void SetFieldsWidth();
+};
+
+#endif
diff --git a/include/wx/stubs/tabctrl.h b/include/wx/stubs/tabctrl.h
new file mode 100644
index 0000000000..80740019b4
--- /dev/null
+++ b/include/wx/stubs/tabctrl.h
@@ -0,0 +1,138 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: tabctrl.h
+// Purpose: wxTabCtrl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TABCTRL_H_
+#define _WX_TABCTRL_H_
+
+#ifdef __GNUG__
+#pragma interface "tabctrl.h"
+#endif
+
+class wxImageList;
+
+/*
+ * Flags returned by HitTest
+ */
+
+#define wxTAB_HITTEST_NOWHERE 1
+#define wxTAB_HITTEST_ONICON 2
+#define wxTAB_HITTEST_ONLABEL 4
+#define wxTAB_HITTEST_ONITEM 6
+
+class WXDLLEXPORT wxTabCtrl: public wxControl
+{
+ DECLARE_DYNAMIC_CLASS(wxTabCtrl)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxTabCtrl();
+
+ inline wxTabCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = "tabCtrl")
+ {
+ Create(parent, id, pos, size, style, name);
+ }
+ ~wxTabCtrl();
+
+// Accessors
+
+ // Get the selection
+ int GetSelection() const;
+
+ // Get the tab with the current keyboard focus
+ int GetCurFocus() const;
+
+ // Get the associated image list
+ wxImageList* GetImageList() const;
+
+ // Get the number of items
+ int GetItemCount() const;
+
+ // Get the rect corresponding to the tab
+ bool GetItemRect(int item, wxRect& rect) const;
+
+ // Get the number of rows
+ int GetRowCount() const;
+
+ // Get the item text
+ wxString GetItemText(int item) const ;
+
+ // Get the item image
+ int GetItemImage(int item) const;
+
+ // Get the item data
+ void* GetItemData(int item) const;
+
+ // Set the selection
+ int SetSelection(int item);
+
+ // Set the image list
+ void SetImageList(wxImageList* imageList);
+
+ // Set the text for an item
+ bool SetItemText(int item, const wxString& text);
+
+ // Set the image for an item
+ bool SetItemImage(int item, int image);
+
+ // Set the data for an item
+ bool SetItemData(int item, void* data);
+
+ // Set the size for a fixed-width tab control
+ void SetItemSize(const wxSize& size);
+
+ // Set the padding between tabs
+ void SetPadding(const wxSize& padding);
+
+// Operations
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = "tabCtrl");
+
+ // Delete all items
+ bool DeleteAllItems();
+
+ // Delete an item
+ bool DeleteItem(int item);
+
+ // Hit test
+ int HitTest(const wxPoint& pt, long& flags);
+
+ // Insert an item
+ bool InsertItem(int item, const wxString& text, int imageId = -1, void* data = NULL);
+
+ void Command(wxCommandEvent& event);
+
+protected:
+ wxImageList* m_imageList;
+
+DECLARE_EVENT_TABLE()
+};
+
+class WXDLLEXPORT wxTabEvent: public wxCommandEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxTabEvent)
+
+ public:
+ wxTabEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+};
+
+typedef void (wxEvtHandler::*wxTabEventFunction)(wxTabEvent&);
+
+#define EVT_TAB_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGED, \
+ id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL },
+#define EVT_TAB_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGING, \
+ id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL },
+
+#endif
+ // _WX_TABCTRL_H_
diff --git a/include/wx/stubs/taskbar.h b/include/wx/stubs/taskbar.h
new file mode 100644
index 0000000000..7f4a36b8b4
--- /dev/null
+++ b/include/wx/stubs/taskbar.h
@@ -0,0 +1,49 @@
+/////////////////////////////////////////////////////////////////////////
+// File: taskbar.h
+// Purpose: Defines wxTaskBarIcon class for manipulating icons on the
+// task bar. Optional.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c)
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TASKBAR_H_
+#define _WX_TASKBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "taskbar.h"
+#endif
+
+#include
+#include
+
+class wxTaskBarIcon: public wxObject
+{
+public:
+ wxTaskBarIcon();
+ virtual ~wxTaskBarIcon();
+
+// Accessors
+
+// Operations
+ bool SetIcon(const wxIcon& icon, const wxString& tooltip = "");
+ bool RemoveIcon();
+
+// Overridables
+ virtual void OnMouseMove();
+ virtual void OnLButtonDown();
+ virtual void OnLButtonUp();
+ virtual void OnRButtonDown();
+ virtual void OnRButtonUp();
+ virtual void OnLButtonDClick();
+ virtual void OnRButtonDClick();
+
+// Data members
+protected:
+};
+
+#endif
+ // _WX_TASKBAR_H_
diff --git a/include/wx/stubs/textctrl.h b/include/wx/stubs/textctrl.h
new file mode 100644
index 0000000000..09c11e063e
--- /dev/null
+++ b/include/wx/stubs/textctrl.h
@@ -0,0 +1,167 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: textctrl.h
+// Purpose: wxTextCtrl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TEXTCTRL_H_
+#define _WX_TEXTCTRL_H_
+
+#ifdef __GNUG__
+#pragma interface "textctrl.h"
+#endif
+
+#include "wx/control.h"
+
+#if wxUSE_IOSTREAMH
+#include
+#else
+#include
+#endif
+
+WXDLLEXPORT_DATA(extern const char*) wxTextCtrlNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
+
+// Single-line text item
+class WXDLLEXPORT wxTextCtrl: public wxControl
+
+// TODO Some platforms/compilers don't like inheritance from streambuf.
+
+#if (defined(__BORLANDC__) && !defined(__WIN32__)) || defined(__MWERKS__)
+#define NO_TEXT_WINDOW_STREAM
+#endif
+
+#ifndef NO_TEXT_WINDOW_STREAM
+, public streambuf
+#endif
+
+{
+ DECLARE_DYNAMIC_CLASS(wxTextCtrl)
+
+public:
+ // creation
+ // --------
+ wxTextCtrl();
+ inline wxTextCtrl(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxTextCtrlNameStr)
+#ifndef NO_TEXT_WINDOW_STREAM
+ :streambuf()
+#endif
+ {
+ Create(parent, id, value, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxTextCtrlNameStr);
+
+ // accessors
+ // ---------
+ virtual wxString GetValue() const ;
+ virtual void SetValue(const wxString& value);
+
+ virtual int GetLineLength(long lineNo) const;
+ virtual wxString GetLineText(long lineNo) const;
+ virtual int GetNumberOfLines() const;
+
+ // operations
+ // ----------
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ // Clipboard operations
+ virtual void Copy();
+ virtual void Cut();
+ virtual void Paste();
+
+ virtual bool CanCopy() const;
+ virtual bool CanCut() const;
+ virtual bool CanPaste() const;
+
+ // Undo/redo
+ virtual void Undo();
+ virtual void Redo();
+
+ virtual bool CanUndo() const;
+ virtual bool CanRedo() const;
+
+ virtual void SetInsertionPoint(long pos);
+ virtual void SetInsertionPointEnd();
+ virtual long GetInsertionPoint() const ;
+ virtual long GetLastPosition() const ;
+ virtual void Replace(long from, long to, const wxString& value);
+ virtual void Remove(long from, long to);
+ virtual void SetSelection(long from, long to);
+ virtual void SetEditable(bool editable);
+
+ // If the return values from and to are the same, there is no
+ // selection.
+ virtual void GetSelection(long* from, long* to) const;
+ virtual bool IsEditable() const ;
+
+ // streambuf implementation
+#ifndef NO_TEXT_WINDOW_STREAM
+ int overflow(int i);
+ int sync();
+ int underflow();
+#endif
+
+ wxTextCtrl& operator<<(const wxString& s);
+ wxTextCtrl& operator<<(int i);
+ wxTextCtrl& operator<<(long i);
+ wxTextCtrl& operator<<(float f);
+ wxTextCtrl& operator<<(double d);
+ wxTextCtrl& operator<<(const char c);
+
+ virtual bool LoadFile(const wxString& file);
+ virtual bool SaveFile(const wxString& file);
+ virtual void WriteText(const wxString& text);
+ virtual void AppendText(const wxString& text);
+ virtual void DiscardEdits();
+ virtual bool IsModified() const;
+
+ virtual long XYToPosition(long x, long y) const ;
+ virtual void PositionToXY(long pos, long *x, long *y) const ;
+ virtual void ShowPosition(long pos);
+ virtual void Clear();
+
+ // callbacks
+ // ---------
+ void OnDropFiles(wxDropFilesEvent& event);
+// void OnChar(wxKeyEvent& event); // Process 'enter' if required
+// void OnEraseBackground(wxEraseEvent& event);
+ void OnCut(wxCommandEvent& event);
+ void OnCopy(wxCommandEvent& event);
+ void OnPaste(wxCommandEvent& event);
+ void OnUndo(wxCommandEvent& event);
+ void OnRedo(wxCommandEvent& event);
+
+ void OnUpdateCut(wxUpdateUIEvent& event);
+ void OnUpdateCopy(wxUpdateUIEvent& event);
+ void OnUpdatePaste(wxUpdateUIEvent& event);
+ void OnUpdateUndo(wxUpdateUIEvent& event);
+ void OnUpdateRedo(wxUpdateUIEvent& event);
+
+ // Implementation
+ // --------------
+ virtual void Command(wxCommandEvent& event);
+
+protected:
+ wxString m_fileName;
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_TEXTCTRL_H_
diff --git a/include/wx/stubs/timer.h b/include/wx/stubs/timer.h
new file mode 100644
index 0000000000..e668d30bec
--- /dev/null
+++ b/include/wx/stubs/timer.h
@@ -0,0 +1,53 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: timer.h
+// Purpose: wxTimer class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TIMER_H_
+#define _WX_TIMER_H_
+
+#ifdef __GNUG__
+#pragma interface "timer.h"
+#endif
+
+#include "wx/object.h"
+
+class WXDLLEXPORT wxTimer: public wxObject
+{
+public:
+ wxTimer();
+ ~wxTimer();
+
+ virtual bool Start(int milliseconds = -1,
+ bool one_shot = FALSE); // Start timer
+ virtual void Stop(); // Stop timer
+
+ virtual void Notify() = 0; // Override this member
+
+ // Returns the current interval time (0 if stop)
+ int Interval() const { return m_milli; };
+ bool OneShot() const { return m_oneShot; }
+
+protected:
+ bool m_oneShot ;
+ int m_milli ;
+ int m_lastMilli ;
+
+ long m_id;
+
+private:
+ DECLARE_ABSTRACT_CLASS(wxTimer)
+};
+
+/* Note: these are implemented in common/timercmn.cpp, so need to implement them separately.
+ * But you may need to modify timercmn.cpp.
+ */
+
+#endif
+ // _WX_TIMER_H_
diff --git a/include/wx/stubs/toolbar.h b/include/wx/stubs/toolbar.h
new file mode 100644
index 0000000000..e42c5827ef
--- /dev/null
+++ b/include/wx/stubs/toolbar.h
@@ -0,0 +1,77 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: toolbar.h
+// Purpose: wxToolBar class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TOOLBAR_H_
+#define _WX_TOOLBAR_H_
+
+#ifdef __GNUG__
+#pragma interface "toolbar.h"
+#endif
+
+#include "wx/tbarbase.h"
+
+WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
+
+class WXDLLEXPORT wxToolBar: public wxToolBarBase
+{
+ DECLARE_DYNAMIC_CLASS(wxToolBar)
+ public:
+ /*
+ * Public interface
+ */
+
+ wxToolBar();
+
+ inline wxToolBar(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxNO_BORDER|wxTB_HORIZONTAL,
+ const wxString& name = wxToolBarNameStr)
+ {
+ Create(parent, id, pos, size, style, name);
+ }
+ ~wxToolBar();
+
+ bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxNO_BORDER|wxTB_HORIZONTAL,
+ const wxString& name = wxToolBarNameStr);
+
+ // If pushedBitmap is NULL, a reversed version of bitmap is
+ // created and used as the pushed/toggled image.
+ // If toggle is TRUE, the button toggles between the two states.
+ wxToolBarTool *AddTool(int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
+ bool toggle = FALSE, long xPos = -1, long yPos = -1, wxObject *clientData = NULL,
+ const wxString& helpString1 = "", const wxString& helpString2 = "");
+
+ // Set default bitmap size
+ void SetToolBitmapSize(const wxSize& size);
+ void EnableTool(int toolIndex, bool enable); // additional drawing on enabling
+ void ToggleTool(int toolIndex, bool toggle); // toggle is TRUE if toggled on
+ void ClearTools();
+
+ // The button size is bigger than the bitmap size
+ wxSize GetToolSize() const;
+
+ wxSize GetMaxSize() const;
+
+ // Add all the buttons
+ virtual bool CreateTools();
+ virtual void Layout() {}
+
+ // The post-tool-addition call. TODO: do here whatever's
+ // necessary for completing the toolbar construction.
+ bool Realize() { return CreateTools(); };
+
+protected:
+
+DECLARE_EVENT_TABLE()
+};
+
+#endif
+ // _WX_TOOLBAR_H_
diff --git a/include/wx/stubs/treectrl.h b/include/wx/stubs/treectrl.h
new file mode 100644
index 0000000000..cb307ec0e9
--- /dev/null
+++ b/include/wx/stubs/treectrl.h
@@ -0,0 +1,295 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: treectrl.h
+// Purpose: wxTreeCtrl class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TREECTRL_H_
+#define _WX_TREECTRL_H_
+
+#ifdef __GNUG__
+#pragma interface "treectrl.h"
+#endif
+
+#include "wx/control.h"
+#include "wx/event.h"
+#include "wx/imaglist.h"
+
+#define wxTREE_MASK_HANDLE 0x0001
+#define wxTREE_MASK_STATE 0x0002
+#define wxTREE_MASK_TEXT 0x0004
+#define wxTREE_MASK_IMAGE 0x0008
+#define wxTREE_MASK_SELECTED_IMAGE 0x0010
+#define wxTREE_MASK_CHILDREN 0x0020
+#define wxTREE_MASK_DATA 0x0040
+
+#define wxTREE_STATE_BOLD 0x0001
+#define wxTREE_STATE_DROPHILITED 0x0002
+#define wxTREE_STATE_EXPANDED 0x0004
+#define wxTREE_STATE_EXPANDEDONCE 0x0008
+#define wxTREE_STATE_FOCUSED 0x0010
+#define wxTREE_STATE_SELECTED 0x0020
+#define wxTREE_STATE_CUT 0x0040
+
+#define wxTREE_HITTEST_ABOVE 0x0001 // Above the client area.
+#define wxTREE_HITTEST_BELOW 0x0002 // Below the client area.
+#define wxTREE_HITTEST_NOWHERE 0x0004 // In the client area but below the last item.
+#define wxTREE_HITTEST_ONITEMBUTTON 0x0010 // On the button associated with an item.
+#define wxTREE_HITTEST_ONITEMICON 0x0020 // On the bitmap associated with an item.
+#define wxTREE_HITTEST_ONITEMINDENT 0x0040 // In the indentation associated with an item.
+#define wxTREE_HITTEST_ONITEMLABEL 0x0080 // On the label (string) associated with an item.
+#define wxTREE_HITTEST_ONITEMRIGHT 0x0100 // In the area to the right of an item.
+#define wxTREE_HITTEST_ONITEMSTATEICON 0x0200 // On the state icon for a tree view item that is in a user-defined state.
+#define wxTREE_HITTEST_TOLEFT 0x0400 // To the right of the client area.
+#define wxTREE_HITTEST_TORIGHT 0x0800 // To the left of the client area.
+
+#define wxTREE_HITTEST_ONITEM (wxTREE_HITTEST_ONITEMICON | wxTREE_HITTEST_ONITEMLABEL | wxTREE_HITTEST_ONITEMSTATEICON)
+
+// Flags for GetNextItem
+enum {
+ wxTREE_NEXT_CARET, // Retrieves the currently selected item.
+ wxTREE_NEXT_CHILD, // Retrieves the first child item. The hItem parameter must be NULL.
+ wxTREE_NEXT_DROPHILITE, // Retrieves the item that is the target of a drag-and-drop operation.
+ wxTREE_NEXT_FIRSTVISIBLE, // Retrieves the first visible item.
+ wxTREE_NEXT_NEXT, // Retrieves the next sibling item.
+ wxTREE_NEXT_NEXTVISIBLE, // Retrieves the next visible item that follows the specified item.
+ wxTREE_NEXT_PARENT, // Retrieves the parent of the specified item.
+ wxTREE_NEXT_PREVIOUS, // Retrieves the previous sibling item.
+ wxTREE_NEXT_PREVIOUSVISIBLE, // Retrieves the first visible item that precedes the specified item.
+ wxTREE_NEXT_ROOT // Retrieves the first child item of the root item of which the specified item is a part.
+};
+
+// Flags for ExpandItem
+enum {
+ wxTREE_EXPAND_EXPAND,
+ wxTREE_EXPAND_COLLAPSE,
+ wxTREE_EXPAND_COLLAPSE_RESET,
+ wxTREE_EXPAND_TOGGLE
+};
+
+// Flags for InsertItem
+enum {
+ wxTREE_INSERT_LAST = -1,
+ wxTREE_INSERT_FIRST = -2,
+ wxTREE_INSERT_SORT = -3
+};
+
+class WXDLLEXPORT wxTreeItem: public wxObject
+{
+ DECLARE_DYNAMIC_CLASS(wxTreeItem)
+public:
+ long m_mask;
+ long m_itemId;
+ long m_state;
+ long m_stateMask;
+ wxString m_text;
+ int m_image;
+ int m_selectedImage;
+ int m_children;
+ long m_data;
+
+ wxTreeItem();
+
+// Accessors
+ inline long GetMask() const { return m_mask; }
+ inline long GetItemId() const { return m_itemId; }
+ inline long GetState() const { return m_state; }
+ inline long GetStateMask() const { return m_stateMask; }
+ inline wxString GetText() const { return m_text; }
+ inline int GetImage() const { return m_image; }
+ inline int GetSelectedImage() const { return m_selectedImage; }
+ inline int GetChildren() const { return m_children; }
+ inline long GetData() const { return m_data; }
+
+ inline void SetMask(long mask) { m_mask = mask; }
+ inline void SetItemId(long id) { m_itemId = m_itemId = id; }
+ inline void SetState(long state) { m_state = state; }
+ inline void SetStateMask(long stateMask) { m_stateMask = stateMask; }
+ inline void GetText(const wxString& text) { m_text = text; }
+ inline void SetImage(int image) { m_image = image; }
+ inline void GetSelectedImage(int selImage) { m_selectedImage = selImage; }
+ inline void SetChildren(int children) { m_children = children; }
+ inline void SetData(long data) { m_data = data; }
+};
+
+class WXDLLEXPORT wxTreeCtrl: public wxControl
+{
+public:
+ /*
+ * Public interface
+ */
+
+ // creation
+ // --------
+ wxTreeCtrl();
+
+ inline wxTreeCtrl(wxWindow *parent, wxWindowID id = -1,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTR_HAS_BUTTONS|wxTR_LINES_AT_ROOT,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "wxTreeCtrl")
+ {
+ Create(parent, id, pos, size, style, validator, name);
+ }
+ ~wxTreeCtrl();
+
+ bool Create(wxWindow *parent, wxWindowID id = -1,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTR_HAS_BUTTONS|wxTR_LINES_AT_ROOT,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "wxTreeCtrl");
+
+ // accessors
+ // ---------
+ //
+ int GetCount() const;
+
+ // indent
+ int GetIndent() const;
+ void SetIndent(int indent);
+ // image list
+ wxImageList *GetImageList(int which = wxIMAGE_LIST_NORMAL) const;
+ void SetImageList(wxImageList *imageList, int which = wxIMAGE_LIST_NORMAL);
+
+ // navigation inside the tree
+ long GetNextItem(long item, int code) const;
+ bool ItemHasChildren(long item) const;
+ long GetChild(long item) const;
+ long GetParent(long item) const;
+ long GetFirstVisibleItem() const;
+ long GetNextVisibleItem(long item) const;
+ long GetSelection() const;
+ long GetRootItem() const;
+
+ // generic function for (g|s)etting item attributes
+ bool GetItem(wxTreeItem& info) const;
+ bool SetItem(wxTreeItem& info);
+ // item state
+ int GetItemState(long item, long stateMask) const;
+ bool SetItemState(long item, long state, long stateMask);
+ // item image
+ bool SetItemImage(long item, int image, int selImage);
+ // item text
+ wxString GetItemText(long item) const;
+ void SetItemText(long item, const wxString& str);
+ // custom data associated with the item
+ long GetItemData(long item) const;
+ bool SetItemData(long item, long data);
+ // convenience function
+ bool IsItemExpanded(long item)
+ {
+ return (GetItemState(item, wxTREE_STATE_EXPANDED) &
+ wxTREE_STATE_EXPANDED) != 0;
+ }
+
+ // bounding rect
+ bool GetItemRect(long item, wxRect& rect, bool textOnly = FALSE) const;
+ //
+ wxTextCtrl* GetEditControl() const;
+
+ // operations
+ // ----------
+ // adding/deleting items
+ bool DeleteItem(long item);
+ long InsertItem(long parent, wxTreeItem& info,
+ long insertAfter = wxTREE_INSERT_LAST);
+ // If image > -1 and selImage == -1, the same image is used for
+ // both selected and unselected items.
+ long InsertItem(long parent, const wxString& label,
+ int image = -1, int selImage = -1,
+ long insertAfter = wxTREE_INSERT_LAST);
+
+ // changing item state
+ bool ExpandItem(long item) { return ExpandItem(item, wxTREE_EXPAND_EXPAND); }
+ bool CollapseItem(long item) { return ExpandItem(item, wxTREE_EXPAND_COLLAPSE); }
+ bool ToggleItem(long item) { return ExpandItem(item, wxTREE_EXPAND_TOGGLE); }
+ // common interface for {Expand|Collapse|Toggle}Item
+ bool ExpandItem(long item, int action);
+
+ //
+ bool SelectItem(long item);
+ bool ScrollTo(long item);
+ bool DeleteAllItems();
+
+ // Edit the label (tree must have the focus)
+ wxTextCtrl* EditLabel(long item, wxClassInfo* textControlClass = CLASSINFO(wxTextCtrl));
+
+ // End label editing, optionally cancelling the edit
+ bool EndEditLabel(bool cancel);
+
+ long HitTest(const wxPoint& point, int& flags);
+ // wxImageList *CreateDragImage(long item);
+ bool SortChildren(long item);
+ bool EnsureVisible(long item);
+
+ void Command(wxCommandEvent& event) { ProcessCommand(event); };
+
+protected:
+ wxTextCtrl* m_textCtrl;
+ wxImageList* m_imageListNormal;
+ wxImageList* m_imageListState;
+
+ DECLARE_DYNAMIC_CLASS(wxTreeCtrl)
+};
+
+/*
+ wxEVT_COMMAND_TREE_BEGIN_DRAG,
+ wxEVT_COMMAND_TREE_BEGIN_RDRAG,
+ wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT,
+ wxEVT_COMMAND_TREE_END_LABEL_EDIT,
+ wxEVT_COMMAND_TREE_DELETE_ITEM,
+ wxEVT_COMMAND_TREE_GET_INFO,
+ wxEVT_COMMAND_TREE_SET_INFO,
+ wxEVT_COMMAND_TREE_ITEM_EXPANDED,
+ wxEVT_COMMAND_TREE_ITEM_EXPANDING,
+ wxEVT_COMMAND_TREE_ITEM_COLLAPSED,
+ wxEVT_COMMAND_TREE_ITEM_COLLAPSING,
+ wxEVT_COMMAND_TREE_SEL_CHANGED,
+ wxEVT_COMMAND_TREE_SEL_CHANGING,
+ wxEVT_COMMAND_TREE_KEY_DOWN
+*/
+
+class WXDLLEXPORT wxTreeEvent: public wxCommandEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxTreeEvent)
+
+ public:
+ wxTreeEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+
+ int m_code;
+ wxTreeItem m_item;
+ long m_oldItem;
+ wxPoint m_pointDrag;
+
+ inline long GetOldItem() const { return m_oldItem; }
+ inline wxTreeItem& GetItem() const { return (wxTreeItem&) m_item; }
+ inline wxPoint GetPoint() const { return m_pointDrag; }
+ inline int GetCode() const { return m_code; }
+};
+
+typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);
+
+#define EVT_TREE_BEGIN_DRAG(id, fn) { wxEVT_COMMAND_TREE_BEGIN_DRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_BEGIN_RDRAG(id, fn) { wxEVT_COMMAND_TREE_BEGIN_RDRAG, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_BEGIN_LABEL_EDIT(id, fn) { wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_END_LABEL_EDIT(id, fn) { wxEVT_COMMAND_TREE_END_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_DELETE_ITEM(id, fn) { wxEVT_COMMAND_TREE_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_GET_INFO(id, fn) { wxEVT_COMMAND_TREE_GET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_SET_INFO(id, fn) { wxEVT_COMMAND_TREE_SET_INFO, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_ITEM_EXPANDED(id, fn) { wxEVT_COMMAND_TREE_ITEM_EXPANDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_ITEM_EXPANDING(id, fn) { wxEVT_COMMAND_TREE_ITEM_EXPANDING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_ITEM_COLLAPSED(id, fn) { wxEVT_COMMAND_TREE_ITEM_COLLAPSED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_ITEM_COLLAPSING(id, fn) { wxEVT_COMMAND_TREE_ITEM_COLLAPSING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TREE_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TREE_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+#define EVT_TREE_KEY_DOWN(id, fn) { wxEVT_COMMAND_TREE_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
+
+#endif
+ // _WX_TREECTRL_H_
diff --git a/include/wx/stubs/wave.h b/include/wx/stubs/wave.h
new file mode 100644
index 0000000000..e55bd5aa5f
--- /dev/null
+++ b/include/wx/stubs/wave.h
@@ -0,0 +1,44 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wave.h
+// Purpose: wxWave class (loads and plays short Windows .wav files).
+// Optional on non-Windows platforms.
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_WAVE_H_
+#define _WX_WAVE_H_
+
+#ifdef __GNUG__
+#pragma interface "wave.h"
+#endif
+
+#include "wx/object.h"
+
+class wxWave : public wxObject
+{
+public:
+ wxWave();
+ wxWave(const wxString& fileName, bool isResource = FALSE);
+ ~wxWave();
+
+public:
+ bool Create(const wxString& fileName, bool isResource = FALSE);
+ bool IsOk() const { return (m_waveData ? TRUE : FALSE); };
+ bool Play(bool async = TRUE, bool looped = FALSE) const;
+
+protected:
+ bool Free();
+
+private:
+ char* m_waveData;
+ int m_waveLength;
+ bool m_isResource;
+};
+
+#endif
+ // _WX_WAVE_H_
diff --git a/include/wx/stubs/window.h b/include/wx/stubs/window.h
new file mode 100644
index 0000000000..b94c1afe41
--- /dev/null
+++ b/include/wx/stubs/window.h
@@ -0,0 +1,584 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: window.h
+// Purpose: wxWindow class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_WINDOW_H_
+#define _WX_WINDOW_H_
+
+#ifdef __GNUG__
+#pragma interface "window.h"
+#endif
+
+#include "wx/gdicmn.h"
+#include "wx/icon.h"
+#include "wx/cursor.h"
+#include "wx/pen.h"
+#include "wx/font.h"
+#include "wx/validate.h"
+#include "wx/event.h"
+#include "wx/string.h"
+#include "wx/list.h"
+#include "wx/region.h"
+#include "wx/accel.h"
+#include "wx/intl.h"
+
+#define wxKEY_SHIFT 1
+#define wxKEY_CTRL 2
+
+/*
+ * Base class for frame, panel, canvas, panel items, dialog box.
+ *
+ */
+
+/*
+ * Event handler: windows have themselves as their event handlers
+ * by default, but their event handlers could be set to another
+ * object entirely. This separation can reduce the amount of
+ * derivation required, and allow alteration of a window's functionality
+ * (e.g. by a resource editor that temporarily switches event handlers).
+ */
+
+class WXDLLEXPORT wxWindow;
+class WXDLLEXPORT wxEvent;
+class WXDLLEXPORT wxCommandEvent;
+class WXDLLEXPORT wxKeyEvent;
+class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxCursor;
+class WXDLLEXPORT wxColourMap;
+class WXDLLEXPORT wxFont;
+class WXDLLEXPORT wxMenu;
+class WXDLLEXPORT wxRect;
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxSizer;
+class WXDLLEXPORT wxList;
+class WXDLLEXPORT wxLayoutConstraints;
+class WXDLLEXPORT wxMouseEvent;
+class WXDLLEXPORT wxButton;
+class WXDLLEXPORT wxColour;
+class WXDLLEXPORT wxBrush;
+class WXDLLEXPORT wxPen;
+class WXDLLEXPORT wxIcon;
+class WXDLLEXPORT wxDC;
+class WXDLLEXPORT wxValidator;
+
+#if wxUSE_DRAG_AND_DROP
+class WXDLLEXPORT wxDropTarget;
+#endif
+
+#if wxUSE_WX_RESOURCES
+class WXDLLEXPORT wxResourceTable;
+class WXDLLEXPORT wxItemResource;
+#endif
+
+WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
+
+WXDLLEXPORT_DATA(extern const wxSize) wxDefaultSize;
+WXDLLEXPORT_DATA(extern const wxPoint) wxDefaultPosition;
+
+//-----------------------------------------------------------------------------
+// wxClientData
+//-----------------------------------------------------------------------------
+
+class wxClientData
+{
+public:
+ wxClientData() { }
+ virtual ~wxClientData() { }
+};
+
+//-----------------------------------------------------------------------------
+// wxStringClientData
+//-----------------------------------------------------------------------------
+
+class wxStringClientData: public wxClientData
+{
+public:
+ wxStringClientData() { }
+ wxStringClientData( wxString &data ) { m_data = data; }
+ void SetData( wxString &data ) { m_data = data; }
+ wxString GetData() const { return m_data; }
+
+private:
+ wxString m_data;
+};
+
+class WXDLLEXPORT wxWindow: public wxEvtHandler
+{
+ DECLARE_ABSTRACT_CLASS(wxWindow)
+
+ friend class wxDC;
+ friend class wxPaintDC;
+
+public:
+ wxWindow();
+ inline wxWindow(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxPanelNameStr)
+ {
+ m_children = new wxList;
+ Create(parent, id, pos, size, style, name);
+ }
+
+ virtual ~wxWindow();
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxPanelNameStr);
+
+ // Fit the window around the items
+ virtual void Fit();
+
+ // Show or hide the window
+ virtual bool Show(bool show);
+
+ // Is the window shown?
+ virtual bool IsShown() const;
+
+ // Raise the window to the top of the Z order
+ virtual void Raise();
+
+ // Lower the window to the bottom of the Z order
+ virtual void Lower();
+
+ // Is the window enabled?
+ virtual bool IsEnabled() const;
+
+ // For compatibility
+ inline bool Enabled() const { return IsEnabled(); }
+
+ // Dialog support: override these and call
+ // base class members to add functionality
+ // that can't be done using validators.
+
+ // Transfer values to controls. If returns FALSE,
+ // it's an application error (pops up a dialog)
+ virtual bool TransferDataToWindow();
+
+ // Transfer values from controls. If returns FALSE,
+ // transfer failed: don't quit
+ virtual bool TransferDataFromWindow();
+
+ // Validate controls. If returns FALSE,
+ // validation failed: don't quit
+ virtual bool Validate();
+
+ // Return code for dialogs
+ inline void SetReturnCode(int retCode);
+ inline int GetReturnCode();
+
+ // Set the cursor
+ virtual void SetCursor(const wxCursor& cursor);
+ inline virtual wxCursor *GetCursor() const { return (wxCursor *)& m_windowCursor; };
+
+ // Get the window with the focus
+ static wxWindow *FindFocus();
+
+ // Get character size
+ virtual int GetCharHeight() const;
+ virtual int GetCharWidth() const;
+
+ // Get overall window size
+ virtual void GetSize(int *width, int *height) const;
+
+ // Get window position, relative to parent (or screen if no parent)
+ virtual void GetPosition(int *x, int *y) const;
+
+ // Get client (application-useable) size
+ virtual void GetClientSize(int *width, int *height) const;
+
+ // Set overall size and position
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+ inline virtual void SetSize(int width, int height) { SetSize(-1, -1, width, height, wxSIZE_USE_EXISTING); }
+ inline virtual void Move(int x, int y) { SetSize(x, y, -1, -1, wxSIZE_USE_EXISTING); }
+
+ // Set client size
+ virtual void SetClientSize(int width, int size);
+
+ // Convert client to screen coordinates
+ virtual void ClientToScreen(int *x, int *y) const;
+
+ // Convert screen to client coordinates
+ virtual void ScreenToClient(int *x, int *y) const;
+
+ // Set the focus to this window
+ virtual void SetFocus();
+
+ // Capture/release mouse
+ virtual void CaptureMouse();
+ virtual void ReleaseMouse();
+
+ // Enable or disable the window
+ virtual void Enable(bool enable);
+
+#if wxUSE_DRAG_AND_DROP
+ // Associate a drop target with this window (if the window already had a drop
+ // target, it's deleted!) and return the current drop target (may be NULL).
+ void SetDropTarget(wxDropTarget *pDropTarget);
+ wxDropTarget *GetDropTarget() const { return m_pDropTarget; }
+#endif
+
+ // Accept files for dragging
+ virtual void DragAcceptFiles(bool accept);
+
+ // tooltips
+ // create a tooltip with this text
+ void SetToolTip(const wxString& tip);
+
+ // TODO
+#if 0
+ // pointer may be NULL to remove the tooltip
+ void SetToolTip(wxToolTip *tooltip);
+ // get the current tooltip (may return NULL if none)
+ wxToolTip* GetToolTip() const { return m_tooltip; }
+#endif
+
+ // Update region access
+ virtual wxRegion GetUpdateRegion() const;
+ virtual bool IsExposed(int x, int y, int w, int h) const;
+ virtual bool IsExposed(const wxPoint& pt) const;
+ virtual bool IsExposed(const wxRect& rect) const;
+
+ // Set/get the window title
+ virtual inline void SetTitle(const wxString& WXUNUSED(title)) {};
+ inline virtual wxString GetTitle() const { return wxString(""); };
+ // Most windows have the concept of a label; for frames, this is the
+ // title; for items, this is the label or button text.
+ inline virtual wxString GetLabel() const { return GetTitle(); }
+
+ // Set/get the window name (used for resource setting in X)
+ inline virtual wxString GetName() const;
+ inline virtual void SetName(const wxString& name);
+
+ // Centre the window
+ virtual void Centre(int direction) ;
+ inline void Center(int direction = wxHORIZONTAL) { Centre(direction); }
+
+ // Popup a menu
+ virtual bool PopupMenu(wxMenu *menu, int x, int y);
+
+ // Send the window a refresh event
+ virtual void Refresh(bool eraseBack = TRUE, const wxRect *rect = NULL);
+
+ // New functions that will replace the above.
+ virtual void SetScrollbar(int orient, int pos, int thumbVisible,
+ int range, bool refresh = TRUE);
+
+ virtual void SetScrollPos(int orient, int pos, bool refresh = TRUE);
+ virtual int GetScrollPos(int orient) const;
+ virtual int GetScrollRange(int orient) const;
+ virtual int GetScrollThumb(int orient) const;
+
+ virtual void ScrollWindow(int dx, int dy, const wxRect *rect = NULL);
+
+ // Caret manipulation
+ virtual void CreateCaret(int w, int h);
+ virtual void CreateCaret(const wxBitmap *bitmap);
+ virtual void DestroyCaret();
+ virtual void ShowCaret(bool show);
+ virtual void SetCaretPos(int x, int y);
+ virtual void GetCaretPos(int *x, int *y) const;
+
+ // Tell window how much it can be sized
+ virtual void SetSizeHints(int minW = -1, int minH = -1, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1);
+
+ // Set/get the window's identifier
+ inline int GetId() const;
+ inline void SetId(int id);
+
+ virtual void SetAcceleratorTable(const wxAcceleratorTable& accel);
+ inline virtual wxAcceleratorTable& GetAcceleratorTable() const { return (wxAcceleratorTable&) m_acceleratorTable; }
+
+ // Make the window modal (all other windows unresponsive)
+ virtual void MakeModal(bool modal);
+
+ // Get the private handle (platform-dependent)
+ inline void *GetHandle() const;
+
+ // Set/get the window's relatives
+ inline wxWindow *GetParent() const;
+ inline void SetParent(wxWindow *p) ;
+ inline wxWindow *GetGrandParent() const;
+ inline wxList& GetChildren() const;
+
+ // Set/get the window's font
+ virtual void SetFont(const wxFont& f);
+ inline virtual wxFont& GetFont() const;
+
+ // Set/get the window's validator
+ void SetValidator(const wxValidator& validator);
+ inline wxValidator *GetValidator() const;
+
+ // Set/get the window's style
+ inline void SetWindowStyleFlag(long flag);
+ inline long GetWindowStyleFlag() const;
+
+ // Handle a control command
+ virtual void OnCommand(wxWindow& win, wxCommandEvent& event);
+
+ // Set/get event handler
+ inline void SetEventHandler(wxEvtHandler *handler);
+ inline wxEvtHandler *GetEventHandler() const;
+
+ // Push/pop event handler (i.e. allow a chain of event handlers
+ // be searched)
+ void PushEventHandler(wxEvtHandler *handler) ;
+ wxEvtHandler *PopEventHandler(bool deleteHandler = FALSE) ;
+
+ // Close the window by calling OnClose, posting a deletion
+ virtual bool Close(bool force = FALSE);
+
+ // Destroy the window (delayed, if a managed window)
+ virtual bool Destroy() ;
+
+ // Mode for telling default OnSize members to
+ // call Layout(), if not using Sizers, just top-down constraints
+ inline void SetAutoLayout(bool a);
+ inline bool GetAutoLayout() const;
+
+ // Set/get constraints
+ inline wxLayoutConstraints *GetConstraints() const;
+ void SetConstraints(wxLayoutConstraints *c);
+
+ // Set/get window background colour
+ inline virtual void SetBackgroundColour(const wxColour& col);
+ inline virtual wxColour GetBackgroundColour() const;
+
+ // Set/get window foreground colour
+ inline virtual void SetForegroundColour(const wxColour& col);
+ inline virtual wxColour GetForegroundColour() const;
+
+ // Get the default button, if there is one
+ inline virtual wxButton *GetDefaultItem() const;
+ inline virtual void SetDefaultItem(wxButton *but);
+
+ // Override to define new behaviour for default action (e.g. double clicking
+ // on a listbox)
+ virtual void OnDefaultAction(wxControl *initiatingItem);
+
+ // Resource loading
+#if wxUSE_WX_RESOURCES
+ virtual bool LoadFromResource(wxWindow *parent, const wxString& resourceName, const wxResourceTable *table = NULL);
+ virtual wxControl *CreateItem(const wxItemResource* childResource, const wxItemResource* parentResource,
+ const wxResourceTable *table = (const wxResourceTable *) NULL);
+#endif
+
+ virtual void GetTextExtent(const wxString& string, int *x, int *y,
+ int *descent = NULL,
+ int *externalLeading = NULL,
+ const wxFont *theFont = NULL, bool use16 = FALSE) const;
+
+ // Is the window retained?
+ inline bool IsRetained() const;
+
+ // Warp the pointer the given position
+ virtual void WarpPointer(int x_pos, int y_pos) ;
+
+ // Clear the window
+ virtual void Clear();
+
+ // Find a window by id or name
+ virtual wxWindow *FindWindow(long id);
+ virtual wxWindow *FindWindow(const wxString& name);
+
+ // Constraint operations
+ bool Layout();
+ void SetSizer(wxSizer *sizer); // Adds sizer child to this window
+ inline wxSizer *GetSizer() const ;
+ inline wxWindow *GetSizerParent() const ;
+ inline void SetSizerParent(wxWindow *win);
+
+ // Do Update UI processing for controls
+ void UpdateWindowUI();
+
+ void OnEraseBackground(wxEraseEvent& event);
+ void OnChar(wxKeyEvent& event);
+ void OnKeyDown(wxKeyEvent& event);
+ void OnKeyUp(wxKeyEvent& event);
+ void OnPaint(wxPaintEvent& event);
+ void OnIdle(wxIdleEvent& event);
+
+ // Does this window want to accept keyboard focus?
+ virtual bool AcceptsFocus() const;
+
+ virtual void PrepareDC( wxDC &dc ) {};
+
+
+public:
+ ////////////////////////////////////////////////////////////////////////
+ //// IMPLEMENTATION
+
+ // For implementation purposes - sometimes decorations make the client area
+ // smaller
+ virtual wxPoint GetClientAreaOrigin() const;
+
+ // Makes an adjustment to the window position (for example, a frame that has
+ // a toolbar that it manages itself).
+ virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
+
+ // Executes the default message
+ virtual long Default();
+
+/* TODO: you may need something like this
+ // Determine whether 3D effects are wanted
+ virtual WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D);
+*/
+
+ virtual void AddChild(wxWindow *child); // Adds reference to the child object
+ virtual void RemoveChild(wxWindow *child); // Removes reference to child
+ // (but doesn't delete the child object)
+ virtual void DestroyChildren(); // Removes and destroys all children
+
+ inline bool IsBeingDeleted() const { return FALSE; } // TODO: Should probably eliminate this
+
+ // Constraint implementation
+ void UnsetConstraints(wxLayoutConstraints *c);
+ inline wxList *GetConstraintsInvolvedIn() const ;
+ // Back-pointer to other windows we're involved with, so if we delete
+ // this window, we must delete any constraints we're involved with.
+ void AddConstraintReference(wxWindow *otherWin);
+ void RemoveConstraintReference(wxWindow *otherWin);
+ void DeleteRelatedConstraints();
+
+ virtual void ResetConstraints();
+ virtual void SetConstraintSizes(bool recurse = TRUE);
+ virtual bool LayoutPhase1(int *noChanges);
+ virtual bool LayoutPhase2(int *noChanges);
+ virtual bool DoPhase(int);
+ // Transforms from sizer coordinate space to actual
+ // parent coordinate space
+ virtual void TransformSizerToActual(int *x, int *y) const ;
+
+ // Set size with transformation to actual coordinates if nec.
+ virtual void SizerSetSize(int x, int y, int w, int h);
+ virtual void SizerMove(int x, int y);
+
+ // Only set/get the size/position of the constraint (if any)
+ virtual void SetSizeConstraint(int x, int y, int w, int h);
+ virtual void MoveConstraint(int x, int y);
+ virtual void GetSizeConstraint(int *w, int *h) const ;
+ virtual void GetClientSizeConstraint(int *w, int *h) const ;
+ virtual void GetPositionConstraint(int *x, int *y) const ;
+
+ // Dialog units translations. Implemented in wincmn.cpp.
+ wxPoint ConvertPixelsToDialog(const wxPoint& pt) ;
+ wxPoint ConvertDialogToPixels(const wxPoint& pt) ;
+ inline wxSize ConvertPixelsToDialog(const wxSize& sz)
+ { wxPoint pt(ConvertPixelsToDialog(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); }
+ inline wxSize ConvertDialogToPixels(const wxSize& sz)
+ { wxPoint pt(ConvertDialogToPixels(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); }
+
+ wxObject *GetChild(int number) const ;
+
+ // Generates a new id for controls
+ static int NewControlId();
+
+ // Responds to colour changes: passes event on to children.
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+ // Transfers data to any child controls
+ void OnInitDialog(wxInitDialogEvent& event);
+
+ // Sends an OnInitDialog event, which in turns transfers data to
+ // to the window via validators.
+ virtual void InitDialog();
+
+ ////////////////////////////////////////////////////////////////////////
+ //// PROTECTED DATA
+protected:
+ int m_windowId;
+ long m_windowStyle; // Store the window's style
+ wxEvtHandler * m_windowEventHandler; // Usually is 'this'
+ wxLayoutConstraints * m_constraints; // Constraints for this window
+ wxList * m_constraintsInvolvedIn; // List of constraints we're involved in
+ wxSizer * m_windowSizer; // Window's top-level sizer (if any)
+ wxWindow * m_sizerParent; // Window's parent sizer (if any)
+ bool m_autoLayout; // Whether to call Layout() in OnSize
+ wxWindow * m_windowParent; // Each window always knows its parent
+ wxValidator * m_windowValidator;
+ int m_minSizeX;
+ int m_minSizeY;
+ int m_maxSizeX;
+ int m_maxSizeY;
+
+ // Caret data
+ int m_caretWidth;
+ int m_caretHeight;
+ bool m_caretEnabled;
+ bool m_caretShown;
+ wxFont m_windowFont; // Window's font
+ wxCursor m_windowCursor; // Window's cursor
+ wxString m_windowName; // Window name
+
+ wxButton * m_defaultItem;
+
+ wxColour m_backgroundColour ;
+ wxColour m_foregroundColour ;
+ wxAcceleratorTable m_acceleratorTable;
+
+#if wxUSE_DRAG_AND_DROP
+ wxDropTarget *m_pDropTarget; // the current drop target or NULL
+#endif //USE_DRAG_AND_DROP
+
+public:
+ wxRegion m_updateRegion;
+ wxList * m_children; // Window's children
+ int m_returnCode;
+
+DECLARE_EVENT_TABLE()
+};
+
+////////////////////////////////////////////////////////////////////////
+//// INLINES
+
+inline void *wxWindow::GetHandle() const { return (void *)NULL; }
+inline int wxWindow::GetId() const { return m_windowId; }
+inline void wxWindow::SetId(int id) { m_windowId = id; }
+inline wxWindow *wxWindow::GetParent() const { return m_windowParent; }
+inline void wxWindow::SetParent(wxWindow *p) { m_windowParent = p; }
+inline wxWindow *wxWindow::GetGrandParent() const { return (m_windowParent ? m_windowParent->m_windowParent : (wxWindow*) NULL); }
+inline wxList& wxWindow::GetChildren() const { return (wxList&) * m_children; }
+inline wxFont& wxWindow::GetFont() const { return (wxFont&) m_windowFont; }
+inline wxString wxWindow::GetName() const { return m_windowName; }
+inline void wxWindow::SetName(const wxString& name) { m_windowName = name; }
+inline long wxWindow::GetWindowStyleFlag() const { return m_windowStyle; }
+inline void wxWindow::SetWindowStyleFlag(long flag) { m_windowStyle = flag; }
+inline void wxWindow::SetEventHandler(wxEvtHandler *handler) { m_windowEventHandler = handler; }
+inline wxEvtHandler *wxWindow::GetEventHandler() const { return m_windowEventHandler; }
+inline void wxWindow::SetAutoLayout(bool a) { m_autoLayout = a; }
+inline bool wxWindow::GetAutoLayout() const { return m_autoLayout; }
+inline wxLayoutConstraints *wxWindow::GetConstraints() const { return m_constraints; }
+inline void wxWindow::SetBackgroundColour(const wxColour& col) { m_backgroundColour = col; };
+inline wxColour wxWindow::GetBackgroundColour() const { return m_backgroundColour; };
+inline void wxWindow::SetForegroundColour(const wxColour& col) { m_foregroundColour = col; };
+inline wxColour wxWindow::GetForegroundColour() const { return m_foregroundColour; };
+
+inline wxButton *wxWindow::GetDefaultItem() const { return m_defaultItem; }
+inline void wxWindow::SetDefaultItem(wxButton *but) { m_defaultItem = but; }
+inline bool wxWindow::IsRetained() const { return ((m_windowStyle & wxRETAINED) == wxRETAINED); }
+
+inline wxList *wxWindow::GetConstraintsInvolvedIn() const { return m_constraintsInvolvedIn; }
+inline wxSizer *wxWindow::GetSizer() const { return m_windowSizer; }
+inline wxWindow *wxWindow::GetSizerParent() const { return m_sizerParent; }
+inline void wxWindow::SetSizerParent(wxWindow *win) { m_sizerParent = win; }
+inline wxValidator *wxWindow::GetValidator() const { return m_windowValidator; }
+inline void wxWindow::SetReturnCode(int retCode) { m_returnCode = retCode; }
+inline int wxWindow::GetReturnCode() { return m_returnCode; }
+
+// Get the active window.
+wxWindow* WXDLLEXPORT wxGetActiveWindow();
+
+WXDLLEXPORT_DATA(extern wxList) wxTopLevelWindows;
+
+#endif
+ // _WX_WINDOW_H_
diff --git a/include/wx/time.h b/include/wx/time.h
new file mode 100644
index 0000000000..d2c87ec77a
--- /dev/null
+++ b/include/wx/time.h
@@ -0,0 +1,159 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/time.h
+// Purpose: wxTime class, from NIHCL: this class is deprecated, use
+// wxDateTime instead
+// Author: Julian Smart, after K. E. Gorlen
+// Modified by: 18.12.99 by VZ to use the new wxDateTime class
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TIMEH__
+#define _WX_TIMEH__
+
+#include "wx/defs.h"
+
+#if wxUSE_TIMEDATE
+
+#include "wx/object.h"
+#include "wx/datetime.h"
+#include "wx/date.h"
+
+#ifdef __GNUG__
+ #pragma interface "time.h"
+#endif
+
+class WXDLLEXPORT wxDate;
+
+typedef unsigned short hourTy;
+typedef unsigned short minuteTy;
+typedef unsigned short secondTy;
+typedef unsigned long clockTy;
+
+// seconds from 1/1/01 to 1/1/70
+#define wxTIME_EPOCH_DIFF 2177452800UL
+
+class WXDLLEXPORT wxTime : public wxObject
+{
+public:
+ // type definitions
+ enum tFormat { wx12h, wx24h };
+ enum tPrecision { wxStdMinSec, wxStdMin };
+
+public:
+ // current time
+ wxTime() : m_time(wxDateTime::Now()) { }
+ wxTime(clockTy s) : m_time((time_t)(s - wxTIME_EPOCH_DIFF)) { }
+ void operator=(const wxTime& t) { m_time = t.m_time; }
+ wxTime(const wxTime& t) { *this = t; }
+ wxTime(hourTy h, minuteTy m, secondTy s = 0, bool WXUNUSED(dst) = FALSE)
+ : m_time(h, m, s) { }
+
+ wxTime(const wxDate& d, hourTy h = 0, minuteTy m = 0, secondTy s = 0,
+ bool WXUNUSED(dst) = FALSE)
+ : m_time(d.GetDay(), (wxDateTime::Month)d.GetMonth(), d.GetYear(),
+ h, m, s) { }
+
+ wxTime(const wxDateTime& time) : m_time(time) { }
+
+ // Convert to string
+#ifndef __SALFORDC__
+ operator wxChar *() const { return FormatTime(); }
+ operator wxDate() const { return wxDate(m_time); }
+#endif
+
+ bool operator< (const wxTime& t) const { return m_time < t.m_time; }
+ bool operator<=(const wxTime& t) const { return m_time <= t.m_time; }
+ bool operator> (const wxTime& t) const { return m_time > t.m_time; }
+ bool operator>=(const wxTime& t) const { return m_time >= t.m_time; }
+ bool operator==(const wxTime& t) const { return m_time == t.m_time; }
+ bool operator!=(const wxTime& t) const { return m_time != t.m_time; }
+
+ friend wxTime WXDLLEXPORT operator+(const wxTime& t, long s)
+ { return wxTime(t.m_time + wxTimeSpan::Seconds((int)s)); }
+ friend wxTime WXDLLEXPORT operator+(long s, const wxTime& t)
+ { return wxTime(t.m_time + wxTimeSpan::Seconds((int)s)); }
+
+ long operator-(const wxTime& t) const
+ { return (m_time - t.m_time).GetValue().ToLong(); }
+ wxTime operator-(long s) const
+ { return wxTime(m_time - wxTimeSpan::Seconds((int)s)); }
+ void operator+=(long s) { m_time += wxTimeSpan::Seconds((int)s); }
+ void operator-=(long s) { m_time -= wxTimeSpan::Seconds((int)s); }
+ bool IsBetween(const wxTime& a, const wxTime& b) const
+ { return *this >= a && *this <= b; }
+
+ // Get day
+ int GetDay() const { return m_time.GetDay(); }
+ // Get month
+ int GetMonth() const { return m_time.GetMonth(); }
+ // Get year
+ int GetYear() const { return m_time.GetYear(); }
+ // Get day of week (0=Sunday 6=Saturday)
+ int GetDayOfWeek() const { return m_time.GetWeekDay(); }
+
+ hourTy GetHour() const { return (hourTy)m_time.GetHour(); }
+ hourTy GetHourGMT() const { return (hourTy)m_time.GetHour(wxDateTime::GMT0); }
+ minuteTy GetMinute() const { return (hourTy)m_time.GetMinute(); }
+ minuteTy GetMinuteGMT() const { return (hourTy)m_time.GetMinute(wxDateTime::GMT0); }
+ secondTy GetSecond() const { return (hourTy)m_time.GetSecond(); }
+ secondTy GetSecondGMT() const { return (hourTy)m_time.GetSecond(wxDateTime::GMT0); }
+
+ clockTy GetSeconds() const { return (clockTy)m_time.GetValue().ToLong(); }
+
+ wxTime Max(const wxTime& t) const { return (t < *this) ? *this : t; }
+ wxTime Min(const wxTime& t) const { return (t > *this) ? *this : t; }
+
+ static void SetFormat(const tFormat lFormat = wx12h,
+ const tPrecision lPrecision = wxStdMinSec)
+ {
+ ms_Format = lFormat;
+ ms_Precision = lPrecision;
+ }
+
+ // (VZ: DANGER: returns pointer to static buffer)
+ wxChar *FormatTime() const
+ {
+ static const wxChar *formats[2][2] =
+ {
+ // wxStdMinSec wxStdMin
+ { _T("%I:%M:%S %p"), _T("%I:%M %p") }, // wx12h
+ { _T("%H:%M:%S"), _T("%H:%M") } // wx24h
+ };
+
+ static wxChar s_bufTime[128];
+
+ wxStrncpy(s_bufTime, m_time.Format(formats[ms_Format][ms_Precision]),
+ WXSIZEOF(s_bufTime));
+
+ return s_bufTime;
+ }
+
+private:
+ static tFormat ms_Format;
+ static tPrecision ms_Precision;
+
+#if 0 // old wxTime members unused any more
+ clockTy sec; /* seconds since 1/1/1901 */
+
+ bool IsDST() const;
+ wxTime GetLocalTime() const;
+
+ // static member functions
+ static wxTime GetLocalTime(const wxDate& date, hourTy h=0, minuteTy m=0, secondTy s=0);
+ static wxTime GetBeginDST(unsigned year);
+ static wxTime GetEndDST(unsigned year);
+#endif // 0
+
+ wxDateTime m_time;
+
+ DECLARE_DYNAMIC_CLASS(wxTime)
+};
+
+#endif
+ // wxUSE_TIMEDATE
+#endif
+ // _WX_TIMEH__
+
diff --git a/include/wx/treelay.h b/include/wx/treelay.h
new file mode 100644
index 0000000000..1bd61c5607
--- /dev/null
+++ b/include/wx/treelay.h
@@ -0,0 +1,7 @@
+#ifndef _WX_TREELAY_H_BASE_
+#define _WX_TREELAY_H_BASE_
+
+#include "wx/generic/treelay.h"
+
+#endif
+ // _WX_TREELAY_H_BASE_
diff --git a/include/wx/wxexpr.h b/include/wx/wxexpr.h
new file mode 100644
index 0000000000..18b53d0679
--- /dev/null
+++ b/include/wx/wxexpr.h
@@ -0,0 +1,276 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wxexpr.h
+// Purpose: Prolog-like file I/O, used by resource system.
+// Author: Julian Smart
+// Modified by:
+// Created: 01/02/97
+// RCS-ID: $Id$
+// Copyright: (c)
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_WXEXPRH__
+#define _WX_WXEXPRH__
+
+#ifdef __GNUG__
+#pragma interface "wxexpr.h"
+#endif
+
+#include
+
+#include "wx/defs.h"
+#include "wx/string.h"
+
+#include "wx/list.h"
+#include "wx/hash.h"
+
+#include "wx/expr.h"
+
+// Compatibility
+#define PrologExpr wxExpr
+#define PrologDatabase wxExprDatabase
+#define proioErrorHandler wxExprErrorHandler
+#define PROIO_ERROR_GENERAL 1
+#define PROIO_ERROR_SYNTAX 2
+#define PrologNull wxExprNull
+#define PrologInteger wxExprInteger
+#define PrologReal wxExprReal
+#define PrologWord wxExprWord
+#define PrologString wxExprString
+#define PrologList wxExprList
+#define PrologType wxExprType
+
+// Error types
+#define WXEXPR_ERROR_GENERAL 1
+#define WXEXPR_ERROR_SYNTAX 2
+
+// Error handler function definition. If app returns TRUE,
+// carry on processing.
+typedef bool (*wxExprErrorHandler) (int errorType, char *msg);
+
+WXDLLEXPORT_DATA(extern wxExprErrorHandler) currentwxExprErrorHandler;
+
+extern "C" WXDLLEXPORT_DATA(FILE*) yyin;
+
+extern "C" WXDLLEXPORT int yyparse(void);
+
+typedef enum {
+ wxExprNull,
+ wxExprInteger,
+ wxExprReal,
+ wxExprWord,
+ wxExprString,
+ wxExprList
+} wxExprType;
+
+class WXDLLEXPORT wxExprDatabase;
+
+class WXDLLEXPORT wxExpr
+{
+ public:
+ wxObject *client_data;
+ wxExprType type;
+ union {
+ long integer;
+ wxChar *word;
+ wxChar *string;
+ double real;
+ wxExpr *first; // If is a list expr, points to the first node
+ } value;
+
+ wxExpr *next; // If this is a node in a list, points to the next node
+ wxExpr *last; // If is a list expr, points to the last node
+
+ wxExpr(wxExprType the_type, wxChar *word_or_string, bool allocate);
+ wxExpr(const wxString& functor); // Assume this is a new clause - pass functor
+ wxExpr(wxExprType the_type, const wxString& word_or_string = "");
+ wxExpr(long the_integer);
+ wxExpr(double the_real);
+ wxExpr(wxList *the_list);
+ ~wxExpr(void);
+
+ inline wxExprType Type(void) const { return type; }
+ inline long IntegerValue(void) const
+ {
+ if (type == wxExprInteger)
+ return value.integer;
+ else if (type == wxExprReal)
+ return (long)value.real;
+ else return 0;
+ }
+
+ inline double RealValue(void) const {
+ if (type == wxExprReal)
+ return value.real;
+ else if (type == wxExprInteger)
+ return (double)value.integer;
+ else return (double)0.0;
+ }
+
+ inline wxString WordValue(void) const {
+ if (type == wxExprWord)
+ return value.word;
+ else if (type == wxExprString)
+ return wxString(value.string);
+ else return wxString(wxT(""));
+ }
+
+ inline wxString StringValue(void) const {
+ if (type == wxExprString)
+ return wxString(value.string);
+ else if (type == wxExprWord)
+ return wxString(value.word);
+ else return wxString(wxT(""));
+ }
+
+ // Get nth arg of clause (starting from 1)
+ wxExpr *Arg(wxExprType type, int arg) const;
+
+ // Return nth argument of a list expression (starting from zero)
+ wxExpr *Nth(int arg) const;
+
+ // Returns the number of elements in a list expression
+ int Number(void) const;
+
+ // Make a clone
+ wxExpr *Copy(void) const;
+
+ wxExpr *GetAttributeValueNode(const wxString& word) const; // Use only for a clause or list
+ wxExpr *AttributeValue(const wxString& word) const; // Use only for a clause
+ wxString Functor(void) const; // Only for a clause
+ bool IsFunctor(const wxString& s) const; // Only for a clause
+ void WriteClause(FILE* stream); // Write this expression as a top-level clause
+ void WriteExpr(FILE* stream); // Write as any other subexpression
+
+ // Append an expression to a list
+ void Append(wxExpr *expr);
+ // Insert at beginning of list
+ void Insert(wxExpr *expr);
+
+ // Get first expr in list
+ inline wxExpr *GetFirst(void) const { return ((type == wxExprList) ? value.first : (wxExpr*)NULL); }
+
+ // Get next expr if this is a node in a list
+ inline wxExpr *GetNext(void) const { return next; }
+
+ // Get last expr in list
+ inline wxExpr *GetLast(void) const { return ((type == wxExprList) ? last : (wxExpr*)NULL); }
+
+ // This should really be called SetAttributeValue since any existing
+ // attribute-value is deleted first.
+ void AddAttributeValue(const wxString& attribute, long value);
+ void AddAttributeValue(const wxString& attribute, double value);
+ void AddAttributeValueWord(const wxString& attribute, const wxString& value);
+ void AddAttributeValueString(const wxString& attribute, const wxString& value);
+ void AddAttributeValue(const wxString& attribute, wxList *value);
+ void AddAttributeValue(const wxString& attribute, wxExpr *value);
+ void AddAttributeValueStringList(const wxString& attribute, wxList *string_list);
+
+ void DeleteAttributeValue(const wxString& attribute);
+
+ bool GetAttributeValue(const wxString& att, int& var) const;
+ bool GetAttributeValue(const wxString& att, long& var) const;
+ bool GetAttributeValue(const wxString& att, float& var) const;
+ bool GetAttributeValue(const wxString& att, double& var) const;
+ bool GetAttributeValue(const wxString& att, wxString& var) const; // Word OR string -> string
+ bool GetAttributeValue(const wxString& att, wxExpr **var) const;
+
+ // Compatibility with old PrologIO
+ inline void AssignAttributeValue(wxChar *att, int *var) const { GetAttributeValue(att, *var); }
+ inline void AssignAttributeValue(wxChar *att, long *var) const { GetAttributeValue(att, *var); }
+ inline void AssignAttributeValue(wxChar *att, float *var) const { GetAttributeValue(att, *var); }
+ inline void AssignAttributeValue(wxChar *att, double *var) const { GetAttributeValue(att, *var); }
+ inline void AssignAttributeValue(wxChar *att, wxExpr **var) const { GetAttributeValue(att, var); }
+ void AssignAttributeValue(wxChar *att, wxChar **var) const ; // Word OR string -> string
+
+ // Add string items to list if the list attribute exists
+ bool GetAttributeValueStringList(const wxString& att, wxList *var) const;
+
+ // Associate other data with this expression, e.g. when reading in a
+ // number of linked items - store C++ object pointer with the expression
+ // so we can index into the wxExpr database and fish out the pointer.
+ inline void SetClientData(wxObject *data) { client_data = data; }
+ inline wxObject *GetClientData(void) const { return client_data; }
+};
+
+class WXDLLEXPORT wxExprDatabase: public wxList
+{
+private:
+ wxNode *position; // Where we are in a search
+ wxHashTable *hash_table;
+ wxString attribute_to_hash;
+
+public:
+ int noErrors;
+
+ wxExprDatabase(wxExprErrorHandler handler = 0);
+
+ // Use hashing on both the functor, and the attribute of
+ // specified type (wxExprString or wxExprInteger) and name.
+ // So to find node 45
+ // (i.e. match the clause node(id=45, ...))
+ // it usually requires 1 look-up: the keys for functor and attribute
+ // are added together.
+ // Obviously if the attribute was missing in a clause, it would
+ // fail to be found by this method, but could be retrieved by a
+ // linear search using BeginFind and FindClauseByFunctor,
+ // or just searching through the list as per usual.
+
+ wxExprDatabase(wxExprType type, const wxString& attribute, int size = 500,
+ wxExprErrorHandler handler = 0);
+
+ ~wxExprDatabase(void);
+
+ void BeginFind(void) ; // Initialise a search
+ wxExpr *FindClause(long id) ; // Find a term based on an integer id attribute
+ // e.g. node(id=23, type=rectangle, ....).
+
+ // Find on basis of attribute/value pairs, e.g. type=rectangle
+ // This doesn't use hashing; it's a linear search.
+ wxExpr *FindClause(const wxString& word, const wxString& value);
+ wxExpr *FindClause(const wxString& word, long value);
+ wxExpr *FindClause(const wxString& word, double value);
+ wxExpr *FindClauseByFunctor(const wxString& functor);
+
+ wxExpr *HashFind(const wxString& functor, const wxString& value) const;
+ wxExpr *HashFind(const wxString& functor, long value) const;
+
+ void Append(wxExpr *expr); // Does cleverer things if hashing is on
+ void ClearDatabase(void);
+ inline int GetErrorCount() const { return noErrors; }
+ bool Read(const wxString& filename);
+ bool ReadFromString(const wxString& buffer);
+ bool Write(const wxString& fileName);
+ bool Write(FILE* stream);
+
+ // Compatibility
+ inline bool ReadProlog(wxChar *filename) { return Read(wxString(filename)); }
+ inline bool ReadPrologFromString(char *buffer) { return ReadFromString(wxString(buffer)); }
+ inline void WriteProlog(FILE* stream) { Write(stream); }
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxExprDatabase)
+};
+
+// Function call-style interface - some more convenience wrappers/unwrappers
+
+// Make a call
+WXDLLEXPORT wxExpr* wxExprMakeCall(const wxString& functor ...);
+
+#define wxExprMakeInteger(x) (new wxExpr((long)x))
+#define wxExprMakeReal(x) (new wxExpr((double)x))
+#define wxExprMakeString(x) (new wxExpr(wxExprString, x))
+#define wxExprMakeWord(x) (new wxExpr(wxExprWord, x))
+#define wxExprMake(x) (new wxExpr(x))
+
+// Checks functor
+WXDLLEXPORT bool wxExprIsFunctor(wxExpr *expr, const wxString& functor);
+
+// Temporary variable for communicating between wxexpr.cpp and YACC/LEX
+WXDLLEXPORT_DATA(extern wxExprDatabase*) thewxExprDatabase;
+
+// YACC/LEX can leave memory lying around...
+extern "C" WXDLLEXPORT int wxExprCleanUp();
+
+#endif
+
diff --git a/lib/bcc16/ctl3dv2.lib b/lib/bcc16/ctl3dv2.lib
new file mode 100644
index 0000000000..be8dca9214
Binary files /dev/null and b/lib/bcc16/ctl3dv2.lib differ
diff --git a/lib/msvc15/ctl3dv2.lib b/lib/msvc15/ctl3dv2.lib
new file mode 100644
index 0000000000..9d40989142
Binary files /dev/null and b/lib/msvc15/ctl3dv2.lib differ
diff --git a/lib/os2jpeg.def b/lib/os2jpeg.def
new file mode 100644
index 0000000000..b1e4ff95ff
--- /dev/null
+++ b/lib/os2jpeg.def
@@ -0,0 +1,201 @@
+LIBRARY OS2JPEG INITINSTANCE TERMINSTANCE
+PROTMODE
+DATA MULTIPLE NONSHARED READWRITE LOADONCALL
+CODE LOADONCALL
+
+EXPORTS
+;From library: H:\dev\wx2\wxWindows\lib\os2jpeg.lib
+ ;From object file: ..\jpeg\jcomapi.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_destroy
+ jpeg_abort
+ jpeg_alloc_huff_table
+ jpeg_alloc_quant_table
+ ;From object file: ..\jpeg\jutils.c
+ ;PUBDEFs (Symbols available from object file):
+ jdiv_round_up
+ jzero_far
+ jround_up
+ jcopy_block_row
+ jcopy_sample_rows
+ jpeg_natural_order
+ ;From object file: ..\jpeg\jerror.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_std_error
+ ;From object file: ..\jpeg\jmemmgr.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_memory_mgr
+ ;From object file: ..\jpeg\jmemnobs.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_free_large
+ jpeg_mem_term
+ jpeg_mem_available
+ jpeg_mem_init
+ jpeg_open_backing_store
+ jpeg_get_small
+ jpeg_free_small
+ jpeg_get_large
+ ;From object file: ..\jpeg\jcapimin.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_write_marker
+ jpeg_destroy_compress
+ jpeg_abort_compress
+ jpeg_write_m_byte
+ jpeg_suppress_tables
+ jpeg_write_tables
+ jpeg_write_m_header
+ jpeg_CreateCompress
+ jpeg_finish_compress
+ ;From object file: ..\jpeg\jcapistd.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_write_raw_data
+ jpeg_start_compress
+ jpeg_write_scanlines
+ ;From object file: ..\jpeg\jctrans.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_write_coefficients
+ jpeg_copy_critical_parameters
+ ;From object file: ..\jpeg\jcparam.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_set_quality
+ jpeg_set_colorspace
+ jpeg_simple_progression
+ jpeg_default_colorspace
+ jpeg_set_defaults
+ jpeg_add_quant_table
+ jpeg_set_linear_quality
+ jpeg_quality_scaling
+ ;From object file: ..\jpeg\jdatadst.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_stdio_dest
+ ;From object file: ..\jpeg\jcinit.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_compress_master
+ ;From object file: ..\jpeg\jcmaster.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_c_master_control
+ ;From object file: ..\jpeg\jcmarker.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_marker_writer
+ ;From object file: ..\jpeg\jcmainct.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_c_main_controller
+ ;From object file: ..\jpeg\jcprepct.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_c_prep_controller
+ ;From object file: ..\jpeg\jccoefct.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_c_coef_controller
+ ;From object file: ..\jpeg\jccolor.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_color_converter
+ ;From object file: ..\jpeg\jcsample.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_downsampler
+ ;From object file: ..\jpeg\jchuff.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_make_c_derived_tbl
+ jinit_huff_encoder
+ jpeg_gen_optimal_table
+ ;From object file: ..\jpeg\jcphuff.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_phuff_encoder
+ ;From object file: ..\jpeg\jcdctmgr.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_forward_dct
+ ;From object file: ..\jpeg\jfdctfst.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_fdct_ifast
+ ;From object file: ..\jpeg\jfdctflt.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_fdct_float
+ ;From object file: ..\jpeg\jfdctint.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_fdct_islow
+ ;From object file: ..\jpeg\jdapimin.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_has_multiple_scans
+ jpeg_finish_decompress
+ jpeg_read_header
+ jpeg_input_complete
+ jpeg_consume_input
+ jpeg_CreateDecompress
+ jpeg_destroy_decompress
+ jpeg_abort_decompress
+ ;From object file: ..\jpeg\jdapistd.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_start_output
+ jpeg_read_raw_data
+ jpeg_start_decompress
+ jpeg_read_scanlines
+ jpeg_finish_output
+ ;From object file: ..\jpeg\jdtrans.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_read_coefficients
+ ;From object file: ..\jpeg\jdatasrc.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_stdio_src
+ ;From object file: ..\jpeg\jdmaster.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_calc_output_dimensions
+ jpeg_new_colormap
+ jinit_master_decompress
+ ;From object file: ..\jpeg\jdinput.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_input_controller
+ ;From object file: ..\jpeg\jdmarker.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_resync_to_restart
+ jpeg_save_markers
+ jpeg_set_marker_processor
+ jinit_marker_reader
+ ;From object file: ..\jpeg\jdhuff.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_huff_decode
+ jpeg_fill_bit_buffer
+ jpeg_make_d_derived_tbl
+ jinit_huff_decoder
+ ;From object file: ..\jpeg\jdphuff.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_phuff_decoder
+ ;From object file: ..\jpeg\jdmainct.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_d_main_controller
+ ;From object file: ..\jpeg\jdcoefct.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_d_coef_controller
+ ;From object file: ..\jpeg\jdpostct.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_d_post_controller
+ ;From object file: ..\jpeg\jddctmgr.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_inverse_dct
+ ;From object file: ..\jpeg\jidctfst.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_idct_ifast
+ ;From object file: ..\jpeg\jidctflt.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_idct_float
+ ;From object file: ..\jpeg\jidctint.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_idct_islow
+ ;From object file: ..\jpeg\jidctred.c
+ ;PUBDEFs (Symbols available from object file):
+ jpeg_idct_4x4
+ jpeg_idct_1x1
+ jpeg_idct_2x2
+ ;From object file: ..\jpeg\jdsample.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_upsampler
+ ;From object file: ..\jpeg\jdcolor.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_color_deconverter
+ ;From object file: ..\jpeg\jquant1.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_1pass_quantizer
+ ;From object file: ..\jpeg\jquant2.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_2pass_quantizer
+ ;From object file: ..\jpeg\jdmerge.c
+ ;PUBDEFs (Symbols available from object file):
+ jinit_merged_upsampler
diff --git a/lib/os2png.def b/lib/os2png.def
new file mode 100644
index 0000000000..e59207e295
--- /dev/null
+++ b/lib/os2png.def
@@ -0,0 +1,310 @@
+LIBRARY OS2PNG INITINSTANCE TERMINSTANCE
+PROTMODE
+DATA MULTIPLE NONSHARED READWRITE LOADONCALL
+CODE LOADONCALL
+
+EXPORTS
+;From library: H:\dev\wx2\wxWindows\LIB\os2png.lib
+ ;From object file: ..\png\png.c
+ ;PUBDEFs (Symbols available from object file):
+ png_reset_crc
+ png_pHYs
+ png_sBIT
+ png_zTXt
+ png_zfree
+ png_sRGB
+ png_zalloc
+ png_oFFs
+ png_init_io
+ png_convert_to_rfc1123
+ png_create_info_struct
+ png_pass_ystart
+ png_pass_start
+ png_info_init
+ png_destroy_info_struct
+ png_IDAT
+ png_get_io_ptr
+ png_libpng_ver
+ png_IHDR
+ png_set_sig_bytes
+ png_tRNS
+ png_pass_mask
+ png_pass_dsp_mask
+ png_check_sig
+ png_sig_cmp
+ png_hIST
+ png_get_copyright
+ png_bKGD
+ png_IEND
+ png_info_destroy
+ png_tIME
+ png_gAMA
+ png_cHRM
+ png_get_header_version
+ png_calculate_crc
+ png_pass_yinc
+ png_pCAL
+ png_tEXt
+ png_PLTE
+ png_sig
+ png_pass_inc
+ ;From object file: ..\png\pngread.c
+ ;PUBDEFs (Symbols available from object file):
+ png_create_read_struct
+ png_set_read_status_fn
+ png_read_row
+ png_read_end
+ png_destroy_read_struct
+ png_start_read_image
+ png_read_destroy
+ png_read_init
+ png_read_image
+ png_read_info
+ png_read_update_info
+ png_read_rows
+ ;From object file: ..\png\pngrtran.c
+ ;PUBDEFs (Symbols available from object file):
+ png_do_unshift
+ png_build_gamma_table
+ png_do_read_swap_alpha
+ png_do_read_invert_alpha
+ png_do_gray_to_rgb
+ png_init_read_transformations
+ png_do_read_transformations
+ png_set_background
+ png_set_expand
+ png_build_grayscale_palette
+ png_set_strip_16
+ png_read_transform_info
+ png_set_rgb_to_gray
+ png_do_rgb_to_gray
+ png_do_dither
+ png_do_read_filler
+ png_do_expand
+ png_do_chop
+ png_set_strip_alpha
+ png_set_gamma
+ png_set_crc_action
+ png_set_read_user_transform_fn
+ png_set_gray_to_rgb
+ png_do_background
+ png_do_expand_palette
+ png_do_gamma
+ png_set_dither
+ png_do_unpack
+ ;From object file: ..\png\pngrutil.c
+ ;PUBDEFs (Symbols available from object file):
+ png_handle_IEND
+ png_handle_tEXt
+ png_get_uint_32
+ png_handle_sRGB
+ png_read_finish_row
+ png_handle_sBIT
+ png_handle_zTXt
+ png_handle_bKGD
+ png_handle_gAMA
+ png_handle_cHRM
+ png_crc_error
+ png_read_filter_row
+ png_handle_pCAL
+ png_handle_PLTE
+ png_do_read_interlace
+ png_check_chunk_name
+ png_handle_pHYs
+ png_crc_read
+ png_handle_tIME
+ png_get_int_32
+ png_handle_unknown
+ png_handle_IHDR
+ png_handle_tRNS
+ png_read_start_row
+ png_combine_row
+ png_crc_finish
+ png_handle_hIST
+ png_get_uint_16
+ png_handle_oFFs
+ ;From object file: ..\png\pngpread.c
+ ;PUBDEFs (Symbols available from object file):
+ png_push_read_IDAT
+ png_push_read_zTXt
+ png_push_crc_finish
+ png_push_restore_buffer
+ png_push_read_chunk
+ png_push_handle_zTXt
+ png_push_save_buffer
+ png_set_progressive_read_fn
+ png_get_progressive_ptr
+ png_read_push_finish_row
+ png_push_handle_tEXt
+ png_push_crc_skip
+ png_process_IDAT_data
+ png_push_have_row
+ png_push_have_end
+ png_process_data
+ png_process_some_data
+ png_push_have_info
+ png_push_read_tEXt
+ png_push_fill_buffer
+ png_push_handle_unknown
+ png_push_read_sig
+ png_push_process_row
+ png_progressive_combine_row
+ ;From object file: ..\png\pngtrans.c
+ ;PUBDEFs (Symbols available from object file):
+ png_set_shift
+ png_do_invert
+ png_set_invert_alpha
+ png_set_packswap
+ png_set_bgr
+ png_set_packing
+ png_set_invert_mono
+ png_set_interlace_handling
+ png_do_swap
+ png_do_packswap
+ png_set_swap_alpha
+ png_set_swap
+ png_do_strip_filler
+ png_do_bgr
+ png_set_filler
+ ;From object file: ..\png\pngwrite.c
+ ;PUBDEFs (Symbols available from object file):
+ png_write_end
+ png_set_compression_method
+ png_convert_from_struct_tm
+ png_write_rows
+ png_create_write_struct
+ png_write_flush
+ png_set_compression_mem_level
+ png_write_destroy
+ png_set_flush
+ png_destroy_write_struct
+ png_set_compression_strategy
+ png_set_write_user_transform_fn
+ png_write_info
+ png_set_filter_heuristics
+ png_write_init
+ png_write_image
+ png_set_write_status_fn
+ png_write_row
+ png_set_compression_window_bits
+ png_convert_from_time_t
+ png_set_compression_level
+ png_set_filter
+ ;From object file: ..\png\pngwtran.c
+ ;PUBDEFs (Symbols available from object file):
+ png_do_write_swap_alpha
+ png_do_write_transformations
+ png_do_pack
+ png_do_shift
+ png_do_write_invert_alpha
+ ;From object file: ..\png\pngwutil.c
+ ;PUBDEFs (Symbols available from object file):
+ png_write_bKGD
+ png_save_int_32
+ png_write_IHDR
+ png_save_uint_16
+ png_write_start_row
+ png_write_sBIT
+ png_write_pCAL
+ png_write_cHRM
+ png_save_uint_32
+ png_write_sig
+ png_write_tRNS
+ png_write_pHYs
+ png_write_chunk_end
+ png_write_zTXt
+ png_write_IEND
+ png_write_tIME
+ png_write_chunk
+ png_write_oFFs
+ png_write_chunk_start
+ png_write_IDAT
+ png_write_chunk_data
+ png_do_write_interlace
+ png_write_sRGB
+ png_write_finish_row
+ png_write_filtered_row
+ png_write_hIST
+ png_write_tEXt
+ png_check_keyword
+ png_write_PLTE
+ png_write_gAMA
+ png_write_find_filter
+ ;From object file: ..\png\pngerror.c
+ ;PUBDEFs (Symbols available from object file):
+ png_chunk_error
+ png_set_error_fn
+ png_get_error_ptr
+ png_warning
+ png_chunk_warning
+ png_error
+ ;From object file: ..\png\pngmem.c
+ ;PUBDEFs (Symbols available from object file):
+ png_memcpy_check
+ png_memset_check
+ png_create_struct
+ png_destroy_struct
+ png_free
+ png_malloc
+ ;From object file: ..\png\pngwio.c
+ ;PUBDEFs (Symbols available from object file):
+ png_set_write_fn
+ png_flush
+ png_write_data
+ ;From object file: ..\png\pngrio.c
+ ;PUBDEFs (Symbols available from object file):
+ png_read_data
+ png_set_read_fn
+ ;From object file: ..\png\pngget.c
+ ;PUBDEFs (Symbols available from object file):
+ png_get_text
+ png_get_x_offset_pixels
+ png_get_tRNS
+ png_get_valid
+ png_get_pCAL
+ png_get_image_height
+ png_get_compression_type
+ png_get_PLTE
+ png_get_rowbytes
+ png_get_pixel_aspect_ratio
+ png_get_pHYs
+ png_get_bKGD
+ png_get_sBIT
+ png_get_hIST
+ png_get_filter_type
+ png_get_tIME
+ png_get_cHRM
+ png_get_pixels_per_meter
+ png_get_x_offset_microns
+ png_get_y_offset_microns
+ png_get_rgb_to_gray_status
+ png_get_image_width
+ png_get_interlace_type
+ png_get_sRGB
+ png_get_y_offset_pixels
+ png_get_oFFs
+ png_get_channels
+ png_get_bit_depth
+ png_get_color_type
+ png_get_signature
+ png_get_gAMA
+ png_get_x_pixels_per_meter
+ png_get_y_pixels_per_meter
+ png_get_IHDR
+ ;From object file: ..\png\pngset.c
+ ;PUBDEFs (Symbols available from object file):
+ png_set_text
+ png_set_cHRM
+ png_set_gAMA
+ png_set_sRGB
+ png_set_sBIT
+ png_set_bKGD
+ png_set_PLTE
+ png_set_sRGB_gAMA_and_cHRM
+ png_set_IHDR
+ png_set_oFFs
+ png_set_tRNS
+ png_set_pHYs
+ png_set_pCAL
+ png_set_tIME
+ png_set_hIST
diff --git a/lib/os2tiff.def b/lib/os2tiff.def
new file mode 100644
index 0000000000..551e046426
--- /dev/null
+++ b/lib/os2tiff.def
@@ -0,0 +1,218 @@
+LIBRARY OS2TIFF INITINSTANCE TERMINSTANCE
+PROTMODE
+DATA MULTIPLE NONSHARED READWRITE LOADONCALL
+CODE LOADONCALL
+
+EXPORTS
+;From library: H:\dev\wx2\wxWindows\LIB\os2tiff.lib
+ ;From object file: ..\tiff\tif_aux.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFVGetFieldDefaulted
+ TIFFGetFieldDefaulted
+ ;From object file: ..\tiff\tif_close.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFClose
+ ;From object file: ..\tiff\tif_codec.c
+ ;PUBDEFs (Symbols available from object file):
+ _TIFFBuiltinCODECS
+ ;From object file: ..\tiff\tif_compress.c
+ ;PUBDEFs (Symbols available from object file):
+ _TIFFNoSeek
+ ;_TIFFNoPreCode(tiff*,unsigned short)
+ _TIFFNoPreCode__FP4tiffUs
+ TIFFUnRegisterCODEC
+ _TIFFNoTileEncode
+ _TIFFNoRowDecode
+ TIFFSetCompressionScheme
+ TIFFRegisterCODEC
+ _TIFFNoRowEncode
+ _TIFFNoStripDecode
+ _TIFFNoStripEncode
+ _TIFFNoTileDecode
+ _TIFFSetDefaultCompressionState
+ TIFFFindCODEC
+ ;From object file: ..\tiff\tif_dir.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFVGetField
+ _TIFFsetByteArray
+ _TIFFsetFloatArray
+ TIFFSetSubDirectory
+ TIFFReassignTagToIgnore
+ TIFFCurrentDirOffset
+ _TIFFsetLongArray
+ TIFFUnlinkDirectory
+ TIFFSetDirectory
+ TIFFVSetField
+ TIFFFreeDirectory
+ TIFFDefaultDirectory
+ TIFFSetTagExtender
+ TIFFNumberOfDirectories
+ _TIFFsetShortArray
+ TIFFLastDirectory
+ ;_TIFFsetNString(char**,char*,long)
+ _TIFFsetNString__FPPcPcl
+ TIFFSetField
+ TIFFGetField
+ _TIFFsetDoubleArray
+ _TIFFsetString
+ ;From object file: ..\tiff\tif_dirinfo.c
+ ;PUBDEFs (Symbols available from object file):
+ tiffDataWidth
+ _TIFFPrintFieldInfo
+ _TIFFFindFieldInfo
+ _TIFFSampleToTagType
+ _TIFFSetupFieldInfo
+ _TIFFMergeFieldInfo
+ _TIFFFieldWithTag
+ ;From object file: ..\tiff\tif_dirread.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFReadDirectory
+ ;From object file: ..\tiff\tif_dirwrite.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFWriteDirectory
+ ;From object file: ..\tiff\tif_dumpmode.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitDumpMode
+ ;From object file: ..\tiff\tif_error.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFSetErrorHandler
+ TIFFError
+ ;From object file: ..\tiff\tif_fax3.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitCCITTFax4
+ TIFFInitCCITTRLE
+ _TIFFFax3fillruns
+ TIFFInitCCITTRLEW
+ TIFFInitCCITTFax3
+ ;From object file: ..\tiff\tif_fax3sm.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFFaxBlackTable
+ TIFFFaxMainTable
+ TIFFFaxWhiteTable
+ ;From object file: ..\tiff\tif_flush.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFFlush
+ TIFFFlushData
+ ;From object file: ..\tiff\tif_getimage.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFRGBAImageOK
+ TIFFRGBAImageEnd
+ TIFFRGBAImageBegin
+ TIFFRGBAImageGet
+ TIFFReadRGBAStrip
+ TIFFReadRGBATile
+ TIFFReadRGBAImage
+ ;From object file: ..\tiff\tif_jpeg.c
+ ;From object file: ..\tiff\tif_luv.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitSGILog
+ ;From object file: ..\tiff\tif_lzw.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitLZW
+ ;From object file: ..\tiff\tif_next.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitNeXT
+ ;From object file: ..\tiff\tif_open.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFIsTiled
+ TIFFIsUpSampled
+ TIFFIsByteSwapped
+ _TIFFgetMode
+ TIFFCurrentDirectory
+ TIFFCurrentTile
+ TIFFIsMSB2LSB
+ TIFFFileName
+ TIFFCurrentRow
+ TIFFCurrentStrip
+ TIFFGetMode
+ TIFFClientOpen
+ TIFFFileno
+ ;From object file: ..\tiff\tif_os2.c
+ ;PUBDEFs (Symbols available from object file):
+ _TIFFmemset
+ _TIFFfree
+ _TIFFmemcmp
+ TIFFFdOpen
+ _TIFFmalloc
+ _TIFFmemcpy
+ TIFFOpen
+ _TIFFwarningHandler
+ _TIFFrealloc
+ _TIFFerrorHandler
+ ;From object file: ..\tiff\tif_packbits.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitPackBits
+ ;From object file: ..\tiff\tif_pixarlog.c
+ ;From object file: ..\tiff\tif_predict.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFPredictorInit
+ ;From object file: ..\tiff\tif_print.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFPrintDirectory
+ _TIFFprintAsciiTag
+ _TIFFprintAscii
+ ;From object file: ..\tiff\tif_read.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFReadRawStrip
+ TIFFReadScanline
+ _TIFFSwab16BitData
+ TIFFReadRawTile
+ _TIFFSwab32BitData
+ TIFFReadEncodedStrip
+ _TIFFNoPostDecode
+ _TIFFSwab64BitData
+ TIFFReadTile
+ TIFFReadEncodedTile
+ TIFFReadBufferSetup
+ ;From object file: ..\tiff\tif_strip.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFNumberOfStrips
+ TIFFScanlineSize
+ TIFFDefaultStripSize
+ TIFFComputeStrip
+ TIFFRasterScanlineSize
+ TIFFVStripSize
+ _TIFFDefaultStripSize
+ TIFFStripSize
+ ;From object file: ..\tiff\tif_swab.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFSwabArrayOfDouble
+ TIFFSwabDouble
+ TIFFGetBitRevTable
+ TIFFSwabArrayOfLong
+ TIFFSwabArrayOfShort
+ TIFFSwabLong
+ TIFFReverseBits
+ TIFFSwabShort
+ ;From object file: ..\tiff\tif_thunder.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFInitThunderScan
+ ;From object file: ..\tiff\tif_tile.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFDefaultTileSize
+ TIFFComputeTile
+ _TIFFDefaultTileSize
+ TIFFTileSize
+ TIFFCheckTile
+ TIFFTileRowSize
+ TIFFVTileSize
+ TIFFNumberOfTiles
+ ;From object file: ..\tiff\tif_version.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFGetVersion
+ ;From object file: ..\tiff\tif_warning.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFSetWarningHandler
+ TIFFWarning
+ ;From object file: ..\tiff\tif_write.c
+ ;PUBDEFs (Symbols available from object file):
+ TIFFSetWriteOffset
+ TIFFWriteRawStrip
+ TIFFWriteTile
+ TIFFWriteEncodedStrip
+ TIFFWriteRawTile
+ TIFFWriteBufferSetup
+ TIFFFlushData1
+ TIFFWriteScanline
+ TIFFWriteEncodedTile
+ ;From object file: ..\tiff\tif_zip.c
diff --git a/lib/os2xpm.def b/lib/os2xpm.def
new file mode 100644
index 0000000000..fd599337ca
--- /dev/null
+++ b/lib/os2xpm.def
@@ -0,0 +1,145 @@
+LIBRARY OS2XPM INITINSTANCE TERMINSTANCE
+PROTMODE
+DATA MULTIPLE NONSHARED READWRITE LOADONCALL
+CODE LOADONCALL
+
+EXPORTS
+;From library: H:\dev\wx2\wxWindows\LIB\os2xpm.lib
+ ;From object file: ..\xpm\attrib.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmFreeExtensions
+ XpmFreeAttributes
+ ;xpmInitAttributes(XpmAttributes*)
+ xpmInitAttributes__FP13XpmAttributes
+ ;xpmSetAttributes(XpmAttributes*,XpmImage*,XpmInfo*)
+ xpmSetAttributes__FP13XpmAttributesP8XpmImageP7XpmInfo
+ ;xpmFreeColorTable(XpmColor*,int)
+ xpmFreeColorTable__FP8XpmColori
+ XpmAttributesSize
+ ;From object file: ..\xpm\crbuffri.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmCreateBufferFromXpmImage
+ ;XpmCreateBufferFromImage(unsigned long*,char**,XImage*,XImage*,XpmAttributes*)
+ XpmCreateBufferFromImage__FPUlPPcP6XImageT3P13XpmAttributes
+ ;From object file: ..\xpm\crdatfri.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmCreateDataFromImage
+ XpmCreateDataFromXpmImage
+ ;From object file: ..\xpm\create.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmCreateImageFromXpmImage
+ ;xpmParseDataAndCreate(unsigned long*,xpmData*,XImage**,XImage**,XpmImage*,XpmInfo*,XpmAttributes*)
+ xpmParseDataAndCreate__FPUlP7xpmDataPP6XImageT3P8XpmImageP7XpmInfoP13XpmAttributes
+ ;xpmstrcasecmp(char*,char*)
+ xpmstrcasecmp__FPcT1
+ ;From object file: ..\xpm\crifrbuf.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmCreateXpmImageFromBuffer
+ XpmCreateImageFromBuffer
+ ;From object file: ..\xpm\crifrdat.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmCreateImageFromData
+ XpmCreateXpmImageFromData
+ ;From object file: ..\xpm\data.c
+ ;PUBDEFs (Symbols available from object file):
+ ;xpmNextString(xpmData*)
+ xpmNextString__FP7xpmData
+ ;xpmParseHeader(xpmData*)
+ xpmParseHeader__FP7xpmData
+ ;xpmNextWord(xpmData*,char*,unsigned int)
+ xpmNextWord__FP7xpmDataPcUi
+ ;xpmGetCmt(xpmData*,char**)
+ xpmGetCmt__FP7xpmDataPPc
+ ;xpmNextUI(xpmData*,unsigned int*)
+ xpmNextUI__FP7xpmDataPUi
+ xpmDataTypes
+ ;xpmGetString(xpmData*,char**,unsigned int*)
+ xpmGetString__FP7xpmDataPPcPUi
+ ;From object file: ..\xpm\image.c
+ ;PUBDEFs (Symbols available from object file):
+ ;xpmInitXpmImage(XpmImage*)
+ xpmInitXpmImage__FP8XpmImage
+ XpmFreeXpmImage
+ ;From object file: ..\xpm\info.c
+ ;PUBDEFs (Symbols available from object file):
+ ;xpmInitXpmInfo(XpmInfo*)
+ xpmInitXpmInfo__FP7XpmInfo
+ ;xpmSetInfo(XpmInfo*,XpmAttributes*)
+ xpmSetInfo__FP7XpmInfoP13XpmAttributes
+ ;xpmSetInfoMask(XpmInfo*,XpmAttributes*)
+ xpmSetInfoMask__FP7XpmInfoP13XpmAttributes
+ XpmFreeXpmInfo
+ ;From object file: ..\xpm\hashtab.c
+ ;PUBDEFs (Symbols available from object file):
+ ;xpmHashIntern(xpmHashTable*,char*,void*)
+ xpmHashIntern__FP12xpmHashTablePcPv
+ ;xpmHashSlot(xpmHashTable*,char*)
+ xpmHashSlot__FP12xpmHashTablePc
+ ;xpmHashTableInit(xpmHashTable*)
+ xpmHashTableInit__FP12xpmHashTable
+ ;xpmHashTableFree(xpmHashTable*)
+ xpmHashTableFree__FP12xpmHashTable
+ ;From object file: ..\xpm\misc.c
+ ;PUBDEFs (Symbols available from object file):
+ ;xpmatoui(char*,unsigned int,unsigned int*)
+ xpmatoui__FPcUiPUi
+ XpmLibraryVersion
+ XpmFree
+ XpmGetErrorString
+ ;From object file: ..\xpm\parse.c
+ ;PUBDEFs (Symbols available from object file):
+ xpmColorKeys
+ ;xpmParseValues(xpmData*,unsigned int*,unsigned int*,unsigned int*,unsigned int*,unsigned int*,unsigned int*,unsigned int*,unsigned int*)
+ xpmParseValues__FP7xpmDataPUiN72
+ ;xpmParseData(xpmData*,XpmImage*,XpmInfo*)
+ xpmParseData__FP7xpmDataP8XpmImageP7XpmInfo
+ ;xpmParseColors(xpmData*,unsigned int,unsigned int,XpmColor**,xpmHashTable*)
+ xpmParseColors__FP7xpmDataUiT2PP8XpmColorP12xpmHashTable
+ ;xpmParseExtensions(xpmData*,XpmExtension**,unsigned int*)
+ xpmParseExtensions__FP7xpmDataPP12XpmExtensionPUi
+ ;From object file: ..\xpm\rdftodat.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmReadFileToData
+ ;From object file: ..\xpm\rdftoi.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmReadFileToImage
+ XpmReadFileToXpmImage
+ ;From object file: ..\xpm\rgb.c
+ ;PUBDEFs (Symbols available from object file):
+ ;xpmGetRGBfromName(char*,int*,int*,int*)
+ xpmGetRGBfromName__FPcPiN22
+ ;xpmGetRgbName(xpmRgbName*,int,int,int,int)
+ xpmGetRgbName__FP10xpmRgbNameiN32
+ ;xpmReadRgbNames(char*,xpmRgbName*)
+ xpmReadRgbNames__FPcP10xpmRgbName
+ ;xpmFreeRgbNames(xpmRgbName*,int)
+ xpmFreeRgbNames__FP10xpmRgbNamei
+ ;From object file: ..\xpm\scan.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmCreateXpmImageFromImage
+ ;From object file: ..\xpm\simx.c
+ ;PUBDEFs (Symbols available from object file):
+ XDefaultColormap
+ ;boundCheckingMalloc(long)
+ boundCheckingMalloc__Fl
+ XDefaultVisual
+ XDestroyImage
+ XAllocColor
+ XFreeColors
+ XCreateImage
+ XImageFree
+ XQueryColors
+ ;boundCheckingRealloc(void*,long)
+ boundCheckingRealloc__FPvl
+ XDefaultDepth
+ ;boundCheckingCalloc(long,long)
+ boundCheckingCalloc__FlT1
+ XDefaultScreen
+ XParseColor
+ ;From object file: ..\xpm\wrffrdat.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmWriteFileFromData
+ ;From object file: ..\xpm\wrffri.c
+ ;PUBDEFs (Symbols available from object file):
+ XpmWriteFileFromImage
+ XpmWriteFileFromXpmImage
diff --git a/lib/os2zlib.def b/lib/os2zlib.def
new file mode 100644
index 0000000000..986f711055
--- /dev/null
+++ b/lib/os2zlib.def
@@ -0,0 +1,121 @@
+LIBRARY OS2ZLIB INITINSTANCE TERMINSTANCE
+PROTMODE
+DATA MULTIPLE NONSHARED READWRITE LOADONCALL
+CODE LOADONCALL
+
+EXPORTS
+;From library: H:\dev\wx2\wxWindows\LIB\os2zlib.lib
+ ;From object file: ..\zlib\adler32.c
+ ;PUBDEFs (Symbols available from object file):
+ adler32
+ ;From object file: ..\zlib\compress.c
+ ;PUBDEFs (Symbols available from object file):
+ compress
+ compress2
+ ;From object file: ..\zlib\crc32.c
+ ;PUBDEFs (Symbols available from object file):
+ get_crc_table
+ crc32
+ ;From object file: ..\zlib\deflate.c
+ ;PUBDEFs (Symbols available from object file):
+ deflateReset
+ deflate
+ deflateCopy
+ deflateInit_
+ deflateEnd
+ deflateInit2_
+ deflateSetDictionary
+ deflateParams
+ ;From object file: ..\zlib\gzio.c
+ ;PUBDEFs (Symbols available from object file):
+ gzwrite
+ gzerror
+ gzsetparams
+ gzrewind
+ gzprintf
+ gztell
+ gzclose
+ gzdopen
+ gzread
+ gzopen
+ gzeof
+ gzgets
+ gzputs
+ gzflush
+ gzgetc
+ gzseek
+ gzputc
+ ;From object file: ..\zlib\infblock.c
+ ;PUBDEFs (Symbols available from object file):
+ ;inflate_blocks_reset(inflate_blocks_state*,z_stream_s*,unsigned long*)
+ inflate_blocks_reset__FP20inflate_blocks_stateP10z_stream_sPUl
+ ;inflate_blocks_new(z_stream_s*,unsigned long(*)(unsigned long,const unsigned char*,unsigned int),unsigned int)
+ inflate_blocks_new__FP10z_stream_sPFUlPCUcUi_UlUi
+ ;inflate_blocks_sync_point(inflate_blocks_state*)
+ inflate_blocks_sync_point__FP20inflate_blocks_state
+ ;inflate_blocks(inflate_blocks_state*,z_stream_s*,int)
+ inflate_blocks__FP20inflate_blocks_stateP10z_stream_si
+ ;inflate_blocks_free(inflate_blocks_state*,z_stream_s*)
+ inflate_blocks_free__FP20inflate_blocks_stateP10z_stream_s
+ ;inflate_set_dictionary(inflate_blocks_state*,const unsigned char*,unsigned int)
+ inflate_set_dictionary__FP20inflate_blocks_statePCUcUi
+ ;From object file: ..\zlib\infcodes.c
+ ;PUBDEFs (Symbols available from object file):
+ ;inflate_codes(inflate_blocks_state*,z_stream_s*,int)
+ inflate_codes__FP20inflate_blocks_stateP10z_stream_si
+ ;inflate_codes_new(unsigned int,unsigned int,inflate_huft_s*,inflate_huft_s*,z_stream_s*)
+ inflate_codes_new__FUiT1P14inflate_huft_sT3P10z_stream_s
+ ;inflate_codes_free(inflate_codes_state*,z_stream_s*)
+ inflate_codes_free__FP19inflate_codes_stateP10z_stream_s
+ ;From object file: ..\zlib\inflate.c
+ ;PUBDEFs (Symbols available from object file):
+ inflateReset
+ inflateSyncPoint
+ inflateInit2_
+ inflate
+ inflateInit_
+ inflateSync
+ inflateEnd
+ inflateSetDictionary
+ ;From object file: ..\zlib\inftrees.c
+ ;PUBDEFs (Symbols available from object file):
+ ;inflate_trees_dynamic(unsigned int,unsigned int,unsigned int*,unsigned int*,unsigned int*,inflate_huft_s**,inflate_huft_s**,inflate_huft_s*,z_stream_s*)
+ inflate_trees_dynamic__FUiT1PUiN23PP14inflate_huft_sT6P14inflate_huft_sP10z_stream_s
+ ;inflate_trees_bits(unsigned int*,unsigned int*,inflate_huft_s**,inflate_huft_s*,z_stream_s*)
+ inflate_trees_bits__FPUiT1PP14inflate_huft_sP14inflate_huft_sP10z_stream_s
+ ;inflate_trees_fixed(unsigned int*,unsigned int*,inflate_huft_s**,inflate_huft_s**,z_stream_s*)
+ inflate_trees_fixed__FPUiT1PP14inflate_huft_sT3P10z_stream_s
+ ;From object file: ..\zlib\infutil.c
+ ;PUBDEFs (Symbols available from object file):
+ inflate_mask
+ ;inflate_flush(inflate_blocks_state*,z_stream_s*,int)
+ inflate_flush__FP20inflate_blocks_stateP10z_stream_si
+ ;From object file: ..\zlib\inffast.c
+ ;PUBDEFs (Symbols available from object file):
+ ;inflate_fast(unsigned int,unsigned int,inflate_huft_s*,inflate_huft_s*,inflate_blocks_state*,z_stream_s*)
+ inflate_fast__FUiT1P14inflate_huft_sT3P20inflate_blocks_stateP10z_stream_s
+ ;From object file: ..\zlib\trees.c
+ ;PUBDEFs (Symbols available from object file):
+ ;_tr_init(internal_state*)
+ _tr_init__FP14internal_state
+ ;_tr_flush_block(internal_state*,char*,unsigned long,int)
+ _tr_flush_block__FP14internal_statePcUli
+ ;_tr_tally(internal_state*,unsigned int,unsigned int)
+ _tr_tally__FP14internal_stateUiT2
+ ;_tr_stored_block(internal_state*,char*,unsigned long,int)
+ _tr_stored_block__FP14internal_statePcUli
+ ;_tr_align(internal_state*)
+ _tr_align__FP14internal_state
+ ;From object file: ..\zlib\uncompr.c
+ ;PUBDEFs (Symbols available from object file):
+ uncompress
+ ;From object file: ..\zlib\zutil.c
+ ;PUBDEFs (Symbols available from object file):
+ zlibVersion
+ z_errmsg
+ zcfree
+ z_verbose
+ zError
+ ;z_error(char*)
+ z_error__FPc
+ zcalloc
diff --git a/lib/wx22.def b/lib/wx22.def
new file mode 100644
index 0000000000..3f2019fa47
--- /dev/null
+++ b/lib/wx22.def
@@ -0,0 +1,13222 @@
+LIBRARY WX22 INITINSTANCE TERMINSTANCE
+PROTMODE
+DATA MULTIPLE NONSHARED READWRITE LOADONCALL
+CODE LOADONCALL
+
+EXPORTS
+;From library: G:\DEV\WX2\WXWINDOWS\LIB\wx.lib
+ ;From object file: dummy.cpp
+ ;PUBDEFs (Symbols available from object file):
+ wxDummyChar
+ ;From object file: ..\common\appcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft9wxAppBase8wxObject
+ ;wxAppBase::OnExit()
+ OnExit__9wxAppBaseFv
+ ;wxAppBase::ProcessPendingEvents()
+ ProcessPendingEvents__9wxAppBaseFv
+ ;From object file: ..\common\choiccmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxChoiceBase::SetStringSelection(const wxString&)
+ SetStringSelection__12wxChoiceBaseFRC8wxString
+ __vft12wxChoiceBase8wxObject
+ ;wxChoiceBase::Command(wxCommandEvent&)
+ Command__12wxChoiceBaseFR14wxCommandEvent
+ ;From object file: ..\common\clipcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ wxTheClipboard
+ ;wxClipboardModule::sm_classwxClipboardModule
+ sm_classwxClipboardModule__17wxClipboardModule
+ ;wxClipboardModule::OnInit()
+ OnInit__17wxClipboardModuleFv
+ ;wxClipboardModule::OnExit()
+ OnExit__17wxClipboardModuleFv
+ ;wxClipboardBase::wxClipboardBase()
+ __ct__15wxClipboardBaseFv
+ __vft17wxClipboardModule8wxObject
+ ;wxConstructorForwxClipboardModule()
+ wxConstructorForwxClipboardModule__Fv
+ ;From object file: ..\common\cmdline.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCmdLineParser::EnableLongOptions(unsigned long)
+ EnableLongOptions__15wxCmdLineParserFUl
+ ;wxArrayParams::Index(const wxCmdLineParam&,unsigned long) const
+ Index__13wxArrayParamsCFRC14wxCmdLineParamUl
+ ;wxCmdLineParser::Found(const wxString&,long*) const
+ Found__15wxCmdLineParserCFRC8wxStringPl
+ ;wxArrayParams::RemoveAt(unsigned int)
+ RemoveAt__13wxArrayParamsFUi
+ ;wxCmdLineParser::AddSwitch(const wxString&,const wxString&,const wxString&,int)
+ AddSwitch__15wxCmdLineParserFRC8wxStringN21i
+ ;wxArrayOptions::Add(const wxCmdLineOption&)
+ Add__14wxArrayOptionsFRC15wxCmdLineOption
+ ;wxCmdLineParser::Reset()
+ Reset__15wxCmdLineParserFv
+ ;wxCmdLineParser::SetCmdLine(int,char**)
+ SetCmdLine__15wxCmdLineParserFiPPc
+ ;wxArrayOptions::wxArrayOptions(const wxArrayOptions&)
+ __ct__14wxArrayOptionsFRC14wxArrayOptions
+ ;wxCmdLineParser::SetSwitchChars(const wxString&)
+ SetSwitchChars__15wxCmdLineParserFRC8wxString
+ ;wxCmdLineParser::SetDesc(const wxCmdLineEntryDesc*)
+ SetDesc__15wxCmdLineParserFPC18wxCmdLineEntryDesc
+ ;wxCmdLineParser::Found(const wxString&,wxString*) const
+ Found__15wxCmdLineParserCFRC8wxStringP8wxString
+ ;wxCmdLineParserData::FindOptionByLongName(const wxString&)
+ FindOptionByLongName__19wxCmdLineParserDataFRC8wxString
+ ;wxArrayOptions::Index(const wxCmdLineOption&,unsigned long) const
+ Index__14wxArrayOptionsCFRC15wxCmdLineOptionUl
+ ;wxArrayOptions::RemoveAt(unsigned int)
+ RemoveAt__14wxArrayOptionsFUi
+ ;wxArrayParams::Insert(const wxCmdLineParam&,unsigned int)
+ Insert__13wxArrayParamsFRC14wxCmdLineParamUi
+ ;wxCmdLineParserData::wxCmdLineParserData()
+ __ct__19wxCmdLineParserDataFv
+ ;wxCmdLineParser::SetCmdLine(const wxString&)
+ SetCmdLine__15wxCmdLineParserFRC8wxString
+ ;wxArrayParams::wxArrayParams(const wxArrayParams&)
+ __ct__13wxArrayParamsFRC13wxArrayParams
+ ;wxArrayOptions::operator=(const wxArrayOptions&)
+ __as__14wxArrayOptionsFRC14wxArrayOptions
+ ;wxCmdLineParserData::SetArguments(const wxString&)
+ SetArguments__19wxCmdLineParserDataFRC8wxString
+ ;wxArrayOptions::Insert(const wxCmdLineOption&,unsigned int)
+ Insert__14wxArrayOptionsFRC15wxCmdLineOptionUi
+ ;wxArrayParams::Add(const wxCmdLineParam&)
+ Add__13wxArrayParamsFRC14wxCmdLineParam
+ ;wxArrayParams::DoEmpty()
+ DoEmpty__13wxArrayParamsFv
+ ;wxArrayOptions::~wxArrayOptions()
+ __dt__14wxArrayOptionsFv
+ ;wxCmdLineParser::Usage()
+ Usage__15wxCmdLineParserFv
+ ;wxCmdLineParser::Parse()
+ Parse__15wxCmdLineParserFv
+ ;wxCmdLineParserData::SetArguments(int,char**)
+ SetArguments__19wxCmdLineParserDataFiPPc
+ ;wxCmdLineParser::Found(const wxString&) const
+ Found__15wxCmdLineParserCFRC8wxString
+ ;wxCmdLineParser::AddParam(const wxString&,wxCmdLineParamType,int)
+ AddParam__15wxCmdLineParserFRC8wxString18wxCmdLineParamTypei
+ ;wxCmdLineParser::GetParam(unsigned int) const
+ GetParam__15wxCmdLineParserCFUi
+ ;wxCmdLineParser::Found(const wxString&,wxDateTime*) const
+ Found__15wxCmdLineParserCFRC8wxStringP10wxDateTime
+ ;wxCmdLineParser::Init()
+ Init__15wxCmdLineParserFv
+ ;wxCmdLineParser::~wxCmdLineParser()
+ __dt__15wxCmdLineParserFv
+ ;wxArrayParams::~wxArrayParams()
+ __dt__13wxArrayParamsFv
+ ;wxArrayParams::operator=(const wxArrayParams&)
+ __as__13wxArrayParamsFRC13wxArrayParams
+ ;wxCmdLineParser::AddOption(const wxString&,const wxString&,const wxString&,wxCmdLineParamType,int)
+ AddOption__15wxCmdLineParserFRC8wxStringN2118wxCmdLineParamTypei
+ ;wxArrayOptions::DoEmpty()
+ DoEmpty__14wxArrayOptionsFv
+ ;wxCmdLineParser::GetParamCount() const
+ GetParamCount__15wxCmdLineParserCFv
+ ;wxArrayOptions::DoCopy(const wxArrayOptions&)
+ DoCopy__14wxArrayOptionsFRC14wxArrayOptions
+ ;wxCmdLineParser::SetLogo(const wxString&)
+ SetLogo__15wxCmdLineParserFRC8wxString
+ ;wxCmdLineParserData::FindOption(const wxString&)
+ FindOption__19wxCmdLineParserDataFRC8wxString
+ ;wxArrayParams::DoCopy(const wxArrayParams&)
+ DoCopy__13wxArrayParamsFRC13wxArrayParams
+ ;From object file: ..\common\cmndata.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxColourData::GetCustomColour(int)
+ GetCustomColour__12wxColourDataFi
+ ;wxPrintData::sm_classwxPrintData
+ sm_classwxPrintData__11wxPrintData
+ ;wxPageSetupDialogData::sm_classwxPageSetupDialogData
+ sm_classwxPageSetupDialogData__21wxPageSetupDialogData
+ ;wxPageSetupDialogData::wxPageSetupDialogData(const wxPrintData&)
+ __ct__21wxPageSetupDialogDataFRC11wxPrintData
+ ;wxPageSetupDialogData::operator=(const wxPageSetupDialogData&)
+ __as__21wxPageSetupDialogDataFRC21wxPageSetupDialogData
+ ;wxPrintData::wxPrintData()
+ __ct__11wxPrintDataFv
+ ;wxConstructorForwxPageSetupDialogData()
+ wxConstructorForwxPageSetupDialogData__Fv
+ ;wxPrintDialogData::~wxPrintDialogData()
+ __dt__17wxPrintDialogDataFv
+ ;wxColourData::wxColourData()
+ __ct__12wxColourDataFv
+ ;wxPageSetupDialogData::CalculatePaperSizeFromId()
+ CalculatePaperSizeFromId__21wxPageSetupDialogDataFv
+ ;wxPageSetupDialogData::CalculateIdFromPaperSize()
+ CalculateIdFromPaperSize__21wxPageSetupDialogDataFv
+ __vft11wxPrintData8wxObject
+ __vft21wxPageSetupDialogData8wxObject
+ ;wxPageSetupDialogData::SetPaperSize(const wxSize&)
+ SetPaperSize__21wxPageSetupDialogDataFRC6wxSize
+ ;wxFontData::sm_classwxFontData
+ sm_classwxFontData__10wxFontData
+ ;wxPageSetupDialogData::SetPaperSize(wxPaperSize)
+ SetPaperSize__21wxPageSetupDialogDataF11wxPaperSize
+ ;wxConstructorForwxColourData()
+ wxConstructorForwxColourData__Fv
+ ;wxColourData::~wxColourData()
+ __dt__12wxColourDataFv
+ ;wxFontData::~wxFontData()
+ __dt__10wxFontDataFv
+ ;wxPrintData::wxPrintData(const wxPrintData&)
+ __ct__11wxPrintDataFRC11wxPrintData
+ ;wxPrintDialogData::sm_classwxPrintDialogData
+ sm_classwxPrintDialogData__17wxPrintDialogData
+ ;wxColourData::sm_classwxColourData
+ sm_classwxColourData__12wxColourData
+ ;wxPrintDialogData::wxPrintDialogData(const wxPrintData&)
+ __ct__17wxPrintDialogDataFRC11wxPrintData
+ ;wxPageSetupDialogData::operator=(const wxPrintData&)
+ __as__21wxPageSetupDialogDataFRC11wxPrintData
+ ;wxPrintDialogData::operator=(const wxPrintDialogData&)
+ __as__17wxPrintDialogDataFRC17wxPrintDialogData
+ ;wxPrintDialogData::operator=(const wxPrintData&)
+ __as__17wxPrintDialogDataFRC11wxPrintData
+ ;wxConstructorForwxFontData()
+ wxConstructorForwxFontData__Fv
+ ;wxFontData::wxFontData()
+ __ct__10wxFontDataFv
+ __vft12wxColourData8wxObject
+ __vft17wxPrintDialogData8wxObject
+ __vft10wxFontData8wxObject
+ ;wxColourData::operator=(const wxColourData&)
+ __as__12wxColourDataFRC12wxColourData
+ ;wxPrintDialogData::wxPrintDialogData(const wxPrintDialogData&)
+ __ct__17wxPrintDialogDataFRC17wxPrintDialogData
+ ;wxConstructorForwxPrintData()
+ wxConstructorForwxPrintData__Fv
+ ;wxPageSetupDialogData::~wxPageSetupDialogData()
+ __dt__21wxPageSetupDialogDataFv
+ ;wxColourData::SetCustomColour(int,wxColour&)
+ SetCustomColour__12wxColourDataFiR8wxColour
+ ;wxPrintData::operator=(const wxPrintData&)
+ __as__11wxPrintDataFRC11wxPrintData
+ ;wxPageSetupDialogData::wxPageSetupDialogData(const wxPageSetupDialogData&)
+ __ct__21wxPageSetupDialogDataFRC21wxPageSetupDialogData
+ ;wxColourData::wxColourData(const wxColourData&)
+ __ct__12wxColourDataFRC12wxColourData
+ ;wxPrintData::operator=(const wxPrintSetupData&)
+ __as__11wxPrintDataFRC16wxPrintSetupData
+ ;wxConstructorForwxPrintDialogData()
+ wxConstructorForwxPrintDialogData__Fv
+ ;wxPrintData::~wxPrintData()
+ __dt__11wxPrintDataFv
+ ;wxPageSetupDialogData::wxPageSetupDialogData()
+ __ct__21wxPageSetupDialogDataFv
+ ;wxPrintDialogData::wxPrintDialogData()
+ __ct__17wxPrintDialogDataFv
+ ;From object file: ..\common\config.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConfigBase::Write(const wxString&,double)
+ Write__12wxConfigBaseFRC8wxStringd
+ ;wxConfigBase::Write(const wxString&,unsigned long)
+ Write__12wxConfigBaseFRC8wxStringUl
+ ;wxConfigBase::Read(const wxString&,int*,int) const
+ Read__12wxConfigBaseCFRC8wxStringPii
+ ;wxConfigBase::Read(const wxString&,wxString*,const wxString&) const
+ Read__12wxConfigBaseCFRC8wxStringP8wxStringT1
+ ;wxConfigBase::~wxConfigBase()
+ __dt__12wxConfigBaseFv
+ ;wxConfigPathChanger::~wxConfigPathChanger()
+ __dt__19wxConfigPathChangerFv
+ ;wxConfigBase::Read(const wxString&,unsigned long*) const
+ Read__12wxConfigBaseCFRC8wxStringPUl
+ ;wxConfigBase::wxConfigBase(const wxString&,const wxString&,const wxString&,const wxString&,long)
+ __ct__12wxConfigBaseFRC8wxStringN31l
+ ;wxConfigBase::Read(const wxString&,const wxString&) const
+ Read__12wxConfigBaseCFRC8wxStringT1
+ ;wxConfigBase::ExpandEnvVars(const wxString&) const
+ ExpandEnvVars__12wxConfigBaseCFRC8wxString
+ ;wxSplitPath(wxArrayString&,const char*)
+ wxSplitPath__FR13wxArrayStringPCc
+ ;wxExpandEnvVars(const wxString&)
+ wxExpandEnvVars__FRC8wxString
+ ;wxConfigBase::Read(const wxString&,long*,long) const
+ Read__12wxConfigBaseCFRC8wxStringPll
+ ;wxConfigBase::ms_pConfig
+ ms_pConfig__12wxConfigBase
+ ;wxConfigBase::Write(const wxString&,const char*)
+ Write__12wxConfigBaseFRC8wxStringPCc
+ ;wxConfigBase::Read(const wxString&,double*) const
+ Read__12wxConfigBaseCFRC8wxStringPd
+ ;wxConfigBase::Set(wxConfigBase*)
+ Set__12wxConfigBaseFP12wxConfigBase
+ ;wxConfigBase::Create()
+ Create__12wxConfigBaseFv
+ ;wxConfigPathChanger::wxConfigPathChanger(const wxConfigBase*,const wxString&)
+ __ct__19wxConfigPathChangerFPC12wxConfigBaseRC8wxString
+ ;wxConfigBase::Read(const wxString&,double*,double) const
+ Read__12wxConfigBaseCFRC8wxStringPdd
+ ;wxConfigBase::Read(const wxString&,unsigned long*,unsigned long) const
+ Read__12wxConfigBaseCFRC8wxStringPUlUl
+ ;wxConfigBase::Read(const wxString&,int*) const
+ Read__12wxConfigBaseCFRC8wxStringPi
+ ;wxConfigBase::ms_bAutoCreate
+ ms_bAutoCreate__12wxConfigBase
+ __vft12wxConfigBase
+ ;From object file: ..\common\cshelp.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxContextHelpButton::wxContextHelpButton(wxWindow*,int,const wxPoint&,const wxSize&,long)
+ __ct__19wxContextHelpButtonFP8wxWindowiRC7wxPointRC6wxSizel
+ ;wxContextHelp::sm_classwxContextHelp
+ sm_classwxContextHelp__13wxContextHelp
+ ;wxSimpleHelpProvider::GetHelp(const wxWindowBase*)
+ GetHelp__20wxSimpleHelpProviderFPC12wxWindowBase
+ ;wxHelpControllerHelpProvider::ShowHelp(wxWindowBase*)
+ ShowHelp__28wxHelpControllerHelpProviderFP12wxWindowBase
+ ;wxHelpProvider::~wxHelpProvider()
+ __dt__14wxHelpProviderFv
+ ;wxContextHelpButton::sm_eventTable
+ sm_eventTable__19wxContextHelpButton
+ ;wxContextHelp::~wxContextHelp()
+ __dt__13wxContextHelpFv
+ ;wxHelpProviderModule::OnInit()
+ OnInit__20wxHelpProviderModuleFv
+ ;wxContextHelpEvtHandler::ProcessEvent(wxEvent&)
+ ProcessEvent__23wxContextHelpEvtHandlerFR7wxEvent
+ ;wxSimpleHelpProvider::ShowHelp(wxWindowBase*)
+ ShowHelp__20wxSimpleHelpProviderFP12wxWindowBase
+ ;wxHelpProviderModule::sm_classwxHelpProviderModule
+ sm_classwxHelpProviderModule__20wxHelpProviderModule
+ ;wxContextHelpButton::sm_eventTableEntries
+ sm_eventTableEntries__19wxContextHelpButton
+ ;wxHelpProvider::AddHelp(int,const wxString&)
+ AddHelp__14wxHelpProviderFiRC8wxString
+ ;wxHelpControllerHelpProvider::wxHelpControllerHelpProvider(wxHelpControllerBase*)
+ __ct__28wxHelpControllerHelpProviderFP20wxHelpControllerBase
+ ;wxContextId(int)
+ wxContextId__Fi
+ ;wxConstructorForwxContextHelp()
+ wxConstructorForwxContextHelp__Fv
+ ;wxConstructorForwxHelpProviderModule()
+ wxConstructorForwxHelpProviderModule__Fv
+ __vft20wxSimpleHelpProvider14wxHelpProvider
+ __vft14wxHelpProvider
+ ;wxContextHelp::EventLoop()
+ EventLoop__13wxContextHelpFv
+ ;wxSimpleHelpProvider::AddHelp(int,const wxString&)
+ AddHelp__20wxSimpleHelpProviderFiRC8wxString
+ ;wxContextHelp::wxContextHelp(wxWindow*,unsigned long)
+ __ct__13wxContextHelpFP8wxWindowUl
+ ;wxContextHelpButton::OnContextHelp(wxCommandEvent&)
+ OnContextHelp__19wxContextHelpButtonFR14wxCommandEvent
+ ;wxContextHelp::DispatchEvent(wxWindow*,const wxPoint&)
+ DispatchEvent__13wxContextHelpFP8wxWindowRC7wxPoint
+ ;wxContextHelp::EndContextHelp()
+ EndContextHelp__13wxContextHelpFv
+ ;wxContextHelp::BeginContextHelp(wxWindow*)
+ BeginContextHelp__13wxContextHelpFP8wxWindow
+ ;wxHelpProvider::AddHelp(wxWindowBase*,const wxString&)
+ AddHelp__14wxHelpProviderFP12wxWindowBaseRC8wxString
+ __vft19wxContextHelpButton8wxObject
+ __vft23wxContextHelpEvtHandler8wxObject
+ __vft20wxHelpProviderModule8wxObject
+ __vft13wxContextHelp8wxObject
+ ;wxContextHelpButton::GetEventTable() const
+ GetEventTable__19wxContextHelpButtonCFv
+ ;wxContextHelpButton::sm_classwxContextHelpButton
+ sm_classwxContextHelpButton__19wxContextHelpButton
+ ;wxHelpProvider::ms_helpProvider
+ ms_helpProvider__14wxHelpProvider
+ __vft28wxHelpControllerHelpProvider14wxHelpProvider
+ ;wxHelpProviderModule::OnExit()
+ OnExit__20wxHelpProviderModuleFv
+ ;wxSimpleHelpProvider::AddHelp(wxWindowBase*,const wxString&)
+ AddHelp__20wxSimpleHelpProviderFP12wxWindowBaseRC8wxString
+ ;From object file: ..\common\ctrlcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxControlBase::Command(wxCommandEvent&)
+ Command__13wxControlBaseFR14wxCommandEvent
+ __vft13wxControlBase8wxObject
+ ;wxControlBase::CreateControl(wxWindowBase*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ CreateControl__13wxControlBaseFP12wxWindowBaseiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxControlBase::InheritAttributes()
+ InheritAttributes__13wxControlBaseFv
+ ;wxControlBase::InitCommandEvent(wxCommandEvent&) const
+ InitCommandEvent__13wxControlBaseCFR14wxCommandEvent
+ ;From object file: ..\common\ctrlsub.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxControlWithItems::GetClientData(int) const
+ GetClientData__18wxControlWithItemsCFi
+ ;wxControlWithItems::SetClientObject(int,wxClientData*)
+ SetClientObject__18wxControlWithItemsFiP12wxClientData
+ ;wxControlWithItems::GetStringSelection() const
+ GetStringSelection__18wxControlWithItemsCFv
+ ;wxControlWithItems::SetClientData(int,void*)
+ SetClientData__18wxControlWithItemsFiPv
+ ;wxControlWithItems::GetClientObject(int) const
+ GetClientObject__18wxControlWithItemsCFi
+ ;From object file: ..\common\datetime.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDateTime::wxDateTime(double)
+ __ct__10wxDateTimeFd
+ ;wxDateTime::Set(const tm&)
+ Set__10wxDateTimeFRC2tm
+ ;wxDateTimeHolidaysModule::sm_classwxDateTimeHolidaysModule
+ sm_classwxDateTimeHolidaysModule__24wxDateTimeHolidaysModule
+ ;wxDateTimeArray::wxDateTimeArray(const wxDateTimeArray&)
+ __ct__15wxDateTimeArrayFRC15wxDateTimeArray
+ ;wxDateTime::wxDateTime(unsigned short,unsigned short,unsigned short,unsigned short)
+ __ct__10wxDateTimeFUsN31
+ ;wxDateTime::Set(const wxDateTime::Tm&)
+ Set__10wxDateTimeFRCQ2_10wxDateTime2Tm
+ ;wxDateTime::SetToNextWeekDay(wxDateTime::WeekDay)
+ SetToNextWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDay
+ ;wxTimeSpan::Multiply(int)
+ Multiply__10wxTimeSpanFi
+ ;wxTimeSpan::Multiply(int) const
+ Multiply__10wxTimeSpanCFi
+ ;wxDateSpan::Multiply(int)
+ Multiply__10wxDateSpanFi
+ ;wxDateTime::IsWorkDay(wxDateTime::Country) const
+ IsWorkDay__10wxDateTimeCFQ2_10wxDateTime7Country
+ ;wxDateTimeArray::Insert(const wxDateTime&,unsigned int)
+ Insert__15wxDateTimeArrayFRC10wxDateTimeUi
+ ;wxDateTime::GetWeekOfYear(wxDateTime::WeekFlags,const wxDateTime::TimeZone&) const
+ GetWeekOfYear__10wxDateTimeCFQ2_10wxDateTime9WeekFlagsRCQ2_10wxDateTime8TimeZone
+ ;wxDateTime::GetLastMonthDay(wxDateTime::Month,int) const
+ GetLastMonthDay__10wxDateTimeCFQ2_10wxDateTime5Monthi
+ ;wxDateTime::GetBeginDST(int,wxDateTime::Country)
+ GetBeginDST__10wxDateTimeFiQ2_10wxDateTime7Country
+ ;wxDateTime::Tm::AddDays(int)
+ AddDays__Q2_10wxDateTime2TmFi
+ ;wxDateTime::Tm::ComputeWeekDay()
+ ComputeWeekDay__Q2_10wxDateTime2TmFv
+ ;wxDateTimeArray::~wxDateTimeArray()
+ __dt__15wxDateTimeArrayFv
+ ;wxDateTime::operator+=(const wxDateSpan&)
+ __apl__10wxDateTimeFRC10wxDateSpan
+ ;wxTimeSpan::Subtract(const wxTimeSpan&)
+ Subtract__10wxTimeSpanFRC10wxTimeSpan
+ ;wxDateTime::Subtract(const wxDateSpan&)
+ Subtract__10wxDateTimeFRC10wxDateSpan
+ ;wxDateTime::Subtract(const wxDateSpan&) const
+ Subtract__10wxDateTimeCFRC10wxDateSpan
+ ;wxDateTime::ResetTime()
+ ResetTime__10wxDateTimeFv
+ ;wxDateTime::Now()
+ Now__10wxDateTimeFv
+ ;wxTimeSpan::IsLongerThan(const wxTimeSpan&) const
+ IsLongerThan__10wxTimeSpanCFRC10wxTimeSpan
+ ;wxTimeSpan::GetSeconds() const
+ GetSeconds__10wxTimeSpanCFv
+ ;wxDateTime::GetJulianDayNumber() const
+ GetJulianDayNumber__10wxDateTimeCFv
+ ;wxTimeSpan::GetDays() const
+ GetDays__10wxTimeSpanCFv
+ ;wxDateTime::GetCurrentMonth(wxDateTime::Calendar)
+ GetCurrentMonth__10wxDateTimeFQ2_10wxDateTime8Calendar
+ ;wxDateTimeArray::DoEmpty()
+ DoEmpty__15wxDateTimeArrayFv
+ ;wxDateTime::Add(const wxTimeSpan&) const
+ Add__10wxDateTimeCFRC10wxTimeSpan
+ ;wxDateTime::SetMinute(unsigned short)
+ SetMinute__10wxDateTimeFUs
+ ;wxDateTime::SetSecond(unsigned short)
+ SetSecond__10wxDateTimeFUs
+ ;wxDateTime::MakeTimezone(const wxDateTime::TimeZone&,unsigned long)
+ MakeTimezone__10wxDateTimeFRCQ2_10wxDateTime8TimeZoneUl
+ ;wxTimeSpan::wxTimeSpan(long,long,long,long)
+ __ct__10wxTimeSpanFlN31
+ ;wxDateTime::Tm::Tm(const tm&,const wxDateTime::TimeZone&)
+ __ct__Q2_10wxDateTime2TmFRC2tmRCQ2_10wxDateTime8TimeZone
+ ;wxDateTime::SetYear(int)
+ SetYear__10wxDateTimeFi
+ ;wxDateTime::SetToLastMonthDay(wxDateTime::Month,int)
+ SetToLastMonthDay__10wxDateTimeFQ2_10wxDateTime5Monthi
+ ;wxDateTime::SetCountry(wxDateTime::Country)
+ SetCountry__10wxDateTimeFQ2_10wxDateTime7Country
+ ;wxDateTime::IsWestEuropeanCountry(wxDateTime::Country)
+ IsWestEuropeanCountry__10wxDateTimeFQ2_10wxDateTime7Country
+ ;wxDateTime::IsDST(wxDateTime::Country) const
+ IsDST__10wxDateTimeCFQ2_10wxDateTime7Country
+ ;wxDateTime::GetNextWeekDay(wxDateTime::WeekDay) const
+ GetNextWeekDay__10wxDateTimeCFQ2_10wxDateTime7WeekDay
+ ;wxDateTime::GetDayOfYear(const wxDateTime::TimeZone&) const
+ GetDayOfYear__10wxDateTimeCFRCQ2_10wxDateTime8TimeZone
+ ;wxDateTime::GetCentury(int)
+ GetCentury__10wxDateTimeFi
+ ;wxDateTime::SetToWeekDay(wxDateTime::WeekDay,int,wxDateTime::Month,int)
+ SetToWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDayiQ2_10wxDateTime5MonthT2
+ ;wxDateTime::Tm::Tm()
+ __ct__Q2_10wxDateTime2TmFv
+ ;wxDateTime::Subtract(const wxTimeSpan&)
+ Subtract__10wxDateTimeFRC10wxTimeSpan
+ ;wxDateTime::GetNumberOfDays(wxDateTime::Month,int,wxDateTime::Calendar)
+ GetNumberOfDays__10wxDateTimeFQ2_10wxDateTime5MonthiQ2_10wxDateTime8Calendar
+ ;wxTimeSpan::GetHours() const
+ GetHours__10wxTimeSpanCFv
+ ;wxDateTime::GetCurrentYear(wxDateTime::Calendar)
+ GetCurrentYear__10wxDateTimeFQ2_10wxDateTime8Calendar
+ ;wxDateSpan::Add(const wxDateSpan&)
+ Add__10wxDateSpanFRC10wxDateSpan
+ ;wxDateTime::SetDay(unsigned short)
+ SetDay__10wxDateTimeFUs
+ ;wxDateTime::SetHour(unsigned short)
+ SetHour__10wxDateTimeFUs
+ ;wxDateTime::wxDateTime(long)
+ __ct__10wxDateTimeFl
+ ;wxDateTime::Set(double)
+ Set__10wxDateTimeFd
+ ;wxDateTime::SetMonth(wxDateTime::Month)
+ SetMonth__10wxDateTimeFQ2_10wxDateTime5Month
+ ;wxDateTime::Format(const char*,const wxDateTime::TimeZone&) const
+ Format__10wxDateTimeCFPCcRCQ2_10wxDateTime8TimeZone
+ ;wxDateTimeHolidayAuthority::ms_authorities
+ ms_authorities__26wxDateTimeHolidayAuthority
+ ;wxDateTime::wxDateTime(const wxDateTime::Tm&)
+ __ct__10wxDateTimeFRCQ2_10wxDateTime2Tm
+ ;wxDateTime::wxDateTime(const tm&)
+ __ct__10wxDateTimeFRC2tm
+ ;wxDateTime::Set(unsigned short,wxDateTime::Month,int,unsigned short,unsigned short,unsigned short,unsigned short)
+ Set__10wxDateTimeFUsQ2_10wxDateTime5MonthiN41
+ ;wxDateTime::Set(unsigned short,unsigned short,unsigned short,unsigned short)
+ Set__10wxDateTimeFUsN31
+ ;wxDateTime::SetToLastWeekDay(wxDateTime::WeekDay,wxDateTime::Month,int)
+ SetToLastWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime5Monthi
+ ;wxDateTime::ParseFormat(const char*,const char*,const wxDateTime&)
+ ParseFormat__10wxDateTimeFPCcT1RC10wxDateTime
+ ;wxDateSpan::Multiply(int) const
+ Multiply__10wxDateSpanCFi
+ ;wxDateTimeHolidayAuthority::IsHoliday(const wxDateTime&)
+ IsHoliday__26wxDateTimeHolidayAuthorityFRC10wxDateTime
+ ;wxDateTime::IsEqualTo(const wxDateTime&) const
+ IsEqualTo__10wxDateTimeCFRC10wxDateTime
+ ;wxDateTime::IsBetween(const wxDateTime&,const wxDateTime&) const
+ IsBetween__10wxDateTimeCFRC10wxDateTimeT1
+ ;wxDateTime::GetWeek(unsigned short,wxDateTime::WeekDay) const
+ GetWeek__10wxDateTimeCFUsQ2_10wxDateTime7WeekDay
+ ;wxDateTime::GetLastWeekDay(wxDateTime::WeekDay,wxDateTime::Month,int)
+ GetLastWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime5Monthi
+ ;wxDateTime::GetEndDST(int,wxDateTime::Country)
+ GetEndDST__10wxDateTimeFiQ2_10wxDateTime7Country
+ ;wxDateTime::GetAmPmStrings(wxString*,wxString*)
+ GetAmPmStrings__10wxDateTimeFP8wxStringT1
+ ;wxDateTimeWorkDays::DoIsHoliday(const wxDateTime&) const
+ DoIsHoliday__18wxDateTimeWorkDaysCFRC10wxDateTime
+ ;wxDateTimeWorkDays::DoGetHolidaysInRange(const wxDateTime&,const wxDateTime&,wxDateTimeArray&) const
+ DoGetHolidaysInRange__18wxDateTimeWorkDaysCFRC10wxDateTimeT1R15wxDateTimeArray
+ ;wxDateTime::ConvertYearToBC(int)
+ ConvertYearToBC__10wxDateTimeFi
+ ;wxDateTimeArray::Add(const wxDateTime&)
+ Add__15wxDateTimeArrayFRC10wxDateTime
+ ;wxDateTime::Tm::AddMonths(int)
+ AddMonths__Q2_10wxDateTime2TmFi
+ ;wxDateTime::TimeZone::TimeZone(wxDateTime::TZ)
+ __ct__Q2_10wxDateTime8TimeZoneFQ2_10wxDateTime2TZ
+ ;wxDateSpan::Neg()
+ Neg__10wxDateSpanFv
+ ;wxDateTime::IsLeapYear(int,wxDateTime::Calendar)
+ IsLeapYear__10wxDateTimeFiQ2_10wxDateTime8Calendar
+ ;wxTimeSpan::IsEqualTo(const wxTimeSpan&) const
+ IsEqualTo__10wxTimeSpanCFRC10wxTimeSpan
+ ;wxTimeSpan::GetWeeks() const
+ GetWeeks__10wxTimeSpanCFv
+ ;wxDateTime::GetTicks() const
+ GetTicks__10wxDateTimeCFv
+ ;wxDateTime::GetNumberOfDays(int,wxDateTime::Calendar)
+ GetNumberOfDays__10wxDateTimeFiQ2_10wxDateTime8Calendar
+ ;wxDateTime::GetCountry()
+ GetCountry__10wxDateTimeFv
+ ;wxDateSpan::Add(const wxDateSpan&) const
+ Add__10wxDateSpanCFRC10wxDateSpan
+ ;wxDateTime::ParseRfc822Date(const char*)
+ ParseRfc822Date__10wxDateTimeFPCc
+ ;wxDateTime::ParseTime(const char*)
+ ParseTime__10wxDateTimeFPCc
+ ;wxDateTime::GetTm(const wxDateTime::TimeZone&) const
+ GetTm__10wxDateTimeCFRCQ2_10wxDateTime8TimeZone
+ __vft18wxDateTimeWorkDays26wxDateTimeHolidayAuthority
+ ;wxDateTime::TIME_T_FACTOR
+ TIME_T_FACTOR__10wxDateTime
+ ;wxDateTime::Subtract(const wxDateTime&) const
+ Subtract__10wxDateTimeCFRC10wxDateTime
+ ;wxDateTime::SetToWeekDayInSameWeek(wxDateTime::WeekDay)
+ SetToWeekDayInSameWeek__10wxDateTimeFQ2_10wxDateTime7WeekDay
+ ;wxDateTime::SetToTheWeek(unsigned short,wxDateTime::WeekDay)
+ SetToTheWeek__10wxDateTimeFUsQ2_10wxDateTime7WeekDay
+ ;wxDateTime::SetToPrevWeekDay(wxDateTime::WeekDay)
+ SetToPrevWeekDay__10wxDateTimeFQ2_10wxDateTime7WeekDay
+ ;wxDateTimeArray::RemoveAt(unsigned int)
+ RemoveAt__15wxDateTimeArrayFUi
+ ;wxDateTime::IsSameTime(const wxDateTime&) const
+ IsSameTime__10wxDateTimeCFRC10wxDateTime
+ ;wxDateTime::IsSameDate(const wxDateTime&) const
+ IsSameDate__10wxDateTimeCFRC10wxDateTime
+ ;wxDateTime::IsDSTApplicable(int,wxDateTime::Country)
+ IsDSTApplicable__10wxDateTimeFiQ2_10wxDateTime7Country
+ ;wxDateTime::GetPrevWeekDay(wxDateTime::WeekDay) const
+ GetPrevWeekDay__10wxDateTimeCFQ2_10wxDateTime7WeekDay
+ ;wxDateTimeHolidayAuthority::GetHolidaysInRange(const wxDateTime&,const wxDateTime&,wxDateTimeArray&)
+ GetHolidaysInRange__26wxDateTimeHolidayAuthorityFRC10wxDateTimeT1R15wxDateTimeArray
+ ;wxDateTimeHolidayAuthority::AddAuthority(wxDateTimeHolidayAuthority*)
+ AddAuthority__26wxDateTimeHolidayAuthorityFP26wxDateTimeHolidayAuthority
+ ;wxTimeSpan::Add(const wxTimeSpan&)
+ Add__10wxTimeSpanFRC10wxTimeSpan
+ ;wxDateTime::operator+=(const wxTimeSpan&)
+ __apl__10wxDateTimeFRC10wxTimeSpan
+ ;wxDateTime::operator-=(const wxDateSpan&)
+ __ami__10wxDateTimeFRC10wxDateSpan
+ ;wxDateSpan::operator-=(const wxDateSpan&)
+ __ami__10wxDateSpanFRC10wxDateSpan
+ ;wxTimeSpan::Subtract(const wxTimeSpan&) const
+ Subtract__10wxTimeSpanCFRC10wxTimeSpan
+ ;wxDateSpan::Subtract(const wxDateSpan&) const
+ Subtract__10wxDateSpanCFRC10wxDateSpan
+ ;wxDateTime::SetToCurrent()
+ SetToCurrent__10wxDateTimeFv
+ ;wxDateSpan::Negate() const
+ Negate__10wxDateSpanCFv
+ ;wxDateTime::Tm::IsValid() const
+ IsValid__Q2_10wxDateTime2TmCFv
+ ;wxTimeSpan::GetMinutes() const
+ GetMinutes__10wxTimeSpanCFv
+ ;wxDateTimeHolidayAuthority::ClearAllAuthorities()
+ ClearAllAuthorities__26wxDateTimeHolidayAuthorityFv
+ ;wxDateTime::Add(const wxTimeSpan&)
+ Add__10wxDateTimeFRC10wxTimeSpan
+ ;wxDateTime::Add(const wxDateSpan&) const
+ Add__10wxDateTimeCFRC10wxDateSpan
+ ;wxDateTime::GetMonthName(wxDateTime::Month,wxDateTime::NameFlags)
+ GetMonthName__10wxDateTimeFQ2_10wxDateTime5MonthQ2_10wxDateTime9NameFlags
+ ;wxDateTime::SetMillisecond(unsigned short)
+ SetMillisecond__10wxDateTimeFUs
+ ;wxDateTime::ParseDate(const char*)
+ ParseDate__10wxDateTimeFPCc
+ ;wxDateTime::ParseDateTime(const char*)
+ ParseDateTime__10wxDateTimeFPCc
+ ;wxDateTime::GetWeekDayName(wxDateTime::WeekDay,wxDateTime::NameFlags)
+ GetWeekDayName__10wxDateTimeFQ2_10wxDateTime7WeekDayQ2_10wxDateTime9NameFlags
+ ;wxDateTime::Set(long)
+ Set__10wxDateTimeFl
+ ;wxDateTime::ToTimezone(const wxDateTime::TimeZone&,unsigned long) const
+ ToTimezone__10wxDateTimeCFRCQ2_10wxDateTime8TimeZoneUl
+ ;wxDateTimeArray::Index(const wxDateTime&,unsigned long) const
+ Index__15wxDateTimeArrayCFRC10wxDateTimeUl
+ ;wxDateTime::wxDateTime(unsigned short,wxDateTime::Month,int,unsigned short,unsigned short,unsigned short,unsigned short)
+ __ct__10wxDateTimeFUsQ2_10wxDateTime5MonthiN41
+ ;wxDumpDate(const wxDateTime*)
+ wxDumpDate__FPC10wxDateTime
+ wxDefaultDateTime
+ ;wxDateTime::ms_country
+ ms_country__10wxDateTime
+ ;wxDateTimeArray::operator=(const wxDateTimeArray&)
+ __as__15wxDateTimeArrayFRC15wxDateTimeArray
+ ;wxDateTime::IsStrictlyBetween(const wxDateTime&,const wxDateTime&) const
+ IsStrictlyBetween__10wxDateTimeCFRC10wxDateTimeT1
+ ;wxDateTime::IsLaterThan(const wxDateTime&) const
+ IsLaterThan__10wxDateTimeCFRC10wxDateTime
+ ;wxDateTime::IsEarlierThan(const wxDateTime&) const
+ IsEarlierThan__10wxDateTimeCFRC10wxDateTime
+ ;wxDateTime::GetWeekOfMonth(wxDateTime::WeekFlags,const wxDateTime::TimeZone&) const
+ GetWeekOfMonth__10wxDateTimeCFQ2_10wxDateTime9WeekFlagsRCQ2_10wxDateTime8TimeZone
+ ;wxDateTime::GetWeekDayInSameWeek(wxDateTime::WeekDay) const
+ GetWeekDayInSameWeek__10wxDateTimeCFQ2_10wxDateTime7WeekDay
+ ;wxDateTimeArray::DoCopy(const wxDateTimeArray&)
+ DoCopy__15wxDateTimeArrayFRC15wxDateTimeArray
+ ;wxDateTime::IsInStdRange() const
+ IsInStdRange__10wxDateTimeCFv
+ ;wxConstructorForwxDateTimeHolidaysModule()
+ wxConstructorForwxDateTimeHolidaysModule__Fv
+ ;wxDateSpan::operator+=(const wxDateSpan&)
+ __apl__10wxDateSpanFRC10wxDateSpan
+ ;wxDateTime::operator-=(const wxTimeSpan&)
+ __ami__10wxDateTimeFRC10wxTimeSpan
+ ;wxDateTime::UNow()
+ UNow__10wxDateTimeFv
+ ;wxDateTime::Today()
+ Today__10wxDateTimeFv
+ ;wxDateTime::Subtract(const wxTimeSpan&) const
+ Subtract__10wxDateTimeCFRC10wxTimeSpan
+ ;wxDateSpan::Subtract(const wxDateSpan&)
+ Subtract__10wxDateSpanFRC10wxDateSpan
+ ;wxDateTime::IsEqualUpTo(const wxDateTime&,const wxTimeSpan&) const
+ IsEqualUpTo__10wxDateTimeCFRC10wxDateTimeRC10wxTimeSpan
+ ;wxDateTime::GetWeekDay(wxDateTime::WeekDay,int,wxDateTime::Month,int) const
+ GetWeekDay__10wxDateTimeCFQ2_10wxDateTime7WeekDayiQ2_10wxDateTime5MonthT2
+ ;wxDateTime::GetValue() const
+ GetValue__10wxDateTimeCFv
+ ;wxDateTime::GetRataDie() const
+ GetRataDie__10wxDateTimeCFv
+ ;wxTimeSpan::Add(const wxTimeSpan&) const
+ Add__10wxTimeSpanCFRC10wxTimeSpan
+ ;wxDateTime::Add(const wxDateSpan&)
+ Add__10wxDateTimeFRC10wxDateSpan
+ ;wxTimeSpan::Abs() const
+ Abs__10wxTimeSpanCFv
+ ;wxDateTime::GetYearDay(unsigned short) const
+ GetYearDay__10wxDateTimeCFUs
+ ;wxDateTime::SetToYearDay(unsigned short)
+ SetToYearDay__10wxDateTimeFUs
+ ;wxTimeSpan::Format(const char*) const
+ Format__10wxTimeSpanCFPCc
+ ;From object file: ..\common\datstrm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDataOutputStream::operator<<(unsigned int)
+ __ls__18wxDataOutputStreamFUi
+ ;wxDataInputStream::Read16()
+ Read16__17wxDataInputStreamFv
+ ;wxDataInputStream::ReadDouble()
+ ReadDouble__17wxDataInputStreamFv
+ ;wxDataInputStream::operator>>(short&)
+ __rs__17wxDataInputStreamFRs
+ ;wxDataInputStream::operator>>(unsigned short&)
+ __rs__17wxDataInputStreamFRUs
+ ;wxDataOutputStream::operator<<(wxString&)
+ __ls__18wxDataOutputStreamFR8wxString
+ ;wxDataInputStream::Read8()
+ Read8__17wxDataInputStreamFv
+ ;wxDataInputStream::ReadString()
+ ReadString__17wxDataInputStreamFv
+ ;wxDataInputStream::operator>>(unsigned char&)
+ __rs__17wxDataInputStreamFRUc
+ ;wxDataOutputStream::operator<<(signed char)
+ __ls__18wxDataOutputStreamFSc
+ ;wxDataOutputStream::WriteString(const wxString&)
+ WriteString__18wxDataOutputStreamFRC8wxString
+ ;wxDataOutputStream::Write16(unsigned short)
+ Write16__18wxDataOutputStreamFUs
+ ;wxDataInputStream::operator>>(double&)
+ __rs__17wxDataInputStreamFRd
+ ;wxDataOutputStream::wxDataOutputStream(wxOutputStream&)
+ __ct__18wxDataOutputStreamFR14wxOutputStream
+ ;wxDataOutputStream::Write32(unsigned int)
+ Write32__18wxDataOutputStreamFUi
+ ;wxDataInputStream::~wxDataInputStream()
+ __dt__17wxDataInputStreamFv
+ ;wxDataInputStream::operator>>(float&)
+ __rs__17wxDataInputStreamFRf
+ ;wxDataInputStream::Read32()
+ Read32__17wxDataInputStreamFv
+ ;wxDataInputStream::operator>>(wxString&)
+ __rs__17wxDataInputStreamFR8wxString
+ ;wxDataOutputStream::operator<<(double)
+ __ls__18wxDataOutputStreamFd
+ ;wxDataInputStream::wxDataInputStream(wxInputStream&)
+ __ct__17wxDataInputStreamFR13wxInputStream
+ ;wxDataInputStream::operator>>(int&)
+ __rs__17wxDataInputStreamFRi
+ ;wxDataInputStream::operator>>(unsigned int&)
+ __rs__17wxDataInputStreamFRUi
+ ;wxDataOutputStream::~wxDataOutputStream()
+ __dt__18wxDataOutputStreamFv
+ ;wxDataOutputStream::operator<<(float)
+ __ls__18wxDataOutputStreamFf
+ ;wxDataInputStream::operator>>(signed char&)
+ __rs__17wxDataInputStreamFRSc
+ ;wxDataOutputStream::operator<<(short)
+ __ls__18wxDataOutputStreamFs
+ ;wxDataOutputStream::operator<<(unsigned short)
+ __ls__18wxDataOutputStreamFUs
+ ;wxDataOutputStream::operator<<(unsigned char)
+ __ls__18wxDataOutputStreamFUc
+ ;wxDataOutputStream::operator<<(const char*)
+ __ls__18wxDataOutputStreamFPCc
+ ;wxDataOutputStream::Write8(unsigned char)
+ Write8__18wxDataOutputStreamFUc
+ ;wxDataOutputStream::WriteDouble(double)
+ WriteDouble__18wxDataOutputStreamFd
+ ;wxDataOutputStream::operator<<(int)
+ __ls__18wxDataOutputStreamFi
+ ;From object file: ..\common\dcbase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDCBase::DoDrawCheckMark(int,int,int,int)
+ DoDrawCheckMark__8wxDCBaseFiN31
+ ;wxDCBase::DrawSpline(int,wxPoint*)
+ DrawSpline__8wxDCBaseFiP7wxPoint
+ __vft8wxDCBase8wxObject
+ ;wxDCBase::DrawLines(const wxList*,int,int)
+ DrawLines__8wxDCBaseFPC6wxListiT2
+ ;wxDCBase::DrawPolygon(const wxList*,int,int,int)
+ DrawPolygon__8wxDCBaseFPC6wxListiN22
+ ;wxDCBase::DrawSpline(int,int,int,int,int,int)
+ DrawSpline__8wxDCBaseFiN51
+ ;From object file: ..\common\dndcmn.cpp
+ ;From object file: ..\common\dlgcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDialogBase::CreateButtonSizer(long)
+ CreateButtonSizer__12wxDialogBaseFl
+ ;wxDialogBase::CreateTextSizer(const wxString&)
+ CreateTextSizer__12wxDialogBaseFRC8wxString
+ ;From object file: ..\common\dobjcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDataObjectComposite::GetDataSize(const wxDataFormat&) const
+ GetDataSize__21wxDataObjectCompositeCFRC12wxDataFormat
+ ;wxCustomDataObject::Alloc(unsigned int)
+ Alloc__18wxCustomDataObjectFUi
+ __vft28wxwxSimpleDataObjectListNode10wxNodeBase
+ ;wxDataObjectComposite::SetData(const wxDataFormat&,unsigned int,const void*)
+ SetData__21wxDataObjectCompositeFRC12wxDataFormatUiPCv
+ ;wxFileDropTarget::wxFileDropTarget()
+ __ct__16wxFileDropTargetFv
+ ;wxCustomDataObject::GetDataSize() const
+ GetDataSize__18wxCustomDataObjectCFv
+ ;wxDataObjectComposite::Add(wxDataObjectSimple*,unsigned long)
+ Add__21wxDataObjectCompositeFP18wxDataObjectSimpleUl
+ wxFormatInvalid
+ ;wxFileDropTarget::OnData(int,int,wxDragResult)
+ OnData__16wxFileDropTargetFiT112wxDragResult
+ __vft21wxDataObjectComposite16wxDataObjectBase
+ ;wxTextDataObject::GetDataSize() const
+ GetDataSize__16wxTextDataObjectCFv
+ ;wxTextDataObject::SetData(unsigned int,const void*)
+ SetData__16wxTextDataObjectFUiPCv
+ ;wxCustomDataObject::Free()
+ Free__18wxCustomDataObjectFv
+ ;wxTextDropTarget::OnData(int,int,wxDragResult)
+ OnData__16wxTextDropTargetFiT112wxDragResult
+ ;wxDataObjectComposite::GetDataHere(const wxDataFormat&,void*) const
+ GetDataHere__21wxDataObjectCompositeCFRC12wxDataFormatPv
+ ;wxTextDropTarget::wxTextDropTarget()
+ __ct__16wxTextDropTargetFv
+ ;wxCustomDataObject::GetDataHere(void*) const
+ GetDataHere__18wxCustomDataObjectCFPv
+ ;wxTextDataObject::GetDataHere(void*) const
+ GetDataHere__16wxTextDataObjectCFPv
+ ;wxDataObjectComposite::GetObject(const wxDataFormat&) const
+ GetObject__21wxDataObjectCompositeCFRC12wxDataFormat
+ ;wxCustomDataObject::wxCustomDataObject(const wxDataFormat&)
+ __ct__18wxCustomDataObjectFRC12wxDataFormat
+ __vft16wxTextDataObject16wxDataObjectBase
+ __vft16wxFileDropTarget16wxDropTargetBase
+ ;wxDataObjectBase::~wxDataObjectBase()
+ __dt__16wxDataObjectBaseFv
+ ;wxCustomDataObject::~wxCustomDataObject()
+ __dt__18wxCustomDataObjectFv
+ ;wxCustomDataObject::SetData(unsigned int,const void*)
+ SetData__18wxCustomDataObjectFUiPCv
+ ;wxDataObjectComposite::GetFormatCount(wxDataObjectBase::Direction) const
+ GetFormatCount__21wxDataObjectCompositeCFQ2_16wxDataObjectBase9Direction
+ ;wxDataObjectComposite::GetAllFormats(wxDataFormat*,wxDataObjectBase::Direction) const
+ GetAllFormats__21wxDataObjectCompositeCFP12wxDataFormatQ2_16wxDataObjectBase9Direction
+ __vft16wxDataObjectBase
+ __vft18wxCustomDataObject16wxDataObjectBase
+ __vft16wxTextDropTarget16wxDropTargetBase
+ ;wxwxSimpleDataObjectListNode::DeleteData()
+ DeleteData__28wxwxSimpleDataObjectListNodeFv
+ ;wxCustomDataObject::TakeData(unsigned int,void*)
+ TakeData__18wxCustomDataObjectFUiPv
+ ;wxDataObjectBase::IsSupported(const wxDataFormat&,wxDataObjectBase::Direction) const
+ IsSupported__16wxDataObjectBaseCFRC12wxDataFormatQ2_16wxDataObjectBase9Direction
+ ;wxDataObjectComposite::GetPreferredFormat(wxDataObjectBase::Direction) const
+ GetPreferredFormat__21wxDataObjectCompositeCFQ2_16wxDataObjectBase9Direction
+ ;From object file: ..\common\docmdi.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDocMDIParentFrame::wxDocMDIParentFrame(wxDocManager*,wxFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__19wxDocMDIParentFrameFP12wxDocManagerP7wxFrameiRC8wxStringRC7wxPointRC6wxSizelT4
+ ;wxDocMDIParentFrame::ProcessEvent(wxEvent&)
+ ProcessEvent__19wxDocMDIParentFrameFR7wxEvent
+ ;wxDocMDIParentFrame::OnExit(wxCommandEvent&)
+ OnExit__19wxDocMDIParentFrameFR14wxCommandEvent
+ ;wxDocMDIChildFrame::OnActivate(wxActivateEvent&)
+ OnActivate__18wxDocMDIChildFrameFR15wxActivateEvent
+ ;wxDocMDIParentFrame::sm_classwxDocMDIParentFrame
+ sm_classwxDocMDIParentFrame__19wxDocMDIParentFrame
+ ;wxDocMDIChildFrame::GetEventTable() const
+ GetEventTable__18wxDocMDIChildFrameCFv
+ ;wxDocMDIChildFrame::ProcessEvent(wxEvent&)
+ ProcessEvent__18wxDocMDIChildFrameFR7wxEvent
+ ;wxDocMDIChildFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__18wxDocMDIChildFrameFR12wxCloseEvent
+ ;wxDocMDIParentFrame::sm_eventTableEntries
+ sm_eventTableEntries__19wxDocMDIParentFrame
+ ;wxDocMDIChildFrame::~wxDocMDIChildFrame()
+ __dt__18wxDocMDIChildFrameFv
+ ;wxDocMDIParentFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__19wxDocMDIParentFrameFR12wxCloseEvent
+ __vft19wxDocMDIParentFrame8wxObject
+ __vft18wxDocMDIChildFrame8wxObject
+ ;wxDocMDIParentFrame::OnMRUFile(wxCommandEvent&)
+ OnMRUFile__19wxDocMDIParentFrameFR14wxCommandEvent
+ ;wxDocMDIChildFrame::wxDocMDIChildFrame(wxDocument*,wxView*,wxMDIParentFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__18wxDocMDIChildFrameFP10wxDocumentP6wxViewP16wxMDIParentFrameiRC8wxStringRC7wxPointRC6wxSizelT5
+ ;wxDocMDIParentFrame::sm_eventTable
+ sm_eventTable__19wxDocMDIParentFrame
+ ;wxDocMDIChildFrame::sm_eventTable
+ sm_eventTable__18wxDocMDIChildFrame
+ ;wxDocMDIChildFrame::sm_classwxDocMDIChildFrame
+ sm_classwxDocMDIChildFrame__18wxDocMDIChildFrame
+ ;wxDocMDIParentFrame::GetEventTable() const
+ GetEventTable__19wxDocMDIParentFrameCFv
+ ;wxDocMDIChildFrame::sm_eventTableEntries
+ sm_eventTableEntries__18wxDocMDIChildFrame
+ ;From object file: ..\common\docview.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDocument::SetFilename(const wxString&,unsigned long)
+ SetFilename__10wxDocumentFRC8wxStringUl
+ ;wxDocument::sm_classwxDocument
+ sm_classwxDocument__10wxDocument
+ __vft13wxDocTemplate8wxObject
+ ;wxDocManager::OnUpdateRedo(wxUpdateUIEvent&)
+ OnUpdateRedo__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxView::OnPrint(wxDC*,wxObject*)
+ OnPrint__6wxViewFP4wxDCP8wxObject
+ ;wxDocManager::OnPrint(wxCommandEvent&)
+ OnPrint__12wxDocManagerFR14wxCommandEvent
+ ;wxDocParentFrame::OnMRUFile(wxCommandEvent&)
+ OnMRUFile__16wxDocParentFrameFR14wxCommandEvent
+ ;wxDocManager::OnFileSaveAs(wxCommandEvent&)
+ OnFileSaveAs__12wxDocManagerFR14wxCommandEvent
+ ;wxDocManager::OnFileRevert(wxCommandEvent&)
+ OnFileRevert__12wxDocManagerFR14wxCommandEvent
+ ;wxDocParentFrame::OnExit(wxCommandEvent&)
+ OnExit__16wxDocParentFrameFR14wxCommandEvent
+ ;wxDocChildFrame::OnActivate(wxActivateEvent&)
+ OnActivate__15wxDocChildFrameFR15wxActivateEvent
+ ;wxDocManager::MakeFrameTitle(wxDocument*)
+ MakeFrameTitle__12wxDocManagerFP10wxDocument
+ ;wxDocManager::CreateDocument(const wxString&,long)
+ CreateDocument__12wxDocManagerFRC8wxStringl
+ ;wxView::Close(unsigned long)
+ Close__6wxViewFUl
+ ;wxView::Activate(unsigned long)
+ Activate__6wxViewFUl
+ ;wxCommandProcessor::wxCommandProcessor(int)
+ __ct__18wxCommandProcessorFi
+ ;wxDocParentFrame::sm_eventTable
+ sm_eventTable__16wxDocParentFrame
+ ;wxDocChildFrame::sm_eventTable
+ sm_eventTable__15wxDocChildFrame
+ ;wxFileHistory::sm_classwxFileHistory
+ sm_classwxFileHistory__13wxFileHistory
+ ;wxDocParentFrame::sm_classwxDocParentFrame
+ sm_classwxDocParentFrame__16wxDocParentFrame
+ ;wxDocChildFrame::wxDocChildFrame(wxDocument*,wxView*,wxFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__15wxDocChildFrameFP10wxDocumentP6wxViewP7wxFrameiRC8wxStringRC7wxPointRC6wxSizelT5
+ ;wxFileHistory::Save(wxConfigBase&)
+ Save__13wxFileHistoryFR12wxConfigBase
+ ;wxDocument::SaveObject(ostream&)
+ SaveObject__10wxDocumentFR7ostream
+ ;wxDocManager::RemoveFileFromHistory(int)
+ RemoveFileFromHistory__12wxDocManagerFi
+ ;wxDocPrintout::OnBeginDocument(int,int)
+ OnBeginDocument__13wxDocPrintoutFiT1
+ ;wxDocManager::FileHistoryLoad(wxConfigBase&)
+ FileHistoryLoad__12wxDocManagerFR12wxConfigBase
+ ;wxConstructorForwxDocManager()
+ wxConstructorForwxDocManager__Fv
+ ;wxConstructorForwxCommandProcessor()
+ wxConstructorForwxCommandProcessor__Fv
+ ;wxDocManager::sm_docManager
+ sm_docManager__12wxDocManager
+ ;wxDocTemplate::~wxDocTemplate()
+ __dt__13wxDocTemplateFv
+ ;wxDocManager::~wxDocManager()
+ __dt__12wxDocManagerFv
+ ;wxDocument::OnNewDocument()
+ OnNewDocument__10wxDocumentFv
+ ;wxView::OnCreatePrintout()
+ OnCreatePrintout__6wxViewFv
+ ;wxDocManager::GetNoHistoryFiles() const
+ GetNoHistoryFiles__12wxDocManagerCFv
+ ;wxFileHistory::AddFilesToMenu()
+ AddFilesToMenu__13wxFileHistoryFv
+ ;wxDocument::AddView(wxView*)
+ AddView__10wxDocumentFP6wxView
+ ;wxDocManager::FindTemplateForPath(const wxString&)
+ FindTemplateForPath__12wxDocManagerFRC8wxString
+ ;wxFileHistory::AddFileToHistory(const wxString&)
+ AddFileToHistory__13wxFileHistoryFRC8wxString
+ ;wxDocManager::AddFileToHistory(const wxString&)
+ AddFileToHistory__12wxDocManagerFRC8wxString
+ ;wxDocument::wxDocument(wxDocument*)
+ __ct__10wxDocumentFP10wxDocument
+ ;wxCommand::sm_classwxCommand
+ sm_classwxCommand__9wxCommand
+ __vft6wxView8wxObject
+ __vft16wxDocParentFrame8wxObject
+ __vft13wxFileHistory8wxObject
+ ;wxDocParentFrame::wxDocParentFrame(wxDocManager*,wxFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__16wxDocParentFrameFP12wxDocManagerP7wxFrameiRC8wxStringRC7wxPointRC6wxSizelT4
+ ;wxView::SetDocument(wxDocument*)
+ SetDocument__6wxViewFP10wxDocument
+ ;wxView::ProcessEvent(wxEvent&)
+ ProcessEvent__6wxViewFR7wxEvent
+ ;wxDocManager::ProcessEvent(wxEvent&)
+ ProcessEvent__12wxDocManagerFR7wxEvent
+ ;wxView::OnUpdate(wxView*,wxObject*)
+ OnUpdate__6wxViewFP6wxViewP8wxObject
+ ;wxDocManager::OnUpdatePrintSetup(wxUpdateUIEvent&)
+ OnUpdatePrintSetup__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUpdateFileSave(wxUpdateUIEvent&)
+ OnUpdateFileSave__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUpdateFileSaveAs(wxUpdateUIEvent&)
+ OnUpdateFileSaveAs__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUpdateFileNew(wxUpdateUIEvent&)
+ OnUpdateFileNew__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUpdateFileClose(wxUpdateUIEvent&)
+ OnUpdateFileClose__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnRedo(wxCommandEvent&)
+ OnRedo__12wxDocManagerFR14wxCommandEvent
+ ;wxDocChildFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__15wxDocChildFrameFR12wxCloseEvent
+ ;wxDocManager::Clear(unsigned long)
+ Clear__12wxDocManagerFUl
+ ;wxFileHistory::wxFileHistory(int)
+ __ct__13wxFileHistoryFi
+ ;wxDocTemplate::sm_classwxDocTemplate
+ sm_classwxDocTemplate__13wxDocTemplate
+ ;wxDocManager::SelectDocumentType(wxDocTemplate**,int)
+ SelectDocumentType__12wxDocManagerFPP13wxDocTemplatei
+ ;wxFileHistory::RemoveFileFromHistory(int)
+ RemoveFileFromHistory__13wxFileHistoryFi
+ ;wxFileHistory::Load(wxConfigBase&)
+ Load__13wxFileHistoryFR12wxConfigBase
+ ;wxDocManager::FileHistoryAddFilesToMenu(wxMenu*)
+ FileHistoryAddFilesToMenu__12wxDocManagerFP6wxMenu
+ ;wxDocument::OnCloseDocument()
+ OnCloseDocument__10wxDocumentFv
+ ;wxDocManager::sm_classwxDocManager
+ sm_classwxDocManager__12wxDocManager
+ ;wxView::wxView()
+ __ct__6wxViewFv
+ ;wxCommandProcessor::Undo()
+ Undo__18wxCommandProcessorFv
+ ;wxCommandProcessor::SetMenuStrings()
+ SetMenuStrings__18wxCommandProcessorFv
+ ;wxDocument::Save()
+ Save__10wxDocumentFv
+ ;wxDocument::OnChangedViewList()
+ OnChangedViewList__10wxDocumentFv
+ ;wxDocument::GetDocumentWindow() const
+ GetDocumentWindow__10wxDocumentCFv
+ ;wxDocManager::GetCurrentDocument() const
+ GetCurrentDocument__12wxDocManagerCFv
+ ;wxDocument::DeleteAllViews()
+ DeleteAllViews__10wxDocumentFv
+ ;wxCommandProcessor::CanRedo() const
+ CanRedo__18wxCommandProcessorCFv
+ ;wxDocument::OnSaveDocument(const wxString&)
+ OnSaveDocument__10wxDocumentFRC8wxString
+ ;wxDocument::RemoveView(wxView*)
+ RemoveView__10wxDocumentFP6wxView
+ ;wxDocument::Draw(wxDC&)
+ Draw__10wxDocumentFR4wxDC
+ ;wxDocument::OnCreate(const wxString&,long)
+ OnCreate__10wxDocumentFRC8wxStringl
+ ;wxDocPrintout::sm_classwxDocPrintout
+ sm_classwxDocPrintout__13wxDocPrintout
+ __vft15wxDocChildFrame8wxObject
+ __vft10wxDocument8wxObject
+ ;wxCommandProcessor::Submit(wxCommand*,unsigned long)
+ Submit__18wxCommandProcessorFP9wxCommandUl
+ ;wxDocManager::SelectDocumentPath(wxDocTemplate**,int,wxString&,long,unsigned long)
+ SelectDocumentPath__12wxDocManagerFPP13wxDocTemplateiR8wxStringlUl
+ ;wxDocParentFrame::ProcessEvent(wxEvent&)
+ ProcessEvent__16wxDocParentFrameFR7wxEvent
+ ;wxDocManager::OnUpdateUndo(wxUpdateUIEvent&)
+ OnUpdateUndo__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUpdateFileRevert(wxUpdateUIEvent&)
+ OnUpdateFileRevert__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUndo(wxCommandEvent&)
+ OnUndo__12wxDocManagerFR14wxCommandEvent
+ ;wxView::OnClose(unsigned long)
+ OnClose__6wxViewFUl
+ ;wxDocParentFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__16wxDocParentFrameFR12wxCloseEvent
+ ;wxDocManager::DeleteTemplate(wxDocTemplate*,long)
+ DeleteTemplate__12wxDocManagerFP13wxDocTemplatel
+ ;wxDocManager::DisassociateTemplate(wxDocTemplate*)
+ DisassociateTemplate__12wxDocManagerFP13wxDocTemplate
+ ;wxDocChildFrame::sm_eventTableEntries
+ sm_eventTableEntries__15wxDocChildFrame
+ ;wxFileHistory::UseMenu(wxMenu*)
+ UseMenu__13wxFileHistoryFP6wxMenu
+ ;wxFileHistory::RemoveMenu(wxMenu*)
+ RemoveMenu__13wxFileHistoryFP6wxMenu
+ ;wxDocPrintout::HasPage(int)
+ HasPage__13wxDocPrintoutFi
+ ;wxFileHistory::GetHistoryFile(int) const
+ GetHistoryFile__13wxFileHistoryCFi
+ ;wxDocManager::GetHistoryFile(int) const
+ GetHistoryFile__12wxDocManagerCFi
+ ;wxDocManager::FileHistorySave(wxConfigBase&)
+ FileHistorySave__12wxDocManagerFR12wxConfigBase
+ ;wxFileHistory::AddFilesToMenu(wxMenu*)
+ AddFilesToMenu__13wxFileHistoryFP6wxMenu
+ ;wxDocument::~wxDocument()
+ __dt__10wxDocumentFv
+ ;wxView::~wxView()
+ __dt__6wxViewFv
+ ;wxDocManager::OnCreateFileHistory()
+ OnCreateFileHistory__12wxDocManagerFv
+ ;wxView::OnChangeFilename()
+ OnChangeFilename__6wxViewFv
+ ;wxView::OnActivateView(unsigned long,wxView*,wxView*)
+ OnActivateView__6wxViewFUlP6wxViewT2
+ ;wxDocChildFrame::GetEventTable() const
+ GetEventTable__15wxDocChildFrameCFv
+ ;wxDocManager::GetEventTable() const
+ GetEventTable__12wxDocManagerCFv
+ ;wxDocPrintout::wxDocPrintout(wxView*,const wxString&)
+ __ct__13wxDocPrintoutFP6wxViewRC8wxString
+ ;wxDocManager::MakeDefaultName(wxString&)
+ MakeDefaultName__12wxDocManagerFR8wxString
+ ;wxDocument::GetPrintableName(wxString&) const
+ GetPrintableName__10wxDocumentCFR8wxString
+ ;wxDocTemplate::FileMatchesTemplate(const wxString&)
+ FileMatchesTemplate__13wxDocTemplateFRC8wxString
+ ;wxDocManager::wxDocManager(long,unsigned long)
+ __ct__12wxDocManagerFlUl
+ __vft18wxCommandProcessor8wxObject
+ ;wxDocManager::OnUpdatePrint(wxUpdateUIEvent&)
+ OnUpdatePrint__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnPrintSetup(wxCommandEvent&)
+ OnPrintSetup__12wxDocManagerFR14wxCommandEvent
+ ;wxDocManager::OnFileSave(wxCommandEvent&)
+ OnFileSave__12wxDocManagerFR14wxCommandEvent
+ ;wxDocManager::OnFileNew(wxCommandEvent&)
+ OnFileNew__12wxDocManagerFR14wxCommandEvent
+ ;wxDocTemplate::CreateView(wxDocument*,long)
+ CreateView__13wxDocTemplateFP10wxDocumentl
+ ;wxDocManager::CreateView(wxDocument*,long)
+ CreateView__12wxDocManagerFP10wxDocumentl
+ ;wxDocTemplate::CreateDocument(const wxString&,long)
+ CreateDocument__13wxDocTemplateFRC8wxStringl
+ ;wxDocManager::AssociateTemplate(wxDocTemplate*)
+ AssociateTemplate__12wxDocManagerFP13wxDocTemplate
+ ;wxTransferFileToStream(const wxString&,ostream&)
+ wxTransferFileToStream__FRC8wxStringR7ostream
+ ;wxDocParentFrame::sm_eventTableEntries
+ sm_eventTableEntries__16wxDocParentFrame
+ ;wxDocChildFrame::sm_classwxDocChildFrame
+ sm_classwxDocChildFrame__15wxDocChildFrame
+ ;wxDocManager::SelectViewType(wxDocTemplate**,int)
+ SelectViewType__12wxDocManagerFPP13wxDocTemplatei
+ ;wxDocPrintout::GetPageInfo(int*,int*,int*,int*)
+ GetPageInfo__13wxDocPrintoutFPiN31
+ ;wxDocManager::FileHistoryRemoveMenu(wxMenu*)
+ FileHistoryRemoveMenu__12wxDocManagerFP6wxMenu
+ ;wxConstructorForwxFileHistory()
+ wxConstructorForwxFileHistory__Fv
+ ;wxDocManager::sm_eventTable
+ sm_eventTable__12wxDocManager
+ ;wxCommandProcessor::sm_classwxCommandProcessor
+ sm_classwxCommandProcessor__18wxCommandProcessor
+ ;wxCommand::~wxCommand()
+ __dt__9wxCommandFv
+ ;wxCommandProcessor::~wxCommandProcessor()
+ __dt__18wxCommandProcessorFv
+ ;wxDocument::SaveAs()
+ SaveAs__10wxDocumentFv
+ ;wxDocument::OnSaveModified()
+ OnSaveModified__10wxDocumentFv
+ ;wxCommandProcessor::Initialize()
+ Initialize__18wxCommandProcessorFv
+ ;wxDocManager::Initialize()
+ Initialize__12wxDocManagerFv
+ ;wxDocParentFrame::GetEventTable() const
+ GetEventTable__16wxDocParentFrameCFv
+ ;wxDocManager::GetCurrentView() const
+ GetCurrentView__12wxDocManagerCFv
+ ;wxCommandProcessor::CanUndo() const
+ CanUndo__18wxCommandProcessorCFv
+ ;wxDocManager::MatchTemplate(const wxString&)
+ MatchTemplate__12wxDocManagerFRC8wxString
+ ;wxTransferStreamToFile(istream&,const wxString&)
+ wxTransferStreamToFile__FR7istreamRC8wxString
+ ;wxView::sm_classwxView
+ sm_classwxView__6wxView
+ ;wxCommand::wxCommand(unsigned long,const wxString&)
+ __ct__9wxCommandFUlRC8wxString
+ ;wxDocManager::RemoveDocument(wxDocument*)
+ RemoveDocument__12wxDocManagerFP10wxDocument
+ __vft9wxCommand8wxObject
+ __vft13wxDocPrintout8wxObject
+ __vft12wxDocManager8wxObject
+ ;wxDocTemplate::wxDocTemplate(wxDocManager*,const wxString&,const wxString&,const wxString&,const wxString&,const wxString&,const wxString&,wxClassInfo*,wxClassInfo*,long)
+ __ct__13wxDocTemplateFP12wxDocManagerRC8wxStringN52P11wxClassInfoT8l
+ ;wxDocument::UpdateAllViews(wxView*,wxObject*)
+ UpdateAllViews__10wxDocumentFP6wxViewP8wxObject
+ ;wxDocChildFrame::ProcessEvent(wxEvent&)
+ ProcessEvent__15wxDocChildFrameFR7wxEvent
+ ;wxDocManager::OnUpdatePreview(wxUpdateUIEvent&)
+ OnUpdatePreview__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnUpdateFileOpen(wxUpdateUIEvent&)
+ OnUpdateFileOpen__12wxDocManagerFR15wxUpdateUIEvent
+ ;wxDocManager::OnPreview(wxCommandEvent&)
+ OnPreview__12wxDocManagerFR14wxCommandEvent
+ ;wxDocManager::OnFileOpen(wxCommandEvent&)
+ OnFileOpen__12wxDocManagerFR14wxCommandEvent
+ ;wxDocManager::OnFileClose(wxCommandEvent&)
+ OnFileClose__12wxDocManagerFR14wxCommandEvent
+ ;wxDocManager::FlushDoc(wxDocument*)
+ FlushDoc__12wxDocManagerFP10wxDocument
+ ;wxDocManager::AddDocument(wxDocument*)
+ AddDocument__12wxDocManagerFP10wxDocument
+ ;wxDocument::LoadObject(istream&)
+ LoadObject__10wxDocumentFR7istream
+ ;wxDocPrintout::OnPrintPage(int)
+ OnPrintPage__13wxDocPrintoutFi
+ ;wxDocManager::FileHistoryUseMenu(wxMenu*)
+ FileHistoryUseMenu__12wxDocManagerFP6wxMenu
+ ;wxConstructorForwxDocPrintout()
+ wxConstructorForwxDocPrintout__Fv
+ ;wxDocManager::sm_eventTableEntries
+ sm_eventTableEntries__12wxDocManager
+ ;wxDocChildFrame::~wxDocChildFrame()
+ __dt__15wxDocChildFrameFv
+ ;wxFileHistory::~wxFileHistory()
+ __dt__13wxFileHistoryFv
+ ;wxDocument::Revert()
+ Revert__10wxDocumentFv
+ ;wxCommandProcessor::Redo()
+ Redo__18wxCommandProcessorFv
+ ;wxDocument::OnCreateCommandProcessor()
+ OnCreateCommandProcessor__10wxDocumentFv
+ ;wxDocument::GetFirstView() const
+ GetFirstView__10wxDocumentCFv
+ ;wxDocument::GetDocumentManager() const
+ GetDocumentManager__10wxDocumentCFv
+ ;wxDocManager::FileHistoryAddFilesToMenu()
+ FileHistoryAddFilesToMenu__12wxDocManagerFv
+ ;wxDocument::DeleteContents()
+ DeleteContents__10wxDocumentFv
+ ;wxDocument::Close()
+ Close__10wxDocumentFv
+ ;wxCommandProcessor::ClearCommands()
+ ClearCommands__18wxCommandProcessorFv
+ ;wxDocManager::ActivateView(wxView*,unsigned long,unsigned long)
+ ActivateView__12wxDocManagerFP6wxViewUlT2
+ ;wxDocument::OnOpenDocument(const wxString&)
+ OnOpenDocument__10wxDocumentFRC8wxString
+ ;From object file: ..\common\dynarray.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBaseArray::Add(long)
+ Add__11wxBaseArrayFl
+ ;wxBaseArray::Remove(long)
+ Remove__11wxBaseArrayFl
+ ;wxBaseArray::~wxBaseArray()
+ __dt__11wxBaseArrayFv
+ ;wxBaseArray::Sort(int(*)(const void*,const void*))
+ Sort__11wxBaseArrayFPFPCvT1_i
+ ;wxBaseArray::wxBaseArray()
+ __ct__11wxBaseArrayFv
+ ;wxBaseArray::Clear()
+ Clear__11wxBaseArrayFv
+ ;wxBaseArray::Insert(long,unsigned int)
+ Insert__11wxBaseArrayFlUi
+ ;wxBaseArray::wxBaseArray(const wxBaseArray&)
+ __ct__11wxBaseArrayFRC11wxBaseArray
+ ;wxBaseArray::Add(long,int(*)(const void*,const void*))
+ Add__11wxBaseArrayFlPFPCvT1_i
+ ;wxBaseArray::Shrink()
+ Shrink__11wxBaseArrayFv
+ ;wxBaseArray::operator=(const wxBaseArray&)
+ __as__11wxBaseArrayFRC11wxBaseArray
+ ;wxBaseArray::RemoveAt(unsigned int)
+ RemoveAt__11wxBaseArrayFUi
+ ;wxBaseArray::Index(long,int(*)(const void*,const void*)) const
+ Index__11wxBaseArrayCFlPFPCvT1_i
+ ;wxBaseArray::Grow()
+ Grow__11wxBaseArrayFv
+ ;wxBaseArray::Index(long,unsigned long) const
+ Index__11wxBaseArrayCFlUl
+ ;wxBaseArray::Alloc(unsigned int)
+ Alloc__11wxBaseArrayFUi
+ ;From object file: ..\common\dynlib.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxLibrary::wxLibrary(unsigned long)
+ __ct__9wxLibraryFUl
+ ;wxLibrary::~wxLibrary()
+ __dt__9wxLibraryFv
+ ;wxLibraries::~wxLibraries()
+ __dt__11wxLibrariesFv
+ ;wxDllLoader::GetSymbol(unsigned long,const wxString&)
+ GetSymbol__11wxDllLoaderFUlRC8wxString
+ ;wxDllLoader::LoadLibrary(const wxString&,unsigned long*)
+ LoadLibrary__11wxDllLoaderFRC8wxStringPUl
+ ;wxLibraries::wxLibraries()
+ __ct__11wxLibrariesFv
+ ;wxLibrary::GetSymbol(const wxString&)
+ GetSymbol__9wxLibraryFRC8wxString
+ ;wxLibrary::CreateObject(const wxString&)
+ CreateObject__9wxLibraryFRC8wxString
+ ;wxLibraries::CreateObject(const wxString&)
+ CreateObject__11wxLibrariesFRC8wxString
+ ;wxDllLoader::UnloadLibrary(unsigned long)
+ UnloadLibrary__11wxDllLoaderFUl
+ ;wxDllLoader::GetProgramHandle()
+ GetProgramHandle__11wxDllLoaderFv
+ ;wxLibrary::PrepareClasses(wxClassInfo*)
+ PrepareClasses__9wxLibraryFP11wxClassInfo
+ __vft9wxLibrary8wxObject
+ ;wxDllLoader::GetDllExt()
+ GetDllExt__11wxDllLoaderFv
+ ;wxLibraries::LoadLibrary(const wxString&)
+ LoadLibrary__11wxLibrariesFRC8wxString
+ wxTheLibraries
+ ;From object file: ..\common\encconv.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxEncodingConverter::GetAllEquivalents(wxFontEncoding)
+ GetAllEquivalents__19wxEncodingConverterF14wxFontEncoding
+ ;wxEncodingConverter::wxEncodingConverter()
+ __ct__19wxEncodingConverterFv
+ ;wxEncodingConverter::Convert(const char*,wchar_t*)
+ Convert__19wxEncodingConverterFPCcPw
+ ;wxEncodingConverter::Init(wxFontEncoding,wxFontEncoding,int)
+ Init__19wxEncodingConverterF14wxFontEncodingT1i
+ ;wxEncodingConverter::Convert(const wchar_t*,char*)
+ Convert__19wxEncodingConverterFPCwPc
+ ;wxEncodingConverter::Convert(const wxString&)
+ Convert__19wxEncodingConverterFRC8wxString
+ ;wxEncodingConverter::GetPlatformEquivalents(wxFontEncoding,int)
+ GetPlatformEquivalents__19wxEncodingConverterF14wxFontEncodingi
+ ;wxEncodingConverter::Convert(const char*,char*)
+ Convert__19wxEncodingConverterFPCcPc
+ ;wxEncodingConverter::Convert(const wchar_t*,wchar_t*)
+ Convert__19wxEncodingConverterFPCwPw
+ ;From object file: ..\common\event.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxEvent::CopyObject(wxObject&) const
+ CopyObject__7wxEventCFR8wxObject
+ ;wxNavigationKeyEvent::sm_classwxNavigationKeyEvent
+ sm_classwxNavigationKeyEvent__20wxNavigationKeyEvent
+ ;wxInitDialogEvent::sm_classwxInitDialogEvent
+ sm_classwxInitDialogEvent__17wxInitDialogEvent
+ ;wxHelpEvent::sm_classwxHelpEvent
+ sm_classwxHelpEvent__11wxHelpEvent
+ ;wxFocusEvent::sm_classwxFocusEvent
+ sm_classwxFocusEvent__12wxFocusEvent
+ ;wxCloseEvent::sm_classwxCloseEvent
+ sm_classwxCloseEvent__12wxCloseEvent
+ __vft16wxDropFilesEvent8wxObject
+ __vft11wxShowEvent8wxObject
+ __vft11wxMenuEvent8wxObject
+ ;wxNotifyEvent::CopyObject(wxObject&) const
+ CopyObject__13wxNotifyEventCFR8wxObject
+ ;wxCloseEvent::CopyObject(wxObject&) const
+ CopyObject__12wxCloseEventCFR8wxObject
+ ;wxCommandEvent::wxCommandEvent(int,int)
+ __ct__14wxCommandEventFiT1
+ ;wxScrollWinEvent::wxScrollWinEvent(int,int,int)
+ __ct__16wxScrollWinEventFiN21
+ ;wxMouseEvent::ButtonUp(int) const
+ ButtonUp__12wxMouseEventCFi
+ ;wxMouseEvent::ButtonDown(int) const
+ ButtonDown__12wxMouseEventCFi
+ ;wxConstructorForwxEraseEvent()
+ wxConstructorForwxEraseEvent__Fv
+ ;wxConstructorForwxShowEvent()
+ wxConstructorForwxShowEvent__Fv
+ ;wxConstructorForwxPaletteChangedEvent()
+ wxConstructorForwxPaletteChangedEvent__Fv
+ ;wxConstructorForwxMenuEvent()
+ wxConstructorForwxMenuEvent__Fv
+ ;wxConstructorForwxJoystickEvent()
+ wxConstructorForwxJoystickEvent__Fv
+ ;wxConstructorForwxIconizeEvent()
+ wxConstructorForwxIconizeEvent__Fv
+ ;wxConstructorForwxDropFilesEvent()
+ wxConstructorForwxDropFilesEvent__Fv
+ ;wxEvtHandler::sm_eventTableEntries
+ sm_eventTableEntries__12wxEvtHandler
+ ;wxWindowDestroyEvent::wxWindowDestroyEvent(wxWindow*)
+ __ct__20wxWindowDestroyEventFP8wxWindow
+ ;wxFindFocusDescendant(wxWindow*)
+ wxFindFocusDescendant__FP8wxWindow
+ ;wxEvtHandler::Connect(int,int,int,void( wxObject::*)(wxEvent&),wxObject*)
+ Connect__12wxEvtHandlerFiN21M8wxObjectFR7wxEvent_vP8wxObject
+ ;wxWindowDestroyEvent::sm_classwxWindowDestroyEvent
+ sm_classwxWindowDestroyEvent__20wxWindowDestroyEvent
+ ;wxSysColourChangedEvent::sm_classwxSysColourChangedEvent
+ sm_classwxSysColourChangedEvent__23wxSysColourChangedEvent
+ ;wxScrollEvent::sm_classwxScrollEvent
+ sm_classwxScrollEvent__13wxScrollEvent
+ ;wxMouseEvent::sm_classwxMouseEvent
+ sm_classwxMouseEvent__12wxMouseEvent
+ ;wxMenuEvent::sm_classwxMenuEvent
+ sm_classwxMenuEvent__11wxMenuEvent
+ ;wxJoystickEvent::sm_classwxJoystickEvent
+ sm_classwxJoystickEvent__15wxJoystickEvent
+ ;wxCommandEvent::sm_classwxCommandEvent
+ sm_classwxCommandEvent__14wxCommandEvent
+ __vft22wxQueryNewPaletteEvent8wxObject
+ __vft15wxActivateEvent8wxObject
+ __vft12wxEraseEvent8wxObject
+ ;wxQueryNewPaletteEvent::CopyObject(wxObject&) const
+ CopyObject__22wxQueryNewPaletteEventCFR8wxObject
+ ;wxScrollWinEvent::CopyObject(wxObject&) const
+ CopyObject__16wxScrollWinEventCFR8wxObject
+ ;wxMouseEvent::CopyObject(wxObject&) const
+ CopyObject__12wxMouseEventCFR8wxObject
+ ;wxEvtHandler::AddPendingEvent(wxEvent&)
+ AddPendingEvent__12wxEvtHandlerFR7wxEvent
+ ;wxMouseEvent::Button(int) const
+ Button__12wxMouseEventCFi
+ ;wxKeyEvent::wxKeyEvent(int)
+ __ct__10wxKeyEventFi
+ ;wxEvtHandler::wxEvtHandler()
+ __ct__12wxEvtHandlerFv
+ ;wxConstructorForwxWindowCreateEvent()
+ wxConstructorForwxWindowCreateEvent__Fv
+ ;wxConstructorForwxUpdateUIEvent()
+ wxConstructorForwxUpdateUIEvent__Fv
+ ;wxConstructorForwxSysColourChangedEvent()
+ wxConstructorForwxSysColourChangedEvent__Fv
+ ;wxConstructorForwxNavigationKeyEvent()
+ wxConstructorForwxNavigationKeyEvent__Fv
+ ;wxConstructorForwxHelpEvent()
+ wxConstructorForwxHelpEvent__Fv
+ ;wxEvtHandler::~wxEvtHandler()
+ __dt__12wxEvtHandlerFv
+ ;wxEvtHandler::GetEventTable() const
+ GetEventTable__12wxEvtHandlerCFv
+ ;wxEvtHandler::Disconnect(int,int,int,void( wxObject::*)(wxEvent&),wxObject*)
+ Disconnect__12wxEvtHandlerFiN21M8wxObjectFR7wxEvent_vP8wxObject
+ ;wxSizeEvent::sm_classwxSizeEvent
+ sm_classwxSizeEvent__11wxSizeEvent
+ ;wxPaletteChangedEvent::sm_classwxPaletteChangedEvent
+ sm_classwxPaletteChangedEvent__21wxPaletteChangedEvent
+ ;wxPaintEvent::sm_classwxPaintEvent
+ sm_classwxPaintEvent__12wxPaintEvent
+ ;wxMoveEvent::sm_classwxMoveEvent
+ sm_classwxMoveEvent__11wxMoveEvent
+ ;wxIconizeEvent::sm_classwxIconizeEvent
+ sm_classwxIconizeEvent__14wxIconizeEvent
+ __vft16wxScrollWinEvent8wxObject
+ __vft13wxNotifyEvent8wxObject
+ __vft12wxMouseEvent8wxObject
+ __vft12wxEvtHandler8wxObject
+ __vft11wxMoveEvent8wxObject
+ ;wxDropFilesEvent::CopyObject(wxObject&) const
+ CopyObject__16wxDropFilesEventCFR8wxObject
+ ;wxJoystickEvent::CopyObject(wxObject&) const
+ CopyObject__15wxJoystickEventCFR8wxObject
+ ;wxActivateEvent::CopyObject(wxObject&) const
+ CopyObject__15wxActivateEventCFR8wxObject
+ ;wxSizeEvent::CopyObject(wxObject&) const
+ CopyObject__11wxSizeEventCFR8wxObject
+ ;wxMenuEvent::CopyObject(wxObject&) const
+ CopyObject__11wxMenuEventCFR8wxObject
+ ;wxIdleEvent::CopyObject(wxObject&) const
+ CopyObject__11wxIdleEventCFR8wxObject
+ ;wxConstructorForwxCommandEvent()
+ wxConstructorForwxCommandEvent__Fv
+ ;wxConstructorForwxScrollWinEvent()
+ wxConstructorForwxScrollWinEvent__Fv
+ ;wxConstructorForwxPaintEvent()
+ wxConstructorForwxPaintEvent__Fv
+ ;wxConstructorForwxNotifyEvent()
+ wxConstructorForwxNotifyEvent__Fv
+ ;wxConstructorForwxCloseEvent()
+ wxConstructorForwxCloseEvent__Fv
+ ;wxEvtHandler::sm_classwxEvtHandler
+ sm_classwxEvtHandler__12wxEvtHandler
+ ;wxCommandEvent::CopyObject(wxObject&) const
+ CopyObject__14wxCommandEventCFR8wxObject
+ ;wxUpdateUIEvent::sm_classwxUpdateUIEvent
+ sm_classwxUpdateUIEvent__15wxUpdateUIEvent
+ ;wxQueryNewPaletteEvent::sm_classwxQueryNewPaletteEvent
+ sm_classwxQueryNewPaletteEvent__22wxQueryNewPaletteEvent
+ ;wxNotifyEvent::sm_classwxNotifyEvent
+ sm_classwxNotifyEvent__13wxNotifyEvent
+ ;wxMaximizeEvent::sm_classwxMaximizeEvent
+ sm_classwxMaximizeEvent__15wxMaximizeEvent
+ ;wxKeyEvent::sm_classwxKeyEvent
+ sm_classwxKeyEvent__10wxKeyEvent
+ ;wxEvent::sm_classwxEvent
+ sm_classwxEvent__7wxEvent
+ ;wxEraseEvent::sm_classwxEraseEvent
+ sm_classwxEraseEvent__12wxEraseEvent
+ __vft7wxEvent8wxObject
+ __vft21wxPaletteChangedEvent8wxObject
+ __vft14wxCommandEvent8wxObject
+ __vft11wxSizeEvent8wxObject
+ __vft10wxKeyEvent8wxObject
+ ;wxEvtHandler::SearchEventTable(wxEventTable&,wxEvent&)
+ SearchEventTable__12wxEvtHandlerFR12wxEventTableR7wxEvent
+ ;wxEvtHandler::ProcessEvent(wxEvent&)
+ ProcessEvent__12wxEvtHandlerFR7wxEvent
+ ;wxUpdateUIEvent::CopyObject(wxObject&) const
+ CopyObject__15wxUpdateUIEventCFR8wxObject
+ ;wxEraseEvent::CopyObject(wxObject&) const
+ CopyObject__12wxEraseEventCFR8wxObject
+ ;wxShowEvent::CopyObject(wxObject&) const
+ CopyObject__11wxShowEventCFR8wxObject
+ ;wxMoveEvent::CopyObject(wxObject&) const
+ CopyObject__11wxMoveEventCFR8wxObject
+ ;wxKeyEvent::CopyObject(wxObject&) const
+ CopyObject__10wxKeyEventCFR8wxObject
+ ;wxMouseEvent::wxMouseEvent(int)
+ __ct__12wxMouseEventFi
+ ;wxMouseEvent::ButtonIsDown(int) const
+ ButtonIsDown__12wxMouseEventCFi
+ ;wxMouseEvent::ButtonDClick(int) const
+ ButtonDClick__12wxMouseEventCFi
+ ;wxConstructorForwxEvtHandler()
+ wxConstructorForwxEvtHandler__Fv
+ wxPendingEventsLocker
+ ;wxConstructorForwxSizeEvent()
+ wxConstructorForwxSizeEvent__Fv
+ ;wxConstructorForwxMoveEvent()
+ wxConstructorForwxMoveEvent__Fv
+ ;wxConstructorForwxMouseEvent()
+ wxConstructorForwxMouseEvent__Fv
+ ;wxConstructorForwxMaximizeEvent()
+ wxConstructorForwxMaximizeEvent__Fv
+ ;wxConstructorForwxKeyEvent()
+ wxConstructorForwxKeyEvent__Fv
+ ;wxConstructorForwxInitDialogEvent()
+ wxConstructorForwxInitDialogEvent__Fv
+ ;wxConstructorForwxActivateEvent()
+ wxConstructorForwxActivateEvent__Fv
+ ;wxEvtHandler::ProcessPendingEvents()
+ ProcessPendingEvents__12wxEvtHandlerFv
+ ;wxWindowCreateEvent::wxWindowCreateEvent(wxWindow*)
+ __ct__19wxWindowCreateEventFP8wxWindow
+ wxPendingEvents
+ ;wxMouseEvent::GetLogicalPosition(const wxDC&) const
+ GetLogicalPosition__12wxMouseEventCFRC4wxDC
+ ;wxPaletteChangedEvent::CopyObject(wxObject&) const
+ CopyObject__21wxPaletteChangedEventCFR8wxObject
+ ;wxWindowCreateEvent::sm_classwxWindowCreateEvent
+ sm_classwxWindowCreateEvent__19wxWindowCreateEvent
+ ;wxShowEvent::sm_classwxShowEvent
+ sm_classwxShowEvent__11wxShowEvent
+ ;wxScrollWinEvent::sm_classwxScrollWinEvent
+ sm_classwxScrollWinEvent__16wxScrollWinEvent
+ ;wxIdleEvent::sm_classwxIdleEvent
+ sm_classwxIdleEvent__11wxIdleEvent
+ ;wxDropFilesEvent::sm_classwxDropFilesEvent
+ sm_classwxDropFilesEvent__16wxDropFilesEvent
+ ;wxActivateEvent::sm_classwxActivateEvent
+ sm_classwxActivateEvent__15wxActivateEvent
+ __vft15wxUpdateUIEvent8wxObject
+ __vft15wxJoystickEvent8wxObject
+ __vft12wxCloseEvent8wxObject
+ __vft11wxIdleEvent8wxObject
+ ;wxEvtHandler::SearchDynamicEventTable(wxEvent&)
+ SearchDynamicEventTable__12wxEvtHandlerFR7wxEvent
+ ;wxEvtHandler::ProcessThreadEvent(wxEvent&)
+ ProcessThreadEvent__12wxEvtHandlerFR7wxEvent
+ ;wxEvent::wxEvent(int)
+ __ct__7wxEventFi
+ ;wxScrollEvent::wxScrollEvent(int,int,int,int)
+ __ct__13wxScrollEventFiN31
+ ;wxConstructorForwxIdleEvent()
+ wxConstructorForwxIdleEvent__Fv
+ ;wxConstructorForwxWindowDestroyEvent()
+ wxConstructorForwxWindowDestroyEvent__Fv
+ ;wxConstructorForwxScrollEvent()
+ wxConstructorForwxScrollEvent__Fv
+ ;wxConstructorForwxQueryNewPaletteEvent()
+ wxConstructorForwxQueryNewPaletteEvent__Fv
+ ;wxConstructorForwxFocusEvent()
+ wxConstructorForwxFocusEvent__Fv
+ ;wxEvtHandler::sm_eventTable
+ sm_eventTable__12wxEvtHandler
+ ;From object file: G:\DEV\WX2\WXWINDOWS\src\common\extended.c
+ ;PUBDEFs (Symbols available from object file):
+ ConvertToIeeeExtended
+ ConvertFromIeeeExtended
+ ;From object file: ..\common\ffile.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFFile::Seek(long,wxSeekMode)
+ Seek__7wxFFileFl10wxSeekMode
+ ;wxFFile::Read(void*,unsigned int)
+ Read__7wxFFileFPvUi
+ ;wxFFile::Close()
+ Close__7wxFFileFv
+ ;wxFFile::Length() const
+ Length__7wxFFileCFv
+ ;wxFFile::wxFFile(const char*,const char*)
+ __ct__7wxFFileFPCcT1
+ ;wxFFile::Tell() const
+ Tell__7wxFFileCFv
+ ;wxFFile::Write(const void*,unsigned int)
+ Write__7wxFFileFPCvUi
+ ;wxFFile::Open(const char*,const char*)
+ Open__7wxFFileFPCcT1
+ ;wxFFile::Flush()
+ Flush__7wxFFileFv
+ ;wxFFile::ReadAll(wxString*)
+ ReadAll__7wxFFileFP8wxString
+ ;From object file: ..\common\file.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFile::Tell() const
+ Tell__6wxFileCFv
+ ;wxFile::Open(const char*,wxFile::OpenMode,int)
+ Open__6wxFileFPCcQ2_6wxFile8OpenModei
+ ;wxFile::Create(const char*,unsigned long,int)
+ Create__6wxFileFPCcUli
+ ;wxFile::Eof() const
+ Eof__6wxFileCFv
+ ;wxFile::Seek(long,wxSeekMode)
+ Seek__6wxFileFl10wxSeekMode
+ ;wxFile::Close()
+ Close__6wxFileFv
+ ;wxFile::Length() const
+ Length__6wxFileCFv
+ ;wxTempFile::Commit()
+ Commit__10wxTempFileFv
+ ;wxTempFile::Open(const wxString&)
+ Open__10wxTempFileFRC8wxString
+ ;wxFile::wxFile(const char*,wxFile::OpenMode)
+ __ct__6wxFileFPCcQ2_6wxFile8OpenMode
+ ;wxFile::Exists(const char*)
+ Exists__6wxFileFPCc
+ ;wxFile::Read(void*,long)
+ Read__6wxFileFPvl
+ ;wxFile::Write(const void*,unsigned int)
+ Write__6wxFileFPCvUi
+ ;wxFile::Access(const char*,wxFile::OpenMode)
+ Access__6wxFileFPCcQ2_6wxFile8OpenMode
+ ;wxFile::Flush()
+ Flush__6wxFileFv
+ ;wxTempFile::~wxTempFile()
+ __dt__10wxTempFileFv
+ ;wxTempFile::Discard()
+ Discard__10wxTempFileFv
+ ;wxTempFile::wxTempFile(const wxString&)
+ __ct__10wxTempFileFRC8wxString
+ ;From object file: ..\common\fileconf.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;ConfigEntry::SetValue(const wxString&,unsigned long)
+ SetValue__11ConfigEntryFRC8wxStringUl
+ ;wxFileConfig::Write(const wxString&,long)
+ Write__12wxFileConfigFRC8wxStringl
+ ;wxFileConfig::Read(const wxString&,long*) const
+ Read__12wxFileConfigCFRC8wxStringPl
+ ;wxFileConfig::GetNextGroup(wxString&,long&) const
+ GetNextGroup__12wxFileConfigCFR8wxStringRl
+ ;wxFileConfig::GetFirstEntry(wxString&,long&) const
+ GetFirstEntry__12wxFileConfigCFR8wxStringRl
+ ;wxFileConfig::DeleteEntry(const wxString&,unsigned long)
+ DeleteEntry__12wxFileConfigFRC8wxStringUl
+ ;wxFileConfig::Write(const wxString&,const wxString&)
+ Write__12wxFileConfigFRC8wxStringT1
+ ;ConfigEntry::ConfigEntry(ConfigGroup*,const wxString&,int)
+ __ct__11ConfigEntryFP11ConfigGroupRC8wxStringi
+ ;ConfigGroup::~ConfigGroup()
+ __dt__11ConfigGroupFv
+ ;ConfigGroup::GetFullName() const
+ GetFullName__11ConfigGroupCFv
+ ;ConfigGroup::FindEntry(const char*) const
+ FindEntry__11ConfigGroupCFPCc
+ ;ConfigEntry::SetLine(LineList*)
+ SetLine__11ConfigEntryFP8LineList
+ ;wxFileConfig::RenameGroup(const wxString&,const wxString&)
+ RenameGroup__12wxFileConfigFRC8wxStringT1
+ ;wxFileConfig::Init()
+ Init__12wxFileConfigFv
+ ;ConfigEntry::SetDirty()
+ SetDirty__11ConfigEntryFv
+ ;wxFileConfig::LineListAppend(const wxString&)
+ LineListAppend__12wxFileConfigFRC8wxString
+ ;ConfigGroup::DeleteSubgroupByName(const char*)
+ DeleteSubgroupByName__11ConfigGroupFPCc
+ ;wxFileConfig::DeleteGroup(const wxString&)
+ DeleteGroup__12wxFileConfigFRC8wxString
+ ;wxFileConfig::Parse(wxTextFile&,unsigned long)
+ Parse__12wxFileConfigFR10wxTextFileUl
+ ;ConfigGroup::SetLine(LineList*)
+ SetLine__11ConfigGroupFP8LineList
+ ;wxFileConfig::Flush(unsigned long)
+ Flush__12wxFileConfigFUl
+ ;ConfigGroup::AddEntry(const wxString&,int)
+ AddEntry__11ConfigGroupFRC8wxStringi
+ ;wxFileConfig::RenameEntry(const wxString&,const wxString&)
+ RenameEntry__12wxFileConfigFRC8wxStringT1
+ ;wxFileConfig::Read(const wxString&,wxString*,const wxString&) const
+ Read__12wxFileConfigCFRC8wxStringP8wxStringT1
+ ;wxFileConfig::SetRootPath()
+ SetRootPath__12wxFileConfigFv
+ ;wxFileConfig::GetLocalFileName(const char*)
+ GetLocalFileName__12wxFileConfigFPCc
+ ;ConfigGroup::ConfigGroup(ConfigGroup*,const wxString&,wxFileConfig*)
+ __ct__11ConfigGroupFP11ConfigGroupRC8wxStringP12wxFileConfig
+ ;wxFileConfig::GetFirstGroup(wxString&,long&) const
+ GetFirstGroup__12wxFileConfigCFR8wxStringRl
+ ;wxFileConfig::GetNumberOfGroups(unsigned long) const
+ GetNumberOfGroups__12wxFileConfigCFUl
+ __vft12wxFileConfig12wxConfigBase
+ ;wxFileConfig::~wxFileConfig()
+ __dt__12wxFileConfigFv
+ ;wxFileConfig::LineListIsEmpty()
+ LineListIsEmpty__12wxFileConfigFv
+ ;ConfigGroup::GetLastGroupLine()
+ GetLastGroupLine__11ConfigGroupFv
+ ;ConfigGroup::GetGroupLine()
+ GetGroupLine__11ConfigGroupFv
+ ;ConfigGroup::FindSubgroup(const char*) const
+ FindSubgroup__11ConfigGroupCFPCc
+ ;wxFileConfig::Read(const wxString&,wxString*) const
+ Read__12wxFileConfigCFRC8wxStringP8wxString
+ ;wxFileConfig::HasEntry(const wxString&) const
+ HasEntry__12wxFileConfigCFRC8wxString
+ ;ConfigGroup::AddSubgroup(const wxString&)
+ AddSubgroup__11ConfigGroupFRC8wxString
+ ;wxFileConfig::wxFileConfig(const wxString&,const wxString&,const wxString&,const wxString&,long)
+ __ct__12wxFileConfigFRC8wxStringN31l
+ ;wxFileConfig::LineListRemove(LineList*)
+ LineListRemove__12wxFileConfigFP8LineList
+ ;wxFileConfig::LineListInsert(const wxString&,LineList*)
+ LineListInsert__12wxFileConfigFRC8wxStringP8LineList
+ ;wxFileConfig::GetNumberOfEntries(unsigned long) const
+ GetNumberOfEntries__12wxFileConfigCFUl
+ ;wxFileConfig::GetNextEntry(wxString&,long&) const
+ GetNextEntry__12wxFileConfigCFR8wxStringRl
+ ;ConfigGroup::DeleteSubgroup(ConfigGroup*)
+ DeleteSubgroup__11ConfigGroupFP11ConfigGroup
+ ;wxFileConfig::GetGlobalDir()
+ GetGlobalDir__12wxFileConfigFv
+ ;ConfigGroup::SetDirty()
+ SetDirty__11ConfigGroupFv
+ ;wxFileConfig::GetLocalDir()
+ GetLocalDir__12wxFileConfigFv
+ ;ConfigGroup::GetLastEntryLine()
+ GetLastEntryLine__11ConfigGroupFv
+ ;wxFileConfig::DeleteAll()
+ DeleteAll__12wxFileConfigFv
+ ;wxFileConfig::CleanUp()
+ CleanUp__12wxFileConfigFv
+ ;wxFileConfig::GetGlobalFileName(const char*)
+ GetGlobalFileName__12wxFileConfigFPCc
+ ;wxFileConfig::SetPath(const wxString&)
+ SetPath__12wxFileConfigFRC8wxString
+ ;ConfigGroup::Rename(const wxString&)
+ Rename__11ConfigGroupFRC8wxString
+ ;wxFileConfig::HasGroup(const wxString&) const
+ HasGroup__12wxFileConfigCFRC8wxString
+ ;ConfigGroup::DeleteEntry(const char*)
+ DeleteEntry__11ConfigGroupFPCc
+ ;From object file: ..\common\filefn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCopyFile(const wxString&,const wxString&)
+ wxCopyFile__FRC8wxStringT1
+ ;wxSplitPath(const char*,wxString*,wxString*,wxString*)
+ wxSplitPath__FPCcP8wxStringN22
+ ;wxPathList::Add(const wxString&)
+ Add__10wxPathListFRC8wxString
+ ;wxStripExtension(char*)
+ wxStripExtension__FPc
+ ;wxPathOnly(const wxString&)
+ wxPathOnly__FRC8wxString
+ ;wxPathExists(const char*)
+ wxPathExists__FPCc
+ ;wxPathList::FindValidPath(const wxString&)
+ FindValidPath__10wxPathListFRC8wxString
+ ;wxPathList::FindAbsoluteValidPath(const wxString&)
+ FindAbsoluteValidPath__10wxPathListFRC8wxString
+ ;wxPathList::AddEnvList(const wxString&)
+ AddEnvList__10wxPathListFRC8wxString
+ ;wxFileExists(const wxString&)
+ wxFileExists__FRC8wxString
+ ;wxSetWorkingDirectory(const wxString&)
+ wxSetWorkingDirectory__FRC8wxString
+ ;wxIsWild(const wxString&)
+ wxIsWild__FRC8wxString
+ ;wxEndsWithPathSeparator(const char*)
+ wxEndsWithPathSeparator__FPCc
+ ;wxCopyAbsolutePath(const wxString&)
+ wxCopyAbsolutePath__FRC8wxString
+ ;wxGetWorkingDirectory(char*,int)
+ wxGetWorkingDirectory__FPci
+ ;wxRenameFile(const wxString&,const wxString&)
+ wxRenameFile__FRC8wxStringT1
+ ;wxFindFirstFile(const char*,int)
+ wxFindFirstFile__FPCci
+ ;wxFindNextFile()
+ wxFindNextFile__Fv
+ ;wxFindFileInPath(wxString*,const char*,const char*)
+ wxFindFileInPath__FP8wxStringPCcT2
+ ;wxPathList::EnsureFileAccessible(const wxString&)
+ EnsureFileAccessible__10wxPathListFRC8wxString
+ ;wxRealPath(char*)
+ wxRealPath__FPc
+ ;wxFileNameFromPath(char*)
+ wxFileNameFromPath__FPc
+ ;wxConcatFiles(const wxString&,const wxString&,const wxString&)
+ wxConcatFiles__FRC8wxStringN21
+ ;wxConstructorForwxPathList()
+ wxConstructorForwxPathList__Fv
+ ;wxPathList::Member(const wxString&)
+ Member__10wxPathListFRC8wxString
+ ;wxUnix2DosFilename(char*)
+ wxUnix2DosFilename__FPc
+ ;wxRemoveFile(const wxString&)
+ wxRemoveFile__FRC8wxString
+ ;wxGetTempFileName(const wxString&,wxString&)
+ wxGetTempFileName__FRC8wxStringR8wxString
+ ;wxGetTempFileName(const wxString&,char*)
+ wxGetTempFileName__FRC8wxStringPc
+ ;wxFileNameFromPath(const wxString&)
+ wxFileNameFromPath__FRC8wxString
+ ;wxFileModificationTime(const wxString&)
+ wxFileModificationTime__FRC8wxString
+ ;wxExpandPath(char*,const char*)
+ wxExpandPath__FPcPCc
+ ;wxDos2UnixFilename(char*)
+ wxDos2UnixFilename__FPc
+ ;wxMatchWild(const wxString&,const wxString&,unsigned long)
+ wxMatchWild__FRC8wxStringT1Ul
+ ;wxPathList::sm_classwxPathList
+ sm_classwxPathList__10wxPathList
+ ;wxContractPath(const wxString&,const wxString&,const wxString&)
+ wxContractPath__FRC8wxStringN21
+ ;wxRmdir(const wxString&,int)
+ wxRmdir__FRC8wxStringi
+ ;wxMkdir(const wxString&,int)
+ wxMkdir__FRC8wxStringi
+ ;wxGetCwd()
+ wxGetCwd__Fv
+ ;wxGetOSDirectory()
+ wxGetOSDirectory__Fv
+ ;wxIsAbsolutePath(const wxString&)
+ wxIsAbsolutePath__FRC8wxString
+ ;wxStripExtension(wxString&)
+ wxStripExtension__FR8wxString
+ ;wxPathOnly(char*)
+ wxPathOnly__FPc
+ ;From object file: ..\common\filesys.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft19wxFileSystemHandler8wxObject
+ __vft16wxLocalFSHandler8wxObject
+ ;wxFileSystem::FindFirst(const wxString&,int)
+ FindFirst__12wxFileSystemFRC8wxStringi
+ ;wxFileSystem::sm_classwxFileSystem
+ sm_classwxFileSystem__12wxFileSystem
+ ;wxLocalFSHandler::FindNext()
+ FindNext__16wxLocalFSHandlerFv
+ ;wxFileSystemHandler::GetMimeTypeFromExt(const wxString&)
+ GetMimeTypeFromExt__19wxFileSystemHandlerFRC8wxString
+ ;wxFileSystem::m_Handlers
+ m_Handlers__12wxFileSystem
+ ;wxFileSystemModule::sm_classwxFileSystemModule
+ sm_classwxFileSystemModule__18wxFileSystemModule
+ ;wxFileSystemHandler::FindNext()
+ FindNext__19wxFileSystemHandlerFv
+ ;wxFileSystem::CleanUpHandlers()
+ CleanUpHandlers__12wxFileSystemFv
+ ;wxFileSystemHandler::GetLeftLocation(const wxString&) const
+ GetLeftLocation__19wxFileSystemHandlerCFRC8wxString
+ ;wxConstructorForwxFileSystem()
+ wxConstructorForwxFileSystem__Fv
+ ;wxFileSystemHandler::GetProtocol(const wxString&) const
+ GetProtocol__19wxFileSystemHandlerCFRC8wxString
+ ;wxFileSystemHandler::GetAnchor(const wxString&) const
+ GetAnchor__19wxFileSystemHandlerCFRC8wxString
+ ;wxFileSystemHandler::FindFirst(const wxString&,int)
+ FindFirst__19wxFileSystemHandlerFRC8wxStringi
+ ;wxFileSystem::FindNext()
+ FindNext__12wxFileSystemFv
+ ;wxConstructorForwxFileSystemModule()
+ wxConstructorForwxFileSystemModule__Fv
+ ;wxFileSystem::AddHandler(wxFileSystemHandler*)
+ AddHandler__12wxFileSystemFP19wxFileSystemHandler
+ ;wxFileSystemHandler::GetRightLocation(const wxString&) const
+ GetRightLocation__19wxFileSystemHandlerCFRC8wxString
+ ;wxLocalFSHandler::OpenFile(wxFileSystem&,const wxString&)
+ OpenFile__16wxLocalFSHandlerFR12wxFileSystemRC8wxString
+ ;wxLocalFSHandler::CanOpen(const wxString&)
+ CanOpen__16wxLocalFSHandlerFRC8wxString
+ ;wxFileSystem::ChangePathTo(const wxString&,unsigned long)
+ ChangePathTo__12wxFileSystemFRC8wxStringUl
+ ;wxLocalFSHandler::FindFirst(const wxString&,int)
+ FindFirst__16wxLocalFSHandlerFRC8wxStringi
+ ;wxFileSystemHandler::sm_classwxFileSystemHandler
+ sm_classwxFileSystemHandler__19wxFileSystemHandler
+ ;wxFileSystem::OpenFile(const wxString&)
+ OpenFile__12wxFileSystemFRC8wxString
+ ;From object file: ..\common\fontcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFont::operator=(const wxFont&)
+ __as__6wxFontFRC6wxFont
+ ;wxFontBase::GetStyleString() const
+ GetStyleString__10wxFontBaseCFv
+ ;wxFontBase::GetWeightString() const
+ GetWeightString__10wxFontBaseCFv
+ ;wxFontBase::ms_encodingDefault
+ ms_encodingDefault__10wxFontBase
+ ;wxFontBase::operator==(const wxFont&) const
+ __eq__10wxFontBaseCFRC6wxFont
+ ;wxFontBase::operator!=(const wxFont&) const
+ __ne__10wxFontBaseCFRC6wxFont
+ ;wxFontBase::GetFamilyString() const
+ GetFamilyString__10wxFontBaseCFv
+ ;wxFontBase::New(int,int,int,int,unsigned long,const wxString&,wxFontEncoding)
+ New__10wxFontBaseFiN31UlRC8wxString14wxFontEncoding
+ ;From object file: ..\common\fontmap.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFontMapper::GetConfig()
+ GetConfig__12wxFontMapperFv
+ __vft12wxFontMapper
+ ;wxFontMapper::GetConfigPath()
+ GetConfigPath__12wxFontMapperFv
+ ;wxFontMapper::RestorePath(const wxString&)
+ RestorePath__12wxFontMapperFRC8wxString
+ ;wxFontMapper::SetConfigPath(const wxString&)
+ SetConfigPath__12wxFontMapperFRC8wxString
+ ;wxFontMapper::CharsetToEncoding(const wxString&,unsigned long)
+ CharsetToEncoding__12wxFontMapperFRC8wxStringUl
+ ;wxFontMapper::GetAltForEncoding(wxFontEncoding,wxFontEncoding*,const wxString&,unsigned long)
+ GetAltForEncoding__12wxFontMapperF14wxFontEncodingP14wxFontEncodingRC8wxStringUl
+ ;wxFontMapper::ChangePath(const wxString&,wxString*)
+ ChangePath__12wxFontMapperFRC8wxStringP8wxString
+ ;wxFontMapper::GetEncodingName(wxFontEncoding)
+ GetEncodingName__12wxFontMapperF14wxFontEncoding
+ ;wxFontMapper::~wxFontMapper()
+ __dt__12wxFontMapperFv
+ wxTheFontMapper
+ ;wxFontMapper::GetDefaultConfigPath()
+ GetDefaultConfigPath__12wxFontMapperFv
+ ;wxFontMapper::GetEncodingDescription(wxFontEncoding)
+ GetEncodingDescription__12wxFontMapperF14wxFontEncoding
+ ;wxFontMapper::TestAltEncoding(const wxString&,wxFontEncoding,wxNativeEncodingInfo*)
+ TestAltEncoding__12wxFontMapperFRC8wxString14wxFontEncodingP20wxNativeEncodingInfo
+ ;wxFontMapper::GetAltForEncoding(wxFontEncoding,wxNativeEncodingInfo*,const wxString&,unsigned long)
+ GetAltForEncoding__12wxFontMapperF14wxFontEncodingP20wxNativeEncodingInfoRC8wxStringUl
+ ;wxFontMapper::wxFontMapper()
+ __ct__12wxFontMapperFv
+ ;wxFontMapper::IsEncodingAvailable(wxFontEncoding,const wxString&)
+ IsEncodingAvailable__12wxFontMapperF14wxFontEncodingRC8wxString
+ ;From object file: ..\common\framecmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFrameBase::OnIdle(wxIdleEvent&)
+ OnIdle__11wxFrameBaseFR11wxIdleEvent
+ ;wxFrameBase::DoScreenToClient(int*,int*) const
+ DoScreenToClient__11wxFrameBaseCFPiT1
+ ;wxFrameBase::DeleteAllBars()
+ DeleteAllBars__11wxFrameBaseFv
+ ;wxFrameBase::CreateStatusBar(int,long,int,const wxString&)
+ CreateStatusBar__11wxFrameBaseFilT1RC8wxString
+ ;wxFrameBase::OnCreateToolBar(long,int,const wxString&)
+ OnCreateToolBar__11wxFrameBaseFliRC8wxString
+ ;wxFrameBase::OnCreateStatusBar(int,long,int,const wxString&)
+ OnCreateStatusBar__11wxFrameBaseFilT1RC8wxString
+ ;wxFrameBase::MakeModal(unsigned long)
+ MakeModal__11wxFrameBaseFUl
+ ;wxFrameBase::OnSize(wxSizeEvent&)
+ OnSize__11wxFrameBaseFR11wxSizeEvent
+ ;wxFrameBase::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__11wxFrameBaseFR12wxCloseEvent
+ ;wxFrameBase::sm_eventTable
+ sm_eventTable__11wxFrameBase
+ ;wxFrameBase::GetClientAreaOrigin() const
+ GetClientAreaOrigin__11wxFrameBaseCFv
+ ;wxFrameBase::DoMenuUpdates()
+ DoMenuUpdates__11wxFrameBaseFv
+ ;wxFrameBase::DoMenuUpdates(wxMenu*,wxWindow*)
+ DoMenuUpdates__11wxFrameBaseFP6wxMenuP8wxWindow
+ ;wxFrameBase::ProcessCommand(int)
+ ProcessCommand__11wxFrameBaseFi
+ ;wxFrameBase::SetStatusWidths(int,const int*)
+ SetStatusWidths__11wxFrameBaseFiPCi
+ ;wxFrameBase::wxFrameBase()
+ __ct__11wxFrameBaseFv
+ ;wxFrameBase::CreateToolBar(long,int,const wxString&)
+ CreateToolBar__11wxFrameBaseFliRC8wxString
+ ;wxFrameBase::OnMenuHighlight(wxMenuEvent&)
+ OnMenuHighlight__11wxFrameBaseFR11wxMenuEvent
+ ;wxFrameBase::ShowMenuHelp(wxStatusBar*,int)
+ ShowMenuHelp__11wxFrameBaseFP11wxStatusBari
+ ;wxFrameBase::GetEventTable() const
+ GetEventTable__11wxFrameBaseCFv
+ __vft11wxFrameBase8wxObject
+ ;wxFrameBase::DoClientToScreen(int*,int*) const
+ DoClientToScreen__11wxFrameBaseCFPiT1
+ ;wxFrameBase::sm_eventTableEntries
+ sm_eventTableEntries__11wxFrameBase
+ ;wxFrameBase::SetStatusText(const wxString&,int)
+ SetStatusText__11wxFrameBaseFRC8wxStringi
+ ;wxFrameBase::Destroy()
+ Destroy__11wxFrameBaseFv
+ ;wxFrameBase::New(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ New__11wxFrameBaseFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;From object file: ..\common\fs_inet.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxInternetFSHandler::OpenFile(wxFileSystem&,const wxString&)
+ OpenFile__19wxInternetFSHandlerFR12wxFileSystemRC8wxString
+ __vft19wxInternetFSHandler8wxObject
+ ;wxFileSystemInternetModule::sm_classwxFileSystemInternetModule
+ sm_classwxFileSystemInternetModule__26wxFileSystemInternetModule
+ ;wxConstructorForwxFileSystemInternetModule()
+ wxConstructorForwxFileSystemInternetModule__Fv
+ ;wxInternetFSHandler::~wxInternetFSHandler()
+ __dt__19wxInternetFSHandlerFv
+ ;wxInternetFSHandler::CanOpen(const wxString&)
+ CanOpen__19wxInternetFSHandlerFRC8wxString
+ ;From object file: ..\common\fs_mem.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMemoryFSHandler::AddFile(const wxString&,wxImage&,long)
+ AddFile__17wxMemoryFSHandlerFRC8wxStringR7wxImagel
+ ;wxMemoryFSHandler::AddFile(const wxString&,const wxBitmap&,long)
+ AddFile__17wxMemoryFSHandlerFRC8wxStringRC8wxBitmapl
+ ;wxMemoryFSHandler::FindFirst(const wxString&,int)
+ FindFirst__17wxMemoryFSHandlerFRC8wxStringi
+ ;wxMemoryFSHandler::AddFile(const wxString&,const wxString&)
+ AddFile__17wxMemoryFSHandlerFRC8wxStringT1
+ ;wxMemoryFSHandler::~wxMemoryFSHandler()
+ __dt__17wxMemoryFSHandlerFv
+ ;wxMemoryFSHandler::m_Hash
+ m_Hash__17wxMemoryFSHandler
+ ;wxMemoryFSHandler::CanOpen(const wxString&)
+ CanOpen__17wxMemoryFSHandlerFRC8wxString
+ ;wxMemoryFSHandler::RemoveFile(const wxString&)
+ RemoveFile__17wxMemoryFSHandlerFRC8wxString
+ ;wxMemoryFSHandler::FindNext()
+ FindNext__17wxMemoryFSHandlerFv
+ __vft17wxMemoryFSHandler8wxObject
+ ;wxMemoryFSHandler::AddFile(const wxString&,const void*,unsigned int)
+ AddFile__17wxMemoryFSHandlerFRC8wxStringPCvUi
+ ;wxMemoryFSHandler::wxMemoryFSHandler()
+ __ct__17wxMemoryFSHandlerFv
+ ;wxMemoryFSHandler::OpenFile(wxFileSystem&,const wxString&)
+ OpenFile__17wxMemoryFSHandlerFR12wxFileSystemRC8wxString
+ ;wxMemoryFSHandler::CheckHash(const wxString&)
+ CheckHash__17wxMemoryFSHandlerFRC8wxString
+ ;From object file: ..\common\fs_zip.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft14wxZipFSHandler8wxObject
+ ;wxZipFSHandler::FindFirst(const wxString&,int)
+ FindFirst__14wxZipFSHandlerFRC8wxStringi
+ ;wxZipFSHandler::CanOpen(const wxString&)
+ CanOpen__14wxZipFSHandlerFRC8wxString
+ ;wxZipFSHandler::OpenFile(wxFileSystem&,const wxString&)
+ OpenFile__14wxZipFSHandlerFR12wxFileSystemRC8wxString
+ ;wxZipFSHandler::wxZipFSHandler()
+ __ct__14wxZipFSHandlerFv
+ ;wxZipFSHandler::FindNext()
+ FindNext__14wxZipFSHandlerFv
+ ;wxZipFSHandler::~wxZipFSHandler()
+ __dt__14wxZipFSHandlerFv
+ ;wxZipFSHandler::DoFind()
+ DoFind__14wxZipFSHandlerFv
+ ;From object file: ..\common\ftp.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFTP::g_proto_wxFTP
+ g_proto_wxFTP__5wxFTP
+ ;wxFTP::Abort()
+ Abort__5wxFTPFv
+ ;wxFTP::GetResult(char)
+ GetResult__5wxFTPFc
+ ;wxFTP::GetList(const wxString&)
+ GetList__5wxFTPFRC8wxString
+ ;wxFTP::GetInputStream(const wxString&)
+ GetInputStream__5wxFTPFRC8wxString
+ ;wxFTP::Connect(wxSockAddress&,unsigned long)
+ Connect__5wxFTPFR13wxSockAddressUl
+ __vft5wxFTP8wxObject
+ ;wxFTP::~wxFTP()
+ __dt__5wxFTPFv
+ ;wxFTP::Close()
+ Close__5wxFTPFv
+ ;wxFTP::MkDir(const wxString&)
+ MkDir__5wxFTPFRC8wxString
+ ;wxFTP::Rename(const wxString&,const wxString&)
+ Rename__5wxFTPFRC8wxStringT1
+ ;wxFTP::wxFTP()
+ __ct__5wxFTPFv
+ ;wxFTP::GetPort()
+ GetPort__5wxFTPFv
+ ;wxFTP::Connect(const wxString&)
+ Connect__5wxFTPFRC8wxString
+ ;wxFTP::RmFile(const wxString&)
+ RmFile__5wxFTPFRC8wxString
+ ;wxFTP::RmDir(const wxString&)
+ RmDir__5wxFTPFRC8wxString
+ ;wxFTP::ChDir(const wxString&)
+ ChDir__5wxFTPFRC8wxString
+ ;wxConstructorForwxFTP()
+ wxConstructorForwxFTP__Fv
+ ;wxFTP::Pwd()
+ Pwd__5wxFTPFv
+ ;wxFTP::SendCommand(const wxString&,char)
+ SendCommand__5wxFTPFRC8wxStringc
+ ;wxFTP::GetOutputStream(const wxString&)
+ GetOutputStream__5wxFTPFRC8wxString
+ ;wxFTP::GetList(wxArrayString&,const wxString&)
+ GetList__5wxFTPFR13wxArrayStringRC8wxString
+ ;wxFTP::sm_classwxFTP
+ sm_classwxFTP__5wxFTP
+ ;From object file: ..\common\gdicmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBrushList::AddBrush(wxBrush*)
+ AddBrush__11wxBrushListFP7wxBrush
+ __vft10wxFontList8wxObject
+ ;wxBitmapList::RemoveBitmap(wxBitmap*)
+ RemoveBitmap__12wxBitmapListFP8wxBitmap
+ ;wxConstructorForwxPenList()
+ wxConstructorForwxPenList__Fv
+ ;wxGetDisplaySizeMM()
+ wxGetDisplaySizeMM__Fv
+ ;wxDeleteStockObjects()
+ wxDeleteStockObjects__Fv
+ ;wxConstructorForwxBitmapList()
+ wxConstructorForwxBitmapList__Fv
+ ;wxPenList::FindOrCreatePen(const wxColour&,int,int)
+ FindOrCreatePen__9wxPenListFRC8wxColouriT2
+ ;wxColourDatabase::FindName(const wxColour&) const
+ FindName__16wxColourDatabaseCFRC8wxColour
+ ;wxPenList::AddPen(wxPen*)
+ AddPen__9wxPenListFP5wxPen
+ __vft9wxPenList8wxObject
+ ;wxBitmapList::sm_classwxBitmapList
+ sm_classwxBitmapList__12wxBitmapList
+ __vft15wxResourceCache8wxObject
+ ;wxColourDatabase::wxColourDatabase(int)
+ __ct__16wxColourDatabaseFi
+ ;wxDCBase::sm_classwxDCBase
+ sm_classwxDCBase__8wxDCBase
+ ;wxColourDatabase::sm_classwxColourDatabase
+ sm_classwxColourDatabase__16wxColourDatabase
+ ;wxConstructorForwxFontList()
+ wxConstructorForwxFontList__Fv
+ ;wxInitializeStockObjects()
+ wxInitializeStockObjects__Fv
+ ;wxInitializeStockLists()
+ wxInitializeStockLists__Fv
+ ;wxConstructorForwxResourceCache()
+ wxConstructorForwxResourceCache__Fv
+ ;wxPenList::~wxPenList()
+ __dt__9wxPenListFv
+ ;wxRect::operator==(const wxRect&) const
+ __eq__6wxRectCFRC6wxRect
+ ;wxPenList::sm_classwxPenList
+ sm_classwxPenList__9wxPenList
+ __vft11wxBrushList8wxObject
+ ;wxRect::operator+=(const wxRect&)
+ __apl__6wxRectFRC6wxRect
+ ;wxFontList::RemoveFont(wxFont*)
+ RemoveFont__10wxFontListFP6wxFont
+ ;wxBrushList::RemoveBrush(wxBrush*)
+ RemoveBrush__11wxBrushListFP7wxBrush
+ ;wxFontList::AddFont(wxFont*)
+ AddFont__10wxFontListFP6wxFont
+ ;wxBitmapList::AddBitmap(wxBitmap*)
+ AddBitmap__12wxBitmapListFP8wxBitmap
+ ;wxBitmapList::wxBitmapList()
+ __ct__12wxBitmapListFv
+ ;wxDeleteStockLists()
+ wxDeleteStockLists__Fv
+ ;wxResourceCache::~wxResourceCache()
+ __dt__15wxResourceCacheFv
+ ;wxFontList::~wxFontList()
+ __dt__10wxFontListFv
+ ;wxBrushList::sm_classwxBrushList
+ sm_classwxBrushList__11wxBrushList
+ __vft16wxColourDatabase8wxObject
+ ;wxRect::wxRect(const wxPoint&,const wxPoint&)
+ __ct__6wxRectFRC7wxPointT1
+ ;wxRect::wxRect(const wxPoint&,const wxSize&)
+ __ct__6wxRectFRC7wxPointRC6wxSize
+ ;wxBrushList::FindOrCreateBrush(const wxColour&,int)
+ FindOrCreateBrush__11wxBrushListFRC8wxColouri
+ ;wxConstructorForwxBrushList()
+ wxConstructorForwxBrushList__Fv
+ ;wxColourDatabase::~wxColourDatabase()
+ __dt__16wxColourDatabaseFv
+ ;wxBitmapList::~wxBitmapList()
+ __dt__12wxBitmapListFv
+ ;wxBrushList::~wxBrushList()
+ __dt__11wxBrushListFv
+ ;wxPenList::RemovePen(wxPen*)
+ RemovePen__9wxPenListFP5wxPen
+ ;wxColourDatabase::Initialize()
+ Initialize__16wxColourDatabaseFv
+ ;wxColourDatabase::FindColour(const wxString&)
+ FindColour__16wxColourDatabaseFRC8wxString
+ ;wxRect::operator+(const wxRect&) const
+ __pl__6wxRectCFRC6wxRect
+ ;wxFontList::sm_classwxFontList
+ sm_classwxFontList__10wxFontList
+ __vft12wxBitmapList8wxObject
+ ;wxRect::Inside(int,int) const
+ Inside__6wxRectCFiT1
+ ;wxResourceCache::sm_classwxResourceCache
+ sm_classwxResourceCache__15wxResourceCache
+ ;wxGetDisplaySize()
+ wxGetDisplaySize__Fv
+ ;wxFontList::FindOrCreateFont(int,int,int,int,unsigned long,const wxString&,wxFontEncoding)
+ FindOrCreateFont__10wxFontListFiN31UlRC8wxString14wxFontEncoding
+ ;From object file: ..\common\geometry.cpp
+ ;From object file: ..\common\gifdecod.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGIFDecoder::wxGIFDecoder(wxInputStream*,unsigned long)
+ __ct__12wxGIFDecoderFP13wxInputStreamUl
+ ;wxGIFDecoder::GoFrame(int)
+ GoFrame__12wxGIFDecoderFi
+ ;wxGIFDecoder::GetWidth() const
+ GetWidth__12wxGIFDecoderCFv
+ ;wxGIFDecoder::ReadGIF()
+ ReadGIF__12wxGIFDecoderFv
+ ;wxGIFDecoder::GetTransparentColour() const
+ GetTransparentColour__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GetPalette() const
+ GetPalette__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GetLogicalScreenWidth() const
+ GetLogicalScreenWidth__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GetLogicalScreenHeight() const
+ GetLogicalScreenHeight__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GetLeft() const
+ GetLeft__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GoPrevFrame(unsigned long)
+ GoPrevFrame__12wxGIFDecoderFUl
+ ;wxGIFDecoder::GetData() const
+ GetData__12wxGIFDecoderCFv
+ ;wxGIFDecoder::dgif(GIFImage*,int,int)
+ dgif__12wxGIFDecoderFP8GIFImageiT2
+ ;wxGIFDecoder::GetNumberOfFrames() const
+ GetNumberOfFrames__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GetBackgroundColour() const
+ GetBackgroundColour__12wxGIFDecoderCFv
+ ;wxGIFDecoder::getcode(int,int)
+ getcode__12wxGIFDecoderFiT1
+ ;wxGIFDecoder::Destroy()
+ Destroy__12wxGIFDecoderFv
+ ;wxGIFDecoder::GetHeight() const
+ GetHeight__12wxGIFDecoderCFv
+ ;wxGIFDecoder::CanRead()
+ CanRead__12wxGIFDecoderFv
+ ;wxGIFDecoder::~wxGIFDecoder()
+ __dt__12wxGIFDecoderFv
+ ;wxGIFDecoder::GoLastFrame()
+ GoLastFrame__12wxGIFDecoderFv
+ ;wxGIFDecoder::GetFrameIndex() const
+ GetFrameIndex__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GoNextFrame(unsigned long)
+ GoNextFrame__12wxGIFDecoderFUl
+ ;wxGIFDecoder::ConvertToImage(wxImage*) const
+ ConvertToImage__12wxGIFDecoderCFP7wxImage
+ ;wxGIFDecoder::GetTop() const
+ GetTop__12wxGIFDecoderCFv
+ ;wxGIFDecoder::IsAnimation() const
+ IsAnimation__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GoFirstFrame()
+ GoFirstFrame__12wxGIFDecoderFv
+ ;wxGIFDecoder::GetDisposalMethod() const
+ GetDisposalMethod__12wxGIFDecoderCFv
+ ;wxGIFDecoder::GetDelay() const
+ GetDelay__12wxGIFDecoderCFv
+ ;From object file: ..\common\hash.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHashTableBase::DeleteContents(unsigned long)
+ DeleteContents__15wxHashTableBaseFUl
+ ;wxHashTable::Delete(long)
+ Delete__11wxHashTableFl
+ ;wxHashTableBase::Create(wxKeyType,unsigned int)
+ Create__15wxHashTableBaseF9wxKeyTypeUi
+ ;wxHashTableBase::GetNode(long,long) const
+ GetNode__15wxHashTableBaseCFlT1
+ ;wxHashTable::Delete(long,int)
+ Delete__11wxHashTableFli
+ ;wxHashTableLong::Destroy()
+ Destroy__15wxHashTableLongFv
+ ;wxStringHashTable::~wxStringHashTable()
+ __dt__17wxStringHashTableFv
+ ;wxHashTable::Delete(const char*)
+ Delete__11wxHashTableFPCc
+ ;wxHashTableLong::Get(long) const
+ Get__15wxHashTableLongCFl
+ __vft11wxHashTable8wxObject
+ ;wxHashTable::Put(long,wxObject*)
+ Put__11wxHashTableFlP8wxObject
+ ;wxHashTable::Get(long) const
+ Get__11wxHashTableCFl
+ ;wxHashTable::DeleteContents(unsigned long)
+ DeleteContents__11wxHashTableFUl
+ ;wxHashTableLong::Put(long,long)
+ Put__15wxHashTableLongFlT1
+ ;wxHashTable::sm_classwxHashTable
+ sm_classwxHashTable__11wxHashTable
+ ;wxHashTable::Create(int,int)
+ Create__11wxHashTableFiT1
+ ;wxConstructorForwxHashTable()
+ wxConstructorForwxHashTable__Fv
+ ;wxHashTable::BeginFind()
+ BeginFind__11wxHashTableFv
+ ;wxHashTable::Get(const char*) const
+ Get__11wxHashTableCFPCc
+ ;wxHashTable::Delete(long,const char*)
+ Delete__11wxHashTableFlPCc
+ __vft15wxHashTableLong8wxObject
+ __vft17wxStringHashTable8wxObject
+ ;wxHashTable::Clear()
+ Clear__11wxHashTableFv
+ ;wxHashTableBase::Destroy()
+ Destroy__15wxHashTableBaseFv
+ ;wxHashTable::Destroy()
+ Destroy__11wxHashTableFv
+ ;wxStringHashTable::Put(long,const wxString&)
+ Put__17wxStringHashTableFlRC8wxString
+ ;wxHashTable::MakeKey(const char*) const
+ MakeKey__11wxHashTableCFPCc
+ ;wxHashTable::Put(long,const char*,wxObject*)
+ Put__11wxHashTableFlPCcP8wxObject
+ ;wxHashTable::Put(const char*,wxObject*)
+ Put__11wxHashTableFPCcP8wxObject
+ ;wxHashTableLong::Init(unsigned int)
+ Init__15wxHashTableLongFUi
+ ;wxStringHashTable::wxStringHashTable(unsigned int)
+ __ct__17wxStringHashTableFUi
+ ;wxHashTable::wxHashTable(int,int)
+ __ct__11wxHashTableFiT1
+ ;wxHashTableBase::wxHashTableBase()
+ __ct__15wxHashTableBaseFv
+ ;wxHashTableLong::~wxHashTableLong()
+ __dt__15wxHashTableLongFv
+ ;wxHashTable::~wxHashTable()
+ __dt__11wxHashTableFv
+ ;wxHashTable::Next()
+ Next__11wxHashTableFv
+ ;wxHashTableLong::Delete(long)
+ Delete__15wxHashTableLongFl
+ ;wxHashTable::Put(long,long,wxObject*)
+ Put__11wxHashTableFlT1P8wxObject
+ ;wxStringHashTable::Get(long,unsigned long*) const
+ Get__17wxStringHashTableCFlPUl
+ ;wxHashTable::DoCopy(const wxHashTable&)
+ DoCopy__11wxHashTableFRC11wxHashTable
+ ;wxHashTable::Get(long,long) const
+ Get__11wxHashTableCFlT1
+ ;wxStringHashTable::Destroy()
+ Destroy__17wxStringHashTableFv
+ ;wxHashTable::Get(long,const char*) const
+ Get__11wxHashTableCFlPCc
+ ;From object file: ..\common\helpbase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHelpControllerBase::sm_classwxHelpControllerBase
+ sm_classwxHelpControllerBase__20wxHelpControllerBase
+ ;From object file: ..\common\http.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHTTP::sm_classwxHTTP
+ sm_classwxHTTP__6wxHTTP
+ ;wxHTTP::wxHTTP()
+ __ct__6wxHTTPFv
+ ;wxHTTP::SendHeaders()
+ SendHeaders__6wxHTTPFv
+ ;wxHTTP::GetHeader(const wxString&)
+ GetHeader__6wxHTTPFRC8wxString
+ ;wxHTTP::Connect(const wxString&)
+ Connect__6wxHTTPFRC8wxString
+ ;wxHTTP::Connect(wxSockAddress&,unsigned long)
+ Connect__6wxHTTPFR13wxSockAddressUl
+ ;wxHTTP::BuildRequest(const wxString&,wxHTTP::wxHTTP_Req)
+ BuildRequest__6wxHTTPFRC8wxStringQ2_6wxHTTP10wxHTTP_Req
+ ;wxHTTPStream::OnSysRead(void*,unsigned int)
+ OnSysRead__12wxHTTPStreamFPvUi
+ ;wxHTTP::GetInputStream(const wxString&)
+ GetInputStream__6wxHTTPFRC8wxString
+ ;wxHTTP::g_proto_wxHTTP
+ g_proto_wxHTTP__6wxHTTP
+ __vft6wxHTTP8wxObject
+ ;wxHTTP::ParseHeaders()
+ ParseHeaders__6wxHTTPFv
+ ;wxHTTP::SetHeader(const wxString&,const wxString&)
+ SetHeader__6wxHTTPFRC8wxStringT1
+ ;wxHTTP::SetProxyMode(unsigned long)
+ SetProxyMode__6wxHTTPFUl
+ __vft12wxHTTPStream12wxStreamBase
+ ;wxConstructorForwxHTTP()
+ wxConstructorForwxHTTP__Fv
+ ;wxHTTP::~wxHTTP()
+ __dt__6wxHTTPFv
+ ;wxHTTP::GetContentType()
+ GetContentType__6wxHTTPFv
+ ;wxHTTP::Abort()
+ Abort__6wxHTTPFv
+ ;From object file: ..\common\imagall.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxInitAllImageHandlers()
+ wxInitAllImageHandlers__Fv
+ ;From object file: ..\common\imagbmp.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBMPHandler::sm_classwxBMPHandler
+ sm_classwxBMPHandler__12wxBMPHandler
+ ;wxBMPHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__12wxBMPHandlerFP7wxImageR14wxOutputStreamUl
+ ;wxConstructorForwxBMPHandler()
+ wxConstructorForwxBMPHandler__Fv
+ ;wxBMPHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__12wxBMPHandlerFP7wxImageR13wxInputStreamUli
+ ;wxBMPHandler::DoCanRead(wxInputStream&)
+ DoCanRead__12wxBMPHandlerFR13wxInputStream
+ __vft12wxBMPHandler8wxObject
+ ;From object file: ..\common\image.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxImage::wxImage(int,int,unsigned char*,unsigned long)
+ __ct__7wxImageFiT1PUcUl
+ ;wxImage::GetSubImage(const wxRect&) const
+ GetSubImage__7wxImageCFRC6wxRect
+ ;wxImage::FindHandler(long)
+ FindHandler__7wxImageFl
+ ;wxImage::FindHandler(const wxString&,long)
+ FindHandler__7wxImageFRC8wxStringl
+ ;wxImage::CountColours(unsigned long)
+ CountColours__7wxImageFUl
+ ;wxImage::wxImage(int,int)
+ __ct__7wxImageFiT1
+ ;wxImageModule::sm_classwxImageModule
+ sm_classwxImageModule__13wxImageModule
+ ;wxImage::GetRed(int,int) const
+ GetRed__7wxImageCFiT1
+ ;wxImage::GetGreen(int,int) const
+ GetGreen__7wxImageCFiT1
+ ;wxConstructorForwxImage()
+ wxConstructorForwxImage__Fv
+ ;wxImage::Ok() const
+ Ok__7wxImageCFv
+ ;wxImage::InsertHandler(wxImageHandler*)
+ InsertHandler__7wxImageFP14wxImageHandler
+ ;wxImage::InitStandardHandlers()
+ InitStandardHandlers__7wxImageFv
+ ;wxImage::GetWidth() const
+ GetWidth__7wxImageCFv
+ ;wxImage::GetPalette() const
+ GetPalette__7wxImageCFv
+ ;wxImage::GetData() const
+ GetData__7wxImageCFv
+ ;wxImage::Destroy()
+ Destroy__7wxImageFv
+ ;wxImage::Copy() const
+ Copy__7wxImageCFv
+ ;wxImage::GetOptionInt(const wxString&) const
+ GetOptionInt__7wxImageCFRC8wxString
+ ;wxImage::FindHandlerMime(const wxString&)
+ FindHandlerMime__7wxImageFRC8wxString
+ ;wxImage::Mirror(unsigned long) const
+ Mirror__7wxImageCFUl
+ __vft14wxImageHandler8wxObject
+ ;wxImage::LoadFile(const wxString&,long)
+ LoadFile__7wxImageFRC8wxStringl
+ ;wxImage::Scale(int,int) const
+ Scale__7wxImageCFiT1
+ ;wxImage::sm_handlers
+ sm_handlers__7wxImage
+ ;wxImage::wxImage(const wxImage&)
+ __ct__7wxImageFRC7wxImage
+ ;wxImage::SetPalette(const wxPalette&)
+ SetPalette__7wxImageFRC9wxPalette
+ ;wxImage::SaveFile(wxOutputStream&,int)
+ SaveFile__7wxImageFR14wxOutputStreami
+ ;wxImageHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__14wxImageHandlerFP7wxImageR13wxInputStreamUli
+ ;wxImageRefData::~wxImageRefData()
+ __dt__14wxImageRefDataFv
+ ;wxImage::HasPalette() const
+ HasPalette__7wxImageCFv
+ ;wxImage::GetMaskGreen() const
+ GetMaskGreen__7wxImageCFv
+ ;wxImage::SetRGB(int,int,unsigned char,unsigned char,unsigned char)
+ SetRGB__7wxImageFiT1UcN23
+ ;wxImage::SaveFile(wxOutputStream&,const wxString&)
+ SaveFile__7wxImageFR14wxOutputStreamRC8wxString
+ ;wxImage::LoadFile(wxInputStream&,const wxString&)
+ LoadFile__7wxImageFR13wxInputStreamRC8wxString
+ ;wxImage::CanRead(const wxString&)
+ CanRead__7wxImageFRC8wxString
+ ;wxImage::Rotate(double,const wxPoint&,unsigned long,wxPoint*) const
+ Rotate__7wxImageCFdRC7wxPointUlP7wxPoint
+ __vft7wxImage8wxObject
+ ;wxImage::wxImage(const wxString&,const wxString&)
+ __ct__7wxImageFRC8wxStringT1
+ ;wxImage::SaveFile(const wxString&,int)
+ SaveFile__7wxImageFRC8wxStringi
+ ;wxImage::Replace(unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char)
+ Replace__7wxImageFUcN51
+ ;wxImage::LoadFile(const wxString&,const wxString&)
+ LoadFile__7wxImageFRC8wxStringT1
+ ;wxImageRefData::wxImageRefData()
+ __ct__14wxImageRefDataFv
+ ;wxConstructorForwxImageModule()
+ wxConstructorForwxImageModule__Fv
+ ;wxImage::wxImage()
+ __ct__7wxImageFv
+ ;wxImage::Paste(const wxImage&,int,int)
+ Paste__7wxImageFRC7wxImageiT2
+ ;wxImage::HasMask() const
+ HasMask__7wxImageCFv
+ ;wxImage::GetMaskRed() const
+ GetMaskRed__7wxImageCFv
+ ;wxImage::SetData(unsigned char*)
+ SetData__7wxImageFPUc
+ ;wxImage::RemoveHandler(const wxString&)
+ RemoveHandler__7wxImageFRC8wxString
+ ;wxImage::GetOption(const wxString&) const
+ GetOption__7wxImageCFRC8wxString
+ ;wxImage::FindHandler(const wxString&)
+ FindHandler__7wxImageFRC8wxString
+ ;wxImage::Create(int,int,unsigned char*,unsigned long)
+ Create__7wxImageFiT1PUcUl
+ ;wxImage::wxImage(wxInputStream&,long)
+ __ct__7wxImageFR13wxInputStreaml
+ ;wxImage::SetMask(unsigned long)
+ SetMask__7wxImageFUl
+ ;wxImage::Rotate90(unsigned long) const
+ Rotate90__7wxImageCFUl
+ ;wxImage::Create(int,int)
+ Create__7wxImageFiT1
+ __vft14wxImageRefData15wxObjectRefData
+ ;wxImage::wxImage(const wxImage*)
+ __ct__7wxImageFPC7wxImage
+ ;wxImage::SetOption(const wxString&,const wxString&)
+ SetOption__7wxImageFRC8wxStringT1
+ ;wxImage::SetMaskColour(unsigned char,unsigned char,unsigned char)
+ SetMaskColour__7wxImageFUcN21
+ ;wxImageHandler::GetImageCount(wxInputStream&)
+ GetImageCount__14wxImageHandlerFR13wxInputStream
+ ;wxImage::ConvertToBitmap() const
+ ConvertToBitmap__7wxImageCFv
+ ;wxImage::SetData(unsigned char*,int,int)
+ SetData__7wxImageFPUciT2
+ ;wxImage::GetMaskBlue() const
+ GetMaskBlue__7wxImageCFv
+ ;wxImage::GetHeight() const
+ GetHeight__7wxImageCFv
+ ;wxImage::CleanUpHandlers()
+ CleanUpHandlers__7wxImageFv
+ ;wxImageHandler::CanRead(const wxString&)
+ CanRead__14wxImageHandlerFRC8wxString
+ ;wxImage::wxImage(const wxString&,long)
+ __ct__7wxImageFRC8wxStringl
+ ;wxImage::wxImage(const wxBitmap&)
+ __ct__7wxImageFRC8wxBitmap
+ ;wxImageHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__14wxImageHandlerFP7wxImageR14wxOutputStreamUl
+ ;wxImage::LoadFile(wxInputStream&,long)
+ LoadFile__7wxImageFR13wxInputStreaml
+ ;wxImage::GetBlue(int,int) const
+ GetBlue__7wxImageCFiT1
+ ;wxImage::sm_classwxImage
+ sm_classwxImage__7wxImage
+ ;wxImage::SetOption(const wxString&,int)
+ SetOption__7wxImageFRC8wxStringi
+ ;wxImage::SaveFile(const wxString&,const wxString&)
+ SaveFile__7wxImageFRC8wxStringT1
+ ;wxImage::ComputeHistogram(wxHashTable&)
+ ComputeHistogram__7wxImageFR11wxHashTable
+ ;wxImage::CanRead(wxInputStream&)
+ CanRead__7wxImageFR13wxInputStream
+ ;wxImage::AddHandler(wxImageHandler*)
+ AddHandler__7wxImageFP14wxImageHandler
+ ;wxImageHandler::sm_classwxImageHandler
+ sm_classwxImageHandler__14wxImageHandler
+ ;wxImage::wxImage(wxInputStream&,const wxString&)
+ __ct__7wxImageFR13wxInputStreamRC8wxString
+ ;wxImage::HasOption(const wxString&) const
+ HasOption__7wxImageCFRC8wxString
+ ;From object file: ..\common\imaggif.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGIFHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__12wxGIFHandlerFP7wxImageR14wxOutputStreamUl
+ ;wxGIFHandler::sm_classwxGIFHandler
+ sm_classwxGIFHandler__12wxGIFHandler
+ ;wxGIFHandler::DoCanRead(wxInputStream&)
+ DoCanRead__12wxGIFHandlerFR13wxInputStream
+ ;wxConstructorForwxGIFHandler()
+ wxConstructorForwxGIFHandler__Fv
+ __vft12wxGIFHandler8wxObject
+ ;wxGIFHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__12wxGIFHandlerFP7wxImageR13wxInputStreamUli
+ ;From object file: ..\common\imagjpeg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxJPEGHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__13wxJPEGHandlerFP7wxImageR14wxOutputStreamUl
+ ;jpeg_wxio_dest(jpeg_compress_struct*,wxOutputStream&)
+ jpeg_wxio_dest__FP20jpeg_compress_structR14wxOutputStream
+ ;wxJPEGHandler::sm_classwxJPEGHandler
+ sm_classwxJPEGHandler__13wxJPEGHandler
+ ;jpeg_wxio_src(jpeg_decompress_struct*,wxInputStream&)
+ jpeg_wxio_src__FP22jpeg_decompress_structR13wxInputStream
+ ;wxJPEGHandler::DoCanRead(wxInputStream&)
+ DoCanRead__13wxJPEGHandlerFR13wxInputStream
+ ;wxConstructorForwxJPEGHandler()
+ wxConstructorForwxJPEGHandler__Fv
+ __vft13wxJPEGHandler8wxObject
+ ;wxJPEGHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__13wxJPEGHandlerFP7wxImageR13wxInputStreamUli
+ ;From object file: ..\common\imagpcx.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPCXHandler::sm_classwxPCXHandler
+ sm_classwxPCXHandler__12wxPCXHandler
+ ;SavePCX(wxImage*,wxOutputStream&)
+ SavePCX__FP7wxImageR14wxOutputStream
+ ;wxPCXHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__12wxPCXHandlerFP7wxImageR13wxInputStreamUli
+ ;wxConstructorForwxPCXHandler()
+ wxConstructorForwxPCXHandler__Fv
+ ;wxPCXHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__12wxPCXHandlerFP7wxImageR14wxOutputStreamUl
+ __vft12wxPCXHandler8wxObject
+ ;RLEencode(unsigned char*,unsigned int,wxOutputStream&)
+ RLEencode__FPUcUiR14wxOutputStream
+ ;RLEdecode(unsigned char*,unsigned int,wxInputStream&)
+ RLEdecode__FPUcUiR13wxInputStream
+ ;ReadPCX(wxImage*,wxInputStream&)
+ ReadPCX__FP7wxImageR13wxInputStream
+ ;wxPCXHandler::DoCanRead(wxInputStream&)
+ DoCanRead__12wxPCXHandlerFR13wxInputStream
+ ;From object file: ..\common\imagpng.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft12wxPNGHandler8wxObject
+ ;wxConstructorForwxPNGHandler()
+ wxConstructorForwxPNGHandler__Fv
+ ;wxPNGHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__12wxPNGHandlerFP7wxImageR14wxOutputStreamUl
+ ;wxPNGHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__12wxPNGHandlerFP7wxImageR13wxInputStreamUli
+ ;wxPNGHandler::DoCanRead(wxInputStream&)
+ DoCanRead__12wxPNGHandlerFR13wxInputStream
+ png_silent_error
+ ;wxPNGHandler::sm_classwxPNGHandler
+ sm_classwxPNGHandler__12wxPNGHandler
+ png_silent_warning
+ ;From object file: ..\common\imagpnm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPNMHandler::SaveFile(wxImage*,wxOutputStream&,unsigned long)
+ SaveFile__12wxPNMHandlerFP7wxImageR14wxOutputStreamUl
+ ;wxConstructorForwxPNMHandler()
+ wxConstructorForwxPNMHandler__Fv
+ __vft12wxPNMHandler8wxObject
+ ;Skip_Comment(wxInputStream&)
+ Skip_Comment__FR13wxInputStream
+ ;wxPNMHandler::LoadFile(wxImage*,wxInputStream&,unsigned long,int)
+ LoadFile__12wxPNMHandlerFP7wxImageR13wxInputStreamUli
+ ;wxPNMHandler::sm_classwxPNMHandler
+ sm_classwxPNMHandler__12wxPNMHandler
+ ;wxPNMHandler::DoCanRead(wxInputStream&)
+ DoCanRead__12wxPNMHandlerFR13wxInputStream
+ ;From object file: ..\common\imagtiff.cpp
+ ;From object file: ..\common\intl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMsgCatalog::wxMsgCatalog()
+ __ct__12wxMsgCatalogFv
+ ;wxLocale::~wxLocale()
+ __dt__8wxLocaleFv
+ ;wxMsgCatalog::~wxMsgCatalog()
+ __dt__12wxMsgCatalogFv
+ ;wxMsgCatalog::ConvertEncoding()
+ ConvertEncoding__12wxMsgCatalogFv
+ ;wxLocale::AddCatalog(const char*)
+ AddCatalog__8wxLocaleFPCc
+ ;wxMsgCatalog::Load(const char*,const char*,unsigned long)
+ Load__12wxMsgCatalogFPCcT1Ul
+ ;wxLocale::wxLocale()
+ __ct__8wxLocaleFv
+ ;wxLocale::Init(const char*,const char*,const char*,unsigned long,unsigned long)
+ Init__8wxLocaleFPCcN21UlT4
+ ;wxLocale::GetString(const char*,const char*) const
+ GetString__8wxLocaleCFPCcT1
+ ;wxGetLocale()
+ wxGetLocale__Fv
+ ;NoTransErr::ms_suppressCount
+ ms_suppressCount__10NoTransErr
+ ;wxMsgCatalog::GetString(const char*) const
+ GetString__12wxMsgCatalogCFPCc
+ ;wxLocale::FindCatalog(const char*) const
+ FindCatalog__8wxLocaleCFPCc
+ ;wxLocale::AddCatalogLookupPathPrefix(const wxString&)
+ AddCatalogLookupPathPrefix__8wxLocaleFRC8wxString
+ ;wxLocale::IsLoaded(const char*) const
+ IsLoaded__8wxLocaleCFPCc
+ ;From object file: ..\common\ipcbase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConnectionBase::sm_classwxConnectionBase
+ sm_classwxConnectionBase__16wxConnectionBase
+ ;wxClientBase::sm_classwxClientBase
+ sm_classwxClientBase__12wxClientBase
+ ;wxServerBase::sm_classwxServerBase
+ sm_classwxServerBase__12wxServerBase
+ ;From object file: ..\common\layout.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxIndividualLayoutConstraint::Below(wxWindowBase*,int)
+ Below__28wxIndividualLayoutConstraintFP12wxWindowBasei
+ ;wxLayoutConstraints::SatisfyConstraints(wxWindowBase*,int*)
+ SatisfyConstraints__19wxLayoutConstraintsFP12wxWindowBasePi
+ __vft28wxIndividualLayoutConstraint8wxObject
+ ;wxIndividualLayoutConstraint::SameAs(wxWindowBase*,wxEdge,int)
+ SameAs__28wxIndividualLayoutConstraintFP12wxWindowBase6wxEdgei
+ ;wxIndividualLayoutConstraint::Absolute(int)
+ Absolute__28wxIndividualLayoutConstraintFi
+ ;wxConstructorForwxLayoutConstraints()
+ wxConstructorForwxLayoutConstraints__Fv
+ ;wxIndividualLayoutConstraint::~wxIndividualLayoutConstraint()
+ __dt__28wxIndividualLayoutConstraintFv
+ ;wxLayoutConstraints::~wxLayoutConstraints()
+ __dt__19wxLayoutConstraintsFv
+ ;wxIndividualLayoutConstraint::GetEdge(wxEdge,wxWindowBase*,wxWindowBase*) const
+ GetEdge__28wxIndividualLayoutConstraintCF6wxEdgeP12wxWindowBaseT2
+ ;wxLayoutConstraints::sm_classwxLayoutConstraints
+ sm_classwxLayoutConstraints__19wxLayoutConstraints
+ ;wxIndividualLayoutConstraint::Set(wxRelationship,wxWindowBase*,wxEdge,int,int)
+ Set__28wxIndividualLayoutConstraintF14wxRelationshipP12wxWindowBase6wxEdgeiT4
+ ;wxIndividualLayoutConstraint::RightOf(wxWindowBase*,int)
+ RightOf__28wxIndividualLayoutConstraintFP12wxWindowBasei
+ ;wxIndividualLayoutConstraint::ResetIfWin(wxWindowBase*)
+ ResetIfWin__28wxIndividualLayoutConstraintFP12wxWindowBase
+ ;wxIndividualLayoutConstraint::wxIndividualLayoutConstraint()
+ __ct__28wxIndividualLayoutConstraintFv
+ ;wxLayoutConstraints::wxLayoutConstraints()
+ __ct__19wxLayoutConstraintsFv
+ ;wxIndividualLayoutConstraint::sm_classwxIndividualLayoutConstraint
+ sm_classwxIndividualLayoutConstraint__28wxIndividualLayoutConstraint
+ ;wxIndividualLayoutConstraint::LeftOf(wxWindowBase*,int)
+ LeftOf__28wxIndividualLayoutConstraintFP12wxWindowBasei
+ ;wxIndividualLayoutConstraint::SatisfyConstraint(wxLayoutConstraints*,wxWindowBase*)
+ SatisfyConstraint__28wxIndividualLayoutConstraintFP19wxLayoutConstraintsP12wxWindowBase
+ ;wxIndividualLayoutConstraint::PercentOf(wxWindowBase*,wxEdge,int)
+ PercentOf__28wxIndividualLayoutConstraintFP12wxWindowBase6wxEdgei
+ ;wxIndividualLayoutConstraint::Above(wxWindowBase*,int)
+ Above__28wxIndividualLayoutConstraintFP12wxWindowBasei
+ __vft19wxLayoutConstraints8wxObject
+ ;wxConstructorForwxIndividualLayoutConstraint()
+ wxConstructorForwxIndividualLayoutConstraint__Fv
+ ;From object file: ..\common\lboxcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxListBoxBase::SetStringSelection(const wxString&,unsigned long)
+ SetStringSelection__13wxListBoxBaseFRC8wxStringUl
+ ;wxListBoxBase::SetFirstItem(const wxString&)
+ SetFirstItem__13wxListBoxBaseFRC8wxString
+ __vft13wxListBoxBase8wxObject
+ ;wxListBoxBase::InsertItems(int,const wxString*,int)
+ InsertItems__13wxListBoxBaseFiPC8wxStringT1
+ ;wxListBoxBase::Set(int,const wxString*,void**)
+ Set__13wxListBoxBaseFiPC8wxStringPPv
+ ;wxListBoxBase::Command(wxCommandEvent&)
+ Command__13wxListBoxBaseFR14wxCommandEvent
+ ;From object file: ..\common\list.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft10wxListBase8wxObject
+ ;wxListBase::LastThat(int(*)(void*))
+ LastThat__10wxListBaseFPFPv_i
+ __vft16wxStringListNode10wxNodeBase
+ ;wxListBase::Clear()
+ Clear__10wxListBaseFv
+ ;wxListBase::DeleteObject(void*)
+ DeleteObject__10wxListBaseFPv
+ ;wxObjectListNode::DeleteData()
+ DeleteData__16wxObjectListNodeFv
+ ;wxListBase::Append(const char*,void*)
+ Append__10wxListBaseFPCcPv
+ ;wxListBase::Init(wxKeyType)
+ Init__10wxListBaseF9wxKeyType
+ wxDefaultListKey
+ ;wxListKey::operator==(wxListKeyValue) const
+ __eq__9wxListKeyCF14wxListKeyValue
+ ;wxListBase::Item(unsigned int) const
+ Item__10wxListBaseCFUi
+ ;wxListBase::ForEach(int(*)(void*))
+ ForEach__10wxListBaseFPFPv_i
+ ;wxListBase::Find(const wxListKey&) const
+ Find__10wxListBaseCFRC9wxListKey
+ ;wxListBase::Append(long,void*)
+ Append__10wxListBaseFlPv
+ ;wxListBase::DeleteNode(wxNodeBase*)
+ DeleteNode__10wxListBaseFP10wxNodeBase
+ __vft16wxObjectListNode10wxNodeBase
+ ;wxListBase::Sort(int(* const)(const void*,const void*))
+ Sort__10wxListBaseFCPFPCvT1_i
+ ;wxListBase::FirstThat(int(*)(void*))
+ FirstThat__10wxListBaseFPFPv_i
+ ;wxNodeBase::~wxNodeBase()
+ __dt__10wxNodeBaseFv
+ ;wxStringList::Sort()
+ Sort__12wxStringListFv
+ ;wxListBase::Find(void*) const
+ Find__10wxListBaseCFPv
+ ;wxStringList::Delete(const char*)
+ Delete__12wxStringListFPCc
+ ;wxStringList::Member(const char*) const
+ Member__12wxStringListCFPCc
+ ;wxNodeBase::wxNodeBase(wxListBase*,wxNodeBase*,wxNodeBase*,void*,const wxListKey&)
+ __ct__10wxNodeBaseFP10wxListBaseP10wxNodeBaseT2PvRC9wxListKey
+ __vft10wxNodeBase
+ ;wxStringList::wxStringList(const char*,...)
+ __ct__12wxStringListFPCce
+ ;wxListBase::DoDeleteNode(wxNodeBase*)
+ DoDeleteNode__10wxListBaseFP10wxNodeBase
+ ;wxListBase::DetachNode(wxNodeBase*)
+ DetachNode__10wxListBaseFP10wxNodeBase
+ ;wxListBase::Insert(wxNodeBase*,void*)
+ Insert__10wxListBaseFP10wxNodeBasePv
+ ;wxListBase::~wxListBase()
+ __dt__10wxListBaseFv
+ ;wxNodeBase::IndexOf() const
+ IndexOf__10wxNodeBaseCFv
+ ;wxListBase::IndexOf(void*) const
+ IndexOf__10wxListBaseCFPv
+ ;wxStringListNode::DeleteData()
+ DeleteData__16wxStringListNodeFv
+ ;wxStringList::DoCopy(const wxStringList&)
+ DoCopy__12wxStringListFRC12wxStringList
+ ;wxStringList::ListToArray(unsigned long) const
+ ListToArray__12wxStringListCFUl
+ ;wxListBase::DoCopy(const wxListBase&)
+ DoCopy__10wxListBaseFRC10wxListBase
+ ;wxListBase::AppendCommon(wxNodeBase*)
+ AppendCommon__10wxListBaseFP10wxNodeBase
+ ;wxListBase::Append(void*)
+ Append__10wxListBaseFPv
+ ;wxListBase::wxListBase(unsigned int,void**)
+ __ct__10wxListBaseFUiPPv
+ ;From object file: ..\common\log.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxLogSysErrorHelper(long)
+ wxLogSysErrorHelper__Fl
+ ;wxLog::DoLog(unsigned long,const char*,long)
+ DoLog__5wxLogFUlPCcl
+ ;wxLogStream::DoLogString(const char*,long)
+ DoLogString__11wxLogStreamFPCcl
+ ;wxOnAssert(const char*,int,const char*)
+ wxOnAssert__FPCciT1
+ ;wxLogGeneric(unsigned long,const char*,...)
+ wxLogGeneric__FUlPCce
+ ;wxLogDebug(const char*,...)
+ wxLogDebug__FPCce
+ ;wxLog::wxLog()
+ __ct__5wxLogFv
+ ;wxLog::Flush()
+ Flush__5wxLogFv
+ ;wxLog::SetActiveTarget(wxLog*)
+ SetActiveTarget__5wxLogFP5wxLog
+ ;wxLog::ms_doLog
+ ms_doLog__5wxLog
+ ;wxLogWarning(const char*,...)
+ wxLogWarning__FPCce
+ ;wxLogVerbose(const char*,...)
+ wxLogVerbose__FPCce
+ ;wxLogTrace(unsigned long,const char*,...)
+ wxLogTrace__FUlPCce
+ ;wxLogStatus(const char*,...)
+ wxLogStatus__FPCce
+ ;wxLog::RemoveTraceMask(const wxString&)
+ RemoveTraceMask__5wxLogFRC8wxString
+ ;wxSysErrorMsg(unsigned long)
+ wxSysErrorMsg__FUl
+ ;wxLog::DoLogString(const char*,long)
+ DoLogString__5wxLogFPCcl
+ ;wxLogFatalError(const char*,...)
+ wxLogFatalError__FPCce
+ ;wxLogTrace(const char*,const char*,...)
+ wxLogTrace__FPCcT1e
+ ;wxLogSysError(const char*,...)
+ wxLogSysError__FPCce
+ ;Trap()
+ Trap__Fv
+ ;wxLog::TimeStamp(wxString*)
+ TimeStamp__5wxLogFP8wxString
+ ;wxLogInfo(const char*,...)
+ wxLogInfo__FPCce
+ ;wxLogSysError(long,const char*,...)
+ wxLogSysError__FlPCce
+ ;wxLogStream::wxLogStream(ostream*)
+ __ct__11wxLogStreamFP7ostream
+ ;wxLog::ms_suspendCount
+ ms_suspendCount__5wxLog
+ ;wxLog::ms_bAutoCreate
+ ms_bAutoCreate__5wxLog
+ __vft11wxLogStream5wxLog
+ __vft11wxLogStderr5wxLog
+ ;wxLogStderr::DoLogString(const char*,long)
+ DoLogString__11wxLogStderrFPCcl
+ ;wxLogError(const char*,...)
+ wxLogError__FPCce
+ ;wxLogTrace(const char*,...)
+ wxLogTrace__FPCce
+ ;wxLogMessage(const char*,...)
+ wxLogMessage__FPCce
+ ;wxLogStderr::wxLogStderr(__file*)
+ __ct__11wxLogStderrFP6__file
+ ;wxLog::GetActiveTarget()
+ GetActiveTarget__5wxLogFv
+ ;wxSysErrorCode()
+ wxSysErrorCode__Fv
+ ;wxLog::ms_ulTraceMask
+ ms_ulTraceMask__5wxLog
+ ;wxLog::ms_timestamp
+ ms_timestamp__5wxLog
+ ;wxLog::ms_pLogger
+ ms_pLogger__5wxLog
+ ;wxLog::ms_aTraceMasks
+ ms_aTraceMasks__5wxLog
+ __vft5wxLog
+ ;From object file: ..\common\longlong.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxLongLongWx::operator<(const wxLongLongWx&) const
+ __lt__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator%(const wxLongLongWx&) const
+ __md__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator>(const wxLongLongWx&) const
+ __gt__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator<<(int) const
+ __ls__12wxLongLongWxCFi
+ ;wxLongLongWx::operator+=(const wxLongLongWx&)
+ __apl__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::operator|(const wxLongLongWx&) const
+ __or__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator^(const wxLongLongWx&) const
+ __er__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator-=(const wxLongLongWx&)
+ __ami__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::operator/=(const wxLongLongWx&)
+ __adv__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::operator&(const wxLongLongWx&) const
+ __ad__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::Negate()
+ Negate__12wxLongLongWxFv
+ ;wxLongLongWx::operator-(const wxLongLongWx&) const
+ __mi__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator&=(const wxLongLongWx&)
+ __aad__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::Assign(double)
+ Assign__12wxLongLongWxFd
+ ;wxLongLongWx::operator>>(int) const
+ __rs__12wxLongLongWxCFi
+ ;wxLongLongWx::operator--()
+ __mm__12wxLongLongWxFv
+ ;wxLongLongWx::asArray() const
+ asArray__12wxLongLongWxCFv
+ ;wxLongLongWx::operator-() const
+ __mi__12wxLongLongWxCFv
+ ;wxLongLongWx::operator~() const
+ __co__12wxLongLongWxCFv
+ ;wxLongLongWx::Divide(const wxLongLongWx&,wxLongLongWx&,wxLongLongWx&) const
+ Divide__12wxLongLongWxCFRC12wxLongLongWxR12wxLongLongWxT2
+ ;wxLongLongWx::operator+(const wxLongLongWx&) const
+ __pl__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator*(const wxLongLongWx&) const
+ __ml__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator+=(long)
+ __apl__12wxLongLongWxFl
+ ;wxLongLongWx::operator|=(const wxLongLongWx&)
+ __aor__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::operator*=(const wxLongLongWx&)
+ __amu__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::operator+(long) const
+ __pl__12wxLongLongWxCFl
+ ;operator<<(ostream&,const wxLongLongWx&)
+ __ls__FR7ostreamRC12wxLongLongWx
+ ;wxLongLongWx::operator/(const wxLongLongWx&) const
+ __dv__12wxLongLongWxCFRC12wxLongLongWx
+ ;wxLongLongWx::operator^=(const wxLongLongWx&)
+ __aer__12wxLongLongWxFRC12wxLongLongWx
+ ;wxLongLongWx::operator<<=(int)
+ __als__12wxLongLongWxFi
+ ;wxLongLongWx::operator>>=(int)
+ __ars__12wxLongLongWxFi
+ ;wxLongLongWx::operator++()
+ __pp__12wxLongLongWxFv
+ ;From object file: ..\common\matrix.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTransformMatrix::wxTransformMatrix(const wxTransformMatrix&)
+ __ct__17wxTransformMatrixFRC17wxTransformMatrix
+ ;wxTransformMatrix::Invert()
+ Invert__17wxTransformMatrixFv
+ ;wxTransformMatrix::TransformPoint(double,double,double&,double&) const
+ TransformPoint__17wxTransformMatrixCFdT1RdT3
+ ;wxTransformMatrix::SetValue(int,int,double)
+ SetValue__17wxTransformMatrixFiT1d
+ ;wxTransformMatrix::operator!=(const wxTransformMatrix&)
+ __ne__17wxTransformMatrixFRC17wxTransformMatrix
+ ;wxTransformMatrix::operator==(const wxTransformMatrix&)
+ __eq__17wxTransformMatrixFRC17wxTransformMatrix
+ ;wxTransformMatrix::GetValue(int,int) const
+ GetValue__17wxTransformMatrixCFiT1
+ ;wxTransformMatrix::wxTransformMatrix()
+ __ct__17wxTransformMatrixFv
+ ;wxTransformMatrix::InverseTransformPoint(double,double,double&,double&) const
+ InverseTransformPoint__17wxTransformMatrixCFdT1RdT3
+ ;wxTransformMatrix::operator()(int,int)
+ __cl__17wxTransformMatrixFiT1
+ ;wxTransformMatrix::operator()(int,int) const
+ __cl__17wxTransformMatrixCFiT1
+ ;wxTransformMatrix::Translate(double,double)
+ Translate__17wxTransformMatrixFdT1
+ ;wxTransformMatrix::operator=(const wxTransformMatrix&)
+ __as__17wxTransformMatrixFRC17wxTransformMatrix
+ ;wxTransformMatrix::Scale(double)
+ Scale__17wxTransformMatrixFd
+ ;wxTransformMatrix::Rotate(double)
+ Rotate__17wxTransformMatrixFd
+ ;wxTransformMatrix::Identity()
+ Identity__17wxTransformMatrixFv
+ ;From object file: ..\common\memory.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDebugContext::SetCheckpoint(unsigned long)
+ SetCheckpoint__14wxDebugContextFUl
+ ;wxDebugContext::m_balignmask
+ m_balignmask__14wxDebugContext
+ ;wxDebugContext::debugLevel
+ debugLevel__14wxDebugContext
+ ;wxTraceLevel(int,const char*,...)
+ wxTraceLevel__FiPCce
+ ;wxMemStruct::ErrorMsg()
+ ErrorMsg__11wxMemStructFv
+ ;wxDebugContext::wxDebugContext()
+ __ct__14wxDebugContextFv
+ ;wxDebugContext::SetStream(ostream*,streambuf*)
+ SetStream__14wxDebugContextFP7ostreamP9streambuf
+ ;wxDebugContext::SetFile(const wxString&)
+ SetFile__14wxDebugContextFRC8wxString
+ ;wxDebugContext::StartPos(const char*)
+ StartPos__14wxDebugContextFPCc
+ ;wxDebugContext::Check(unsigned long)
+ Check__14wxDebugContextFUl
+ ;wxDebugAlloc(unsigned int,char*,int,unsigned long,unsigned long)
+ wxDebugAlloc__FUiPciUlT4
+ ;wxDebugContext::debugOn
+ debugOn__14wxDebugContext
+ ;wxDebugContext::checkPoint
+ checkPoint__14wxDebugContext
+ ;wxDebugContext::PaddedSize(const unsigned int)
+ PaddedSize__14wxDebugContextFCUi
+ ;wxMemStruct::AssertIt()
+ AssertIt__11wxMemStructFv
+ ;wxDebugContext::~wxDebugContext()
+ __dt__14wxDebugContextFv
+ ;wxDebugContext::PrintList()
+ PrintList__14wxDebugContextFv
+ ;wxDebugContext::PrintClasses()
+ PrintClasses__14wxDebugContextFv
+ ;wxMemStruct::CheckBlock()
+ CheckBlock__11wxMemStructFv
+ ;wxDebugContext::CalcAlignment()
+ CalcAlignment__14wxDebugContextFv
+ ;wxDebugContext::PrintStatistics(unsigned long)
+ PrintStatistics__14wxDebugContextFUl
+ ;wxDebugFree(void*,unsigned long)
+ wxDebugFree__FPvUl
+ ;wxDebugContext::m_balign
+ m_balign__14wxDebugContext
+ ;wxDebugContext::EndMarkerPos(const char*,const unsigned int)
+ EndMarkerPos__14wxDebugContextFPCcCUi
+ ;wxMemStruct::AssertList()
+ AssertList__11wxMemStructFv
+ ;wxMemStruct::ErrorMsg(const char*)
+ ErrorMsg__11wxMemStructFPCc
+ ;wxDebugContext::StructPos(const char*)
+ StructPos__14wxDebugContextFPCc
+ ;wxDebugContext::MidMarkerPos(const char*)
+ MidMarkerPos__14wxDebugContextFPCc
+ ;wxDebugContext::CallerMemPos(const char*)
+ CallerMemPos__14wxDebugContextFPCc
+ ;wxDebugContext::TraverseList(void( wxMemStruct::*)(),wxMemStruct*)
+ TraverseList__14wxDebugContextFM11wxMemStructFv_vP11wxMemStruct
+ ;wxDebugContext::m_tail
+ m_tail__14wxDebugContext
+ ;wxDebugContext::m_streamBuf
+ m_streamBuf__14wxDebugContext
+ ;wxDebugContext::m_debugStream
+ m_debugStream__14wxDebugContext
+ ;wxDebugContext::m_checkPrevious
+ m_checkPrevious__14wxDebugContext
+ ;wxDebugContext::CountObjectsLeft(unsigned long)
+ CountObjectsLeft__14wxDebugContextFUl
+ ;wxDebugContext::GetPadding(const unsigned int)
+ GetPadding__14wxDebugContextFCUi
+ ;wxTrace(const char*,...)
+ wxTrace__FPCce
+ ;wxDebugContext::TotSize(const unsigned int)
+ TotSize__14wxDebugContextFCUi
+ ;wxMemStruct::PrintNode()
+ PrintNode__11wxMemStructFv
+ ;wxMemStruct::ValidateNode()
+ ValidateNode__11wxMemStructFv
+ ;wxMemStruct::Unlink()
+ Unlink__11wxMemStructFv
+ ;wxDebugContext::SetStandardError()
+ SetStandardError__14wxDebugContextFv
+ ;wxMemStruct::Dump()
+ Dump__11wxMemStructFv
+ ;wxMemStruct::CheckAllPrevious()
+ CheckAllPrevious__11wxMemStructFv
+ ;wxDebugContext::m_head
+ m_head__14wxDebugContext
+ ;wxMemStruct::Append()
+ Append__11wxMemStructFv
+ ;wxDebugContext::Dump()
+ Dump__14wxDebugContextFv
+ ;From object file: ..\common\menucmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft13wxMenuBarBase8wxObject
+ ;wxMenuBase::DoDelete(wxMenuItem*)
+ DoDelete__10wxMenuBaseFP10wxMenuItem
+ __vft16wxwxMenuListNode10wxNodeBase
+ ;wxMenuBarBase::IsEnabled(int) const
+ IsEnabled__13wxMenuBarBaseCFi
+ ;wxMenuBarBase::IsChecked(int) const
+ IsChecked__13wxMenuBarBaseCFi
+ ;wxwxMenuItemListNode::DeleteData()
+ DeleteData__20wxwxMenuItemListNodeFv
+ ;wxMenuBase::~wxMenuBase()
+ __dt__10wxMenuBaseFv
+ ;wxMenuBarBase::FindMenu(const wxString&) const
+ FindMenu__13wxMenuBarBaseCFRC8wxString
+ ;wxMenuBarBase::SetHelpString(int,const wxString&)
+ SetHelpString__13wxMenuBarBaseFiRC8wxString
+ ;wxMenuBase::Insert(unsigned int,wxMenuItem*)
+ Insert__10wxMenuBaseFUiP10wxMenuItem
+ ;wxMenuBase::Remove(wxMenuItem*)
+ Remove__10wxMenuBaseFP10wxMenuItem
+ ;wxMenuBase::IsChecked(int) const
+ IsChecked__10wxMenuBaseCFi
+ ;wxMenuBarBase::GetLabel(int) const
+ GetLabel__13wxMenuBarBaseCFi
+ ;wxMenuBase::GetLabel(int) const
+ GetLabel__10wxMenuBaseCFi
+ ;wxMenuBase::DoRemove(wxMenuItem*)
+ DoRemove__10wxMenuBaseFP10wxMenuItem
+ ;wxMenuBase::DoInsert(unsigned int,wxMenuItem*)
+ DoInsert__10wxMenuBaseFUiP10wxMenuItem
+ ;wxMenuBase::DoDestroy(wxMenuItem*)
+ DoDestroy__10wxMenuBaseFP10wxMenuItem
+ ;wxMenuBase::Destroy(wxMenuItem*)
+ Destroy__10wxMenuBaseFP10wxMenuItem
+ ;wxMenuBase::Delete(wxMenuItem*)
+ Delete__10wxMenuBaseFP10wxMenuItem
+ ;wxMenuBase::SetHelpString(int,const wxString&)
+ SetHelpString__10wxMenuBaseFiRC8wxString
+ ;wxMenuBarBase::Append(wxMenu*,const wxString&)
+ Append__13wxMenuBarBaseFP6wxMenuRC8wxString
+ ;wxMenuBase::Check(int,unsigned long)
+ Check__10wxMenuBaseFiUl
+ __vft10wxMenuBase8wxObject
+ ;wxMenuBase::Enable(int,unsigned long)
+ Enable__10wxMenuBaseFiUl
+ ;wxMenuBase::FindChildItem(int,unsigned int*) const
+ FindChildItem__10wxMenuBaseCFiPUi
+ ;wxMenuBase::FindItem(int,wxMenu**) const
+ FindItem__10wxMenuBaseCFiPP6wxMenu
+ ;wxMenuItemBase::~wxMenuItemBase()
+ __dt__14wxMenuItemBaseFv
+ ;wxMenuBase::UpdateUI(wxEvtHandler*)
+ UpdateUI__10wxMenuBaseFP12wxEvtHandler
+ ;wxMenuBarBase::Enable(int,unsigned long)
+ Enable__13wxMenuBarBaseFiUl
+ ;wxMenuBarBase::Check(int,unsigned long)
+ Check__13wxMenuBarBaseFiUl
+ ;wxMenuBase::DoAppend(wxMenuItem*)
+ DoAppend__10wxMenuBaseFP10wxMenuItem
+ __vft20wxwxMenuItemListNode10wxNodeBase
+ ;wxMenuBarBase::GetMenu(unsigned int) const
+ GetMenu__13wxMenuBarBaseCFUi
+ ;wxMenuBarBase::GetHelpString(int) const
+ GetHelpString__13wxMenuBarBaseCFi
+ ;wxMenuBase::GetHelpString(int) const
+ GetHelpString__10wxMenuBaseCFi
+ ;wxwxMenuListNode::DeleteData()
+ DeleteData__16wxwxMenuListNodeFv
+ ;wxMenuBarBase::wxMenuBarBase()
+ __ct__13wxMenuBarBaseFv
+ ;wxMenuBarBase::Replace(unsigned int,wxMenu*,const wxString&)
+ Replace__13wxMenuBarBaseFUiP6wxMenuRC8wxString
+ ;wxMenuBarBase::SetLabel(int,const wxString&)
+ SetLabel__13wxMenuBarBaseFiRC8wxString
+ ;wxMenuBase::Init(long)
+ Init__10wxMenuBaseFl
+ __vft14wxMenuItemBase8wxObject
+ ;wxMenuItemBase::SetAccel(wxAcceleratorEntry*)
+ SetAccel__14wxMenuItemBaseFP18wxAcceleratorEntry
+ ;wxMenuBarBase::Remove(unsigned int)
+ Remove__13wxMenuBarBaseFUi
+ ;wxMenuBase::IsEnabled(int) const
+ IsEnabled__10wxMenuBaseCFi
+ ;wxMenuBarBase::~wxMenuBarBase()
+ __dt__13wxMenuBarBaseFv
+ ;wxMenuBase::FindItem(const wxString&) const
+ FindItem__10wxMenuBaseCFRC8wxString
+ ;wxMenuBase::SetLabel(int,const wxString&)
+ SetLabel__10wxMenuBaseFiRC8wxString
+ ;wxMenuBarBase::Insert(unsigned int,wxMenu*,const wxString&)
+ Insert__13wxMenuBarBaseFUiP6wxMenuRC8wxString
+ ;From object file: ..\common\mimecmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxArrayFileTypeInfo::Add(const wxFileTypeInfo&)
+ Add__19wxArrayFileTypeInfoFRC14wxFileTypeInfo
+ ;wxFileType::GetPrintCommand(wxString*,const wxFileType::MessageParameters&) const
+ GetPrintCommand__10wxFileTypeCFP8wxStringRCQ2_10wxFileType17MessageParameters
+ ;wxMimeTypesManager::GetFileTypeFromMimeType(const wxString&)
+ GetFileTypeFromMimeType__18wxMimeTypesManagerFRC8wxString
+ ;wxMimeTypesManager::EnumAllFileTypes(wxArrayString&)
+ EnumAllFileTypes__18wxMimeTypesManagerFR13wxArrayString
+ ;wxFileTypeInfo::wxFileTypeInfo(const char*,const char*,const char*,const char*,...)
+ __ct__14wxFileTypeInfoFPCcN31e
+ ;wxArrayFileTypeInfo::DoCopy(const wxArrayFileTypeInfo&)
+ DoCopy__19wxArrayFileTypeInfoFRC19wxArrayFileTypeInfo
+ ;wxMimeTypesManager::ReadMimeTypes(const wxString&)
+ ReadMimeTypes__18wxMimeTypesManagerFRC8wxString
+ ;wxFileType::ExpandCommand(const wxString&,const wxFileType::MessageParameters&)
+ ExpandCommand__10wxFileTypeFRC8wxStringRCQ2_10wxFileType17MessageParameters
+ ;wxMimeTypesManager::IsOfType(const wxString&,const wxString&)
+ IsOfType__18wxMimeTypesManagerFRC8wxStringT1
+ ;wxArrayFileTypeInfo::DoEmpty()
+ DoEmpty__19wxArrayFileTypeInfoFv
+ wxTheMimeTypesManager
+ ;wxArrayFileTypeInfo::~wxArrayFileTypeInfo()
+ __dt__19wxArrayFileTypeInfoFv
+ ;wxFileType::wxFileType()
+ __ct__10wxFileTypeFv
+ ;wxFileType::GetIcon(wxIcon*) const
+ GetIcon__10wxFileTypeCFP6wxIcon
+ ;wxMimeTypesManager::EnsureImpl()
+ EnsureImpl__18wxMimeTypesManagerFv
+ ;wxArrayFileTypeInfo::wxArrayFileTypeInfo(const wxArrayFileTypeInfo&)
+ __ct__19wxArrayFileTypeInfoFRC19wxArrayFileTypeInfo
+ ;wxFileType::GetDescription(wxString*) const
+ GetDescription__10wxFileTypeCFP8wxString
+ ;wxArrayFileTypeInfo::Index(const wxFileTypeInfo&,unsigned long) const
+ Index__19wxArrayFileTypeInfoCFRC14wxFileTypeInfoUl
+ ;wxMimeTypesManager::ReadMailcap(const wxString&,unsigned long)
+ ReadMailcap__18wxMimeTypesManagerFRC8wxStringUl
+ ;wxArrayFileTypeInfo::Insert(const wxFileTypeInfo&,unsigned int)
+ Insert__19wxArrayFileTypeInfoFRC14wxFileTypeInfoUi
+ ;wxFileType::~wxFileType()
+ __dt__10wxFileTypeFv
+ ;wxFileType::GetExtensions(wxArrayString&)
+ GetExtensions__10wxFileTypeFR13wxArrayString
+ ;wxFileType::GetMimeTypes(wxArrayString&) const
+ GetMimeTypes__10wxFileTypeCFR13wxArrayString
+ ;wxMimeTypesManager::AddFallbacks(const wxFileTypeInfo*)
+ AddFallbacks__18wxMimeTypesManagerFPC14wxFileTypeInfo
+ ;wxArrayFileTypeInfo::RemoveAt(unsigned int)
+ RemoveAt__19wxArrayFileTypeInfoFUi
+ ;wxMimeTypeCmnModule::sm_classwxMimeTypeCmnModule
+ sm_classwxMimeTypeCmnModule__19wxMimeTypeCmnModule
+ ;wxMimeTypesManager::wxMimeTypesManager()
+ __ct__18wxMimeTypesManagerFv
+ ;wxConstructorForwxMimeTypeCmnModule()
+ wxConstructorForwxMimeTypeCmnModule__Fv
+ ;wxMimeTypesManager::~wxMimeTypesManager()
+ __dt__18wxMimeTypesManagerFv
+ ;wxArrayFileTypeInfo::operator=(const wxArrayFileTypeInfo&)
+ __as__19wxArrayFileTypeInfoFRC19wxArrayFileTypeInfo
+ ;wxFileType::GetOpenCommand(wxString*,const wxFileType::MessageParameters&) const
+ GetOpenCommand__10wxFileTypeCFP8wxStringRCQ2_10wxFileType17MessageParameters
+ ;wxFileType::GetMimeType(wxString*) const
+ GetMimeType__10wxFileTypeCFP8wxString
+ ;wxMimeTypesManager::GetFileTypeFromExtension(const wxString&)
+ GetFileTypeFromExtension__18wxMimeTypesManagerFRC8wxString
+ ;From object file: ..\common\module.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxModule::sm_classwxModule
+ sm_classwxModule__8wxModule
+ ;wxModule::RegisterModules()
+ RegisterModules__8wxModuleFv
+ __vft18wxwxModuleListNode10wxNodeBase
+ ;wxwxModuleListNode::DeleteData()
+ DeleteData__18wxwxModuleListNodeFv
+ ;wxModule::InitializeModules()
+ InitializeModules__8wxModuleFv
+ ;wxModule::m_modules
+ m_modules__8wxModule
+ ;wxModule::CleanUpModules()
+ CleanUpModules__8wxModuleFv
+ ;wxModule::RegisterModule(wxModule*)
+ RegisterModule__8wxModuleFP8wxModule
+ ;From object file: ..\common\mstream.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMemoryInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__19wxMemoryInputStreamFPvUi
+ ;wxMemoryOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__20wxMemoryOutputStreamFPCvUi
+ ;wxMemoryOutputStream::CopyTo(char*,unsigned int) const
+ CopyTo__20wxMemoryOutputStreamCFPcUi
+ ;wxMemoryInputStream::~wxMemoryInputStream()
+ __dt__19wxMemoryInputStreamFv
+ ;wxMemoryOutputStream::~wxMemoryOutputStream()
+ __dt__20wxMemoryOutputStreamFv
+ ;wxMemoryInputStream::wxMemoryInputStream(const char*,unsigned int)
+ __ct__19wxMemoryInputStreamFPCcUi
+ ;wxMemoryOutputStream::wxMemoryOutputStream(char*,unsigned int)
+ __ct__20wxMemoryOutputStreamFPcUi
+ ;wxMemoryInputStream::Peek()
+ Peek__19wxMemoryInputStreamFv
+ ;wxMemoryInputStream::OnSysTell() const
+ OnSysTell__19wxMemoryInputStreamCFv
+ ;wxMemoryInputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__19wxMemoryInputStreamFl10wxSeekMode
+ __vft20wxMemoryOutputStream12wxStreamBase
+ __vft19wxMemoryInputStream12wxStreamBase
+ ;wxMemoryOutputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__20wxMemoryOutputStreamFl10wxSeekMode
+ ;wxMemoryInputStream::Eof() const
+ Eof__19wxMemoryInputStreamCFv
+ ;wxMemoryOutputStream::OnSysTell() const
+ OnSysTell__20wxMemoryOutputStreamCFv
+ ;From object file: ..\common\object.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft8wxObject
+ ;wxCreateStoredObject(wxInputStream&)
+ wxCreateStoredObject__FR13wxInputStream
+ __vft15wxObjectRefData
+ ;wxCreateDynamicObject(const char*)
+ wxCreateDynamicObject__FPCc
+ ;wxObject::Dump(ostream&)
+ Dump__8wxObjectFR7ostream
+ wxTrue
+ ;wxObject::LoadObject(wxObjectInputStream&)
+ LoadObject__8wxObjectFR19wxObjectInputStream
+ ;wxClassInfo::FindClass(char*)
+ FindClass__11wxClassInfoFPc
+ ;wxClassInfo::sm_classTable
+ sm_classTable__11wxClassInfo
+ ;wxObject::CopyObject(wxObject&) const
+ CopyObject__8wxObjectCFR8wxObject
+ ;wxObject::StoreObject(wxObjectOutputStream&)
+ StoreObject__8wxObjectFR20wxObjectOutputStream
+ ;wxObjectRefData::~wxObjectRefData()
+ __dt__15wxObjectRefDataFv
+ ;wxObject::Clone() const
+ Clone__8wxObjectCFv
+ ;wxClassInfo::sm_first
+ sm_first__11wxClassInfo
+ ;wxObject::Ref(const wxObject&)
+ Ref__8wxObjectFRC8wxObject
+ ;wxClassInfo::wxClassInfo(char*,char*,char*,int,wxObject*(*)())
+ __ct__11wxClassInfoFPcN21iPFv_P8wxObject
+ wxFalse
+ ;wxObjectRefData::wxObjectRefData()
+ __ct__15wxObjectRefDataFv
+ ;wxObject::UnRef()
+ UnRef__8wxObjectFv
+ ;wxClassInfo::CreateObject()
+ CreateObject__11wxClassInfoFv
+ ;wxClassInfo::CleanUpClasses()
+ CleanUpClasses__11wxClassInfoFv
+ ;wxObject::IsKindOf(wxClassInfo*) const
+ IsKindOf__8wxObjectCFP11wxClassInfo
+ ;wxObject::sm_classwxObject
+ sm_classwxObject__8wxObject
+ ;wxObject::operator new(unsigned int,char*,int)
+ __nw__8wxObjectFUiPci
+ ;wxObject::wxObject()
+ __ct__8wxObjectFv
+ ;wxObject::~wxObject()
+ __dt__8wxObjectFv
+ ;wxObject::operator delete(void*)
+ __dl__8wxObjectFPv
+ ;wxClassInfo::InitializeClasses()
+ InitializeClasses__11wxClassInfoFv
+ ;wxClassInfo::IsKindOf(wxClassInfo*) const
+ IsKindOf__11wxClassInfoCFP11wxClassInfo
+ ;From object file: ..\common\objstrm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxObjectOutputStream::AddChild(wxObject*)
+ AddChild__20wxObjectOutputStreamFP8wxObject
+ ;wxObjectOutputStream::SaveObject(wxObject&)
+ SaveObject__20wxObjectOutputStreamFR8wxObject
+ ;wxObjectInputStream::LoadObject()
+ LoadObject__19wxObjectInputStreamFv
+ ;wxObjectOutputStream::WriteObjectDef(wxObjectStreamInfo&)
+ WriteObjectDef__20wxObjectOutputStreamFR18wxObjectStreamInfo
+ ;wxObjectInputStream::ProcessObjectData(wxObjectStreamInfo*)
+ ProcessObjectData__19wxObjectInputStreamFP18wxObjectStreamInfo
+ ;wxObjectOutputStream::wxObjectOutputStream(wxOutputStream&)
+ __ct__20wxObjectOutputStreamFR14wxOutputStream
+ ;wxObjectInputStream::wxObjectInputStream(wxInputStream&)
+ __ct__19wxObjectInputStreamFR13wxInputStream
+ ;wxObjectInputStream::GetChild(int) const
+ GetChild__19wxObjectInputStreamCFi
+ ;wxObjectInputStream::GetParent() const
+ GetParent__19wxObjectInputStreamCFv
+ ;wxObjectOutputStream::ProcessObjectDef(wxObjectStreamInfo*)
+ ProcessObjectDef__20wxObjectOutputStreamFP18wxObjectStreamInfo
+ ;wxObjectInputStream::ProcessObjectDef(wxObjectStreamInfo*)
+ ProcessObjectDef__19wxObjectInputStreamFP18wxObjectStreamInfo
+ ;wxObjectOutputStream::GetObjectName(wxObject*)
+ GetObjectName__20wxObjectOutputStreamFP8wxObject
+ ;wxObjectInputStream::GetChild()
+ GetChild__19wxObjectInputStreamFv
+ ;wxObjectOutputStream::ProcessObjectData(wxObjectStreamInfo*)
+ ProcessObjectData__20wxObjectOutputStreamFP18wxObjectStreamInfo
+ ;wxObjectInputStream::SolveName(const wxString&) const
+ SolveName__19wxObjectInputStreamCFRC8wxString
+ ;wxObjectInputStream::ReadObjectDef(wxObjectStreamInfo*)
+ ReadObjectDef__19wxObjectInputStreamFP18wxObjectStreamInfo
+ ;wxObjectInputStream::RemoveChildren(int)
+ RemoveChildren__19wxObjectInputStreamFi
+ ;From object file: ..\common\odbc.cpp
+ ;From object file: ..\common\paper.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft18wxPrintPaperModule8wxObject
+ ;wxPrintPaperModule::sm_classwxPrintPaperModule
+ sm_classwxPrintPaperModule__18wxPrintPaperModule
+ ;wxPrintPaperType::GetSizeDeviceUnits() const
+ GetSizeDeviceUnits__16wxPrintPaperTypeCFv
+ ;wxPrintPaperDatabase::FindPaperType(const wxSize&)
+ FindPaperType__20wxPrintPaperDatabaseFRC6wxSize
+ wxThePrintPaperDatabase
+ ;wxPrintPaperDatabase::sm_classwxPrintPaperDatabase
+ sm_classwxPrintPaperDatabase__20wxPrintPaperDatabase
+ ;wxConstructorForwxPrintPaperDatabase()
+ wxConstructorForwxPrintPaperDatabase__Fv
+ ;wxPrintPaperType::wxPrintPaperType(wxPaperSize,int,const wxString&,int,int)
+ __ct__16wxPrintPaperTypeF11wxPaperSizeiRC8wxStringN22
+ ;wxPrintPaperDatabase::ClearDatabase()
+ ClearDatabase__20wxPrintPaperDatabaseFv
+ ;wxPrintPaperDatabase::AddPaperType(wxPaperSize,int,const wxString&,int,int)
+ AddPaperType__20wxPrintPaperDatabaseF11wxPaperSizeiRC8wxStringN22
+ ;wxPrintPaperDatabase::ConvertNameToId(const wxString&)
+ ConvertNameToId__20wxPrintPaperDatabaseFRC8wxString
+ ;wxPrintPaperDatabase::CreateDatabase()
+ CreateDatabase__20wxPrintPaperDatabaseFv
+ ;wxPrintPaperDatabase::FindPaperTypeByPlatformId(int)
+ FindPaperTypeByPlatformId__20wxPrintPaperDatabaseFi
+ ;wxPrintPaperDatabase::GetSize(wxPaperSize)
+ GetSize__20wxPrintPaperDatabaseF11wxPaperSize
+ ;wxPrintPaperDatabase::ConvertIdToName(wxPaperSize)
+ ConvertIdToName__20wxPrintPaperDatabaseF11wxPaperSize
+ ;wxConstructorForwxPrintPaperModule()
+ wxConstructorForwxPrintPaperModule__Fv
+ ;wxPrintPaperModule::OnInit()
+ OnInit__18wxPrintPaperModuleFv
+ ;wxPrintPaperModule::OnExit()
+ OnExit__18wxPrintPaperModuleFv
+ ;wxPrintPaperDatabase::FindPaperType(const wxString&)
+ FindPaperType__20wxPrintPaperDatabaseFRC8wxString
+ ;wxPrintPaperDatabase::FindPaperType(wxPaperSize)
+ FindPaperType__20wxPrintPaperDatabaseF11wxPaperSize
+ ;wxPrintPaperType::sm_classwxPrintPaperType
+ sm_classwxPrintPaperType__16wxPrintPaperType
+ ;wxPrintPaperDatabase::GetSize(const wxSize&)
+ GetSize__20wxPrintPaperDatabaseFRC6wxSize
+ ;wxConstructorForwxPrintPaperType()
+ wxConstructorForwxPrintPaperType__Fv
+ ;wxPrintPaperDatabase::wxPrintPaperDatabase()
+ __ct__20wxPrintPaperDatabaseFv
+ ;wxPrintPaperType::wxPrintPaperType()
+ __ct__16wxPrintPaperTypeFv
+ ;wxPrintPaperDatabase::AddPaperType(wxPaperSize,const wxString&,int,int)
+ AddPaperType__20wxPrintPaperDatabaseF11wxPaperSizeRC8wxStringiT3
+ ;From object file: ..\common\prntbase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPreviewControlBar::OnZoom(wxCommandEvent&)
+ OnZoom__19wxPreviewControlBarFR14wxCommandEvent
+ ;wxPrintout::sm_classwxPrintout
+ sm_classwxPrintout__10wxPrintout
+ __vft18wxPrintPreviewBase8wxObject
+ ;wxPreviewFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__14wxPreviewFrameFR12wxCloseEvent
+ ;wxPreviewFrame::sm_classwxPreviewFrame
+ sm_classwxPreviewFrame__14wxPreviewFrame
+ ;wxPrintPreviewBase::sm_classwxPrintPreviewBase
+ sm_classwxPrintPreviewBase__18wxPrintPreviewBase
+ ;wxPrintAbortDialog::GetEventTable() const
+ GetEventTable__18wxPrintAbortDialogCFv
+ ;wxPrintout::OnBeginPrinting()
+ OnBeginPrinting__10wxPrintoutFv
+ ;wxPreviewControlBar::GetZoomControl()
+ GetZoomControl__19wxPreviewControlBarFv
+ ;wxPreviewCanvas::GetEventTable() const
+ GetEventTable__15wxPreviewCanvasCFv
+ ;wxPreviewFrame::GetEventTable() const
+ GetEventTable__14wxPreviewFrameCFv
+ ;wxPreviewFrame::CreateControlBar()
+ CreateControlBar__14wxPreviewFrameFv
+ ;wxPrintAbortDialog::OnCancel(wxCommandEvent&)
+ OnCancel__18wxPrintAbortDialogFR14wxCommandEvent
+ __vft18wxPrintAbortDialog8wxObject
+ __vft10wxPrintout8wxObject
+ ;wxPrintout::HasPage(int)
+ HasPage__10wxPrintoutFi
+ ;wxPrinterBase::sm_lastError
+ sm_lastError__13wxPrinterBase
+ ;wxPrinterBase::sm_abortWindow
+ sm_abortWindow__13wxPrinterBase
+ ;wxPrintPreviewBase::wxPrintPreviewBase(wxPrintout*,wxPrintout*,wxPrintDialogData*)
+ __ct__18wxPrintPreviewBaseFP10wxPrintoutT1P17wxPrintDialogData
+ ;wxPrintPreviewBase::wxPrintPreviewBase(wxPrintout*,wxPrintout*,wxPrintData*)
+ __ct__18wxPrintPreviewBaseFP10wxPrintoutT1P11wxPrintData
+ ;wxPrintPreviewBase::SetZoom(int)
+ SetZoom__18wxPrintPreviewBaseFi
+ ;wxPrintout::GetPageInfo(int*,int*,int*,int*)
+ GetPageInfo__10wxPrintoutFPiN31
+ ;wxPrinterBase::~wxPrinterBase()
+ __dt__13wxPrinterBaseFv
+ ;wxPreviewControlBar::sm_eventTable
+ sm_eventTable__19wxPreviewControlBar
+ ;wxPreviewFrame::CreateCanvas()
+ CreateCanvas__14wxPreviewFrameFv
+ ;wxPreviewControlBar::CreateButtons()
+ CreateButtons__19wxPreviewControlBarFv
+ ;wxPrintout::wxPrintout(const wxString&)
+ __ct__10wxPrintoutFRC8wxString
+ ;wxPrintAbortDialog::sm_eventTable
+ sm_eventTable__18wxPrintAbortDialog
+ ;wxPrintAbortDialog::sm_eventTableEntries
+ sm_eventTableEntries__18wxPrintAbortDialog
+ ;wxPreviewCanvas::sm_classwxPreviewCanvas
+ sm_classwxPreviewCanvas__15wxPreviewCanvas
+ ;wxPreviewCanvas::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__15wxPreviewCanvasFR23wxSysColourChangedEvent
+ __vft15wxPreviewCanvas8wxObject
+ __vft13wxPrinterBase8wxObject
+ ;wxPreviewControlBar::OnPaint(wxPaintEvent&)
+ OnPaint__19wxPreviewControlBarFR12wxPaintEvent
+ ;wxPreviewControlBar::OnChar(wxKeyEvent&)
+ OnChar__19wxPreviewControlBarFR10wxKeyEvent
+ ;wxPrinterBase::wxPrinterBase(wxPrintDialogData*)
+ __ct__13wxPrinterBaseFP17wxPrintDialogData
+ ;wxPrinterBase::sm_abortIt
+ sm_abortIt__13wxPrinterBase
+ ;wxPrintPreviewBase::RenderPage(int)
+ RenderPage__18wxPrintPreviewBaseFi
+ ;wxPrintout::OnBeginDocument(int,int)
+ OnBeginDocument__10wxPrintoutFiT1
+ ;wxPrintPreviewBase::Init(wxPrintout*,wxPrintout*)
+ Init__18wxPrintPreviewBaseFP10wxPrintoutT1
+ ;wxPrintout::~wxPrintout()
+ __dt__10wxPrintoutFv
+ ;wxPrintout::OnEndDocument()
+ OnEndDocument__10wxPrintoutFv
+ ;wxPreviewCanvas::wxPreviewCanvas(wxPrintPreviewBase*,wxWindow*,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__15wxPreviewCanvasFP18wxPrintPreviewBaseP8wxWindowRC7wxPointRC6wxSizelRC8wxString
+ ;wxPreviewCanvas::sm_eventTableEntries
+ sm_eventTableEntries__15wxPreviewCanvas
+ ;wxPrintPreviewBase::DrawBlankPage(wxWindow*,wxDC&)
+ DrawBlankPage__18wxPrintPreviewBaseFP8wxWindowR4wxDC
+ ;wxPrinterBase::CreateAbortWindow(wxWindow*,wxPrintout*)
+ CreateAbortWindow__13wxPrinterBaseFP8wxWindowP10wxPrintout
+ __vft19wxPreviewControlBar8wxObject
+ __vft14wxPreviewFrame8wxObject
+ ;wxPreviewCanvas::OnPaint(wxPaintEvent&)
+ OnPaint__15wxPreviewCanvasFR12wxPaintEvent
+ ;wxPreviewControlBar::SetZoomControl(int)
+ SetZoomControl__19wxPreviewControlBarFi
+ ;wxPreviewFrame::sm_eventTable
+ sm_eventTable__14wxPreviewFrame
+ ;wxPrinterBase::sm_classwxPrinterBase
+ sm_classwxPrinterBase__13wxPrinterBase
+ ;wxPrintout::OnEndPrinting()
+ OnEndPrinting__10wxPrintoutFv
+ ;wxPreviewControlBar::sm_eventTableEntries
+ sm_eventTableEntries__19wxPreviewControlBar
+ ;wxPreviewControlBar::sm_classwxPreviewControlBar
+ sm_classwxPreviewControlBar__19wxPreviewControlBar
+ ;wxPreviewControlBar::~wxPreviewControlBar()
+ __dt__19wxPreviewControlBarFv
+ ;wxPrintPreviewBase::~wxPrintPreviewBase()
+ __dt__18wxPrintPreviewBaseFv
+ ;wxPreviewFrame::Initialize()
+ Initialize__14wxPreviewFrameFv
+ ;wxPreviewControlBar::wxPreviewControlBar(wxPrintPreviewBase*,long,wxWindow*,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__19wxPreviewControlBarFP18wxPrintPreviewBaselP8wxWindowRC7wxPointRC6wxSizeT2RC8wxString
+ ;wxPreviewCanvas::sm_eventTable
+ sm_eventTable__15wxPreviewCanvas
+ ;wxPreviewControlBar::OnWindowClose(wxCommandEvent&)
+ OnWindowClose__19wxPreviewControlBarFR14wxCommandEvent
+ ;wxPreviewControlBar::OnPrint(wxCommandEvent&)
+ OnPrint__19wxPreviewControlBarFR14wxCommandEvent
+ ;wxPrintPreviewBase::SetCurrentPage(int)
+ SetCurrentPage__18wxPrintPreviewBaseFi
+ ;wxPreviewFrame::sm_eventTableEntries
+ sm_eventTableEntries__14wxPreviewFrame
+ ;wxPreviewControlBar::OnNext()
+ OnNext__19wxPreviewControlBarFv
+ ;wxPreviewCanvas::~wxPreviewCanvas()
+ __dt__15wxPreviewCanvasFv
+ ;wxPreviewFrame::~wxPreviewFrame()
+ __dt__14wxPreviewFrameFv
+ ;wxPreviewControlBar::OnPrevious()
+ OnPrevious__19wxPreviewControlBarFv
+ ;wxPreviewControlBar::GetEventTable() const
+ GetEventTable__19wxPreviewControlBarCFv
+ ;wxPrinterBase::ReportError(wxWindow*,wxPrintout*,char*)
+ ReportError__13wxPrinterBaseFP8wxWindowP10wxPrintoutPc
+ ;wxPreviewFrame::wxPreviewFrame(wxPrintPreviewBase*,wxFrame*,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__14wxPreviewFrameFP18wxPrintPreviewBaseP7wxFrameRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxPrintPreviewBase::PaintPage(wxWindow*,wxDC&)
+ PaintPage__18wxPrintPreviewBaseFP8wxWindowR4wxDC
+ ;From object file: ..\common\process.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxProcess::SetPipeStreams(wxInputStream*,wxOutputStream*,wxInputStream*)
+ SetPipeStreams__9wxProcessFP13wxInputStreamP14wxOutputStreamT1
+ ;wxConstructorForwxProcess()
+ wxConstructorForwxProcess__Fv
+ ;wxProcess::Init(wxEvtHandler*,int,unsigned long)
+ Init__9wxProcessFP12wxEvtHandleriUl
+ __vft9wxProcess8wxObject
+ ;wxProcess::~wxProcess()
+ __dt__9wxProcessFv
+ ;wxConstructorForwxProcessEvent()
+ wxConstructorForwxProcessEvent__Fv
+ ;wxProcess::sm_classwxProcess
+ sm_classwxProcess__9wxProcess
+ ;wxProcessEvent::sm_classwxProcessEvent
+ sm_classwxProcessEvent__14wxProcessEvent
+ ;wxProcess::OnTerminate(int,int)
+ OnTerminate__9wxProcessFiT1
+ ;wxProcess::Detach()
+ Detach__9wxProcessFv
+ ;From object file: ..\common\protocol.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxProtocol::wxProtocol()
+ __ct__10wxProtocolFv
+ ;wxProtocol::Reconnect()
+ Reconnect__10wxProtocolFv
+ ;wxProtocol::ReadLine(wxString&)
+ ReadLine__10wxProtocolFR8wxString
+ ;wxProtocol::sm_classwxProtocol
+ sm_classwxProtocol__10wxProtocol
+ __vft10wxProtocol8wxObject
+ ;wxProtoInfo::wxProtoInfo(const char*,const char*,const unsigned long,wxClassInfo*)
+ __ct__11wxProtoInfoFPCcT1CUlP11wxClassInfo
+ ;GetLine(wxSocketBase*,wxString&)
+ GetLine__FP12wxSocketBaseR8wxString
+ ;wxProtocol::ReadLine(wxSocketBase*,wxString&)
+ ReadLine__10wxProtocolFP12wxSocketBaseR8wxString
+ ;From object file: ..\common\quantize.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;compute_color(j_decompress*,box*,int)
+ compute_color__FP12j_decompressP3boxi
+ ;wxConstructorForwxQuantize()
+ wxConstructorForwxQuantize__Fv
+ ;update_box(j_decompress*,box*)
+ update_box__FP12j_decompressP3box
+ ;find_biggest_color_pop(box*,int)
+ find_biggest_color_pop__FP3boxi
+ ;wxQuantize::sm_classwxQuantize
+ sm_classwxQuantize__10wxQuantize
+ ;pass2_no_dither(j_decompress*,unsigned char**,unsigned char**,int)
+ pass2_no_dither__FP12j_decompressPPUcT2i
+ ;find_biggest_volume(box*,int)
+ find_biggest_volume__FP3boxi
+ ;wxQuantize::DoQuantize(unsigned int,unsigned int,unsigned char**,unsigned char**,unsigned char*,int)
+ DoQuantize__10wxQuantizeFUiT1PPUcT3PUci
+ ;finish_pass1(j_decompress*)
+ finish_pass1__FP12j_decompress
+ ;pass2_fs_dither(j_decompress*,unsigned char**,unsigned char**,int)
+ pass2_fs_dither__FP12j_decompressPPUcT2i
+ ;median_cut(j_decompress*,box*,int,int)
+ median_cut__FP12j_decompressP3boxiT3
+ ;new_color_map_2_quant(j_decompress*)
+ new_color_map_2_quant__FP12j_decompress
+ ;wxQuantize::Quantize(const wxImage&,wxImage&,wxPalette**,int,unsigned char**,int)
+ Quantize__10wxQuantizeFRC7wxImageR7wxImagePP9wxPaletteiPPUcT4
+ ;finish_pass2(j_decompress*)
+ finish_pass2__FP12j_decompress
+ ;prepare_range_limit_table(j_decompress*)
+ prepare_range_limit_table__FP12j_decompress
+ ;start_pass_2_quant(j_decompress*,unsigned long)
+ start_pass_2_quant__FP12j_decompressUl
+ ;prescan_quantize(j_decompress*,unsigned char**,unsigned char**,int)
+ prescan_quantize__FP12j_decompressPPUcT2i
+ ;jinit_2pass_quantizer(j_decompress*)
+ jinit_2pass_quantizer__FP12j_decompress
+ ;wxQuantize::Quantize(const wxImage&,wxImage&,int,unsigned char**,int)
+ Quantize__10wxQuantizeFRC7wxImageR7wxImageiPPUcT3
+ ;From object file: ..\common\resource.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxResourceTable::ParseResourceFile(wxInputStream*)
+ ParseResourceFile__15wxResourceTableFP13wxInputStream
+ ;wxResourceReadOneResource(__file*,wxExprDatabase&,unsigned long*,wxResourceTable*)
+ wxResourceReadOneResource__FP6__fileR14wxExprDatabasePUlP15wxResourceTable
+ ;wxResourceReadOneResourceString(char*,wxExprDatabase&,unsigned long*,wxResourceTable*)
+ wxResourceReadOneResourceString__FPcR14wxExprDatabasePUlP15wxResourceTable
+ ;wxResourceParseIncludeFile(const wxString&,wxResourceTable*)
+ wxResourceParseIncludeFile__FRC8wxStringP15wxResourceTable
+ ;wxResourceGetIdentifier(const wxString&,wxResourceTable*)
+ wxResourceGetIdentifier__FRC8wxStringP15wxResourceTable
+ ;wxResourceClear(wxResourceTable*)
+ wxResourceClear__FP15wxResourceTable
+ ;wxGetResourceToken(__file*)
+ wxGetResourceToken__FP6__file
+ wxDefaultResourceTable
+ ;wxItemResource::wxItemResource()
+ __ct__14wxItemResourceFv
+ ;wxResourceInterpretMenuBar(wxResourceTable&,wxExpr*)
+ wxResourceInterpretMenuBar__FR15wxResourceTableP6wxExpr
+ ;wxResourceInterpretIcon(wxResourceTable&,wxExpr*)
+ wxResourceInterpretIcon__FR15wxResourceTableP6wxExpr
+ ;wxResourceTable::SaveResource(const wxString&)
+ SaveResource__15wxResourceTableFRC8wxString
+ ;wxEatWhiteSpaceString(char*)
+ wxEatWhiteSpaceString__FPc
+ __vft14wxItemResource8wxObject
+ ;wxResourceInterpretResources(wxResourceTable&,wxExprDatabase&)
+ wxResourceInterpretResources__FR15wxResourceTableR14wxExprDatabase
+ ;wxResourceRegisterBitmapData(const wxString&,char**,wxResourceTable*)
+ wxResourceRegisterBitmapData__FRC8wxStringPPcP15wxResourceTable
+ ;wxResourceCreateMenu(wxItemResource*)
+ wxResourceCreateMenu__FP14wxItemResource
+ ;wxResourceCreateBitmap(const wxString&,wxResourceTable*)
+ wxResourceCreateBitmap__FRC8wxStringP15wxResourceTable
+ wxResourceBufferSize
+ ;wxWindowBase::LoadFromResource(wxWindow*,const wxString&,const wxResourceTable*)
+ LoadFromResource__12wxWindowBaseFP8wxWindowRC8wxStringPC15wxResourceTable
+ ;wxConstructorForwxResourceTable()
+ wxConstructorForwxResourceTable__Fv
+ wxResourceStringPtr
+ ;wxResourceInterpretString(wxResourceTable&,wxExpr*)
+ wxResourceInterpretString__FR15wxResourceTableP6wxExpr
+ ;wxResourceInterpretMenu(wxResourceTable&,wxExpr*)
+ wxResourceInterpretMenu__FR15wxResourceTableP6wxExpr
+ ;wxResourceInterpretMenuItem(wxResourceTable&,wxExpr*)
+ wxResourceInterpretMenuItem__FR15wxResourceTableP6wxExpr
+ ;wxResourceCreateMenuBar(const wxString&,wxResourceTable*,wxMenuBar*)
+ wxResourceCreateMenuBar__FRC8wxStringP15wxResourceTableP9wxMenuBar
+ wxResourceBuffer
+ ;wxItemResource::~wxItemResource()
+ __dt__14wxItemResourceFv
+ ;wxResourceTable::ParseResourceData(const wxString&)
+ ParseResourceData__15wxResourceTableFRC8wxString
+ ;wxResourceTable::RegisterResourceBitmapData(const wxString&,char*,int,int)
+ RegisterResourceBitmapData__15wxResourceTableFRC8wxStringPciT3
+ ;wxResourceTable::AddResource(wxItemResource*)
+ AddResource__15wxResourceTableFP14wxItemResource
+ ;wxResourceParseWord(char*,int*)
+ wxResourceParseWord__FPcPi
+ ;wxResourceParseData(const wxString&,wxResourceTable*)
+ wxResourceParseData__FRC8wxStringP15wxResourceTable
+ ;wxResourceCreateMenu(const wxString&,wxResourceTable*)
+ wxResourceCreateMenu__FRC8wxStringP15wxResourceTable
+ ;wxInitializeResourceSystem()
+ wxInitializeResourceSystem__Fv
+ ;wxResourceInterpretFontSpec(wxExpr*)
+ wxResourceInterpretFontSpec__FP6wxExpr
+ ;wxResourceInterpretControl(wxResourceTable&,wxExpr*)
+ wxResourceInterpretControl__FR15wxResourceTableP6wxExpr
+ ;wxResourceTable::~wxResourceTable()
+ __dt__15wxResourceTableFv
+ ;wxResourceTable::ClearTable()
+ ClearTable__15wxResourceTableFv
+ ;wxLogWarning(char*)
+ wxLogWarning__FPc
+ ;wxGetResourceTokenString(char*)
+ wxGetResourceTokenString__FPc
+ ;wxResourceTable::ParseResourceFile(const wxString&)
+ ParseResourceFile__15wxResourceTableFRC8wxString
+ ;wxResourceTable::FindResource(const wxString&) const
+ FindResource__15wxResourceTableCFRC8wxString
+ ;wxResourceInterpretDialog(wxResourceTable&,wxExpr*,unsigned long)
+ wxResourceInterpretDialog__FR15wxResourceTableP6wxExprUl
+ __vft15wxResourceTable8wxObject
+ ;wxWindowBase::CreateItem(const wxItemResource*,const wxItemResource*,const wxResourceTable*)
+ CreateItem__12wxWindowBaseFPC14wxItemResourceT1PC15wxResourceTable
+ ;wxResourceParseString(char*,wxResourceTable*)
+ wxResourceParseString__FPcP15wxResourceTable
+ ;wxGetResourceToken(wxInputStream*)
+ wxGetResourceToken__FP13wxInputStream
+ ;wxResourceTable::sm_classwxResourceTable
+ sm_classwxResourceTable__15wxResourceTable
+ ;wxItemResource::sm_classwxItemResource
+ sm_classwxItemResource__14wxItemResource
+ ;wxResourceTable::wxResourceTable()
+ __ct__15wxResourceTableFv
+ ;wxResourceInterpretBitmap(wxResourceTable&,wxExpr*)
+ wxResourceInterpretBitmap__FR15wxResourceTableP6wxExpr
+ ;wxCleanUpResourceSystem()
+ wxCleanUpResourceSystem__Fv
+ wxResourceBufferCount
+ ;wxResourceReadOneResource(wxInputStream*,wxExprDatabase&,unsigned long*,wxResourceTable*)
+ wxResourceReadOneResource__FP13wxInputStreamR14wxExprDatabasePUlP15wxResourceTable
+ ;wxResourceRegisterBitmapData(const wxString&,char*,int,int,wxResourceTable*)
+ wxResourceRegisterBitmapData__FRC8wxStringPciT3P15wxResourceTable
+ ;wxResourceParseFile(const wxString&,wxResourceTable*)
+ wxResourceParseFile__FRC8wxStringP15wxResourceTable
+ ;wxResourceCreateIcon(const wxString&,wxResourceTable*)
+ wxResourceCreateIcon__FRC8wxStringP15wxResourceTable
+ ;wxResourceAddIdentifier(const wxString&,int,wxResourceTable*)
+ wxResourceAddIdentifier__FRC8wxStringiP15wxResourceTable
+ ;wxConstructorForwxItemResource()
+ wxConstructorForwxItemResource__Fv
+ ;wxReallocateResourceBuffer()
+ wxReallocateResourceBuffer__Fv
+ ;wxResourceTable::CreateItem(wxWindow*,const wxItemResource*,const wxItemResource*) const
+ CreateItem__15wxResourceTableCFP8wxWindowPC14wxItemResourceT2
+ ;wxResourceTable::DeleteResource(const wxString&)
+ DeleteResource__15wxResourceTableFRC8wxString
+ ;wxParseWindowStyle(const wxString&)
+ wxParseWindowStyle__FRC8wxString
+ ;wxResourceTable::RegisterResourceBitmapData(const wxString&,char**)
+ RegisterResourceBitmapData__15wxResourceTableFRC8wxStringPPc
+ ;From object file: ..\common\sckaddr.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft13wxSockAddress8wxObject
+ ;wxIPV4address::AnyAddress()
+ AnyAddress__13wxIPV4addressFv
+ ;wxIPV4address::Hostname()
+ Hostname__13wxIPV4addressFv
+ ;wxSockAddress::SetAddress(_GAddress*)
+ SetAddress__13wxSockAddressFP9_GAddress
+ ;wxSockAddress::operator=(const wxSockAddress&)
+ __as__13wxSockAddressFRC13wxSockAddress
+ ;wxIPV4address::Service(unsigned short)
+ Service__13wxIPV4addressFUs
+ ;wxIPV4address::Service(const wxString&)
+ Service__13wxIPV4addressFRC8wxString
+ ;wxIPV4address::Hostname(unsigned long)
+ Hostname__13wxIPV4addressFUl
+ ;wxSockAddress::~wxSockAddress()
+ __dt__13wxSockAddressFv
+ ;wxIPV4address::~wxIPV4address()
+ __dt__13wxIPV4addressFv
+ ;wxSockAddress::sm_classwxSockAddress
+ sm_classwxSockAddress__13wxSockAddress
+ ;wxConstructorForwxIPV4address()
+ wxConstructorForwxIPV4address__Fv
+ ;wxSockAddress::wxSockAddress()
+ __ct__13wxSockAddressFv
+ ;wxIPV4address::wxIPV4address()
+ __ct__13wxIPV4addressFv
+ ;wxIPV4address::Service()
+ Service__13wxIPV4addressFv
+ ;wxSockAddress::CopyObject(wxObject&) const
+ CopyObject__13wxSockAddressCFR8wxObject
+ __vft13wxIPV4address8wxObject
+ ;wxSockAddress::Clear()
+ Clear__13wxSockAddressFv
+ ;wxIPV4address::LocalHost()
+ LocalHost__13wxIPV4addressFv
+ ;wxIPV4address::Hostname(const wxString&)
+ Hostname__13wxIPV4addressFRC8wxString
+ ;wxIPV4address::sm_classwxIPV4address
+ sm_classwxIPV4address__13wxIPV4address
+ ;From object file: ..\common\sckfile.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFileProto::sm_classwxFileProto
+ sm_classwxFileProto__11wxFileProto
+ ;wxFileProto::wxFileProto()
+ __ct__11wxFileProtoFv
+ ;wxFileProto::~wxFileProto()
+ __dt__11wxFileProtoFv
+ ;wxFileProto::GetInputStream(const wxString&)
+ GetInputStream__11wxFileProtoFRC8wxString
+ __vft11wxFileProto8wxObject
+ ;wxConstructorForwxFileProto()
+ wxConstructorForwxFileProto__Fv
+ ;wxFileProto::g_proto_wxFileProto
+ g_proto_wxFileProto__11wxFileProto
+ ;From object file: ..\common\sckipc.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTCPConnection::Compress(unsigned long)
+ Compress__15wxTCPConnectionFUl
+ __vft15wxTCPConnection8wxObject
+ __vft11wxTCPServer8wxObject
+ ;wxTCPConnection::Advise(const wxString&,char*,int,wxIPCFormat)
+ Advise__15wxTCPConnectionFRC8wxStringPci11wxIPCFormat
+ ;wxTCPClient::wxTCPClient()
+ __ct__11wxTCPClientFv
+ ;wxTCPEventHandler::sm_eventTableEntries
+ sm_eventTableEntries__17wxTCPEventHandler
+ ;wxTCPServer::sm_classwxTCPServer
+ sm_classwxTCPServer__11wxTCPServer
+ ;wxTCPClient::sm_classwxTCPClient
+ sm_classwxTCPClient__11wxTCPClient
+ ;wxConstructorForwxTCPServer()
+ wxConstructorForwxTCPServer__Fv
+ ;wxConstructorForwxTCPEventHandlerModule()
+ wxConstructorForwxTCPEventHandlerModule__Fv
+ ;wxTCPServer::~wxTCPServer()
+ __dt__11wxTCPServerFv
+ ;wxTCPConnection::Disconnect()
+ Disconnect__15wxTCPConnectionFv
+ ;wxTCPClient::ValidHost(const wxString&)
+ ValidHost__11wxTCPClientFRC8wxString
+ ;wxTCPConnection::StartAdvise(const wxString&)
+ StartAdvise__15wxTCPConnectionFRC8wxString
+ ;wxTCPServer::OnAcceptConnection(const wxString&)
+ OnAcceptConnection__11wxTCPServerFRC8wxString
+ ;wxTCPServer::Create(const wxString&)
+ Create__11wxTCPServerFRC8wxString
+ ;wxTCPConnection::Poke(const wxString&,char*,int,wxIPCFormat)
+ Poke__15wxTCPConnectionFRC8wxStringPci11wxIPCFormat
+ ;wxTCPEventHandler::Client_OnRequest(wxSocketEvent&)
+ Client_OnRequest__17wxTCPEventHandlerFR13wxSocketEvent
+ ;wxTCPClient::MakeConnection(const wxString&,const wxString&,const wxString&)
+ MakeConnection__11wxTCPClientFRC8wxStringN21
+ ;wxTCPEventHandlerModule::sm_classwxTCPEventHandlerModule
+ sm_classwxTCPEventHandlerModule__23wxTCPEventHandlerModule
+ ;wxTCPConnection::wxTCPConnection(char*,int)
+ __ct__15wxTCPConnectionFPci
+ ;wxTCPServer::wxTCPServer()
+ __ct__11wxTCPServerFv
+ ;wxConstructorForwxTCPClient()
+ wxConstructorForwxTCPClient__Fv
+ ;wxTCPEventHandler::sm_eventTable
+ sm_eventTable__17wxTCPEventHandler
+ ;wxTCPConnection::~wxTCPConnection()
+ __dt__15wxTCPConnectionFv
+ ;wxTCPConnection::Execute(const char*,int,wxIPCFormat)
+ Execute__15wxTCPConnectionFPCci11wxIPCFormat
+ __vft17wxTCPEventHandler8wxObject
+ ;wxTCPConnection::Request(const wxString&,int*,wxIPCFormat)
+ Request__15wxTCPConnectionFRC8wxStringPi11wxIPCFormat
+ ;wxTCPConnection::wxTCPConnection()
+ __ct__15wxTCPConnectionFv
+ ;wxTCPConnection::sm_classwxTCPConnection
+ sm_classwxTCPConnection__15wxTCPConnection
+ ;wxTCPEventHandler::GetEventTable() const
+ GetEventTable__17wxTCPEventHandlerCFv
+ ;wxTCPConnection::StopAdvise(const wxString&)
+ StopAdvise__15wxTCPConnectionFRC8wxString
+ ;wxTCPEventHandler::Server_OnRequest(wxSocketEvent&)
+ Server_OnRequest__17wxTCPEventHandlerFR13wxSocketEvent
+ __vft11wxTCPClient8wxObject
+ ;wxTCPClient::~wxTCPClient()
+ __dt__11wxTCPClientFv
+ ;wxTCPClient::OnMakeConnection()
+ OnMakeConnection__11wxTCPClientFv
+ ;From object file: ..\common\sckstrm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSocketOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__20wxSocketOutputStreamFPCvUi
+ __vft19wxSocketInputStream12wxStreamBase
+ ;wxSocketStream::wxSocketStream(wxSocketBase&)
+ __ct__14wxSocketStreamFR12wxSocketBase
+ ;wxSocketInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__19wxSocketInputStreamFPvUi
+ ;wxSocketInputStream::~wxSocketInputStream()
+ __dt__19wxSocketInputStreamFv
+ ;wxSocketStream::~wxSocketStream()
+ __dt__14wxSocketStreamFv
+ ;wxSocketOutputStream::wxSocketOutputStream(wxSocketBase&)
+ __ct__20wxSocketOutputStreamFR12wxSocketBase
+ __vft20wxSocketOutputStream12wxStreamBase
+ __vft14wxSocketStream14wxOutputStream12wxStreamBase
+ ;wxSocketInputStream::wxSocketInputStream(wxSocketBase&)
+ __ct__19wxSocketInputStreamFR12wxSocketBase
+ __vft14wxSocketStream13wxInputStream12wxStreamBase
+ ;wxSocketOutputStream::~wxSocketOutputStream()
+ __dt__20wxSocketOutputStreamFv
+ ;From object file: ..\common\serbase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft21wxHashTable_Serialize8wxObject
+ __vft16wxList_Serialize8wxObject
+ ;wxObject_Serialize::sm_classwxObject_Serialize
+ sm_classwxObject_Serialize__18wxObject_Serialize
+ ;wxList_Serialize::sm_classwxList_Serialize
+ sm_classwxList_Serialize__16wxList_Serialize
+ ;wxConstructorForwxList_Serialize()
+ wxConstructorForwxList_Serialize__Fv
+ ;wxList_Serialize::StoreObject(wxObjectOutputStream&)
+ StoreObject__16wxList_SerializeFR20wxObjectOutputStream
+ ;wxHashTable_Serialize::sm_classwxHashTable_Serialize
+ sm_classwxHashTable_Serialize__21wxHashTable_Serialize
+ ;wxHashTable_Serialize::LoadObject(wxObjectInputStream&)
+ LoadObject__21wxHashTable_SerializeFR19wxObjectInputStream
+ ;wxConstructorForwxObject_Serialize()
+ wxConstructorForwxObject_Serialize__Fv
+ ;wxList_Serialize::LoadObject(wxObjectInputStream&)
+ LoadObject__16wxList_SerializeFR19wxObjectInputStream
+ ;wxConstructorForwxHashTable_Serialize()
+ wxConstructorForwxHashTable_Serialize__Fv
+ ;wxHashTable_Serialize::StoreObject(wxObjectOutputStream&)
+ StoreObject__21wxHashTable_SerializeFR20wxObjectOutputStream
+ ;From object file: ..\common\sizer.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSizerItem::wxSizerItem(int,int,int,int,int,wxObject*)
+ __ct__11wxSizerItemFiN41P8wxObject
+ __vft11wxGridSizer8wxObject
+ ;wxSizerItem::wxSizerItem(wxSizer*,int,int,int,wxObject*)
+ __ct__11wxSizerItemFP7wxSizeriN22P8wxObject
+ ;wxSizer::Insert(int,wxSizer*,int,int,int,wxObject*)
+ Insert__7wxSizerFiP7wxSizerN31P8wxObject
+ ;wxSizer::Add(wxWindow*,int,int,int,wxObject*)
+ Add__7wxSizerFP8wxWindowiN22P8wxObject
+ ;wxSizer::DoSetItemMinSize(int,int,int)
+ DoSetItemMinSize__7wxSizerFiN21
+ ;wxStaticBoxSizer::wxStaticBoxSizer(wxStaticBox*,int)
+ __ct__16wxStaticBoxSizerFP11wxStaticBoxi
+ ;wxGridSizer::wxGridSizer(int,int,int)
+ __ct__11wxGridSizerFiN21
+ ;wxSizer::DoSetItemMinSize(wxWindow*,int,int)
+ DoSetItemMinSize__7wxSizerFP8wxWindowiT2
+ ;wxStaticBoxSizer::sm_classwxStaticBoxSizer
+ sm_classwxStaticBoxSizer__16wxStaticBoxSizer
+ ;wxGridSizer::sm_classwxGridSizer
+ sm_classwxGridSizer__11wxGridSizer
+ ;wxFlexGridSizer::RecalcSizes()
+ RecalcSizes__15wxFlexGridSizerFv
+ ;wxGridSizer::RecalcSizes()
+ RecalcSizes__11wxGridSizerFv
+ ;wxStaticBoxSizer::CalcMin()
+ CalcMin__16wxStaticBoxSizerFv
+ ;wxFlexGridSizer::CalcMin()
+ CalcMin__15wxFlexGridSizerFv
+ ;wxBoxSizer::CalcMin()
+ CalcMin__10wxBoxSizerFv
+ ;wxSizer::Fit(wxWindow*)
+ Fit__7wxSizerFP8wxWindow
+ ;wxSizer::GetMinWindowSize(wxWindow*)
+ GetMinWindowSize__7wxSizerFP8wxWindow
+ ;wxSizer::Prepend(wxWindow*,int,int,int,wxObject*)
+ Prepend__7wxSizerFP8wxWindowiN22P8wxObject
+ __vft15wxFlexGridSizer8wxObject
+ __vft11wxSizerItem8wxObject
+ ;wxSizer::Insert(int,wxWindow*,int,int,int,wxObject*)
+ Insert__7wxSizerFiP8wxWindowN31P8wxObject
+ ;wxSizer::Insert(int,int,int,int,int,int,wxObject*)
+ Insert__7wxSizerFiN51P8wxObject
+ ;wxSizerItem::SetDimension(wxPoint,wxSize)
+ SetDimension__11wxSizerItemF7wxPoint6wxSize
+ ;wxSizerItem::sm_classwxSizerItem
+ sm_classwxSizerItem__11wxSizerItem
+ ;wxFlexGridSizer::wxFlexGridSizer(int,int,int)
+ __ct__15wxFlexGridSizerFiN21
+ ;wxGridSizer::wxGridSizer(int,int,int,int)
+ __ct__11wxGridSizerFiN31
+ ;wxFlexGridSizer::RemoveGrowableRow(unsigned int)
+ RemoveGrowableRow__15wxFlexGridSizerFUi
+ ;wxSizer::~wxSizer()
+ __dt__7wxSizerFv
+ ;wxSizer::sm_classwxSizer
+ sm_classwxSizer__7wxSizer
+ ;wxSizerItem::~wxSizerItem()
+ __dt__11wxSizerItemFv
+ ;wxStaticBoxSizer::RecalcSizes()
+ RecalcSizes__16wxStaticBoxSizerFv
+ ;wxSizerItem::IsWindow()
+ IsWindow__11wxSizerItemFv
+ ;wxSizerItem::GetSize()
+ GetSize__11wxSizerItemFv
+ ;wxSizerItem::CalcMin()
+ CalcMin__11wxSizerItemFv
+ ;wxSizer::Remove(wxWindow*)
+ Remove__7wxSizerFP8wxWindow
+ __vft7wxSizer8wxObject
+ ;wxSizer::Remove(int)
+ Remove__7wxSizerFi
+ ;wxSizer::GetMinSize()
+ GetMinSize__7wxSizerFv
+ ;wxFlexGridSizer::~wxFlexGridSizer()
+ __dt__15wxFlexGridSizerFv
+ ;wxSizer::wxSizer()
+ __ct__7wxSizerFv
+ ;wxBoxSizer::RecalcSizes()
+ RecalcSizes__10wxBoxSizerFv
+ ;wxSizerItem::IsSpacer()
+ IsSpacer__11wxSizerItemFv
+ ;wxFlexGridSizer::CreateArrays()
+ CreateArrays__15wxFlexGridSizerFv
+ ;wxSizer::SetSizeHints(wxWindow*)
+ SetSizeHints__7wxSizerFP8wxWindow
+ ;wxSizer::Add(wxSizer*,int,int,int,wxObject*)
+ Add__7wxSizerFP7wxSizeriN22P8wxObject
+ ;wxSizer::Prepend(int,int,int,int,int,wxObject*)
+ Prepend__7wxSizerFiN41P8wxObject
+ ;wxFlexGridSizer::AddGrowableCol(unsigned int)
+ AddGrowableCol__15wxFlexGridSizerFUi
+ ;wxBoxSizer::wxBoxSizer(int)
+ __ct__10wxBoxSizerFi
+ ;wxSizerItem::IsSizer()
+ IsSizer__11wxSizerItemFv
+ ;wxFlexGridSizer::sm_classwxFlexGridSizer
+ sm_classwxFlexGridSizer__15wxFlexGridSizer
+ ;wxBoxSizer::sm_classwxBoxSizer
+ sm_classwxBoxSizer__10wxBoxSizer
+ ;wxSizer::Remove(wxSizer*)
+ Remove__7wxSizerFP7wxSizer
+ ;wxSizer::DoSetItemMinSize(wxSizer*,int,int)
+ DoSetItemMinSize__7wxSizerFP7wxSizeriT2
+ ;wxSizerItem::wxSizerItem(wxWindow*,int,int,int,wxObject*)
+ __ct__11wxSizerItemFP8wxWindowiN22P8wxObject
+ __vft16wxStaticBoxSizer8wxObject
+ __vft10wxBoxSizer8wxObject
+ ;wxSizer::Prepend(wxSizer*,int,int,int,wxObject*)
+ Prepend__7wxSizerFP7wxSizeriN22P8wxObject
+ ;wxSizer::Add(int,int,int,int,int,wxObject*)
+ Add__7wxSizerFiN41P8wxObject
+ ;wxSizer::SetDimension(int,int,int,int)
+ SetDimension__7wxSizerFiN31
+ ;wxFlexGridSizer::wxFlexGridSizer(int,int,int,int)
+ __ct__15wxFlexGridSizerFiN31
+ ;wxFlexGridSizer::RemoveGrowableCol(unsigned int)
+ RemoveGrowableCol__15wxFlexGridSizerFUi
+ ;wxSizer::DoSetMinSize(int,int)
+ DoSetMinSize__7wxSizerFiT1
+ ;wxFlexGridSizer::AddGrowableRow(unsigned int)
+ AddGrowableRow__15wxFlexGridSizerFUi
+ ;wxSizer::Layout()
+ Layout__7wxSizerFv
+ ;wxGridSizer::SetItemBounds(wxSizerItem*,int,int,int,int)
+ SetItemBounds__11wxGridSizerFP11wxSizerItemiN32
+ ;wxGridSizer::CalcMin()
+ CalcMin__11wxGridSizerFv
+ ;From object file: ..\common\socket.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSocketBase::SetTimeout(long)
+ SetTimeout__12wxSocketBaseFl
+ ;wxSocketEvent::sm_classwxSocketEvent
+ sm_classwxSocketEvent__13wxSocketEvent
+ ;wxSocketEvent::CopyObject(wxObject&) const
+ CopyObject__13wxSocketEventCFR8wxObject
+ ;wxSocketClient::Connect(wxSockAddress&,unsigned long)
+ Connect__14wxSocketClientFR13wxSockAddressUl
+ ;wxSocketServer::AcceptWith(wxSocketBase&,unsigned long)
+ AcceptWith__14wxSocketServerFR12wxSocketBaseUl
+ ;wxSocketBase::Read(void*,unsigned int)
+ Read__12wxSocketBaseFPvUi
+ ;wxSocketBase::sm_classwxSocketBase
+ sm_classwxSocketBase__12wxSocketBase
+ ;wxDatagramSocket::wxDatagramSocket(wxSockAddress&,int)
+ __ct__16wxDatagramSocketFR13wxSockAddressi
+ ;wxSocketBase::_Wait(long,long,int)
+ _Wait__12wxSocketBaseFlT1i
+ ;wxSocketBase::SetFlags(int)
+ SetFlags__12wxSocketBaseFi
+ ;wxDatagramSocket::SendTo(wxSockAddress&,const void*,unsigned int)
+ SendTo__16wxDatagramSocketFR13wxSockAddressPCvUi
+ ;wxConstructorForwxSocketEvent()
+ wxConstructorForwxSocketEvent__Fv
+ ;wxSocketServer::sm_classwxSocketServer
+ sm_classwxSocketServer__14wxSocketServer
+ ;wxSocketClient::~wxSocketClient()
+ __dt__14wxSocketClientFv
+ ;wxSocketBase::RestoreState()
+ RestoreState__12wxSocketBaseFv
+ ;wxSocketBase::Init()
+ Init__12wxSocketBaseFv
+ ;wxSocketBase::Discard()
+ Discard__12wxSocketBaseFv
+ ;wxSocketBase::GetPushback(void*,unsigned int,unsigned long)
+ GetPushback__12wxSocketBaseFPvUiUl
+ ;wxSocketClient::sm_classwxSocketClient
+ sm_classwxSocketClient__14wxSocketClient
+ ;wxDatagramSocket::sm_classwxDatagramSocket
+ sm_classwxDatagramSocket__16wxDatagramSocket
+ ;wxSocketEvent::wxSocketEvent(int)
+ __ct__13wxSocketEventFi
+ ;wxSocketModule::sm_classwxSocketModule
+ sm_classwxSocketModule__14wxSocketModule
+ ;wxSocketBase::wxSocketBase(int,wxSocketType)
+ __ct__12wxSocketBaseFi12wxSocketType
+ ;wxSocketBase::SaveState()
+ SaveState__12wxSocketBaseFv
+ __vft13wxSocketEvent8wxObject
+ __vft12wxSocketBase8wxObject
+ ;wxSocketBase::WaitForRead(long,long)
+ WaitForRead__12wxSocketBaseFlT1
+ ;wxSocketBase::_Read(void*,unsigned int)
+ _Read__12wxSocketBaseFPvUi
+ ;wxSocketBase::Write(const void*,unsigned int)
+ Write__12wxSocketBaseFPCvUi
+ ;wxSocketBase::WriteMsg(const void*,unsigned int)
+ WriteMsg__12wxSocketBaseFPCvUi
+ ;wxSocketBase::Wait(long,long)
+ Wait__12wxSocketBaseFlT1
+ ;wxSocketServer::WaitForAccept(long,long)
+ WaitForAccept__14wxSocketServerFlT1
+ ;wxDatagramSocket::RecvFrom(wxSockAddress&,void*,unsigned int)
+ RecvFrom__16wxDatagramSocketFR13wxSockAddressPvUi
+ ;wxSocketBase::Pushback(const void*,unsigned int)
+ Pushback__12wxSocketBaseFPCvUi
+ ;wxSocketBase::Destroy()
+ Destroy__12wxSocketBaseFv
+ ;wxSocketBase::Close()
+ Close__12wxSocketBaseFv
+ __vft14wxSocketClient8wxObject
+ ;wxSocketBase::_Write(const void*,unsigned int)
+ _Write__12wxSocketBaseFPCvUi
+ ;wxSocketServer::wxSocketServer(wxSockAddress&,int)
+ __ct__14wxSocketServerFR13wxSockAddressi
+ ;wxSocketBase::WaitForWrite(long,long)
+ WaitForWrite__12wxSocketBaseFlT1
+ ;wxSocketBase::Unread(const void*,unsigned int)
+ Unread__12wxSocketBaseFPCvUi
+ ;wxSocketBase::OnRequest(wxSocketNotify)
+ OnRequest__12wxSocketBaseF14wxSocketNotify
+ ;wxSocketBase::wxSocketBase()
+ __ct__12wxSocketBaseFv
+ ;wxConstructorForwxSocketModule()
+ wxConstructorForwxSocketModule__Fv
+ ;wxSocketBase::GetPeer(wxSockAddress&) const
+ GetPeer__12wxSocketBaseCFR13wxSockAddress
+ ;wxSocketBase::Notify(unsigned long)
+ Notify__12wxSocketBaseFUl
+ ;wxSocketServer::Accept(unsigned long)
+ Accept__14wxSocketServerFUl
+ ;wxSocketBase::ReadMsg(void*,unsigned int)
+ ReadMsg__12wxSocketBaseFPvUi
+ ;wxSocketClient::wxSocketClient(int)
+ __ct__14wxSocketClientFi
+ ;wxSocketClient::WaitOnConnect(long,long)
+ WaitOnConnect__14wxSocketClientFlT1
+ ;wxSocketBase::WaitForLost(long,long)
+ WaitForLost__12wxSocketBaseFlT1
+ ;wxSocketBase::SetNotify(int)
+ SetNotify__12wxSocketBaseFi
+ ;wxSocketBase::SetEventHandler(wxEvtHandler&,int)
+ SetEventHandler__12wxSocketBaseFR12wxEvtHandleri
+ ;wxSocketBase::Peek(void*,unsigned int)
+ Peek__12wxSocketBaseFPvUi
+ ;wxSocketBase::~wxSocketBase()
+ __dt__12wxSocketBaseFv
+ ;wxSocketBase::GetLocal(wxSockAddress&) const
+ GetLocal__12wxSocketBaseCFR13wxSockAddress
+ ;From object file: ..\common\strconv.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft12wxMBConvUTF78wxMBConv
+ __vft8wxCSConv8wxMBConv
+ ;wxMBConv::cMB2WC(const char*) const
+ cMB2WC__8wxMBConvCFPCc
+ ;wxCSConv::SetName(const char*)
+ SetName__8wxCSConvFPCc
+ ;wxMBConvUTF7::MB2WC(wchar_t*,const char*,unsigned int) const
+ MB2WC__12wxMBConvUTF7CFPwPCcUi
+ ;wxMBConvUTF8::WC2MB(char*,const wchar_t*,unsigned int) const
+ WC2MB__12wxMBConvUTF8CFPcPCwUi
+ ;wxMBConvUTF8::MB2WC(wchar_t*,const char*,unsigned int) const
+ MB2WC__12wxMBConvUTF8CFPwPCcUi
+ __vft12wxMBConvFile8wxMBConv
+ __vft12wxMBConvUTF88wxMBConv
+ wxConvCurrent
+ ;wxMBConv::WC2MB(char*,const wchar_t*,unsigned int) const
+ WC2MB__8wxMBConvCFPcPCwUi
+ ;wxCSConv::~wxCSConv()
+ __dt__8wxCSConvFv
+ wxConvUTF7
+ wxConvUTF8
+ wxConvLocal
+ ;wxMBConvFile::MB2WC(wchar_t*,const char*,unsigned int) const
+ MB2WC__12wxMBConvFileCFPwPCcUi
+ wxConvFile
+ ;wxCSConv::WC2MB(char*,const wchar_t*,unsigned int) const
+ WC2MB__8wxCSConvCFPcPCwUi
+ ;wxMBConvUTF7::WC2MB(char*,const wchar_t*,unsigned int) const
+ WC2MB__12wxMBConvUTF7CFPcPCwUi
+ ;wxMBConvFile::WC2MB(char*,const wchar_t*,unsigned int) const
+ WC2MB__12wxMBConvFileCFPcPCwUi
+ ;wxCSConv::MB2WC(wchar_t*,const char*,unsigned int) const
+ MB2WC__8wxCSConvCFPwPCcUi
+ ;wxCSConv::LoadNow()
+ LoadNow__8wxCSConvFv
+ ;wxCSConv::wxCSConv(const char*)
+ __ct__8wxCSConvFPCc
+ wxConvLibc
+ ;wxMBConv::MB2WC(wchar_t*,const char*,unsigned int) const
+ MB2WC__8wxMBConvCFPwPCcUi
+ __vft8wxMBConv
+ ;wxMBConv::cWC2MB(const wchar_t*) const
+ cWC2MB__8wxMBConvCFPCw
+ ;From object file: ..\common\stream.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxOutputStream::operator<<(wxObject&)
+ __ls__14wxOutputStreamFR8wxObject
+ ;wxStreamBuffer::wxStreamBuffer(wxStreamBase&,wxStreamBuffer::BufMode)
+ __ct__14wxStreamBufferFR12wxStreamBaseQ2_14wxStreamBuffer7BufMode
+ ;wxEndL(wxOutputStream&)
+ wxEndL__FR14wxOutputStream
+ __vft22wxBufferedOutputStream12wxStreamBase
+ __vft14wxOutputStream12wxStreamBase
+ ;wxStreamBuffer::wxStreamBuffer(wxStreamBuffer::BufMode)
+ __ct__14wxStreamBufferFQ2_14wxStreamBuffer7BufMode
+ ;wxStreamBuffer::Write(const void*,unsigned int)
+ Write__14wxStreamBufferFPCvUi
+ ;wxInputStream::SeekI(long,wxSeekMode)
+ SeekI__13wxInputStreamFl10wxSeekMode
+ ;wxBufferedInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__21wxBufferedInputStreamFPvUi
+ ;wxOutputStream::~wxOutputStream()
+ __dt__14wxOutputStreamFv
+ ;wxInputStream::~wxInputStream()
+ __dt__13wxInputStreamFv
+ ;wxCountingOutputStream::wxCountingOutputStream()
+ __ct__22wxCountingOutputStreamFv
+ ;wxFilterOutputStream::wxFilterOutputStream()
+ __ct__20wxFilterOutputStreamFv
+ ;wxStreamBuffer::Write(wxStreamBuffer*)
+ Write__14wxStreamBufferFP14wxStreamBuffer
+ ;wxStreamBuffer::Tell() const
+ Tell__14wxStreamBufferCFv
+ ;wxStreamBuffer::GetDataLeft()
+ GetDataLeft__14wxStreamBufferFv
+ ;wxInputStream::GetC()
+ GetC__13wxInputStreamFv
+ ;wxInputStream::Ungetch(char)
+ Ungetch__13wxInputStreamFc
+ ;wxStreamBuffer::PutToBuffer(const void*,unsigned int)
+ PutToBuffer__14wxStreamBufferFPCvUi
+ __vft21wxBufferedInputStream12wxStreamBase
+ __vft20wxFilterOutputStream12wxStreamBase
+ __vft19wxFilterInputStream12wxStreamBase
+ __vft13wxInputStream12wxStreamBase
+ __vft12wxStreamBase
+ ;wxBufferedInputStream::wxBufferedInputStream(wxInputStream&)
+ __ct__21wxBufferedInputStreamFR13wxInputStream
+ ;wxFilterOutputStream::wxFilterOutputStream(wxOutputStream&)
+ __ct__20wxFilterOutputStreamFR14wxOutputStream
+ ;wxFilterInputStream::wxFilterInputStream(wxInputStream&)
+ __ct__19wxFilterInputStreamFR13wxInputStream
+ ;wxStreamBuffer::Seek(long,wxSeekMode)
+ Seek__14wxStreamBufferFl10wxSeekMode
+ ;wxBufferedInputStream::SeekI(long,wxSeekMode)
+ SeekI__21wxBufferedInputStreamFl10wxSeekMode
+ ;wxStreamBuffer::Read(void*,unsigned int)
+ Read__14wxStreamBufferFPvUi
+ ;wxCountingOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__22wxCountingOutputStreamFPCvUi
+ ;wxBufferedOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__22wxBufferedOutputStreamFPCvUi
+ ;wxBufferedInputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__21wxBufferedInputStreamFl10wxSeekMode
+ ;wxStreamBase::OnSysRead(void*,unsigned int)
+ OnSysRead__12wxStreamBaseFPvUi
+ ;wxFilterOutputStream::~wxFilterOutputStream()
+ __dt__20wxFilterOutputStreamFv
+ ;wxBufferedOutputStream::~wxBufferedOutputStream()
+ __dt__22wxBufferedOutputStreamFv
+ ;wxStreamBuffer::wxStreamBuffer(const wxStreamBuffer&)
+ __ct__14wxStreamBufferFRC14wxStreamBuffer
+ ;wxInputStream::wxInputStream()
+ __ct__13wxInputStreamFv
+ ;wxBufferedOutputStream::TellO() const
+ TellO__22wxBufferedOutputStreamCFv
+ ;wxInputStream::TellI() const
+ TellI__13wxInputStreamCFv
+ ;wxInputStream::Peek()
+ Peek__13wxInputStreamFv
+ ;wxCountingOutputStream::OnSysTell() const
+ OnSysTell__22wxCountingOutputStreamCFv
+ ;wxBufferedOutputStream::OnSysTell() const
+ OnSysTell__22wxBufferedOutputStreamCFv
+ ;wxBufferedInputStream::OnSysTell() const
+ OnSysTell__21wxBufferedInputStreamCFv
+ ;wxInputStream::Eof() const
+ Eof__13wxInputStreamCFv
+ ;wxOutputStream::PutC(char)
+ PutC__14wxOutputStreamFc
+ ;wxOutputStream::Write(wxInputStream&)
+ Write__14wxOutputStreamFR13wxInputStream
+ ;wxBufferedOutputStream::wxBufferedOutputStream(wxOutputStream&)
+ __ct__22wxBufferedOutputStreamFR14wxOutputStream
+ ;wxBufferedOutputStream::Write(const void*,unsigned int)
+ Write__22wxBufferedOutputStreamFPCvUi
+ ;wxInputStream::Ungetch(const void*,unsigned int)
+ Ungetch__13wxInputStreamFPCvUi
+ ;wxBufferedInputStream::Read(void*,unsigned int)
+ Read__21wxBufferedInputStreamFPvUi
+ ;wxStreamBase::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__12wxStreamBaseFPCvUi
+ ;wxFilterInputStream::~wxFilterInputStream()
+ __dt__19wxFilterInputStreamFv
+ ;wxStreamBuffer::~wxStreamBuffer()
+ __dt__14wxStreamBufferFv
+ ;wxOutputStream::Sync()
+ Sync__14wxOutputStreamFv
+ ;wxCountingOutputStream::GetSize() const
+ GetSize__22wxCountingOutputStreamCFv
+ ;wxBufferedOutputStream::GetSize() const
+ GetSize__22wxBufferedOutputStreamCFv
+ ;wxStreamBuffer::GetChar()
+ GetChar__14wxStreamBufferFv
+ ;wxInputStream::GetWBack(char*,unsigned int)
+ GetWBack__13wxInputStreamFPcUi
+ ;wxOutputStream::SeekO(long,wxSeekMode)
+ SeekO__14wxOutputStreamFl10wxSeekMode
+ ;wxBufferedOutputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__22wxBufferedOutputStreamFl10wxSeekMode
+ ;wxStreamBase::wxStreamBase()
+ __ct__12wxStreamBaseFv
+ ;wxBufferedInputStream::~wxBufferedInputStream()
+ __dt__21wxBufferedInputStreamFv
+ ;wxStreamBase::~wxStreamBase()
+ __dt__12wxStreamBaseFv
+ ;wxFilterInputStream::wxFilterInputStream()
+ __ct__19wxFilterInputStreamFv
+ ;wxOutputStream::TellO() const
+ TellO__14wxOutputStreamCFv
+ ;wxStreamBuffer::PutChar(char)
+ PutChar__14wxStreamBufferFc
+ ;wxInputStream::operator>>(wxObject*&)
+ __rs__13wxInputStreamFRP8wxObject
+ ;wxInputStream::Read(wxOutputStream&)
+ Read__13wxInputStreamFR14wxOutputStream
+ __vft22wxCountingOutputStream12wxStreamBase
+ ;wxOutputStream::Write(const void*,unsigned int)
+ Write__14wxOutputStreamFPCvUi
+ ;wxStreamBuffer::SetBufferIO(unsigned int)
+ SetBufferIO__14wxStreamBufferFUi
+ ;wxStreamBuffer::SetBufferIO(char*,char*)
+ SetBufferIO__14wxStreamBufferFPcT1
+ ;wxBufferedOutputStream::SeekO(long,wxSeekMode)
+ SeekO__22wxBufferedOutputStreamFl10wxSeekMode
+ ;wxInputStream::Read(void*,unsigned int)
+ Read__13wxInputStreamFPvUi
+ ;wxCountingOutputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__22wxCountingOutputStreamFl10wxSeekMode
+ ;wxStreamBase::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__12wxStreamBaseFl10wxSeekMode
+ ;wxStreamBuffer::GetFromBuffer(void*,unsigned int)
+ GetFromBuffer__14wxStreamBufferFPvUi
+ ;wxInputStream::AllocSpaceWBack(unsigned int)
+ AllocSpaceWBack__13wxInputStreamFUi
+ ;wxStreamBuffer::ResetBuffer()
+ ResetBuffer__14wxStreamBufferFv
+ ;wxOutputStream::wxOutputStream()
+ __ct__14wxOutputStreamFv
+ ;wxBufferedInputStream::TellI() const
+ TellI__21wxBufferedInputStreamCFv
+ ;wxBufferedOutputStream::Sync()
+ Sync__22wxBufferedOutputStreamFv
+ ;wxStreamBuffer::Read(wxStreamBuffer*)
+ Read__14wxStreamBufferFP14wxStreamBuffer
+ ;wxBufferedInputStream::Peek()
+ Peek__21wxBufferedInputStreamFv
+ ;wxStreamBuffer::Peek()
+ Peek__14wxStreamBufferFv
+ ;wxStreamBase::OnSysTell() const
+ OnSysTell__12wxStreamBaseCFv
+ ;wxStreamBuffer::FlushBuffer()
+ FlushBuffer__14wxStreamBufferFv
+ ;wxStreamBuffer::FillBuffer()
+ FillBuffer__14wxStreamBufferFv
+ ;From object file: ..\common\string.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxString::Pad(unsigned int,char,unsigned long)
+ Pad__8wxStringFUicUl
+ ;wxString::Trim(unsigned long)
+ Trim__8wxStringFUl
+ ;wxArrayString::Sort(unsigned long)
+ Sort__13wxArrayStringFUl
+ ;operator+(const wxString&,const wxString&)
+ __pl__FRC8wxStringT1
+ ;wxString::rfind(char,unsigned int) const
+ rfind__8wxStringCFcUi
+ ;wxString::find_last_not_of(char,unsigned int) const
+ find_last_not_of__8wxStringCFcUi
+ ;wxString::find_first_of(const char*,unsigned int) const
+ find_first_of__8wxStringCFPCcUi
+ ;wxString::wxString(const void*,const void*)
+ __ct__8wxStringFPCvT1
+ ;wxString::Truncate(unsigned int)
+ Truncate__8wxStringFUi
+ ;wxArrayString::Sort(int(*)(const wxString&,const wxString&))
+ Sort__13wxArrayStringFPFRC8wxStringT1_i
+ ;wxArrayString::Remove(unsigned int)
+ Remove__13wxArrayStringFUi
+ ;wxString::Format(const char*,...)
+ Format__8wxStringFPCce
+ ;wxString::Alloc(unsigned int)
+ Alloc__8wxStringFUi
+ ;wxString::IsAscii() const
+ IsAscii__8wxStringCFv
+ ;wxString::IsWord() const
+ IsWord__8wxStringCFv
+ ;wxArrayString::Grow()
+ Grow__13wxArrayStringFv
+ ;wxArrayString::DoSort()
+ DoSort__13wxArrayStringFv
+ ;operator+(char,const wxString&)
+ __pl__FcRC8wxString
+ ;wxString::replace(unsigned int,unsigned int,const char*)
+ replace__8wxStringFUiT1PCc
+ ;wxString::Matches(const char*) const
+ Matches__8wxStringCFPCc
+ ;wxString::FormatV(const char*,char*)
+ FormatV__8wxStringFPCcPc
+ ;wxString::Find(char,unsigned long) const
+ Find__8wxStringCFcUl
+ ;wxString::ToLong(long*) const
+ ToLong__8wxStringCFPl
+ ;wxString::Replace(const char*,const char*,unsigned long)
+ Replace__8wxStringFPCcT1Ul
+ ;wxString::Mid(unsigned int,unsigned int) const
+ Mid__8wxStringCFUiT1
+ ;wxString::replace(unsigned int,unsigned int,const wxString&,unsigned int,unsigned int)
+ replace__8wxStringFUiT1RC8wxStringN21
+ ;wxString::find_last_not_of(const char*,unsigned int) const
+ find_last_not_of__8wxStringCFPCcUi
+ ;wxString::Printf(const char*,...)
+ Printf__8wxStringFPCce
+ ;wxString::Left(unsigned int) const
+ Left__8wxStringCFUi
+ ;wxString::MakeUpper()
+ MakeUpper__8wxStringFv
+ ;wxString::Upper() const
+ Upper__8wxStringCFv
+ ;wxString::IsNumber() const
+ IsNumber__8wxStringCFv
+ ;wxArrayString::Empty()
+ Empty__13wxArrayStringFv
+ ;wxArrayString::Copy(const wxArrayString&)
+ Copy__13wxArrayStringFRC13wxArrayString
+ ;wxString::npos
+ npos__8wxString
+ ;operator+(const char*,const wxString&)
+ __pl__FPCcRC8wxString
+ ;wxString::operator=(const unsigned char*)
+ __as__8wxStringFPCUc
+ ;wxArrayString::operator=(const wxArrayString&)
+ __as__13wxArrayStringFRC13wxArrayString
+ ;wxString::PrintfV(const char*,char*)
+ PrintfV__8wxStringFPCcPc
+ ;wxString::BeforeFirst(char) const
+ BeforeFirst__8wxStringCFc
+ ;wxString::AfterLast(char) const
+ AfterLast__8wxStringCFc
+ ;wxArrayString::wxArrayString(unsigned long)
+ __ct__13wxArrayStringFUl
+ ;wxString::find(char,unsigned int) const
+ find__8wxStringCFcUi
+ ;wxVsnprintf(char*,unsigned int,const char*,char*)
+ wxVsnprintf__FPcUiPCcT1
+ ;wxString::rfind(const wxString&,unsigned int) const
+ rfind__8wxStringCFRC8wxStringUi
+ ;wxString::replace(unsigned int,unsigned int,const char*,unsigned int)
+ replace__8wxStringFUiT1PCcT1
+ ;wxString::find_last_of(const char*,unsigned int) const
+ find_last_of__8wxStringCFPCcUi
+ ;wxString::find_first_not_of(char,unsigned int) const
+ find_first_not_of__8wxStringCFcUi
+ ;wxString::find(const wxString&,unsigned int) const
+ find__8wxStringCFRC8wxStringUi
+ ;wxString::UngetWriteBuf(unsigned int)
+ UngetWriteBuf__8wxStringFUi
+ ;wxArrayString::Insert(const wxString&,unsigned int)
+ Insert__13wxArrayStringFRC8wxStringUi
+ ;wxString::GetWriteBuf(unsigned int)
+ GetWriteBuf__8wxStringFUi
+ ;wxString::AllocBuffer(unsigned int)
+ AllocBuffer__8wxStringFUi
+ ;wxString::AllocBeforeWrite(unsigned int)
+ AllocBeforeWrite__8wxStringFUi
+ ;wxString::InitWith(const char*,unsigned int,unsigned int)
+ InitWith__8wxStringFPCcUiT2
+ ;wxString::Shrink()
+ Shrink__8wxStringFv
+ ;wxArrayString::Shrink()
+ Shrink__13wxArrayStringFv
+ ;wxString::AllocCopy(wxString&,int,int) const
+ AllocCopy__8wxStringCFR8wxStringiT2
+ ;wxString::operator=(const char*)
+ __as__8wxStringFPCc
+ ;wxString::insert(unsigned int,const wxString&)
+ insert__8wxStringFUiRC8wxString
+ ;operator+(const wxString&,const char*)
+ __pl__FRC8wxStringPCc
+ ;wxArrayString::operator==(const wxArrayString&) const
+ __eq__13wxArrayStringCFRC13wxArrayString
+ ;wxString::operator=(const wchar_t*)
+ __as__8wxStringFPCw
+ ;wxString::StartsWith(const char*,wxString*) const
+ StartsWith__8wxStringCFPCcP8wxString
+ ;wxArrayString::Remove(const char*)
+ Remove__13wxArrayStringFPCc
+ ;wxString::ConcatSelf(int,const char*)
+ ConcatSelf__8wxStringFiPCc
+ ;wxArrayString::Add(const wxString&)
+ Add__13wxArrayStringFRC8wxString
+ ;wxString::ToULong(unsigned long*) const
+ ToULong__8wxStringCFPUl
+ ;wxString::erase(unsigned int,unsigned int)
+ erase__8wxStringFUiT1
+ ;wxString::sprintf(const char*,...)
+ sprintf__8wxStringFPCce
+ ;wxString::find_first_not_of(const char*,unsigned int) const
+ find_first_not_of__8wxStringCFPCcUi
+ ;wxString::Strip(wxString::stripType) const
+ Strip__8wxStringCFQ2_8wxString9stripType
+ ;wxArrayString::Alloc(unsigned int)
+ Alloc__13wxArrayStringFUi
+ ;wxString::MakeLower()
+ MakeLower__8wxStringFv
+ ;wxString::find(const char*,unsigned int,unsigned int) const
+ find__8wxStringCFPCcUiT2
+ ;wxString::UngetWriteBuf()
+ UngetWriteBuf__8wxStringFv
+ ;wxArrayString::Index(const char*,unsigned long,unsigned long) const
+ Index__13wxArrayStringCFPCcUlT2
+ ;operator>>(istream&,wxString&)
+ __rs__FR7istreamR8wxString
+ ;wxString::replace(unsigned int,unsigned int,unsigned int,char)
+ replace__8wxStringFUiN21c
+ ;operator+(const wxString&,char)
+ __pl__FRC8wxStringc
+ ;wxString::Freq(char) const
+ Freq__8wxStringCFc
+ ;wxString::ToDouble(double*) const
+ ToDouble__8wxStringCFPd
+ ;wxString::wxString(char,unsigned int)
+ __ct__8wxStringFcUi
+ ;wxSnprintf(char*,unsigned int,const char*,...)
+ wxSnprintf__FPcUiPCce
+ ;wxString::Right(unsigned int) const
+ Right__8wxStringCFUi
+ ;wxString::CopyBeforeWrite()
+ CopyBeforeWrite__8wxStringFv
+ ;wxString::rfind(const char*,unsigned int,unsigned int) const
+ rfind__8wxStringCFPCcUiT2
+ ;wxArrayString::~wxArrayString()
+ __dt__13wxArrayStringFv
+ ;wxString::wxString(const wchar_t*,wxMBConv&)
+ __ct__8wxStringFPCwR8wxMBConv
+ ;wxString::Lower() const
+ Lower__8wxStringCFv
+ ;wxArrayString::Free()
+ Free__13wxArrayStringFv
+ ;wxArrayString::Clear()
+ Clear__13wxArrayStringFv
+ ;wxString::operator=(const wxString&)
+ __as__8wxStringFRC8wxString
+ wxEmptyString
+ ;operator<<(ostream&,const wxString&)
+ __ls__FR7ostreamRC8wxString
+ ;wxArrayString::wxArrayString(const wxArrayString&)
+ __ct__13wxArrayStringFRC13wxArrayString
+ ;wxString::operator=(char)
+ __as__8wxStringFc
+ ;wxString::Find(const char*) const
+ Find__8wxStringCFPCc
+ ;wxString::BeforeLast(char) const
+ BeforeLast__8wxStringCFc
+ ;wxString::AssignCopy(unsigned int,const char*)
+ AssignCopy__8wxStringFUiPCc
+ ;wxString::AfterFirst(char) const
+ AfterFirst__8wxStringCFc
+ ;From object file: ..\common\tbarbase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxToolBarBase::EnableTool(int,unsigned long)
+ EnableTool__13wxToolBarBaseFiUl
+ ;wxToolBarBase::OnLeftClick(int,unsigned long)
+ OnLeftClick__13wxToolBarBaseFiUl
+ ;wxToolBarBase::RemoveTool(int)
+ RemoveTool__13wxToolBarBaseFi
+ ;wxToolBarBase::OnMouseEnter(int)
+ OnMouseEnter__13wxToolBarBaseFi
+ ;wxToolBarBase::FindById(int) const
+ FindById__13wxToolBarBaseCFi
+ ;wxToolBarToolBase::~wxToolBarToolBase()
+ __dt__17wxToolBarToolBaseFv
+ ;wxToolBarBase::ClearTools()
+ ClearTools__13wxToolBarBaseFv
+ ;wxToolBarBase::InsertTool(unsigned int,int,const wxBitmap&,const wxBitmap&,unsigned long,wxObject*,const wxString&,const wxString&)
+ InsertTool__13wxToolBarBaseFUiiRC8wxBitmapT3UlP8wxObjectRC8wxStringT7
+ ;wxToolBarToolBase::Enable(unsigned long)
+ Enable__17wxToolBarToolBaseFUl
+ ;wxToolBarBase::SetToolClientData(int,wxObject*)
+ SetToolClientData__13wxToolBarBaseFiP8wxObject
+ ;wxToolBarBase::DeleteToolByPos(unsigned int)
+ DeleteToolByPos__13wxToolBarBaseFUi
+ ;wxToolBarBase::GetToolLongHelp(int) const
+ GetToolLongHelp__13wxToolBarBaseCFi
+ ;wxToolBarBase::AddSeparator()
+ AddSeparator__13wxToolBarBaseFv
+ ;wxToolBarBase::OnRightClick(int,long,long)
+ OnRightClick__13wxToolBarBaseFilT2
+ ;wxToolBarToolBase::SetShortHelp(const wxString&)
+ SetShortHelp__17wxToolBarToolBaseFRC8wxString
+ ;wxToolBarToolBase::Toggle(unsigned long)
+ Toggle__17wxToolBarToolBaseFUl
+ __vft17wxToolBarToolBase8wxObject
+ __vft13wxToolBarBase8wxObject
+ ;wxToolBarBase::InsertControl(unsigned int,wxControl*)
+ InsertControl__13wxToolBarBaseFUiP9wxControl
+ ;wxToolBarBase::SetMargins(int,int)
+ SetMargins__13wxToolBarBaseFiT1
+ ;wxToolBarBase::sm_eventTableEntries
+ sm_eventTableEntries__13wxToolBarBase
+ ;wxToolBarBase::SetRows(int)
+ SetRows__13wxToolBarBaseFi
+ ;wxToolBarToolBase::SetLongHelp(const wxString&)
+ SetLongHelp__17wxToolBarToolBaseFRC8wxString
+ ;wxToolBarBase::SetToolShortHelp(int,const wxString&)
+ SetToolShortHelp__13wxToolBarBaseFiRC8wxString
+ ;wxToolBarToolBase::SetToggle(unsigned long)
+ SetToggle__17wxToolBarToolBaseFUl
+ ;wxToolBarBase::OnIdle(wxIdleEvent&)
+ OnIdle__13wxToolBarBaseFR11wxIdleEvent
+ ;wxToolBarBase::AddControl(wxControl*)
+ AddControl__13wxToolBarBaseFP9wxControl
+ ;wxToolBarBase::InsertSeparator(unsigned int)
+ InsertSeparator__13wxToolBarBaseFUi
+ ;wxToolBarBase::GetToolState(int) const
+ GetToolState__13wxToolBarBaseCFi
+ ;wxToolBarBase::GetToolEnabled(int) const
+ GetToolEnabled__13wxToolBarBaseCFi
+ ;wxToolBarBase::GetToolClientData(int) const
+ GetToolClientData__13wxToolBarBaseCFi
+ ;wxToolBarBase::DeleteTool(int)
+ DeleteTool__13wxToolBarBaseFi
+ ;wxToolBarBase::wxToolBarBase()
+ __ct__13wxToolBarBaseFv
+ ;wxToolBarBase::Realize()
+ Realize__13wxToolBarBaseFv
+ ;wxToolBarBase::GetEventTable() const
+ GetEventTable__13wxToolBarBaseCFv
+ ;wxToolBarBase::DoToolbarUpdates()
+ DoToolbarUpdates__13wxToolBarBaseFv
+ ;wxToolBarBase::AddTool(int,const wxBitmap&,const wxBitmap&,unsigned long,int,int,wxObject*,const wxString&,const wxString&)
+ AddTool__13wxToolBarBaseFiRC8wxBitmapT2UlN21P8wxObjectRC8wxStringT8
+ ;wxToolBarBase::ToggleTool(int,unsigned long)
+ ToggleTool__13wxToolBarBaseFiUl
+ ;wxToolBarBase::SetToggle(int,unsigned long)
+ SetToggle__13wxToolBarBaseFiUl
+ ;wxToolBarBase::GetToolShortHelp(int) const
+ GetToolShortHelp__13wxToolBarBaseCFi
+ ;wxToolBarBase::sm_eventTable
+ sm_eventTable__13wxToolBarBase
+ __vft24wxwxToolBarToolsListNode10wxNodeBase
+ ;wxwxToolBarToolsListNode::DeleteData()
+ DeleteData__24wxwxToolBarToolsListNodeFv
+ ;wxToolBarBase::~wxToolBarBase()
+ __dt__13wxToolBarBaseFv
+ ;wxToolBarBase::SetToolLongHelp(int,const wxString&)
+ SetToolLongHelp__13wxToolBarBaseFiRC8wxString
+ ;From object file: ..\common\textcmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTextCtrlBase::operator<<(double)
+ __ls__14wxTextCtrlBaseFd
+ ;wxTextCtrlBase::operator<<(float)
+ __ls__14wxTextCtrlBaseFf
+ ;wxTextCtrlBase::LoadFile(const wxString&)
+ LoadFile__14wxTextCtrlBaseFRC8wxString
+ ;wxTextCtrlBase::operator<<(const wxString&)
+ __ls__14wxTextCtrlBaseFRC8wxString
+ ;wxTextCtrlBase::operator<<(int)
+ __ls__14wxTextCtrlBaseFi
+ ;wxTextCtrlBase::wxTextCtrlBase()
+ __ct__14wxTextCtrlBaseFv
+ ;wxTextCtrlBase::operator<<(long)
+ __ls__14wxTextCtrlBaseFl
+ ;wxTextCtrlBase::~wxTextCtrlBase()
+ __dt__14wxTextCtrlBaseFv
+ ;wxTextCtrlBase::SaveFile(const wxString&)
+ SaveFile__14wxTextCtrlBaseFRC8wxString
+ ;wxTextCtrlBase::operator<<(const char)
+ __ls__14wxTextCtrlBaseFCc
+ __vft14wxTextCtrlBase8wxObject
+ ;From object file: ..\common\textfile.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTextFile::GuessType() const
+ GuessType__10wxTextFileCFv
+ ;wxTextFile::Open(const wxString&)
+ Open__10wxTextFileFRC8wxString
+ ;wxTextFile::~wxTextFile()
+ __dt__10wxTextFileFv
+ ;wxTextFile::Open()
+ Open__10wxTextFileFv
+ ;wxTextFile::Write(wxTextFileType)
+ Write__10wxTextFileF14wxTextFileType
+ ;wxTextFile::typeDefault
+ typeDefault__10wxTextFile
+ ;wxTextFile::Exists() const
+ Exists__10wxTextFileCFv
+ ;wxTextFile::Create()
+ Create__10wxTextFileFv
+ ;wxTextFile::GetEOL(wxTextFileType)
+ GetEOL__10wxTextFileF14wxTextFileType
+ ;wxTextFile::Translate(const wxString&,wxTextFileType)
+ Translate__10wxTextFileFRC8wxString14wxTextFileType
+ ;wxTextFile::Read()
+ Read__10wxTextFileFv
+ ;wxTextFile::Close()
+ Close__10wxTextFileFv
+ ;wxTextFile::wxTextFile(const wxString&)
+ __ct__10wxTextFileFRC8wxString
+ ;wxTextFile::Create(const wxString&)
+ Create__10wxTextFileFRC8wxString
+ ;From object file: ..\common\timercmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTimerEvent::sm_classwxTimerEvent
+ sm_classwxTimerEvent__12wxTimerEvent
+ ;wxGetLocalTimeMillis()
+ wxGetLocalTimeMillis__Fv
+ __vft11wxTimerBase8wxObject
+ ;wxStopWatch::GetElapsedTime() const
+ GetElapsedTime__11wxStopWatchCFv
+ ;wxStopWatch::Time() const
+ Time__11wxStopWatchCFv
+ ;wxTimerBase::Notify()
+ Notify__11wxTimerBaseFv
+ ;wxStopWatch::Start(long)
+ Start__11wxStopWatchFl
+ ;wxGetElapsedTime(unsigned long)
+ wxGetElapsedTime__FUl
+ ;wxGetLocalTime()
+ wxGetLocalTime__Fv
+ ;wxTimerBase::Start(int,unsigned long)
+ Start__11wxTimerBaseFiUl
+ ;wxConstructorForwxTimerEvent()
+ wxConstructorForwxTimerEvent__Fv
+ ;wxStartTimer()
+ wxStartTimer__Fv
+ ;wxGetUTCTime()
+ wxGetUTCTime__Fv
+ ;From object file: ..\common\tokenzr.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxStringTokenizer::SetString(const wxString&,const wxString&,wxStringTokenizerMode)
+ SetString__17wxStringTokenizerFRC8wxStringT121wxStringTokenizerMode
+ ;wxStringTokenizer::GetNextToken()
+ GetNextToken__17wxStringTokenizerFv
+ ;wxStringTokenizer::HasMoreTokens() const
+ HasMoreTokens__17wxStringTokenizerCFv
+ ;wxStringTokenizer::wxStringTokenizer(const wxString&,const wxString&,wxStringTokenizerMode)
+ __ct__17wxStringTokenizerFRC8wxStringT121wxStringTokenizerMode
+ ;wxStringTokenizer::CountTokens() const
+ CountTokens__17wxStringTokenizerCFv
+ ;wxStringTokenizer::Reinit(const wxString&)
+ Reinit__17wxStringTokenizerFRC8wxString
+ ;From object file: ..\common\treebase.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForwxTreeEvent()
+ wxConstructorForwxTreeEvent__Fv
+ ;wxTreeEvent::wxTreeEvent(int,int)
+ __ct__11wxTreeEventFiT1
+ ;wxTreeEvent::sm_classwxTreeEvent
+ sm_classwxTreeEvent__11wxTreeEvent
+ ;From object file: ..\common\txtstrm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTextOutputStream::SetMode(wxEOL)
+ SetMode__18wxTextOutputStreamF5wxEOL
+ ;endl(wxTextOutputStream&)
+ endl__FR18wxTextOutputStream
+ ;wxTextInputStream::NextNonSeparators()
+ NextNonSeparators__17wxTextInputStreamFv
+ ;wxTextInputStream::ReadDouble()
+ ReadDouble__17wxTextInputStreamFv
+ ;wxTextOutputStream::Write16(unsigned short)
+ Write16__18wxTextOutputStreamFUs
+ ;wxTextInputStream::operator>>(unsigned int&)
+ __rs__17wxTextInputStreamFRUi
+ __vft18wxTextOutputStream
+ ;wxTextInputStream::EatEOL(const char&)
+ EatEOL__17wxTextInputStreamFRCc
+ ;wxTextInputStream::operator>>(short&)
+ __rs__17wxTextInputStreamFRs
+ ;wxTextInputStream::operator>>(unsigned short&)
+ __rs__17wxTextInputStreamFRUs
+ ;wxTextInputStream::operator>>(wxString&)
+ __rs__17wxTextInputStreamFR8wxString
+ ;wxTextOutputStream::operator<<(const wxString&)
+ __ls__18wxTextOutputStreamFRC8wxString
+ ;wxTextOutputStream::Write8(unsigned char)
+ Write8__18wxTextOutputStreamFUc
+ ;wxTextOutputStream::wxTextOutputStream(wxOutputStream&,wxEOL)
+ __ct__18wxTextOutputStreamFR14wxOutputStream5wxEOL
+ ;wxTextOutputStream::WriteDouble(double)
+ WriteDouble__18wxTextOutputStreamFd
+ ;wxTextOutputStream::operator<<(unsigned int)
+ __ls__18wxTextOutputStreamFUi
+ ;wxTextInputStream::Read16()
+ Read16__17wxTextInputStreamFv
+ ;wxTextInputStream::operator>>(char&)
+ __rs__17wxTextInputStreamFRc
+ ;wxTextOutputStream::operator<<(char)
+ __ls__18wxTextOutputStreamFc
+ ;wxTextOutputStream::WriteString(const wxString&)
+ WriteString__18wxTextOutputStreamFRC8wxString
+ ;wxTextInputStream::operator>>(double&)
+ __rs__17wxTextInputStreamFRd
+ ;wxTextOutputStream::operator<<(double)
+ __ls__18wxTextOutputStreamFd
+ ;wxTextInputStream::Read8()
+ Read8__17wxTextInputStreamFv
+ ;wxTextInputStream::operator>>(float&)
+ __rs__17wxTextInputStreamFRf
+ ;wxTextOutputStream::operator<<(float)
+ __ls__18wxTextOutputStreamFf
+ ;wxTextInputStream::ReadLine()
+ ReadLine__17wxTextInputStreamFv
+ ;wxTextInputStream::wxTextInputStream(wxInputStream&,const wxString&)
+ __ct__17wxTextInputStreamFR13wxInputStreamRC8wxString
+ ;wxTextOutputStream::operator<<(short)
+ __ls__18wxTextOutputStreamFs
+ ;wxTextOutputStream::operator<<(unsigned short)
+ __ls__18wxTextOutputStreamFUs
+ ;wxTextOutputStream::operator<<(const char*)
+ __ls__18wxTextOutputStreamFPCc
+ ;wxTextInputStream::operator>>(int&)
+ __rs__17wxTextInputStreamFRi
+ ;wxTextOutputStream::operator<<(int)
+ __ls__18wxTextOutputStreamFi
+ ;wxTextOutputStream::Write32(unsigned int)
+ Write32__18wxTextOutputStreamFUi
+ ;wxTextInputStream::~wxTextInputStream()
+ __dt__17wxTextInputStreamFv
+ ;wxTextOutputStream::~wxTextOutputStream()
+ __dt__18wxTextOutputStreamFv
+ ;wxTextInputStream::ReadWord()
+ ReadWord__17wxTextInputStreamFv
+ ;wxTextInputStream::ReadString()
+ ReadString__17wxTextInputStreamFv
+ ;wxTextInputStream::Read32()
+ Read32__17wxTextInputStreamFv
+ ;wxTextInputStream::SkipIfEndOfLine(char)
+ SkipIfEndOfLine__17wxTextInputStreamFc
+ ;From object file: G:\DEV\WX2\WXWINDOWS\src\common\unzip.c
+ ;PUBDEFs (Symbols available from object file):
+ unzReadCurrentFile
+ unzGetCurrentFileInfo
+ unztell
+ unzGetGlobalComment
+ unzOpen
+ unzGoToFirstFile
+ unzOpenCurrentFile
+ unzLocateFile
+ unzCloseCurrentFile
+ unzClose
+ unzGetGlobalInfo
+ unzGetLocalExtrafield
+ unz_copyright
+ unzStringFileNameCompare
+ unzGoToNextFile
+ unzeof
+ ;From object file: ..\common\url.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxURL::PrepProto(wxString&)
+ PrepProto__5wxURLFR8wxString
+ ;wxURL::ConvertToValidURI(const wxString&,const char*)
+ ConvertToValidURI__5wxURLFRC8wxStringPCc
+ ;wxURL::ConvertFromURI(const wxString&)
+ ConvertFromURI__5wxURLFRC8wxString
+ ;wxURL::ms_protocols
+ ms_protocols__5wxURL
+ __vft11wxURLModule8wxObject
+ ;wxURLModule::sm_classwxURLModule
+ sm_classwxURLModule__11wxURLModule
+ ;wxURL::SetProxy(const wxString&)
+ SetProxy__5wxURLFRC8wxString
+ ;wxProtoInfo::sm_classwxProtoInfo
+ sm_classwxProtoInfo__11wxProtoInfo
+ ;wxURL::ms_useDefaultProxy
+ ms_useDefaultProxy__5wxURL
+ ;wxURL::ParseURL()
+ ParseURL__5wxURLFv
+ ;wxURL::~wxURL()
+ __dt__5wxURLFv
+ ;wxURLModule::OnInit()
+ OnInit__11wxURLModuleFv
+ ;wxURL::GetInputStream()
+ GetInputStream__5wxURLFv
+ ;wxURL::SetDefaultProxy(const wxString&)
+ SetDefaultProxy__5wxURLFRC8wxString
+ ;wxURL::CleanData()
+ CleanData__5wxURLFv
+ ;wxURLModule::OnExit()
+ OnExit__11wxURLModuleFv
+ ;wxURL::PrepPath(wxString&)
+ PrepPath__5wxURLFR8wxString
+ ;wxURL::sm_classwxURL
+ sm_classwxURL__5wxURL
+ ;wxURL::ms_proxyDefault
+ ms_proxyDefault__5wxURL
+ __vft5wxURL8wxObject
+ ;wxURL::FetchProtocol()
+ FetchProtocol__5wxURLFv
+ ;wxConstructorForwxURLModule()
+ wxConstructorForwxURLModule__Fv
+ ;wxURL::wxURL(const wxString&)
+ __ct__5wxURLFRC8wxString
+ ;wxURL::PrepHost(wxString&)
+ PrepHost__5wxURLFR8wxString
+ ;From object file: ..\common\utilscmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;IntToString(int)
+ IntToString__Fi
+ ;wxStripMenuCodes(char*,char*)
+ wxStripMenuCodes__FPcT1
+ ;wxDecToHex(int)
+ wxDecToHex__Fi
+ ;wxNow()
+ wxNow__Fv
+ ;wxWindowDisabler::~wxWindowDisabler()
+ __dt__16wxWindowDisablerFv
+ ;copystring(const char*)
+ copystring__FPCc
+ ;wxGetPasswordFromUser(const wxString&,const wxString&,const wxString&,wxWindow*)
+ wxGetPasswordFromUser__FRC8wxStringN21P8wxWindow
+ ;wxRegisterId(long)
+ wxRegisterId__Fl
+ ;wxSetDetectableAutoRepeat(unsigned long)
+ wxSetDetectableAutoRepeat__FUl
+ ;wxGetTextFromUser(const wxString&,const wxString&,const wxString&,wxWindow*,int,int,unsigned long)
+ wxGetTextFromUser__FRC8wxStringN21P8wxWindowiT5Ul
+ ;wxFindWindowAtPoint(wxWindow*,const wxPoint&)
+ wxFindWindowAtPoint__FP8wxWindowRC7wxPoint
+ ;StringToDouble(char*,double*)
+ StringToDouble__FPcPd
+ ;StringToInt(char*,int*)
+ StringToInt__FPcPi
+ ;wxMessageBox(const wxString&,const wxString&,long,wxWindow*,int,int)
+ wxMessageBox__FRC8wxStringT1lP8wxWindowiT5
+ ;wxNewId()
+ wxNewId__Fv
+ ;wxExecute(const wxString&,wxArrayString&,wxArrayString&)
+ wxExecute__FRC8wxStringR13wxArrayStringT2
+ ;wxHexToDec(const wxString&)
+ wxHexToDec__FRC8wxString
+ ;wxExecute(const wxString&,wxArrayString&)
+ wxExecute__FRC8wxStringR13wxArrayString
+ ;StringToLong(char*,long*)
+ StringToLong__FPcPl
+ ;LongToString(long)
+ LongToString__Fl
+ ;wxGetCurrentId()
+ wxGetCurrentId__Fv
+ ;wxGetHostName()
+ wxGetHostName__Fv
+ ;wxGetHomeDir()
+ wxGetHomeDir__Fv
+ ;wxGetFullHostName()
+ wxGetFullHostName__Fv
+ ;wxFindWindowByName(const wxString&,wxWindow*)
+ wxFindWindowByName__FRC8wxStringP8wxWindow
+ ;wxGenericFindWindowAtPoint(const wxPoint&)
+ wxGenericFindWindowAtPoint__FRC7wxPoint
+ ;wxEnableTopLevelWindows(unsigned long)
+ wxEnableTopLevelWindows__FUl
+ ;wxGetEmailAddress(char*,int)
+ wxGetEmailAddress__FPci
+ ;wxGetUserId()
+ wxGetUserId__Fv
+ ;DoubleToString(double,const char*)
+ DoubleToString__FdPCc
+ ;wxStripMenuCodes(const wxString&)
+ wxStripMenuCodes__FRC8wxString
+ ;wxSafeYield(wxWindow*)
+ wxSafeYield__FP8wxWindow
+ ;wxGetAccelFromString(const wxString&)
+ wxGetAccelFromString__FRC8wxString
+ ;StringMatch(char*,char*,unsigned long,unsigned long)
+ StringMatch__FPcT1UlT3
+ ;StringToFloat(char*,float*)
+ StringToFloat__FPcPf
+ ;wxGetUserName()
+ wxGetUserName__Fv
+ ;wxGetEmailAddress()
+ wxGetEmailAddress__Fv
+ ;wxGetColourFromUser(wxWindow*,const wxColour&)
+ wxGetColourFromUser__FP8wxWindowRC8wxColour
+ ;wxFindMenuItemId(wxFrame*,const wxString&,const wxString&)
+ wxFindMenuItemId__FP7wxFrameRC8wxStringT2
+ ;FloatToString(float,const char*)
+ FloatToString__FfPCc
+ ;wxFindWindowByLabel(const wxString&,wxWindow*)
+ wxFindWindowByLabel__FRC8wxStringP8wxWindow
+ ;wxDecToHex(int,char*)
+ wxDecToHex__FiPc
+ ;wxWindowDisabler::wxWindowDisabler(wxWindow*)
+ __ct__16wxWindowDisablerFP8wxWindow
+ ;From object file: ..\common\valgen.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericValidator::wxGenericValidator(const wxGenericValidator&)
+ __ct__18wxGenericValidatorFRC18wxGenericValidator
+ ;wxGenericValidator::~wxGenericValidator()
+ __dt__18wxGenericValidatorFv
+ ;wxGenericValidator::Initialize()
+ Initialize__18wxGenericValidatorFv
+ ;wxGenericValidator::wxGenericValidator(wxArrayInt*)
+ __ct__18wxGenericValidatorFP10wxArrayInt
+ ;wxGenericValidator::wxGenericValidator(int*)
+ __ct__18wxGenericValidatorFPi
+ ;wxGenericValidator::wxGenericValidator(wxString*)
+ __ct__18wxGenericValidatorFP8wxString
+ ;wxGenericValidator::TransferToWindow()
+ TransferToWindow__18wxGenericValidatorFv
+ ;wxGenericValidator::wxGenericValidator(unsigned long*)
+ __ct__18wxGenericValidatorFPUl
+ __vft18wxGenericValidator8wxObject
+ ;wxGenericValidator::Copy(const wxGenericValidator&)
+ Copy__18wxGenericValidatorFRC18wxGenericValidator
+ ;wxGenericValidator::TransferFromWindow()
+ TransferFromWindow__18wxGenericValidatorFv
+ ;From object file: ..\common\validate.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxValidator::~wxValidator()
+ __dt__11wxValidatorFv
+ ;wxValidator::wxValidator()
+ __ct__11wxValidatorFv
+ ;wxValidator::sm_classwxValidator
+ sm_classwxValidator__11wxValidator
+ __vft11wxValidator8wxObject
+ ;wxConstructorForwxValidator()
+ wxConstructorForwxValidator__Fv
+ wxDefaultValidator
+ ;wxValidator::ms_isSilent
+ ms_isSilent__11wxValidator
+ ;From object file: ..\common\valtext.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTextValidator::wxTextValidator(const wxTextValidator&)
+ __ct__15wxTextValidatorFRC15wxTextValidator
+ ;wxTextValidator::sm_eventTableEntries
+ sm_eventTableEntries__15wxTextValidator
+ ;wxTextValidator::TransferToWindow()
+ TransferToWindow__15wxTextValidatorFv
+ ;wxTextValidator::Copy(const wxTextValidator&)
+ Copy__15wxTextValidatorFRC15wxTextValidator
+ ;wxTextValidator::wxTextValidator(long,wxString*)
+ __ct__15wxTextValidatorFlP8wxString
+ ;wxTextValidator::Validate(wxWindow*)
+ Validate__15wxTextValidatorFP8wxWindow
+ ;wxConstructorForwxTextValidator()
+ wxConstructorForwxTextValidator__Fv
+ ;wxTextValidator::sm_eventTable
+ sm_eventTable__15wxTextValidator
+ ;wxTextValidator::~wxTextValidator()
+ __dt__15wxTextValidatorFv
+ ;wxTextValidator::SetIncludeList(const wxStringList&)
+ SetIncludeList__15wxTextValidatorFRC12wxStringList
+ __vft15wxTextValidator8wxObject
+ ;wxTextValidator::SetExcludeList(const wxStringList&)
+ SetExcludeList__15wxTextValidatorFRC12wxStringList
+ ;wxTextValidator::OnChar(wxKeyEvent&)
+ OnChar__15wxTextValidatorFR10wxKeyEvent
+ ;wxTextValidator::GetEventTable() const
+ GetEventTable__15wxTextValidatorCFv
+ ;wxTextValidator::sm_classwxTextValidator
+ sm_classwxTextValidator__15wxTextValidator
+ ;wxTextValidator::TransferFromWindow()
+ TransferFromWindow__15wxTextValidatorFv
+ ;From object file: ..\common\variant.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxVariantDataStringList::SetValue(const wxStringList&)
+ SetValue__23wxVariantDataStringListFRC12wxStringList
+ wxNullVariant
+ ;wxVariantDataStringList::sm_classwxVariantDataStringList
+ sm_classwxVariantDataStringList__23wxVariantDataStringList
+ ;wxVariantDataList::sm_classwxVariantDataList
+ sm_classwxVariantDataList__17wxVariantDataList
+ __vft23wxVariantDataStringList8wxObject
+ __vft17wxVariantDataLong8wxObject
+ ;wxVariant::operator!=(unsigned long) const
+ __ne__9wxVariantCFUl
+ ;wxVariant::operator==(double) const
+ __eq__9wxVariantCFd
+ ;wxVariant::operator=(unsigned long)
+ __as__9wxVariantFUl
+ ;wxVariant::Member(const wxVariant&) const
+ Member__9wxVariantCFRC9wxVariant
+ ;wxVariantDataList::Write(ostream&) const
+ Write__17wxVariantDataListCFR7ostream
+ ;wxTime::sm_classwxTime
+ sm_classwxTime__6wxTime
+ ;wxVariant::operator=(const wxTime&)
+ __as__9wxVariantFRC6wxTime
+ ;wxVariant::operator=(const wxDate&)
+ __as__9wxVariantFRC6wxDate
+ ;wxVariant::operator=(wxVariantData*)
+ __as__9wxVariantFP13wxVariantData
+ ;wxVariantDataVoidPtr::Write(ostream&) const
+ Write__20wxVariantDataVoidPtrCFR7ostream
+ ;wxVariantDataReal::Write(ostream&) const
+ Write__17wxVariantDataRealCFR7ostream
+ ;wxVariantDataReal::Write(wxOutputStream&) const
+ Write__17wxVariantDataRealCFR14wxOutputStream
+ ;wxVariant::SetData(wxVariantData*)
+ SetData__9wxVariantFP13wxVariantData
+ ;wxVariantDataVoidPtr::Read(istream&)
+ Read__20wxVariantDataVoidPtrFR7istream
+ ;wxVariantDataString::Read(istream&)
+ Read__19wxVariantDataStringFR7istream
+ ;wxVariantDataTime::Eq(wxVariantData&) const
+ Eq__17wxVariantDataTimeCFR13wxVariantData
+ ;wxVariantDataReal::Eq(wxVariantData&) const
+ Eq__17wxVariantDataRealCFR13wxVariantData
+ ;wxVariantDataTime::Copy(wxVariantData&)
+ Copy__17wxVariantDataTimeFR13wxVariantData
+ ;wxVariant::GetBool() const
+ GetBool__9wxVariantCFv
+ ;wxVariant::GetTime() const
+ GetTime__9wxVariantCFv
+ ;wxVariant::GetString() const
+ GetString__9wxVariantCFv
+ ;wxVariant::GetReal() const
+ GetReal__9wxVariantCFv
+ ;wxVariant::ClearList()
+ ClearList__9wxVariantFv
+ ;wxVariantDataChar::Write(wxString&) const
+ Write__17wxVariantDataCharCFR8wxString
+ ;wxVariant::wxVariant(const wxDate&,const wxString&)
+ __ct__9wxVariantFRC6wxDateRC8wxString
+ ;wxVariant::operator=(char)
+ __as__9wxVariantFc
+ ;wxVariantDataString::Write(wxString&) const
+ Write__19wxVariantDataStringCFR8wxString
+ ;wxVariantDataDate::Read(wxString&)
+ Read__17wxVariantDataDateFR8wxString
+ ;wxVariantDataList::wxVariantDataList(const wxList&)
+ __ct__17wxVariantDataListFRC6wxList
+ __vft17wxVariantDataReal8wxObject
+ __vft17wxVariantDataList8wxObject
+ ;wxVariant::operator!=(const wxStringList&) const
+ __ne__9wxVariantCFRC12wxStringList
+ ;wxVariant::operator==(unsigned long) const
+ __eq__9wxVariantCFUl
+ ;wxVariant::operator=(double)
+ __as__9wxVariantFd
+ ;wxVariant::operator=(const wxVariant&)
+ __as__9wxVariantFRC9wxVariant
+ ;wxVariant::Convert(unsigned long*) const
+ Convert__9wxVariantCFPUl
+ ;wxVariantDataLong::Copy(wxVariantData&)
+ Copy__17wxVariantDataLongFR13wxVariantData
+ ;wxVariant::operator==(const wxDate&) const
+ __eq__9wxVariantCFRC6wxDate
+ ;wxVariantDataString::Write(wxOutputStream&) const
+ Write__19wxVariantDataStringCFR14wxOutputStream
+ ;wxVariantDataLong::Write(ostream&) const
+ Write__17wxVariantDataLongCFR7ostream
+ ;wxVariantDataLong::Write(wxOutputStream&) const
+ Write__17wxVariantDataLongCFR14wxOutputStream
+ ;wxVariantDataChar::Write(wxOutputStream&) const
+ Write__17wxVariantDataCharCFR14wxOutputStream
+ ;wxVariantDataString::Read(wxInputStream&)
+ Read__19wxVariantDataStringFR13wxInputStream
+ ;wxVariantDataTime::Read(istream&)
+ Read__17wxVariantDataTimeFR7istream
+ ;wxVariantDataReal::Read(wxInputStream&)
+ Read__17wxVariantDataRealFR13wxInputStream
+ ;wxVariantDataLong::Read(wxInputStream&)
+ Read__17wxVariantDataLongFR13wxInputStream
+ ;wxVariantDataLong::Eq(wxVariantData&) const
+ Eq__17wxVariantDataLongCFR13wxVariantData
+ ;wxVariant::MakeString() const
+ MakeString__9wxVariantCFv
+ ;wxConstructorForwxVariant()
+ wxConstructorForwxVariant__Fv
+ ;wxConstructorForwxVariantDataChar()
+ wxConstructorForwxVariantDataChar__Fv
+ ;wxConstructorForwxTime()
+ wxConstructorForwxTime__Fv
+ ;wxVariant::operator!=(void*) const
+ __ne__9wxVariantCFPv
+ ;wxVariant::MakeNull()
+ MakeNull__9wxVariantFv
+ ;wxVariant::GetType() const
+ GetType__9wxVariantCFv
+ ;wxVariant::GetDate() const
+ GetDate__9wxVariantCFv
+ ;wxVariantDataList::Read(wxString&)
+ Read__17wxVariantDataListFR8wxString
+ ;wxVariantDataString::sm_classwxVariantDataString
+ sm_classwxVariantDataString__19wxVariantDataString
+ ;wxVariantDataLong::sm_classwxVariantDataLong
+ sm_classwxVariantDataLong__17wxVariantDataLong
+ ;wxVariant::operator!=(char) const
+ __ne__9wxVariantCFc
+ ;wxVariant::wxVariant(unsigned long,const wxString&)
+ __ct__9wxVariantFUlRC8wxString
+ ;wxVariant::wxVariant(const wxList&,const wxString&)
+ __ct__9wxVariantFRC6wxListRC8wxString
+ ;wxVariant::wxVariant(wxVariantData*,const wxString&)
+ __ct__9wxVariantFP13wxVariantDataRC8wxString
+ ;wxVariant::operator=(const wxString&)
+ __as__9wxVariantFRC8wxString
+ ;wxVariant::operator=(const char*)
+ __as__9wxVariantFPCc
+ ;wxVariantDataReal::Read(wxString&)
+ Read__17wxVariantDataRealFR8wxString
+ ;wxVariant::Convert(char*) const
+ Convert__9wxVariantCFPc
+ ;wxVariant::Convert(double*) const
+ Convert__9wxVariantCFPd
+ __vft17wxVariantDataChar8wxObject
+ __vft17wxVariantDataBool8wxObject
+ ;wxVariant::operator!=(double) const
+ __ne__9wxVariantCFd
+ ;wxVariant::operator!=(const wxList&) const
+ __ne__9wxVariantCFRC6wxList
+ ;wxVariant::operator==(long) const
+ __eq__9wxVariantCFl
+ ;wxVariant::operator==(const wxStringList&) const
+ __eq__9wxVariantCFRC12wxStringList
+ ;wxVariantDataLong::Read(istream&)
+ Read__17wxVariantDataLongFR7istream
+ ;wxVariantData::sm_classwxVariantData
+ sm_classwxVariantData__13wxVariantData
+ ;wxVariant::operator[](unsigned int)
+ __vc__9wxVariantFUi
+ ;wxVariant::operator!=(const wxTime&) const
+ __ne__9wxVariantCFRC6wxTime
+ ;wxVariantDataString::Write(ostream&) const
+ Write__19wxVariantDataStringCFR7ostream
+ ;wxVariantDataBool::Write(ostream&) const
+ Write__17wxVariantDataBoolCFR7ostream
+ ;wxVariantDataReal::Read(istream&)
+ Read__17wxVariantDataRealFR7istream
+ ;wxVariantDataDate::Read(istream&)
+ Read__17wxVariantDataDateFR7istream
+ ;wxVariantDataVoidPtr::Eq(wxVariantData&) const
+ Eq__20wxVariantDataVoidPtrCFR13wxVariantData
+ ;wxVariantDataString::Eq(wxVariantData&) const
+ Eq__19wxVariantDataStringCFR13wxVariantData
+ ;wxVariantDataChar::Eq(wxVariantData&) const
+ Eq__17wxVariantDataCharCFR13wxVariantData
+ ;wxVariant::Delete(int)
+ Delete__9wxVariantFi
+ ;wxVariantDataDate::Copy(wxVariantData&)
+ Copy__17wxVariantDataDateFR13wxVariantData
+ ;wxVariant::Convert(wxTime*) const
+ Convert__9wxVariantCFP6wxTime
+ ;wxVariant::GetInteger() const
+ GetInteger__9wxVariantCFv
+ ;wxConstructorForwxVariantDataVoidPtr()
+ wxConstructorForwxVariantDataVoidPtr__Fv
+ ;wxConstructorForwxVariantDataTime()
+ wxConstructorForwxVariantDataTime__Fv
+ ;wxConstructorForwxVariantDataList()
+ wxConstructorForwxVariantDataList__Fv
+ ;wxConstructorForwxDate()
+ wxConstructorForwxDate__Fv
+ ;wxVariantDataChar::sm_classwxVariantDataChar
+ sm_classwxVariantDataChar__17wxVariantDataChar
+ ;wxVariant::operator==(void*) const
+ __eq__9wxVariantCFPv
+ ;wxVariant::GetList() const
+ GetList__9wxVariantCFv
+ ;wxVariant::GetCount() const
+ GetCount__9wxVariantCFv
+ ;wxVariantDataLong::Write(wxString&) const
+ Write__17wxVariantDataLongCFR8wxString
+ ;wxVariant::wxVariant(char,const wxString&)
+ __ct__9wxVariantFcRC8wxString
+ ;wxVariant::wxVariant(const wxTime&,const wxString&)
+ __ct__9wxVariantFRC6wxTimeRC8wxString
+ ;wxVariant::wxVariant(const wxStringList&,const wxString&)
+ __ct__9wxVariantFRC12wxStringListRC8wxString
+ ;wxVariant::wxVariant(const char*,const wxString&)
+ __ct__9wxVariantFPCcRC8wxString
+ ;wxVariantDataTime::Write(wxString&) const
+ Write__17wxVariantDataTimeCFR8wxString
+ ;wxVariantDataDate::Write(wxString&) const
+ Write__17wxVariantDataDateCFR8wxString
+ ;wxVariantDataBool::Write(wxString&) const
+ Write__17wxVariantDataBoolCFR8wxString
+ ;wxVariantDataTime::Read(wxString&)
+ Read__17wxVariantDataTimeFR8wxString
+ ;wxVariantDataChar::Read(wxString&)
+ Read__17wxVariantDataCharFR8wxString
+ ;wxVariant::Convert(wxString*) const
+ Convert__9wxVariantCFP8wxString
+ ;wxVariantDataList::SetValue(const wxList&)
+ SetValue__17wxVariantDataListFRC6wxList
+ ;wxVariant::sm_classwxVariant
+ sm_classwxVariant__9wxVariant
+ ;wxVariantDataReal::sm_classwxVariantDataReal
+ sm_classwxVariantDataReal__17wxVariantDataReal
+ __vft9wxVariant8wxObject
+ __vft20wxVariantDataVoidPtr8wxObject
+ __vft17wxVariantDataTime8wxObject
+ ;wxVariant::wxVariant(const wxVariant&)
+ __ct__9wxVariantFRC9wxVariant
+ ;wxVariant::operator=(long)
+ __as__9wxVariantFl
+ ;wxVariant::operator=(const wxList&)
+ __as__9wxVariantFRC6wxList
+ ;wxVariant::Append(const wxVariant&)
+ Append__9wxVariantFRC9wxVariant
+ ;wxVariantDataList::Copy(wxVariantData&)
+ Copy__17wxVariantDataListFR13wxVariantData
+ ;wxVariantDataDate::sm_classwxVariantDataDate
+ sm_classwxVariantDataDate__17wxVariantDataDate
+ ;wxVariant::operator==(const wxTime&) const
+ __eq__9wxVariantCFRC6wxTime
+ ;wxVariant::wxVariant(const wxString&,const wxString&)
+ __ct__9wxVariantFRC8wxStringT1
+ ;wxVariantDataStringList::Write(ostream&) const
+ Write__23wxVariantDataStringListCFR7ostream
+ ;wxVariantDataTime::Write(ostream&) const
+ Write__17wxVariantDataTimeCFR7ostream
+ ;wxVariantDataDate::Write(ostream&) const
+ Write__17wxVariantDataDateCFR7ostream
+ ;wxVariantDataChar::Write(ostream&) const
+ Write__17wxVariantDataCharCFR7ostream
+ ;wxVariantDataBool::Write(wxOutputStream&) const
+ Write__17wxVariantDataBoolCFR14wxOutputStream
+ ;wxVariantDataChar::Read(istream&)
+ Read__17wxVariantDataCharFR7istream
+ ;wxVariantDataChar::Read(wxInputStream&)
+ Read__17wxVariantDataCharFR13wxInputStream
+ ;wxVariantDataBool::Read(istream&)
+ Read__17wxVariantDataBoolFR7istream
+ ;wxVariantDataDate::Eq(wxVariantData&) const
+ Eq__17wxVariantDataDateCFR13wxVariantData
+ ;wxVariantDataString::Copy(wxVariantData&)
+ Copy__19wxVariantDataStringFR13wxVariantData
+ ;wxVariantDataReal::Copy(wxVariantData&)
+ Copy__17wxVariantDataRealFR13wxVariantData
+ ;wxVariant::Convert(wxDate*) const
+ Convert__9wxVariantCFP6wxDate
+ ;wxVariant::GetChar() const
+ GetChar__9wxVariantCFv
+ ;wxConstructorForwxVariantDataDate()
+ wxConstructorForwxVariantDataDate__Fv
+ ;wxConstructorForwxVariantDataBool()
+ wxConstructorForwxVariantDataBool__Fv
+ ;wxVariantDataVoidPtr::sm_classwxVariantDataVoidPtr
+ sm_classwxVariantDataVoidPtr__20wxVariantDataVoidPtr
+ ;wxVariant::~wxVariant()
+ __dt__9wxVariantFv
+ ;wxVariantDataList::~wxVariantDataList()
+ __dt__17wxVariantDataListFv
+ ;wxVariantDataList::Clear()
+ Clear__17wxVariantDataListFv
+ ;wxVariantDataStringList::Write(wxString&) const
+ Write__23wxVariantDataStringListCFR8wxString
+ ;wxVariant::operator==(const wxString&) const
+ __eq__9wxVariantCFRC8wxString
+ ;wxVariant::wxVariant(long,const wxString&)
+ __ct__9wxVariantFlRC8wxString
+ ;wxVariant::wxVariant(double,const wxString&)
+ __ct__9wxVariantFdRC8wxString
+ ;wxVariantDataReal::Write(wxString&) const
+ Write__17wxVariantDataRealCFR8wxString
+ ;wxVariantDataVoidPtr::Read(wxString&)
+ Read__20wxVariantDataVoidPtrFR8wxString
+ ;wxVariantDataString::Read(wxString&)
+ Read__19wxVariantDataStringFR8wxString
+ ;wxVariantDataLong::Read(wxString&)
+ Read__17wxVariantDataLongFR8wxString
+ ;wxVariant::operator!=(const wxVariant&) const
+ __ne__9wxVariantCFRC9wxVariant
+ ;wxVariantDataBool::sm_classwxVariantDataBool
+ sm_classwxVariantDataBool__17wxVariantDataBool
+ __vft19wxVariantDataString8wxObject
+ __vft17wxVariantDataDate8wxObject
+ ;wxVariant::operator!=(long) const
+ __ne__9wxVariantCFl
+ ;wxVariant::operator==(const wxVariant&) const
+ __eq__9wxVariantCFRC9wxVariant
+ ;wxVariant::operator==(const wxList&) const
+ __eq__9wxVariantCFRC6wxList
+ ;wxVariant::operator=(const wxStringList&)
+ __as__9wxVariantFRC12wxStringList
+ ;wxVariant::Insert(const wxVariant&)
+ Insert__9wxVariantFRC9wxVariant
+ ;wxVariant::Convert(long*) const
+ Convert__9wxVariantCFPl
+ ;wxVariantDataList::Eq(wxVariantData&) const
+ Eq__17wxVariantDataListCFR13wxVariantData
+ ;wxVariantDataTime::sm_classwxVariantDataTime
+ sm_classwxVariantDataTime__17wxVariantDataTime
+ ;wxDate::sm_classwxDate
+ sm_classwxDate__6wxDate
+ ;wxTime::ms_Precision
+ ms_Precision__6wxTime
+ ;wxTime::ms_Format
+ ms_Format__6wxTime
+ ;wxVariant::operator[](unsigned int) const
+ __vc__9wxVariantCFUi
+ ;wxVariant::operator!=(const wxDate&) const
+ __ne__9wxVariantCFRC6wxDate
+ ;wxVariantDataStringList::Read(istream&)
+ Read__23wxVariantDataStringListFR7istream
+ ;wxVariantDataList::Read(istream&)
+ Read__17wxVariantDataListFR7istream
+ ;wxVariantDataBool::Read(wxInputStream&)
+ Read__17wxVariantDataBoolFR13wxInputStream
+ ;wxVariantDataStringList::Eq(wxVariantData&) const
+ Eq__23wxVariantDataStringListCFR13wxVariantData
+ ;wxVariantDataBool::Eq(wxVariantData&) const
+ Eq__17wxVariantDataBoolCFR13wxVariantData
+ ;wxVariantDataStringList::Copy(wxVariantData&)
+ Copy__23wxVariantDataStringListFR13wxVariantData
+ ;wxVariantDataVoidPtr::Copy(wxVariantData&)
+ Copy__20wxVariantDataVoidPtrFR13wxVariantData
+ ;wxVariantDataChar::Copy(wxVariantData&)
+ Copy__17wxVariantDataCharFR13wxVariantData
+ ;wxVariantDataBool::Copy(wxVariantData&)
+ Copy__17wxVariantDataBoolFR13wxVariantData
+ ;wxVariant::GetVoidPtr() const
+ GetVoidPtr__9wxVariantCFv
+ ;wxConstructorForwxVariantDataString()
+ wxConstructorForwxVariantDataString__Fv
+ ;wxConstructorForwxVariantDataStringList()
+ wxConstructorForwxVariantDataStringList__Fv
+ ;wxConstructorForwxVariantDataReal()
+ wxConstructorForwxVariantDataReal__Fv
+ ;wxConstructorForwxVariantDataLong()
+ wxConstructorForwxVariantDataLong__Fv
+ ;wxVariant::wxVariant()
+ __ct__9wxVariantFv
+ ;wxVariant::operator=(void*)
+ __as__9wxVariantFPv
+ ;wxVariant::GetStringList() const
+ GetStringList__9wxVariantCFv
+ ;wxVariantDataList::Write(wxString&) const
+ Write__17wxVariantDataListCFR8wxString
+ ;wxVariant::operator!=(const wxString&) const
+ __ne__9wxVariantCFRC8wxString
+ ;wxVariant::operator==(char) const
+ __eq__9wxVariantCFc
+ ;wxVariant::wxVariant(void*,const wxString&)
+ __ct__9wxVariantFPvRC8wxString
+ ;wxVariantDataVoidPtr::Write(wxString&) const
+ Write__20wxVariantDataVoidPtrCFR8wxString
+ ;wxVariantDataStringList::Read(wxString&)
+ Read__23wxVariantDataStringListFR8wxString
+ ;wxVariantDataBool::Read(wxString&)
+ Read__17wxVariantDataBoolFR8wxString
+ ;wxVariant::IsType(const wxString&) const
+ IsType__9wxVariantCFRC8wxString
+ ;From object file: ..\common\wfstream.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFileInputStream::wxFileInputStream(wxFile&)
+ __ct__17wxFileInputStreamFR6wxFile
+ __vft17wxFileInputStream12wxStreamBase
+ ;wxFileOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__18wxFileOutputStreamFPCvUi
+ ;wxFFileInputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__18wxFFileInputStreamFl10wxSeekMode
+ ;wxFileInputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__17wxFileInputStreamFl10wxSeekMode
+ ;wxFileOutputStream::~wxFileOutputStream()
+ __dt__18wxFileOutputStreamFv
+ ;wxFFileOutputStream::~wxFFileOutputStream()
+ __dt__19wxFFileOutputStreamFv
+ ;wxFFileInputStream::OnSysTell() const
+ OnSysTell__18wxFFileInputStreamCFv
+ ;wxFileInputStream::OnSysTell() const
+ OnSysTell__17wxFileInputStreamCFv
+ ;wxFileInputStream::wxFileInputStream(int)
+ __ct__17wxFileInputStreamFi
+ __vft18wxFileOutputStream12wxStreamBase
+ ;wxFFileOutputStream::wxFFileOutputStream(__file*)
+ __ct__19wxFFileOutputStreamFP6__file
+ ;wxFileOutputStream::wxFileOutputStream(int)
+ __ct__18wxFileOutputStreamFi
+ ;wxFileOutputStream::wxFileOutputStream(wxFile&)
+ __ct__18wxFileOutputStreamFR6wxFile
+ ;wxFFileInputStream::wxFFileInputStream(wxFFile&)
+ __ct__18wxFFileInputStreamFR7wxFFile
+ ;wxFFileInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__18wxFFileInputStreamFPvUi
+ ;wxFileInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__17wxFileInputStreamFPvUi
+ ;wxFileInputStream::~wxFileInputStream()
+ __dt__17wxFileInputStreamFv
+ ;wxFileOutputStream::Sync()
+ Sync__18wxFileOutputStreamFv
+ ;wxFileOutputStream::wxFileOutputStream(const wxString&)
+ __ct__18wxFileOutputStreamFRC8wxString
+ __vft19wxFFileOutputStream12wxStreamBase
+ ;wxFileOutputStream::OnSysTell() const
+ OnSysTell__18wxFileOutputStreamCFv
+ ;wxFFileStream::wxFFileStream(const wxString&)
+ __ct__13wxFFileStreamFRC8wxString
+ ;wxFileOutputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__18wxFileOutputStreamFl10wxSeekMode
+ __vft18wxFFileInputStream12wxStreamBase
+ ;wxFFileOutputStream::wxFFileOutputStream(wxFFile&)
+ __ct__19wxFFileOutputStreamFR7wxFFile
+ ;wxFFileOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__19wxFFileOutputStreamFPCvUi
+ ;wxFFileOutputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__19wxFFileOutputStreamFl10wxSeekMode
+ ;wxFFileInputStream::~wxFFileInputStream()
+ __dt__18wxFFileInputStreamFv
+ ;wxFileOutputStream::GetSize() const
+ GetSize__18wxFileOutputStreamCFv
+ ;wxFFileInputStream::GetSize() const
+ GetSize__18wxFFileInputStreamCFv
+ ;wxFileInputStream::GetSize() const
+ GetSize__17wxFileInputStreamCFv
+ ;wxFileInputStream::wxFileInputStream(const wxString&)
+ __ct__17wxFileInputStreamFRC8wxString
+ ;wxFFileInputStream::wxFFileInputStream(const wxString&)
+ __ct__18wxFFileInputStreamFRC8wxString
+ ;wxFileStream::wxFileStream(const wxString&)
+ __ct__12wxFileStreamFRC8wxString
+ ;wxFFileInputStream::wxFFileInputStream(__file*)
+ __ct__18wxFFileInputStreamFP6__file
+ ;wxFileInputStream::wxFileInputStream()
+ __ct__17wxFileInputStreamFv
+ ;wxFFileOutputStream::wxFFileOutputStream()
+ __ct__19wxFFileOutputStreamFv
+ ;wxFileOutputStream::wxFileOutputStream()
+ __ct__18wxFileOutputStreamFv
+ ;wxFFileInputStream::wxFFileInputStream()
+ __ct__18wxFFileInputStreamFv
+ ;wxFFileOutputStream::Sync()
+ Sync__19wxFFileOutputStreamFv
+ ;wxFFileOutputStream::OnSysTell() const
+ OnSysTell__19wxFFileOutputStreamCFv
+ ;wxFFileOutputStream::GetSize() const
+ GetSize__19wxFFileOutputStreamCFv
+ ;wxFFileOutputStream::wxFFileOutputStream(const wxString&)
+ __ct__19wxFFileOutputStreamFRC8wxString
+ ;From object file: ..\common\wincmn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxWindowBase::ConvertDialogToPixels(const wxPoint&)
+ ConvertDialogToPixels__12wxWindowBaseFRC7wxPoint
+ __vft12wxWindowBase8wxObject
+ ;wxWindowBase::SetConstraintSizes(unsigned long)
+ SetConstraintSizes__12wxWindowBaseFUl
+ ;wxWindowBase::SetCaret(wxCaret*)
+ SetCaret__12wxWindowBaseFP7wxCaret
+ ;wxWindowBase::PopEventHandler(unsigned long)
+ PopEventHandler__12wxWindowBaseFUl
+ ;wxWindowBase::OnMiddleClick(wxMouseEvent&)
+ OnMiddleClick__12wxWindowBaseFR12wxMouseEvent
+ ;wxWindowBase::Enable(unsigned long)
+ Enable__12wxWindowBaseFUl
+ ;wxWindowBase::DoSetToolTip(wxToolTip*)
+ DoSetToolTip__12wxWindowBaseFP9wxToolTip
+ ;wxWindowBase::Reparent(wxWindowBase*)
+ Reparent__12wxWindowBaseFP12wxWindowBase
+ ;wxWindowBase::RemoveChild(wxWindowBase*)
+ RemoveChild__12wxWindowBaseFP12wxWindowBase
+ ;wxWindowBase::AddConstraintReference(wxWindowBase*)
+ AddConstraintReference__12wxWindowBaseFP12wxWindowBase
+ ;wxWindowBase::~wxWindowBase()
+ __dt__12wxWindowBaseFv
+ ;wxWindowBase::SetValidator(const wxValidator&)
+ SetValidator__12wxWindowBaseFRC11wxValidator
+ ;wxWindowBase::SetForegroundColour(const wxColour&)
+ SetForegroundColour__12wxWindowBaseFRC8wxColour
+ ;wxWindowBase::SetBackgroundColour(const wxColour&)
+ SetBackgroundColour__12wxWindowBaseFRC8wxColour
+ ;wxWindowBase::Destroy()
+ Destroy__12wxWindowBaseFv
+ ;wxWindowBase::SetConstraints(wxLayoutConstraints*)
+ SetConstraints__12wxWindowBaseFP19wxLayoutConstraints
+ ;wxWindowBase::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__12wxWindowBaseFR23wxSysColourChangedEvent
+ ;wxWindowBase::OnInitDialog(wxInitDialogEvent&)
+ OnInitDialog__12wxWindowBaseFR17wxInitDialogEvent
+ ;wxWindowBase::AddChild(wxWindowBase*)
+ AddChild__12wxWindowBaseFP12wxWindowBase
+ ;wxWindowBase::ms_lastControlId
+ ms_lastControlId__12wxWindowBase
+ ;wxWindowBase::RemoveConstraintReference(wxWindowBase*)
+ RemoveConstraintReference__12wxWindowBaseFP12wxWindowBase
+ ;wxWindowBase::LayoutPhase2(int*)
+ LayoutPhase2__12wxWindowBaseFPi
+ ;wxWindowBase::GetEventTable() const
+ GetEventTable__12wxWindowBaseCFv
+ ;wxWindowBase::Validate()
+ Validate__12wxWindowBaseFv
+ ;wxWindowBase::UpdateWindowUI()
+ UpdateWindowUI__12wxWindowBaseFv
+ ;wxWindowBase::PushEventHandler(wxEvtHandler*)
+ PushEventHandler__12wxWindowBaseFP12wxEvtHandler
+ ;wxWindowBase::DoGetClientObject() const
+ DoGetClientObject__12wxWindowBaseCFv
+ ;wxWindowBase::DestroyChildren()
+ DestroyChildren__12wxWindowBaseFv
+ ;wxWindowListNode::DeleteData()
+ DeleteData__16wxWindowListNodeFv
+ ;wxWindowBase::CreateBase(wxWindowBase*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ CreateBase__12wxWindowBaseFP12wxWindowBaseiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxWindowBase::UnsetConstraints(wxLayoutConstraints*)
+ UnsetConstraints__12wxWindowBaseFP19wxLayoutConstraints
+ ;wxWindowBase::SetToolTip(const wxString&)
+ SetToolTip__12wxWindowBaseFRC8wxString
+ ;wxWindowBase::ConvertPixelsToDialog(const wxPoint&)
+ ConvertPixelsToDialog__12wxWindowBaseFRC7wxPoint
+ ;wxWindowBase::FindWindow(long)
+ FindWindow__12wxWindowBaseFl
+ ;wxWindowBase::IsExposed(int,int) const
+ IsExposed__12wxWindowBaseCFiT1
+ ;wxWindowBase::sm_eventTableEntries
+ sm_eventTableEntries__12wxWindowBase
+ ;wxWindowBase::sm_classwxWindowBase
+ sm_classwxWindowBase__12wxWindowBase
+ __vft16wxWindowListNode10wxNodeBase
+ ;wxWindowBase::SetSizeHints(int,int,int,int,int,int)
+ SetSizeHints__12wxWindowBaseFiN51
+ ;wxWindowBase::MoveConstraint(int,int)
+ MoveConstraint__12wxWindowBaseFiT1
+ ;wxWindowBase::LayoutPhase1(int*)
+ LayoutPhase1__12wxWindowBaseFPi
+ ;wxWindowBase::GetPositionConstraint(int*,int*) const
+ GetPositionConstraint__12wxWindowBaseCFPiT1
+ ;wxWindowBase::DoSetClientObject(wxClientData*)
+ DoSetClientObject__12wxWindowBaseFP12wxClientData
+ ;wxWindowBase::TransferDataToWindow()
+ TransferDataToWindow__12wxWindowBaseFv
+ ;wxWindowBase::Layout()
+ Layout__12wxWindowBaseFv
+ ;wxWindowBase::InitDialog()
+ InitDialog__12wxWindowBaseFv
+ ;wxWindowBase::DoSetClientData(void*)
+ DoSetClientData__12wxWindowBaseFPv
+ ;wxWindowBase::FindWindow(const wxString&)
+ FindWindow__12wxWindowBaseFRC8wxString
+ ;wxWindowBase::SetHelpTextForId(const wxString&)
+ SetHelpTextForId__12wxWindowBaseFRC8wxString
+ ;wxWindowBase::Close(unsigned long)
+ Close__12wxWindowBaseFUl
+ ;wxWindowBase::Show(unsigned long)
+ Show__12wxWindowBaseFUl
+ ;wxWindowBase::OnHelp(wxHelpEvent&)
+ OnHelp__12wxWindowBaseFR11wxHelpEvent
+ ;wxWindowBase::Centre(int)
+ Centre__12wxWindowBaseFi
+ ;wxWindowBase::SetSizeConstraint(int,int,int,int)
+ SetSizeConstraint__12wxWindowBaseFiN31
+ ;wxWindowBase::GetClientSizeConstraint(int*,int*) const
+ GetClientSizeConstraint__12wxWindowBaseCFPiT1
+ ;wxWindowBase::DoGetBestSize() const
+ DoGetBestSize__12wxWindowBaseCFv
+ ;wxWindowBase::TransferDataFromWindow()
+ TransferDataFromWindow__12wxWindowBaseFv
+ ;wxWindowBase::SetSizer(wxSizer*)
+ SetSizer__12wxWindowBaseFP7wxSizer
+ ;wxWindowBase::IsTopLevel() const
+ IsTopLevel__12wxWindowBaseCFv
+ ;wxWindowBase::GetHelpText() const
+ GetHelpText__12wxWindowBaseCFv
+ ;wxWindowBase::DoGetClientData() const
+ DoGetClientData__12wxWindowBaseCFv
+ ;wxWindowBase::SetFont(const wxFont&)
+ SetFont__12wxWindowBaseFRC6wxFont
+ ;wxWindowBase::MakeModal(unsigned long)
+ MakeModal__12wxWindowBaseFUl
+ ;wxWindowBase::IsExposed(int,int,int,int) const
+ IsExposed__12wxWindowBaseCFiN31
+ ;wxWindowBase::sm_eventTable
+ sm_eventTable__12wxWindowBase
+ ;wxWindowBase::GetSizeConstraint(int*,int*) const
+ GetSizeConstraint__12wxWindowBaseCFPiT1
+ ;wxWindowBase::DoPhase(int)
+ DoPhase__12wxWindowBaseFi
+ ;wxWindowBase::InitBase()
+ InitBase__12wxWindowBaseFv
+ ;wxWindowBase::SetCursor(const wxCursor&)
+ SetCursor__12wxWindowBaseFRC8wxCursor
+ ;wxWindowBase::ResetConstraints()
+ ResetConstraints__12wxWindowBaseFv
+ ;wxWindowBase::Fit()
+ Fit__12wxWindowBaseFv
+ ;wxWindowBase::DeleteRelatedConstraints()
+ DeleteRelatedConstraints__12wxWindowBaseFv
+ ;wxWindowBase::SetHelpText(const wxString&)
+ SetHelpText__12wxWindowBaseFRC8wxString
+ ;From object file: ..\common\wxchar.cpp
+ ;PUBDEFs (Symbols available from object file):
+ wcslen
+ ;wxMB2WC(wchar_t*,const char*,unsigned int)
+ wxMB2WC__FPwPCcUi
+ ;wxWC2MB(char*,const wchar_t*,unsigned int)
+ wxWC2MB__FPcPCwUi
+ ;wxOKlibc()
+ wxOKlibc__Fv
+ ;From object file: ..\common\wxexpr.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxExpr::GetAttributeValue(const wxString&,long&) const
+ GetAttributeValue__6wxExprCFRC8wxStringRl
+ wxmake_word
+ wxmake_real
+ process_command
+ ;wxExpr::wxExpr(double)
+ __ct__6wxExprFd
+ ;wxExprDatabase::wxExprDatabase(unsigned long(*)(int,char*))
+ __ct__14wxExprDatabaseFPFiPc_Ul
+ ;wxExprDatabase::FindClause(const wxString&,long)
+ FindClause__14wxExprDatabaseFRC8wxStringl
+ ;wxExpr::Append(wxExpr*)
+ Append__6wxExprFP6wxExpr
+ ;wxExpr::~wxExpr()
+ __dt__6wxExprFv
+ ;wxExpr::Copy() const
+ Copy__6wxExprCFv
+ ;wxExpr::AddAttributeValue(const wxString&,wxExpr*)
+ AddAttributeValue__6wxExprFRC8wxStringP6wxExpr
+ ;wxExpr::IsFunctor(const wxString&) const
+ IsFunctor__6wxExprCFRC8wxString
+ wxmake_string
+ ;wxExprDatabase::Write(const wxString&)
+ Write__14wxExprDatabaseFRC8wxString
+ ;wxExpr::AddAttributeValue(const wxString&,double)
+ AddAttributeValue__6wxExprFRC8wxStringd
+ wxmake_exp
+ ;wxExprDatabase::wxExprDatabase(wxExprType,const wxString&,int,unsigned long(*)(int,char*))
+ __ct__14wxExprDatabaseF10wxExprTypeRC8wxStringiPFiPc_Ul
+ ;wxExprDatabase::HashFind(const wxString&,long) const
+ HashFind__14wxExprDatabaseCFRC8wxStringl
+ ;wxExprDatabase::Write(__file*)
+ Write__14wxExprDatabaseFP6__file
+ ;wxExpr::WriteExpr(__file*)
+ WriteExpr__6wxExprFP6__file
+ ;wxExpr::WriteClause(__file*)
+ WriteClause__6wxExprFP6__file
+ ;wxExprDatabase::HashFind(const wxString&,const wxString&) const
+ HashFind__14wxExprDatabaseCFRC8wxStringT1
+ ;wxExpr::Arg(wxExprType,int) const
+ Arg__6wxExprCF10wxExprTypei
+ ;wxExpr::Insert(wxExpr*)
+ Insert__6wxExprFP6wxExpr
+ wxmake_integer
+ ;wxExpr::Functor() const
+ Functor__6wxExprCFv
+ ;wxExprDatabase::BeginFind()
+ BeginFind__14wxExprDatabaseFv
+ ;wxExpr::wxExpr(wxExprType,const wxString&)
+ __ct__6wxExprF10wxExprTypeRC8wxString
+ ;wxExpr::AssignAttributeValue(char*,char**) const
+ AssignAttributeValue__6wxExprCFPcPPc
+ ;wxExpr::wxExpr(long)
+ __ct__6wxExprFl
+ ;wxExpr::wxExpr(wxList*)
+ __ct__6wxExprFP6wxList
+ ;wxExpr::AddAttributeValue(const wxString&,wxList*)
+ AddAttributeValue__6wxExprFRC8wxStringP6wxList
+ ;wxExpr::AddAttributeValueStringList(const wxString&,wxList*)
+ AddAttributeValueStringList__6wxExprFRC8wxStringP6wxList
+ ;wxExpr::AddAttributeValueString(const wxString&,const wxString&)
+ AddAttributeValueString__6wxExprFRC8wxStringT1
+ ;wxExpr::AddAttributeValueWord(const wxString&,const wxString&)
+ AddAttributeValueWord__6wxExprFRC8wxStringT1
+ ;wxExpr::GetAttributeValue(const wxString&,wxExpr**) const
+ GetAttributeValue__6wxExprCFRC8wxStringPP6wxExpr
+ ;wxExpr::Number() const
+ Number__6wxExprCFv
+ ;wxExprDatabase::ReadFromString(const wxString&)
+ ReadFromString__14wxExprDatabaseFRC8wxString
+ proio_cons
+ ;wxExpr::GetAttributeValue(const wxString&,double&) const
+ GetAttributeValue__6wxExprCFRC8wxStringRd
+ ;wxExpr::wxExpr(wxExprType,char*,unsigned long)
+ __ct__6wxExprF10wxExprTypePcUl
+ ;wxExprDatabase::FindClause(const wxString&,double)
+ FindClause__14wxExprDatabaseFRC8wxStringd
+ ;wxExpr::AddAttributeValue(const wxString&,long)
+ AddAttributeValue__6wxExprFRC8wxStringl
+ thewxExprDatabase
+ ;wxExpr::GetAttributeValue(const wxString&,float&) const
+ GetAttributeValue__6wxExprCFRC8wxStringRf
+ wxmake_exp2
+ ;add_expr(wxExpr*)
+ add_expr__FP6wxExpr
+ ;wxExprDatabase::~wxExprDatabase()
+ __dt__14wxExprDatabaseFv
+ ;wxExprDatabase::ClearDatabase()
+ ClearDatabase__14wxExprDatabaseFv
+ ;wxExpr::GetAttributeValue(const wxString&,wxString&) const
+ GetAttributeValue__6wxExprCFRC8wxStringR8wxString
+ ;wxExprIsFunctor(wxExpr*,const wxString&)
+ wxExprIsFunctor__FP6wxExprRC8wxString
+ ;wxExprDatabase::FindClauseByFunctor(const wxString&)
+ FindClauseByFunctor__14wxExprDatabaseFRC8wxString
+ ;wxExpr::GetAttributeValueStringList(const wxString&,wxList*) const
+ GetAttributeValueStringList__6wxExprCFRC8wxStringP6wxList
+ __vft14wxExprDatabase8wxObject
+ ;wxExprDatabase::FindClause(long)
+ FindClause__14wxExprDatabaseFl
+ ;wxExpr::GetAttributeValue(const wxString&,int&) const
+ GetAttributeValue__6wxExprCFRC8wxStringRi
+ ;wxExprDatabase::sm_classwxExprDatabase
+ sm_classwxExprDatabase__14wxExprDatabase
+ ;wxExpr::Nth(int) const
+ Nth__6wxExprCFi
+ ;wxExprDatabase::FindClause(const wxString&,const wxString&)
+ FindClause__14wxExprDatabaseFRC8wxStringT1
+ ;wxConstructorForwxExprDatabase()
+ wxConstructorForwxExprDatabase__Fv
+ syntax_error
+ currentwxExprErrorHandler
+ ;wxExprDatabase::Append(wxExpr*)
+ Append__14wxExprDatabaseFP6wxExpr
+ ;wxExprDatabase::Read(const wxString&)
+ Read__14wxExprDatabaseFRC8wxString
+ ;wxExpr::wxExpr(const wxString&)
+ __ct__6wxExprFRC8wxString
+ ;wxExpr::GetAttributeValueNode(const wxString&) const
+ GetAttributeValueNode__6wxExprCFRC8wxString
+ ;wxExpr::DeleteAttributeValue(const wxString&)
+ DeleteAttributeValue__6wxExprFRC8wxString
+ ;wxExpr::AttributeValue(const wxString&) const
+ AttributeValue__6wxExprCFRC8wxString
+ ;From object file: ..\common\y_tab.c
+ ;PUBDEFs (Symbols available from object file):
+ wxExprCleanUp
+ PROIO_yydefred
+ PROIO_yytable
+ PROIO_yyin
+ PROIO_yylhs
+ PROIO_yydgoto
+ PROIO_yywrap
+ PROIO_yyrestart
+ PROIO_yyout
+ PROIO_yylex
+ LexFromString
+ PROIO_yyrindex
+ PROIO_yyparse
+ PROIO_yy_create_buffer
+ os2var
+ PROIO_yy_delete_buffer
+ PROIO_yycheck
+ PROIO_yysindex
+ PROIO_yy_load_buffer_state
+ PROIO_yy_init_buffer
+ PROIO_yy_switch_to_buffer
+ PROIO_yygindex
+ LexFromFile
+ PROIO_yyerror
+ PROIO_yylen
+ ;COMDEFs (Symbols available from object file):
+ PROIO_yyvsp
+ PROIO_yyssp
+ PROIO_yychar
+ PROIO_yyvs
+ PROIO_yyss
+ PROIO_yyleng
+ PROIO_yyerrflag
+ PROIO_yylval
+ PROIO_yyval
+ PROIO_yynerrs
+ PROIO_yydebug
+ PROIO_yytext
+ ;From object file: ..\common\zipstrm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxZipInputStream::OnSysSeek(long,wxSeekMode)
+ OnSysSeek__16wxZipInputStreamFl10wxSeekMode
+ ;wxZipInputStream::wxZipInputStream(const wxString&,const wxString&)
+ __ct__16wxZipInputStreamFRC8wxStringT1
+ ;wxZipInputStream::~wxZipInputStream()
+ __dt__16wxZipInputStreamFv
+ ;wxZipInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__16wxZipInputStreamFPvUi
+ __vft16wxZipInputStream12wxStreamBase
+ ;wxZipInputStream::Eof() const
+ Eof__16wxZipInputStreamCFv
+ ;From object file: ..\common\zstream.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxZlibInputStream::wxZlibInputStream(wxInputStream&)
+ __ct__17wxZlibInputStreamFR13wxInputStream
+ ;wxZlibOutputStream::wxZlibOutputStream(wxOutputStream&,int)
+ __ct__18wxZlibOutputStreamFR14wxOutputStreami
+ ;wxZlibInputStream::OnSysRead(void*,unsigned int)
+ OnSysRead__17wxZlibInputStreamFPvUi
+ ;wxZlibOutputStream::Sync()
+ Sync__18wxZlibOutputStreamFv
+ ;wxZlibOutputStream::OnSysWrite(const void*,unsigned int)
+ OnSysWrite__18wxZlibOutputStreamFPCvUi
+ __vft18wxZlibOutputStream12wxStreamBase
+ ;wxZlibInputStream::~wxZlibInputStream()
+ __dt__17wxZlibInputStreamFv
+ ;wxZlibOutputStream::~wxZlibOutputStream()
+ __dt__18wxZlibOutputStreamFv
+ __vft17wxZlibInputStream12wxStreamBase
+ ;From object file: ..\generic\busyinfo.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBusyInfo::~wxBusyInfo()
+ __dt__10wxBusyInfoFv
+ __vft10wxBusyInfo8wxObject
+ ;wxInfoFrame::wxInfoFrame(wxWindow*,const wxString&)
+ __ct__11wxInfoFrameFP8wxWindowRC8wxString
+ ;wxBusyInfo::wxBusyInfo(const wxString&)
+ __ct__10wxBusyInfoFRC8wxString
+ ;From object file: ..\generic\calctrl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCalendarCtrl::OnMonthChange(wxCommandEvent&)
+ OnMonthChange__14wxCalendarCtrlFR14wxCommandEvent
+ __vft14wxYearSpinCtrl8wxObject
+ ;wxCalendarCtrl::OnClick(wxMouseEvent&)
+ OnClick__14wxCalendarCtrlFR12wxMouseEvent
+ ;wxCalendarCtrl::EnableMonthChange(unsigned long)
+ EnableMonthChange__14wxCalendarCtrlFUl
+ ;wxCalendarEvent::wxCalendarEvent(wxCalendarCtrl*,int)
+ __ct__15wxCalendarEventFP14wxCalendarCtrli
+ ;wxCalendarCtrl::SetHoliday(unsigned int)
+ SetHoliday__14wxCalendarCtrlFUi
+ ;wxCalendarCtrl::Init()
+ Init__14wxCalendarCtrlFv
+ ;wxConstructorForwxCalendarCtrl()
+ wxConstructorForwxCalendarCtrl__Fv
+ ;wxCalendarCtrl::ShowCurrentControls()
+ ShowCurrentControls__14wxCalendarCtrlFv
+ ;wxCalendarCtrl::DoGetBestSize() const
+ DoGetBestSize__14wxCalendarCtrlCFv
+ ;wxCalendarCtrl::Create(wxWindow*,int,const wxDateTime&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__14wxCalendarCtrlFP8wxWindowiRC10wxDateTimeRC7wxPointRC6wxSizelRC8wxString
+ ;wxCalendarCtrl::Show(unsigned long)
+ Show__14wxCalendarCtrlFUl
+ ;wxCalendarEvent::sm_classwxCalendarEvent
+ sm_classwxCalendarEvent__15wxCalendarEvent
+ ;wxCalendarCtrl::OnDClick(wxMouseEvent&)
+ OnDClick__14wxCalendarCtrlFR12wxMouseEvent
+ ;wxCalendarCtrl::RefreshDate(const wxDateTime&)
+ RefreshDate__14wxCalendarCtrlFRC10wxDateTime
+ ;wxCalendarCtrl::GetWeek(const wxDateTime&) const
+ GetWeek__14wxCalendarCtrlCFRC10wxDateTime
+ ;wxCalendarCtrl::DoSetSize(int,int,int,int,int)
+ DoSetSize__14wxCalendarCtrlFiN41
+ ;wxMonthComboBox::GetEventTable() const
+ GetEventTable__15wxMonthComboBoxCFv
+ ;wxConstructorForwxCalendarEvent()
+ wxConstructorForwxCalendarEvent__Fv
+ ;wxCalendarCtrl::~wxCalendarCtrl()
+ __dt__14wxCalendarCtrlFv
+ ;wxCalendarCtrl::SetHolidayAttrs()
+ SetHolidayAttrs__14wxCalendarCtrlFv
+ ;wxCalendarCtrl::ResetHolidayAttrs()
+ ResetHolidayAttrs__14wxCalendarCtrlFv
+ ;wxCalendarCtrl::RecalcGeometry()
+ RecalcGeometry__14wxCalendarCtrlFv
+ ;wxCalendarCtrl::GetYearControl() const
+ GetYearControl__14wxCalendarCtrlCFv
+ ;wxYearSpinCtrl::GetEventTable() const
+ GetEventTable__14wxYearSpinCtrlCFv
+ ;wxCalendarCtrl::OnYearChange(wxSpinEvent&)
+ OnYearChange__14wxCalendarCtrlFR11wxSpinEvent
+ ;wxYearSpinCtrl::sm_eventTable
+ sm_eventTable__14wxYearSpinCtrl
+ ;wxMonthComboBox::sm_eventTableEntries
+ sm_eventTableEntries__15wxMonthComboBox
+ ;wxYearSpinCtrl::sm_eventTableEntries
+ sm_eventTableEntries__14wxYearSpinCtrl
+ ;wxCalendarCtrl::sm_eventTableEntries
+ sm_eventTableEntries__14wxCalendarCtrl
+ ;wxCalendarCtrl::sm_classwxCalendarCtrl
+ sm_classwxCalendarCtrl__14wxCalendarCtrl
+ __vft14wxCalendarCtrl8wxObject
+ ;wxCalendarCtrl::OnPaint(wxPaintEvent&)
+ OnPaint__14wxCalendarCtrlFR12wxPaintEvent
+ ;wxCalendarCtrl::DoGetPosition(int*,int*) const
+ DoGetPosition__14wxCalendarCtrlCFPiT1
+ ;wxCalendarCtrl::HitTest(const wxPoint&,wxDateTime*,wxDateTime::WeekDay*)
+ HitTest__14wxCalendarCtrlFRC7wxPointP10wxDateTimePQ2_10wxDateTime7WeekDay
+ ;wxCalendarCtrl::Enable(unsigned long)
+ Enable__14wxCalendarCtrlFUl
+ ;wxCalendarCtrl::sm_eventTable
+ sm_eventTable__14wxCalendarCtrl
+ __vft15wxMonthComboBox8wxObject
+ ;wxCalendarCtrl::OnChar(wxKeyEvent&)
+ OnChar__14wxCalendarCtrlFR10wxKeyEvent
+ ;wxCalendarCtrl::EnableHolidayDisplay(unsigned long)
+ EnableHolidayDisplay__14wxCalendarCtrlFUl
+ ;wxCalendarCtrl::ChangeDay(const wxDateTime&)
+ ChangeDay__14wxCalendarCtrlFRC10wxDateTime
+ ;wxCalendarCtrl::SetDateAndNotify(const wxDateTime&)
+ SetDateAndNotify__14wxCalendarCtrlFRC10wxDateTime
+ ;wxCalendarEvent::Init()
+ Init__15wxCalendarEventFv
+ ;wxCalendarCtrl::GetStartDate() const
+ GetStartDate__14wxCalendarCtrlCFv
+ ;wxMonthComboBox::wxMonthComboBox(wxCalendarCtrl*)
+ __ct__15wxMonthComboBoxFP14wxCalendarCtrl
+ ;wxMonthComboBox::sm_eventTable
+ sm_eventTable__15wxMonthComboBox
+ ;wxYearSpinCtrl::wxYearSpinCtrl(wxCalendarCtrl*)
+ __ct__14wxYearSpinCtrlFP14wxCalendarCtrl
+ ;wxCalendarCtrl::EnableYearChange(unsigned long)
+ EnableYearChange__14wxCalendarCtrlFUl
+ ;wxCalendarCtrl::SetDate(const wxDateTime&)
+ SetDate__14wxCalendarCtrlFRC10wxDateTime
+ ;wxCalendarCtrl::IsDateShown(const wxDateTime&) const
+ IsDateShown__14wxCalendarCtrlCFRC10wxDateTime
+ ;wxCalendarCtrl::DoMoveWindow(int,int,int,int)
+ DoMoveWindow__14wxCalendarCtrlFiN31
+ ;wxCalendarCtrl::DoGetSize(int*,int*) const
+ DoGetSize__14wxCalendarCtrlCFPiT1
+ ;wxCalendarCtrl::GetEventTable() const
+ GetEventTable__14wxCalendarCtrlCFv
+ ;wxCalendarCtrl::GetMonthControl() const
+ GetMonthControl__14wxCalendarCtrlCFv
+ ;From object file: ..\generic\caret.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCaret::Blink()
+ Blink__7wxCaretFv
+ ;wxCaretBase::GetBlinkTime()
+ GetBlinkTime__11wxCaretBaseFv
+ __vft12wxCaretTimer8wxObject
+ ;wxCaretBase::SetBlinkTime(int)
+ SetBlinkTime__11wxCaretBaseFi
+ __vft7wxCaret11wxCaretBase
+ ;wxCaret::InitGeneric()
+ InitGeneric__7wxCaretFv
+ ;wxCaretTimer::Notify()
+ Notify__12wxCaretTimerFv
+ ;wxCaret::DoMove()
+ DoMove__7wxCaretFv
+ ;wxCaret::~wxCaret()
+ __dt__7wxCaretFv
+ ;wxCaretTimer::wxCaretTimer(wxCaret*)
+ __ct__12wxCaretTimerFP7wxCaret
+ ;wxCaret::OnTimer()
+ OnTimer__7wxCaretFv
+ ;wxCaret::Refresh()
+ Refresh__7wxCaretFv
+ ;wxCaret::OnSetFocus()
+ OnSetFocus__7wxCaretFv
+ ;wxCaret::OnKillFocus()
+ OnKillFocus__7wxCaretFv
+ ;wxCaret::DoShow()
+ DoShow__7wxCaretFv
+ ;wxCaret::DoHide()
+ DoHide__7wxCaretFv
+ ;wxCaret::DoDraw(wxDC*)
+ DoDraw__7wxCaretFP4wxDC
+ ;From object file: ..\generic\choicdgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft20wxSingleChoiceDialog8wxObject
+ ;wxGetSingleChoiceIndex(const wxString&,const wxString&,int,char**,wxWindow*,int,int,unsigned long,int,int)
+ wxGetSingleChoiceIndex__FRC8wxStringT1iPPcP8wxWindowN23UlN23
+ ;wxGetSingleChoiceData(const wxString&,const wxString&,int,const wxString*,void**,wxWindow*,int,int,unsigned long,int,int)
+ wxGetSingleChoiceData__FRC8wxStringT1iPC8wxStringPPvP8wxWindowN23UlN23
+ ;wxSingleChoiceDialog::sm_eventTable
+ sm_eventTable__20wxSingleChoiceDialog
+ ;wxSingleChoiceDialog::sm_classwxSingleChoiceDialog
+ sm_classwxSingleChoiceDialog__20wxSingleChoiceDialog
+ ;wxSingleChoiceDialog::OnListBoxDClick(wxCommandEvent&)
+ OnListBoxDClick__20wxSingleChoiceDialogFR14wxCommandEvent
+ ;wxSingleChoiceDialog::SetSelection(int)
+ SetSelection__20wxSingleChoiceDialogFi
+ ;wxSingleChoiceDialog::Create(wxWindow*,const wxString&,const wxString&,int,const wxString*,char**,long,const wxPoint&)
+ Create__20wxSingleChoiceDialogFP8wxWindowRC8wxStringT2iPC8wxStringPPclRC7wxPoint
+ ;wxGetSingleChoice(const wxString&,const wxString&,int,const wxString*,wxWindow*,int,int,unsigned long,int,int)
+ wxGetSingleChoice__FRC8wxStringT1iPC8wxStringP8wxWindowN23UlN23
+ ;wxGetSingleChoice(const wxString&,const wxString&,int,char**,wxWindow*,int,int,unsigned long,int,int)
+ wxGetSingleChoice__FRC8wxStringT1iPPcP8wxWindowN23UlN23
+ ;wxGetSingleChoiceData(const wxString&,const wxString&,int,char**,void**,wxWindow*,int,int,unsigned long,int,int)
+ wxGetSingleChoiceData__FRC8wxStringT1iPPcPPvP8wxWindowN23UlN23
+ ;wxSingleChoiceDialog::GetEventTable() const
+ GetEventTable__20wxSingleChoiceDialogCFv
+ ;wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow*,const wxString&,const wxString&,int,const wxString*,char**,long,const wxPoint&)
+ __ct__20wxSingleChoiceDialogFP8wxWindowRC8wxStringT2iPC8wxStringPPclRC7wxPoint
+ ;wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow*,const wxString&,const wxString&,const wxStringList&,char**,long,const wxPoint&)
+ __ct__20wxSingleChoiceDialogFP8wxWindowRC8wxStringT2RC12wxStringListPPclRC7wxPoint
+ ;wxSingleChoiceDialog::OnOK(wxCommandEvent&)
+ OnOK__20wxSingleChoiceDialogFR14wxCommandEvent
+ ;wxSingleChoiceDialog::Create(wxWindow*,const wxString&,const wxString&,const wxStringList&,char**,long,const wxPoint&)
+ Create__20wxSingleChoiceDialogFP8wxWindowRC8wxStringT2RC12wxStringListPPclRC7wxPoint
+ ;wxGetSingleChoiceIndex(const wxString&,const wxString&,int,const wxString*,wxWindow*,int,int,unsigned long,int,int)
+ wxGetSingleChoiceIndex__FRC8wxStringT1iPC8wxStringP8wxWindowN23UlN23
+ ;wxSingleChoiceDialog::sm_eventTableEntries
+ sm_eventTableEntries__20wxSingleChoiceDialog
+ ;From object file: ..\generic\colrdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericColourDialog::OnBasicColourClick(int)
+ OnBasicColourClick__21wxGenericColourDialogFi
+ ;wxGenericColourDialog::OnPaint(wxPaintEvent&)
+ OnPaint__21wxGenericColourDialogFR12wxPaintEvent
+ ;wxGenericColourDialog::wxGenericColourDialog(wxWindow*,wxColourData*)
+ __ct__21wxGenericColourDialogFP8wxWindowP12wxColourData
+ ;wxGenericColourDialog::ShowModal()
+ ShowModal__21wxGenericColourDialogFv
+ ;wxGenericColourDialog::sm_eventTable
+ sm_eventTable__21wxGenericColourDialog
+ ;wxGenericColourDialog::PaintHighlight(wxDC&,unsigned long)
+ PaintHighlight__21wxGenericColourDialogFR4wxDCUl
+ __vft21wxGenericColourDialog8wxObject
+ ;wxGenericColourDialog::Create(wxWindow*,wxColourData*)
+ Create__21wxGenericColourDialogFP8wxWindowP12wxColourData
+ ;wxGenericColourDialog::GetEventTable() const
+ GetEventTable__21wxGenericColourDialogCFv
+ ;wxGenericColourDialog::CreateWidgets()
+ CreateWidgets__21wxGenericColourDialogFv
+ ;wxGenericColourDialog::PaintBasicColours(wxDC&)
+ PaintBasicColours__21wxGenericColourDialogFR4wxDC
+ ;wxGenericColourDialog::PaintCustomColour(wxDC&)
+ PaintCustomColour__21wxGenericColourDialogFR4wxDC
+ ;wxGenericColourDialog::OnRedSlider(wxCommandEvent&)
+ OnRedSlider__21wxGenericColourDialogFR14wxCommandEvent
+ ;wxGenericColourDialog::OnGreenSlider(wxCommandEvent&)
+ OnGreenSlider__21wxGenericColourDialogFR14wxCommandEvent
+ ;wxGenericColourDialog::OnBlueSlider(wxCommandEvent&)
+ OnBlueSlider__21wxGenericColourDialogFR14wxCommandEvent
+ ;wxGenericColourDialog::OnCustomColourClick(int)
+ OnCustomColourClick__21wxGenericColourDialogFi
+ ;wxGenericColourDialog::~wxGenericColourDialog()
+ __dt__21wxGenericColourDialogFv
+ ;wxGenericColourDialog::PaintCustomColours(wxDC&)
+ PaintCustomColours__21wxGenericColourDialogFR4wxDC
+ ;wxGenericColourDialog::sm_eventTableEntries
+ sm_eventTableEntries__21wxGenericColourDialog
+ ;wxGenericColourDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__21wxGenericColourDialogFR12wxCloseEvent
+ ;wxGenericColourDialog::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__21wxGenericColourDialogFR12wxMouseEvent
+ ;wxGenericColourDialog::OnAddCustom(wxCommandEvent&)
+ OnAddCustom__21wxGenericColourDialogFR14wxCommandEvent
+ ;wxConstructorForwxGenericColourDialog()
+ wxConstructorForwxGenericColourDialog__Fv
+ ;wxGenericColourDialog::wxGenericColourDialog()
+ __ct__21wxGenericColourDialogFv
+ ;wxGenericColourDialog::InitializeColours()
+ InitializeColours__21wxGenericColourDialogFv
+ ;wxGenericColourDialog::CalculateMeasurements()
+ CalculateMeasurements__21wxGenericColourDialogFv
+ ;wxGenericColourDialog::sm_classwxGenericColourDialog
+ sm_classwxGenericColourDialog__21wxGenericColourDialog
+ ;From object file: ..\generic\dcpsg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft23wxPostScriptPrintDialog8wxObject
+ ;wxPostScriptDC::wxPostScriptDC(const wxPrintData&)
+ __ct__14wxPostScriptDCFRC11wxPrintData
+ ;wxGetPrinterScaling(double*,double*)
+ wxGetPrinterScaling__FPdT1
+ ;wxPostScriptPrintDialog::wxPostScriptPrintDialog(wxWindow*,const wxString&,const wxPoint&,const wxSize&,int)
+ __ct__23wxPostScriptPrintDialogFP8wxWindowRC8wxStringRC7wxPointRC6wxSizei
+ ;wxPostScriptDC::DoDrawPoint(int,int)
+ DoDrawPoint__14wxPostScriptDCFiT1
+ ;wxPostScriptDC::DoDrawLines(int,wxPoint*,int,int)
+ DoDrawLines__14wxPostScriptDCFiP7wxPointN21
+ ;wxPostScriptDC::DoDrawEllipse(int,int,int,int)
+ DoDrawEllipse__14wxPostScriptDCFiN31
+ ;wxPostScriptPrintDialog::ShowModal()
+ ShowModal__23wxPostScriptPrintDialogFv
+ ;wxGetPrinterCommand()
+ wxGetPrinterCommand__Fv
+ ;wxGetPrintPreviewCommand()
+ wxGetPrintPreviewCommand__Fv
+ ;wxPrintSetupData::~wxPrintSetupData()
+ __dt__16wxPrintSetupDataFv
+ ;wxPostScriptDC::StartPage()
+ StartPage__14wxPostScriptDCFv
+ ;wxPostScriptModule::OnInit()
+ OnInit__18wxPostScriptModuleFv
+ ;wxPostScriptDC::GetCharHeight() const
+ GetCharHeight__14wxPostScriptDCCFv
+ ;wxPostScriptDC::EndPage()
+ EndPage__14wxPostScriptDCFv
+ ;wxPostScriptDC::Create(const wxString&,unsigned long,wxWindow*)
+ Create__14wxPostScriptDCFRC8wxStringUlP8wxWindow
+ ;wxSetPrinterFile(const wxString&)
+ wxSetPrinterFile__FRC8wxString
+ ;wxSetAFMPath(const wxString&)
+ wxSetAFMPath__FRC8wxString
+ ;wxPostScriptDC::DoDrawRotatedText(const wxString&,int,int,double)
+ DoDrawRotatedText__14wxPostScriptDCFRC8wxStringiT2d
+ __vft14wxPostScriptDC8wxObject
+ ;wxPostScriptDC::DoGetTextExtent(const wxString&,int*,int*,int*,int*,wxFont*) const
+ DoGetTextExtent__14wxPostScriptDCCFRC8wxStringPiN32P6wxFont
+ ;wxPostScriptDC::DoDrawSpline(wxList*)
+ DoDrawSpline__14wxPostScriptDCFP6wxList
+ ;wxPostScriptDC::DoSetClippingRegion(int,int,int,int)
+ DoSetClippingRegion__14wxPostScriptDCFiN31
+ wxThePrintSetupData
+ ;wxSetPrinterMode(int)
+ wxSetPrinterMode__Fi
+ ;wxGetPrinterTranslation(int*,int*)
+ wxGetPrinterTranslation__FPiT1
+ ;wxPrintSetupData::sm_classwxPrintSetupData
+ sm_classwxPrintSetupData__16wxPrintSetupData
+ ;wxPrintSetupData::operator=(const wxPrintData&)
+ __as__16wxPrintSetupDataFRC11wxPrintData
+ ;wxPrintSetupData::operator=(wxPrintSetupData&)
+ __as__16wxPrintSetupDataFR16wxPrintSetupData
+ ;wxPostScriptDC::SetLogicalFunction(int)
+ SetLogicalFunction__14wxPostScriptDCFi
+ ;wxPostScriptDC::DoGetSizeMM(int*,int*) const
+ DoGetSizeMM__14wxPostScriptDCCFPiT1
+ ;wxPostScriptDC::DoFloodFill(int,int,const wxColour&,int)
+ DoFloodFill__14wxPostScriptDCFiT1RC8wxColourT1
+ ;wxPostScriptDC::DoDrawLine(int,int,int,int)
+ DoDrawLine__14wxPostScriptDCFiN31
+ ;wxPostScriptDC::DoGetPixel(int,int,wxColour*) const
+ DoGetPixel__14wxPostScriptDCCFiT1P8wxColour
+ ;wxConstructorForwxPostScriptModule()
+ wxConstructorForwxPostScriptModule__Fv
+ ;wxPostScriptDC::wxPostScriptDC(const wxString&,unsigned long,wxWindow*)
+ __ct__14wxPostScriptDCFRC8wxStringUlP8wxWindow
+ ;wxPostScriptDC::DoDrawRoundedRectangle(int,int,int,int,double)
+ DoDrawRoundedRectangle__14wxPostScriptDCFiN31d
+ ;wxInitializePrintSetupData(unsigned long)
+ wxInitializePrintSetupData__FUl
+ __vft18wxPostScriptModule8wxObject
+ ;wxPostScriptDC::SetResolution(int)
+ SetResolution__14wxPostScriptDCFi
+ ;wxSetPrinterScaling(double,double)
+ wxSetPrinterScaling__FdT1
+ ;wxPostScriptModule::sm_classwxPostScriptModule
+ sm_classwxPostScriptModule__18wxPostScriptModule
+ ;wxPostScriptDC::SetDeviceOrigin(int,int)
+ SetDeviceOrigin__14wxPostScriptDCFiT1
+ ;wxPostScriptDC::SetAxisOrientation(unsigned long,unsigned long)
+ SetAxisOrientation__14wxPostScriptDCFUlT1
+ ;wxPostScriptDC::DoDrawRectangle(int,int,int,int)
+ DoDrawRectangle__14wxPostScriptDCFiN31
+ ;wxPostScriptDC::DoDrawPolygon(int,wxPoint*,int,int,int)
+ DoDrawPolygon__14wxPostScriptDCFiP7wxPointN31
+ ;wxPostScriptDC::DoDrawEllipticArc(int,int,int,int,double,double)
+ DoDrawEllipticArc__14wxPostScriptDCFiN31dT5
+ ;wxPostScriptDC::GetResolution()
+ GetResolution__14wxPostScriptDCFv
+ ;wxGetPrinterFile()
+ wxGetPrinterFile__Fv
+ ;wxConstructorForwxPostScriptDC()
+ wxConstructorForwxPostScriptDC__Fv
+ ;wxPostScriptDC::wxPostScriptDC()
+ __ct__14wxPostScriptDCFv
+ ;wxPostScriptModule::OnExit()
+ OnExit__18wxPostScriptModuleFv
+ ;wxPostScriptDC::PrinterDialog(wxWindow*)
+ PrinterDialog__14wxPostScriptDCFP8wxWindow
+ ;wxSetPrinterOptions(const wxString&)
+ wxSetPrinterOptions__FRC8wxString
+ ;wxPostScriptDC::DoDrawBitmap(const wxBitmap&,int,int,unsigned long)
+ DoDrawBitmap__14wxPostScriptDCFRC8wxBitmapiT2Ul
+ ;wxPostScriptDC::SetBackground(const wxBrush&)
+ SetBackground__14wxPostScriptDCFRC7wxBrush
+ ;wxPostScriptDC::DoCrossHair(int,int)
+ DoCrossHair__14wxPostScriptDCFiT1
+ ;wxPostScriptDC::DoDrawArc(int,int,int,int,int,int)
+ DoDrawArc__14wxPostScriptDCFiN51
+ ;wxPostScriptDC::~wxPostScriptDC()
+ __dt__14wxPostScriptDCFv
+ ;wxGetPrinterOptions()
+ wxGetPrinterOptions__Fv
+ ;wxGetPrinterMode()
+ wxGetPrinterMode__Fv
+ ;wxGetAFMPath()
+ wxGetAFMPath__Fv
+ ;wxConstructorForwxPrintSetupData()
+ wxConstructorForwxPrintSetupData__Fv
+ ;wxPostScriptDC::Ok() const
+ Ok__14wxPostScriptDCCFv
+ ;wxPostScriptDC::GetPPI() const
+ GetPPI__14wxPostScriptDCCFv
+ ;wxPostScriptDC::EndDoc()
+ EndDoc__14wxPostScriptDCFv
+ ;wxPostScriptDC::DestroyClippingRegion()
+ DestroyClippingRegion__14wxPostScriptDCFv
+ ;wxPostScriptDC::Clear()
+ Clear__14wxPostScriptDCFv
+ ;wxPostScriptDC::StartDoc(const wxString&)
+ StartDoc__14wxPostScriptDCFRC8wxString
+ ;wxSetPrinterCommand(const wxString&)
+ wxSetPrinterCommand__FRC8wxString
+ ;wxSetPrintPreviewCommand(const wxString&)
+ wxSetPrintPreviewCommand__FRC8wxString
+ ;wxPostScriptPrintDialog::sm_classwxPostScriptPrintDialog
+ sm_classwxPostScriptPrintDialog__23wxPostScriptPrintDialog
+ ;wxPostScriptDC::sm_classwxPostScriptDC
+ sm_classwxPostScriptDC__14wxPostScriptDC
+ ;wxPostScriptDC::SetFont(const wxFont&)
+ SetFont__14wxPostScriptDCFRC6wxFont
+ __vft16wxPrintSetupData8wxObject
+ ;wxPostScriptDC::SetBrush(const wxBrush&)
+ SetBrush__14wxPostScriptDCFRC7wxBrush
+ ;wxPostScriptDC::DoBlit(int,int,int,int,wxDC*,int,int,int,unsigned long)
+ DoBlit__14wxPostScriptDCFiN31P4wxDCN31Ul
+ ;wxPostScriptDC::DoGetSize(int*,int*) const
+ DoGetSize__14wxPostScriptDCCFPiT1
+ ;wxSetPrinterTranslation(int,int)
+ wxSetPrinterTranslation__FiT1
+ ;wxSetPrinterOrientation(int)
+ wxSetPrinterOrientation__Fi
+ ;wxPostScriptDC::DoDrawIcon(const wxIcon&,int,int)
+ DoDrawIcon__14wxPostScriptDCFRC6wxIconiT2
+ ;wxGetPrinterOrientation()
+ wxGetPrinterOrientation__Fv
+ ;wxPrintSetupData::wxPrintSetupData()
+ __ct__16wxPrintSetupDataFv
+ ;wxPostScriptDC::SetPen(const wxPen&)
+ SetPen__14wxPostScriptDCFRC5wxPen
+ ;wxPostScriptDC::GetCharWidth() const
+ GetCharWidth__14wxPostScriptDCCFv
+ ;wxPostScriptDC::DoDrawText(const wxString&,int,int)
+ DoDrawText__14wxPostScriptDCFRC8wxStringiT2
+ ;wxPostScriptDC::ms_PSScaleFactor
+ ms_PSScaleFactor__14wxPostScriptDC
+ ;From object file: ..\generic\dragimgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericDragImage::Create(const wxBitmap&,const wxCursor&,const wxPoint&)
+ Create__18wxGenericDragImageFRC8wxBitmapRC8wxCursorRC7wxPoint
+ ;wxGenericDragImage::Move(const wxPoint&)
+ Move__18wxGenericDragImageFRC7wxPoint
+ ;wxGenericDragImage::BeginDrag(const wxPoint&,wxWindow*,unsigned long,wxRect*)
+ BeginDrag__18wxGenericDragImageFRC7wxPointP8wxWindowUlP6wxRect
+ ;wxGenericDragImage::~wxGenericDragImage()
+ __dt__18wxGenericDragImageFv
+ ;wxGenericDragImage::Create(const wxIcon&,const wxCursor&,const wxPoint&)
+ Create__18wxGenericDragImageFRC6wxIconRC8wxCursorRC7wxPoint
+ ;wxGenericDragImage::BeginDrag(const wxPoint&,wxWindow*,wxWindow*)
+ BeginDrag__18wxGenericDragImageFRC7wxPointP8wxWindowT2
+ ;wxGenericDragImage::Show()
+ Show__18wxGenericDragImageFv
+ ;wxGenericDragImage::Hide()
+ Hide__18wxGenericDragImageFv
+ ;wxGenericDragImage::Create(const wxTreeCtrl&,wxTreeItemId&)
+ Create__18wxGenericDragImageFRC10wxTreeCtrlR12wxTreeItemId
+ __vft18wxGenericDragImage8wxObject
+ ;wxConstructorForwxGenericDragImage()
+ wxConstructorForwxGenericDragImage__Fv
+ ;wxGenericDragImage::RedrawImage(const wxPoint&,const wxPoint&,unsigned long,unsigned long)
+ RedrawImage__18wxGenericDragImageFRC7wxPointT1UlT3
+ ;wxGenericDragImage::Create(const wxString&,const wxCursor&,const wxPoint&)
+ Create__18wxGenericDragImageFRC8wxStringRC8wxCursorRC7wxPoint
+ ;wxGenericDragImage::GetImageRect(const wxPoint&) const
+ GetImageRect__18wxGenericDragImageCFRC7wxPoint
+ ;wxGenericDragImage::Init()
+ Init__18wxGenericDragImageFv
+ ;wxGenericDragImage::EndDrag()
+ EndDrag__18wxGenericDragImageFv
+ ;wxGenericDragImage::UpdateBackingFromWindow(wxDC&,wxMemoryDC&,const wxRect&,const wxRect&) const
+ UpdateBackingFromWindow__18wxGenericDragImageCFR4wxDCR10wxMemoryDCRC6wxRectT3
+ ;wxGenericDragImage::Create(const wxCursor&,const wxPoint&)
+ Create__18wxGenericDragImageFRC8wxCursorRC7wxPoint
+ ;wxGenericDragImage::DoDrawImage(wxDC&,const wxPoint&) const
+ DoDrawImage__18wxGenericDragImageCFR4wxDCRC7wxPoint
+ ;wxGenericDragImage::Create(const wxListCtrl&,long)
+ Create__18wxGenericDragImageFRC10wxListCtrll
+ ;wxGenericDragImage::sm_classwxGenericDragImage
+ sm_classwxGenericDragImage__18wxGenericDragImage
+ ;From object file: ..\generic\fontdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericFontDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__19wxGenericFontDialogFR12wxCloseEvent
+ ;wxGenericFontDialog::OnPaint(wxPaintEvent&)
+ OnPaint__19wxGenericFontDialogFR12wxPaintEvent
+ ;wxGenericFontDialog::wxGenericFontDialog(wxWindow*,wxFontData*)
+ __ct__19wxGenericFontDialogFP8wxWindowP10wxFontData
+ ;wxFontStyleIntToString(int)
+ wxFontStyleIntToString__Fi
+ ;wxGenericFontDialog::Create(wxWindow*,wxFontData*)
+ Create__19wxGenericFontDialogFP8wxWindowP10wxFontData
+ ;wxGenericFontDialog::GetEventTable() const
+ GetEventTable__19wxGenericFontDialogCFv
+ ;wxGenericFontDialog::~wxGenericFontDialog()
+ __dt__19wxGenericFontDialogFv
+ ;wxFontWeightStringToInt(char*)
+ wxFontWeightStringToInt__FPc
+ __vft19wxGenericFontDialog8wxObject
+ ;wxFontFamilyIntToString(int)
+ wxFontFamilyIntToString__Fi
+ ;wxGenericFontDialog::PaintFontBackground(wxDC&)
+ PaintFontBackground__19wxGenericFontDialogFR4wxDC
+ ;wxGenericFontDialog::OnChangeFont(wxCommandEvent&)
+ OnChangeFont__19wxGenericFontDialogFR14wxCommandEvent
+ ;wxGenericFontDialog::ShowModal()
+ ShowModal__19wxGenericFontDialogFv
+ ;wxGenericFontDialog::sm_eventTableEntries
+ sm_eventTableEntries__19wxGenericFontDialog
+ ;wxGenericFontDialog::sm_eventTable
+ sm_eventTable__19wxGenericFontDialog
+ ;wxFontWeightIntToString(int)
+ wxFontWeightIntToString__Fi
+ ;wxConstructorForwxGenericFontDialog()
+ wxConstructorForwxGenericFontDialog__Fv
+ ;wxFontFamilyStringToInt(char*)
+ wxFontFamilyStringToInt__FPc
+ ;wxFontStyleStringToInt(char*)
+ wxFontStyleStringToInt__FPc
+ ;wxGenericFontDialog::wxGenericFontDialog()
+ __ct__19wxGenericFontDialogFv
+ ;wxGenericFontDialog::InitializeFont()
+ InitializeFont__19wxGenericFontDialogFv
+ ;wxGenericFontDialog::CreateWidgets()
+ CreateWidgets__19wxGenericFontDialogFv
+ ;wxGenericFontDialog::PaintFont(wxDC&)
+ PaintFont__19wxGenericFontDialogFR4wxDC
+ ;wxGenericFontDialog::sm_classwxGenericFontDialog
+ sm_classwxGenericFontDialog__19wxGenericFontDialog
+ ;From object file: ..\generic\grid.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericGrid::OnSize(wxSizeEvent&)
+ OnSize__13wxGenericGridFR11wxSizeEvent
+ __vft10wxGridCell8wxObject
+ ;wxGenericGrid::_OnCellRightClick(wxGridEvent&)
+ _OnCellRightClick__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::_OnCellChange(wxGridEvent&)
+ _OnCellChange__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::RefreshCell(int,int,unsigned long)
+ RefreshCell__13wxGenericGridFiT1Ul
+ ;wxGenericGrid::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__13wxGenericGridFR12wxMouseEvent
+ ;wxGenericGrid::InsertCols(int,int,unsigned long)
+ InsertCols__13wxGenericGridFiT1Ul
+ ;wxGenericGrid::AppendRows(int,unsigned long)
+ AppendRows__13wxGenericGridFiUl
+ ;wxGenericGrid::SetCurrentRect(int,int,int,int)
+ SetCurrentRect__13wxGenericGridFiN31
+ ;wxGenericGrid::SetGridCursor(int,int)
+ SetGridCursor__13wxGenericGridFiT1
+ ;wxGenericGrid::SetColumnWidth(int,int)
+ SetColumnWidth__13wxGenericGridFiT1
+ ;wxGenericGrid::GetRowHeight(int) const
+ GetRowHeight__13wxGenericGridCFi
+ ;wxGenericGrid::GetLabelAlignment(int) const
+ GetLabelAlignment__13wxGenericGridCFi
+ ;wxGenericGrid::DrawTextRect(wxDC*,const wxString&,wxRect*,int)
+ DrawTextRect__13wxGenericGridFP4wxDCRC8wxStringP6wxRecti
+ ;wxGenericGrid::wxGenericGrid()
+ __ct__13wxGenericGridFv
+ ;wxGridCell::~wxGridCell()
+ __dt__10wxGridCellFv
+ ;wxGenericGrid::UpdateDimensions()
+ UpdateDimensions__13wxGenericGridFv
+ ;wxGenericGrid::SetLabelTextColour(const wxColour&)
+ SetLabelTextColour__13wxGenericGridFRC8wxColour
+ ;wxGenericGrid::SetCellTextColour(const wxColour&)
+ SetCellTextColour__13wxGenericGridFRC8wxColour
+ ;wxGenericGrid::SetCellBitmap(wxBitmap*,int,int)
+ SetCellBitmap__13wxGenericGridFP8wxBitmapiT2
+ ;wxGenericGrid::SetCellBackgroundColour(const wxColour&,int,int)
+ SetCellBackgroundColour__13wxGenericGridFRC8wxColouriT2
+ ;wxGenericGrid::SetCellBackgroundColour(const wxColour&)
+ SetCellBackgroundColour__13wxGenericGridFRC8wxColour
+ ;wxGenericGrid::DrawGridLines(wxDC*)
+ DrawGridLines__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::LabelHitTest(int,int,int*,int*)
+ LabelHitTest__13wxGenericGridFiT1PiT3
+ ;wxGenericGrid::DrawRowLabels(wxDC*)
+ DrawRowLabels__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::DrawCellBackground(wxDC*,wxRect*,int,int)
+ DrawCellBackground__13wxGenericGridFP4wxDCP6wxRectiT3
+ ;wxGenericGrid::OnPaint(wxPaintEvent&)
+ OnPaint__13wxGenericGridFR12wxPaintEvent
+ ;wxGenericGrid::_OnSelectCell(wxGridEvent&)
+ _OnSelectCell__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::_OnLabelRightClick(wxGridEvent&)
+ _OnLabelRightClick__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::_OnCreateCell(wxGridEvent&)
+ _OnCreateCell__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::SetCellTextFont(const wxFont&)
+ SetCellTextFont__13wxGenericGridFRC6wxFont
+ ;wxGenericGrid::OnText(wxCommandEvent&)
+ OnText__13wxGenericGridFR14wxCommandEvent
+ ;wxGenericGrid::OnTextInPlaceEnter(wxCommandEvent&)
+ OnTextInPlaceEnter__13wxGenericGridFR14wxCommandEvent
+ ;wxGenericGrid::OnActivate(unsigned long)
+ OnActivate__13wxGenericGridFUl
+ ;wxGenericGrid::InsertRows(int,int,unsigned long)
+ InsertRows__13wxGenericGridFiT1Ul
+ ;wxGenericGrid::DrawColumnLabel(wxDC*,wxRect*,int)
+ DrawColumnLabel__13wxGenericGridFP4wxDCP6wxRecti
+ ;wxGenericGrid::SetLabelSize(int,int)
+ SetLabelSize__13wxGenericGridFiT1
+ ;wxGenericGrid::GetLabelCell(int,int) const
+ GetLabelCell__13wxGenericGridCFiT1
+ ;wxGenericGrid::GetColumnWidth(int) const
+ GetColumnWidth__13wxGenericGridCFi
+ ;wxGenericGrid::GetCellTextColour(int,int) const
+ GetCellTextColour__13wxGenericGridCFiT1
+ ;wxGenericGrid::GetCellAlignment(int,int) const
+ GetCellAlignment__13wxGenericGridCFiT1
+ ;wxGenericGrid::SetCellValue(const wxString&,int,int)
+ SetCellValue__13wxGenericGridFRC8wxStringiT2
+ ;wxGenericGrid::SetGridClippingRegion(wxDC*)
+ SetGridClippingRegion__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::DrawColumnLabels(wxDC*)
+ DrawColumnLabels__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::DrawCells(wxDC*)
+ DrawCells__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::SetEditable(unsigned long)
+ SetEditable__13wxGenericGridFUl
+ ;wxGenericGrid::sm_classwxGenericGrid
+ sm_classwxGenericGrid__13wxGenericGrid
+ __vft13wxGenericGrid8wxObject
+ ;wxGenericGrid::DeleteCols(int,int,unsigned long)
+ DeleteCols__13wxGenericGridFiT1Ul
+ ;wxGenericGrid::DrawBitmapRect(wxDC*,wxBitmap*,wxRect*,int)
+ DrawBitmapRect__13wxGenericGridFP4wxDCP8wxBitmapP6wxRecti
+ ;wxGenericGrid::SetCellAlignment(int)
+ SetCellAlignment__13wxGenericGridFi
+ ;wxGenericGrid::GetCellTextFont(int,int) const
+ GetCellTextFont__13wxGenericGridCFiT1
+ ;wxGenericGrid::GetEventTable() const
+ GetEventTable__13wxGenericGridCFv
+ ;wxGenericGrid::SetCellTextFont(const wxFont&,int,int)
+ SetCellTextFont__13wxGenericGridFRC6wxFontiT2
+ ;wxGenericGrid::SetCellData(void*,int,int)
+ SetCellData__13wxGenericGridFPviT2
+ ;wxGenericGrid::OnChangeLabels()
+ OnChangeLabels__13wxGenericGridFv
+ ;wxGenericGrid::GetCellAlignment() const
+ GetCellAlignment__13wxGenericGridCFv
+ ;wxGenericGrid::DrawCellText()
+ DrawCellText__13wxGenericGridFv
+ ;wxGenericGrid::ClearGrid()
+ ClearGrid__13wxGenericGridFv
+ ;wxGenericGrid::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__13wxGenericGridFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxGenericGrid::DrawLabelAreas(wxDC*)
+ DrawLabelAreas__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::DrawEditableArea(wxDC*)
+ DrawEditableArea__13wxGenericGridFP4wxDC
+ ;wxGenericGrid::DrawCellValue(wxDC*,wxRect*,int,int)
+ DrawCellValue__13wxGenericGridFP4wxDCP6wxRectiT3
+ ;wxGenericGrid::HighlightCell(wxDC*,unsigned long)
+ HighlightCell__13wxGenericGridFP4wxDCUl
+ ;wxGenericGrid::sm_eventTable
+ sm_eventTable__13wxGenericGrid
+ ;wxGenericGrid::sm_eventTableEntries
+ sm_eventTableEntries__13wxGenericGrid
+ ;wxGridEvent::sm_classwxGridEvent
+ sm_classwxGridEvent__11wxGridEvent
+ ;wxGenericGrid::_OnChangeLabels(wxGridEvent&)
+ _OnChangeLabels__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::OnTextInPlace(wxCommandEvent&)
+ OnTextInPlace__13wxGenericGridFR14wxCommandEvent
+ ;wxGenericGrid::OnGridScroll(wxScrollEvent&)
+ OnGridScroll__13wxGenericGridFR13wxScrollEvent
+ ;wxGenericGrid::OnEraseBackground(wxEraseEvent&)
+ OnEraseBackground__13wxGenericGridFR12wxEraseEvent
+ ;wxGenericGrid::DeleteRows(int,int,unsigned long)
+ DeleteRows__13wxGenericGridFiT1Ul
+ ;wxGenericGrid::DrawRowLabel(wxDC*,wxRect*,int)
+ DrawRowLabel__13wxGenericGridFP4wxDCP6wxRecti
+ ;wxGenericGrid::SetRowHeight(int,int)
+ SetRowHeight__13wxGenericGridFiT1
+ ;wxGenericGrid::SetLabelValue(int,const wxString&,int)
+ SetLabelValue__13wxGenericGridFiRC8wxStringT1
+ ;wxGenericGrid::SetCellAlignment(int,int,int)
+ SetCellAlignment__13wxGenericGridFiN21
+ ;wxGenericGrid::GetLabelSize(int) const
+ GetLabelSize__13wxGenericGridCFi
+ ;wxGenericGrid::GetCellData(int,int)
+ GetCellData__13wxGenericGridFiT1
+ ;wxGenericGrid::GetCellBitmap(int,int) const
+ GetCellBitmap__13wxGenericGridCFiT1
+ ;wxGenericGrid::GetCellBackgroundColour(int,int) const
+ GetCellBackgroundColour__13wxGenericGridCFiT1
+ ;wxConstructorForwxGenericGrid()
+ wxConstructorForwxGenericGrid__Fv
+ ;wxGenericGrid::SetCellTextColour(const wxColour&,int,int)
+ SetCellTextColour__13wxGenericGridFRC8wxColouriT2
+ ;wxGridCell::SetBackgroundColour(const wxColour&)
+ SetBackgroundColour__10wxGridCellFRC8wxColour
+ ;wxGenericGrid::OnSelectCellImplementation(wxDC*,int,int)
+ OnSelectCellImplementation__13wxGenericGridFP4wxDCiT2
+ ;wxGenericGrid::AdjustScrollbars()
+ AdjustScrollbars__13wxGenericGridFv
+ ;wxGenericGrid::PaintGrid(wxDC&)
+ PaintGrid__13wxGenericGridFR4wxDC
+ ;wxGenericGrid::LabelSashHitTest(int,int,int*,int*,int*)
+ LabelSashHitTest__13wxGenericGridFiT1PiN23
+ ;wxGridCell::wxGridCell(wxGenericGrid*)
+ __ct__10wxGridCellFP13wxGenericGrid
+ ;wxGenericGrid::_OnLabelLeftClick(wxGridEvent&)
+ _OnLabelLeftClick__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::_OnChangeSelectionLabel(wxGridEvent&)
+ _OnChangeSelectionLabel__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::_OnCellLeftClick(wxGridEvent&)
+ _OnCellLeftClick__13wxGenericGridFR11wxGridEvent
+ ;wxGenericGrid::SetEditInPlace(unsigned long)
+ SetEditInPlace__13wxGenericGridFUl
+ ;wxGenericGrid::OnTextEnter(wxCommandEvent&)
+ OnTextEnter__13wxGenericGridFR14wxCommandEvent
+ ;wxGenericGrid::AppendCols(int,unsigned long)
+ AppendCols__13wxGenericGridFiUl
+ ;wxGenericGrid::CreateGrid(int,int,wxString**,short*,short,short)
+ CreateGrid__13wxGenericGridFiT1PP8wxStringPssT5
+ ;wxGenericGrid::SetLabelAlignment(int,int)
+ SetLabelAlignment__13wxGenericGridFiT1
+ ;wxGenericGrid::GetLabelValue(int,int) const
+ GetLabelValue__13wxGenericGridCFiT1
+ ;wxGenericGrid::GetCell(int,int) const
+ GetCell__13wxGenericGridCFiT1
+ ;wxGenericGrid::GetCellValue(int,int) const
+ GetCellValue__13wxGenericGridCFiT1
+ ;wxGenericGrid::~wxGenericGrid()
+ __dt__13wxGenericGridFv
+ ;wxConstructorForwxGridEvent()
+ wxConstructorForwxGridEvent__Fv
+ ;wxGenericGrid::SetLabelBackgroundColour(const wxColour&)
+ SetLabelBackgroundColour__13wxGenericGridFRC8wxColour
+ ;wxGenericGrid::OnCreateCell()
+ OnCreateCell__13wxGenericGridFv
+ ;wxGenericGrid::OnChangeSelectionLabel()
+ OnChangeSelectionLabel__13wxGenericGridFv
+ ;wxGenericGrid::CellHitTest(int,int,int*,int*)
+ CellHitTest__13wxGenericGridFiT1PiT3
+ ;From object file: ..\generic\gridsel.cpp
+ ;From object file: ..\generic\helpext.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxExtHelpController::SetBrowser(const wxString&,unsigned long)
+ SetBrowser__19wxExtHelpControllerFRC8wxStringUl
+ __vft19wxExtHelpController8wxObject
+ ;wxExtHelpController::sm_classwxExtHelpController
+ sm_classwxExtHelpController__19wxExtHelpController
+ ;wxExtHelpController::wxExtHelpController()
+ __ct__19wxExtHelpControllerFv
+ ;wxExtHelpController::DisplayHelp(const wxString&)
+ DisplayHelp__19wxExtHelpControllerFRC8wxString
+ ;wxExtHelpController::SetViewer(const wxString&,long)
+ SetViewer__19wxExtHelpControllerFRC8wxStringl
+ ;From object file: ..\generic\helphtml.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHTMLHelpControllerBase::DisplaySection(const wxString&)
+ DisplaySection__24wxHTMLHelpControllerBaseFRC8wxString
+ ;wxHTMLHelpControllerBase::DisplaySection(int)
+ DisplaySection__24wxHTMLHelpControllerBaseFi
+ ;wxHTMLHelpControllerBase::Initialize(const wxString&)
+ Initialize__24wxHTMLHelpControllerBaseFRC8wxString
+ ;wxHTMLHelpControllerBase::DisplayBlock(long)
+ DisplayBlock__24wxHTMLHelpControllerBaseFl
+ __vft24wxHTMLHelpControllerBase8wxObject
+ ;wxHTMLHelpControllerBase::sm_classwxHTMLHelpControllerBase
+ sm_classwxHTMLHelpControllerBase__24wxHTMLHelpControllerBase
+ ;wxHTMLHelpControllerBase::~wxHTMLHelpControllerBase()
+ __dt__24wxHTMLHelpControllerBaseFv
+ ;wxHTMLHelpControllerBase::DisplayContents()
+ DisplayContents__24wxHTMLHelpControllerBaseFv
+ ;wxHTMLHelpControllerBase::wxHTMLHelpControllerBase()
+ __ct__24wxHTMLHelpControllerBaseFv
+ ;wxHTMLHelpControllerBase::Quit()
+ Quit__24wxHTMLHelpControllerBaseFv
+ ;wxHTMLHelpControllerBase::OnQuit()
+ OnQuit__24wxHTMLHelpControllerBaseFv
+ ;wxHTMLHelpControllerBase::DeleteList()
+ DeleteList__24wxHTMLHelpControllerBaseFv
+ ;wxHTMLHelpControllerBase::LoadFile(const wxString&)
+ LoadFile__24wxHTMLHelpControllerBaseFRC8wxString
+ ;wxHTMLHelpControllerBase::KeywordSearch(const wxString&)
+ KeywordSearch__24wxHTMLHelpControllerBaseFRC8wxString
+ ;From object file: ..\generic\helpwxht.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHelpControllerHtml::GetFrameParameters(wxSize*,wxPoint*,unsigned long*)
+ GetFrameParameters__20wxHelpControllerHtmlFP6wxSizeP7wxPointPUl
+ __vft20wxHelpControllerHtml8wxObject
+ ;wxHelpFrame::sm_eventTable
+ sm_eventTable__11wxHelpFrame
+ ;wxHelpFrame::OnButton(wxCommandEvent&)
+ OnButton__11wxHelpFrameFR14wxCommandEvent
+ ;wxHelpControllerHtml::sm_classwxHelpControllerHtml
+ sm_classwxHelpControllerHtml__20wxHelpControllerHtml
+ __vft11wxHelpFrame8wxObject
+ ;wxHelpFrame::OnClose(wxCloseEvent&)
+ OnClose__11wxHelpFrameFR12wxCloseEvent
+ ;wxHelpControllerHtml::wxHelpControllerHtml()
+ __ct__20wxHelpControllerHtmlFv
+ ;wxHelpControllerHtml::~wxHelpControllerHtml()
+ __dt__20wxHelpControllerHtmlFv
+ ;wxHelpControllerHtml::DisplayHelp(const wxString&)
+ DisplayHelp__20wxHelpControllerHtmlFRC8wxString
+ ;wxHelpFrame::wxHelpFrame(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,wxHelpControllerHtml*)
+ __ct__11wxHelpFrameFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizeP20wxHelpControllerHtml
+ ;wxHelpFrame::GetEventTable() const
+ GetEventTable__11wxHelpFrameCFv
+ ;wxHelpControllerHtml::SetFrameParameters(const wxString&,const wxSize&,const wxPoint&,unsigned long)
+ SetFrameParameters__20wxHelpControllerHtmlFRC8wxStringRC6wxSizeRC7wxPointUl
+ ;wxHelpFrame::sm_eventTableEntries
+ sm_eventTableEntries__11wxHelpFrame
+ ;wxHelpFrame::~wxHelpFrame()
+ __dt__11wxHelpFrameFv
+ ;From object file: ..\generic\helpxlp.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxXLPHelpController::DisplayContents()
+ DisplayContents__19wxXLPHelpControllerFv
+ ;wxXLPHelpController::Quit()
+ Quit__19wxXLPHelpControllerFv
+ ;wxXLPHelpController::DisplayBlock(long)
+ DisplayBlock__19wxXLPHelpControllerFl
+ __vft19wxXLPHelpController8wxObject
+ __vft19wxXLPHelpConnection8wxObject
+ ;wxXLPHelpController::DisplaySection(int)
+ DisplaySection__19wxXLPHelpControllerFi
+ ;wxXLPHelpConnection::wxXLPHelpConnection(wxXLPHelpController*)
+ __ct__19wxXLPHelpConnectionFP19wxXLPHelpController
+ ;wxXLPHelpController::OnQuit()
+ OnQuit__19wxXLPHelpControllerFv
+ ;wxXLPHelpClient::sm_classwxXLPHelpClient
+ sm_classwxXLPHelpClient__15wxXLPHelpClient
+ ;wxXLPHelpController::Initialize(const wxString&,int)
+ Initialize__19wxXLPHelpControllerFRC8wxStringi
+ ;wxXLPHelpController::~wxXLPHelpController()
+ __dt__19wxXLPHelpControllerFv
+ ;wxXLPHelpController::Run()
+ Run__19wxXLPHelpControllerFv
+ ;wxXLPHelpConnection::OnDisconnect()
+ OnDisconnect__19wxXLPHelpConnectionFv
+ ;wxXLPHelpController::LoadFile(const wxString&)
+ LoadFile__19wxXLPHelpControllerFRC8wxString
+ ;wxXLPHelpController::KeywordSearch(const wxString&)
+ KeywordSearch__19wxXLPHelpControllerFRC8wxString
+ ;wxXLPHelpController::wxXLPHelpController()
+ __ct__19wxXLPHelpControllerFv
+ ;wxXLPHelpController::sm_classwxXLPHelpController
+ sm_classwxXLPHelpController__19wxXLPHelpController
+ ;wxXLPHelpConnection::sm_classwxXLPHelpConnection
+ sm_classwxXLPHelpConnection__19wxXLPHelpConnection
+ ;From object file: ..\generic\imaglist.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft11wxImageList8wxObject
+ ;wxImageList::Add(const wxBitmap&,const wxColour&)
+ Add__11wxImageListFRC8wxBitmapRC8wxColour
+ ;wxImageList::Add(const wxBitmap&,const wxBitmap&)
+ Add__11wxImageListFRC8wxBitmapT1
+ ;wxImageList::Remove(int)
+ Remove__11wxImageListFi
+ ;wxImageList::Create()
+ Create__11wxImageListFv
+ ;wxImageList::Add(const wxBitmap&)
+ Add__11wxImageListFRC8wxBitmap
+ ;wxImageList::sm_classwxImageList
+ sm_classwxImageList__11wxImageList
+ ;wxImageList::Replace(int,const wxBitmap&)
+ Replace__11wxImageListFiRC8wxBitmap
+ ;wxImageList::wxImageList(int,int,unsigned long,int)
+ __ct__11wxImageListFiT1UlT1
+ ;wxImageList::Create(int,int,unsigned long,int)
+ Create__11wxImageListFiT1UlT1
+ ;wxImageList::~wxImageList()
+ __dt__11wxImageListFv
+ ;wxImageList::GetSize(int,int&,int&) const
+ GetSize__11wxImageListCFiRiT2
+ ;wxImageList::Draw(int,wxDC&,int,int,int,unsigned long)
+ Draw__11wxImageListFiR4wxDCN31Ul
+ ;wxImageList::GetImageCount() const
+ GetImageCount__11wxImageListCFv
+ ;wxImageList::GetBitmap(int) const
+ GetBitmap__11wxImageListCFi
+ ;wxConstructorForwxImageList()
+ wxConstructorForwxImageList__Fv
+ ;wxImageList::RemoveAll()
+ RemoveAll__11wxImageListFv
+ ;From object file: ..\generic\laywin.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSashLayoutWindow::OnCalculateLayout(wxCalculateLayoutEvent&)
+ OnCalculateLayout__18wxSashLayoutWindowFR22wxCalculateLayoutEvent
+ __vft18wxSashLayoutWindow8wxObject
+ ;wxSashLayoutWindow::OnQueryLayoutInfo(wxQueryLayoutInfoEvent&)
+ OnQueryLayoutInfo__18wxSashLayoutWindowFR22wxQueryLayoutInfoEvent
+ ;wxQueryLayoutInfoEvent::sm_classwxQueryLayoutInfoEvent
+ sm_classwxQueryLayoutInfoEvent__22wxQueryLayoutInfoEvent
+ ;wxLayoutAlgorithm::LayoutMDIFrame(wxMDIParentFrame*,wxRect*)
+ LayoutMDIFrame__17wxLayoutAlgorithmFP16wxMDIParentFrameP6wxRect
+ ;wxLayoutAlgorithm::LayoutWindow(wxWindow*,wxWindow*)
+ LayoutWindow__17wxLayoutAlgorithmFP8wxWindowT1
+ ;wxSashLayoutWindow::Init()
+ Init__18wxSashLayoutWindowFv
+ ;wxConstructorForwxCalculateLayoutEvent()
+ wxConstructorForwxCalculateLayoutEvent__Fv
+ ;wxSashLayoutWindow::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__18wxSashLayoutWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxSashLayoutWindow::GetEventTable() const
+ GetEventTable__18wxSashLayoutWindowCFv
+ ;wxSashLayoutWindow::sm_classwxSashLayoutWindow
+ sm_classwxSashLayoutWindow__18wxSashLayoutWindow
+ ;wxCalculateLayoutEvent::sm_classwxCalculateLayoutEvent
+ sm_classwxCalculateLayoutEvent__22wxCalculateLayoutEvent
+ ;wxConstructorForwxQueryLayoutInfoEvent()
+ wxConstructorForwxQueryLayoutInfoEvent__Fv
+ ;wxSashLayoutWindow::sm_eventTableEntries
+ sm_eventTableEntries__18wxSashLayoutWindow
+ ;wxSashLayoutWindow::sm_eventTable
+ sm_eventTable__18wxSashLayoutWindow
+ ;From object file: ..\generic\listctrl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxListItemData::SetData(long)
+ SetData__14wxListItemDataFl
+ ;wxListTextCtrl::sm_eventTable
+ sm_eventTable__14wxListTextCtrl
+ ;wxListCtrl::sm_eventTableEntries
+ sm_eventTableEntries__10wxListCtrl
+ ;wxListCtrl::SortItems(int(*)(long,long,long),long)
+ SortItems__10wxListCtrlFPFlN21_il
+ ;wxListCtrl::SetItemPosition(long,const wxPoint&)
+ SetItemPosition__10wxListCtrlFlRC7wxPoint
+ ;wxListHeaderWindow::OnSetFocus(wxFocusEvent&)
+ OnSetFocus__18wxListHeaderWindowFR12wxFocusEvent
+ ;wxListMainWindow::OnPaint(wxPaintEvent&)
+ OnPaint__16wxListMainWindowFR12wxPaintEvent
+ ;wxListTextCtrl::OnKillFocus(wxFocusEvent&)
+ OnKillFocus__14wxListTextCtrlFR12wxFocusEvent
+ ;wxListCtrl::OnIdle(wxIdleEvent&)
+ OnIdle__10wxListCtrlFR11wxIdleEvent
+ ;wxListMainWindow::DeleteItem(long)
+ DeleteItem__16wxListMainWindowFl
+ ;wxListLineDataArray::wxListLineDataArray(const wxListLineDataArray&)
+ __ct__19wxListLineDataArrayFRC19wxListLineDataArray
+ ;wxListEvent::wxListEvent(int,int)
+ __ct__11wxListEventFiT1
+ ;wxListItemData::SetSize(int,int)
+ SetSize__14wxListItemDataFiT1
+ ;wxListLineData::SetItem(int,const wxListItem&)
+ SetItem__14wxListLineDataFiRC10wxListItem
+ ;wxListMainWindow::SendNotify(wxListLineData*,int)
+ SendNotify__16wxListMainWindowFP14wxListLineDatai
+ ;wxListMainWindow::RefreshLine(wxListLineData*)
+ RefreshLine__16wxListMainWindowFP14wxListLineData
+ ;wxListMainWindow::InsertColumn(long,wxListItem&)
+ InsertColumn__16wxListMainWindowFlR10wxListItem
+ ;wxListLineData::GetLabelExtent(int&,int&,int&,int&)
+ GetLabelExtent__14wxListLineDataFRiN31
+ ;wxListMainWindow::GetItem(wxListItem&)
+ GetItem__16wxListMainWindowFR10wxListItem
+ ;wxListItemData::GetItem(wxListItem&) const
+ GetItem__14wxListItemDataCFR10wxListItem
+ ;wxListMainWindow::GetColumn(int,wxListItem&)
+ GetColumn__16wxListMainWindowFiR10wxListItem
+ ;wxListMainWindow::GetColumnWidth(int)
+ GetColumnWidth__16wxListMainWindowFi
+ ;wxListCtrl::FindItem(long,long)
+ FindItem__10wxListCtrlFlT1
+ ;wxListHeaderData::wxListHeaderData()
+ __ct__16wxListHeaderDataFv
+ ;wxConstructorForwxListTextCtrl()
+ wxConstructorForwxListTextCtrl__Fv
+ ;wxListHeaderWindow::~wxListHeaderWindow()
+ __dt__18wxListHeaderWindowFv
+ ;wxListMainWindow::wxListMainWindow()
+ __ct__16wxListMainWindowFv
+ ;wxListCtrl::SetFocus()
+ SetFocus__10wxListCtrlFv
+ ;wxListCtrl::SetCursor(const wxCursor&)
+ SetCursor__10wxListCtrlFRC8wxCursor
+ ;wxListMainWindow::RealizeChanges()
+ RealizeChanges__16wxListMainWindowFv
+ ;wxListMainWindow::OnRenameAccept()
+ OnRenameAccept__16wxListMainWindowFv
+ ;wxListRenameTimer::Notify()
+ Notify__17wxListRenameTimerFv
+ ;wxListMainWindow::MoveToFocus()
+ MoveToFocus__16wxListMainWindowFv
+ ;wxListHeaderData::HasText() const
+ HasText__16wxListHeaderDataCFv
+ ;wxListHeaderData::GetWidth() const
+ GetWidth__16wxListHeaderDataCFv
+ ;wxListCtrl::GetTopItem() const
+ GetTopItem__10wxListCtrlCFv
+ ;wxListCtrl::GetItemCount() const
+ GetItemCount__10wxListCtrlCFv
+ ;wxListHeaderWindow::DoDrawRect(wxDC*,int,int,int,int)
+ DoDrawRect__18wxListHeaderWindowFP4wxDCiN32
+ ;wxListHeaderData::GetText(wxString&)
+ GetText__16wxListHeaderDataFR8wxString
+ ;wxListMainWindow::GetItemRect(long,wxRect&)
+ GetItemRect__16wxListMainWindowFlR6wxRect
+ __vft14wxListTextCtrl8wxObject
+ ;wxListMainWindow::SetMode(long)
+ SetMode__16wxListMainWindowFl
+ ;wxListCtrl::SetItemSpacing(int,unsigned long)
+ SetItemSpacing__10wxListCtrlFiUl
+ ;wxListCtrl::SetDropTarget(wxDropTarget*)
+ SetDropTarget__10wxListCtrlFP12wxDropTarget
+ ;wxListMainWindow::OnKeyDown(wxKeyEvent&)
+ OnKeyDown__16wxListMainWindowFR10wxKeyEvent
+ ;wxListEvent::CopyObject(wxObject&) const
+ CopyObject__11wxListEventCFR8wxObject
+ ;wxListLineDataArray::operator=(const wxListLineDataArray&)
+ __as__19wxListLineDataArrayFRC19wxListLineDataArray
+ ;wxListLineData::sm_classwxListLineData
+ sm_classwxListLineData__14wxListLineData
+ ;wxListItem::sm_classwxListItem
+ sm_classwxListItem__10wxListItem
+ list_ctrl_compare_func_1
+ list_ctrl_compare_data
+ ;wxListHeaderData::SetItem(const wxListItem&)
+ SetItem__16wxListHeaderDataFRC10wxListItem
+ ;wxListCtrl::SetItem(wxListItem&)
+ SetItem__10wxListCtrlFR10wxListItem
+ ;wxListMainWindow::SetItemState(long,long,long)
+ SetItemState__16wxListMainWindowFlN21
+ ;wxListMainWindow::SetImageList(wxImageList*,int)
+ SetImageList__16wxListMainWindowFP11wxImageListi
+ ;wxListMainWindow::SetColumnWidth(int,int)
+ SetColumnWidth__16wxListMainWindowFiT1
+ ;wxListMainWindow::SelectLine(wxListLineData*)
+ SelectLine__16wxListMainWindowFP14wxListLineData
+ ;wxListHeaderData::IsHit(int,int) const
+ IsHit__16wxListHeaderDataCFiT1
+ ;wxListItemData::IsHit(int,int) const
+ IsHit__14wxListItemDataCFiT1
+ ;wxListCtrl::InsertItem(wxListItem&)
+ InsertItem__10wxListCtrlFR10wxListItem
+ ;wxListMainWindow::HitTest(int,int,int&)
+ HitTest__16wxListMainWindowFiT1Ri
+ ;wxListCtrl::HitTest(const wxPoint&,int&)
+ HitTest__10wxListCtrlFRC7wxPointRi
+ ;wxListMainWindow::FocusLine(wxListLineData*)
+ FocusLine__16wxListMainWindowFP14wxListLineData
+ ;wxListMainWindow::DeselectLine(wxListLineData*)
+ DeselectLine__16wxListMainWindowFP14wxListLineData
+ ;wxListItemData::GetX() const
+ GetX__14wxListItemDataCFv
+ ;wxConstructorForwxListHeaderData()
+ wxConstructorForwxListHeaderData__Fv
+ ;wxConstructorForwxListCtrl()
+ wxConstructorForwxListCtrl__Fv
+ list_ctrl_compare_func_2
+ ;wxListMainWindow::~wxListMainWindow()
+ __dt__16wxListMainWindowFv
+ ;wxListHeaderWindow::wxListHeaderWindow()
+ __ct__18wxListHeaderWindowFv
+ ;wxListLineData::SetPosition(wxDC*,int,int,int)
+ SetPosition__14wxListLineDataFP4wxDCiN22
+ ;wxListMainWindow::OnRenameTimer()
+ OnRenameTimer__16wxListMainWindowFv
+ ;wxListCtrl::GetTextColour() const
+ GetTextColour__10wxListCtrlCFv
+ ;wxListTextCtrl::GetEventTable() const
+ GetEventTable__14wxListTextCtrlCFv
+ ;wxListMainWindow::GetCountPerPage()
+ GetCountPerPage__16wxListMainWindowFv
+ ;wxListLineData::DoDraw(wxDC*,unsigned long,unsigned long)
+ DoDraw__14wxListLineDataFP4wxDCUlT2
+ ;wxListItem::ClearAttributes()
+ ClearAttributes__10wxListItemFv
+ ;wxListItemData::GetText(wxString&)
+ GetText__14wxListItemDataFR8wxString
+ ;wxListHeaderWindow::sm_eventTable
+ sm_eventTable__18wxListHeaderWindow
+ ;wxListHeaderWindow::sm_eventTableEntries
+ sm_eventTableEntries__18wxListHeaderWindow
+ ;wxListMainWindow::sm_classwxListMainWindow
+ sm_classwxListMainWindow__16wxListMainWindow
+ ;wxListRenameTimer::wxListRenameTimer(wxListMainWindow*)
+ __ct__17wxListRenameTimerFP16wxListMainWindow
+ ;wxListCtrl::InsertColumn(long,const wxString&,int,int)
+ InsertColumn__10wxListCtrlFlRC8wxStringiT3
+ ;wxListMainWindow::GetTextLength(wxString&)
+ GetTextLength__16wxListMainWindowFR8wxString
+ ;wxListCtrl::Edit(long)
+ Edit__10wxListCtrlFl
+ ;wxListEvent::sm_classwxListEvent
+ sm_classwxListEvent__11wxListEvent
+ ;wxListCtrl::sm_classwxListCtrl
+ sm_classwxListCtrl__10wxListCtrl
+ __vft18wxListHeaderWindow8wxObject
+ __vft17wxListRenameTimer8wxObject
+ __vft11wxListEvent8wxObject
+ ;wxListMainWindow::SortItems(int(*)(long,long,long),long)
+ SortItems__16wxListMainWindowFPFlN21_il
+ ;wxListCtrl::SetSingleStyle(long,unsigned long)
+ SetSingleStyle__10wxListCtrlFlUl
+ ;wxListMainWindow::SetItemSpacing(int,unsigned long)
+ SetItemSpacing__16wxListMainWindowFiUl
+ ;wxListCtrl::OnSize(wxSizeEvent&)
+ OnSize__10wxListCtrlFR11wxSizeEvent
+ ;wxListHeaderWindow::OnMouse(wxMouseEvent&)
+ OnMouse__18wxListHeaderWindowFR12wxMouseEvent
+ ;wxListTextCtrl::OnChar(wxKeyEvent&)
+ OnChar__14wxListTextCtrlFR10wxKeyEvent
+ ;wxListLineData::IsInRect(int,int,const wxRect&)
+ IsInRect__14wxListLineDataFiT1RC6wxRect
+ ;wxListLineDataArray::Index(const wxListLineData&,unsigned long) const
+ Index__19wxListLineDataArrayCFRC14wxListLineDataUl
+ ;wxListLineData::Hilight(unsigned long)
+ Hilight__14wxListLineDataFUl
+ ;wxListCtrl::FindItem(long,const wxString&,unsigned long)
+ FindItem__10wxListCtrlFlRC8wxStringUl
+ ;wxListLineData::DrawRubberBand(wxDC*,unsigned long)
+ DrawRubberBand__14wxListLineDataFP4wxDCUl
+ ;wxListLineDataArray::RemoveAt(unsigned int)
+ RemoveAt__19wxListLineDataArrayFUi
+ ;wxListHeaderData::wxListHeaderData(const wxListItem&)
+ __ct__16wxListHeaderDataFRC10wxListItem
+ ;wxListHeaderData::SetWidth(int)
+ SetWidth__16wxListHeaderDataFi
+ ;wxListHeaderData::SetPosition(int,int)
+ SetPosition__16wxListHeaderDataFiT1
+ ;wxListItemData::SetPosition(int,int)
+ SetPosition__14wxListItemDataFiT1
+ ;wxListCtrl::SetItemState(long,long,long)
+ SetItemState__10wxListCtrlFlN21
+ ;wxListHeaderData::SetHeight(int)
+ SetHeight__16wxListHeaderDataFi
+ ;wxListHeaderData::SetFormat(int)
+ SetFormat__16wxListHeaderDataFi
+ ;wxListCtrl::SetColumnWidth(int,int)
+ SetColumnWidth__10wxListCtrlFiT1
+ ;wxListCtrl::InsertItem(long,int)
+ InsertItem__10wxListCtrlFli
+ ;wxListCtrl::GetItem(wxListItem&) const
+ GetItem__10wxListCtrlCFR10wxListItem
+ ;wxListMainWindow::GetIndexOfLine(const wxListLineData*)
+ GetIndexOfLine__16wxListMainWindowFPC14wxListLineData
+ ;wxListLineData::GetExtent(int&,int&,int&,int&)
+ GetExtent__14wxListLineDataFRiN31
+ ;wxListMainWindow::FindItem(long,long)
+ FindItem__16wxListMainWindowFlT1
+ ;wxListMainWindow::DrawImage(int,wxDC*,int,int)
+ DrawImage__16wxListMainWindowFiP4wxDCN21
+ ;wxListCtrl::DeleteColumn(int)
+ DeleteColumn__10wxListCtrlFi
+ ;wxListCtrl::Arrange(int)
+ Arrange__10wxListCtrlFi
+ ;wxListItemData::HasImage() const
+ HasImage__14wxListItemDataCFv
+ ;wxConstructorForwxListMainWindow()
+ wxConstructorForwxListMainWindow__Fv
+ ;wxConstructorForwxListLineData()
+ wxConstructorForwxListLineData__Fv
+ ;wxConstructorForwxListEvent()
+ wxConstructorForwxListEvent__Fv
+ ;wxListCtrl::SetItem(long,int,const wxString&,int)
+ SetItem__10wxListCtrlFliRC8wxStringT2
+ ;wxListLineData::ReverseHilight()
+ ReverseHilight__14wxListLineDataFv
+ ;wxListItemData::HasText() const
+ HasText__14wxListItemDataCFv
+ ;wxListItemData::GetY() const
+ GetY__14wxListItemDataCFv
+ ;wxListMainWindow::GetSelectedItemCount()
+ GetSelectedItemCount__16wxListMainWindowFv
+ ;wxListCtrl::GetNextItem(long,int,int) const
+ GetNextItem__10wxListCtrlCFliT2
+ ;wxListMainWindow::GetItemCount()
+ GetItemCount__16wxListMainWindowFv
+ ;wxListItemData::GetHeight() const
+ GetHeight__14wxListItemDataCFv
+ ;wxListHeaderData::GetFormat() const
+ GetFormat__16wxListHeaderDataCFv
+ ;wxListCtrl::GetEventTable() const
+ GetEventTable__10wxListCtrlCFv
+ ;wxListCtrl::GetCountPerPage() const
+ GetCountPerPage__10wxListCtrlCFv
+ ;wxListMainWindow::GetColumnCount()
+ GetColumnCount__16wxListMainWindowFv
+ ;wxListCtrl::GetBackgroundColour() const
+ GetBackgroundColour__10wxListCtrlCFv
+ ;wxListLineData::AssignRect(wxRect&,int,int,int,int)
+ AssignRect__14wxListLineDataFR6wxRectiN32
+ ;wxListLineData::SetText(int,const wxString)
+ SetText__14wxListLineDataFiC8wxString
+ ;wxListMainWindow::sm_eventTable
+ sm_eventTable__16wxListMainWindow
+ ;wxListHeaderWindow::sm_classwxListHeaderWindow
+ sm_classwxListHeaderWindow__18wxListHeaderWindow
+ ;wxListCtrl::SetItemText(long,const wxString&)
+ SetItemText__10wxListCtrlFlRC8wxString
+ ;wxListCtrl::InsertItem(long,const wxString&)
+ InsertItem__10wxListCtrlFlRC8wxString
+ ;wxListLineData::Draw(wxDC*)
+ Draw__14wxListLineDataFP4wxDC
+ ;wxListMainWindow::EditLabel(long)
+ EditLabel__16wxListMainWindowFl
+ ;wxListCtrl::sm_eventTable
+ sm_eventTable__10wxListCtrl
+ __vft16wxListMainWindow8wxObject
+ ;wxListLineData::wxListLineData(wxListMainWindow*,int,wxBrush*)
+ __ct__14wxListLineDataFP16wxListMainWindowiP7wxBrush
+ ;wxListCtrl::SetFont(const wxFont&)
+ SetFont__10wxListCtrlFRC6wxFont
+ ;wxListMainWindow::OnSize(wxSizeEvent&)
+ OnSize__16wxListMainWindowFR11wxSizeEvent
+ ;wxListMainWindow::OnSetFocus(wxFocusEvent&)
+ OnSetFocus__16wxListMainWindowFR12wxFocusEvent
+ ;wxListMainWindow::OnKillFocus(wxFocusEvent&)
+ OnKillFocus__16wxListMainWindowFR12wxFocusEvent
+ ;wxListMainWindow::OnArrowChar(wxListLineData*,unsigned long)
+ OnArrowChar__16wxListMainWindowFP14wxListLineDataUl
+ ;wxListLineData::GetRect(wxRect&)
+ GetRect__14wxListLineDataFR6wxRect
+ ;wxListMainWindow::GetItemSpacing(unsigned long)
+ GetItemSpacing__16wxListMainWindowFUl
+ ;wxListMainWindow::GetItemPosition(long,wxPoint&)
+ GetItemPosition__16wxListMainWindowFlR7wxPoint
+ ;wxListCtrl::GetItemPosition(long,wxPoint&) const
+ GetItemPosition__10wxListCtrlCFlR7wxPoint
+ ;wxListMainWindow::FindItem(long,const wxString&,unsigned long)
+ FindItem__16wxListMainWindowFlRC8wxStringUl
+ ;wxListCtrl::DeleteItem(long)
+ DeleteItem__10wxListCtrlFl
+ ;wxListLineData::AssignRect(wxRect&,const wxRect&)
+ AssignRect__14wxListLineDataFR6wxRectRC6wxRect
+ ;wxListLineDataArray::DoCopy(const wxListLineDataArray&)
+ DoCopy__19wxListLineDataArrayFRC19wxListLineDataArray
+ ;wxListMainWindow::UnfocusLine(wxListLineData*)
+ UnfocusLine__16wxListMainWindowFP14wxListLineData
+ ;wxListItemData::SetImage(int)
+ SetImage__14wxListItemDataFi
+ ;wxListCtrl::SetColumn(int,wxListItem&)
+ SetColumn__10wxListCtrlFiR10wxListItem
+ ;wxListLineData::InitItems(int)
+ InitItems__14wxListLineDataFi
+ ;wxListHeaderData::GetItem(wxListItem&)
+ GetItem__16wxListHeaderDataFR10wxListItem
+ ;wxListLineData::GetItem(int,wxListItem&)
+ GetItem__14wxListLineDataFiR10wxListItem
+ ;wxListCtrl::GetItemState(long,long) const
+ GetItemState__10wxListCtrlCFlT1
+ ;wxListLineData::GetImage(int)
+ GetImage__14wxListLineDataFi
+ ;wxListCtrl::GetImageList(int) const
+ GetImageList__10wxListCtrlCFi
+ ;wxListCtrl::GetColumn(int,wxListItem&) const
+ GetColumn__10wxListCtrlCFiR10wxListItem
+ ;wxListMainWindow::DeleteColumn(int)
+ DeleteColumn__16wxListMainWindowFi
+ ;wxListLineData::CalculateSize(wxDC*,int)
+ CalculateSize__14wxListLineDataFP4wxDCi
+ ;wxListLineDataArray::~wxListLineDataArray()
+ __dt__19wxListLineDataArrayFv
+ ;wxConstructorForwxListItem()
+ wxConstructorForwxListItem__Fv
+ ;wxListCtrl::~wxListCtrl()
+ __dt__10wxListCtrlFv
+ ;wxListItem::wxListItem()
+ __ct__10wxListItemFv
+ ;wxListCtrl::SetItemImage(long,int,int)
+ SetItemImage__10wxListCtrlFliT2
+ ;wxListCtrl::SetForegroundColour(const wxColour&)
+ SetForegroundColour__10wxListCtrlFRC8wxColour
+ ;wxListLineData::IsHilighted()
+ IsHilighted__14wxListLineDataFv
+ ;wxListCtrl::GetSelectedItemCount() const
+ GetSelectedItemCount__10wxListCtrlCFv
+ ;wxListMainWindow::GetMode() const
+ GetMode__16wxListMainWindowCFv
+ ;wxListMainWindow::GetImageSize(int,int&,int&)
+ GetImageSize__16wxListMainWindowFiRiT2
+ ;wxListHeaderWindow::GetEventTable() const
+ GetEventTable__18wxListHeaderWindowCFv
+ ;wxListCtrl::GetDropTarget() const
+ GetDropTarget__10wxListCtrlCFv
+ ;wxListCtrl::GetColumnCount() const
+ GetColumnCount__10wxListCtrlCFv
+ ;wxListMainWindow::DeleteEverything()
+ DeleteEverything__16wxListMainWindowFv
+ ;wxListMainWindow::DeleteAllItems()
+ DeleteAllItems__16wxListMainWindowFv
+ ;wxListCtrl::DeleteAllColumns()
+ DeleteAllColumns__10wxListCtrlFv
+ ;wxListMainWindow::CalculatePositions()
+ CalculatePositions__16wxListMainWindowFv
+ ;wxListCtrl::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__10wxListCtrlFP8wxWindowiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxListMainWindow::sm_eventTableEntries
+ sm_eventTableEntries__16wxListMainWindow
+ ;wxListLineData::GetText(int,wxString&)
+ GetText__14wxListLineDataFiR8wxString
+ ;wxListLineData::SetAttributes(wxDC*,const wxListItemAttr*,const wxColour&,const wxFont&,unsigned long)
+ SetAttributes__14wxListLineDataFP4wxDCPC14wxListItemAttrRC8wxColourRC6wxFontUl
+ ;wxListTextCtrl::sm_eventTableEntries
+ sm_eventTableEntries__14wxListTextCtrl
+ ;wxListTextCtrl::sm_classwxListTextCtrl
+ sm_classwxListTextCtrl__14wxListTextCtrl
+ __vft10wxListCtrl8wxObject
+ ;wxListCtrl::SetWindowStyleFlag(long)
+ SetWindowStyleFlag__10wxListCtrlFl
+ ;wxListMainWindow::OnScroll(wxScrollWinEvent&)
+ OnScroll__16wxListMainWindowFR16wxScrollWinEvent
+ ;wxListHeaderWindow::OnPaint(wxPaintEvent&)
+ OnPaint__18wxListHeaderWindowFR12wxPaintEvent
+ ;wxListMainWindow::OnMouse(wxMouseEvent&)
+ OnMouse__16wxListMainWindowFR12wxMouseEvent
+ ;wxListMainWindow::OnChar(wxKeyEvent&)
+ OnChar__16wxListMainWindowFR10wxKeyEvent
+ ;wxListMainWindow::HilightAll(unsigned long)
+ HilightAll__16wxListMainWindowFUl
+ ;wxListCtrl::GetItemText(long) const
+ GetItemText__10wxListCtrlCFl
+ ;wxListCtrl::GetItemSpacing(unsigned long) const
+ GetItemSpacing__10wxListCtrlCFUl
+ ;wxListCtrl::GetItemData(long) const
+ GetItemData__10wxListCtrlCFl
+ ;wxListMainWindow::EnsureVisible(long)
+ EnsureVisible__16wxListMainWindowFl
+ ;wxListCtrl::EnsureVisible(long)
+ EnsureVisible__10wxListCtrlFl
+ ;wxListLineDataArray::Add(const wxListLineData&)
+ Add__19wxListLineDataArrayFRC14wxListLineData
+ ;wxListItemData::sm_classwxListItemData
+ sm_classwxListItemData__14wxListItemData
+ ;wxListHeaderData::sm_classwxListHeaderData
+ sm_classwxListHeaderData__16wxListHeaderData
+ ;wxListItemData::wxListItemData(const wxListItem&)
+ __ct__14wxListItemDataFRC10wxListItem
+ ;wxListMainWindow::SetItem(wxListItem&)
+ SetItem__16wxListMainWindowFR10wxListItem
+ ;wxListItemData::SetItem(const wxListItem&)
+ SetItem__14wxListItemDataFRC10wxListItem
+ ;wxListCtrl::SetItemData(long,long)
+ SetItemData__10wxListCtrlFlT1
+ ;wxListCtrl::SetImageList(wxImageList*,int)
+ SetImageList__10wxListCtrlFP11wxImageListi
+ ;wxListMainWindow::SetColumn(int,wxListItem&)
+ SetColumn__16wxListMainWindowFiR10wxListItem
+ ;wxListLineData::SetColumnPosition(int,int)
+ SetColumnPosition__14wxListLineDataFiT1
+ ;wxListCtrl::ScrollList(int,int)
+ ScrollList__10wxListCtrlFiT1
+ ;wxListLineData::IsHit(int,int)
+ IsHit__14wxListLineDataFiT1
+ ;wxListLineDataArray::Insert(const wxListLineData&,unsigned int)
+ Insert__19wxListLineDataArrayFRC14wxListLineDataUi
+ ;wxListMainWindow::InsertItem(wxListItem&)
+ InsertItem__16wxListMainWindowFR10wxListItem
+ ;wxListCtrl::InsertItem(long,const wxString&,int)
+ InsertItem__10wxListCtrlFlRC8wxStringi
+ ;wxListCtrl::InsertColumn(long,wxListItem&)
+ InsertColumn__10wxListCtrlFlR10wxListItem
+ ;wxListLineData::GetSize(int&,int&)
+ GetSize__14wxListLineDataFRiT1
+ ;wxListMainWindow::GetItemState(long,long)
+ GetItemState__16wxListMainWindowFlT1
+ ;wxListCtrl::GetItemRect(long,wxRect&,int) const
+ GetItemRect__10wxListCtrlCFlR6wxRecti
+ ;wxListCtrl::GetColumnWidth(int) const
+ GetColumnWidth__10wxListCtrlCFi
+ ;wxListCtrl::FindItem(long,const wxPoint&,int)
+ FindItem__10wxListCtrlFlRC7wxPointi
+ ;wxListMainWindow::DeleteLine(wxListLineData*)
+ DeleteLine__16wxListMainWindowFP14wxListLineData
+ ;wxListCtrl::AssignImageList(wxImageList*,int)
+ AssignImageList__10wxListCtrlFP11wxImageListi
+ ;wxListLineDataArray::DoEmpty()
+ DoEmpty__19wxListLineDataArrayFv
+ ;wxConstructorForwxListItemData()
+ wxConstructorForwxListItemData__Fv
+ ;wxConstructorForwxListHeaderWindow()
+ wxConstructorForwxListHeaderWindow__Fv
+ ;wxListTextCtrl::wxListTextCtrl(wxWindow*,const int,unsigned long*,wxString*,wxListMainWindow*,const wxString&,const wxPoint&,const wxSize&,int,const wxValidator&,const wxString&)
+ __ct__14wxListTextCtrlFP8wxWindowCiPUlP8wxStringP16wxListMainWindowRC8wxStringRC7wxPointRC6wxSizeiRC11wxValidatorT6
+ ;wxListItemData::wxListItemData()
+ __ct__14wxListItemDataFv
+ ;wxListCtrl::wxListCtrl()
+ __ct__10wxListCtrlFv
+ ;wxListCtrl::SetTextColour(const wxColour&)
+ SetTextColour__10wxListCtrlFRC8wxColour
+ ;wxListCtrl::SetBackgroundColour(const wxColour&)
+ SetBackgroundColour__10wxListCtrlFRC8wxColour
+ ;wxListHeaderData::HasImage() const
+ HasImage__16wxListHeaderDataCFv
+ ;wxListItemData::GetWidth() const
+ GetWidth__14wxListItemDataCFv
+ ;wxListMainWindow::GetNextItem(long,int,int)
+ GetNextItem__16wxListMainWindowFliT2
+ ;wxListHeaderData::GetImage() const
+ GetImage__16wxListHeaderDataCFv
+ ;wxListItemData::GetImage() const
+ GetImage__14wxListItemDataCFv
+ ;wxListCtrl::GetForegroundColour() const
+ GetForegroundColour__10wxListCtrlCFv
+ ;wxListMainWindow::GetEventTable() const
+ GetEventTable__16wxListMainWindowCFv
+ ;wxListHeaderWindow::DrawCurrent()
+ DrawCurrent__18wxListHeaderWindowFv
+ ;wxListCtrl::DoPopupMenu(wxMenu*,int,int)
+ DoPopupMenu__10wxListCtrlFP6wxMenuiT2
+ ;wxListCtrl::DeleteAllItems()
+ DeleteAllItems__10wxListCtrlFv
+ ;wxListItem::Clear()
+ Clear__10wxListItemFv
+ ;wxListCtrl::ClearAll()
+ ClearAll__10wxListCtrlFv
+ ;wxListItemData::SetText(const wxString&)
+ SetText__14wxListItemDataFRC8wxString
+ ;wxListHeaderWindow::wxListHeaderWindow(wxWindow*,int,wxListMainWindow*,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__18wxListHeaderWindowFP8wxWindowiP16wxListMainWindowRC7wxPointRC6wxSizelRC8wxString
+ ;wxListMainWindow::wxListMainWindow(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__16wxListMainWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxListHeaderWindow::AdjustDC(wxDC&)
+ AdjustDC__18wxListHeaderWindowFR4wxDC
+ ;From object file: ..\generic\logg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxLogDialog::wxLogDialog(wxWindow*,const wxArrayString&,const wxArrayInt&,const wxArrayLong&,const wxString&,long)
+ __ct__11wxLogDialogFP8wxWindowRC13wxArrayStringRC10wxArrayIntRC11wxArrayLongRC8wxStringl
+ ;wxLogFrame::OnClose(wxCommandEvent&)
+ OnClose__10wxLogFrameFR14wxCommandEvent
+ ;wxLogWindow::DoLog(unsigned long,const char*,long)
+ DoLog__11wxLogWindowFUlPCcl
+ ;wxLogFrame::GetEventTable() const
+ GetEventTable__10wxLogFrameCFv
+ ;wxLogWindow::GetFrame() const
+ GetFrame__11wxLogWindowCFv
+ ;wxLogDialog::ms_details
+ ms_details__11wxLogDialog
+ ;wxLogDialog::sm_eventTableEntries
+ sm_eventTableEntries__11wxLogDialog
+ ;wxLogFrame::OnSave(wxCommandEvent&)
+ OnSave__10wxLogFrameFR14wxCommandEvent
+ ;wxLogWindow::Show(unsigned long)
+ Show__11wxLogWindowFUl
+ ;wxLogFrame::OnClear(wxCommandEvent&)
+ OnClear__10wxLogFrameFR14wxCommandEvent
+ ;wxLogFrame::sm_eventTableEntries
+ sm_eventTableEntries__10wxLogFrame
+ ;wxLogDialog::GetEventTable() const
+ GetEventTable__11wxLogDialogCFv
+ ;wxLogFrame::~wxLogFrame()
+ __dt__10wxLogFrameFv
+ ;wxLogGui::Flush()
+ Flush__8wxLogGuiFv
+ ;wxLogFrame::DoClose()
+ DoClose__10wxLogFrameFv
+ ;wxLogDialog::CreateDetailsControls()
+ CreateDetailsControls__11wxLogDialogFv
+ ;wxLogGui::DoLog(unsigned long,const char*,long)
+ DoLog__8wxLogGuiFUlPCcl
+ ;wxLogDialog::OnListSelect(wxListEvent&)
+ OnListSelect__11wxLogDialogFR11wxListEvent
+ ;wxLogDialog::OnDetails(wxCommandEvent&)
+ OnDetails__11wxLogDialogFR14wxCommandEvent
+ __vft13wxLogTextCtrl5wxLog
+ ;wxLogDialog::sm_eventTable
+ sm_eventTable__11wxLogDialog
+ __vft11wxLogWindow5wxLog
+ ;wxLogTextCtrl::DoLogString(const char*,long)
+ DoLogString__13wxLogTextCtrlFPCcl
+ ;wxLogDialog::OnSave(wxCommandEvent&)
+ OnSave__11wxLogDialogFR14wxCommandEvent
+ ;wxLogFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__10wxLogFrameFR12wxCloseEvent
+ ;wxLogWindow::DoLogString(const char*,long)
+ DoLogString__11wxLogWindowFPCcl
+ ;wxLogStatus(wxFrame*,const char*,...)
+ wxLogStatus__FP7wxFramePCce
+ ;wxLogWindow::OnFrameCreate(wxFrame*)
+ OnFrameCreate__11wxLogWindowFP7wxFrame
+ ;wxLogGui::wxLogGui()
+ __ct__8wxLogGuiFv
+ ;wxLogWindow::~wxLogWindow()
+ __dt__11wxLogWindowFv
+ ;wxLogGui::Clear()
+ Clear__8wxLogGuiFv
+ __vft8wxLogGui5wxLog
+ ;wxLogTextCtrl::wxLogTextCtrl(wxTextCtrl*)
+ __ct__13wxLogTextCtrlFP10wxTextCtrl
+ __vft11wxLogDialog8wxObject
+ __vft10wxLogFrame8wxObject
+ ;wxLogDialog::OnOk(wxCommandEvent&)
+ OnOk__11wxLogDialogFR14wxCommandEvent
+ ;wxLogWindow::OnFrameClose(wxFrame*)
+ OnFrameClose__11wxLogWindowFP7wxFrame
+ ;wxLogFrame::sm_eventTable
+ sm_eventTable__10wxLogFrame
+ ;wxLogWindow::OnFrameDelete(wxFrame*)
+ OnFrameDelete__11wxLogWindowFP7wxFrame
+ ;wxLogDialog::~wxLogDialog()
+ __dt__11wxLogDialogFv
+ ;wxLogWindow::Flush()
+ Flush__11wxLogWindowFv
+ ;wxLogFrame::wxLogFrame(wxFrame*,wxLogWindow*,const char*)
+ __ct__10wxLogFrameFP7wxFrameP11wxLogWindowPCc
+ ;wxLogWindow::wxLogWindow(wxFrame*,const char*,unsigned long,unsigned long)
+ __ct__11wxLogWindowFP7wxFramePCcUlT3
+ ;From object file: ..\generic\numdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGetNumberFromUser(const wxString&,const wxString&,const wxString&,long,long,long,wxWindow*,const wxPoint&)
+ wxGetNumberFromUser__FRC8wxStringN21lN24P8wxWindowRC7wxPoint
+ ;wxNumberEntryDialog::GetEventTable() const
+ GetEventTable__19wxNumberEntryDialogCFv
+ ;wxNumberEntryDialog::sm_eventTableEntries
+ sm_eventTableEntries__19wxNumberEntryDialog
+ ;wxNumberEntryDialog::OnOK(wxCommandEvent&)
+ OnOK__19wxNumberEntryDialogFR14wxCommandEvent
+ ;wxNumberEntryDialog::wxNumberEntryDialog(wxWindow*,const wxString&,const wxString&,const wxString&,long,long,long,const wxPoint&)
+ __ct__19wxNumberEntryDialogFP8wxWindowRC8wxStringN22lN25RC7wxPoint
+ ;wxNumberEntryDialog::OnCancel(wxCommandEvent&)
+ OnCancel__19wxNumberEntryDialogFR14wxCommandEvent
+ __vft19wxNumberEntryDialog8wxObject
+ ;wxNumberEntryDialog::sm_eventTable
+ sm_eventTable__19wxNumberEntryDialog
+ ;From object file: ..\generic\panelg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPanel::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__7wxPanelFR23wxSysColourChangedEvent
+ ;wxPanel::OnSize(wxSizeEvent&)
+ OnSize__7wxPanelFR11wxSizeEvent
+ ;wxPanel::sm_eventTableEntries
+ sm_eventTableEntries__7wxPanel
+ ;wxPanel::Init()
+ Init__7wxPanelFv
+ ;wxPanel::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__7wxPanelFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ __vft7wxPanel8wxObject
+ ;wxPanel::GetEventTable() const
+ GetEventTable__7wxPanelCFv
+ ;wxPanel::InitDialog()
+ InitDialog__7wxPanelFv
+ ;wxPanel::sm_classwxPanel
+ sm_classwxPanel__7wxPanel
+ ;wxPanel::sm_eventTable
+ sm_eventTable__7wxPanel
+ ;wxPanel::OnNavigationKey(wxNavigationKeyEvent&)
+ OnNavigationKey__7wxPanelFR20wxNavigationKeyEvent
+ ;wxPanel::OnFocus(wxFocusEvent&)
+ OnFocus__7wxPanelFR12wxFocusEvent
+ ;wxConstructorForwxPanel()
+ wxConstructorForwxPanel__Fv
+ ;wxPanel::SetFocus()
+ SetFocus__7wxPanelFv
+ ;wxPanel::SetFocusToChild()
+ SetFocusToChild__7wxPanelFv
+ ;wxSetFocusToChild(wxWindow*,wxWindow**)
+ wxSetFocusToChild__FP8wxWindowPP8wxWindow
+ ;From object file: ..\generic\plot.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPlotXAxisArea::OnMouse(wxMouseEvent&)
+ OnMouse__15wxPlotXAxisAreaFR12wxMouseEvent
+ __vft15wxPlotXAxisArea8wxObject
+ __vft12wxPlotWindow8wxObject
+ ;wxPlotWindow::OnShrink(wxCommandEvent&)
+ OnShrink__12wxPlotWindowFR14wxCommandEvent
+ ;wxPlotWindow::OnEnlarge(wxCommandEvent&)
+ OnEnlarge__12wxPlotWindowFR14wxCommandEvent
+ ;wxPlotCurve::sm_classwxPlotCurve
+ sm_classwxPlotCurve__11wxPlotCurve
+ ;wxPlotYAxisArea::sm_eventTable
+ sm_eventTable__15wxPlotYAxisArea
+ ;wxPlotOnOffCurve::sm_classwxPlotOnOffCurve
+ sm_classwxPlotOnOffCurve__16wxPlotOnOffCurve
+ ;wxArrayPlotOnOff::~wxArrayPlotOnOff()
+ __dt__16wxArrayPlotOnOffFv
+ ;wxPlotWindow::RedrawYAxis()
+ RedrawYAxis__12wxPlotWindowFv
+ ;wxPlotOnOffCurve::DrawOffLine(wxDC&,int,int,int)
+ DrawOffLine__16wxPlotOnOffCurveFR4wxDCiN22
+ ;wxPlotArea::DeleteCurve(wxPlotCurve*,int,int)
+ DeleteCurve__10wxPlotAreaFP11wxPlotCurveiT2
+ ;wxArrayPlotOnOff::Add(const wxPlotOnOff&)
+ Add__16wxArrayPlotOnOffFRC11wxPlotOnOff
+ ;wxPlotXAxisArea::wxPlotXAxisArea(wxPlotWindow*)
+ __ct__15wxPlotXAxisAreaFP12wxPlotWindow
+ ;wxPlotArea::OnPaint(wxPaintEvent&)
+ OnPaint__10wxPlotAreaFR12wxPaintEvent
+ __vft15wxPlotYAxisArea8wxObject
+ ;wxPlotOnOffCurve::wxPlotOnOffCurve(int)
+ __ct__16wxPlotOnOffCurveFi
+ ;wxPlotYAxisArea::sm_classwxPlotYAxisArea
+ sm_classwxPlotYAxisArea__15wxPlotYAxisArea
+ ;wxPlotOnOffCurve::GetOn(unsigned int)
+ GetOn__16wxPlotOnOffCurveFUi
+ ;wxPlotOnOffCurve::GetClientData(unsigned int)
+ GetClientData__16wxPlotOnOffCurveFUi
+ ;wxPlotWindow::Delete(wxPlotCurve*)
+ Delete__12wxPlotWindowFP11wxPlotCurve
+ ;wxConstructorForwxPlotArea()
+ wxConstructorForwxPlotArea__Fv
+ ;wxConstructorForwxPlotWindow()
+ wxConstructorForwxPlotWindow__Fv
+ ;wxPlotWindow::GetEventTable() const
+ GetEventTable__12wxPlotWindowCFv
+ ;wxPlotWindow::GetCount()
+ GetCount__12wxPlotWindowFv
+ ;wxPlotArea::DrawCurve(wxDC*,wxPlotCurve*,int,int)
+ DrawCurve__10wxPlotAreaFP4wxDCP11wxPlotCurveiT3
+ ;wxArrayPlotOnOff::Index(const wxPlotOnOff&,unsigned long) const
+ Index__16wxArrayPlotOnOffCFRC11wxPlotOnOffUl
+ __vft16wxPlotOnOffCurve8wxObject
+ ;wxPlotWindow::OnZoomIn(wxCommandEvent&)
+ OnZoomIn__12wxPlotWindowFR14wxCommandEvent
+ ;wxPlotXAxisArea::OnPaint(wxPaintEvent&)
+ OnPaint__15wxPlotXAxisAreaFR12wxPaintEvent
+ ;wxArrayPlotOnOff::RemoveAt(unsigned int)
+ RemoveAt__16wxArrayPlotOnOffFUi
+ ;wxPlotYAxisArea::sm_eventTableEntries
+ sm_eventTableEntries__15wxPlotYAxisArea
+ ;wxPlotArea::sm_eventTableEntries
+ sm_eventTableEntries__10wxPlotArea
+ ;wxPlotEvent::wxPlotEvent(int,int)
+ __ct__11wxPlotEventFiT1
+ ;wxPlotWindow::SetCurrent(wxPlotCurve*)
+ SetCurrent__12wxPlotWindowFP11wxPlotCurve
+ ;wxPlotWindow::GetOnOffCurveAt(unsigned int)
+ GetOnOffCurveAt__12wxPlotWindowFUi
+ ;wxPlotOnOffCurve::GetOff(unsigned int)
+ GetOff__16wxPlotOnOffCurveFUi
+ ;wxPlotOnOffCurve::GetAt(unsigned int)
+ GetAt__16wxPlotOnOffCurveFUi
+ ;wxPlotWindow::GetAt(unsigned int)
+ GetAt__12wxPlotWindowFUi
+ ;wxPlotWindow::Delete(wxPlotOnOffCurve*)
+ Delete__12wxPlotWindowFP16wxPlotOnOffCurve
+ ;wxArrayPlotOnOff::wxArrayPlotOnOff(const wxArrayPlotOnOff&)
+ __ct__16wxArrayPlotOnOffFRC16wxArrayPlotOnOff
+ ;wxConstructorForwxPlotYAxisArea()
+ wxConstructorForwxPlotYAxisArea__Fv
+ ;wxPlotWindow::RedrawXAxis()
+ RedrawXAxis__12wxPlotWindowFv
+ ;wxPlotWindow::GetOnOffCurveCount()
+ GetOnOffCurveCount__12wxPlotWindowFv
+ ;wxPlotYAxisArea::GetEventTable() const
+ GetEventTable__15wxPlotYAxisAreaCFv
+ ;wxPlotOnOffCurve::GetCount()
+ GetCount__16wxPlotOnOffCurveFv
+ ;wxPlotOnOffCurve::Add(int,int,void*)
+ Add__16wxPlotOnOffCurveFiT1Pv
+ ;wxPlotWindow::sm_eventTableEntries
+ sm_eventTableEntries__12wxPlotWindow
+ ;wxPlotArea::ScrollWindow(int,int,const wxRect*)
+ ScrollWindow__10wxPlotAreaFiT1PC6wxRect
+ ;wxPlotYAxisArea::OnPaint(wxPaintEvent&)
+ OnPaint__15wxPlotYAxisAreaFR12wxPaintEvent
+ ;wxPlotWindow::OnMoveUp(wxCommandEvent&)
+ OnMoveUp__12wxPlotWindowFR14wxCommandEvent
+ ;wxPlotWindow::OnMoveDown(wxCommandEvent&)
+ OnMoveDown__12wxPlotWindowFR14wxCommandEvent
+ ;wxPlotWindow::Enlarge(wxPlotCurve*,double)
+ Enlarge__12wxPlotWindowFP11wxPlotCurved
+ ;wxPlotWindow::Add(wxPlotCurve*)
+ Add__12wxPlotWindowFP11wxPlotCurve
+ ;wxPlotXAxisArea::sm_eventTableEntries
+ sm_eventTableEntries__15wxPlotXAxisArea
+ ;wxPlotXAxisArea::sm_classwxPlotXAxisArea
+ sm_classwxPlotXAxisArea__15wxPlotXAxisArea
+ ;wxPlotWindow::Add(wxPlotOnOffCurve*)
+ Add__12wxPlotWindowFP16wxPlotOnOffCurve
+ ;wxArrayPlotOnOff::DoEmpty()
+ DoEmpty__16wxArrayPlotOnOffFv
+ ;wxConstructorForwxPlotXAxisArea()
+ wxConstructorForwxPlotXAxisArea__Fv
+ ;wxPlotWindow::~wxPlotWindow()
+ __dt__12wxPlotWindowFv
+ ;wxPlotCurve::wxPlotCurve(int,double,double)
+ __ct__11wxPlotCurveFidT2
+ ;wxPlotXAxisArea::GetEventTable() const
+ GetEventTable__15wxPlotXAxisAreaCFv
+ ;wxPlotArea::GetEventTable() const
+ GetEventTable__10wxPlotAreaCFv
+ ;wxPlotArea::wxPlotArea(wxPlotWindow*)
+ __ct__10wxPlotAreaFP12wxPlotWindow
+ ;wxPlotWindow::sm_eventTable
+ sm_eventTable__12wxPlotWindow
+ ;wxPlotArea::DrawOnOffCurve(wxDC*,wxPlotOnOffCurve*,int,int)
+ DrawOnOffCurve__10wxPlotAreaFP4wxDCP16wxPlotOnOffCurveiT3
+ ;wxPlotArea::OnMouse(wxMouseEvent&)
+ OnMouse__10wxPlotAreaFR12wxMouseEvent
+ __vft10wxPlotArea8wxObject
+ ;wxPlotWindow::SetZoom(double)
+ SetZoom__12wxPlotWindowFd
+ ;wxPlotWindow::SetUnitsPerValue(double)
+ SetUnitsPerValue__12wxPlotWindowFd
+ ;wxPlotWindow::OnZoomOut(wxCommandEvent&)
+ OnZoomOut__12wxPlotWindowFR14wxCommandEvent
+ ;wxPlotWindow::OnScroll2(wxScrollWinEvent&)
+ OnScroll2__12wxPlotWindowFR16wxScrollWinEvent
+ ;wxPlotYAxisArea::OnMouse(wxMouseEvent&)
+ OnMouse__15wxPlotYAxisAreaFR12wxMouseEvent
+ ;wxArrayPlotOnOff::Insert(const wxPlotOnOff&,unsigned int)
+ Insert__16wxArrayPlotOnOffFRC11wxPlotOnOffUi
+ ;wxPlotXAxisArea::sm_eventTable
+ sm_eventTable__15wxPlotXAxisArea
+ ;wxPlotArea::sm_eventTable
+ sm_eventTable__10wxPlotArea
+ ;wxPlotArea::sm_classwxPlotArea
+ sm_classwxPlotArea__10wxPlotArea
+ ;wxPlotWindow::Move(wxPlotCurve*,int)
+ Move__12wxPlotWindowFP11wxPlotCurvei
+ ;wxArrayPlotOnOff::DoCopy(const wxArrayPlotOnOff&)
+ DoCopy__16wxArrayPlotOnOffFRC16wxArrayPlotOnOff
+ ;wxPlotWindow::wxPlotWindow(wxWindow*,int,const wxPoint&,const wxSize&,int)
+ __ct__12wxPlotWindowFP8wxWindowiRC7wxPointRC6wxSizeT2
+ ;wxArrayPlotOnOff::operator=(const wxArrayPlotOnOff&)
+ __as__16wxArrayPlotOnOffFRC16wxArrayPlotOnOff
+ ;wxPlotWindow::ResetScrollbar()
+ ResetScrollbar__12wxPlotWindowFv
+ ;wxPlotWindow::RedrawEverything()
+ RedrawEverything__12wxPlotWindowFv
+ ;wxPlotWindow::GetCurrent()
+ GetCurrent__12wxPlotWindowFv
+ ;wxPlotOnOffCurve::DrawOnLine(wxDC&,int,int,int,void*)
+ DrawOnLine__16wxPlotOnOffCurveFR4wxDCiN22Pv
+ ;wxPlotYAxisArea::wxPlotYAxisArea(wxPlotWindow*)
+ __ct__15wxPlotYAxisAreaFP12wxPlotWindow
+ ;wxPlotWindow::sm_classwxPlotWindow
+ sm_classwxPlotWindow__12wxPlotWindow
+ ;From object file: ..\generic\printps.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPostScriptPrintPreview::wxPostScriptPrintPreview(wxPrintout*,wxPrintout*,wxPrintDialogData*)
+ __ct__24wxPostScriptPrintPreviewFP10wxPrintoutT1P17wxPrintDialogData
+ ;wxPostScriptPrintPreview::~wxPostScriptPrintPreview()
+ __dt__24wxPostScriptPrintPreviewFv
+ ;wxPostScriptPrinter::Setup(wxWindow*)
+ Setup__19wxPostScriptPrinterFP8wxWindow
+ ;wxPostScriptPrintPreview::sm_classwxPostScriptPrintPreview
+ sm_classwxPostScriptPrintPreview__24wxPostScriptPrintPreview
+ ;wxPostScriptPrinter::Print(wxWindow*,wxPrintout*,unsigned long)
+ Print__19wxPostScriptPrinterFP8wxWindowP10wxPrintoutUl
+ ;wxPostScriptPrintPreview::Print(unsigned long)
+ Print__24wxPostScriptPrintPreviewFUl
+ ;wxPostScriptPrintPreview::Init(wxPrintout*,wxPrintout*)
+ Init__24wxPostScriptPrintPreviewFP10wxPrintoutT1
+ ;wxPostScriptPrinter::~wxPostScriptPrinter()
+ __dt__19wxPostScriptPrinterFv
+ ;wxPostScriptPrinter::PrintDialog(wxWindow*)
+ PrintDialog__19wxPostScriptPrinterFP8wxWindow
+ __vft24wxPostScriptPrintPreview8wxObject
+ ;wxPostScriptPrintPreview::DetermineScaling()
+ DetermineScaling__24wxPostScriptPrintPreviewFv
+ ;wxPostScriptPrinter::wxPostScriptPrinter(wxPrintDialogData*)
+ __ct__19wxPostScriptPrinterFP17wxPrintDialogData
+ ;wxConstructorForwxPostScriptPrinter()
+ wxConstructorForwxPostScriptPrinter__Fv
+ ;wxPostScriptPrinter::sm_classwxPostScriptPrinter
+ sm_classwxPostScriptPrinter__19wxPostScriptPrinter
+ __vft19wxPostScriptPrinter8wxObject
+ ;wxPostScriptPrintPreview::wxPostScriptPrintPreview(wxPrintout*,wxPrintout*,wxPrintData*)
+ __ct__24wxPostScriptPrintPreviewFP10wxPrintoutT1P11wxPrintData
+ ;From object file: ..\generic\prntdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericPrintDialog::OnOK(wxCommandEvent&)
+ OnOK__20wxGenericPrintDialogFR14wxCommandEvent
+ ;wxGenericPrintDialog::wxGenericPrintDialog(wxWindow*,wxPrintDialogData*)
+ __ct__20wxGenericPrintDialogFP8wxWindowP17wxPrintDialogData
+ ;wxGenericPrintSetupDialog::wxGenericPrintSetupDialog(wxWindow*,wxPrintSetupData*)
+ __ct__25wxGenericPrintSetupDialogFP8wxWindowP16wxPrintSetupData
+ ;wxGenericPrintDialog::ShowModal()
+ ShowModal__20wxGenericPrintDialogFv
+ ;wxGenericPageSetupDialog::TransferDataFromWindow()
+ TransferDataFromWindow__24wxGenericPageSetupDialogFv
+ ;wxGenericPrintDialog::sm_eventTableEntries
+ sm_eventTableEntries__20wxGenericPrintDialog
+ ;wxGenericPrintDialog::OnRange(wxCommandEvent&)
+ OnRange__20wxGenericPrintDialogFR14wxCommandEvent
+ __vft24wxGenericPageSetupDialog8wxObject
+ ;wxGenericPrintDialog::OnSetup(wxCommandEvent&)
+ OnSetup__20wxGenericPrintDialogFR14wxCommandEvent
+ ;wxGenericPrintSetupDialog::wxGenericPrintSetupDialog(wxWindow*,wxPrintData*)
+ __ct__25wxGenericPrintSetupDialogFP8wxWindowP11wxPrintData
+ ;wxGenericPageSetupDialog::wxGenericPageSetupDialog(wxWindow*,wxPageSetupDialogData*)
+ __ct__24wxGenericPageSetupDialogFP8wxWindowP21wxPageSetupDialogData
+ ;wxGenericPrintDialog::~wxGenericPrintDialog()
+ __dt__20wxGenericPrintDialogFv
+ ;wxGenericPrintDialog::TransferDataToWindow()
+ TransferDataToWindow__20wxGenericPrintDialogFv
+ ;wxGenericPrintDialog::Init(wxWindow*)
+ Init__20wxGenericPrintDialogFP8wxWindow
+ ;wxGenericPageSetupDialog::sm_eventTableEntries
+ sm_eventTableEntries__24wxGenericPageSetupDialog
+ ;wxGenericPrintDialog::sm_classwxGenericPrintDialog
+ sm_classwxGenericPrintDialog__20wxGenericPrintDialog
+ __vft20wxGenericPrintDialog8wxObject
+ ;wxGenericPrintSetupDialog::Init(wxPrintData*)
+ Init__25wxGenericPrintSetupDialogFP11wxPrintData
+ ;wxGenericPageSetupDialog::CreatePaperTypeChoice(int*,int*)
+ CreatePaperTypeChoice__24wxGenericPageSetupDialogFPiT1
+ ;wxGenericPrintDialog::GetEventTable() const
+ GetEventTable__20wxGenericPrintDialogCFv
+ ;wxGenericPageSetupDialog::TransferDataToWindow()
+ TransferDataToWindow__24wxGenericPageSetupDialogFv
+ ;wxGenericPrintDialog::GetPrintDC()
+ GetPrintDC__20wxGenericPrintDialogFv
+ ;wxGenericPageSetupDialog::sm_classwxGenericPageSetupDialog
+ sm_classwxGenericPageSetupDialog__24wxGenericPageSetupDialog
+ ;wxGenericPrintDialog::sm_eventTable
+ sm_eventTable__20wxGenericPrintDialog
+ ;wxGenericPageSetupDialog::OnPrinter(wxCommandEvent&)
+ OnPrinter__24wxGenericPageSetupDialogFR14wxCommandEvent
+ ;wxGenericPrintSetupDialog::CreatePaperTypeChoice(int*,int*)
+ CreatePaperTypeChoice__25wxGenericPrintSetupDialogFPiT1
+ ;wxGenericPageSetupDialog::GetEventTable() const
+ GetEventTable__24wxGenericPageSetupDialogCFv
+ ;wxGenericPrintSetupDialog::TransferDataToWindow()
+ TransferDataToWindow__25wxGenericPrintSetupDialogFv
+ ;wxGenericPrintSetupDialog::TransferDataFromWindow()
+ TransferDataFromWindow__25wxGenericPrintSetupDialogFv
+ ;wxGenericPrintDialog::TransferDataFromWindow()
+ TransferDataFromWindow__20wxGenericPrintDialogFv
+ ;wxGenericPageSetupDialog::sm_eventTable
+ sm_eventTable__24wxGenericPageSetupDialog
+ __vft25wxGenericPrintSetupDialog8wxObject
+ ;wxGenericPrintDialog::wxGenericPrintDialog(wxWindow*,wxPrintData*)
+ __ct__20wxGenericPrintDialogFP8wxWindowP11wxPrintData
+ ;wxGenericPrintSetupDialog::~wxGenericPrintSetupDialog()
+ __dt__25wxGenericPrintSetupDialogFv
+ ;wxGenericPageSetupDialog::~wxGenericPageSetupDialog()
+ __dt__24wxGenericPageSetupDialogFv
+ ;wxGenericPrintSetupDialog::sm_classwxGenericPrintSetupDialog
+ sm_classwxGenericPrintSetupDialog__25wxGenericPrintSetupDialog
+ ;From object file: ..\generic\progdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxProgressDialog::wxProgressDialog(const wxString&,const wxString&,int,wxWindow*,int)
+ __ct__16wxProgressDialogFRC8wxStringT1iP8wxWindowT3
+ ;wxProgressDialog::CreateLabel(const wxString&,wxWindow**)
+ CreateLabel__16wxProgressDialogFRC8wxStringPP8wxWindow
+ __vft16wxProgressDialog8wxObject
+ ;wxProgressDialog::GetEventTable() const
+ GetEventTable__16wxProgressDialogCFv
+ ;wxProgressDialog::Update(int,const wxString&)
+ Update__16wxProgressDialogFiRC8wxString
+ ;wxProgressDialog::OnClose(wxCloseEvent&)
+ OnClose__16wxProgressDialogFR12wxCloseEvent
+ ;wxProgressDialog::sm_classwxProgressDialog
+ sm_classwxProgressDialog__16wxProgressDialog
+ ;wxProgressDialog::sm_eventTable
+ sm_eventTable__16wxProgressDialog
+ ;wxProgressDialog::sm_eventTableEntries
+ sm_eventTableEntries__16wxProgressDialog
+ ;wxProgressDialog::OnCancel(wxCommandEvent&)
+ OnCancel__16wxProgressDialogFR14wxCommandEvent
+ ;wxProgressDialog::~wxProgressDialog()
+ __dt__16wxProgressDialogFv
+ ;From object file: ..\generic\prop.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPropertyValue::wxPropertyValue(unsigned long)
+ __ct__15wxPropertyValueFUl
+ ;wxPropertyValue::wxPropertyValue(double)
+ __ct__15wxPropertyValueFd
+ ;wxPropertyValue::operator=(const long*)
+ __as__15wxPropertyValueFPCl
+ ;wxPropertyValidator::DoubleToString(double)
+ DoubleToString__19wxPropertyValidatorFd
+ ;wxPropertyValidator::StringToInt(char*,int*)
+ StringToInt__19wxPropertyValidatorFPcPi
+ ;wxPropertyValue::sm_classwxPropertyValue
+ sm_classwxPropertyValue__15wxPropertyValue
+ ;wxPropertyValidatorRegistry::sm_classwxPropertyValidatorRegistry
+ sm_classwxPropertyValidatorRegistry__27wxPropertyValidatorRegistry
+ ;wxConstructorForwxPropertyValue()
+ wxConstructorForwxPropertyValue__Fv
+ ;wxConstructorForwxProperty()
+ wxConstructorForwxProperty__Fv
+ ;wxConstructorForwxPropertyValidatorRegistry()
+ wxConstructorForwxPropertyValidatorRegistry__Fv
+ ;wxConstructorForwxPropertySheet()
+ wxConstructorForwxPropertySheet__Fv
+ ;wxProperty::~wxProperty()
+ __dt__10wxPropertyFv
+ ;wxPropertyValue::wxPropertyValue(float)
+ __ct__15wxPropertyValueFf
+ ;wxPropertyValue::wxPropertyValue(float*)
+ __ct__15wxPropertyValueFPf
+ ;wxPropertyValue::NewCopy() const
+ NewCopy__15wxPropertyValueCFv
+ ;wxPropertyValue::IntegerValue() const
+ IntegerValue__15wxPropertyValueCFv
+ ;wxProperty::GetName() const
+ GetName__10wxPropertyCFv
+ ;wxPropertyValue::BoolValue() const
+ BoolValue__15wxPropertyValueCFv
+ ;wxProperty::SetName(wxString&)
+ SetName__10wxPropertyFR8wxString
+ ;wxPropertySheet::GetProperty(const wxString&) const
+ GetProperty__15wxPropertySheetCFRC8wxString
+ ;wxPropertyValue::wxPropertyValue(wxStringList*)
+ __ct__15wxPropertyValueFP12wxStringList
+ __vft15wxPropertyValue8wxObject
+ ;wxPropertyValue::operator=(const unsigned long*)
+ __as__15wxPropertyValueFPCUl
+ ;wxPropertyValidator::StringToDouble(char*,double*)
+ StringToDouble__19wxPropertyValidatorFPcPd
+ ;wxPropertyValue::Append(wxPropertyValue*)
+ Append__15wxPropertyValueFP15wxPropertyValue
+ ;wxProperty::sm_classwxProperty
+ sm_classwxProperty__10wxProperty
+ ;wxPropertyValue::Delete(wxPropertyValue*)
+ Delete__15wxPropertyValueFP15wxPropertyValue
+ ;wxPropertyValue::Copy(wxPropertyValue&)
+ Copy__15wxPropertyValueFR15wxPropertyValue
+ ;wxPropertyValue::Arg(wxPropertyValueType,int) const
+ Arg__15wxPropertyValueCF19wxPropertyValueTypei
+ ;wxPropertySheet::AddProperty(wxProperty*)
+ AddProperty__15wxPropertySheetFP10wxProperty
+ ;wxPropertyValue::wxPropertyValue()
+ __ct__15wxPropertyValueFv
+ ;wxPropertyValidatorRegistry::~wxPropertyValidatorRegistry()
+ __dt__27wxPropertyValidatorRegistryFv
+ ;wxPropertyValidator::~wxPropertyValidator()
+ __dt__19wxPropertyValidatorFv
+ ;wxPropertyView::~wxPropertyView()
+ __dt__14wxPropertyViewFv
+ ;wxProperty::wxProperty()
+ __ct__10wxPropertyFv
+ ;wxProperty::wxProperty(wxString,wxString,wxPropertyValidator*)
+ __ct__10wxPropertyF8wxStringT1P19wxPropertyValidator
+ ;wxPropertyValue::operator=(const float)
+ __as__15wxPropertyValueFCf
+ ;wxPropertyValue::RealValuePtr() const
+ RealValuePtr__15wxPropertyValueCFv
+ ;wxPropertyValue::GetStringRepresentation()
+ GetStringRepresentation__15wxPropertyValueFv
+ ;wxPropertyValue::BoolValuePtr() const
+ BoolValuePtr__15wxPropertyValueCFv
+ ;wxPropertyValue::wxPropertyValue(const char*)
+ __ct__15wxPropertyValueFPCc
+ ;wxPropertyValue::wxPropertyValue(const wxString&)
+ __ct__15wxPropertyValueFRC8wxString
+ ;wxPropertyValue::operator=(const wxString&)
+ __as__15wxPropertyValueFRC8wxString
+ ;wxPropertySheet::HasProperty(const wxString&) const
+ HasProperty__15wxPropertySheetCFRC8wxString
+ ;wxPropertyValidatorRegistry::GetValidator(const wxString&)
+ GetValidator__27wxPropertyValidatorRegistryFRC8wxString
+ ;wxPropertyValue::wxPropertyValue(long)
+ __ct__15wxPropertyValueFl
+ __vft19wxPropertyValidator8wxObject
+ __vft14wxPropertyView8wxObject
+ ;wxPropertyValue::wxPropertyValue(long*)
+ __ct__15wxPropertyValueFPl
+ ;wxPropertyValue::wxPropertyValue(const wxPropertyValue&)
+ __ct__15wxPropertyValueFRC15wxPropertyValue
+ ;wxProperty::wxProperty(wxProperty&)
+ __ct__10wxPropertyFR10wxProperty
+ ;wxPropertyValue::operator=(const wxPropertyValue&)
+ __as__15wxPropertyValueFRC15wxPropertyValue
+ ;wxPropertySheet::SetProperty(const wxString&,const wxPropertyValue&)
+ SetProperty__15wxPropertySheetFRC8wxStringRC15wxPropertyValue
+ ;wxPropertyValue::Nth(int) const
+ Nth__15wxPropertyValueCFi
+ ;wxPropertyView::AddRegistry(wxPropertyValidatorRegistry*)
+ AddRegistry__14wxPropertyViewFP27wxPropertyValidatorRegistry
+ ;wxPropertyValue::~wxPropertyValue()
+ __dt__15wxPropertyValueFv
+ ;wxPropertySheet::~wxPropertySheet()
+ __dt__15wxPropertySheetFv
+ ;wxPropertyValidatorRegistry::wxPropertyValidatorRegistry()
+ __ct__27wxPropertyValidatorRegistryFv
+ ;wxProperty::wxProperty(wxString,const wxPropertyValue&,wxString,wxPropertyValidator*)
+ __ct__10wxPropertyF8wxStringRC15wxPropertyValueT1P19wxPropertyValidator
+ ;wxPropertyValue::StringValuePtr() const
+ StringValuePtr__15wxPropertyValueCFv
+ ;wxPropertyValidator::StringToFloat(char*,float*)
+ StringToFloat__19wxPropertyValidatorFPcPf
+ ;wxPropertyValidatorRegistry::RegisterValidator(const wxString&,wxPropertyValidator*)
+ RegisterValidator__27wxPropertyValidatorRegistryFRC8wxStringP19wxPropertyValidator
+ ;wxPropertyValue::IntegerValuePtr() const
+ IntegerValuePtr__15wxPropertyValueCFv
+ ;wxProperty::GetValidator() const
+ GetValidator__10wxPropertyCFv
+ ;wxPropertyValidatorRegistry::ClearRegistry()
+ ClearRegistry__27wxPropertyValidatorRegistryFv
+ ;wxPropertyValue::ClearList()
+ ClearList__15wxPropertyValueFv
+ ;wxPropertyValue::wxPropertyValue(char**)
+ __ct__15wxPropertyValueFPPc
+ ;wxPropertySheet::wxPropertySheet(const wxString&)
+ __ct__15wxPropertySheetFRC8wxString
+ ;wxPropertyValue::WritePropertyType(wxString&)
+ WritePropertyType__15wxPropertyValueFR8wxString
+ ;wxPropertySheet::RemoveProperty(const wxString&)
+ RemoveProperty__15wxPropertySheetFRC8wxString
+ ;wxPropertyValue::wxPropertyValue(unsigned long*)
+ __ct__15wxPropertyValueFPUl
+ __vft27wxPropertyValidatorRegistry8wxObject
+ __vft15wxPropertySheet8wxObject
+ __vft10wxProperty8wxObject
+ ;wxPropertyValidator::wxPropertyValidator(long)
+ __ct__19wxPropertyValidatorFl
+ ;wxPropertyView::wxPropertyView(long)
+ __ct__14wxPropertyViewFl
+ ;wxPropertyValue::operator=(const long)
+ __as__15wxPropertyValueFCl
+ ;wxPropertySheet::SetAllModified(unsigned long)
+ SetAllModified__15wxPropertySheetFUl
+ ;wxPropertyValidator::LongToString(long)
+ LongToString__19wxPropertyValidatorFl
+ ;wxProperty::SetValue(const wxPropertyValue&)
+ SetValue__10wxPropertyFRC15wxPropertyValue
+ ;wxPropertyValidator::IntToString(int)
+ IntToString__19wxPropertyValidatorFi
+ ;wxPropertyView::FindPropertyValidator(wxProperty*)
+ FindPropertyValidator__14wxPropertyViewFP10wxProperty
+ ;wxPropertyValue::operator=(const float*)
+ __as__15wxPropertyValueFPCf
+ ;wxProperty::GetValue() const
+ GetValue__10wxPropertyCFv
+ ;wxPropertyValue::WritePropertyClause(wxString&)
+ WritePropertyClause__15wxPropertyValueFR8wxString
+ ;wxPropertyView::sm_classwxPropertyView
+ sm_classwxPropertyView__14wxPropertyView
+ ;wxProperty::SetRole(wxString&)
+ SetRole__10wxPropertyFR8wxString
+ ;wxPropertyValue::wxPropertyValue(wxList*)
+ __ct__15wxPropertyValueFP6wxList
+ ;wxPropertySheet::sm_classwxPropertySheet
+ sm_classwxPropertySheet__15wxPropertySheet
+ ;wxPropertyValue::operator=(const unsigned long)
+ __as__15wxPropertyValueFCUl
+ ;wxPropertyValidator::StringToLong(char*,long*)
+ StringToLong__19wxPropertyValidatorFPcPl
+ ;wxPropertyValue::Insert(wxPropertyValue*)
+ Insert__15wxPropertyValueFP15wxPropertyValue
+ ;wxProperty::operator=(const wxPropertyValue&)
+ __as__10wxPropertyFRC15wxPropertyValue
+ ;wxPropertyValue::Number() const
+ Number__15wxPropertyValueCFv
+ ;wxConstructorForwxPropertyView()
+ wxConstructorForwxPropertyView__Fv
+ ;wxPropertyValidator::sm_classwxPropertyValidator
+ sm_classwxPropertyValidator__19wxPropertyValidator
+ ;wxPropertyValue::StringValue() const
+ StringValue__15wxPropertyValueCFv
+ ;wxProperty::SetValidator(wxPropertyValidator*)
+ SetValidator__10wxPropertyFP19wxPropertyValidator
+ ;wxPropertyValue::RealValue() const
+ RealValue__15wxPropertyValueCFv
+ ;wxProperty::GetRole() const
+ GetRole__10wxPropertyCFv
+ ;wxPropertyValidator::FloatToString(float)
+ FloatToString__19wxPropertyValidatorFf
+ ;wxPropertySheet::Clear()
+ Clear__15wxPropertySheetFv
+ ;wxPropertyValue::operator=(const char**)
+ __as__15wxPropertyValueFPPCc
+ ;wxPropertySheet::UpdateAllViews(wxPropertyView*)
+ UpdateAllViews__15wxPropertySheetFP14wxPropertyView
+ ;From object file: ..\generic\propform.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPropertyFormView::OnUpdate(wxCommandEvent&)
+ OnUpdate__18wxPropertyFormViewFR14wxCommandEvent
+ __vft20wxPropertyFormDialog8wxObject
+ ;wxPropertyFormView::OnRevert(wxCommandEvent&)
+ OnRevert__18wxPropertyFormViewFR14wxCommandEvent
+ ;wxConstructorForwxPropertyFormView()
+ wxConstructorForwxPropertyFormView__Fv
+ ;wxPropertyFormValidator::sm_classwxPropertyFormValidator
+ sm_classwxPropertyFormValidator__23wxPropertyFormValidator
+ ;wxPropertyFormDialog::GetEventTable() const
+ GetEventTable__20wxPropertyFormDialogCFv
+ ;wxPropertyFormView::AssociateNames()
+ AssociateNames__18wxPropertyFormViewFv
+ ;wxPropertyFormFrame::OnCreatePanel(wxFrame*,wxPropertyFormView*)
+ OnCreatePanel__19wxPropertyFormFrameFP7wxFrameP18wxPropertyFormView
+ ;wxPropertyFormView::sm_eventTableEntries
+ sm_eventTableEntries__18wxPropertyFormView
+ ;wxPropertyFormView::sm_classwxPropertyFormView
+ sm_classwxPropertyFormView__18wxPropertyFormView
+ ;wxBoolFormValidator::OnDisplayValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnDisplayValue__19wxBoolFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxIntegerFormValidator::OnCheckValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnCheckValue__22wxIntegerFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxPropertyFormView::wxPropertyFormView(wxWindow*,long)
+ __ct__18wxPropertyFormViewFP8wxWindowl
+ ;wxPropertyFormPanel::sm_classwxPropertyFormPanel
+ sm_classwxPropertyFormPanel__19wxPropertyFormPanel
+ __vft19wxRealFormValidator8wxObject
+ __vft18wxPropertyFormView8wxObject
+ ;wxPropertyFormDialog::ProcessEvent(wxEvent&)
+ ProcessEvent__20wxPropertyFormDialogFR7wxEvent
+ ;wxPropertyFormPanel::ProcessEvent(wxEvent&)
+ ProcessEvent__19wxPropertyFormPanelFR7wxEvent
+ ;wxPropertyFormView::ProcessEvent(wxEvent&)
+ ProcessEvent__18wxPropertyFormViewFR7wxEvent
+ ;wxPropertyFormPanel::OnDefaultAction(wxControl*)
+ OnDefaultAction__19wxPropertyFormPanelFP9wxControl
+ ;wxPropertyFormDialog::OnCommand(wxWindow&,wxCommandEvent&)
+ OnCommand__20wxPropertyFormDialogFR8wxWindowR14wxCommandEvent
+ ;wxPropertyFormView::OnUpdateView()
+ OnUpdateView__18wxPropertyFormViewFv
+ ;wxConstructorForwxStringFormValidator()
+ wxConstructorForwxStringFormValidator__Fv
+ ;wxConstructorForwxPropertyFormDialog()
+ wxConstructorForwxPropertyFormDialog__Fv
+ ;wxPropertyFormView::OnClose()
+ OnClose__18wxPropertyFormViewFv
+ ;wxRealFormValidator::OnCheckValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnCheckValue__19wxRealFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxPropertyFormView::sm_eventTable
+ sm_eventTable__18wxPropertyFormView
+ ;wxPropertyFormDialog::sm_classwxPropertyFormDialog
+ sm_classwxPropertyFormDialog__20wxPropertyFormDialog
+ ;wxIntegerFormValidator::OnRetrieveValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnRetrieveValue__22wxIntegerFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxBoolFormValidator::OnRetrieveValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnRetrieveValue__19wxBoolFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxStringFormValidator::OnCheckValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnCheckValue__21wxStringFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxPropertyFormView::OnCancel(wxCommandEvent&)
+ OnCancel__18wxPropertyFormViewFR14wxCommandEvent
+ __vft19wxPropertyFormPanel8wxObject
+ ;wxPropertyFormDialog::OnDefaultAction(wxControl*)
+ OnDefaultAction__20wxPropertyFormDialogFP9wxControl
+ ;wxPropertyFormPanel::OnCommand(wxWindow&,wxCommandEvent&)
+ OnCommand__19wxPropertyFormPanelFR8wxWindowR14wxCommandEvent
+ ;wxPropertyFormFrame::sm_eventTable
+ sm_eventTable__19wxPropertyFormFrame
+ ;wxPropertyFormView::Check()
+ Check__18wxPropertyFormViewFv
+ ;wxConstructorForwxPropertyFormPanel()
+ wxConstructorForwxPropertyFormPanel__Fv
+ ;wxBoolFormValidator::sm_classwxBoolFormValidator
+ sm_classwxBoolFormValidator__19wxBoolFormValidator
+ ;wxPropertyFormView::TransferToPropertySheet()
+ TransferToPropertySheet__18wxPropertyFormViewFv
+ ;wxPropertyFormFrame::Initialize()
+ Initialize__19wxPropertyFormFrameFv
+ ;wxPropertyFormView::sm_dialogCancelled
+ sm_dialogCancelled__18wxPropertyFormView
+ ;wxPropertyFormView::OnOk(wxCommandEvent&)
+ OnOk__18wxPropertyFormViewFR14wxCommandEvent
+ __vft22wxIntegerFormValidator8wxObject
+ __vft21wxStringFormValidator8wxObject
+ __vft19wxPropertyFormFrame8wxObject
+ __vft19wxBoolFormValidator8wxObject
+ ;wxPropertyFormView::OnHelp(wxCommandEvent&)
+ OnHelp__18wxPropertyFormViewFR14wxCommandEvent
+ ;wxPropertyFormView::OnDoubleClick(wxControl*)
+ OnDoubleClick__18wxPropertyFormViewFP9wxControl
+ ;wxPropertyFormDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__20wxPropertyFormDialogFR12wxCloseEvent
+ ;wxPropertyFormFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__19wxPropertyFormFrameFR12wxCloseEvent
+ ;wxPropertyFormFrame::sm_eventTableEntries
+ sm_eventTableEntries__19wxPropertyFormFrame
+ ;wxPropertyFormView::~wxPropertyFormView()
+ __dt__18wxPropertyFormViewFv
+ ;wxConstructorForwxRealFormValidator()
+ wxConstructorForwxRealFormValidator__Fv
+ ;wxConstructorForwxIntegerFormValidator()
+ wxConstructorForwxIntegerFormValidator__Fv
+ ;wxConstructorForwxBoolFormValidator()
+ wxConstructorForwxBoolFormValidator__Fv
+ ;wxStringFormValidator::sm_classwxStringFormValidator
+ sm_classwxStringFormValidator__21wxStringFormValidator
+ ;wxRealFormValidator::sm_classwxRealFormValidator
+ sm_classwxRealFormValidator__19wxRealFormValidator
+ ;wxIntegerFormValidator::sm_classwxIntegerFormValidator
+ sm_classwxIntegerFormValidator__22wxIntegerFormValidator
+ ;wxPropertyFormFrame::GetEventTable() const
+ GetEventTable__19wxPropertyFormFrameCFv
+ ;wxStringFormValidator::OnRetrieveValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnRetrieveValue__21wxStringFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxPropertyFormDialog::sm_eventTable
+ sm_eventTable__20wxPropertyFormDialog
+ ;wxStringFormValidator::OnDisplayValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnDisplayValue__21wxStringFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxPropertyFormView::OnCommand(wxWindow&,wxCommandEvent&)
+ OnCommand__18wxPropertyFormViewFR8wxWindowR14wxCommandEvent
+ ;wxStringFormValidator::wxStringFormValidator(wxStringList*,long)
+ __ct__21wxStringFormValidatorFP12wxStringListl
+ ;wxPropertyFormFrame::sm_classwxPropertyFormFrame
+ sm_classwxPropertyFormFrame__19wxPropertyFormFrame
+ ;wxPropertyFormView::GetEventTable() const
+ GetEventTable__18wxPropertyFormViewCFv
+ ;wxConstructorForwxPropertyFormFrame()
+ wxConstructorForwxPropertyFormFrame__Fv
+ ;wxPropertyFormView::TransferToDialog()
+ TransferToDialog__18wxPropertyFormViewFv
+ ;wxPropertyFormView::ShowView(wxPropertySheet*,wxWindow*)
+ ShowView__18wxPropertyFormViewFP15wxPropertySheetP8wxWindow
+ ;wxPropertyFormDialog::sm_eventTableEntries
+ sm_eventTableEntries__20wxPropertyFormDialog
+ ;wxPropertyFormDialog::wxPropertyFormDialog(wxPropertyFormView*,wxWindow*,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__20wxPropertyFormDialogFP18wxPropertyFormViewP8wxWindowRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxRealFormValidator::OnRetrieveValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnRetrieveValue__19wxRealFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxIntegerFormValidator::OnDisplayValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnDisplayValue__22wxIntegerFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxRealFormValidator::OnDisplayValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnDisplayValue__19wxRealFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;wxBoolFormValidator::OnCheckValue(wxProperty*,wxPropertyFormView*,wxWindow*)
+ OnCheckValue__19wxBoolFormValidatorFP10wxPropertyP18wxPropertyFormViewP8wxWindow
+ ;From object file: ..\generic\proplist.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPropertyListView::ShowView(wxPropertySheet*,wxPanel*)
+ ShowView__18wxPropertyListViewFP15wxPropertySheetP7wxPanel
+ ;wxPropertyListPanel::sm_eventTableEntries
+ sm_eventTableEntries__19wxPropertyListPanel
+ ;wxPropertyListPanel::sm_classwxPropertyListPanel
+ sm_classwxPropertyListPanel__19wxPropertyListPanel
+ __vft23wxFilenameListValidator8wxObject
+ __vft21wxStringListValidator8wxObject
+ ;wxColourListValidator::wxColourListValidator(long)
+ __ct__21wxColourListValidatorFl
+ ;wxPropertyListView::ShowTextControl(unsigned long)
+ ShowTextControl__18wxPropertyListViewFUl
+ ;wxPropertyListView::ShowListBoxControl(unsigned long)
+ ShowListBoxControl__18wxPropertyListViewFUl
+ ;wxPropertyListView::OnPropertySelect(wxCommandEvent&)
+ OnPropertySelect__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyListView::OnPropertyDoubleClick(wxCommandEvent&)
+ OnPropertyDoubleClick__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyListView::OnEdit(wxCommandEvent&)
+ OnEdit__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyListPanel::OnDefaultAction(wxControl*)
+ OnDefaultAction__19wxPropertyListPanelFP9wxControl
+ ;wxPropertyStringListEditorDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__32wxPropertyStringListEditorDialogFR12wxCloseEvent
+ ;wxPropertyListView::EnableCheck(unsigned long)
+ EnableCheck__18wxPropertyListViewFUl
+ ;wxPropertyListView::OnUpdateView()
+ OnUpdateView__18wxPropertyListViewFv
+ ;wxConstructorForwxFilenameListValidator()
+ wxConstructorForwxFilenameListValidator__Fv
+ ;wxFilenameListValidator::sm_classwxFilenameListValidator
+ sm_classwxFilenameListValidator__23wxFilenameListValidator
+ ;wxBoolListValidator::sm_classwxBoolListValidator
+ sm_classwxBoolListValidator__19wxBoolListValidator
+ ;wxPropertyStringListEditorDialog::SaveCurrentSelection()
+ SaveCurrentSelection__32wxPropertyStringListEditorDialogFv
+ ;wxPropertyStringListEditorDialog::GetEventTable() const
+ GetEventTable__32wxPropertyStringListEditorDialogCFv
+ ;wxPropertyListPanel::GetEventTable() const
+ GetEventTable__19wxPropertyListPanelCFv
+ ;wxPropertyListFrame::GetEventTable() const
+ GetEventTable__19wxPropertyListFrameCFv
+ ;wxPropertyListFrame::OnCreatePanel(wxFrame*,wxPropertyListView*)
+ OnCreatePanel__19wxPropertyListFrameFP7wxFrameP18wxPropertyListView
+ ;wxPropertyListDialog::sm_eventTableEntries
+ sm_eventTableEntries__20wxPropertyListDialog
+ ;wxPropertyListView::sm_dialogCancelled
+ sm_dialogCancelled__18wxPropertyListView
+ ;wxPropertyListView::sm_classwxPropertyListView
+ sm_classwxPropertyListView__18wxPropertyListView
+ ;wxListOfStringsListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__28wxListOfStringsListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__23wxPropertyListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxFilenameListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__23wxFilenameListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxIntegerListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__22wxIntegerListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxBoolListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxListOfStringsListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__28wxListOfStringsListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxListOfStringsListValidator::OnDoubleClick(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDoubleClick__28wxListOfStringsListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxListOfStringsListValidator::OnDisplayValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDisplayValue__28wxListOfStringsListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxFilenameListValidator::OnDisplayValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDisplayValue__23wxFilenameListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListValidator::OnClearControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnClearControls__23wxPropertyListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxStringListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxRealListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__19wxRealListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxBoolListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListView::EnableCross(unsigned long)
+ EnableCross__18wxPropertyListViewFUl
+ __vft23wxPropertyListValidator8wxObject
+ __vft19wxPropertyListPanel8wxObject
+ __vft19wxPropertyListFrame8wxObject
+ __vft19wxBoolListValidator8wxObject
+ __vft18wxPropertyListView8wxObject
+ ;wxListOfStringsListValidator::wxListOfStringsListValidator(long)
+ __ct__28wxListOfStringsListValidatorFl
+ ;wxPropertyListDialog::ProcessEvent(wxEvent&)
+ ProcessEvent__20wxPropertyListDialogFR7wxEvent
+ ;wxPropertyStringListEditorDialog::OnDelete(wxCommandEvent&)
+ OnDelete__32wxPropertyStringListEditorDialogFR14wxCommandEvent
+ ;wxPropertyListDialog::OnDefaultAction(wxControl*)
+ OnDefaultAction__20wxPropertyListDialogFP9wxControl
+ ;wxPropertyListView::OnCross(wxCommandEvent&)
+ OnCross__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyListView::MakeNameValueString(wxString,wxString)
+ MakeNameValueString__18wxPropertyListViewF8wxStringT1
+ ;wxPropertyListFrame::sm_classwxPropertyListFrame
+ sm_classwxPropertyListFrame__19wxPropertyListFrame
+ ;wxPropertyListView::EditProperty(wxProperty*)
+ EditProperty__18wxPropertyListViewFP10wxProperty
+ ;wxConstructorForwxPropertyTextEdit()
+ wxConstructorForwxPropertyTextEdit__Fv
+ ;wxConstructorForwxPropertyListView()
+ wxConstructorForwxPropertyListView__Fv
+ ;wxConstructorForwxPropertyListDialog()
+ wxConstructorForwxPropertyListDialog__Fv
+ ;wxConstructorForwxIntegerListValidator()
+ wxConstructorForwxIntegerListValidator__Fv
+ ;wxRealListValidator::sm_classwxRealListValidator
+ sm_classwxRealListValidator__19wxRealListValidator
+ ;wxIntegerListValidator::sm_classwxIntegerListValidator
+ sm_classwxIntegerListValidator__22wxIntegerListValidator
+ ;wxPropertyStringListEditorDialog::ShowCurrentSelection()
+ ShowCurrentSelection__32wxPropertyStringListEditorDialogFv
+ ;wxPropertyTextEdit::OnSetFocus()
+ OnSetFocus__18wxPropertyTextEditFv
+ ;wxPropertyListView::OnClose()
+ OnClose__18wxPropertyListViewFv
+ ;wxPropertyListValidator::OnSelect(unsigned long,wxProperty*,wxPropertyListView*,wxWindow*)
+ OnSelect__23wxPropertyListValidatorFUlP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyStringListEditorDialog::sm_eventTableEntries
+ sm_eventTableEntries__32wxPropertyStringListEditorDialog
+ ;wxFilenameListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__23wxFilenameListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxRealListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__19wxRealListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxFilenameListValidator::OnDoubleClick(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDoubleClick__23wxFilenameListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListValidator::OnDisplayValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDisplayValue__23wxPropertyListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxStringListValidator::OnDisplayValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDisplayValue__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxFilenameListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__23wxFilenameListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyTextEdit::wxPropertyTextEdit(wxPropertyListView*,wxWindow*,const int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__18wxPropertyTextEditFP18wxPropertyListViewP8wxWindowCiRC8wxStringRC7wxPointRC6wxSizelT4
+ ;wxPropertyTextEdit::sm_classwxPropertyTextEdit
+ sm_classwxPropertyTextEdit__18wxPropertyTextEdit
+ __vft32wxPropertyStringListEditorDialog8wxObject
+ __vft28wxListOfStringsListValidator8wxObject
+ __vft20wxPropertyListDialog8wxObject
+ __vft19wxRealListValidator8wxObject
+ ;wxFilenameListValidator::wxFilenameListValidator(wxString,wxString,long)
+ __ct__23wxFilenameListValidatorF8wxStringT1l
+ ;wxStringListValidator::wxStringListValidator(wxStringList*,long)
+ __ct__21wxStringListValidatorFP12wxStringListl
+ ;wxPropertyListView::wxPropertyListView(wxPanel*,long)
+ __ct__18wxPropertyListViewFP7wxPanell
+ ;wxPropertyListView::ShowProperty(wxProperty*,unsigned long)
+ ShowProperty__18wxPropertyListViewFP10wxPropertyUl
+ ;wxPropertyListDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__20wxPropertyListDialogFR12wxCloseEvent
+ ;wxPropertyListDialog::OnCancel(wxCommandEvent&)
+ OnCancel__20wxPropertyListDialogFR14wxCommandEvent
+ ;wxPropertyListView::OnCancel(wxCommandEvent&)
+ OnCancel__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyStringListEditorDialog::OnAdd(wxCommandEvent&)
+ OnAdd__32wxPropertyStringListEditorDialogFR14wxCommandEvent
+ ;wxPropertyListView::UpdatePropertyDisplayInList(wxProperty*)
+ UpdatePropertyDisplayInList__18wxPropertyListViewFP10wxProperty
+ ;wxPropertyListView::EndDetailedEditing()
+ EndDetailedEditing__18wxPropertyListViewFv
+ ;wxConstructorForwxBoolListValidator()
+ wxConstructorForwxBoolListValidator__Fv
+ ;wxListOfStringsListValidator::sm_classwxListOfStringsListValidator
+ sm_classwxListOfStringsListValidator__28wxListOfStringsListValidator
+ ;wxColourListValidator::sm_classwxColourListValidator
+ sm_classwxColourListValidator__21wxColourListValidator
+ ;wxPropertyListView::CreateControls()
+ CreateControls__18wxPropertyListViewFv
+ ;wxPropertyListDialog::wxPropertyListDialog(wxPropertyListView*,wxWindow*,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__20wxPropertyListDialogFP18wxPropertyListViewP8wxWindowRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxPropertyListDialog::sm_eventTable
+ sm_eventTable__20wxPropertyListDialog
+ ;wxPropertyStringListEditorDialog::sm_dialogCancelled
+ sm_dialogCancelled__32wxPropertyStringListEditorDialog
+ ;wxStringListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxColourListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__21wxColourListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxStringListValidator::OnPrepareDetailControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareDetailControls__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxColourListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__21wxColourListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxBoolListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListValidator::OnEdit(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnEdit__23wxPropertyListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxStringListValidator::OnDoubleClick(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDoubleClick__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxStringListValidator::OnClearDetailControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnClearDetailControls__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxBoolListValidator::OnClearDetailControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnClearDetailControls__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxListOfStringsListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__28wxListOfStringsListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxIntegerListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__22wxIntegerListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListView::UpdatePropertyList(unsigned long)
+ UpdatePropertyList__18wxPropertyListViewFUl
+ ;wxPropertyListPanel::sm_eventTable
+ sm_eventTable__19wxPropertyListPanel
+ __vft21wxColourListValidator8wxObject
+ ;wxPropertyStringListEditorDialog::OnText(wxCommandEvent&)
+ OnText__32wxPropertyStringListEditorDialogFR14wxCommandEvent
+ ;wxPropertyListPanel::OnSize(wxSizeEvent&)
+ OnSize__19wxPropertyListPanelFR11wxSizeEvent
+ ;wxPropertyStringListEditorDialog::OnOK(wxCommandEvent&)
+ OnOK__32wxPropertyStringListEditorDialogFR14wxCommandEvent
+ ;wxPropertyListFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__19wxPropertyListFrameFR12wxCloseEvent
+ ;wxPropertyListView::FindListIndexForProperty(wxProperty*)
+ FindListIndexForProperty__18wxPropertyListViewFP10wxProperty
+ ;wxPropertyListView::RetrieveProperty(wxProperty*)
+ RetrieveProperty__18wxPropertyListViewFP10wxProperty
+ ;wxPropertyListView::EndShowingProperty(wxProperty*)
+ EndShowingProperty__18wxPropertyListViewFP10wxProperty
+ ;wxPropertyListView::DisplayProperty(wxProperty*)
+ DisplayProperty__18wxPropertyListViewFP10wxProperty
+ ;wxPropertyListView::BeginShowingProperty(wxProperty*)
+ BeginShowingProperty__18wxPropertyListViewFP10wxProperty
+ ;wxPropertyTextEdit::OnKillFocus()
+ OnKillFocus__18wxPropertyTextEditFv
+ ;wxConstructorForwxStringListValidator()
+ wxConstructorForwxStringListValidator__Fv
+ ;wxConstructorForwxPropertyListFrame()
+ wxConstructorForwxPropertyListFrame__Fv
+ ;wxConstructorForwxListOfStringsListValidator()
+ wxConstructorForwxListOfStringsListValidator__Fv
+ ;wxFilenameListValidator::~wxFilenameListValidator()
+ __dt__23wxFilenameListValidatorFv
+ ;wxColourListValidator::~wxColourListValidator()
+ __dt__21wxColourListValidatorFv
+ ;wxPropertyListFrame::Initialize()
+ Initialize__19wxPropertyListFrameFv
+ ;wxPropertyListDialog::GetEventTable() const
+ GetEventTable__20wxPropertyListDialogCFv
+ ;wxPropertyListView::BeginDetailedEditing()
+ BeginDetailedEditing__18wxPropertyListViewFv
+ ;wxPropertyListValidator::OnValueListSelect(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnValueListSelect__23wxPropertyListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListView::sm_eventTable
+ sm_eventTable__18wxPropertyListView
+ ;wxPropertyListDialog::sm_classwxPropertyListDialog
+ sm_classwxPropertyListDialog__20wxPropertyListDialog
+ ;wxRealListValidator::OnRetrieveValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnRetrieveValue__19wxRealListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxIntegerListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__22wxIntegerListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxStringListValidator::OnPrepareControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareControls__21wxStringListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxListOfStringsListValidator::OnEdit(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnEdit__28wxListOfStringsListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxColourListValidator::OnEdit(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnEdit__21wxColourListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxColourListValidator::OnDoubleClick(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDoubleClick__21wxColourListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxBoolListValidator::OnDoubleClick(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDoubleClick__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxColourListValidator::OnDisplayValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDisplayValue__21wxColourListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyListView::OnCheck(wxCommandEvent&)
+ OnCheck__18wxPropertyListViewFR14wxCommandEvent
+ __vft22wxIntegerListValidator8wxObject
+ ;wxPropertyListPanel::ProcessEvent(wxEvent&)
+ ProcessEvent__19wxPropertyListPanelFR7wxEvent
+ ;wxPropertyListView::OnValueListSelect(wxCommandEvent&)
+ OnValueListSelect__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyListView::OnText(wxCommandEvent&)
+ OnText__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyStringListEditorDialog::OnStrings(wxCommandEvent&)
+ OnStrings__32wxPropertyStringListEditorDialogFR14wxCommandEvent
+ ;wxPropertyListView::OnOk(wxCommandEvent&)
+ OnOk__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyListView::OnHelp(wxCommandEvent&)
+ OnHelp__18wxPropertyListViewFR14wxCommandEvent
+ ;wxPropertyStringListEditorDialog::OnCancel(wxCommandEvent&)
+ OnCancel__32wxPropertyStringListEditorDialogFR14wxCommandEvent
+ ;wxPropertyListFrame::sm_eventTableEntries
+ sm_eventTableEntries__19wxPropertyListFrame
+ ;wxPropertyListFrame::sm_eventTable
+ sm_eventTable__19wxPropertyListFrame
+ ;wxPropertyListView::GetEventTable() const
+ GetEventTable__18wxPropertyListViewCFv
+ ;wxConstructorForwxRealListValidator()
+ wxConstructorForwxRealListValidator__Fv
+ ;wxConstructorForwxPropertyListPanel()
+ wxConstructorForwxPropertyListPanel__Fv
+ ;wxConstructorForwxColourListValidator()
+ wxConstructorForwxColourListValidator__Fv
+ ;wxStringListValidator::sm_classwxStringListValidator
+ sm_classwxStringListValidator__21wxStringListValidator
+ ;wxPropertyListValidator::sm_classwxPropertyListValidator
+ sm_classwxPropertyListValidator__23wxPropertyListValidator
+ ;wxPropertyListPanel::~wxPropertyListPanel()
+ __dt__19wxPropertyListPanelFv
+ ;wxPropertyListView::~wxPropertyListView()
+ __dt__18wxPropertyListViewFv
+ ;wxBoolListValidator::OnDisplayValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnDisplayValue__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxPropertyStringListEditorDialog::sm_eventTable
+ sm_eventTable__32wxPropertyStringListEditorDialog
+ ;wxPropertyListView::sm_eventTableEntries
+ sm_eventTableEntries__18wxPropertyListView
+ ;wxBoolListValidator::OnPrepareDetailControls(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnPrepareDetailControls__19wxBoolListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxFilenameListValidator::OnEdit(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnEdit__23wxFilenameListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxColourListValidator::OnCheckValue(wxProperty*,wxPropertyListView*,wxWindow*)
+ OnCheckValue__21wxColourListValidatorFP10wxPropertyP18wxPropertyListViewP8wxWindow
+ ;wxListOfStringsListValidator::EditStringList(wxWindow*,wxStringList*,const char*)
+ EditStringList__28wxListOfStringsListValidatorFP8wxWindowP12wxStringListPCc
+ ;From object file: ..\generic\sashwin.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSashWindow::OnSize(wxSizeEvent&)
+ OnSize__12wxSashWindowFR11wxSizeEvent
+ ;wxSashWindow::SetSashVisible(wxSashEdgePosition,unsigned long)
+ SetSashVisible__12wxSashWindowF18wxSashEdgePositionUl
+ ;wxSashWindow::DrawSashTracker(wxSashEdgePosition,int,int)
+ DrawSashTracker__12wxSashWindowF18wxSashEdgePositioniT2
+ ;wxSashWindow::sm_eventTable
+ sm_eventTable__12wxSashWindow
+ ;wxSashWindow::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__12wxSashWindowFR12wxMouseEvent
+ ;wxSashEvent::sm_classwxSashEvent
+ sm_classwxSashEvent__11wxSashEvent
+ __vft12wxSashWindow8wxObject
+ ;wxSashWindow::SizeWindows()
+ SizeWindows__12wxSashWindowFv
+ ;wxSashWindow::OnPaint(wxPaintEvent&)
+ OnPaint__12wxSashWindowFR12wxPaintEvent
+ ;wxSashWindow::SashHitTest(int,int,int)
+ SashHitTest__12wxSashWindowFiN21
+ ;wxSashWindow::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__12wxSashWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxSashWindow::DrawSash(wxSashEdgePosition,wxDC&)
+ DrawSash__12wxSashWindowF18wxSashEdgePositionR4wxDC
+ ;wxSashWindow::DrawBorders(wxDC&)
+ DrawBorders__12wxSashWindowFR4wxDC
+ ;wxSashWindow::Init()
+ Init__12wxSashWindowFv
+ ;wxConstructorForwxSashWindow()
+ wxConstructorForwxSashWindow__Fv
+ ;wxConstructorForwxSashEvent()
+ wxConstructorForwxSashEvent__Fv
+ ;wxSashWindow::~wxSashWindow()
+ __dt__12wxSashWindowFv
+ ;wxSashWindow::InitColours()
+ InitColours__12wxSashWindowFv
+ ;wxSashWindow::GetEventTable() const
+ GetEventTable__12wxSashWindowCFv
+ ;wxSashWindow::DrawSashes(wxDC&)
+ DrawSashes__12wxSashWindowFR4wxDC
+ ;wxSashWindow::sm_classwxSashWindow
+ sm_classwxSashWindow__12wxSashWindow
+ ;wxSashWindow::sm_eventTableEntries
+ sm_eventTableEntries__12wxSashWindow
+ ;From object file: ..\generic\scrolwin.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxScrolledWindow::GetScrollPageSize(int) const
+ GetScrollPageSize__16wxScrolledWindowCFi
+ ;wxScrolledWindow::Scroll(int,int)
+ Scroll__16wxScrolledWindowFiT1
+ ;wxScrolledWindow::GetEventTable() const
+ GetEventTable__16wxScrolledWindowCFv
+ ;wxScrolledWindow::SetTargetWindow(wxWindow*)
+ SetTargetWindow__16wxScrolledWindowFP8wxWindow
+ ;wxScrolledWindow::sm_eventTable
+ sm_eventTable__16wxScrolledWindow
+ ;wxScrolledWindow::OnScroll(wxScrollWinEvent&)
+ OnScroll__16wxScrolledWindowFR16wxScrollWinEvent
+ ;wxScrolledWindow::SetScrollPageSize(int,int)
+ SetScrollPageSize__16wxScrolledWindowFiT1
+ ;wxScrolledWindow::AdjustScrollbars()
+ AdjustScrollbars__16wxScrolledWindowFv
+ ;wxScrolledWindow::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__16wxScrolledWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxScrolledWindow::PrepareDC(wxDC&)
+ PrepareDC__16wxScrolledWindowFR4wxDC
+ ;wxScrolledWindow::CalcUnscrolledPosition(int,int,int*,int*) const
+ CalcUnscrolledPosition__16wxScrolledWindowCFiT1PiT3
+ ;wxScrolledWindow::OnPaint(wxPaintEvent&)
+ OnPaint__16wxScrolledWindowFR12wxPaintEvent
+ ;wxScrolledWindow::OnChar(wxKeyEvent&)
+ OnChar__16wxScrolledWindowFR10wxKeyEvent
+ ;wxConstructorForwxScrolledWindow()
+ wxConstructorForwxScrolledWindow__Fv
+ ;wxScrolledWindow::wxScrolledWindow()
+ __ct__16wxScrolledWindowFv
+ ;wxScrolledWindow::CalcScrollInc(wxScrollWinEvent&)
+ CalcScrollInc__16wxScrolledWindowFR16wxScrollWinEvent
+ __vft16wxScrolledWindow8wxObject
+ ;wxScrolledWindow::OnSize(wxSizeEvent&)
+ OnSize__16wxScrolledWindowFR11wxSizeEvent
+ ;wxScrolledWindow::GetScrollPixelsPerUnit(int*,int*) const
+ GetScrollPixelsPerUnit__16wxScrolledWindowCFPiT1
+ ;wxScrolledWindow::GetVirtualSize(int*,int*) const
+ GetVirtualSize__16wxScrolledWindowCFPiT1
+ ;wxScrolledWindow::EnableScrolling(unsigned long,unsigned long)
+ EnableScrolling__16wxScrolledWindowFUlT1
+ ;wxScrolledWindow::~wxScrolledWindow()
+ __dt__16wxScrolledWindowFv
+ ;wxScrolledWindow::GetTargetWindow()
+ GetTargetWindow__16wxScrolledWindowFv
+ ;wxScrolledWindow::sm_classwxScrolledWindow
+ sm_classwxScrolledWindow__16wxScrolledWindow
+ ;wxScrolledWindow::SetScrollbars(int,int,int,int,int,int,unsigned long)
+ SetScrollbars__16wxScrolledWindowFiN51Ul
+ ;wxScrolledWindow::GetViewStart(int*,int*) const
+ GetViewStart__16wxScrolledWindowCFPiT1
+ ;wxScrolledWindow::CalcScrolledPosition(int,int,int*,int*) const
+ CalcScrolledPosition__16wxScrolledWindowCFiT1PiT3
+ ;wxScrolledWindow::sm_eventTableEntries
+ sm_eventTableEntries__16wxScrolledWindow
+ ;From object file: ..\generic\splitter.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSplitterWindow::OnSize(wxSizeEvent&)
+ OnSize__16wxSplitterWindowFR11wxSizeEvent
+ ;wxSplitterWindow::OnUnsplitEvent(wxSplitterEvent&)
+ OnUnsplitEvent__16wxSplitterWindowFR15wxSplitterEvent
+ ;wxSplitterWindow::ReplaceWindow(wxWindow*,wxWindow*)
+ ReplaceWindow__16wxSplitterWindowFP8wxWindowT1
+ ;wxSplitterWindow::InitColours()
+ InitColours__16wxSplitterWindowFv
+ ;wxSplitterWindow::OnSetCursor(wxSetCursorEvent&)
+ OnSetCursor__16wxSplitterWindowFR16wxSetCursorEvent
+ __vft16wxSplitterWindow8wxObject
+ ;wxSplitterWindow::DrawSashTracker(int,int)
+ DrawSashTracker__16wxSplitterWindowFiT1
+ ;wxConstructorForwxSplitterWindow()
+ wxConstructorForwxSplitterWindow__Fv
+ ;wxSplitterWindow::~wxSplitterWindow()
+ __dt__16wxSplitterWindowFv
+ ;wxSplitterWindow::OnSashPosChanged(wxSplitterEvent&)
+ OnSashPosChanged__16wxSplitterWindowFR15wxSplitterEvent
+ ;wxSplitterEvent::sm_classwxSplitterEvent
+ sm_classwxSplitterEvent__15wxSplitterEvent
+ ;wxSplitterWindow::SplitHorizontally(wxWindow*,wxWindow*,int)
+ SplitHorizontally__16wxSplitterWindowFP8wxWindowT1i
+ ;wxSplitterWindow::SizeWindows()
+ SizeWindows__16wxSplitterWindowFv
+ ;wxSplitterWindow::SendUnsplitEvent(wxWindow*)
+ SendUnsplitEvent__16wxSplitterWindowFP8wxWindow
+ ;wxSplitterWindow::sm_eventTableEntries
+ sm_eventTableEntries__16wxSplitterWindow
+ ;wxSplitterWindow::OnPaint(wxPaintEvent&)
+ OnPaint__16wxSplitterWindowFR12wxPaintEvent
+ ;wxSplitterWindow::OnIdle(wxIdleEvent&)
+ OnIdle__16wxSplitterWindowFR11wxIdleEvent
+ ;wxSplitterWindow::OnDoubleClick(wxSplitterEvent&)
+ OnDoubleClick__16wxSplitterWindowFR15wxSplitterEvent
+ ;wxSplitterWindow::Init()
+ Init__16wxSplitterWindowFv
+ ;wxSplitterWindow::GetEventTable() const
+ GetEventTable__16wxSplitterWindowCFv
+ ;wxSplitterWindow::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__16wxSplitterWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxSplitterWindow::sm_eventTable
+ sm_eventTable__16wxSplitterWindow
+ ;wxSplitterWindow::sm_classwxSplitterWindow
+ sm_classwxSplitterWindow__16wxSplitterWindow
+ ;wxSplitterWindow::Initialize(wxWindow*)
+ Initialize__16wxSplitterWindowFP8wxWindow
+ ;wxSplitterWindow::DrawBorders(wxDC&)
+ DrawBorders__16wxSplitterWindowFR4wxDC
+ ;wxSplitterWindow::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__16wxSplitterWindowFR12wxMouseEvent
+ ;wxSplitterWindow::SetSashPosition(int,unsigned long)
+ SetSashPosition__16wxSplitterWindowFiUl
+ ;wxSplitterWindow::SashHitTest(int,int,int)
+ SashHitTest__16wxSplitterWindowFiN21
+ ;wxSplitterWindow::SplitVertically(wxWindow*,wxWindow*,int)
+ SplitVertically__16wxSplitterWindowFP8wxWindowT1i
+ ;wxConstructorForwxSplitterEvent()
+ wxConstructorForwxSplitterEvent__Fv
+ ;wxSplitterWindow::DrawSash(wxDC&)
+ DrawSash__16wxSplitterWindowFR4wxDC
+ ;wxSplitterWindow::Unsplit(wxWindow*)
+ Unsplit__16wxSplitterWindowFP8wxWindow
+ ;From object file: ..\generic\statusbr.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxStatusBarGeneric::SetMinHeight(int)
+ SetMinHeight__18wxStatusBarGenericFi
+ ;wxStatusBarGeneric::sm_eventTableEntries
+ sm_eventTableEntries__18wxStatusBarGeneric
+ ;wxStatusBarGeneric::OnPaint(wxPaintEvent&)
+ OnPaint__18wxStatusBarGenericFR12wxPaintEvent
+ ;wxStatusBarGeneric::SetStatusText(const wxString&,int)
+ SetStatusText__18wxStatusBarGenericFRC8wxStringi
+ ;wxStatusBarGeneric::GetEventTable() const
+ GetEventTable__18wxStatusBarGenericCFv
+ ;wxStatusBar::sm_classwxStatusBar
+ sm_classwxStatusBar__11wxStatusBar
+ ;wxStatusBarGeneric::sm_eventTable
+ sm_eventTable__18wxStatusBarGeneric
+ ;wxStatusBarGeneric::SetFieldsCount(int,const int*)
+ SetFieldsCount__18wxStatusBarGenericFiPCi
+ ;wxStatusBarGeneric::DrawFieldText(wxDC&,int)
+ DrawFieldText__18wxStatusBarGenericFR4wxDCi
+ ;wxStatusBarGeneric::wxStatusBarGeneric()
+ __ct__18wxStatusBarGenericFv
+ ;wxStatusBarGeneric::~wxStatusBarGeneric()
+ __dt__18wxStatusBarGenericFv
+ ;wxStatusBarGeneric::InitColours()
+ InitColours__18wxStatusBarGenericFv
+ ;wxStatusBarGeneric::GetStatusText(int) const
+ GetStatusText__18wxStatusBarGenericCFi
+ ;wxConstructorForwxStatusBarGeneric()
+ wxConstructorForwxStatusBarGeneric__Fv
+ ;wxConstructorForwxStatusBar()
+ wxConstructorForwxStatusBar__Fv
+ ;wxStatusBarGeneric::Create(wxWindow*,int,long,const wxString&)
+ Create__18wxStatusBarGenericFP8wxWindowilRC8wxString
+ ;wxStatusBarGeneric::sm_classwxStatusBarGeneric
+ sm_classwxStatusBarGeneric__18wxStatusBarGeneric
+ ;wxStatusBarGeneric::GetFieldRect(int,wxRect&) const
+ GetFieldRect__18wxStatusBarGenericCFiR6wxRect
+ __vft18wxStatusBarGeneric8wxObject
+ ;wxStatusBarGeneric::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__18wxStatusBarGenericFR23wxSysColourChangedEvent
+ ;wxStatusBarGeneric::SetStatusWidths(int,const int*)
+ SetStatusWidths__18wxStatusBarGenericFiPCi
+ ;wxStatusBarGeneric::DrawField(wxDC&,int)
+ DrawField__18wxStatusBarGenericFR4wxDCi
+ ;From object file: ..\generic\tabg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTabControl::OnDraw(wxDC&,unsigned long)
+ OnDraw__12wxTabControlFR4wxDCUl
+ __vft9wxTabView8wxObject
+ __vft14wxTabbedDialog8wxObject
+ ;wxTabView::OnEvent(wxMouseEvent&)
+ OnEvent__9wxTabViewFR12wxMouseEvent
+ ;wxTabView::CalculateTabWidth(int,unsigned long)
+ CalculateTabWidth__9wxTabViewFiUl
+ ;wxTabView::AddTab(int,const wxString&,wxTabControl*)
+ AddTab__9wxTabViewFiRC8wxStringP12wxTabControl
+ ;wxTabView::RemoveTab(int)
+ RemoveTab__9wxTabViewFi
+ ;wxTabView::GetTabText(int) const
+ GetTabText__9wxTabViewCFi
+ ;wxConstructorForwxTabControl()
+ wxConstructorForwxTabControl__Fv
+ ;wxTabView::~wxTabView()
+ __dt__9wxTabViewFv
+ ;wxTabView::GetTotalTabHeight()
+ GetTotalTabHeight__9wxTabViewFv
+ ;wxTabbedDialog::wxTabbedDialog(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__14wxTabbedDialogFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxPanelTabView::sm_classwxPanelTabView
+ sm_classwxPanelTabView__14wxPanelTabView
+ ;wxTabbedDialog::OnPaint(wxPaintEvent&)
+ OnPaint__14wxTabbedDialogFR12wxPaintEvent
+ __vft13wxTabbedPanel8wxObject
+ ;wxTabView::FindTabControlForPosition(int,int) const
+ FindTabControlForPosition__9wxTabViewCFiT1
+ ;wxTabView::OnTabActivate(int,int)
+ OnTabActivate__9wxTabViewFiT1
+ ;wxConstructorForwxTabView()
+ wxConstructorForwxTabView__Fv
+ ;wxTabbedDialog::~wxTabbedDialog()
+ __dt__14wxTabbedDialogFv
+ ;wxTabbedPanel::GetEventTable() const
+ GetEventTable__13wxTabbedPanelCFv
+ ;wxTabView::sm_classwxTabView
+ sm_classwxTabView__9wxTabView
+ ;wxTabView::wxTabView(long)
+ __ct__9wxTabViewFl
+ __vft14wxPanelTabView8wxObject
+ ;wxTabbedDialog::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__14wxTabbedDialogFR12wxMouseEvent
+ ;wxTabControl::HitTest(int,int) const
+ HitTest__12wxTabControlCFiT1
+ ;wxTabView::FindTabControlForId(int) const
+ FindTabControlForId__9wxTabViewCFi
+ ;wxTabControl::~wxTabControl()
+ __dt__12wxTabControlFv
+ ;wxPanelTabView::~wxPanelTabView()
+ __dt__14wxPanelTabViewFv
+ ;wxTabView::SetHighlightColour(const wxColour&)
+ SetHighlightColour__9wxTabViewFRC8wxColour
+ ;wxTabbedDialog::GetEventTable() const
+ GetEventTable__14wxTabbedDialogCFv
+ ;wxTabControl::wxTabControl(wxTabView*)
+ __ct__12wxTabControlFP9wxTabView
+ ;wxTabbedDialog::sm_eventTable
+ sm_eventTable__14wxTabbedDialog
+ ;wxTabView::SetTabText(int,const wxString&)
+ SetTabText__9wxTabViewFiRC8wxString
+ ;wxTabView::ClearTabs(unsigned long)
+ ClearTabs__9wxTabViewFUl
+ ;wxTabbedPanel::sm_eventTableEntries
+ sm_eventTableEntries__13wxTabbedPanel
+ ;wxTabControl::sm_classwxTabControl
+ sm_classwxTabControl__12wxTabControl
+ ;wxPanelTabView::wxPanelTabView(wxPanel*,long)
+ __ct__14wxPanelTabViewFP7wxPanell
+ ;wxTabbedPanel::OnPaint(wxPaintEvent&)
+ OnPaint__13wxTabbedPanelFR12wxPaintEvent
+ ;wxTabView::MoveSelectionTab(wxTabControl*)
+ MoveSelectionTab__9wxTabViewFP12wxTabControl
+ ;wxPanelTabView::ClearWindows(unsigned long)
+ ClearWindows__14wxPanelTabViewFUl
+ ;wxTabView::ChangeTab(wxTabControl*)
+ ChangeTab__9wxTabViewFP12wxTabControl
+ ;wxPanelTabView::OnTabActivate(int,int)
+ OnTabActivate__14wxPanelTabViewFiT1
+ ;wxPanelTabView::ShowWindowForTab(int)
+ ShowWindowForTab__14wxPanelTabViewFi
+ ;wxPanelTabView::GetTabWindow(int) const
+ GetTabWindow__14wxPanelTabViewCFi
+ ;wxConstructorForwxTabLayer()
+ wxConstructorForwxTabLayer__Fv
+ ;wxTabView::SetShadowColour(const wxColour&)
+ SetShadowColour__9wxTabViewFRC8wxColour
+ ;wxTabView::Draw(wxDC&)
+ Draw__9wxTabViewFR4wxDC
+ ;wxTabbedDialog::sm_eventTableEntries
+ sm_eventTableEntries__14wxTabbedDialog
+ ;wxTabbedDialog::sm_classwxTabbedDialog
+ sm_classwxTabbedDialog__14wxTabbedDialog
+ ;wxPanelTabView::AddTabWindow(int,wxWindow*)
+ AddTabWindow__14wxPanelTabViewFiP8wxWindow
+ ;wxTabView::SetTabSelection(int,unsigned long)
+ SetTabSelection__9wxTabViewFiUl
+ ;wxTabbedPanel::sm_eventTable
+ sm_eventTable__13wxTabbedPanel
+ ;wxTabbedPanel::sm_classwxTabbedPanel
+ sm_classwxTabbedPanel__13wxTabbedPanel
+ __vft12wxTabControl8wxObject
+ ;wxTabbedPanel::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__13wxTabbedPanelFR12wxMouseEvent
+ ;wxTabbedDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__14wxTabbedDialogFR12wxCloseEvent
+ ;wxTabView::FindTabNodeAndColumn(wxTabControl*,int*) const
+ FindTabNodeAndColumn__9wxTabViewCFP12wxTabControlPi
+ ;wxTabView::LayoutTabs()
+ LayoutTabs__9wxTabViewFv
+ ;wxTabLayer::sm_classwxTabLayer
+ sm_classwxTabLayer__10wxTabLayer
+ ;wxTabbedPanel::~wxTabbedPanel()
+ __dt__13wxTabbedPanelFv
+ ;wxTabView::SetBackgroundColour(const wxColour&)
+ SetBackgroundColour__9wxTabViewFRC8wxColour
+ ;wxTabbedPanel::wxTabbedPanel(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__13wxTabbedPanelFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;From object file: ..\generic\tbarsmpl.cpp
+ ;From object file: ..\generic\textdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTextEntryDialog::OnOK(wxCommandEvent&)
+ OnOK__17wxTextEntryDialogFR14wxCommandEvent
+ ;wxTextEntryDialog::sm_classwxTextEntryDialog
+ sm_classwxTextEntryDialog__17wxTextEntryDialog
+ ;wxTextEntryDialog::GetEventTable() const
+ GetEventTable__17wxTextEntryDialogCFv
+ ;wxTextEntryDialog::sm_eventTableEntries
+ sm_eventTableEntries__17wxTextEntryDialog
+ ;wxTextEntryDialog::wxTextEntryDialog(wxWindow*,const wxString&,const wxString&,const wxString&,long,const wxPoint&)
+ __ct__17wxTextEntryDialogFP8wxWindowRC8wxStringN22lRC7wxPoint
+ __vft17wxTextEntryDialog8wxObject
+ ;wxTextEntryDialog::sm_eventTable
+ sm_eventTable__17wxTextEntryDialog
+ ;From object file: ..\generic\tipdlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCreateFileTipProvider(const wxString&,unsigned int)
+ wxCreateFileTipProvider__FRC8wxStringUi
+ ;wxFileTipProvider::GetTip()
+ GetTip__17wxFileTipProviderFv
+ __vft11wxTipDialog8wxObject
+ __vft17wxFileTipProvider13wxTipProvider
+ ;wxTipDialog::sm_eventTableEntries
+ sm_eventTableEntries__11wxTipDialog
+ ;wxShowTip(wxWindow*,wxTipProvider*,unsigned long)
+ wxShowTip__FP8wxWindowP13wxTipProviderUl
+ ;wxFileTipProvider::wxFileTipProvider(const wxString&,unsigned int)
+ __ct__17wxFileTipProviderFRC8wxStringUi
+ ;wxTipDialog::GetEventTable() const
+ GetEventTable__11wxTipDialogCFv
+ ;wxTipDialog::sm_eventTable
+ sm_eventTable__11wxTipDialog
+ ;wxTipDialog::wxTipDialog(wxWindow*,wxTipProvider*,unsigned long)
+ __ct__11wxTipDialogFP8wxWindowP13wxTipProviderUl
+ ;From object file: ..\generic\tipwin.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTipWindow::OnKillFocus(wxFocusEvent&)
+ OnKillFocus__11wxTipWindowFR12wxFocusEvent
+ __vft11wxTipWindow8wxObject
+ ;wxTipWindow::Adjust(const wxString&,int)
+ Adjust__11wxTipWindowFRC8wxStringi
+ ;wxTipWindow::OnMouseClick(wxMouseEvent&)
+ OnMouseClick__11wxTipWindowFR12wxMouseEvent
+ ;wxTipWindow::wxTipWindow(wxWindow*,const wxString&,int)
+ __ct__11wxTipWindowFP8wxWindowRC8wxStringi
+ ;wxTipWindow::GetEventTable() const
+ GetEventTable__11wxTipWindowCFv
+ ;wxTipWindow::sm_eventTable
+ sm_eventTable__11wxTipWindow
+ ;wxTipWindow::sm_eventTableEntries
+ sm_eventTableEntries__11wxTipWindow
+ ;wxTipWindow::OnPaint(wxPaintEvent&)
+ OnPaint__11wxTipWindowFR12wxPaintEvent
+ ;wxTipWindow::OnActivate(wxActivateEvent&)
+ OnActivate__11wxTipWindowFR15wxActivateEvent
+ ;From object file: ..\generic\treectlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTreeRenameTimer::wxTreeRenameTimer(wxGenericTreeCtrl*)
+ __ct__17wxTreeRenameTimerFP17wxGenericTreeCtrl
+ ;wxTreeTextCtrl::sm_eventTable
+ sm_eventTable__14wxTreeTextCtrl
+ ;wxGenericTreeCtrl::sm_classwxGenericTreeCtrl
+ sm_classwxGenericTreeCtrl__17wxGenericTreeCtrl
+ ;wxGenericTreeCtrl::TagNextChildren(wxGenericTreeItem*,wxGenericTreeItem*,unsigned long)
+ TagNextChildren__17wxGenericTreeCtrlFP17wxGenericTreeItemT1Ul
+ ;wxGenericTreeCtrl::SetItemHasChildren(const wxTreeItemId&,unsigned long)
+ SetItemHasChildren__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
+ ;wxGenericTreeCtrl::ScrollTo(const wxTreeItemId&)
+ ScrollTo__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::OnSetFocus(wxFocusEvent&)
+ OnSetFocus__17wxGenericTreeCtrlFR12wxFocusEvent
+ ;wxGenericTreeCtrl::IsVisible(const wxTreeItemId&) const
+ IsVisible__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetParent(const wxTreeItemId&) const
+ GetParent__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetBoundingRect(const wxTreeItemId&,wxRect&,unsigned long) const
+ GetBoundingRect__17wxGenericTreeCtrlCFRC12wxTreeItemIdR6wxRectUl
+ ;wxGenericTreeCtrl::DrawLine(const wxTreeItemId&,unsigned long)
+ DrawLine__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
+ ;wxGenericTreeCtrl::AssignImageList(wxImageList*)
+ AssignImageList__17wxGenericTreeCtrlFP11wxImageList
+ ;wxGenericTreeCtrl::GetLineHeight(wxGenericTreeItem*) const
+ GetLineHeight__17wxGenericTreeCtrlCFP17wxGenericTreeItem
+ ;wxGenericTreeCtrl::RefreshSubtree(wxGenericTreeItem*)
+ RefreshSubtree__17wxGenericTreeCtrlFP17wxGenericTreeItem
+ ;wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*,wxDC&,int,int&)
+ PaintLevel__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDCiRi
+ ;wxGenericTreeCtrl::OnRenameTimer()
+ OnRenameTimer__17wxGenericTreeCtrlFv
+ ;wxConstructorForwxGenericTreeCtrl()
+ wxConstructorForwxGenericTreeCtrl__Fv
+ ;wxGenericTreeCtrl::GetFirstVisibleItem() const
+ GetFirstVisibleItem__17wxGenericTreeCtrlCFv
+ ;wxGenericTreeCtrl::AdjustMyScrollbars()
+ AdjustMyScrollbars__17wxGenericTreeCtrlFv
+ ;wxGenericTreeItem::SetText(const wxString&)
+ SetText__17wxGenericTreeItemFRC8wxString
+ ;wxGenericTreeCtrl::GetSelections(wxArrayTreeItemIds&) const
+ GetSelections__17wxGenericTreeCtrlCFR18wxArrayTreeItemIds
+ ;wxGenericTreeCtrl::Edit(const wxTreeItemId&)
+ Edit__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxTreeTextCtrl::sm_eventTableEntries
+ sm_eventTableEntries__14wxTreeTextCtrl
+ ;wxTreeTextCtrl::sm_classwxTreeTextCtrl
+ sm_classwxTreeTextCtrl__14wxTreeTextCtrl
+ __vft17wxGenericTreeCtrl8wxObject
+ ;wxGenericTreeCtrl::SetItemBold(const wxTreeItemId&,unsigned long)
+ SetItemBold__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
+ ;wxGenericTreeCtrl::OnKillFocus(wxFocusEvent&)
+ OnKillFocus__17wxGenericTreeCtrlFR12wxFocusEvent
+ ;wxGenericTreeCtrl::IsExpanded(const wxTreeItemId&) const
+ IsExpanded__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeItem::GetSize(int&,int&,const wxGenericTreeCtrl*)
+ GetSize__17wxGenericTreeItemFRiT1PC17wxGenericTreeCtrl
+ ;wxGenericTreeCtrl::GetNext(const wxTreeItemId&) const
+ GetNext__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetNextSibling(const wxTreeItemId&) const
+ GetNextSibling__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::DeleteChildren(const wxTreeItemId&)
+ DeleteChildren__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::Collapse(const wxTreeItemId&)
+ Collapse__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeItem::wxGenericTreeItem(wxGenericTreeItem*,const wxString&,wxDC&,int,int,wxTreeItemData*)
+ __ct__17wxGenericTreeItemFP17wxGenericTreeItemRC8wxStringR4wxDCiT4P14wxTreeItemData
+ ;wxGenericTreeCtrl::SetSpacing(unsigned int)
+ SetSpacing__17wxGenericTreeCtrlFUi
+ ;wxGenericTreeCtrl::PrependItem(const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
+ PrependItem__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3P14wxTreeItemData
+ ;wxGenericTreeCtrl::DoInsertItem(const wxTreeItemId&,unsigned int,const wxString&,int,int,wxTreeItemData*)
+ DoInsertItem__17wxGenericTreeCtrlFRC12wxTreeItemIdUiRC8wxStringiT4P14wxTreeItemData
+ ;wxGenericTreeCtrl::AppendItem(const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
+ AppendItem__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxStringiT3P14wxTreeItemData
+ ;wxGenericTreeCtrl::~wxGenericTreeCtrl()
+ __dt__17wxGenericTreeCtrlFv
+ ;wxConstructorForwxTreeCtrl()
+ wxConstructorForwxTreeCtrl__Fv
+ ;wxGenericTreeCtrl::GetStateImageList() const
+ GetStateImageList__17wxGenericTreeCtrlCFv
+ ;wxGenericTreeCtrl::GetImageList() const
+ GetImageList__17wxGenericTreeCtrlCFv
+ ;wxGenericTreeCtrl::GetCount() const
+ GetCount__17wxGenericTreeCtrlCFv
+ ;wxGenericTreeCtrl::CalculateSize(wxGenericTreeItem*,wxDC&)
+ CalculateSize__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDC
+ ;wxTreeTextCtrl::OnChar(wxKeyEvent&)
+ OnChar__14wxTreeTextCtrlFR10wxKeyEvent
+ ;wxGenericTreeCtrl::sm_eventTableEntries
+ sm_eventTableEntries__17wxGenericTreeCtrl
+ ;wxGenericTreeCtrl::SetItemFont(const wxTreeItemId&,const wxFont&)
+ SetItemFont__17wxGenericTreeCtrlFRC12wxTreeItemIdRC6wxFont
+ ;wxGenericTreeCtrl::OnPaint(wxPaintEvent&)
+ OnPaint__17wxGenericTreeCtrlFR12wxPaintEvent
+ ;wxGenericTreeCtrl::OnIdle(wxIdleEvent&)
+ OnIdle__17wxGenericTreeCtrlFR11wxIdleEvent
+ ;wxGenericTreeCtrl::IsSelected(const wxTreeItemId&) const
+ IsSelected__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::IsBold(const wxTreeItemId&) const
+ IsBold__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetNextChild(const wxTreeItemId&,long&) const
+ GetNextChild__17wxGenericTreeCtrlCFRC12wxTreeItemIdRl
+ ;wxGenericTreeCtrl::GetItemText(const wxTreeItemId&) const
+ GetItemText__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetFirstChild(const wxTreeItemId&,long&) const
+ GetFirstChild__17wxGenericTreeCtrlCFRC12wxTreeItemIdRl
+ ;wxGenericTreeCtrl::GetChildrenCount(const wxTreeItemId&,unsigned long)
+ GetChildrenCount__17wxGenericTreeCtrlFRC12wxTreeItemIdUl
+ ;wxGenericTreeCtrl::ExpandAll(const wxTreeItemId&)
+ ExpandAll__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::DrawBorder(const wxTreeItemId&)
+ DrawBorder__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::Delete(const wxTreeItemId&)
+ Delete__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::HitTest(const wxPoint&,int&)
+ HitTest__17wxGenericTreeCtrlFRC7wxPointRi
+ ;wxGenericTreeItem::HitTest(const wxPoint&,const wxGenericTreeCtrl*,int&)
+ HitTest__17wxGenericTreeItemFRC7wxPointPC17wxGenericTreeCtrlRi
+ ;wxGenericTreeCtrl::GetItemImage(const wxTreeItemId&,wxTreeItemIcon) const
+ GetItemImage__17wxGenericTreeCtrlCFRC12wxTreeItemId14wxTreeItemIcon
+ ;wxConstructorForwxTreeTextCtrl()
+ wxConstructorForwxTreeTextCtrl__Fv
+ ;wxGenericTreeItem::~wxGenericTreeItem()
+ __dt__17wxGenericTreeItemFv
+ ;wxGenericTreeCtrl::Unselect()
+ Unselect__17wxGenericTreeCtrlFv
+ ;wxGenericTreeCtrl::OnRenameAccept()
+ OnRenameAccept__17wxGenericTreeCtrlFv
+ ;wxGenericTreeCtrl::GetEventTable() const
+ GetEventTable__17wxGenericTreeCtrlCFv
+ ;wxGenericTreeItem::GetCurrentImage() const
+ GetCurrentImage__17wxGenericTreeItemCFv
+ ;wxGenericTreeCtrl::DeleteAllItems()
+ DeleteAllItems__17wxGenericTreeCtrlFv
+ ;wxGenericTreeCtrl::CalculatePositions()
+ CalculatePositions__17wxGenericTreeCtrlFv
+ ;wxGenericTreeCtrl::SetItemText(const wxTreeItemId&,const wxString&)
+ SetItemText__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxString
+ ;wxGenericTreeCtrl::ItemHasChildren(const wxTreeItemId&) const
+ ItemHasChildren__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::sm_eventTable
+ sm_eventTable__17wxGenericTreeCtrl
+ __vft14wxTreeTextCtrl8wxObject
+ ;wxGenericTreeCtrl::Toggle(const wxTreeItemId&)
+ Toggle__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::SortChildren(const wxTreeItemId&)
+ SortChildren__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::SetStateImageList(wxImageList*)
+ SetStateImageList__17wxGenericTreeCtrlFP11wxImageList
+ ;wxGenericTreeCtrl::SetImageList(wxImageList*)
+ SetImageList__17wxGenericTreeCtrlFP11wxImageList
+ ;wxGenericTreeCtrl::OnMouse(wxMouseEvent&)
+ OnMouse__17wxGenericTreeCtrlFR12wxMouseEvent
+ ;wxTreeTextCtrl::OnKillFocus(wxFocusEvent&)
+ OnKillFocus__14wxTreeTextCtrlFR12wxFocusEvent
+ ;wxGenericTreeCtrl::OnChar(wxKeyEvent&)
+ OnChar__17wxGenericTreeCtrlFR10wxKeyEvent
+ ;wxGenericTreeCtrl::GetPrev(const wxTreeItemId&) const
+ GetPrev__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetPrevVisible(const wxTreeItemId&) const
+ GetPrevVisible__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetPrevSibling(const wxTreeItemId&) const
+ GetPrevSibling__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetLastChild(const wxTreeItemId&) const
+ GetLastChild__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::Expand(const wxTreeItemId&)
+ Expand__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeItem::DeleteChildren(wxGenericTreeCtrl*)
+ DeleteChildren__17wxGenericTreeItemFP17wxGenericTreeCtrl
+ ;wxGenericTreeCtrl::AssignStateImageList(wxImageList*)
+ AssignStateImageList__17wxGenericTreeCtrlFP11wxImageList
+ ;wxGenericTreeCtrl::SendDeleteEvent(wxGenericTreeItem*)
+ SendDeleteEvent__17wxGenericTreeCtrlFP17wxGenericTreeItem
+ ;wxGenericTreeCtrl::UnselectAllChildren(wxGenericTreeItem*)
+ UnselectAllChildren__17wxGenericTreeCtrlFP17wxGenericTreeItem
+ ;wxGenericTreeCtrl::SetItemData(const wxTreeItemId&,wxTreeItemData*)
+ SetItemData__17wxGenericTreeCtrlFRC12wxTreeItemIdP14wxTreeItemData
+ ;wxGenericTreeCtrl::SetIndent(unsigned int)
+ SetIndent__17wxGenericTreeCtrlFUi
+ ;wxGenericTreeItem::SetCross(int,int)
+ SetCross__17wxGenericTreeItemFiT1
+ ;wxGenericTreeCtrl::OnCompareItems(const wxTreeItemId&,const wxTreeItemId&)
+ OnCompareItems__17wxGenericTreeCtrlFRC12wxTreeItemIdT1
+ ;wxGenericTreeCtrl::InsertItem(const wxTreeItemId&,unsigned int,const wxString&,int,int,wxTreeItemData*)
+ InsertItem__17wxGenericTreeCtrlFRC12wxTreeItemIdUiRC8wxStringiT4P14wxTreeItemData
+ ;wxGenericTreeCtrl::InsertItem(const wxTreeItemId&,const wxTreeItemId&,const wxString&,int,int,wxTreeItemData*)
+ InsertItem__17wxGenericTreeCtrlFRC12wxTreeItemIdT1RC8wxStringiT4P14wxTreeItemData
+ ;wxGenericTreeCtrl::CalculateLevel(wxGenericTreeItem*,wxDC&,int,int&)
+ CalculateLevel__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDCiRi
+ ;wxGenericTreeCtrl::AddRoot(const wxString&,int,int,wxTreeItemData*)
+ AddRoot__17wxGenericTreeCtrlFRC8wxStringiT2P14wxTreeItemData
+ ;wxGenericTreeCtrl::Init()
+ Init__17wxGenericTreeCtrlFv
+ ;wxTreeTextCtrl::wxTreeTextCtrl(wxWindow*,const int,unsigned long*,wxString*,wxGenericTreeCtrl*,const wxString&,const wxPoint&,const wxSize&,int,const wxValidator&,const wxString&)
+ __ct__14wxTreeTextCtrlFP8wxWindowCiPUlP8wxStringP17wxGenericTreeCtrlRC8wxStringRC7wxPointRC6wxSizeiRC11wxValidatorT6
+ ;wxGenericTreeCtrl::SetItemImage(const wxTreeItemId&,int,wxTreeItemIcon)
+ SetItemImage__17wxGenericTreeCtrlFRC12wxTreeItemIdi14wxTreeItemIcon
+ ;wxGenericTreeCtrl::SelectItem(const wxTreeItemId&,unsigned long,unsigned long)
+ SelectItem__17wxGenericTreeCtrlFRC12wxTreeItemIdUlT2
+ ;wxGenericTreeCtrl::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__17wxGenericTreeCtrlFP8wxWindowiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxGenericTreeCtrl::PaintItem(wxGenericTreeItem*,wxDC&)
+ PaintItem__17wxGenericTreeCtrlFP17wxGenericTreeItemR4wxDC
+ ;wxGenericTreeItem::GetChildrenCount(unsigned long) const
+ GetChildrenCount__17wxGenericTreeItemCFUl
+ ;wxTreeCtrl::sm_classwxTreeCtrl
+ sm_classwxTreeCtrl__10wxTreeCtrl
+ __vft17wxTreeRenameTimer8wxObject
+ ;wxGenericTreeCtrl::TagAllChildrenUntilLast(wxGenericTreeItem*,wxGenericTreeItem*,unsigned long)
+ TagAllChildrenUntilLast__17wxGenericTreeCtrlFP17wxGenericTreeItemT1Ul
+ ;wxGenericTreeCtrl::GetNextVisible(const wxTreeItemId&) const
+ GetNextVisible__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::GetItemData(const wxTreeItemId&) const
+ GetItemData__17wxGenericTreeCtrlCFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::EnsureVisible(const wxTreeItemId&)
+ EnsureVisible__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::CollapseAndReset(const wxTreeItemId&)
+ CollapseAndReset__17wxGenericTreeCtrlFRC12wxTreeItemId
+ ;wxGenericTreeCtrl::RefreshLine(wxGenericTreeItem*)
+ RefreshLine__17wxGenericTreeCtrlFP17wxGenericTreeItem
+ ;wxGenericTreeCtrl::SelectItemRange(wxGenericTreeItem*,wxGenericTreeItem*)
+ SelectItemRange__17wxGenericTreeCtrlFP17wxGenericTreeItemT1
+ ;wxGenericTreeCtrl::DrawDropEffect(wxGenericTreeItem*)
+ DrawDropEffect__17wxGenericTreeCtrlFP17wxGenericTreeItem
+ ;wxTreeRenameTimer::Notify()
+ Notify__17wxTreeRenameTimerFv
+ ;wxGenericTreeCtrl::UnselectAll()
+ UnselectAll__17wxGenericTreeCtrlFv
+ ;wxGenericTreeCtrl::SetItemTextColour(const wxTreeItemId&,const wxColour&)
+ SetItemTextColour__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxColour
+ ;wxGenericTreeCtrl::SetItemBackgroundColour(const wxTreeItemId&,const wxColour&)
+ SetItemBackgroundColour__17wxGenericTreeCtrlFRC12wxTreeItemIdRC8wxColour
+ ;wxGenericTreeItem::Reset()
+ Reset__17wxGenericTreeItemFv
+ ;wxTreeTextCtrl::GetEventTable() const
+ GetEventTable__14wxTreeTextCtrlCFv
+ ;wxGenericTreeCtrl::FillArray(wxGenericTreeItem*,wxArrayTreeItemIds&) const
+ FillArray__17wxGenericTreeCtrlCFP17wxGenericTreeItemR18wxArrayTreeItemIds
+ ;From object file: ..\generic\treelay.cpp
+ ;From object file: ..\generic\wizard.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxWizard::wxWizard(wxWindow*,int,const wxString&,const wxBitmap&,const wxPoint&)
+ __ct__8wxWizardFP8wxWindowiRC8wxStringRC8wxBitmapRC7wxPoint
+ __vft8wxWizard8wxObject
+ ;wxWizard::OnCancel(wxCommandEvent&)
+ OnCancel__8wxWizardFR14wxCommandEvent
+ ;wxWizard::SetPageSize(const wxSize&)
+ SetPageSize__8wxWizardFRC6wxSize
+ ;wxWizard::RunWizard(wxWizardPage*)
+ RunWizard__8wxWizardFP12wxWizardPage
+ ;wxWizard::GetEventTable() const
+ GetEventTable__8wxWizardCFv
+ ;wxConstructorForwxWizardPageSimple()
+ wxConstructorForwxWizardPageSimple__Fv
+ ;wxWizard::GetPageSize() const
+ GetPageSize__8wxWizardCFv
+ ;wxWizard::OnBackOrNext(wxCommandEvent&)
+ OnBackOrNext__8wxWizardFR14wxCommandEvent
+ ;wxWizardPageSimple::sm_classwxWizardPageSimple
+ sm_classwxWizardPageSimple__18wxWizardPageSimple
+ ;wxWizardPageSimple::GetPrev() const
+ GetPrev__18wxWizardPageSimpleCFv
+ ;wxWizardEvent::sm_classwxWizardEvent
+ sm_classwxWizardEvent__13wxWizardEvent
+ ;wxConstructorForwxWizard()
+ wxConstructorForwxWizard__Fv
+ ;wxConstructorForwxWizardEvent()
+ wxConstructorForwxWizardEvent__Fv
+ ;wxWizardPageSimple::GetNext() const
+ GetNext__18wxWizardPageSimpleCFv
+ ;wxWizard::sm_classwxWizard
+ sm_classwxWizard__8wxWizard
+ ;wxWizard::sm_eventTable
+ sm_eventTable__8wxWizard
+ ;wxWizard::sm_eventTableEntries
+ sm_eventTableEntries__8wxWizard
+ ;wxWizard::DoCreateControls()
+ DoCreateControls__8wxWizardFv
+ ;wxWizard::GetCurrentPage() const
+ GetCurrentPage__8wxWizardCFv
+ ;wxWizardPage::wxWizardPage(wxWizard*,const wxBitmap&)
+ __ct__12wxWizardPageFP8wxWizardRC8wxBitmap
+ __vft18wxWizardPageSimple8wxObject
+ ;wxWizardEvent::wxWizardEvent(int,int,unsigned long)
+ __ct__13wxWizardEventFiT1Ul
+ ;wxWizard::ShowPage(wxWizardPage*,unsigned long)
+ ShowPage__8wxWizardFP12wxWizardPageUl
+ ;wxWizardBase::Create(wxWindow*,int,const wxString&,const wxBitmap&,const wxPoint&,const wxSize&)
+ Create__12wxWizardBaseFP8wxWindowiRC8wxStringRC8wxBitmapRC7wxPointRC6wxSize
+ ;wxWizardPage::sm_classwxWizardPage
+ sm_classwxWizardPage__12wxWizardPage
+ ;From object file: ..\html\helpctrl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlHelpController::GetFrameParameters(wxSize*,wxPoint*,unsigned long*)
+ GetFrameParameters__20wxHtmlHelpControllerFP6wxSizeP7wxPointPUl
+ ;wxHtmlHelpController::CreateHelpFrame(wxHtmlHelpData*)
+ CreateHelpFrame__20wxHtmlHelpControllerFP14wxHtmlHelpData
+ ;wxHtmlHelpController::DisplaySection(int)
+ DisplaySection__20wxHtmlHelpControllerFi
+ ;wxHtmlHelpController::DestroyHelpWindow()
+ DestroyHelpWindow__20wxHtmlHelpControllerFv
+ ;wxHtmlHelpController::AddBook(const wxString&,unsigned long)
+ AddBook__20wxHtmlHelpControllerFRC8wxStringUl
+ __vft20wxHtmlHelpController8wxObject
+ ;wxHtmlHelpController::CreateHelpWindow()
+ CreateHelpWindow__20wxHtmlHelpControllerFv
+ ;wxHtmlHelpController::Quit()
+ Quit__20wxHtmlHelpControllerFv
+ ;wxHtmlHelpController::ReadCustomization(wxConfigBase*,const wxString&)
+ ReadCustomization__20wxHtmlHelpControllerFP12wxConfigBaseRC8wxString
+ ;wxHtmlHelpController::sm_classwxHtmlHelpController
+ sm_classwxHtmlHelpController__20wxHtmlHelpController
+ ;wxHtmlHelpController::WriteCustomization(wxConfigBase*,const wxString&)
+ WriteCustomization__20wxHtmlHelpControllerFP12wxConfigBaseRC8wxString
+ ;wxHtmlHelpController::UseConfig(wxConfigBase*,const wxString&)
+ UseConfig__20wxHtmlHelpControllerFP12wxConfigBaseRC8wxString
+ ;wxHtmlHelpController::Initialize(const wxString&)
+ Initialize__20wxHtmlHelpControllerFRC8wxString
+ ;wxHtmlHelpController::SetFrameParameters(const wxString&,const wxSize&,const wxPoint&,unsigned long)
+ SetFrameParameters__20wxHtmlHelpControllerFRC8wxStringRC6wxSizeRC7wxPointUl
+ ;wxConstructorForwxHtmlHelpController()
+ wxConstructorForwxHtmlHelpController__Fv
+ ;wxHtmlHelpController::~wxHtmlHelpController()
+ __dt__20wxHtmlHelpControllerFv
+ ;wxHtmlHelpController::OnCloseFrame(wxCloseEvent&)
+ OnCloseFrame__20wxHtmlHelpControllerFR12wxCloseEvent
+ ;wxHtmlHelpController::wxHtmlHelpController(int)
+ __ct__20wxHtmlHelpControllerFi
+ ;wxHtmlHelpController::SetTitleFormat(const wxString&)
+ SetTitleFormat__20wxHtmlHelpControllerFRC8wxString
+ ;wxHtmlHelpController::LoadFile(const wxString&)
+ LoadFile__20wxHtmlHelpControllerFRC8wxString
+ ;From object file: ..\html\helpdata.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlHelpData::wxHtmlHelpData()
+ __ct__14wxHtmlHelpDataFv
+ ;wxSearchEngine::LookFor(const wxString&,unsigned long,unsigned long)
+ LookFor__14wxSearchEngineFRC8wxStringUlT2
+ ;HP_TagHandler::HandleTag(const wxHtmlTag&)
+ HandleTag__13HP_TagHandlerFRC9wxHtmlTag
+ ;wxHtmlBookRecArray::Index(const wxHtmlBookRecord&,unsigned long) const
+ Index__18wxHtmlBookRecArrayCFRC16wxHtmlBookRecordUl
+ __vft14wxHtmlHelpData8wxObject
+ __vft13HP_TagHandler8wxObject
+ ;wxHtmlBookRecArray::RemoveAt(unsigned int)
+ RemoveAt__18wxHtmlBookRecArrayFUi
+ ;wxHtmlHelpData::sm_classwxHtmlHelpData
+ sm_classwxHtmlHelpData__14wxHtmlHelpData
+ ;wxHtmlBookRecArray::wxHtmlBookRecArray(const wxHtmlBookRecArray&)
+ __ct__18wxHtmlBookRecArrayFRC18wxHtmlBookRecArray
+ ;wxHtmlBookRecArray::operator=(const wxHtmlBookRecArray&)
+ __as__18wxHtmlBookRecArrayFRC18wxHtmlBookRecArray
+ ;HP_TagHandler::WriteOut(wxHtmlContentsItem*&,int&)
+ WriteOut__13HP_TagHandlerFRP18wxHtmlContentsItemRi
+ ;wxHtmlBookRecArray::DoEmpty()
+ DoEmpty__18wxHtmlBookRecArrayFv
+ ;wxHtmlBookRecArray::Add(const wxHtmlBookRecord&)
+ Add__18wxHtmlBookRecArrayFRC16wxHtmlBookRecord
+ ;wxHtmlHelpData::SaveCachedBook(wxHtmlBookRecord*,wxOutputStream*)
+ SaveCachedBook__14wxHtmlHelpDataFP16wxHtmlBookRecordP14wxOutputStream
+ ;wxSearchEngine::Scan(wxInputStream*)
+ Scan__14wxSearchEngineFP13wxInputStream
+ ;wxHtmlHelpData::FindPageById(int)
+ FindPageById__14wxHtmlHelpDataFi
+ ;wxConstructorForwxHtmlHelpData()
+ wxConstructorForwxHtmlHelpData__Fv
+ ;wxHtmlSearchStatus::wxHtmlSearchStatus(wxHtmlHelpData*,const wxString&,unsigned long,unsigned long,const wxString&)
+ __ct__18wxHtmlSearchStatusFP14wxHtmlHelpDataRC8wxStringUlT3T2
+ ;wxHtmlHelpData::LoadMSProject(wxHtmlBookRecord*,wxFileSystem&,const wxString&,const wxString&)
+ LoadMSProject__14wxHtmlHelpDataFP16wxHtmlBookRecordR12wxFileSystemRC8wxStringT3
+ __vft14wxSearchEngine8wxObject
+ ;wxHtmlBookRecArray::DoCopy(const wxHtmlBookRecArray&)
+ DoCopy__18wxHtmlBookRecArrayFRC18wxHtmlBookRecArray
+ ;wxHtmlBookRecArray::Insert(const wxHtmlBookRecord&,unsigned int)
+ Insert__18wxHtmlBookRecArrayFRC16wxHtmlBookRecordUi
+ ;wxHtmlBookRecArray::~wxHtmlBookRecArray()
+ __dt__18wxHtmlBookRecArrayFv
+ ;wxHtmlHelpData::SetTempDir(const wxString&)
+ SetTempDir__14wxHtmlHelpDataFRC8wxString
+ ;wxHtmlHelpData::FindPageByName(const wxString&)
+ FindPageByName__14wxHtmlHelpDataFRC8wxString
+ ;wxHtmlHelpData::AddBook(const wxString&)
+ AddBook__14wxHtmlHelpDataFRC8wxString
+ ;wxHtmlHelpData::AddBookParam(const wxFSFile&,wxFontEncoding,const wxString&,const wxString&,const wxString&,const wxString&,const wxString&)
+ AddBookParam__14wxHtmlHelpDataFRC8wxFSFile14wxFontEncodingRC8wxStringN43
+ ;HP_TagHandler::ReadIn(wxHtmlContentsItem*,int)
+ ReadIn__13HP_TagHandlerFP18wxHtmlContentsItemi
+ ;wxHtmlHelpData::LoadCachedBook(wxHtmlBookRecord*,wxInputStream*)
+ LoadCachedBook__14wxHtmlHelpDataFP16wxHtmlBookRecordP13wxInputStream
+ ;wxHtmlHelpData::~wxHtmlHelpData()
+ __dt__14wxHtmlHelpDataFv
+ ;wxHtmlSearchStatus::Search()
+ Search__18wxHtmlSearchStatusFv
+ ;From object file: ..\html\helpfrm.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlHelpFrame::OnToolbar(wxCommandEvent&)
+ OnToolbar__15wxHtmlHelpFrameFR14wxCommandEvent
+ ;wxHtmlHelpFrame::OnSearchSel(wxCommandEvent&)
+ OnSearchSel__15wxHtmlHelpFrameFR14wxCommandEvent
+ ;wxHtmlHelpFrame::Display(const int)
+ Display__15wxHtmlHelpFrameFCi
+ ;wxHtmlHelpFrame::sm_eventTable
+ sm_eventTable__15wxHtmlHelpFrame
+ ;wxHtmlHelpFrame::OnContentsSel(wxTreeEvent&)
+ OnContentsSel__15wxHtmlHelpFrameFR11wxTreeEvent
+ ;wxHtmlHelpFrame::AddToolbarButtons(wxToolBar*,int)
+ AddToolbarButtons__15wxHtmlHelpFrameFP9wxToolBari
+ ;wxHtmlHelpFrame::sm_classwxHtmlHelpFrame
+ sm_classwxHtmlHelpFrame__15wxHtmlHelpFrame
+ ;wxHtmlHelpFrame::RefreshLists()
+ RefreshLists__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrame::CreateContents()
+ CreateContents__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrame::SetTitleFormat(const wxString&)
+ SetTitleFormat__15wxHtmlHelpFrameFRC8wxString
+ ;wxHtmlHelpFrame::OnIndexFind(wxCommandEvent&)
+ OnIndexFind__15wxHtmlHelpFrameFR14wxCommandEvent
+ ;wxHtmlHelpFrame::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__15wxHtmlHelpFrameFR12wxCloseEvent
+ ;wxHtmlHelpFrame::OnBookmarksSel(wxCommandEvent&)
+ OnBookmarksSel__15wxHtmlHelpFrameFR14wxCommandEvent
+ ;wxHtmlHelpFrame::sm_eventTableEntries
+ sm_eventTableEntries__15wxHtmlHelpFrame
+ ;wxHtmlHelpFrame::WriteCustomization(wxConfigBase*,const wxString&)
+ WriteCustomization__15wxHtmlHelpFrameFP12wxConfigBaseRC8wxString
+ ;wxHtmlHelpFrameOptionsDialog::sm_eventTable
+ sm_eventTable__28wxHtmlHelpFrameOptionsDialog
+ ;wxHtmlHelpFrame::OnIndexAll(wxCommandEvent&)
+ OnIndexAll__15wxHtmlHelpFrameFR14wxCommandEvent
+ __vft28wxHtmlHelpFrameOptionsDialog8wxObject
+ __vft15wxHtmlHelpFrame8wxObject
+ ;wxHtmlHelpFrame::wxHtmlHelpFrame(wxWindow*,int,const wxString&,int,wxHtmlHelpData*)
+ __ct__15wxHtmlHelpFrameFP8wxWindowiRC8wxStringT2P14wxHtmlHelpData
+ ;wxHtmlHelpFrame::DisplayContents()
+ DisplayContents__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrame::OptionsDialog()
+ OptionsDialog__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrame::Create(wxWindow*,int,const wxString&,int)
+ Create__15wxHtmlHelpFrameFP8wxWindowiRC8wxStringT2
+ ;wxHtmlHelpFrame::CreateIndex()
+ CreateIndex__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrameOptionsDialog::sm_eventTableEntries
+ sm_eventTableEntries__28wxHtmlHelpFrameOptionsDialog
+ ;wxHtmlHelpFrame::OnIndexSel(wxCommandEvent&)
+ OnIndexSel__15wxHtmlHelpFrameFR14wxCommandEvent
+ ;wxHtmlHelpFrame::OnSearch(wxCommandEvent&)
+ OnSearch__15wxHtmlHelpFrameFR14wxCommandEvent
+ ;wxHtmlHelpFrame::Init(wxHtmlHelpData*)
+ Init__15wxHtmlHelpFrameFP14wxHtmlHelpData
+ ;wxHtmlHelpFrame::DisplayIndex()
+ DisplayIndex__15wxHtmlHelpFrameFv
+ ;wxConstructorForwxHtmlHelpFrame()
+ wxConstructorForwxHtmlHelpFrame__Fv
+ ;wxHtmlHelpFrame::~wxHtmlHelpFrame()
+ __dt__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrame::NotifyPageChanged()
+ NotifyPageChanged__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrameOptionsDialog::GetEventTable() const
+ GetEventTable__28wxHtmlHelpFrameOptionsDialogCFv
+ ;wxHtmlHelpFrame::GetEventTable() const
+ GetEventTable__15wxHtmlHelpFrameCFv
+ ;wxHtmlHelpFrame::CreateSearch()
+ CreateSearch__15wxHtmlHelpFrameFv
+ ;wxHtmlHelpFrame::ReadCustomization(wxConfigBase*,const wxString&)
+ ReadCustomization__15wxHtmlHelpFrameFP12wxConfigBaseRC8wxString
+ ;wxHtmlHelpFrame::KeywordSearch(const wxString&)
+ KeywordSearch__15wxHtmlHelpFrameFRC8wxString
+ ;wxHtmlHelpFrame::Display(const wxString&)
+ Display__15wxHtmlHelpFrameFRC8wxString
+ ;From object file: ..\html\htmlcell.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlCell::OnMouseClick(wxWindow*,int,int,const wxMouseEvent&)
+ OnMouseClick__10wxHtmlCellFP8wxWindowiT2RC12wxMouseEvent
+ __vft16wxHtmlWidgetCell8wxObject
+ __vft14wxHtmlWordCell8wxObject
+ __vft14wxHtmlFontCell8wxObject
+ ;wxHtmlContainerCell::OnMouseClick(wxWindow*,int,int,const wxMouseEvent&)
+ OnMouseClick__19wxHtmlContainerCellFP8wxWindowiT2RC12wxMouseEvent
+ ;wxHtmlCell::~wxHtmlCell()
+ __dt__10wxHtmlCellFv
+ ;wxHtmlContainerCell::Find(int,const void*) const
+ Find__19wxHtmlContainerCellCFiPCv
+ ;wxHtmlColourCell::Draw(wxDC&,int,int,int,int)
+ Draw__16wxHtmlColourCellFR4wxDCiN32
+ ;wxHtmlCell::SetLink(const wxHtmlLinkInfo&)
+ SetLink__10wxHtmlCellFRC14wxHtmlLinkInfo
+ __vft10wxHtmlCell8wxObject
+ ;wxHtmlCell::AdjustPagebreak(int*) const
+ AdjustPagebreak__10wxHtmlCellCFPi
+ ;wxHtmlContainerCell::Layout(int)
+ Layout__19wxHtmlContainerCellFi
+ ;wxHtmlContainerCell::~wxHtmlContainerCell()
+ __dt__19wxHtmlContainerCellFv
+ ;wxHtmlContainerCell::DrawInvisible(wxDC&,int,int)
+ DrawInvisible__19wxHtmlContainerCellFR4wxDCiT2
+ ;wxHtmlFontCell::DrawInvisible(wxDC&,int,int)
+ DrawInvisible__14wxHtmlFontCellFR4wxDCiT2
+ ;wxHtmlWordCell::wxHtmlWordCell(const wxString&,wxDC&)
+ __ct__14wxHtmlWordCellFRC8wxStringR4wxDC
+ ;wxHtmlContainerCell::wxHtmlContainerCell(wxHtmlContainerCell*)
+ __ct__19wxHtmlContainerCellFP19wxHtmlContainerCell
+ ;wxHtmlContainerCell::SetWidthFloat(const wxHtmlTag&,double)
+ SetWidthFloat__19wxHtmlContainerCellFRC9wxHtmlTagd
+ ;wxHtmlCell::Layout(int)
+ Layout__10wxHtmlCellFi
+ ;wxHtmlContainerCell::SetIndent(int,int,int)
+ SetIndent__19wxHtmlContainerCellFiN21
+ ;wxHtmlContainerCell::GetLink(int,int) const
+ GetLink__19wxHtmlContainerCellCFiT1
+ ;wxHtmlContainerCell::GetIndent(int) const
+ GetIndent__19wxHtmlContainerCellCFi
+ ;wxHtmlWordCell::Draw(wxDC&,int,int,int,int)
+ Draw__14wxHtmlWordCellFR4wxDCiN32
+ ;wxHtmlContainerCell::Draw(wxDC&,int,int,int,int)
+ Draw__19wxHtmlContainerCellFR4wxDCiN32
+ ;wxHtmlWidgetCell::Draw(wxDC&,int,int,int,int)
+ Draw__16wxHtmlWidgetCellFR4wxDCiN32
+ ;wxHtmlContainerCell::InsertCell(wxHtmlCell*)
+ InsertCell__19wxHtmlContainerCellFP10wxHtmlCell
+ __vft19wxHtmlContainerCell8wxObject
+ __vft16wxHtmlColourCell8wxObject
+ ;wxHtmlContainerCell::AdjustPagebreak(int*) const
+ AdjustPagebreak__19wxHtmlContainerCellCFPi
+ ;wxHtmlColourCell::DrawInvisible(wxDC&,int,int)
+ DrawInvisible__16wxHtmlColourCellFR4wxDCiT2
+ ;wxHtmlContainerCell::SetAlign(const wxHtmlTag&)
+ SetAlign__19wxHtmlContainerCellFRC9wxHtmlTag
+ ;wxHtmlContainerCell::GetIndentUnits(int) const
+ GetIndentUnits__19wxHtmlContainerCellCFi
+ ;wxHtmlWidgetCell::wxHtmlWidgetCell(wxWindow*,int)
+ __ct__16wxHtmlWidgetCellFP8wxWindowi
+ ;wxHtmlWidgetCell::Layout(int)
+ Layout__16wxHtmlWidgetCellFi
+ ;wxHtmlCell::wxHtmlCell()
+ __ct__10wxHtmlCellFv
+ ;wxHtmlCell::Find(int,const void*) const
+ Find__10wxHtmlCellCFiPCv
+ ;wxHtmlFontCell::Draw(wxDC&,int,int,int,int)
+ Draw__14wxHtmlFontCellFR4wxDCiN32
+ ;wxHtmlCell::Draw(wxDC&,int,int,int,int)
+ Draw__10wxHtmlCellFR4wxDCiN32
+ ;wxHtmlWidgetCell::DrawInvisible(wxDC&,int,int)
+ DrawInvisible__16wxHtmlWidgetCellFR4wxDCiT2
+ ;wxHtmlCell::DrawInvisible(wxDC&,int,int)
+ DrawInvisible__10wxHtmlCellFR4wxDCiT2
+ ;From object file: ..\html\htmlfilt.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft21wxHtmlFilterPlainText8wxObject
+ ;wxHtmlFilterImage::CanRead(const wxFSFile&) const
+ CanRead__17wxHtmlFilterImageCFRC8wxFSFile
+ ;wxHtmlFilterImage::sm_classwxHtmlFilterImage
+ sm_classwxHtmlFilterImage__17wxHtmlFilterImage
+ ;wxConstructorForwxHtmlFilterPlainText()
+ wxConstructorForwxHtmlFilterPlainText__Fv
+ ;wxConstructorForwxHtmlFilterImage()
+ wxConstructorForwxHtmlFilterImage__Fv
+ ;wxConstructorForwxHtmlFilterHTML()
+ wxConstructorForwxHtmlFilterHTML__Fv
+ ;wxHtmlFilterHTML::sm_classwxHtmlFilterHTML
+ sm_classwxHtmlFilterHTML__16wxHtmlFilterHTML
+ ;wxHtmlFilterPlainText::ReadFile(const wxFSFile&) const
+ ReadFile__21wxHtmlFilterPlainTextCFRC8wxFSFile
+ ;wxHtmlFilterHTML::ReadFile(const wxFSFile&) const
+ ReadFile__16wxHtmlFilterHTMLCFRC8wxFSFile
+ ;wxHtmlFilterHTML::CanRead(const wxFSFile&) const
+ CanRead__16wxHtmlFilterHTMLCFRC8wxFSFile
+ ;wxHtmlFilterImage::ReadFile(const wxFSFile&) const
+ ReadFile__17wxHtmlFilterImageCFRC8wxFSFile
+ ;wxHtmlFilterModule::sm_classwxHtmlFilterModule
+ sm_classwxHtmlFilterModule__18wxHtmlFilterModule
+ ;wxConstructorForwxHtmlFilterModule()
+ wxConstructorForwxHtmlFilterModule__Fv
+ ;wxHtmlFilterPlainText::sm_classwxHtmlFilterPlainText
+ sm_classwxHtmlFilterPlainText__21wxHtmlFilterPlainText
+ __vft17wxHtmlFilterImage8wxObject
+ __vft16wxHtmlFilterHTML8wxObject
+ ;wxHtmlFilterPlainText::CanRead(const wxFSFile&) const
+ CanRead__21wxHtmlFilterPlainTextCFRC8wxFSFile
+ ;wxHtmlFilter::sm_classwxHtmlFilter
+ sm_classwxHtmlFilter__12wxHtmlFilter
+ ;From object file: ..\html\htmlpars.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlParser::DoneParser()
+ DoneParser__12wxHtmlParserFv
+ ;wxHtmlParser::AddTagHandler(wxHtmlTagHandler*)
+ AddTagHandler__12wxHtmlParserFP16wxHtmlTagHandler
+ ;wxHtmlParser::PopTagHandler()
+ PopTagHandler__12wxHtmlParserFv
+ ;wxHtmlTagHandler::sm_classwxHtmlTagHandler
+ sm_classwxHtmlTagHandler__16wxHtmlTagHandler
+ ;wxHtmlParser::PushTagHandler(wxHtmlTagHandler*,wxString)
+ PushTagHandler__12wxHtmlParserFP16wxHtmlTagHandler8wxString
+ ;wxHtmlParser::~wxHtmlParser()
+ __dt__12wxHtmlParserFv
+ ;wxHtmlParser::AddTag(const wxHtmlTag&)
+ AddTag__12wxHtmlParserFRC9wxHtmlTag
+ __vft12wxHtmlParser8wxObject
+ ;wxHtmlParser::DoParsing(int,int)
+ DoParsing__12wxHtmlParserFiT1
+ ;wxHtmlParser::sm_classwxHtmlParser
+ sm_classwxHtmlParser__12wxHtmlParser
+ ;wxHtmlParser::Parse(const wxString&)
+ Parse__12wxHtmlParserFRC8wxString
+ ;wxHtmlParser::InitParser(const wxString&)
+ InitParser__12wxHtmlParserFRC8wxString
+ ;From object file: ..\html\htmltag.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlTag::GetParam(const wxString&,unsigned long) const
+ GetParam__9wxHtmlTagCFRC8wxStringUl
+ ;wxHtmlTag::ScanParam(const wxString&,char*,void*) const
+ ScanParam__9wxHtmlTagCFRC8wxStringPcPv
+ ;wxHtmlTagsCache::wxHtmlTagsCache(const wxString&)
+ __ct__15wxHtmlTagsCacheFRC8wxString
+ ;wxHtmlTag::HasParam(const wxString&) const
+ HasParam__9wxHtmlTagCFRC8wxString
+ ;wxHtmlTag::wxHtmlTag(const wxString&,int,int,wxHtmlTagsCache*)
+ __ct__9wxHtmlTagFRC8wxStringiT2P15wxHtmlTagsCache
+ ;wxHtmlTagsCache::QueryTag(int,int*,int*)
+ QueryTag__15wxHtmlTagsCacheFiPiT2
+ ;wxHtmlTagsCache::sm_classwxHtmlTagsCache
+ sm_classwxHtmlTagsCache__15wxHtmlTagsCache
+ ;wxHtmlTag::sm_classwxHtmlTag
+ sm_classwxHtmlTag__9wxHtmlTag
+ ;From object file: ..\html\htmlwin.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlWindow::SetFonts(wxString,wxString,const int*)
+ SetFonts__12wxHtmlWindowF8wxStringT1PCi
+ ;wxHtmlWinModule::sm_classwxHtmlWinModule
+ sm_classwxHtmlWinModule__15wxHtmlWinModule
+ ;wxHtmlWindow::~wxHtmlWindow()
+ __dt__12wxHtmlWindowFv
+ ;wxHtmlWindow::HistoryBack()
+ HistoryBack__12wxHtmlWindowFv
+ ;wxHtmlWindow::AddFilter(wxHtmlFilter*)
+ AddFilter__12wxHtmlWindowFP12wxHtmlFilter
+ ;wxHtmlWindow::OnDraw(wxDC&)
+ OnDraw__12wxHtmlWindowFR4wxDC
+ ;wxHtmlWindow::m_Filters
+ m_Filters__12wxHtmlWindow
+ ;HtmlHistoryArray::Index(const HtmlHistoryItem&,unsigned long) const
+ Index__16HtmlHistoryArrayCFRC15HtmlHistoryItemUl
+ ;HtmlHistoryArray::RemoveAt(unsigned int)
+ RemoveAt__16HtmlHistoryArrayFUi
+ ;HtmlHistoryArray::operator=(const HtmlHistoryArray&)
+ __as__16HtmlHistoryArrayFRC16HtmlHistoryArray
+ ;HtmlHistoryArray::Insert(const HtmlHistoryItem&,unsigned int)
+ Insert__16HtmlHistoryArrayFRC15HtmlHistoryItemUi
+ ;HtmlHistoryArray::DoCopy(const HtmlHistoryArray&)
+ DoCopy__16HtmlHistoryArrayFRC16HtmlHistoryArray
+ ;HtmlHistoryArray::Add(const HtmlHistoryItem&)
+ Add__16HtmlHistoryArrayFRC15HtmlHistoryItem
+ ;HtmlHistoryArray::DoEmpty()
+ DoEmpty__16HtmlHistoryArrayFv
+ ;wxConstructorForwxHtmlWinModule()
+ wxConstructorForwxHtmlWinModule__Fv
+ ;wxHtmlWindow::HistoryClear()
+ HistoryClear__12wxHtmlWindowFv
+ ;wxHtmlWindow::GetEventTable() const
+ GetEventTable__12wxHtmlWindowCFv
+ ;wxHtmlWindow::SetPage(const wxString&)
+ SetPage__12wxHtmlWindowFRC8wxString
+ ;wxHtmlWindow::sm_classwxHtmlWindow
+ sm_classwxHtmlWindow__12wxHtmlWindow
+ ;wxHtmlWindow::s_cur_hand
+ s_cur_hand__12wxHtmlWindow
+ ;wxHtmlWindow::s_cur_arrow
+ s_cur_arrow__12wxHtmlWindow
+ ;wxHtmlWindow::m_DefaultFilter
+ m_DefaultFilter__12wxHtmlWindow
+ ;wxHtmlWindow::OnSetTitle(const wxString&)
+ OnSetTitle__12wxHtmlWindowFRC8wxString
+ ;wxHtmlWindow::OnSize(wxSizeEvent&)
+ OnSize__12wxHtmlWindowFR11wxSizeEvent
+ ;wxHtmlWindow::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__12wxHtmlWindowFR12wxMouseEvent
+ ;wxHtmlWindow::SetRelatedStatusBar(int)
+ SetRelatedStatusBar__12wxHtmlWindowFi
+ ;wxHtmlWindow::CleanUpStatics()
+ CleanUpStatics__12wxHtmlWindowFv
+ ;wxHtmlWindow::LoadPage(const wxString&)
+ LoadPage__12wxHtmlWindowFRC8wxString
+ ;wxHtmlWindow::sm_eventTable
+ sm_eventTable__12wxHtmlWindow
+ ;wxHtmlWindow::ScrollToAnchor(const wxString&)
+ ScrollToAnchor__12wxHtmlWindowFRC8wxString
+ ;wxHtmlWindow::ReadCustomization(wxConfigBase*,wxString)
+ ReadCustomization__12wxHtmlWindowFP12wxConfigBase8wxString
+ ;wxHtmlWindow::OnIdle(wxIdleEvent&)
+ OnIdle__12wxHtmlWindowFR11wxIdleEvent
+ ;HtmlHistoryArray::~HtmlHistoryArray()
+ __dt__16HtmlHistoryArrayFv
+ ;wxConstructorForwxHtmlWindow()
+ wxConstructorForwxHtmlWindow__Fv
+ ;wxHtmlWindow::CreateLayout()
+ CreateLayout__12wxHtmlWindowFv
+ ;wxHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo&)
+ OnLinkClicked__12wxHtmlWindowFRC14wxHtmlLinkInfo
+ __vft12wxHtmlWindow8wxObject
+ ;HtmlHistoryArray::HtmlHistoryArray(const HtmlHistoryArray&)
+ __ct__16HtmlHistoryArrayFRC16HtmlHistoryArray
+ ;wxHtmlWindow::HistoryForward()
+ HistoryForward__12wxHtmlWindowFv
+ ;wxHtmlWindow::wxHtmlWindow(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__12wxHtmlWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxHtmlWindow::sm_eventTableEntries
+ sm_eventTableEntries__12wxHtmlWindow
+ ;wxHtmlWindow::WriteCustomization(wxConfigBase*,wxString)
+ WriteCustomization__12wxHtmlWindowFP12wxConfigBase8wxString
+ ;wxHtmlWindow::SetRelatedFrame(wxFrame*,const wxString&)
+ SetRelatedFrame__12wxHtmlWindowFP7wxFrameRC8wxString
+ ;From object file: ..\html\htmprint.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlDCRenderer::SetDC(wxDC*,double)
+ SetDC__16wxHtmlDCRendererFP4wxDCd
+ __vft18wxHtmlEasyPrinting8wxObject
+ ;wxHtmlPrintout::SetHtmlText(const wxString&,const wxString&,unsigned long)
+ SetHtmlText__14wxHtmlPrintoutFRC8wxStringT1Ul
+ ;wxHtmlPrintout::SetMargins(float,float,float,float,float)
+ SetMargins__14wxHtmlPrintoutFfN41
+ ;wxHtmlEasyPrinting::wxHtmlEasyPrinting(const wxString&,wxFrame*)
+ __ct__18wxHtmlEasyPrintingFRC8wxStringP7wxFrame
+ ;wxHtmlEasyPrinting::SetHeader(const wxString&,int)
+ SetHeader__18wxHtmlEasyPrintingFRC8wxStringi
+ ;wxHtmlPrintout::SetFooter(const wxString&,int)
+ SetFooter__14wxHtmlPrintoutFRC8wxStringi
+ ;wxHtmlPrintout::HasPage(int)
+ HasPage__14wxHtmlPrintoutFi
+ ;wxHtmlDCRenderer::~wxHtmlDCRenderer()
+ __dt__16wxHtmlDCRendererFv
+ ;wxHtmlEasyPrinting::CreatePrintout()
+ CreatePrintout__18wxHtmlEasyPrintingFv
+ __vft14wxHtmlPrintout8wxObject
+ ;wxHtmlDCRenderer::SetSize(int,int)
+ SetSize__16wxHtmlDCRendererFiT1
+ ;wxHtmlPrintout::TranslateHeader(const wxString&,int)
+ TranslateHeader__14wxHtmlPrintoutFRC8wxStringi
+ ;wxHtmlDCRenderer::Render(int,int,int,int)
+ Render__16wxHtmlDCRendererFiN31
+ ;wxHtmlDCRenderer::wxHtmlDCRenderer()
+ __ct__16wxHtmlDCRendererFv
+ ;wxHtmlEasyPrinting::~wxHtmlEasyPrinting()
+ __dt__18wxHtmlEasyPrintingFv
+ ;wxHtmlPrintout::~wxHtmlPrintout()
+ __dt__14wxHtmlPrintoutFv
+ ;wxHtmlEasyPrinting::PageSetup()
+ PageSetup__18wxHtmlEasyPrintingFv
+ ;wxHtmlPrintout::RenderPage(wxDC*,int)
+ RenderPage__14wxHtmlPrintoutFP4wxDCi
+ ;wxHtmlPrintout::SetHeader(const wxString&,int)
+ SetHeader__14wxHtmlPrintoutFRC8wxStringi
+ ;wxHtmlEasyPrinting::PreviewText(const wxString&,const wxString&)
+ PreviewText__18wxHtmlEasyPrintingFRC8wxStringT1
+ ;wxHtmlDCRenderer::GetTotalHeight()
+ GetTotalHeight__16wxHtmlDCRendererFv
+ ;wxHtmlPrintout::wxHtmlPrintout(const wxString&)
+ __ct__14wxHtmlPrintoutFRC8wxString
+ ;wxHtmlEasyPrinting::PrintFile(const wxString&)
+ PrintFile__18wxHtmlEasyPrintingFRC8wxString
+ ;wxHtmlPrintout::OnBeginDocument(int,int)
+ OnBeginDocument__14wxHtmlPrintoutFiT1
+ ;wxHtmlEasyPrinting::SetFooter(const wxString&,int)
+ SetFooter__18wxHtmlEasyPrintingFRC8wxStringi
+ ;wxHtmlPrintout::GetPageInfo(int*,int*,int*,int*)
+ GetPageInfo__14wxHtmlPrintoutFPiN31
+ ;wxHtmlEasyPrinting::DoPreview(wxHtmlPrintout*,wxHtmlPrintout*)
+ DoPreview__18wxHtmlEasyPrintingFP14wxHtmlPrintoutT1
+ ;wxHtmlEasyPrinting::PrinterSetup()
+ PrinterSetup__18wxHtmlEasyPrintingFv
+ ;wxHtmlEasyPrinting::PreviewFile(const wxString&)
+ PreviewFile__18wxHtmlEasyPrintingFRC8wxString
+ ;wxHtmlDCRenderer::SetHtmlText(const wxString&,const wxString&,unsigned long)
+ SetHtmlText__16wxHtmlDCRendererFRC8wxStringT1Ul
+ __vft16wxHtmlDCRenderer8wxObject
+ ;wxHtmlEasyPrinting::DoPrint(wxHtmlPrintout*)
+ DoPrint__18wxHtmlEasyPrintingFP14wxHtmlPrintout
+ ;wxHtmlPrintout::OnPrintPage(int)
+ OnPrintPage__14wxHtmlPrintoutFi
+ ;wxHtmlEasyPrinting::PrintText(const wxString&,const wxString&)
+ PrintText__18wxHtmlEasyPrintingFRC8wxStringT1
+ ;wxHtmlPrintout::CountPages()
+ CountPages__14wxHtmlPrintoutFv
+ ;wxHtmlPrintout::SetHtmlFile(const wxString&)
+ SetHtmlFile__14wxHtmlPrintoutFRC8wxString
+ ;From object file: ..\html\m_dflist.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForHTML_ModuleDefinitionList()
+ wxConstructorForHTML_ModuleDefinitionList__Fv
+ ;_link_dummy_func_m_dflist()
+ _link_dummy_func_m_dflist__Fv
+ ;HTML_ModuleDefinitionList::sm_classHTML_ModuleDefinitionList
+ sm_classHTML_ModuleDefinitionList__25HTML_ModuleDefinitionList
+ ;From object file: ..\html\m_fonts.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForHTML_ModuleFonts()
+ wxConstructorForHTML_ModuleFonts__Fv
+ ;HTML_ModuleFonts::sm_classHTML_ModuleFonts
+ sm_classHTML_ModuleFonts__16HTML_ModuleFonts
+ ;_link_dummy_func_m_fonts()
+ _link_dummy_func_m_fonts__Fv
+ ;From object file: ..\html\m_hline.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;HTML_ModuleHLine::sm_classHTML_ModuleHLine
+ sm_classHTML_ModuleHLine__16HTML_ModuleHLine
+ __vft14wxHtmlLineCell8wxObject
+ ;wxConstructorForHTML_ModuleHLine()
+ wxConstructorForHTML_ModuleHLine__Fv
+ ;_link_dummy_func_m_hline()
+ _link_dummy_func_m_hline__Fv
+ ;wxHtmlLineCell::Draw(wxDC&,int,int,int,int)
+ Draw__14wxHtmlLineCellFR4wxDCiN32
+ ;From object file: ..\html\m_image.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft22wxHtmlImageMapAreaCell8wxObject
+ __vft15wxHtmlImageCell8wxObject
+ ;CoordArray::Add(const int&)
+ Add__10CoordArrayFRCi
+ ;CoordArray::operator=(const CoordArray&)
+ __as__10CoordArrayFRC10CoordArray
+ ;CoordArray::~CoordArray()
+ __dt__10CoordArrayFv
+ ;wxConstructorForHTML_ModuleImage()
+ wxConstructorForHTML_ModuleImage__Fv
+ ;wxHtmlImageCell::Draw(wxDC&,int,int,int,int)
+ Draw__15wxHtmlImageCellFR4wxDCiN32
+ ;wxHtmlImageMapCell::wxHtmlImageMapCell(wxString&)
+ __ct__18wxHtmlImageMapCellFR8wxString
+ ;wxHtmlImageMapAreaCell::wxHtmlImageMapAreaCell(wxHtmlImageMapAreaCell::celltype,wxString&,double)
+ __ct__22wxHtmlImageMapAreaCellFQ2_22wxHtmlImageMapAreaCell8celltypeR8wxStringd
+ ;wxHtmlImageMapAreaCell::GetLink(int,int) const
+ GetLink__22wxHtmlImageMapAreaCellCFiT1
+ ;wxHtmlImageMapCell::Find(int,const void*) const
+ Find__18wxHtmlImageMapCellCFiPCv
+ ;HTML_ModuleImage::sm_classHTML_ModuleImage
+ sm_classHTML_ModuleImage__16HTML_ModuleImage
+ ;_link_dummy_func_m_image()
+ _link_dummy_func_m_image__Fv
+ ;CoordArray::DoEmpty()
+ DoEmpty__10CoordArrayFv
+ ;wxHtmlImageCell::wxHtmlImageCell(wxFSFile*,int,int,double,int,wxString)
+ __ct__15wxHtmlImageCellFP8wxFSFileiT2dT28wxString
+ __vft18wxHtmlImageMapCell8wxObject
+ ;CoordArray::DoCopy(const CoordArray&)
+ DoCopy__10CoordArrayFRC10CoordArray
+ ;CoordArray::CoordArray(const CoordArray&)
+ __ct__10CoordArrayFRC10CoordArray
+ ;wxHtmlImageMapCell::GetLink(int,int) const
+ GetLink__18wxHtmlImageMapCellCFiT1
+ ;CoordArray::Index(const int&,unsigned long) const
+ Index__10CoordArrayCFRCiUl
+ ;CoordArray::RemoveAt(unsigned int)
+ RemoveAt__10CoordArrayFUi
+ ;CoordArray::Insert(const int&,unsigned int)
+ Insert__10CoordArrayFRCiUi
+ ;wxHtmlImageCell::GetLink(int,int) const
+ GetLink__15wxHtmlImageCellCFiT1
+ ;From object file: ..\html\m_layout.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;HTML_ModuleLayout::sm_classHTML_ModuleLayout
+ sm_classHTML_ModuleLayout__17HTML_ModuleLayout
+ ;_link_dummy_func_m_layout()
+ _link_dummy_func_m_layout__Fv
+ ;wxConstructorForHTML_ModuleLayout()
+ wxConstructorForHTML_ModuleLayout__Fv
+ ;From object file: ..\html\m_links.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;_link_dummy_func_m_links()
+ _link_dummy_func_m_links__Fv
+ ;wxConstructorForHTML_ModuleLinks()
+ wxConstructorForHTML_ModuleLinks__Fv
+ ;HTML_ModuleLinks::sm_classHTML_ModuleLinks
+ sm_classHTML_ModuleLinks__16HTML_ModuleLinks
+ ;From object file: ..\html\m_list.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft18wxHtmlListmarkCell8wxObject
+ ;wxConstructorForHTML_ModuleList()
+ wxConstructorForHTML_ModuleList__Fv
+ ;HTML_ModuleList::sm_classHTML_ModuleList
+ sm_classHTML_ModuleList__15HTML_ModuleList
+ ;_link_dummy_func_m_list()
+ _link_dummy_func_m_list__Fv
+ ;wxHtmlListmarkCell::wxHtmlListmarkCell(wxDC*,const wxColour&)
+ __ct__18wxHtmlListmarkCellFP4wxDCRC8wxColour
+ ;wxHtmlListmarkCell::Draw(wxDC&,int,int,int,int)
+ Draw__18wxHtmlListmarkCellFR4wxDCiN32
+ ;From object file: ..\html\m_meta.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForHTML_ModuleMetaTag()
+ wxConstructorForHTML_ModuleMetaTag__Fv
+ ;HTML_ModuleMetaTag::sm_classHTML_ModuleMetaTag
+ sm_classHTML_ModuleMetaTag__18HTML_ModuleMetaTag
+ ;_link_dummy_func_m_meta()
+ _link_dummy_func_m_meta__Fv
+ ;From object file: ..\html\m_pre.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft13wxHtmlPRECell8wxObject
+ ;HTML_ModulePre::sm_classHTML_ModulePre
+ sm_classHTML_ModulePre__14HTML_ModulePre
+ ;_link_dummy_func_m_pre()
+ _link_dummy_func_m_pre__Fv
+ ;wxConstructorForHTML_ModulePre()
+ wxConstructorForHTML_ModulePre__Fv
+ ;wxHtmlPRECell::~wxHtmlPRECell()
+ __dt__13wxHtmlPRECellFv
+ ;wxHtmlPRECell::Draw(wxDC&,int,int,int,int)
+ Draw__13wxHtmlPRECellFR4wxDCiN32
+ ;wxHtmlPRECell::wxHtmlPRECell(const wxString&,wxDC&)
+ __ct__13wxHtmlPRECellFRC8wxStringR4wxDC
+ ;From object file: ..\html\m_tables.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlTableCell::ReallocRows(int)
+ ReallocRows__15wxHtmlTableCellFi
+ ;wxConstructorForHTML_ModuleTables()
+ wxConstructorForHTML_ModuleTables__Fv
+ __vft15wxHtmlTableCell8wxObject
+ ;_link_dummy_func_m_tables()
+ _link_dummy_func_m_tables__Fv
+ ;wxHtmlTableCell::Layout(int)
+ Layout__15wxHtmlTableCellFi
+ ;wxHtmlTableCell::AddCell(wxHtmlContainerCell*,const wxHtmlTag&)
+ AddCell__15wxHtmlTableCellFP19wxHtmlContainerCellRC9wxHtmlTag
+ ;wxHtmlTableCell::wxHtmlTableCell(wxHtmlContainerCell*,const wxHtmlTag&,double)
+ __ct__15wxHtmlTableCellFP19wxHtmlContainerCellRC9wxHtmlTagd
+ ;wxHtmlTableCell::~wxHtmlTableCell()
+ __dt__15wxHtmlTableCellFv
+ ;wxHtmlTableCell::AddRow(const wxHtmlTag&)
+ AddRow__15wxHtmlTableCellFRC9wxHtmlTag
+ ;wxHtmlTableCell::ReallocCols(int)
+ ReallocCols__15wxHtmlTableCellFi
+ ;HTML_ModuleTables::sm_classHTML_ModuleTables
+ sm_classHTML_ModuleTables__17HTML_ModuleTables
+ ;From object file: ..\html\winpars.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxHtmlTagsModule::sm_classwxHtmlTagsModule
+ sm_classwxHtmlTagsModule__16wxHtmlTagsModule
+ ;wxHtmlWinParser::AddText(const char*)
+ AddText__15wxHtmlWinParserFPCc
+ ;wxHtmlWinParser::SetFonts(wxString,wxString,const int*)
+ SetFonts__15wxHtmlWinParserF8wxStringT1PCi
+ ;wxHtmlWinParser::SetFontSize(int)
+ SetFontSize__15wxHtmlWinParserFi
+ ;wxConstructorForwxHtmlTagsModule()
+ wxConstructorForwxHtmlTagsModule__Fv
+ ;wxHtmlWinParser::m_Modules
+ m_Modules__15wxHtmlWinParser
+ ;wxHtmlTagsModule::OnExit()
+ OnExit__16wxHtmlTagsModuleFv
+ ;wxHtmlWinParser::SetInputEncoding(wxFontEncoding)
+ SetInputEncoding__15wxHtmlWinParserF14wxFontEncoding
+ ;wxHtmlWinParser::SetLink(const wxHtmlLinkInfo&)
+ SetLink__15wxHtmlWinParserFRC14wxHtmlLinkInfo
+ __vft15wxHtmlWinParser8wxObject
+ ;wxHtmlWinParser::CloseContainer()
+ CloseContainer__15wxHtmlWinParserFv
+ ;wxHtmlWinParser::InitParser(const wxString&)
+ InitParser__15wxHtmlWinParserFRC8wxString
+ ;wxHtmlWinParser::SetContainer(wxHtmlContainerCell*)
+ SetContainer__15wxHtmlWinParserFP19wxHtmlContainerCell
+ ;wxHtmlWinParser::RemoveModule(wxHtmlTagsModule*)
+ RemoveModule__15wxHtmlWinParserFP16wxHtmlTagsModule
+ ;wxHtmlWinParser::~wxHtmlWinParser()
+ __dt__15wxHtmlWinParserFv
+ ;wxHtmlWinParser::OpenContainer()
+ OpenContainer__15wxHtmlWinParserFv
+ ;wxHtmlWinParser::GetProduct()
+ GetProduct__15wxHtmlWinParserFv
+ __vft16wxHtmlTagsModule8wxObject
+ ;wxHtmlWinParser::AddModule(wxHtmlTagsModule*)
+ AddModule__15wxHtmlWinParserFP16wxHtmlTagsModule
+ ;wxHtmlWinParser::DoneParser()
+ DoneParser__15wxHtmlWinParserFv
+ ;wxHtmlWinTagHandler::sm_classwxHtmlWinTagHandler
+ sm_classwxHtmlWinTagHandler__19wxHtmlWinTagHandler
+ ;wxHtmlTagsModule::OnInit()
+ OnInit__16wxHtmlTagsModuleFv
+ ;wxHtmlWinParser::CreateCurrentFont()
+ CreateCurrentFont__15wxHtmlWinParserFv
+ ;wxHtmlWinParser::wxHtmlWinParser(wxWindow*)
+ __ct__15wxHtmlWinParserFP8wxWindow
+ ;wxHtmlWinParser::SetFontFace(const wxString&)
+ SetFontFace__15wxHtmlWinParserFRC8wxString
+ ;From object file: ..\generic\msgdlgg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGenericMessageDialog::OnYes(wxCommandEvent&)
+ OnYes__22wxGenericMessageDialogFR14wxCommandEvent
+ __vft22wxGenericMessageDialog8wxObject
+ ;wxGenericMessageDialog::OnCancel(wxCommandEvent&)
+ OnCancel__22wxGenericMessageDialogFR14wxCommandEvent
+ ;wxGenericMessageDialog::sm_classwxGenericMessageDialog
+ sm_classwxGenericMessageDialog__22wxGenericMessageDialog
+ ;wxGenericMessageDialog::sm_eventTableEntries
+ sm_eventTableEntries__22wxGenericMessageDialog
+ ;wxGenericMessageDialog::OnNo(wxCommandEvent&)
+ OnNo__22wxGenericMessageDialogFR14wxCommandEvent
+ ;wxGenericMessageDialog::GetEventTable() const
+ GetEventTable__22wxGenericMessageDialogCFv
+ ;wxGenericMessageDialog::sm_eventTable
+ sm_eventTable__22wxGenericMessageDialog
+ ;wxGenericMessageDialog::wxGenericMessageDialog(wxWindow*,const wxString&,const wxString&,long,const wxPoint&)
+ __ct__22wxGenericMessageDialogFP8wxWindowRC8wxStringT2lRC7wxPoint
+ ;From object file: ..\os2\accel.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxAcceleratorTable::sm_classwxAcceleratorTable
+ sm_classwxAcceleratorTable__18wxAcceleratorTable
+ ;wxAcceleratorTable::GetHACCEL() const
+ GetHACCEL__18wxAcceleratorTableCFv
+ ;wxConstructorForwxAcceleratorTable()
+ wxConstructorForwxAcceleratorTable__Fv
+ ;wxAcceleratorTable::SetHACCEL(unsigned long)
+ SetHACCEL__18wxAcceleratorTableFUl
+ ;wxAcceleratorTable::wxAcceleratorTable(int,wxAcceleratorEntry*)
+ __ct__18wxAcceleratorTableFiP18wxAcceleratorEntry
+ ;wxAcceleratorTable::~wxAcceleratorTable()
+ __dt__18wxAcceleratorTableFv
+ ;wxAcceleratorTable::Ok() const
+ Ok__18wxAcceleratorTableCFv
+ __vft20wxAcceleratorRefData15wxObjectRefData
+ ;wxAcceleratorTable::wxAcceleratorTable()
+ __ct__18wxAcceleratorTableFv
+ ;wxAcceleratorRefData::wxAcceleratorRefData()
+ __ct__20wxAcceleratorRefDataFv
+ __vft18wxAcceleratorTable8wxObject
+ ;wxAcceleratorRefData::~wxAcceleratorRefData()
+ __dt__20wxAcceleratorRefDataFv
+ ;wxAcceleratorTable::Translate(unsigned long,void**) const
+ Translate__18wxAcceleratorTableCFUlPPv
+ ;wxAcceleratorTable::wxAcceleratorTable(const wxString&)
+ __ct__18wxAcceleratorTableFRC8wxString
+ ;From object file: ..\os2\app.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxApp::OnEndSession(wxCloseEvent&)
+ OnEndSession__5wxAppFR12wxCloseEvent
+ wxTheApp
+ ;wxApp::sm_classwxApp
+ sm_classwxApp__5wxApp
+ ;wxConstructorForwxApp()
+ wxConstructorForwxApp__Fv
+ ;wxWakeUpIdle()
+ wxWakeUpIdle__Fv
+ wxSTD_MDICHILDFRAME_ICON
+ vHabmain
+ ;wxApp::~wxApp()
+ __dt__5wxAppFv
+ ;wxApp::Pending()
+ Pending__5wxAppFv
+ ;wxApp::DeletePendingObjects()
+ DeletePendingObjects__5wxAppFv
+ ;wxApp::RegisterWindowClasses(unsigned long)
+ RegisterWindowClasses__5wxAppFUl
+ ;wxApp::sm_eventTableEntries
+ sm_eventTableEntries__5wxApp
+ ;wxApp::OnIdle(wxIdleEvent&)
+ OnIdle__5wxAppFR11wxIdleEvent
+ ;wxMsgArray::wxMsgArray(const wxMsgArray&)
+ __ct__10wxMsgArrayFRC10wxMsgArray
+ wxPanelClassName
+ wxMDIFrameClassName
+ ;wxMsgArray::Insert(const _QMSG&,unsigned int)
+ Insert__10wxMsgArrayFRC5_QMSGUi
+ ;wxApp::wxApp()
+ __ct__5wxAppFv
+ wxDEFAULT_MDIPARENTFRAME_ICON
+ ;wxApp::SendIdleEvents()
+ SendIdleEvents__5wxAppFv
+ ;wxApp::ProcessMessage(void**)
+ ProcessMessage__5wxAppFPPv
+ ;wxApp::OnInitGui()
+ OnInitGui__5wxAppFv
+ ;wxMsgArray::Add(const _QMSG&)
+ Add__10wxMsgArrayFRC5_QMSG
+ ;wxApp::OnQueryEndSession(wxCloseEvent&)
+ OnQueryEndSession__5wxAppFR12wxCloseEvent
+ __vft5wxApp8wxObject
+ ;wxMsgArray::DoCopy(const wxMsgArray&)
+ DoCopy__10wxMsgArrayFRC10wxMsgArray
+ ;wxMsgArray::operator=(const wxMsgArray&)
+ __as__10wxMsgArrayFRC10wxMsgArray
+ ;wxYield()
+ wxYield__Fv
+ wxSTD_FRAME_ICON
+ wxDEFAULT_FRAME_ICON
+ ;wxApp::ProcessIdle()
+ ProcessIdle__5wxAppFv
+ ;wxApp::MainLoop()
+ MainLoop__5wxAppFv
+ ;wxApp::Initialized()
+ Initialized__5wxAppFv
+ ;wxApp::GetEventTable() const
+ GetEventTable__5wxAppCFv
+ ;wxMsgArray::DoEmpty()
+ DoEmpty__10wxMsgArrayFv
+ wxFrameClassNameNoRedraw
+ ;wxSetInstance(unsigned long)
+ wxSetInstance__FUl
+ ;wxMsgArray::RemoveAt(unsigned int)
+ RemoveAt__10wxMsgArrayFUi
+ wxMDIChildFrameClassName
+ wxGetInstance
+ wxFrameClassName
+ ;wxApp::GetStdIcon(int) const
+ GetStdIcon__5wxAppCFi
+ ;wxMsgArray::~wxMsgArray()
+ __dt__10wxMsgArrayFv
+ wxSTD_MDIPARENTFRAME_ICON
+ wxDEFAULT_MDICHILDFRAME_ICON
+ ;wxApp::ExitMainLoop()
+ ExitMainLoop__5wxAppFv
+ ;wxApp::CleanUp()
+ CleanUp__5wxAppFv
+ svCurrentMsg
+ wxMDIChildFrameClassNameNoRedraw
+ ;wxMsgArray::Index(const _QMSG&,unsigned long) const
+ Index__10wxMsgArrayCFRC5_QMSGUl
+ wxDisableButtonBrush
+ ;wxApp::sm_eventTable
+ sm_eventTable__5wxApp
+ ;wxApp::Initialize(unsigned long)
+ Initialize__5wxAppFUl
+ ;wxAppBase::m_appInitFn
+ m_appInitFn__9wxAppBase
+ wxCanvasClassName
+ ;wxApp::DoMessage()
+ DoMessage__5wxAppFv
+ ;wxExit()
+ wxExit__Fv
+ ;wxApp::Dispatch()
+ Dispatch__5wxAppFv
+ ;wxEntry(int,char**)
+ wxEntry__FiPPc
+ wxMDIFrameClassNameNoRedraw
+ ;wxApp::SendIdleEvents(wxWindow*)
+ SendIdleEvents__5wxAppFP8wxWindow
+ ;From object file: ..\os2\bitmap.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBitmap::wxBitmap(char**,wxControl*)
+ __ct__8wxBitmapFPPcP9wxControl
+ __vft6wxMask8wxObject
+ ;wxBitmapHandler::Create(wxGDIImage*,void*,long,int,int,int)
+ Create__15wxBitmapHandlerFP10wxGDIImagePvliN24
+ ;wxBitmap::wxBitmap(int,int,int)
+ __ct__8wxBitmapFiN21
+ ;wxBitmap::SaveFile(const wxString&,int,const wxPalette*)
+ SaveFile__8wxBitmapFRC8wxStringiPC9wxPalette
+ ;wxBitmap::Create(int,int,int)
+ Create__8wxBitmapFiN21
+ ;wxMask::Create(const wxBitmap&,int)
+ Create__6wxMaskFRC8wxBitmapi
+ ;wxBitmap::Init()
+ Init__8wxBitmapFv
+ ;wxBitmapHandler::sm_classwxBitmapHandler
+ sm_classwxBitmapHandler__15wxBitmapHandler
+ ;wxMask::~wxMask()
+ __dt__6wxMaskFv
+ ;wxMask::wxMask(const wxBitmap&,const wxColour&)
+ __ct__6wxMaskFRC8wxBitmapRC8wxColour
+ ;wxBitmap::Create(void*,long,int,int,int)
+ Create__8wxBitmapFPvliN23
+ ;wxBitmap::GetBitmapForDC(wxDC&) const
+ GetBitmapForDC__8wxBitmapCFR4wxDC
+ ;wxBitmap::wxBitmap(const wxString&,long)
+ __ct__8wxBitmapFRC8wxStringl
+ ;wxMask::wxMask(const wxBitmap&)
+ __ct__6wxMaskFRC8wxBitmap
+ ;wxMask::Create(const wxBitmap&)
+ Create__6wxMaskFRC8wxBitmap
+ ;wxBitmapHandler::Create(wxBitmap*,void*,long,int,int,int)
+ Create__15wxBitmapHandlerFP8wxBitmapPvliN24
+ ;wxBitmap::CopyFromIconOrCursor(const wxGDIImage&)
+ CopyFromIconOrCursor__8wxBitmapFRC10wxGDIImage
+ __vft15wxBitmapRefData15wxObjectRefData
+ ;wxMask::wxMask(const wxBitmap&,int)
+ __ct__6wxMaskFRC8wxBitmapi
+ ;wxBitmapHandler::SaveFile(wxBitmap*,const wxString&,int,const wxPalette*)
+ SaveFile__15wxBitmapHandlerFP8wxBitmapRC8wxStringiPC9wxPalette
+ ;wxBitmap::CopyFromCursor(const wxCursor&)
+ CopyFromCursor__8wxBitmapFRC8wxCursor
+ ;wxMask::wxMask()
+ __ct__6wxMaskFv
+ ;wxMask::sm_classwxMask
+ sm_classwxMask__6wxMask
+ __vft8wxBitmap8wxObject
+ __vft15wxBitmapHandler8wxObject
+ ;wxBitmap::SetQuality(int)
+ SetQuality__8wxBitmapFi
+ ;wxBitmap::CopyFromIcon(const wxIcon&)
+ CopyFromIcon__8wxBitmapFRC6wxIcon
+ ;wxBitmap::~wxBitmap()
+ __dt__8wxBitmapFv
+ ;wxBitmap::wxBitmap(const char*,int,int,int)
+ __ct__8wxBitmapFPCciN22
+ ;wxBitmapRefData::wxBitmapRefData()
+ __ct__15wxBitmapRefDataFv
+ ;wxMask::Create(const wxBitmap&,const wxColour&)
+ Create__6wxMaskFRC8wxBitmapRC8wxColour
+ ;wxBitmap::wxBitmap(void*,long,int,int,int)
+ __ct__8wxBitmapFPvliN23
+ ;wxBitmap::LoadFile(const wxString&,long)
+ LoadFile__8wxBitmapFRC8wxStringl
+ ;wxBitmap::SetPalette(const wxPalette&)
+ SetPalette__8wxBitmapFRC9wxPalette
+ ;wxBitmapHandler::Save(wxGDIImage*,const wxString&,int)
+ Save__15wxBitmapHandlerFP10wxGDIImageRC8wxStringi
+ ;wxBitmapHandler::LoadFile(wxBitmap*,const wxString&,unsigned long,long,int,int)
+ LoadFile__15wxBitmapHandlerFP8wxBitmapRC8wxStringUlliT5
+ ;wxConstructorForwxBitmapHandler()
+ wxConstructorForwxBitmapHandler__Fv
+ ;wxBitmapRefData::Free()
+ Free__15wxBitmapRefDataFv
+ ;wxBitmap::sm_classwxBitmap
+ sm_classwxBitmap__8wxBitmap
+ ;wxBitmapHandler::Load(wxGDIImage*,const wxString&,unsigned long,long,int,int)
+ Load__15wxBitmapHandlerFP10wxGDIImageRC8wxStringUlliT5
+ ;wxConstructorForwxBitmap()
+ wxConstructorForwxBitmap__Fv
+ ;wxConstructorForwxMask()
+ wxConstructorForwxMask__Fv
+ ;wxBitmap::SetMask(wxMask*)
+ SetMask__8wxBitmapFP6wxMask
+ ;From object file: ..\os2\bmpbuttn.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBitmapButton::DrawFace(unsigned long,int,int,int,int,unsigned long)
+ DrawFace__14wxBitmapButtonFUliN32T1
+ ;wxBitmapButton::SetBitmapLabel(const wxBitmap&)
+ SetBitmapLabel__14wxBitmapButtonFRC8wxBitmap
+ __vft14wxBitmapButton8wxObject
+ ;wxBitmapButton::DrawButtonDisable(unsigned long,int,int,int,int,unsigned long)
+ DrawButtonDisable__14wxBitmapButtonFUliN32T1
+ ;wxConstructorForwxBitmapButton()
+ wxConstructorForwxBitmapButton__Fv
+ ;wxBitmapButton::SetDefault()
+ SetDefault__14wxBitmapButtonFv
+ ;wxBitmapButton::Create(wxWindow*,int,const wxBitmap&,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__14wxBitmapButtonFP8wxWindowiRC8wxBitmapRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxBitmapButton::sm_classwxBitmapButton
+ sm_classwxBitmapButton__14wxBitmapButton
+ ;wxBitmapButton::DrawButtonFocus(unsigned long,int,int,int,int,unsigned long)
+ DrawButtonFocus__14wxBitmapButtonFUliN32T1
+ ;From object file: ..\os2\brush.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBrush::FreeResource(unsigned long)
+ FreeResource__7wxBrushFUl
+ ;wxBrush::SetStyle(int)
+ SetStyle__7wxBrushFi
+ ;wxBrush::GetResourceHandle()
+ GetResourceHandle__7wxBrushFv
+ ;wxBrush::SetColour(const wxColour&)
+ SetColour__7wxBrushFRC8wxColour
+ ;wxConstructorForwxBrush()
+ wxConstructorForwxBrush__Fv
+ ;wxBrush::RealizeResource()
+ RealizeResource__7wxBrushFv
+ ;wxBrush::sm_classwxBrush
+ sm_classwxBrush__7wxBrush
+ __vft7wxBrush8wxObject
+ ;wxBrushRefData::wxBrushRefData(const wxBrushRefData&)
+ __ct__14wxBrushRefDataFRC14wxBrushRefData
+ ;wxBrush::wxBrush(const wxColour&,int)
+ __ct__7wxBrushFRC8wxColouri
+ ;wxBrush::SetColour(unsigned char,unsigned char,unsigned char)
+ SetColour__7wxBrushFUcN21
+ ;wxBrush::wxBrush()
+ __ct__7wxBrushFv
+ ;wxBrushRefData::wxBrushRefData()
+ __ct__14wxBrushRefDataFv
+ ;wxBrush::Unshare()
+ Unshare__7wxBrushFv
+ ;wxBrush::wxBrush(const wxBitmap&)
+ __ct__7wxBrushFRC8wxBitmap
+ ;wxBrush::SetStipple(const wxBitmap&)
+ SetStipple__7wxBrushFRC8wxBitmap
+ __vft14wxBrushRefData15wxObjectRefData
+ ;wxBrush::~wxBrush()
+ __dt__7wxBrushFv
+ ;wxBrushRefData::~wxBrushRefData()
+ __dt__14wxBrushRefDataFv
+ ;wxBrush::IsFree() const
+ IsFree__7wxBrushCFv
+ ;From object file: ..\os2\button.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxButton::Command(wxCommandEvent&)
+ Command__8wxButtonFR14wxCommandEvent
+ ;wxButton::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__8wxButtonFUlT1UiT3PvT5
+ ;wxButton::~wxButton()
+ __dt__8wxButtonFv
+ ;wxButton::SendClickEvent()
+ SendClickEvent__8wxButtonFv
+ ;wxConstructorForwxButton()
+ wxConstructorForwxButton__Fv
+ ;wxButton::GetDefaultSize()
+ GetDefaultSize__8wxButtonFv
+ ;wxButton::OS2Command(unsigned int,unsigned short)
+ OS2Command__8wxButtonFUiUs
+ __vft8wxButton8wxObject
+ ;wxButton::DoGetBestSize() const
+ DoGetBestSize__8wxButtonCFv
+ ;wxButton::sm_classwxButton
+ sm_classwxButton__8wxButton
+ ;wxButton::SetDefault()
+ SetDefault__8wxButtonFv
+ ;wxButton::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__8wxButtonFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelRC11wxValidatorT3
+ ;From object file: ..\os2\checkbox.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCheckBox::sm_classwxCheckBox
+ sm_classwxCheckBox__10wxCheckBox
+ ;wxCheckBox::OS2Command(unsigned int,unsigned short)
+ OS2Command__10wxCheckBoxFUiUs
+ __vft10wxCheckBox8wxObject
+ ;wxConstructorForwxCheckBox()
+ wxConstructorForwxCheckBox__Fv
+ ;wxBitmapCheckBox::SetLabel(const wxBitmap&)
+ SetLabel__16wxBitmapCheckBoxFRC8wxBitmap
+ ;wxConstructorForwxBitmapCheckBox()
+ wxConstructorForwxBitmapCheckBox__Fv
+ ;wxCheckBox::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__10wxCheckBoxFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelRC11wxValidatorT3
+ ;wxCheckBox::SetValue(unsigned long)
+ SetValue__10wxCheckBoxFUl
+ __vft16wxBitmapCheckBox8wxObject
+ ;wxCheckBox::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__10wxCheckBoxFUlT1UiT3PvT5
+ ;wxCheckBox::DoGetBestSize() const
+ DoGetBestSize__10wxCheckBoxCFv
+ ;wxCheckBox::GetValue() const
+ GetValue__10wxCheckBoxCFv
+ ;wxBitmapCheckBox::Create(wxWindow*,int,const wxBitmap*,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__16wxBitmapCheckBoxFP8wxWindowiPC8wxBitmapRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxCheckBox::SetLabel(const wxString&)
+ SetLabel__10wxCheckBoxFRC8wxString
+ ;wxCheckBox::Command(wxCommandEvent&)
+ Command__10wxCheckBoxFR14wxCommandEvent
+ ;wxBitmapCheckBox::sm_classwxBitmapCheckBox
+ sm_classwxBitmapCheckBox__16wxBitmapCheckBox
+ ;From object file: ..\os2\checklst.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox*,unsigned int)
+ __ct__18wxCheckListBoxItemFP14wxCheckListBoxUi
+ ;wxCheckListBox::InsertItems(int,const wxString*,int)
+ InsertItems__14wxCheckListBoxFiPC8wxStringT1
+ ;wxCheckListBox::sm_eventTable
+ sm_eventTable__14wxCheckListBox
+ ;wxCheckListBox::Delete(int)
+ Delete__14wxCheckListBoxFi
+ ;wxCheckListBox::GetEventTable() const
+ GetEventTable__14wxCheckListBoxCFv
+ __vft18wxCheckListBoxItem12wxOwnerDrawn
+ ;wxCheckListBox::wxCheckListBox(wxWindow*,int,const wxPoint&,const wxSize&,int,const wxString*,long,const wxValidator&,const wxString&)
+ __ct__14wxCheckListBoxFP8wxWindowiRC7wxPointRC6wxSizeT2PC8wxStringlRC11wxValidatorRC8wxString
+ ;wxCheckListBox::Check(unsigned int,unsigned long)
+ Check__14wxCheckListBoxFUiUl
+ ;wxCheckListBox::sm_classwxCheckListBox
+ sm_classwxCheckListBox__14wxCheckListBox
+ ;wxCheckListBox::CreateItem(unsigned int)
+ CreateItem__14wxCheckListBoxFUi
+ ;wxCheckListBox::IsChecked(unsigned int) const
+ IsChecked__14wxCheckListBoxCFUi
+ ;wxConstructorForwxCheckListBox()
+ wxConstructorForwxCheckListBox__Fv
+ ;wxCheckListBox::OnChar(wxKeyEvent&)
+ OnChar__14wxCheckListBoxFR10wxKeyEvent
+ ;wxCheckListBox::sm_eventTableEntries
+ sm_eventTableEntries__14wxCheckListBox
+ ;wxCheckListBox::wxCheckListBox()
+ __ct__14wxCheckListBoxFv
+ ;wxCheckListBoxItem::OnDrawItem(wxDC&,const wxRect&,wxOwnerDrawn::wxODAction,wxOwnerDrawn::wxODStatus)
+ OnDrawItem__18wxCheckListBoxItemFR4wxDCRC6wxRectQ2_12wxOwnerDrawn10wxODActionQ2_12wxOwnerDrawn10wxODStatus
+ ;wxCheckListBoxItem::Check(unsigned long)
+ Check__18wxCheckListBoxItemFUl
+ __vft14wxCheckListBox8wxObject
+ ;wxCheckListBox::SetFont(const wxFont&)
+ SetFont__14wxCheckListBoxFRC6wxFont
+ ;wxCheckListBox::OnLeftClick(wxMouseEvent&)
+ OnLeftClick__14wxCheckListBoxFR12wxMouseEvent
+ ;From object file: ..\os2\choice.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxChoice::DoGetItemClientData(int) const
+ DoGetItemClientData__8wxChoiceCFi
+ ;wxChoice::DoSetItemClientObject(int,wxClientData*)
+ DoSetItemClientObject__8wxChoiceFiP12wxClientData
+ ;wxChoice::DoSetItemClientData(int,void*)
+ DoSetItemClientData__8wxChoiceFiPv
+ ;wxChoice::Delete(int)
+ Delete__8wxChoiceFi
+ ;wxChoice::Clear()
+ Clear__8wxChoiceFv
+ ;wxChoice::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__8wxChoiceFUiPvT2
+ ;wxChoice::GetSelection() const
+ GetSelection__8wxChoiceCFv
+ ;wxChoice::Create(wxWindow*,int,const wxPoint&,const wxSize&,int,const wxString*,long,const wxValidator&,const wxString&)
+ Create__8wxChoiceFP8wxWindowiRC7wxPointRC6wxSizeT2PC8wxStringlRC11wxValidatorRC8wxString
+ ;wxChoice::DoSetSize(int,int,int,int,int)
+ DoSetSize__8wxChoiceFiN41
+ ;wxChoice::DoGetBestSize() const
+ DoGetBestSize__8wxChoiceCFv
+ ;wxChoice::DoAppend(const wxString&)
+ DoAppend__8wxChoiceFRC8wxString
+ ;wxChoice::OS2Command(unsigned int,unsigned short)
+ OS2Command__8wxChoiceFUiUs
+ ;wxChoice::FindString(const wxString&) const
+ FindString__8wxChoiceCFRC8wxString
+ ;wxChoice::SetSelection(int)
+ SetSelection__8wxChoiceFi
+ ;wxConstructorForwxChoice()
+ wxConstructorForwxChoice__Fv
+ __vft8wxChoice8wxObject
+ ;wxChoice::GetString(int) const
+ GetString__8wxChoiceCFi
+ ;wxChoice::sm_classwxChoice
+ sm_classwxChoice__8wxChoice
+ ;wxChoice::DoGetItemClientObject(int) const
+ DoGetItemClientObject__8wxChoiceCFi
+ ;wxChoice::GetCount() const
+ GetCount__8wxChoiceCFv
+ ;wxChoice::SetString(int,const wxString&)
+ SetString__8wxChoiceFiRC8wxString
+ ;From object file: ..\os2\clipbrd.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxClipboard::IsSupported(wxDataFormat)
+ IsSupported__11wxClipboardF12wxDataFormat
+ ;wxClipboard::GetData(wxDataObject*)
+ GetData__11wxClipboardFP12wxDataObject
+ ;wxGetClipboardFormatName(wxDataFormat,char*,int)
+ wxGetClipboardFormatName__F12wxDataFormatPci
+ ;wxClipboard::wxClipboard()
+ __ct__11wxClipboardFv
+ ;wxGetClipboardData(wxDataFormat,long*)
+ wxGetClipboardData__F12wxDataFormatPl
+ ;wxEnumClipboardFormats(wxDataFormat)
+ wxEnumClipboardFormats__F12wxDataFormat
+ __vft11wxClipboard8wxObject
+ ;wxClipboard::SetData(wxDataObject*)
+ SetData__11wxClipboardFP12wxDataObject
+ ;wxCloseClipboard()
+ wxCloseClipboard__Fv
+ ;wxIsClipboardOpened()
+ wxIsClipboardOpened__Fv
+ ;wxConstructorForwxClipboard()
+ wxConstructorForwxClipboard__Fv
+ ;wxClipboard::IsOpened() const
+ IsOpened__11wxClipboardCFv
+ ;wxClipboard::Close()
+ Close__11wxClipboardFv
+ ;wxSetClipboardData(wxDataFormat,const void*,int,int)
+ wxSetClipboardData__F12wxDataFormatPCviT3
+ ;wxOpenClipboard()
+ wxOpenClipboard__Fv
+ ;wxClipboard::AddData(wxDataObject*)
+ AddData__11wxClipboardFP12wxDataObject
+ ;wxClipboard::sm_classwxClipboard
+ sm_classwxClipboard__11wxClipboard
+ ;wxEmptyClipboard()
+ wxEmptyClipboard__Fv
+ ;wxClipboard::Open()
+ Open__11wxClipboardFv
+ ;wxClipboard::Flush()
+ Flush__11wxClipboardFv
+ ;wxIsClipboardFormatAvailable(wxDataFormat)
+ wxIsClipboardFormatAvailable__F12wxDataFormat
+ ;wxClipboard::~wxClipboard()
+ __dt__11wxClipboardFv
+ ;wxClipboard::Clear()
+ Clear__11wxClipboardFv
+ ;wxRegisterClipboardFormat(char*)
+ wxRegisterClipboardFormat__FPc
+ ;From object file: ..\os2\colour.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxColour::Set(unsigned char,unsigned char,unsigned char)
+ Set__8wxColourFUcN21
+ ;wxColour::wxColour()
+ __ct__8wxColourFv
+ ;wxColour::operator=(const wxColour&)
+ __as__8wxColourFRC8wxColour
+ ;wxColour::InitFromName(const wxString&)
+ InitFromName__8wxColourFRC8wxString
+ ;wxConstructorForwxColour()
+ wxConstructorForwxColour__Fv
+ __vft8wxColour8wxObject
+ ;wxColour::wxColour(unsigned char,unsigned char,unsigned char)
+ __ct__8wxColourFUcN21
+ ;wxColour::wxColour(const wxColour&)
+ __ct__8wxColourFRC8wxColour
+ ;wxColour::sm_classwxColour
+ sm_classwxColour__8wxColour
+ ;wxColour::~wxColour()
+ __dt__8wxColourFv
+ ;From object file: ..\os2\combobox.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxComboBox::sm_classwxComboBox
+ sm_classwxComboBox__10wxComboBox
+ ;wxComboBox::Copy()
+ Copy__10wxComboBoxFv
+ ;wxComboBox::GetLastPosition() const
+ GetLastPosition__10wxComboBoxCFv
+ ;wxComboBox::Cut()
+ Cut__10wxComboBoxFv
+ ;wxComboBox::Replace(long,long,const wxString&)
+ Replace__10wxComboBoxFlT1RC8wxString
+ __vft10wxComboBox8wxObject
+ ;wxComboBox::DoSetSize(int,int,int,int,int)
+ DoSetSize__10wxComboBoxFiN41
+ ;wxComboBox::Paste()
+ Paste__10wxComboBoxFv
+ ;wxComboBox::GetInsertionPoint() const
+ GetInsertionPoint__10wxComboBoxCFv
+ ;wxComboBox::SetEditable(unsigned long)
+ SetEditable__10wxComboBoxFUl
+ ;wxComboBox::SetInsertionPointEnd()
+ SetInsertionPointEnd__10wxComboBoxFv
+ ;wxComboBox::SetValue(const wxString&)
+ SetValue__10wxComboBoxFRC8wxString
+ ;wxComboBox::SetInsertionPoint(long)
+ SetInsertionPoint__10wxComboBoxFl
+ ;wxComboBox::Remove(long,long)
+ Remove__10wxComboBoxFlT1
+ ;wxComboBox::SetSelection(long,long)
+ SetSelection__10wxComboBoxFlT1
+ ;wxConstructorForwxComboBox()
+ wxConstructorForwxComboBox__Fv
+ ;wxComboBox::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,int,const wxString*,long,const wxValidator&,const wxString&)
+ Create__10wxComboBoxFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizeT2PC8wxStringlRC11wxValidatorT3
+ ;wxComboBox::OS2Command(unsigned int,unsigned short)
+ OS2Command__10wxComboBoxFUiUs
+ ;From object file: ..\os2\control.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxControl::OnEraseBackground(wxEraseEvent&)
+ OnEraseBackground__9wxControlFR12wxEraseEvent
+ ;wxControl::sm_eventTable
+ sm_eventTable__9wxControl
+ ;wxControl::OS2CreateControl(const char*,unsigned long,const wxPoint&,const wxSize&,const wxString&,unsigned long)
+ OS2CreateControl__9wxControlFPCcUlRC7wxPointRC6wxSizeRC8wxStringT2
+ ;wxControl::OS2OnNotify(int,void*,void**)
+ OS2OnNotify__9wxControlFiPvPPv
+ ;wxControl::GetExStyle(unsigned long&) const
+ GetExStyle__9wxControlCFRUl
+ ;wxControl::sm_eventTableEntries
+ sm_eventTableEntries__9wxControl
+ ;wxControl::sm_classwxControl
+ sm_classwxControl__9wxControl
+ ;wxControl::DoGetBestSize() const
+ DoGetBestSize__9wxControlCFv
+ ;wxControl::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__9wxControlFP8wxWindowiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxControl::ProcessCommand(wxCommandEvent&)
+ ProcessCommand__9wxControlFR14wxCommandEvent
+ ;wxControl::wxControl()
+ __ct__9wxControlFv
+ ;wxControl::GetEventTable() const
+ GetEventTable__9wxControlCFv
+ ;wxFindMaxSize(unsigned long,_RECTL*)
+ wxFindMaxSize__FUlP6_RECTL
+ __vft9wxControl8wxObject
+ ;wxControl::~wxControl()
+ __dt__9wxControlFv
+ ;From object file: ..\os2\cursor.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxCursorRefData::~wxCursorRefData()
+ __dt__15wxCursorRefDataFv
+ ;wxCursor::wxCursor(const wxString&,long,int,int)
+ __ct__8wxCursorFRC8wxStringliT3
+ __vft8wxCursor8wxObject
+ ;wxCursor::wxCursor(int)
+ __ct__8wxCursorFi
+ ;wxConstructorForwxCursor()
+ wxConstructorForwxCursor__Fv
+ ;wxCursorRefData::wxCursorRefData()
+ __ct__15wxCursorRefDataFv
+ ;wxCursor::SetHCURSOR(unsigned long)
+ SetHCURSOR__8wxCursorFUl
+ ;wxCursor::sm_classwxCursor
+ sm_classwxCursor__8wxCursor
+ ;wxCursor::FreeResource(unsigned long)
+ FreeResource__8wxCursorFUl
+ ;wxSetCursor(const wxCursor&)
+ wxSetCursor__FRC8wxCursor
+ ;wxCursor::~wxCursor()
+ __dt__8wxCursorFv
+ ;wxCursor::wxCursor(const char*,int,int,int,int,const char*)
+ __ct__8wxCursorFPCciN32T1
+ __vft15wxCursorRefData15wxObjectRefData
+ ;wxCursor::wxCursor()
+ __ct__8wxCursorFv
+ ;From object file: ..\os2\data.cpp
+ ;PUBDEFs (Symbols available from object file):
+ wxTheBrushList
+ wxThePenList
+ wxTheFontList
+ wxSWISS_FONT
+ wxGREEN_BRUSH
+ wxCYAN_BRUSH
+ wxNullPalette
+ wx_msg_str
+ wxWHITE_PEN
+ wxUserResourceStr
+ wxTreeCtrlNameStr
+ wxToolBarNameStr
+ wxTextCtrlWindowNameStr
+ wxRadioButtonNameStr
+ wxNullIcon
+ wxNullCursor
+ wxListBoxNameStr
+ wxFileSelectorPromptStr
+ wxEnhDialogNameStr
+ wxDialogNameStr
+ wxCheckBoxNameStr
+ wxCanvasNameStr
+ wxCYAN_PEN
+ wxButtonBarNameStr
+ wxNullBitmap
+ wxNORMAL_FONT
+ wxMEDIUM_GREY_BRUSH
+ wxTheColourDatabase
+ wxLIGHT_GREY
+ wxDefaultSize
+ wxBLUE
+ wxPageNumber
+ wxTextCtrlNameStr
+ wxStaticTextNameStr
+ wxStaticBoxNameStr
+ wxSliderNameStr
+ wxRED_PEN
+ wxMultiTextNameStr
+ wxMEDIUM_GREY_PEN
+ wxGaugeNameStr
+ wxGREEN
+ wxFrameNameStr
+ wxFatalErrorStr
+ wxDefaultPosition
+ wxBitmapRadioButtonNameStr
+ wxTheBitmapList
+ wxSMALL_FONT
+ wxRED
+ wxNullFont
+ wxNullBrush
+ wxITALIC_FONT
+ wxGREY_BRUSH
+ wxWHITE
+ wxBLACK_PEN
+ wxScrollBarNameStr
+ wxSTANDARD_CURSOR
+ wxMessageBoxCaptionStr
+ wxHOURGLASS_CURSOR
+ wxComboBoxNameStr
+ wxCROSS_CURSOR
+ wxTopLevelWindows
+ wxTRANSPARENT_BRUSH
+ wxWHITE_BRUSH
+ wxRED_BRUSH
+ wxNullColour
+ wxTRANSPARENT_PEN
+ wxStaticNameStr
+ wxStaticBitmapNameStr
+ wxPanelNameStr
+ wxNullPen
+ wxGetTextFromUserPromptStr
+ wxFloatToStringStr
+ wxButtonNameStr
+ wxBuffer
+ wxBLACK_DASHED_PEN
+ g_globalCursor
+ wxBLUE_BRUSH
+ wxLIGHT_GREY_BRUSH
+ wxBLACK_BRUSH
+ wxPendingDelete
+ wxNullAcceleratorTable
+ wxGREEN_PEN
+ wxVirtListBoxNameStr
+ wxStatusLineNameStr
+ wxRadioBoxNameStr
+ wxLIGHT_GREY_PEN
+ wxInternalErrorStr
+ wxGREY_PEN
+ wxFileSelectorDefaultWildcardStr
+ wxDoubleToStringStr
+ wxDirDialogNameStr
+ wxDirDialogDefaultFolderStr
+ wxChoiceNameStr
+ wxCYAN
+ wxBLACK
+ ;From object file: ..\os2\dataobj.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDataFormat::wxDataFormat()
+ __ct__12wxDataFormatFv
+ ;wxBitmapDataObject::SetData(unsigned int,const void*)
+ SetData__18wxBitmapDataObjectFUiPCv
+ ;wxDataFormat::SetId(unsigned short)
+ SetId__12wxDataFormatFUs
+ ;wxDataFormat::wxDataFormat(wxDataFormatId)
+ __ct__12wxDataFormatF14wxDataFormatId
+ ;wxDataObject::IsSupportedFormat(const wxDataFormat&,wxDataObjectBase::Direction) const
+ IsSupportedFormat__12wxDataObjectCFRC12wxDataFormatQ2_16wxDataObjectBase9Direction
+ ;wxFileDataObject::GetDataHere(void*) const
+ GetDataHere__16wxFileDataObjectCFPv
+ ;wxDataFormat::SetId(const char*)
+ SetId__12wxDataFormatFPCc
+ ;wxBitmapDataObject::wxBitmapDataObject(const wxBitmap&)
+ __ct__18wxBitmapDataObjectFRC8wxBitmap
+ __vft16wxFileDataObject16wxDataObjectBase
+ ;wxBitmapDataObject::~wxBitmapDataObject()
+ __dt__18wxBitmapDataObjectFv
+ ;wxDataFormat::wxDataFormat(const wxString&)
+ __ct__12wxDataFormatFRC8wxString
+ ;wxFileDataObject::AddFile(const wxString&)
+ AddFile__16wxFileDataObjectFRC8wxString
+ ;wxBitmapDataObject::SetBitmap(const wxBitmap&)
+ SetBitmap__18wxBitmapDataObjectFRC8wxBitmap
+ __vft18wxBitmapDataObject16wxDataObjectBase
+ ;wxDataFormat::PrepareFormats()
+ PrepareFormats__12wxDataFormatFv
+ ;wxBitmapDataObject::wxBitmapDataObject()
+ __ct__18wxBitmapDataObjectFv
+ ;wxFileDataObject::SetData(unsigned int,const void*)
+ SetData__16wxFileDataObjectFUiPCv
+ ;wxBitmapDataObject::GetDataHere(void*) const
+ GetDataHere__18wxBitmapDataObjectCFPv
+ ;wxDataFormat::SetType(wxDataFormatId)
+ SetType__12wxDataFormatF14wxDataFormatId
+ __vft12wxDataObject16wxDataObjectBase
+ ;wxDataObject::wxDataObject()
+ __ct__12wxDataObjectFv
+ ;wxDataFormat::GetType() const
+ GetType__12wxDataFormatCFv
+ ;wxDataFormat::GetId() const
+ GetId__12wxDataFormatCFv
+ ;wxFileDataObject::GetDataSize() const
+ GetDataSize__16wxFileDataObjectCFv
+ ;wxBitmapDataObject::DoConvertToPng()
+ DoConvertToPng__18wxBitmapDataObjectFv
+ ;wxDataFormat::wxDataFormat(const char*)
+ __ct__12wxDataFormatFPCc
+ ;wxDataFormat::wxDataFormat(unsigned short)
+ __ct__12wxDataFormatFUs
+ ;From object file: ..\os2\dc.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDC::SetFont(const wxFont&)
+ SetFont__4wxDCFRC6wxFont
+ ;wxDC::DoDrawArc(int,int,int,int,int,int)
+ DoDrawArc__4wxDCFiN51
+ ;wxDC::SetSystemScale(double,double)
+ SetSystemScale__4wxDCFdT1
+ ;wxDC::SetPalette(const wxPalette&)
+ SetPalette__4wxDCFRC9wxPalette
+ ;wxDC::SetLogicalOrigin(int,int)
+ SetLogicalOrigin__4wxDCFiT1
+ ;wxDC::SetAxisOrientation(unsigned long,unsigned long)
+ SetAxisOrientation__4wxDCFUlT1
+ ;wxDCBase::LogicalToDeviceYRel(int) const
+ LogicalToDeviceYRel__8wxDCBaseCFi
+ ;wxDC::DoDrawEllipse(int,int,int,int)
+ DoDrawEllipse__4wxDCFiN31
+ ;wxDCBase::DeviceToLogicalYRel(int) const
+ DeviceToLogicalYRel__8wxDCBaseCFi
+ ;wxDC::DrawAnyText(const wxString&,int,int)
+ DrawAnyText__4wxDCFRC8wxStringiT2
+ ;wxDC::sm_classwxDC
+ sm_classwxDC__4wxDC
+ ;wxDC::DoDrawRoundedRectangle(int,int,int,int,double)
+ DoDrawRoundedRectangle__4wxDCFiN31d
+ wx_spline_point_list
+ ;wxSpline::wxSpline(wxList*)
+ __ct__8wxSplineFP6wxList
+ ;wxDC::SetBrush(const wxBrush&)
+ SetBrush__4wxDCFRC7wxBrush
+ ;wxDC::DoDrawBitmap(const wxBitmap&,int,int,unsigned long)
+ DoDrawBitmap__4wxDCFRC8wxBitmapiT2Ul
+ ;wxDC::DoCrossHair(int,int)
+ DoCrossHair__4wxDCFiT1
+ ;wx_draw_open_spline(wxDC*,wxSpline*)
+ wx_draw_open_spline__FP4wxDCP8wxSpline
+ ;wxDC::SetUserScale(double,double)
+ SetUserScale__4wxDCFdT1
+ ;wxDC::SetMapMode(int)
+ SetMapMode__4wxDCFi
+ ;wxDC::SetBackgroundMode(int)
+ SetBackgroundMode__4wxDCFi
+ ;wxDCBase::LogicalToDeviceX(int) const
+ LogicalToDeviceX__8wxDCBaseCFi
+ ;wxDC::DoDrawRectangle(int,int,int,int)
+ DoDrawRectangle__4wxDCFiN31
+ ;wxDC::DoDrawPolygon(int,wxPoint*,int,int,int)
+ DoDrawPolygon__4wxDCFiP7wxPointN31
+ ;wxDC::DoDrawLines(int,wxPoint*,int,int)
+ DoDrawLines__4wxDCFiP7wxPointN21
+ ;wxDC::DoDrawCheckMark(int,int,int,int)
+ DoDrawCheckMark__4wxDCFiN31
+ ;wxDCBase::DeviceToLogicalX(int) const
+ DeviceToLogicalX__8wxDCBaseCFi
+ ;wxDC::~wxDC()
+ __dt__4wxDCFv
+ ;wxDC::GetCharHeight() const
+ GetCharHeight__4wxDCCFv
+ ;wxDC::DoDrawText(const wxString&,int,int)
+ DoDrawText__4wxDCFRC8wxStringiT2
+ ;wxDC::DestroyClippingRegion()
+ DestroyClippingRegion__4wxDCFv
+ ;wxSpline::DeletePoints()
+ DeletePoints__8wxSplineFv
+ ;wxDC::CanDrawBitmap() const
+ CanDrawBitmap__4wxDCCFv
+ ;wxDC::DoGetTextExtent(const wxString&,int*,int*,int*,int*,wxFont*) const
+ DoGetTextExtent__4wxDCCFRC8wxStringPiN32P6wxFont
+ __vft4wxDC8wxObject
+ ;wxDC::DoBlit(int,int,int,int,wxDC*,int,int,int,unsigned long)
+ DoBlit__4wxDCFiN31P4wxDCN31Ul
+ ;wxDC::DoFloodFill(int,int,const wxColour&,int)
+ DoFloodFill__4wxDCFiT1RC8wxColourT1
+ ;wx_quadratic_spline(double,double,double,double,double,double,double,double)
+ wx_quadratic_spline__FdN71
+ ;wxDC::SetLogicalFunction(int)
+ SetLogicalFunction__4wxDCFi
+ ;wxDCBase::LogicalToDeviceXRel(int) const
+ LogicalToDeviceXRel__8wxDCBaseCFi
+ ;wxDC::wxDC()
+ __ct__4wxDCFv
+ ;wx_clear_stack()
+ wx_clear_stack__Fv
+ ;wxSpline::~wxSpline()
+ __dt__8wxSplineFv
+ ;wxDC::GetPPI() const
+ GetPPI__4wxDCCFv
+ ;wxDC::GetDepth() const
+ GetDepth__4wxDCCFv
+ ;wxDC::EndPage()
+ EndPage__4wxDCFv
+ ;wxDC::DoSetClippingRegionAsRegion(const wxRegion&)
+ DoSetClippingRegionAsRegion__4wxDCFRC8wxRegion
+ ;wxDC::Clear()
+ Clear__4wxDCFv
+ ;wxDC::CanGetTextExtent() const
+ CanGetTextExtent__4wxDCCFv
+ ;wxDC::SelectOldObjects(unsigned long)
+ SelectOldObjects__4wxDCFUl
+ __vft8wxSpline8wxObject
+ ;wxDC::DoDrawSpline(wxList*)
+ DoDrawSpline__4wxDCFP6wxList
+ ;wxDC::DoSetClippingRegion(int,int,int,int)
+ DoSetClippingRegion__4wxDCFiN31
+ ;wxDC::DoGetSize(int*,int*) const
+ DoGetSize__4wxDCCFPiT1
+ ;wxDC::DoGetSizeMM(int*,int*) const
+ DoGetSizeMM__4wxDCCFPiT1
+ ;wxDC::DoDrawLine(int,int,int,int)
+ DoDrawLine__4wxDCFiN31
+ ;wxDC::DoDrawEllipticArc(int,int,int,int,double,double)
+ DoDrawEllipticArc__4wxDCFiN31dT5
+ ;wxDCBase::DeviceToLogicalY(int) const
+ DeviceToLogicalY__8wxDCBaseCFi
+ ;wxDCBase::DeviceToLogicalXRel(int) const
+ DeviceToLogicalXRel__8wxDCBaseCFi
+ ;wxDC::DoDrawIcon(const wxIcon&,int,int)
+ DoDrawIcon__4wxDCFRC6wxIconiT2
+ ;wxDC::StartPage()
+ StartPage__4wxDCFv
+ ;wxDC::GetCharWidth() const
+ GetCharWidth__4wxDCCFv
+ ;wxDC::DoDrawRotatedText(const wxString&,int,int,double)
+ DoDrawRotatedText__4wxDCFRC8wxStringiT2d
+ ;wxDC::SetRop(unsigned long)
+ SetRop__4wxDCFUl
+ ;wxDC::SetBackground(const wxBrush&)
+ SetBackground__4wxDCFRC7wxBrush
+ ;wxDC::DoDrawPoint(int,int)
+ DoDrawPoint__4wxDCFiT1
+ ;wx_spline_push(double,double,double,double,double,double,double,double)
+ wx_spline_push__FdN71
+ ;wx_spline_pop(double*,double*,double*,double*,double*,double*,double*,double*)
+ wx_spline_pop__FPdN71
+ ;wxDC::SetLogicalScale(double,double)
+ SetLogicalScale__4wxDCFdT1
+ ;wxDC::SetDeviceOrigin(int,int)
+ SetDeviceOrigin__4wxDCFiT1
+ ;wxDCBase::LogicalToDeviceY(int) const
+ LogicalToDeviceY__8wxDCBaseCFi
+ ;wxDC::DoGetPixel(int,int,wxColour*) const
+ DoGetPixel__4wxDCCFiT1P8wxColour
+ ;wxDC::SetPen(const wxPen&)
+ SetPen__4wxDCFRC5wxPen
+ ;wxDC::EndDoc()
+ EndDoc__4wxDCFv
+ ;wxDC::StartDoc(const wxString&)
+ StartDoc__4wxDCFRC8wxString
+ ;From object file: ..\os2\dcclient.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForwxPaintDC()
+ wxConstructorForwxPaintDC__Fv
+ ;wxArrayDCInfo::DoCopy(const wxArrayDCInfo&)
+ DoCopy__13wxArrayDCInfoFRC13wxArrayDCInfo
+ ;wxArrayDCInfo::Add(const wxPaintDCInfo&)
+ Add__13wxArrayDCInfoFRC13wxPaintDCInfo
+ ;wxPaintDC::wxPaintDC()
+ __ct__9wxPaintDCFv
+ ;wxArrayDCInfo::operator=(const wxArrayDCInfo&)
+ __as__13wxArrayDCInfoFRC13wxArrayDCInfo
+ ;wxClientDC::wxClientDC(wxWindow*)
+ __ct__10wxClientDCFP8wxWindow
+ __vft10wxWindowDC8wxObject
+ ;wxArrayDCInfo::Insert(const wxPaintDCInfo&,unsigned int)
+ Insert__13wxArrayDCInfoFRC13wxPaintDCInfoUi
+ ;wxConstructorForwxWindowDC()
+ wxConstructorForwxWindowDC__Fv
+ ;wxPaintDC::~wxPaintDC()
+ __dt__9wxPaintDCFv
+ ;wxClientDC::wxClientDC()
+ __ct__10wxClientDCFv
+ ;wxPaintDC::wxPaintDC(wxWindow*)
+ __ct__9wxPaintDCFP8wxWindow
+ ;wxArrayDCInfo::Index(const wxPaintDCInfo&,unsigned long) const
+ Index__13wxArrayDCInfoCFRC13wxPaintDCInfoUl
+ ;wxArrayDCInfo::RemoveAt(unsigned int)
+ RemoveAt__13wxArrayDCInfoFUi
+ ;wxPaintDC::FindInCache(unsigned int*) const
+ FindInCache__9wxPaintDCCFPUi
+ ;wxArrayDCInfo::DoEmpty()
+ DoEmpty__13wxArrayDCInfoFv
+ ;wxWindowDC::~wxWindowDC()
+ __dt__10wxWindowDCFv
+ ;wxClientDC::~wxClientDC()
+ __dt__10wxClientDCFv
+ ;wxClientDC::sm_classwxClientDC
+ sm_classwxClientDC__10wxClientDC
+ ;wxPaintDC::sm_classwxPaintDC
+ sm_classwxPaintDC__9wxPaintDC
+ __vft10wxClientDC8wxObject
+ __vft9wxPaintDC8wxObject
+ ;wxArrayDCInfo::~wxArrayDCInfo()
+ __dt__13wxArrayDCInfoFv
+ ;wxConstructorForwxClientDC()
+ wxConstructorForwxClientDC__Fv
+ ;wxWindowDC::wxWindowDC()
+ __ct__10wxWindowDCFv
+ ;wxArrayDCInfo::wxArrayDCInfo(const wxArrayDCInfo&)
+ __ct__13wxArrayDCInfoFRC13wxArrayDCInfo
+ ;wxWindowDC::sm_classwxWindowDC
+ sm_classwxWindowDC__10wxWindowDC
+ ;wxPaintDC::ms_cache
+ ms_cache__9wxPaintDC
+ g_isPainting
+ ;wxWindowDC::wxWindowDC(wxWindow*)
+ __ct__10wxWindowDCFP8wxWindow
+ ;From object file: ..\os2\dcmemory.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMemoryDC::SelectObject(const wxBitmap&)
+ SelectObject__10wxMemoryDCFRC8wxBitmap
+ __vft10wxMemoryDC8wxObject
+ ;wxMemoryDC::DoGetSize(int*,int*) const
+ DoGetSize__10wxMemoryDCCFPiT1
+ ;wxMemoryDC::wxMemoryDC(wxDC*)
+ __ct__10wxMemoryDCFP4wxDC
+ ;wxMemoryDC::wxMemoryDC()
+ __ct__10wxMemoryDCFv
+ ;wxMemoryDC::sm_classwxMemoryDC
+ sm_classwxMemoryDC__10wxMemoryDC
+ ;wxConstructorForwxMemoryDC()
+ wxConstructorForwxMemoryDC__Fv
+ ;wxMemoryDC::~wxMemoryDC()
+ __dt__10wxMemoryDCFv
+ ;From object file: ..\os2\dcprint.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPrinterDC::EndDoc()
+ EndDoc__11wxPrinterDCFv
+ ;wxPrinterDC::EndPage()
+ EndPage__11wxPrinterDCFv
+ ;wxGetPrinterDC(const wxPrintData&)
+ wxGetPrinterDC__FRC11wxPrintData
+ ;wxPrinterDC::sm_classwxPrinterDC
+ sm_classwxPrinterDC__11wxPrinterDC
+ ;wxPrinterDC::wxPrinterDC(unsigned long)
+ __ct__11wxPrinterDCFUl
+ __vft11wxPrinterDC8wxObject
+ ;wxPrinterDC::wxPrinterDC(const wxString&,const wxString&,const wxString&,unsigned long,int)
+ __ct__11wxPrinterDCFRC8wxStringN21Uli
+ ;wxPrinterDC::StartPage()
+ StartPage__11wxPrinterDCFv
+ ;wxPrinterDC::StartDoc(const wxString&)
+ StartDoc__11wxPrinterDCFRC8wxString
+ ;wxPrinterDC::wxPrinterDC(const wxPrintData&)
+ __ct__11wxPrinterDCFRC11wxPrintData
+ ;wxPrinterDC::~wxPrinterDC()
+ __dt__11wxPrinterDCFv
+ ;From object file: ..\os2\dcscreen.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxScreenDC::~wxScreenDC()
+ __dt__10wxScreenDCFv
+ ;wxConstructorForwxScreenDC()
+ wxConstructorForwxScreenDC__Fv
+ __vft10wxScreenDC8wxObject
+ ;wxScreenDC::sm_classwxScreenDC
+ sm_classwxScreenDC__10wxScreenDC
+ ;wxScreenDC::wxScreenDC()
+ __ct__10wxScreenDCFv
+ ;From object file: ..\os2\dialog.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDialog::SetModal(unsigned long)
+ SetModal__8wxDialogFUl
+ ;wxDialog::OnCancel(wxCommandEvent&)
+ OnCancel__8wxDialogFR14wxCommandEvent
+ ;wxDialog::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__8wxDialogFUlT1UiT3PvT5
+ ;wxDialog::IsIconized() const
+ IsIconized__8wxDialogCFv
+ ;wxDialog::IsModal() const
+ IsModal__8wxDialogCFv
+ ;wxDialog::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__8wxDialogFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxDialog::SetTitle(const wxString&)
+ SetTitle__8wxDialogFRC8wxString
+ ;wxDialog::OnPaint(wxPaintEvent&)
+ OnPaint__8wxDialogFR12wxPaintEvent
+ ;wxDialog::OnSize(wxSizeEvent&)
+ OnSize__8wxDialogFR11wxSizeEvent
+ wxModalDialogs
+ ;wxDialog::sm_eventTableEntries
+ sm_eventTableEntries__8wxDialog
+ ;wxDialog::OnOK(wxCommandEvent&)
+ OnOK__8wxDialogFR14wxCommandEvent
+ ;wxDialog::OnCloseWindow(wxCloseEvent&)
+ OnCloseWindow__8wxDialogFR12wxCloseEvent
+ ;wxDialog::DoSetClientSize(int,int)
+ DoSetClientSize__8wxDialogFiT1
+ ;wxDialog::GetPosition(int*,int*) const
+ GetPosition__8wxDialogCFPiT1
+ ;wxDialog::ShowModal()
+ ShowModal__8wxDialogFv
+ ;wxDialog::sm_classwxDialog
+ sm_classwxDialog__8wxDialog
+ ;wxDialog::OnCharHook(wxKeyEvent&)
+ OnCharHook__8wxDialogFR10wxKeyEvent
+ __vft8wxDialog8wxObject
+ ;wxDialog::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__8wxDialogFR23wxSysColourChangedEvent
+ ;wxDialog::Centre(int)
+ Centre__8wxDialogFi
+ ;wxDialog::wxDialog()
+ __ct__8wxDialogFv
+ ;wxDialog::GetTitle() const
+ GetTitle__8wxDialogCFv
+ ;wxDialog::Destroy()
+ Destroy__8wxDialogFv
+ ;wxDialog::Iconize(unsigned long)
+ Iconize__8wxDialogFUl
+ ;wxDialog::Show(unsigned long)
+ Show__8wxDialogFUl
+ ;wxDialog::OnApply(wxCommandEvent&)
+ OnApply__8wxDialogFR14wxCommandEvent
+ ;wxDialog::EndModal(int)
+ EndModal__8wxDialogFi
+ ;wxDialog::~wxDialog()
+ __dt__8wxDialogFv
+ ;wxConstructorForwxDialog()
+ wxConstructorForwxDialog__Fv
+ ;wxDialog::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__8wxDialogFUiPvT2
+ ;wxDialog::IsShown() const
+ IsShown__8wxDialogCFv
+ ;wxDialog::GetEventTable() const
+ GetEventTable__8wxDialogCFv
+ ;wxDialog::Fit()
+ Fit__8wxDialogFv
+ wxModelessWindows
+ ;wxDialog::sm_eventTable
+ sm_eventTable__8wxDialog
+ ;From object file: ..\os2\dirdlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDirDialog::sm_classwxDirDialog
+ sm_classwxDirDialog__11wxDirDialog
+ __vft11wxDirDialog8wxObject
+ ;wxDirDialog::ShowModal()
+ ShowModal__11wxDirDialogFv
+ ;wxDirDialog::wxDirDialog(wxWindow*,const wxString&,const wxString&,long,const wxPoint&)
+ __ct__11wxDirDialogFP8wxWindowRC8wxStringT2lRC7wxPoint
+ ;From object file: ..\os2\dnd.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxDropTarget::OnData(int,int,wxDragResult)
+ OnData__12wxDropTargetFiT112wxDragResult
+ __vft12wxDropTarget16wxDropTargetBase
+ __vft12wxDropSource16wxDropSourceBase
+ ;wxDropSource::~wxDropSource()
+ __dt__12wxDropSourceFv
+ ;wxDropTarget::wxDropTarget(wxDataObject*)
+ __ct__12wxDropTargetFP12wxDataObject
+ ;wxDropTarget::Revoke(unsigned long)
+ Revoke__12wxDropTargetFUl
+ ;wxDropTarget::Register(unsigned long)
+ Register__12wxDropTargetFUl
+ ;wxDropSource::DoDragDrop(unsigned long)
+ DoDragDrop__12wxDropSourceFUl
+ ;wxDropTarget::OnDrop(int,int)
+ OnDrop__12wxDropTargetFiT1
+ ;wxDropTarget::GetData()
+ GetData__12wxDropTargetFv
+ ;wxDropSource::wxDropSource(wxWindow*)
+ __ct__12wxDropSourceFP8wxWindow
+ ;wxDropSource::wxDropSource(wxDataObject&,wxWindow*)
+ __ct__12wxDropSourceFR12wxDataObjectP8wxWindow
+ ;wxDropTarget::OnDragOver(int,int,wxDragResult)
+ OnDragOver__12wxDropTargetFiT112wxDragResult
+ ;wxDropTarget::~wxDropTarget()
+ __dt__12wxDropTargetFv
+ ;wxDropSource::Init()
+ Init__12wxDropSourceFv
+ ;wxDropTarget::IsAcceptable(_DRAGINFO*)
+ IsAcceptable__12wxDropTargetFP9_DRAGINFO
+ ;From object file: ..\os2\filedlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSaveFileSelector(const char*,const char*,const char*,wxWindow*)
+ wxSaveFileSelector__FPCcN21P8wxWindow
+ ;wxFileSelector(const char*,const char*,const char*,const char*,const char*,int,wxWindow*,int,int)
+ wxFileSelector__FPCcN41iP8wxWindowN26
+ ;wxFileSelectorEx(const char*,const char*,const char*,int*,const char*,int,wxWindow*,int,int)
+ wxFileSelectorEx__FPCcN21PiT1iP8wxWindowN26
+ ;wxLoadFileSelector(const char*,const char*,const char*,wxWindow*)
+ wxLoadFileSelector__FPCcN21P8wxWindow
+ ;wxFileDialog::wxFileDialog(wxWindow*,const wxString&,const wxString&,const wxString&,const wxString&,long,const wxPoint&)
+ __ct__12wxFileDialogFP8wxWindowRC8wxStringN32lRC7wxPoint
+ ;wxFileDialog::ShowModal()
+ ShowModal__12wxFileDialogFv
+ __vft12wxFileDialog8wxObject
+ ;wxFileDialog::sm_classwxFileDialog
+ sm_classwxFileDialog__12wxFileDialog
+ ;From object file: ..\os2\font.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFont::SetStyle(int)
+ SetStyle__6wxFontFi
+ ;wxFont::IsFree() const
+ IsFree__6wxFontCFv
+ ;wxFont::GetFamily() const
+ GetFamily__6wxFontCFv
+ ;wxFont::GetFaceName() const
+ GetFaceName__6wxFontCFv
+ ;wxFontRefData::Init(int,int,int,int,unsigned long,const wxString&,wxFontEncoding)
+ Init__13wxFontRefDataFiN31UlRC8wxString14wxFontEncoding
+ ;wxFont::SetFamily(int)
+ SetFamily__6wxFontFi
+ __vft13wxFontRefData15wxObjectRefData
+ ;wxConstructorForwxFont()
+ wxConstructorForwxFont__Fv
+ ;wxFontRefData::~wxFontRefData()
+ __dt__13wxFontRefDataFv
+ ;wxFont::GetUnderlined() const
+ GetUnderlined__6wxFontCFv
+ ;wxFont::GetStyle() const
+ GetStyle__6wxFontCFv
+ ;wxFont::SetEncoding(wxFontEncoding)
+ SetEncoding__6wxFontF14wxFontEncoding
+ ;wxFont::FreeResource(unsigned long)
+ FreeResource__6wxFontFUl
+ ;wxFont::SetUnderlined(unsigned long)
+ SetUnderlined__6wxFontFUl
+ ;wxFont::GetFontId() const
+ GetFontId__6wxFontCFv
+ ;wxFont::GetEncoding() const
+ GetEncoding__6wxFontCFv
+ ;wxFont::SetFaceName(const wxString&)
+ SetFaceName__6wxFontFRC8wxString
+ __vft6wxFont8wxObject
+ ;wxFont::sm_classwxFont
+ sm_classwxFont__6wxFont
+ ;wxFont::Init()
+ Init__6wxFontFv
+ ;wxFont::GetResourceHandle()
+ GetResourceHandle__6wxFontFv
+ ;wxFont::SetPointSize(int)
+ SetPointSize__6wxFontFi
+ ;wxFont::SetWeight(int)
+ SetWeight__6wxFontFi
+ ;wxFont::~wxFont()
+ __dt__6wxFontFv
+ ;wxFont::Unshare()
+ Unshare__6wxFontFv
+ ;wxFont::RealizeResource()
+ RealizeResource__6wxFontFv
+ ;wxFont::GetWeight() const
+ GetWeight__6wxFontCFv
+ ;wxFont::GetPointSize() const
+ GetPointSize__6wxFontCFv
+ ;wxFont::Create(int,int,int,int,unsigned long,const wxString&,wxFontEncoding)
+ Create__6wxFontFiN31UlRC8wxString14wxFontEncoding
+ ;From object file: ..\os2\fontdlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForwxFontDialog()
+ wxConstructorForwxFontDialog__Fv
+ __vft12wxFontDialog8wxObject
+ ;wxFontDialog::wxFontDialog(wxWindow*,wxFontData*)
+ __ct__12wxFontDialogFP8wxWindowP10wxFontData
+ ;wxFontDialog::wxFontDialog()
+ __ct__12wxFontDialogFv
+ ;wxFontDialog::ShowModal()
+ ShowModal__12wxFontDialogFv
+ ;wxFontDialog::sm_classwxFontDialog
+ sm_classwxFontDialog__12wxFontDialog
+ ;wxFontDialog::Create(wxWindow*,wxFontData*)
+ Create__12wxFontDialogFP8wxWindowP10wxFontData
+ ;From object file: ..\os2\fontenum.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFontEnumerator::EnumerateFacenames(wxFontEncoding,unsigned long)
+ EnumerateFacenames__16wxFontEnumeratorF14wxFontEncodingUl
+ ;wxFontEnumeratorHelper::wxFontEnumeratorHelper(wxFontEnumerator*)
+ __ct__22wxFontEnumeratorHelperFP16wxFontEnumerator
+ ;wxFontEnumeratorHelper::DoEnumerate()
+ DoEnumerate__22wxFontEnumeratorHelperFv
+ __vft16wxFontEnumerator
+ ;wxFontEnumeratorHelper::OnFont() const
+ OnFont__22wxFontEnumeratorHelperCFv
+ ;wxFontEnumerator::EnumerateEncodings(const wxString&)
+ EnumerateEncodings__16wxFontEnumeratorFRC8wxString
+ ;wxFontEnumeratorHelper::SetEncoding(wxFontEncoding)
+ SetEncoding__22wxFontEnumeratorHelperF14wxFontEncoding
+ ;From object file: ..\os2\fontutil.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxNativeEncodingInfo::ToString() const
+ ToString__20wxNativeEncodingInfoCFv
+ ;wxTestFontEncoding(const wxNativeEncodingInfo&)
+ wxTestFontEncoding__FRC20wxNativeEncodingInfo
+ ;wxGetNativeFontEncoding(wxFontEncoding,wxNativeEncodingInfo*)
+ wxGetNativeFontEncoding__F14wxFontEncodingP20wxNativeEncodingInfo
+ ;wxNativeEncodingInfo::FromString(const wxString&)
+ FromString__20wxNativeEncodingInfoFRC8wxString
+ ;From object file: ..\os2\frame.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFrame::Show(unsigned long)
+ Show__7wxFrameFUl
+ ;wxFrame::Iconize(unsigned long)
+ Iconize__7wxFrameFUl
+ ;wxFrame::HandleMenuSelect(unsigned short,unsigned short,unsigned long)
+ HandleMenuSelect__7wxFrameFUsT1Ul
+ ;wxFrame::OS2TranslateMessage(void**)
+ OS2TranslateMessage__7wxFrameFPPv
+ ;wxFrame::HandlePaint()
+ HandlePaint__7wxFrameFv
+ ;wxFrame::OnCreateStatusBar(int,long,int,const wxString&)
+ OnCreateStatusBar__7wxFrameFilT1RC8wxString
+ ;wxFrame::OnActivate(wxActivateEvent&)
+ OnActivate__7wxFrameFR15wxActivateEvent
+ __vft7wxFrame8wxObject
+ ;wxFrame::DoSetClientSize(int,int)
+ DoSetClientSize__7wxFrameFiT1
+ ;wxFrame::HandleSize(int,int,unsigned int)
+ HandleSize__7wxFrameFiT1Ui
+ ;wxConstructorForwxFrame()
+ wxConstructorForwxFrame__Fv
+ ;wxFrame::SetIcon(const wxIcon&)
+ SetIcon__7wxFrameFRC6wxIcon
+ ;wxFrame::Restore()
+ Restore__7wxFrameFv
+ ;wxFrame::IsMaximized() const
+ IsMaximized__7wxFrameCFv
+ ;wxFrame::IsIconized() const
+ IsIconized__7wxFrameCFv
+ ;wxFrame::GetClientAreaOrigin() const
+ GetClientAreaOrigin__7wxFrameCFv
+ ;wxFrame::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__7wxFrameFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxFrame::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__7wxFrameFR23wxSysColourChangedEvent
+ ;wxFrame::ShowFullScreen(unsigned long,long)
+ ShowFullScreen__7wxFrameFUll
+ ;wxFrame::DoShowWindow(int)
+ DoShowWindow__7wxFrameFi
+ ;wxFrame::sm_eventTable
+ sm_eventTable__7wxFrame
+ ;wxFrame::sm_eventTableEntries
+ sm_eventTableEntries__7wxFrame
+ ;wxFrame::sm_classwxFrame
+ sm_classwxFrame__7wxFrame
+ ;wxFrame::m_bUseNativeStatusBar
+ m_bUseNativeStatusBar__7wxFrame
+ ;wxFrame::~wxFrame()
+ __dt__7wxFrameFv
+ ;wxFrame::OS2Create(int,wxWindow*,const char*,wxWindow*,const char*,int,int,int,int,long)
+ OS2Create__7wxFrameFiP8wxWindowPCcT2T3N41l
+ ;wxFrame::HandleCommand(unsigned short,unsigned short,unsigned long)
+ HandleCommand__7wxFrameFUsT1Ul
+ ;wxFrame::DoGetSize(int*,int*) const
+ DoGetSize__7wxFrameCFPiT1
+ ;wxFrame::DoGetPosition(int*,int*) const
+ DoGetPosition__7wxFrameCFPiT1
+ ;wxFrame::PositionStatusBar()
+ PositionStatusBar__7wxFrameFv
+ ;wxFrame::PositionToolBar()
+ PositionToolBar__7wxFrameFv
+ ;wxFrame::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__7wxFrameFUiPvT2
+ ;wxFrame::InternalSetMenuBar()
+ InternalSetMenuBar__7wxFrameFv
+ ;wxFrame::CreateToolBar(long,int,const wxString&)
+ CreateToolBar__7wxFrameFliRC8wxString
+ ;wxFrame::Maximize(unsigned long)
+ Maximize__7wxFrameFUl
+ ;wxFrame::IconizeChildFrames(unsigned long)
+ IconizeChildFrames__7wxFrameFUl
+ ;wxFrame::DoGetClientSize(int*,int*) const
+ DoGetClientSize__7wxFrameCFPiT1
+ ;wxFrame::Init()
+ Init__7wxFrameFv
+ ;wxFrame::SetMenuBar(wxMenuBar*)
+ SetMenuBar__7wxFrameFP9wxMenuBar
+ ;wxFrame::GetEventTable() const
+ GetEventTable__7wxFrameCFv
+ ;wxFrame::DetachMenuBar()
+ DetachMenuBar__7wxFrameFv
+ ;From object file: ..\os2\gauge.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft7wxGauge8wxObject
+ ;wxGauge::SetValue(int)
+ SetValue__7wxGaugeFi
+ ;wxGauge::sm_classwxGauge
+ sm_classwxGauge__7wxGauge
+ ;wxGauge::SetForegroundColour(const wxColour&)
+ SetForegroundColour__7wxGaugeFRC8wxColour
+ ;wxConstructorForwxGauge()
+ wxConstructorForwxGauge__Fv
+ ;wxGauge::SetBackgroundColour(const wxColour&)
+ SetBackgroundColour__7wxGaugeFRC8wxColour
+ ;wxGauge::GetRange() const
+ GetRange__7wxGaugeCFv
+ ;wxGauge::Create(wxWindow*,int,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__7wxGaugeFP8wxWindowiT2RC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxGauge::SetShadowWidth(int)
+ SetShadowWidth__7wxGaugeFi
+ ;wxGauge::SetRange(int)
+ SetRange__7wxGaugeFi
+ ;wxGauge::SetBezelFace(int)
+ SetBezelFace__7wxGaugeFi
+ ;wxGauge::GetShadowWidth() const
+ GetShadowWidth__7wxGaugeCFv
+ ;wxGauge::GetValue() const
+ GetValue__7wxGaugeCFv
+ ;wxGauge::GetBezelFace() const
+ GetBezelFace__7wxGaugeCFv
+ ;From object file: ..\os2\gdiimage.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxConstructorForwxICOFileHandler()
+ wxConstructorForwxICOFileHandler__Fv
+ ;wxICOFileHandler::sm_classwxICOFileHandler
+ sm_classwxICOFileHandler__16wxICOFileHandler
+ ;wxGDIImage::InitStandardHandlers()
+ InitStandardHandlers__10wxGDIImageFv
+ ;wxGDIImage::FreeResource(unsigned long)
+ FreeResource__10wxGDIImageFUl
+ __vft20wxICOResourceHandler8wxObject
+ ;wxGDIImage::FindHandler(const wxString&,long)
+ FindHandler__10wxGDIImageFRC8wxStringl
+ ;wxBMPFileHandler::LoadFile(wxBitmap*,const wxString&,unsigned long,long,int,int)
+ LoadFile__16wxBMPFileHandlerFP8wxBitmapRC8wxStringUlliT5
+ ;wxICOFileHandler::LoadIcon(wxIcon*,const wxString&,unsigned long,long,int,int)
+ LoadIcon__16wxICOFileHandlerFP6wxIconRC8wxStringUlliT5
+ ;wxConstructorForwxICOResourceHandler()
+ wxConstructorForwxICOResourceHandler__Fv
+ ;wxBMPFileHandler::sm_classwxBMPFileHandler
+ sm_classwxBMPFileHandler__16wxBMPFileHandler
+ ;wxGDIImage::CleanUpHandlers()
+ CleanUpHandlers__10wxGDIImageFv
+ ;wxGDIImage::AddHandler(wxGDIImageHandler*)
+ AddHandler__10wxGDIImageFP17wxGDIImageHandler
+ ;wxGDIImage::FindHandler(long)
+ FindHandler__10wxGDIImageFl
+ __vft20wxBMPResourceHandler8wxObject
+ ;wxBMPResourceHandler::LoadFile(wxBitmap*,const wxString&,unsigned long,long,int,int)
+ LoadFile__20wxBMPResourceHandlerFP8wxBitmapRC8wxStringUlliT5
+ ;wxICOResourceHandler::LoadIcon(wxIcon*,const wxString&,unsigned long,long,int,int)
+ LoadIcon__20wxICOResourceHandlerFP6wxIconRC8wxStringUlliT5
+ ;wxConstructorForwxBMPResourceHandler()
+ wxConstructorForwxBMPResourceHandler__Fv
+ ;wxGDIImage::FindHandler(const wxString&)
+ FindHandler__10wxGDIImageFRC8wxString
+ ;wxBMPFileHandler::SaveFile(wxBitmap*,const wxString&,int,const wxPalette*)
+ SaveFile__16wxBMPFileHandlerFP8wxBitmapRC8wxStringiPC9wxPalette
+ ;wxGDIImage::ms_handlers
+ ms_handlers__10wxGDIImage
+ ;wxConstructorForwxBMPFileHandler()
+ wxConstructorForwxBMPFileHandler__Fv
+ ;wxGDIImage::InsertHandler(wxGDIImageHandler*)
+ InsertHandler__10wxGDIImageFP17wxGDIImageHandler
+ __vft10wxGDIImage8wxObject
+ __vft16wxICOFileHandler8wxObject
+ __vft16wxBMPFileHandler8wxObject
+ ;wxGDIImage::GetResourceHandle()
+ GetResourceHandle__10wxGDIImageFv
+ ;wxICOResourceHandler::sm_classwxICOResourceHandler
+ sm_classwxICOResourceHandler__20wxICOResourceHandler
+ ;wxBMPResourceHandler::sm_classwxBMPResourceHandler
+ sm_classwxBMPResourceHandler__20wxBMPResourceHandler
+ ;wxGDIImage::RemoveHandler(const wxString&)
+ RemoveHandler__10wxGDIImageFRC8wxString
+ ;From object file: ..\os2\gdiobj.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxGDIObject::sm_classwxGDIObject
+ sm_classwxGDIObject__11wxGDIObject
+ ;wxConstructorForwxGDIObject()
+ wxConstructorForwxGDIObject__Fv
+ ;From object file: ..\os2\gsocket.c
+ ;PUBDEFs (Symbols available from object file):
+ GSocket_Cleanup
+ GSocket_SetLocal
+ GSocket_Select
+ GSocket_SetPeer
+ GSocket_WaitConnection
+ GSocket_GetError
+ GSocket_Init
+ GSocket_SetNonOriented
+ _GSocket_Enable
+ _GSocket_Send_Dgram
+ _GSocket_Disable
+ GAddress_SetFamily
+ GSocket_Shutdown
+ GSocket_GetPeer
+ GAddress_new
+ ;_GAddress_Init_UNIX(_GAddress*)
+ _GAddress_Init_UNIX__FP9_GAddress
+ GSocket_SetNonBlocking
+ GAddress_INET_SetAnyAddress
+ GAddress_INET_GetHostAddress
+ _GSocket_Recv_Dgram
+ _GSocket_Send_Stream
+ GSocket_SetCallback
+ GSocket_GetLocal
+ _GSocket_Input_Timeout
+ _GAddress_Init_INET
+ GSocket_Read
+ GSocket_Connect
+ GAddress_UNIX_GetPath
+ GAddress_INET_GetPort
+ GSocket_destroy
+ _GAddress_translate_from
+ GAddress_destroy
+ GAddress_copy
+ GAddress_INET_SetPortName
+ GAddress_INET_SetHostName
+ GAddress_GetFamily
+ GSocket_new
+ GAddress_INET_SetHostAddress
+ _GSocket_Output_Timeout
+ _GSocket_Detected_Read
+ GSocket_SetTimeout
+ GAddress_UNIX_SetPath
+ GAddress_INET_SetPort
+ _GSocket_Recv_Stream
+ _GSocket_Detected_Write
+ GSocket_Write
+ GAddress_INET_GetHostName
+ GSocket_SetServer
+ GSocket_UnsetCallback
+ _GAddress_translate_to
+ ;From object file: ..\os2\helpwin.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxWinHelpController::Initialize(const wxString&)
+ Initialize__19wxWinHelpControllerFRC8wxString
+ ;wxWinHelpController::KeywordSearch(const wxString&)
+ KeywordSearch__19wxWinHelpControllerFRC8wxString
+ ;wxWinHelpController::DisplayBlock(long)
+ DisplayBlock__19wxWinHelpControllerFl
+ ;wxWinHelpController::Quit()
+ Quit__19wxWinHelpControllerFv
+ ;wxWinHelpController::sm_classwxWinHelpController
+ sm_classwxWinHelpController__19wxWinHelpController
+ ;wxWinHelpController::DisplaySection(int)
+ DisplaySection__19wxWinHelpControllerFi
+ ;wxConstructorForwxWinHelpController()
+ wxConstructorForwxWinHelpController__Fv
+ __vft19wxWinHelpController8wxObject
+ ;wxWinHelpController::~wxWinHelpController()
+ __dt__19wxWinHelpControllerFv
+ ;wxWinHelpController::DisplayContents()
+ DisplayContents__19wxWinHelpControllerFv
+ ;wxWinHelpController::LoadFile(const wxString&)
+ LoadFile__19wxWinHelpControllerFRC8wxString
+ ;wxWinHelpController::wxWinHelpController()
+ __ct__19wxWinHelpControllerFv
+ ;wxWinHelpController::OnQuit()
+ OnQuit__19wxWinHelpControllerFv
+ ;From object file: ..\os2\icon.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft13wxIconRefData15wxObjectRefData
+ ;wxConstructorForwxIcon()
+ wxConstructorForwxIcon__Fv
+ ;wxIcon::sm_classwxIcon
+ sm_classwxIcon__6wxIcon
+ ;wxIconRefData::Free()
+ Free__13wxIconRefDataFv
+ ;wxIcon::wxIcon(const char*,int,int)
+ __ct__6wxIconFPCciT2
+ ;wxIcon::wxIcon(const wxString&,long,int,int)
+ __ct__6wxIconFRC8wxStringliT3
+ ;wxIcon::LoadFile(const wxString&,long,int,int)
+ LoadFile__6wxIconFRC8wxStringliT3
+ ;wxIcon::~wxIcon()
+ __dt__6wxIconFv
+ __vft6wxIcon8wxObject
+ ;wxIcon::wxIcon()
+ __ct__6wxIconFv
+ ;From object file: ..\os2\iniconf.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxIniConfig::GetNextGroup(wxString&,long&) const
+ GetNextGroup__11wxIniConfigCFR8wxStringRl
+ ;wxIniConfig::Write(const wxString&,long)
+ Write__11wxIniConfigFRC8wxStringl
+ ;wxIniConfig::GetNumberOfGroups(unsigned long) const
+ GetNumberOfGroups__11wxIniConfigCFUl
+ ;wxIniConfig::RenameGroup(const wxString&,const wxString&)
+ RenameGroup__11wxIniConfigFRC8wxStringT1
+ ;wxIniConfig::GetKeyName(const wxString&) const
+ GetKeyName__11wxIniConfigCFRC8wxString
+ ;wxIniConfig::GetNextEntry(wxString&,long&) const
+ GetNextEntry__11wxIniConfigCFR8wxStringRl
+ ;wxIniConfig::GetNumberOfEntries(unsigned long) const
+ GetNumberOfEntries__11wxIniConfigCFUl
+ ;wxIniConfig::Flush(unsigned long)
+ Flush__11wxIniConfigFUl
+ ;wxIniConfig::~wxIniConfig()
+ __dt__11wxIniConfigFv
+ ;wxIniConfig::GetFirstEntry(wxString&,long&) const
+ GetFirstEntry__11wxIniConfigCFR8wxStringRl
+ ;wxIniConfig::Write(const wxString&,const wxString&)
+ Write__11wxIniConfigFRC8wxStringT1
+ __vft11wxIniConfig12wxConfigBase
+ ;wxIniConfig::IsEmpty() const
+ IsEmpty__11wxIniConfigCFv
+ ;wxIniConfig::GetPrivateKeyName(const wxString&) const
+ GetPrivateKeyName__11wxIniConfigCFRC8wxString
+ ;wxIniConfig::HasGroup(const wxString&) const
+ HasGroup__11wxIniConfigCFRC8wxString
+ ;wxIniConfig::wxIniConfig(const wxString&,const wxString&,const wxString&,const wxString&,long)
+ __ct__11wxIniConfigFRC8wxStringN31l
+ ;wxIniConfig::Read(const wxString&,long*) const
+ Read__11wxIniConfigCFRC8wxStringPl
+ ;wxIniConfig::DeleteEntry(const wxString&,unsigned long)
+ DeleteEntry__11wxIniConfigFRC8wxStringUl
+ ;wxIniConfig::Read(const wxString&,wxString*,const wxString&) const
+ Read__11wxIniConfigCFRC8wxStringP8wxStringT1
+ ;wxIniConfig::RenameEntry(const wxString&,const wxString&)
+ RenameEntry__11wxIniConfigFRC8wxStringT1
+ ;wxIniConfig::GetPath() const
+ GetPath__11wxIniConfigCFv
+ ;wxIniConfig::DeleteAll()
+ DeleteAll__11wxIniConfigFv
+ ;wxIniConfig::SetPath(const wxString&)
+ SetPath__11wxIniConfigFRC8wxString
+ ;wxIniConfig::GetFirstGroup(wxString&,long&) const
+ GetFirstGroup__11wxIniConfigCFR8wxStringRl
+ ;wxIniConfig::HasEntry(const wxString&) const
+ HasEntry__11wxIniConfigCFRC8wxString
+ ;wxIniConfig::Read(const wxString&,wxString*) const
+ Read__11wxIniConfigCFRC8wxStringP8wxString
+ ;wxIniConfig::DeleteGroup(const wxString&)
+ DeleteGroup__11wxIniConfigFRC8wxString
+ ;From object file: ..\os2\joystick.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxJoystick::SetMovementThreshold(int)
+ SetMovementThreshold__10wxJoystickFi
+ ;wxConstructorForwxJoystick()
+ wxConstructorForwxJoystick__Fv
+ ;wxJoystick::HasV() const
+ HasV__10wxJoystickCFv
+ ;wxJoystick::HasPOV() const
+ HasPOV__10wxJoystickCFv
+ ;wxJoystick::GetRudderPosition() const
+ GetRudderPosition__10wxJoystickCFv
+ ;wxJoystick::GetPollingMin() const
+ GetPollingMin__10wxJoystickCFv
+ ;wxJoystick::GetNumberAxes() const
+ GetNumberAxes__10wxJoystickCFv
+ ;wxJoystick::SetCapture(wxWindow*,int)
+ SetCapture__10wxJoystickFP8wxWindowi
+ ;wxJoystick::GetMovementThreshold() const
+ GetMovementThreshold__10wxJoystickCFv
+ ;wxJoystick::HasZ() const
+ HasZ__10wxJoystickCFv
+ ;wxJoystick::GetXMin() const
+ GetXMin__10wxJoystickCFv
+ ;wxJoystick::GetXMax() const
+ GetXMax__10wxJoystickCFv
+ ;wxJoystick::GetUMin() const
+ GetUMin__10wxJoystickCFv
+ ;wxJoystick::GetUMax() const
+ GetUMax__10wxJoystickCFv
+ ;wxJoystick::GetProductName() const
+ GetProductName__10wxJoystickCFv
+ ;wxJoystick::GetProductId() const
+ GetProductId__10wxJoystickCFv
+ ;wxJoystick::GetZPosition() const
+ GetZPosition__10wxJoystickCFv
+ ;wxJoystick::HasU() const
+ HasU__10wxJoystickCFv
+ ;wxJoystick::HasPOVCTS() const
+ HasPOVCTS__10wxJoystickCFv
+ ;wxJoystick::GetYMin() const
+ GetYMin__10wxJoystickCFv
+ ;wxJoystick::GetYMax() const
+ GetYMax__10wxJoystickCFv
+ ;wxJoystick::GetVMin() const
+ GetVMin__10wxJoystickCFv
+ ;wxJoystick::GetVMax() const
+ GetVMax__10wxJoystickCFv
+ ;wxJoystick::GetUPosition() const
+ GetUPosition__10wxJoystickCFv
+ ;wxJoystick::GetNumberJoysticks() const
+ GetNumberJoysticks__10wxJoystickCFv
+ ;wxJoystick::sm_classwxJoystick
+ sm_classwxJoystick__10wxJoystick
+ ;wxJoystick::GetPosition() const
+ GetPosition__10wxJoystickCFv
+ ;wxJoystick::ReleaseCapture()
+ ReleaseCapture__10wxJoystickFv
+ ;wxJoystick::HasRudder() const
+ HasRudder__10wxJoystickCFv
+ ;wxJoystick::GetZMin() const
+ GetZMin__10wxJoystickCFv
+ ;wxJoystick::GetZMax() const
+ GetZMax__10wxJoystickCFv
+ ;wxJoystick::GetVPosition() const
+ GetVPosition__10wxJoystickCFv
+ ;wxJoystick::GetPollingMax() const
+ GetPollingMax__10wxJoystickCFv
+ ;wxJoystick::GetPOVPosition() const
+ GetPOVPosition__10wxJoystickCFv
+ ;wxJoystick::GetPOVCTSPosition() const
+ GetPOVCTSPosition__10wxJoystickCFv
+ ;wxJoystick::GetNumberButtons() const
+ GetNumberButtons__10wxJoystickCFv
+ ;wxJoystick::GetMaxButtons() const
+ GetMaxButtons__10wxJoystickCFv
+ ;wxJoystick::GetManufacturerId() const
+ GetManufacturerId__10wxJoystickCFv
+ ;wxJoystick::GetButtonState() const
+ GetButtonState__10wxJoystickCFv
+ ;wxJoystick::IsOk() const
+ IsOk__10wxJoystickCFv
+ ;wxJoystick::HasPOV4Dir() const
+ HasPOV4Dir__10wxJoystickCFv
+ ;wxJoystick::GetRudderMin() const
+ GetRudderMin__10wxJoystickCFv
+ ;wxJoystick::GetRudderMax() const
+ GetRudderMax__10wxJoystickCFv
+ ;wxJoystick::GetMaxAxes() const
+ GetMaxAxes__10wxJoystickCFv
+ ;From object file: ..\os2\listbox.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxListBox::CreateItem(unsigned int)
+ CreateItem__9wxListBoxFUi
+ ;wxListBox::GetString(int) const
+ GetString__9wxListBoxCFi
+ ;wxListBox::DoInsertItems(const wxArrayString&,int)
+ DoInsertItems__9wxListBoxFRC13wxArrayStringi
+ ;wxListBox::Delete(int)
+ Delete__9wxListBoxFi
+ ;wxListBox::wxListBox()
+ __ct__9wxListBoxFv
+ ;wxListBox::SetupColours()
+ SetupColours__9wxListBoxFv
+ ;wxListBox::OS2OnMeasure(void**)
+ OS2OnMeasure__9wxListBoxFPPv
+ ;wxListBox::DoSetItemClientData(int,void*)
+ DoSetItemClientData__9wxListBoxFiPv
+ ;wxListBox::DoAppend(const wxString&)
+ DoAppend__9wxListBoxFRC8wxString
+ ;wxListBox::SetHorizontalExtent(const wxString&)
+ SetHorizontalExtent__9wxListBoxFRC8wxString
+ ;wxListBox::OS2Command(unsigned int,unsigned short)
+ OS2Command__9wxListBoxFUiUs
+ ;wxListBox::sm_classwxListBox
+ sm_classwxListBox__9wxListBox
+ ;wxListBox::DoSetFirstItem(int)
+ DoSetFirstItem__9wxListBoxFi
+ ;wxListBox::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__9wxListBoxFUlT1UiT3PvT5
+ ;wxListBox::IsSelected(int) const
+ IsSelected__9wxListBoxCFi
+ ;wxListBox::SetString(int,const wxString&)
+ SetString__9wxListBoxFiRC8wxString
+ __vft9wxListBox8wxObject
+ ;wxListBox::~wxListBox()
+ __dt__9wxListBoxFv
+ ;wxListBox::GetSelection() const
+ GetSelection__9wxListBoxCFv
+ ;wxListBox::DoSetItems(const wxArrayString&,void**)
+ DoSetItems__9wxListBoxFRC13wxArrayStringPPv
+ ;wxListBox::Clear()
+ Clear__9wxListBoxFv
+ ;wxListBox::DoGetItemClientData(int) const
+ DoGetItemClientData__9wxListBoxCFi
+ ;wxListBox::DoSetItemClientObject(int,wxClientData*)
+ DoSetItemClientObject__9wxListBoxFiP12wxClientData
+ ;wxListBox::GetCount() const
+ GetCount__9wxListBoxCFv
+ ;wxListBoxItem::wxListBoxItem(const wxString&)
+ __ct__13wxListBoxItemFRC8wxString
+ ;wxListBox::SetSelection(int,unsigned long)
+ SetSelection__9wxListBoxFiUl
+ ;wxListBox::GetSelections(wxArrayInt&) const
+ GetSelections__9wxListBoxCFR10wxArrayInt
+ ;wxListBox::DoGetItemClientObject(int) const
+ DoGetItemClientObject__9wxListBoxCFi
+ ;wxConstructorForwxListBox()
+ wxConstructorForwxListBox__Fv
+ ;wxListBox::OS2OnDraw(void**)
+ OS2OnDraw__9wxListBoxFPPv
+ ;wxListBox::HasMultipleSelection() const
+ HasMultipleSelection__9wxListBoxCFv
+ ;wxListBox::DoGetBestSize() const
+ DoGetBestSize__9wxListBoxCFv
+ ;wxListBox::Create(wxWindow*,int,const wxPoint&,const wxSize&,int,const wxString*,long,const wxValidator&,const wxString&)
+ Create__9wxListBoxFP8wxWindowiRC7wxPointRC6wxSizeT2PC8wxStringlRC11wxValidatorRC8wxString
+ ;wxListBox::FindString(const wxString&) const
+ FindString__9wxListBoxCFRC8wxString
+ ;From object file: ..\os2\main.cpp
+ ;PUBDEFs (Symbols available from object file):
+ main
+ ;From object file: ..\os2\mdi.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMDIParentFrame::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__16wxMDIParentFrameFR23wxSysColourChangedEvent
+ ;wxMDIClientWindow::GetEventTable() const
+ GetEventTable__17wxMDIClientWindowCFv
+ ;wxMDIChildFrame::~wxMDIChildFrame()
+ __dt__15wxMDIChildFrameFv
+ ;wxMDIParentFrame::ArrangeIcons()
+ ArrangeIcons__16wxMDIParentFrameFv
+ ;wxMDIParentFrame::ActivatePrevious()
+ ActivatePrevious__16wxMDIParentFrameFv
+ ;wxMDIClientWindow::sm_classwxMDIClientWindow
+ sm_classwxMDIClientWindow__17wxMDIClientWindow
+ ;wxMDIParentFrame::OnSize(wxSizeEvent&)
+ OnSize__16wxMDIParentFrameFR11wxSizeEvent
+ ;wxMDIChildFrame::Maximize(unsigned long)
+ Maximize__15wxMDIChildFrameFUl
+ ;wxMDIClientWindow::CreateClient(wxMDIParentFrame*,long)
+ CreateClient__17wxMDIClientWindowFP16wxMDIParentFramel
+ ;wxMDIChildFrame::DoSetClientSize(int,int)
+ DoSetClientSize__15wxMDIChildFrameFiT1
+ ;wxMDIParentFrame::sm_classwxMDIParentFrame
+ sm_classwxMDIParentFrame__16wxMDIParentFrame
+ ;wxMDIParentFrame::GetEventTable() const
+ GetEventTable__16wxMDIParentFrameCFv
+ ;wxMDIParentFrame::~wxMDIParentFrame()
+ __dt__16wxMDIParentFrameFv
+ ;wxMDIParentFrame::Tile()
+ Tile__16wxMDIParentFrameFv
+ ;wxMDIChildFrame::Restore()
+ Restore__15wxMDIChildFrameFv
+ ;wxMDIParentFrame::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__16wxMDIParentFrameFUiPvT2
+ ;wxMDIParentFrame::OS2TranslateMessage(void**)
+ OS2TranslateMessage__16wxMDIParentFrameFPPv
+ ;wxMDIParentFrame::OS2DefWindowProc(unsigned int,void*,void*)
+ OS2DefWindowProc__16wxMDIParentFrameFUiPvT2
+ ;wxMDIParentFrame::InternalSetMenuBar()
+ InternalSetMenuBar__16wxMDIParentFrameFv
+ ;wxMDIChildFrame::HandleWindowPosChanging(void*)
+ HandleWindowPosChanging__15wxMDIChildFrameFPv
+ ;wxMDIParentFrame::Cascade()
+ Cascade__16wxMDIParentFrameFv
+ ;wxMDIParentFrame::HandleCommand(unsigned short,unsigned short,unsigned long)
+ HandleCommand__16wxMDIParentFrameFUsT1Ul
+ ;wxMDIClientWindow::OnScroll(wxScrollEvent&)
+ OnScroll__17wxMDIClientWindowFR13wxScrollEvent
+ ;wxMDIChildFrame::HandleCommand(unsigned short,unsigned short,unsigned long)
+ HandleCommand__15wxMDIChildFrameFUsT1Ul
+ ;wxMDIChildFrame::sm_classwxMDIChildFrame
+ sm_classwxMDIChildFrame__15wxMDIChildFrame
+ ;wxMDIParentFrame::wxMDIParentFrame()
+ __ct__16wxMDIParentFrameFv
+ ;wxMDIChildFrame::OS2TranslateMessage(void**)
+ OS2TranslateMessage__15wxMDIChildFrameFPPv
+ ;wxMDIChildFrame::InternalSetMenuBar()
+ InternalSetMenuBar__15wxMDIChildFrameFv
+ ;wxMDIParentFrame::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__16wxMDIParentFrameFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ __vft16wxMDIParentFrame8wxObject
+ ;wxMDIChildFrame::HandleSize(int,int,unsigned int)
+ HandleSize__15wxMDIChildFrameFiT1Ui
+ ;wxMDIParentFrame::sm_eventTable
+ sm_eventTable__16wxMDIParentFrame
+ ;wxMDIParentFrame::sm_eventTableEntries
+ sm_eventTableEntries__16wxMDIParentFrame
+ ;wxMDIParentFrame::GetActiveChild() const
+ GetActiveChild__16wxMDIParentFrameCFv
+ ;wxMDIParentFrame::OnCreateClient()
+ OnCreateClient__16wxMDIParentFrameFv
+ ;wxMDIChildFrame::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__15wxMDIChildFrameFUiPvT2
+ ;wxMDIChildFrame::OS2DestroyWindow()
+ OS2DestroyWindow__15wxMDIChildFrameFv
+ ;wxMDIParentFrame::HandleActivate(int,unsigned long,unsigned long)
+ HandleActivate__16wxMDIParentFrameFiUlT2
+ ;wxMDIClientWindow::sm_eventTableEntries
+ sm_eventTableEntries__17wxMDIClientWindow
+ __vft15wxMDIChildFrame8wxObject
+ __vft17wxMDIClientWindow8wxObject
+ ;wxMDIChildFrame::DoGetPosition(int*,int*) const
+ DoGetPosition__15wxMDIChildFrameCFPiT1
+ ;wxConstructorForwxMDIParentFrame()
+ wxConstructorForwxMDIParentFrame__Fv
+ ;wxConstructorForwxMDIClientWindow()
+ wxConstructorForwxMDIClientWindow__Fv
+ ;wxConstructorForwxMDIChildFrame()
+ wxConstructorForwxMDIChildFrame__Fv
+ ;wxMDIChildFrame::wxMDIChildFrame()
+ __ct__15wxMDIChildFrameFv
+ ;wxMDIChildFrame::ResetWindowStyle(void*)
+ ResetWindowStyle__15wxMDIChildFrameFPv
+ ;wxMDIChildFrame::OS2DefWindowProc(unsigned int,void*,void*)
+ OS2DefWindowProc__15wxMDIChildFrameFUiPvT2
+ ;wxMDIChildFrame::HandleMDIActivate(long,unsigned long,unsigned long)
+ HandleMDIActivate__15wxMDIChildFrameFlUlT2
+ ;wxMDIChildFrame::Activate()
+ Activate__15wxMDIChildFrameFv
+ ;wxMDIParentFrame::ActivateNext()
+ ActivateNext__16wxMDIParentFrameFv
+ ;wxMDIChildFrame::Create(wxMDIParentFrame*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__15wxMDIChildFrameFP16wxMDIParentFrameiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxMDIClientWindow::sm_eventTable
+ sm_eventTable__17wxMDIClientWindow
+ ;From object file: ..\os2\menu.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMenuBar::wxMenuBar(long)
+ __ct__9wxMenuBarFl
+ ;wxMenu::FindAccel(int) const
+ FindAccel__6wxMenuCFi
+ ;wxMenu::sm_classwxMenu
+ sm_classwxMenu__6wxMenu
+ ;wxMenu::UpdateAccel(wxMenuItem*)
+ UpdateAccel__6wxMenuFP10wxMenuItem
+ ;wxMenuBar::FindItem(int,wxMenu**) const
+ FindItem__9wxMenuBarCFiPP6wxMenu
+ ;wxMenu::DoInsertOrAppend(wxMenuItem*,unsigned int)
+ DoInsertOrAppend__6wxMenuFP10wxMenuItemUi
+ ;wxMenuBar::Detach()
+ Detach__9wxMenuBarFv
+ ;wxMenu::SetTitle(const wxString&)
+ SetTitle__6wxMenuFRC8wxString
+ ;wxMenuBar::SetLabelTop(unsigned int,const wxString&)
+ SetLabelTop__9wxMenuBarFUiRC8wxString
+ __vft6wxMenu8wxObject
+ ;wxMenu::DoInsert(unsigned int,wxMenuItem*)
+ DoInsert__6wxMenuFUiP10wxMenuItem
+ ;wxMenuBar::Remove(unsigned int)
+ Remove__9wxMenuBarFUi
+ ;wxMenuBar::GetLabelTop(unsigned int) const
+ GetLabelTop__9wxMenuBarCFUi
+ ;wxMenu::~wxMenu()
+ __dt__6wxMenuFv
+ ;wxMenuBar::wxMenuBar(int,wxMenu**,const wxString*)
+ __ct__9wxMenuBarFiPP6wxMenuPC8wxString
+ ;wxMenuBar::Insert(unsigned int,wxMenu*,const wxString&)
+ Insert__9wxMenuBarFUiP6wxMenuRC8wxString
+ ;wxMenuBar::Append(wxMenu*,const wxString&)
+ Append__9wxMenuBarFP6wxMenuRC8wxString
+ __vft9wxMenuBar8wxObject
+ ;wxMenuBar::Attach(wxFrame*)
+ Attach__9wxMenuBarFP7wxFrame
+ ;wxMenu::m_nextMenuId
+ m_nextMenuId__6wxMenu
+ ;wxMenu::Init()
+ Init__6wxMenuFv
+ ;wxConstructorForwxMenu()
+ wxConstructorForwxMenu__Fv
+ ;wxMenuBar::sm_classwxMenuBar
+ sm_classwxMenuBar__9wxMenuBar
+ ;wxMenuBar::RebuildAccelTable()
+ RebuildAccelTable__9wxMenuBarFv
+ ;wxMenu::Detach()
+ Detach__6wxMenuFv
+ ;wxMenu::OS2Command(unsigned int,unsigned short)
+ OS2Command__6wxMenuFUiUs
+ ;wxMenuBar::EnableTop(unsigned int,unsigned long)
+ EnableTop__9wxMenuBarFUiUl
+ ;wxMenu::DoAppend(wxMenuItem*)
+ DoAppend__6wxMenuFP10wxMenuItem
+ ;wxMenu::DoRemove(wxMenuItem*)
+ DoRemove__6wxMenuFP10wxMenuItem
+ ;wxMenu::CopyAccels(wxAcceleratorEntry*) const
+ CopyAccels__6wxMenuCFP18wxAcceleratorEntry
+ ;wxMenuBar::Refresh()
+ Refresh__9wxMenuBarFv
+ ;wxMenu::GetWindow() const
+ GetWindow__6wxMenuCFv
+ ;wxMenuBar::Create()
+ Create__9wxMenuBarFv
+ ;wxMenu::ProcessCommand(wxCommandEvent&)
+ ProcessCommand__6wxMenuFR14wxCommandEvent
+ ;wxMenuBar::FindMenuItem(const wxString&,const wxString&) const
+ FindMenuItem__9wxMenuBarCFRC8wxStringT1
+ ;wxConstructorForwxMenuBar()
+ wxConstructorForwxMenuBar__Fv
+ ;wxMenuBar::~wxMenuBar()
+ __dt__9wxMenuBarFv
+ ;wxMenuBar::wxMenuBar()
+ __ct__9wxMenuBarFv
+ ;wxMenuBar::Init()
+ Init__9wxMenuBarFv
+ ;wxMenu::Break()
+ Break__6wxMenuFv
+ ;wxMenu::Attach(wxMenuBar*)
+ Attach__6wxMenuFP9wxMenuBar
+ ;wxMenuBar::Replace(unsigned int,wxMenu*,const wxString&)
+ Replace__9wxMenuBarFUiP6wxMenuRC8wxString
+ ;From object file: ..\os2\menuitem.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMenuItem::sm_classwxMenuItem
+ sm_classwxMenuItem__10wxMenuItem
+ ;wxMenuItem::GetRealId() const
+ GetRealId__10wxMenuItemCFv
+ ;wxMenuItem::SetCheckable(unsigned long)
+ SetCheckable__10wxMenuItemFUl
+ ;wxMenuItemBase::New(wxMenu*,int,const wxString&,const wxString&,unsigned long,wxMenu*)
+ New__14wxMenuItemBaseFP6wxMenuiRC8wxStringT3UlT1
+ ;wxMenuItem::IsChecked() const
+ IsChecked__10wxMenuItemCFv
+ ;wxMenuItemBase::GetLabelFromText(const wxString&)
+ GetLabelFromText__14wxMenuItemBaseFRC8wxString
+ ;wxMenuItem::SetText(const wxString&)
+ SetText__10wxMenuItemFRC8wxString
+ ;wxMenuItem::Check(unsigned long)
+ Check__10wxMenuItemFUl
+ __vft10wxMenuItem8wxObject
+ ;wxMenuItem::wxMenuItem(wxMenu*,int,const wxString&,const wxString&,unsigned long,wxMenu*)
+ __ct__10wxMenuItemFP6wxMenuiRC8wxStringT3UlT1
+ ;wxConstructorForwxMenuItem()
+ wxConstructorForwxMenuItem__Fv
+ ;wxMenuItem::~wxMenuItem()
+ __dt__10wxMenuItemFv
+ ;wxMenuItem::Enable(unsigned long)
+ Enable__10wxMenuItemFUl
+ ;wxMenuItem::GetAccel() const
+ GetAccel__10wxMenuItemCFv
+ __vft10wxMenuItem12wxOwnerDrawn
+ ;From object file: ..\os2\metafile.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft12wxMetafileDC8wxObject
+ ;wxMetafile::SetClipboard(int,int)
+ SetClipboard__10wxMetafileFiT1
+ ;wxMetafileDC::SetMapMode(int)
+ SetMapMode__12wxMetafileDCFi
+ ;wxMetafileRefData::wxMetafileRefData()
+ __ct__17wxMetafileRefDataFv
+ ;wxMakeMetafilePlaceable(const wxString&,float)
+ wxMakeMetafilePlaceable__FRC8wxStringf
+ ;wxMetafileDC::wxMetafileDC(const wxString&,int,int,int,int)
+ __ct__12wxMetafileDCFRC8wxStringiN32
+ ;wxMetafileDC::GetTextExtent(const wxString&,long*,long*,long*,long*,wxFont*,unsigned long) const
+ GetTextExtent__12wxMetafileDCCFRC8wxStringPlN32P6wxFontUl
+ __vft10wxMetafile8wxObject
+ ;wxMetafile::wxMetafile(const wxString&)
+ __ct__10wxMetafileFRC8wxString
+ ;wxMetafileDC::wxMetafileDC(const wxString&)
+ __ct__12wxMetafileDCFRC8wxString
+ ;wxMetafile::Play(wxDC*)
+ Play__10wxMetafileFP4wxDC
+ ;wxMetafile::SetHMETAFILE(unsigned long)
+ SetHMETAFILE__10wxMetafileFUl
+ ;wxMetafile::SetWindowsMappingMode(int)
+ SetWindowsMappingMode__10wxMetafileFi
+ __vft17wxMetafileRefData15wxObjectRefData
+ ;wxMetafile::~wxMetafile()
+ __dt__10wxMetafileFv
+ ;wxConstructorForwxMetafile()
+ wxConstructorForwxMetafile__Fv
+ ;wxMetafileDC::~wxMetafileDC()
+ __dt__12wxMetafileDCFv
+ ;wxMetafileDC::sm_classwxMetafileDC
+ sm_classwxMetafileDC__12wxMetafileDC
+ ;wxMakeMetafilePlaceable(const wxString&,int,int,int,int,float,unsigned long)
+ wxMakeMetafilePlaceable__FRC8wxStringiN32fUl
+ ;wxMetafile::sm_classwxMetafile
+ sm_classwxMetafile__10wxMetafile
+ ;wxMetafileRefData::~wxMetafileRefData()
+ __dt__17wxMetafileRefDataFv
+ ;wxMetafileDC::Close()
+ Close__12wxMetafileDCFv
+ ;From object file: ..\os2\mimetype.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFileTypeImpl::GetDescription(wxString*) const
+ GetDescription__14wxFileTypeImplCFP8wxString
+ ;wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString&)
+ EnumAllFileTypes__22wxMimeTypesManagerImplFR13wxArrayString
+ ;wxFileTypeImpl::GetOpenCommand(wxString*,const wxFileType::MessageParameters&) const
+ GetOpenCommand__14wxFileTypeImplCFP8wxStringRCQ2_10wxFileType17MessageParameters
+ ;wxFileTypeImpl::GetPrintCommand(wxString*,const wxFileType::MessageParameters&) const
+ GetPrintCommand__14wxFileTypeImplCFP8wxStringRCQ2_10wxFileType17MessageParameters
+ ;wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString&)
+ GetFileTypeFromExtension__22wxMimeTypesManagerImplFRC8wxString
+ ;wxFileTypeImpl::GetIcon(wxIcon*) const
+ GetIcon__14wxFileTypeImplCFP6wxIcon
+ ;wxFileTypeImpl::GetCommand(const char*) const
+ GetCommand__14wxFileTypeImplCFPCc
+ ;wxFileTypeImpl::GetMimeTypes(wxArrayString&) const
+ GetMimeTypes__14wxFileTypeImplCFR13wxArrayString
+ ;wxFileTypeImpl::GetMimeType(wxString*) const
+ GetMimeType__14wxFileTypeImplCFP8wxString
+ ;wxMimeTypesManagerImpl::GetFileTypeFromMimeType(const wxString&)
+ GetFileTypeFromMimeType__22wxMimeTypesManagerImplFRC8wxString
+ ;wxFileTypeImpl::GetExtensions(wxArrayString&)
+ GetExtensions__14wxFileTypeImplFR13wxArrayString
+ ;From object file: ..\os2\minifram.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMiniFrame::sm_classwxMiniFrame
+ sm_classwxMiniFrame__11wxMiniFrame
+ ;wxConstructorForwxMiniFrame()
+ wxConstructorForwxMiniFrame__Fv
+ ;From object file: ..\os2\msgdlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxMessageDialog::ShowModal()
+ ShowModal__15wxMessageDialogFv
+ ;wxMessageDialog::sm_classwxMessageDialog
+ sm_classwxMessageDialog__15wxMessageDialog
+ ;wxMessageDialog::wxMessageDialog(wxWindow*,const wxString&,const wxString&,long,const wxPoint&)
+ __ct__15wxMessageDialogFP8wxWindowRC8wxStringT2lRC7wxPoint
+ __vft15wxMessageDialog8wxObject
+ ;From object file: ..\os2\nativdlg.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxWindow::LoadNativeDialog(wxWindow*,int&)
+ LoadNativeDialog__8wxWindowFP8wxWindowRi
+ ;wxWindow::GetWindowChild(int)
+ GetWindowChild__8wxWindowFi
+ ;wxWindow::AdoptAttributesFromHWND()
+ AdoptAttributesFromHWND__8wxWindowFv
+ ;wxWindow::LoadNativeDialog(wxWindow*,const wxString&)
+ LoadNativeDialog__8wxWindowFP8wxWindowRC8wxString
+ ;wxWindow::GetWindowChild1(int)
+ GetWindowChild1__8wxWindowFi
+ ;wxWindow::CreateWindowFromHWND(wxWindow*,unsigned long)
+ CreateWindowFromHWND__8wxWindowFP8wxWindowUl
+ ;From object file: ..\os2\notebook.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxNotebook::SetImageList(wxImageList*)
+ SetImageList__10wxNotebookFP11wxImageList
+ ;wxNotebookEvent::sm_classwxNotebookEvent
+ sm_classwxNotebookEvent__15wxNotebookEvent
+ ;wxNotebook::OnSelChange(wxNotebookEvent&)
+ OnSelChange__10wxNotebookFR15wxNotebookEvent
+ ;wxNotebook::wxNotebook()
+ __ct__10wxNotebookFv
+ ;wxNotebook::DeleteAllPages()
+ DeleteAllPages__10wxNotebookFv
+ ;wxNotebook::SetPageText(int,const wxString&)
+ SetPageText__10wxNotebookFiRC8wxString
+ ;wxNotebook::AdvanceSelection(unsigned long)
+ AdvanceSelection__10wxNotebookFUl
+ ;wxNotebook::ChangePage(int,int)
+ ChangePage__10wxNotebookFiT1
+ ;wxNotebook::SetTabSize(const wxSize&)
+ SetTabSize__10wxNotebookFRC6wxSize
+ ;wxNotebook::AddPage(wxWindow*,const wxString&,unsigned long,int)
+ AddPage__10wxNotebookFP8wxWindowRC8wxStringUli
+ ;wxNotebook::OnSize(wxSizeEvent&)
+ OnSize__10wxNotebookFR11wxSizeEvent
+ ;wxNotebook::SetSelection(int)
+ SetSelection__10wxNotebookFi
+ ;wxNotebook::SetPageImage(int,int)
+ SetPageImage__10wxNotebookFiT1
+ ;wxNotebook::DoPhase(int)
+ DoPhase__10wxNotebookFi
+ ;wxNotebook::DeletePage(int)
+ DeletePage__10wxNotebookFi
+ ;wxNotebook::GetPageCount() const
+ GetPageCount__10wxNotebookCFv
+ ;wxNotebook::wxNotebook(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ __ct__10wxNotebookFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxNotebook::sm_eventTableEntries
+ sm_eventTableEntries__10wxNotebook
+ ;wxNotebook::OnSetFocus(wxFocusEvent&)
+ OnSetFocus__10wxNotebookFR12wxFocusEvent
+ ;wxNotebook::SetConstraintSizes(unsigned long)
+ SetConstraintSizes__10wxNotebookFUl
+ ;wxNotebook::OnNavigationKey(wxNavigationKeyEvent&)
+ OnNavigationKey__10wxNotebookFR20wxNavigationKeyEvent
+ ;wxNotebook::GetPageText(int) const
+ GetPageText__10wxNotebookCFi
+ ;wxConstructorForwxNotebook()
+ wxConstructorForwxNotebook__Fv
+ ;wxConstructorForwxNotebookEvent()
+ wxConstructorForwxNotebookEvent__Fv
+ ;wxNotebook::OS2OnNotify(int,void*,void**)
+ OS2OnNotify__10wxNotebookFiPvPPv
+ ;wxNotebook::Init()
+ Init__10wxNotebookFv
+ ;wxNotebook::sm_classwxNotebook
+ sm_classwxNotebook__10wxNotebook
+ ;wxNotebook::sm_eventTable
+ sm_eventTable__10wxNotebook
+ __vft10wxNotebook8wxObject
+ ;wxNotebook::GetPageImage(int) const
+ GetPageImage__10wxNotebookCFi
+ ;wxNotebook::RemovePage(int)
+ RemovePage__10wxNotebookFi
+ ;wxNotebook::InsertPage(int,wxWindow*,const wxString&,unsigned long,int)
+ InsertPage__10wxNotebookFiP8wxWindowRC8wxStringUlT1
+ ;wxNotebook::GetEventTable() const
+ GetEventTable__10wxNotebookCFv
+ ;wxNotebook::~wxNotebook()
+ __dt__10wxNotebookFv
+ ;wxNotebook::GetRowCount() const
+ GetRowCount__10wxNotebookCFv
+ ;wxNotebook::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__10wxNotebookFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;From object file: ..\os2\ownerdrw.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxOwnerDrawn::wxOwnerDrawn(const wxString&,unsigned long,unsigned long)
+ __ct__12wxOwnerDrawnFRC8wxStringUlT2
+ ;wxOwnerDrawn::ms_nLastMarginWidth
+ ms_nLastMarginWidth__12wxOwnerDrawn
+ ;wxOwnerDrawn::OnMeasureItem(unsigned int*,unsigned int*)
+ OnMeasureItem__12wxOwnerDrawnFPUiT1
+ __vft12wxOwnerDrawn
+ ;wxOwnerDrawn::ms_nDefaultMarginWidth
+ ms_nDefaultMarginWidth__12wxOwnerDrawn
+ ;wxOwnerDrawn::OnDrawItem(wxDC&,const wxRect&,wxOwnerDrawn::wxODAction,wxOwnerDrawn::wxODStatus)
+ OnDrawItem__12wxOwnerDrawnFR4wxDCRC6wxRectQ2_12wxOwnerDrawn10wxODActionQ2_12wxOwnerDrawn10wxODStatus
+ ;From object file: ..\os2\palette.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPalette::FreeResource(unsigned long)
+ FreeResource__9wxPaletteFUl
+ ;wxPalette::sm_classwxPalette
+ sm_classwxPalette__9wxPalette
+ __vft16wxPaletteRefData15wxObjectRefData
+ ;wxPaletteRefData::wxPaletteRefData()
+ __ct__16wxPaletteRefDataFv
+ ;wxConstructorForwxPalette()
+ wxConstructorForwxPalette__Fv
+ ;wxPaletteRefData::~wxPaletteRefData()
+ __dt__16wxPaletteRefDataFv
+ ;wxPalette::GetRGB(int,unsigned char*,unsigned char*,unsigned char*) const
+ GetRGB__9wxPaletteCFiPUcN22
+ ;wxPalette::GetPixel(const unsigned char,const unsigned char,const unsigned char) const
+ GetPixel__9wxPaletteCFCUcN21
+ ;wxPalette::Create(int,const unsigned char*,const unsigned char*,const unsigned char*)
+ Create__9wxPaletteFiPCUcN22
+ ;wxPalette::SetHPALETTE(unsigned long)
+ SetHPALETTE__9wxPaletteFUl
+ __vft9wxPalette8wxObject
+ ;wxPalette::wxPalette()
+ __ct__9wxPaletteFv
+ ;wxPalette::~wxPalette()
+ __dt__9wxPaletteFv
+ ;wxPalette::wxPalette(int,const unsigned char*,const unsigned char*,const unsigned char*)
+ __ct__9wxPaletteFiPCUcN22
+ ;From object file: ..\os2\pen.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPen::FreeResource(unsigned long)
+ FreeResource__5wxPenFUl
+ ;wxPenRefData::wxPenRefData(const wxPenRefData&)
+ __ct__12wxPenRefDataFRC12wxPenRefData
+ ;wxPen::wxPen(const wxBitmap&,int)
+ __ct__5wxPenFRC8wxBitmapi
+ ;wxPen::SetWidth(int)
+ SetWidth__5wxPenFi
+ ;wxPen::SetColour(unsigned char,unsigned char,unsigned char)
+ SetColour__5wxPenFUcN21
+ ;wxPenRefData::wxPenRefData()
+ __ct__12wxPenRefDataFv
+ ;wxPen::wxPen(const wxColour&,int,int)
+ __ct__5wxPenFRC8wxColouriT2
+ ;wxPen::Unshare()
+ Unshare__5wxPenFv
+ ;wxPen::IsFree() const
+ IsFree__5wxPenCFv
+ __vft12wxPenRefData15wxObjectRefData
+ ;wxPen::wxPen()
+ __ct__5wxPenFv
+ ;wxPen::GetResourceHandle()
+ GetResourceHandle__5wxPenFv
+ ;wxPen::SetStipple(const wxBitmap&)
+ SetStipple__5wxPenFRC8wxBitmap
+ __vft5wxPen8wxObject
+ ;wxPen::SetCap(int)
+ SetCap__5wxPenFi
+ ;wxPen::~wxPen()
+ __dt__5wxPenFv
+ ;wxPen::SetDashes(int,const signed char*)
+ SetDashes__5wxPenFiPCSc
+ ;wxPen::SetStyle(int)
+ SetStyle__5wxPenFi
+ ;wx2os2PenStyle(int)
+ wx2os2PenStyle__Fi
+ ;wxPen::RealizeResource()
+ RealizeResource__5wxPenFv
+ ;wxPen::sm_classwxPen
+ sm_classwxPen__5wxPen
+ ;wxPen::SetJoin(int)
+ SetJoin__5wxPenFi
+ ;wxConstructorForwxPen()
+ wxConstructorForwxPen__Fv
+ ;wxPenRefData::~wxPenRefData()
+ __dt__12wxPenRefDataFv
+ ;wxPen::SetColour(const wxColour&)
+ SetColour__5wxPenFRC8wxColour
+ ;From object file: ..\os2\pnghand.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPNGReader::Create(int,int,int,int)
+ Create__11wxPNGReaderFiN31
+ ;wxCopyPalette(const wxPalette*)
+ wxCopyPalette__FPC9wxPalette
+ ;wxPNGFileHandler::SaveFile(wxBitmap*,const wxString&,int,const wxPalette*)
+ SaveFile__16wxPNGFileHandlerFP8wxBitmapRC8wxStringiPC9wxPalette
+ ;wxPNGReader::GetIndex(int,int)
+ GetIndex__11wxPNGReaderFiT1
+ ;wxPNGReader::~wxPNGReader()
+ __dt__11wxPNGReaderFv
+ ;wxPNGReader::ReadFile(char*)
+ ReadFile__11wxPNGReaderFPc
+ ;wxPNGReader::SetRGB(int,int,unsigned char,unsigned char,unsigned char)
+ SetRGB__11wxPNGReaderFiT1UcN23
+ ;wxPNGReader::SetPalette(int,rgb_color_struct*)
+ SetPalette__11wxPNGReaderFiP16rgb_color_struct
+ ;wxPNGReader::InstantiateBitmap(wxBitmap*)
+ InstantiateBitmap__11wxPNGReaderFP8wxBitmap
+ ;wxPNGReader::SetPalette(int,unsigned char*,unsigned char*,unsigned char*)
+ SetPalette__11wxPNGReaderFiPUcN22
+ ;wxConstructorForwxPNGFileHandler()
+ wxConstructorForwxPNGFileHandler__Fv
+ ;wxPNGReader::NullData()
+ NullData__11wxPNGReaderFv
+ ;wxPNGReader::SaveFile(char*)
+ SaveFile__11wxPNGReaderFPc
+ ;wxPNGReader::SetIndex(int,int,int)
+ SetIndex__11wxPNGReaderFiN21
+ ;wxPNGReader::SaveXPM(char*,char*)
+ SaveXPM__11wxPNGReaderFPcT1
+ ;wxPNGFileHandler::LoadFile(wxBitmap*,const wxString&,unsigned long,long,int,int)
+ LoadFile__16wxPNGFileHandlerFP8wxBitmapRC8wxStringUlliT5
+ __vft11wxPNGReader
+ ;ima_png_error(png_struct_def*,char*)
+ ima_png_error__FP14png_struct_defPc
+ ;wxPNGReader::wxPNGReader(char*)
+ __ct__11wxPNGReaderFPc
+ ;wxPNGReader::GetRGB(int,int,unsigned char*,unsigned char*,unsigned char*)
+ GetRGB__11wxPNGReaderFiT1PUcN23
+ __vft16wxPNGFileHandler8wxObject
+ ;wxPNGReader::SetPalette(wxPalette*)
+ SetPalette__11wxPNGReaderFP9wxPalette
+ ;wxPNGReader::wxPNGReader()
+ __ct__11wxPNGReaderFv
+ ;wxPNGFileHandler::sm_classwxPNGFileHandler
+ sm_classwxPNGFileHandler__16wxPNGFileHandler
+ ;wxPNGReader::GetBitmap()
+ GetBitmap__11wxPNGReaderFv
+ ;wxPNGReader::CreateMask()
+ CreateMask__11wxPNGReaderFv
+ ;From object file: ..\os2\print.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxPrintPreview::Print(unsigned long)
+ Print__14wxPrintPreviewFUl
+ ;wxPrintPreview::wxPrintPreview(wxPrintout*,wxPrintout*,wxPrintData*)
+ __ct__14wxPrintPreviewFP10wxPrintoutT1P11wxPrintData
+ ;wxPrintPreview::~wxPrintPreview()
+ __dt__14wxPrintPreviewFv
+ ;wxPrinter::PrintDialog(wxWindow*)
+ PrintDialog__9wxPrinterFP8wxWindow
+ ;wxPrintPreview::sm_classwxPrintPreview
+ sm_classwxPrintPreview__14wxPrintPreview
+ ;wxPrinter::wxPrinter(wxPrintData*)
+ __ct__9wxPrinterFP11wxPrintData
+ ;wxPrintPreview::DetermineScaling()
+ DetermineScaling__14wxPrintPreviewFv
+ __vft9wxPrinter8wxObject
+ ;wxPrinter::~wxPrinter()
+ __dt__9wxPrinterFv
+ ;wxPrinter::Setup(wxWindow*)
+ Setup__9wxPrinterFP8wxWindow
+ ;wxPrinter::Print(wxWindow*,wxPrintout*,unsigned long)
+ Print__9wxPrinterFP8wxWindowP10wxPrintoutUl
+ __vft14wxPrintPreview8wxObject
+ ;wxConstructorForwxPrinter()
+ wxConstructorForwxPrinter__Fv
+ ;wxPrinter::sm_classwxPrinter
+ sm_classwxPrinter__9wxPrinter
+ ;From object file: ..\os2\radiobox.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxRadioBox::Show(unsigned long)
+ Show__10wxRadioBoxFUl
+ ;wxRadioBox::ContainsHWND(unsigned long) const
+ ContainsHWND__10wxRadioBoxCFUl
+ ;wxRadioBox::GetString(int) const
+ GetString__10wxRadioBoxCFi
+ ;wxRadioBox::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__10wxRadioBoxFUlT1UiT3PvT5
+ ;wxRadioBox::GetSelection() const
+ GetSelection__10wxRadioBoxCFv
+ ;wxRadioBox::GetStringSelection() const
+ GetStringSelection__10wxRadioBoxCFv
+ ;wxRadioBox::SetStringSelection(const wxString&)
+ SetStringSelection__10wxRadioBoxFRC8wxString
+ ;wxRadioBox::Enable(int,unsigned long)
+ Enable__10wxRadioBoxFiUl
+ ;wxRadioBox::Enable(unsigned long)
+ Enable__10wxRadioBoxFUl
+ ;wxRadioBox::GetLabel(int) const
+ GetLabel__10wxRadioBoxCFi
+ ;wxRadioBox::GetSize(int*,int*) const
+ GetSize__10wxRadioBoxCFPiT1
+ ;wxRadioBox::GetPosition(int*,int*) const
+ GetPosition__10wxRadioBoxCFPiT1
+ ;wxRadioBox::SetFocus()
+ SetFocus__10wxRadioBoxFv
+ ;wxRadioBox::OS2Command(unsigned int,unsigned short)
+ OS2Command__10wxRadioBoxFUiUs
+ ;wxRadioBox::SetLabel(int,wxBitmap*)
+ SetLabel__10wxRadioBoxFiP8wxBitmap
+ ;wxRadioBox::SubclassRadioButton(unsigned long)
+ SubclassRadioButton__10wxRadioBoxFUl
+ ;wxConstructorForwxRadioBox()
+ wxConstructorForwxRadioBox__Fv
+ ;wxRadioBox::wxRadioBox()
+ __ct__10wxRadioBoxFv
+ ;wxRadioBox::SendNotificationEvent()
+ SendNotificationEvent__10wxRadioBoxFv
+ ;wxRadioBox::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,int,const wxString*,int,long,const wxValidator&,const wxString&)
+ Create__10wxRadioBoxFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizeT2PC8wxStringT2lRC11wxValidatorT3
+ ;wxRadioBox::FindString(const wxString&) const
+ FindString__10wxRadioBoxCFRC8wxString
+ ;wxRadioBox::sm_classwxRadioBox
+ sm_classwxRadioBox__10wxRadioBox
+ __vft10wxRadioBox8wxObject
+ ;wxRadioBox::SetSelection(int)
+ SetSelection__10wxRadioBoxFi
+ ;wxRadioBox::GetNumVer() const
+ GetNumVer__10wxRadioBoxCFv
+ ;wxRadioBox::~wxRadioBox()
+ __dt__10wxRadioBoxFv
+ ;wxRadioBtnWndProc(unsigned long,unsigned int,void*,void*)
+ wxRadioBtnWndProc__FUlUiPvT3
+ ;wxRadioBox::Show(int,unsigned long)
+ Show__10wxRadioBoxFiUl
+ ;wxRadioBox::Command(wxCommandEvent&)
+ Command__10wxRadioBoxFR14wxCommandEvent
+ ;wxRadioBox::DoSetSize(int,int,int,int,int)
+ DoSetSize__10wxRadioBoxFiN41
+ ;wxRadioBox::GetNumHor() const
+ GetNumHor__10wxRadioBoxCFv
+ ;wxRadioBox::SetLabel(int,const wxString&)
+ SetLabel__10wxRadioBoxFiRC8wxString
+ ;From object file: ..\os2\radiobut.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxBitmapRadioButton::GetValue() const
+ GetValue__19wxBitmapRadioButtonCFv
+ ;wxRadioButton::sm_classwxRadioButton
+ sm_classwxRadioButton__13wxRadioButton
+ ;wxRadioButton::OS2Command(unsigned int,unsigned short)
+ OS2Command__13wxRadioButtonFUiUs
+ ;wxConstructorForwxRadioButton()
+ wxConstructorForwxRadioButton__Fv
+ ;wxRadioButton::Command(wxCommandEvent&)
+ Command__13wxRadioButtonFR14wxCommandEvent
+ ;wxBitmapRadioButton::SetValue(unsigned long)
+ SetValue__19wxBitmapRadioButtonFUl
+ ;wxBitmapRadioButton::sm_classwxBitmapRadioButton
+ sm_classwxBitmapRadioButton__19wxBitmapRadioButton
+ ;wxBitmapRadioButton::SetLabel(const wxBitmap*)
+ SetLabel__19wxBitmapRadioButtonFPC8wxBitmap
+ __vft13wxRadioButton8wxObject
+ ;wxConstructorForwxBitmapRadioButton()
+ wxConstructorForwxBitmapRadioButton__Fv
+ ;wxRadioButton::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__13wxRadioButtonFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelRC11wxValidatorT3
+ ;wxRadioButton::SetLabel(const wxString&)
+ SetLabel__13wxRadioButtonFRC8wxString
+ ;wxRadioButton::SetValue(unsigned long)
+ SetValue__13wxRadioButtonFUl
+ __vft19wxBitmapRadioButton8wxObject
+ ;wxRadioButton::GetValue() const
+ GetValue__13wxRadioButtonCFv
+ ;wxBitmapRadioButton::Create(wxWindow*,int,const wxBitmap*,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__19wxBitmapRadioButtonFP8wxWindowiPC8wxBitmapRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;From object file: ..\os2\region.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxRegion::Combine(const wxRect&,wxRegionOp)
+ Combine__8wxRegionFRC6wxRect10wxRegionOp
+ ;wxRegion::GetBox() const
+ GetBox__8wxRegionCFv
+ ;wxRegionIterator::operator++()
+ __pp__16wxRegionIteratorFv
+ ;wxRegion::Combine(const wxRegion&,wxRegionOp)
+ Combine__8wxRegionFRC8wxRegion10wxRegionOp
+ ;wxRegion::wxRegion(const wxPoint&,const wxPoint&)
+ __ct__8wxRegionFRC7wxPointT1
+ ;wxRegion::Contains(int,int) const
+ Contains__8wxRegionCFiT1
+ ;wxRegionIterator::GetY() const
+ GetY__16wxRegionIteratorCFv
+ ;wxConstructorForwxRegion()
+ wxConstructorForwxRegion__Fv
+ ;wxRegionIterator::sm_classwxRegionIterator
+ sm_classwxRegionIterator__16wxRegionIterator
+ ;wxRegionIterator::wxRegionIterator()
+ __ct__16wxRegionIteratorFv
+ ;wxRegion::wxRegion(const wxRect&)
+ __ct__8wxRegionFRC6wxRect
+ __vft8wxRegion8wxObject
+ ;wxRegion::Contains(const wxRect&) const
+ Contains__8wxRegionCFRC6wxRect
+ ;wxRegion::GetBox(int&,int&,int&,int&) const
+ GetBox__8wxRegionCFRiN31
+ ;wxRegionIterator::operator++(int)
+ __pp__16wxRegionIteratorFi
+ ;wxRegion::wxRegion()
+ __ct__8wxRegionFv
+ ;wxConstructorForwxRegionIterator()
+ wxConstructorForwxRegionIterator__Fv
+ ;wxRegion::sm_classwxRegion
+ sm_classwxRegion__8wxRegion
+ ;wxRegionIterator::~wxRegionIterator()
+ __dt__16wxRegionIteratorFv
+ ;wxRegionIterator::Reset(const wxRegion&)
+ Reset__16wxRegionIteratorFRC8wxRegion
+ ;wxRegion::GetHRGN() const
+ GetHRGN__8wxRegionCFv
+ ;wxRegion::Clear()
+ Clear__8wxRegionFv
+ ;wxRegion::Combine(int,int,int,int,wxRegionOp)
+ Combine__8wxRegionFiN3110wxRegionOp
+ ;wxRegion::Contains(const wxPoint&) const
+ Contains__8wxRegionCFRC7wxPoint
+ ;wxRegion::Contains(int,int,int,int) const
+ Contains__8wxRegionCFiN31
+ ;wxRegionIterator::GetW() const
+ GetW__16wxRegionIteratorCFv
+ ;wxRegion::~wxRegion()
+ __dt__8wxRegionFv
+ ;wxRegionIterator::wxRegionIterator(const wxRegion&)
+ __ct__16wxRegionIteratorFRC8wxRegion
+ ;wxRegionIterator::GetH() const
+ GetH__16wxRegionIteratorCFv
+ ;wxRegion::wxRegion(unsigned long)
+ __ct__8wxRegionFUl
+ __vft16wxRegionIterator8wxObject
+ ;wxRegion::wxRegion(int,int,int,int)
+ __ct__8wxRegionFiN31
+ ;wxRegion::Empty() const
+ Empty__8wxRegionCFv
+ ;wxRegionIterator::GetX() const
+ GetX__16wxRegionIteratorCFv
+ ;From object file: ..\os2\scrolbar.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxScrollBar::OS2OnScroll(int,unsigned short,unsigned short,unsigned long)
+ OS2OnScroll__11wxScrollBarFiUsT2Ul
+ ;wxScrollBar::SetThumbPosition(int)
+ SetThumbPosition__11wxScrollBarFi
+ ;wxScrollBar::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__11wxScrollBarFUlT1UiT3PvT5
+ ;wxConstructorForwxScrollBar()
+ wxConstructorForwxScrollBar__Fv
+ ;wxScrollBar::~wxScrollBar()
+ __dt__11wxScrollBarFv
+ ;wxScrollBar::GetEventTable() const
+ GetEventTable__11wxScrollBarCFv
+ ;wxScrollBar::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__11wxScrollBarFP8wxWindowiRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ ;wxScrollBar::SetScrollbar(int,int,int,int,unsigned long)
+ SetScrollbar__11wxScrollBarFiN31Ul
+ ;wxScrollBar::GetThumbPosition() const
+ GetThumbPosition__11wxScrollBarCFv
+ __vft11wxScrollBar8wxObject
+ ;wxScrollBar::sm_eventTableEntries
+ sm_eventTableEntries__11wxScrollBar
+ ;wxScrollBar::sm_classwxScrollBar
+ sm_classwxScrollBar__11wxScrollBar
+ ;wxScrollBar::Command(wxCommandEvent&)
+ Command__11wxScrollBarFR14wxCommandEvent
+ ;wxScrollBar::sm_eventTable
+ sm_eventTable__11wxScrollBar
+ ;From object file: ..\os2\settings.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSystemSettings::GetSystemColour(int)
+ GetSystemColour__16wxSystemSettingsFi
+ ;wxSystemSettings::GetSystemMetric(int)
+ GetSystemMetric__16wxSystemSettingsFi
+ ;wxSystemSettings::GetSystemFont(int)
+ GetSystemFont__16wxSystemSettingsFi
+ ;From object file: ..\os2\slider.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSlider::SetValue(int)
+ SetValue__8wxSliderFi
+ ;wxSlider::SetTick(int)
+ SetTick__8wxSliderFi
+ ;wxSlider::SetTickFreq(int,int)
+ SetTickFreq__8wxSliderFiT1
+ ;wxSlider::SetPageSize(int)
+ SetPageSize__8wxSliderFi
+ ;wxSlider::SetLineSize(int)
+ SetLineSize__8wxSliderFi
+ ;wxSlider::DoSetSize(int,int,int,int,int)
+ DoSetSize__8wxSliderFiN41
+ ;wxSlider::GetValue() const
+ GetValue__8wxSliderCFv
+ ;wxSlider::ContainsHWND(unsigned long) const
+ ContainsHWND__8wxSliderCFUl
+ ;wxSlider::Show(unsigned long)
+ Show__8wxSliderFUl
+ ;wxSlider::GetPosition(int*,int*) const
+ GetPosition__8wxSliderCFPiT1
+ ;wxSlider::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__8wxSliderFUlT1UiT3PvT5
+ ;wxConstructorForwxSlider()
+ wxConstructorForwxSlider__Fv
+ ;wxSlider::wxSlider()
+ __ct__8wxSliderFv
+ ;wxSlider::GetThumbLength() const
+ GetThumbLength__8wxSliderCFv
+ ;wxSlider::GetSelEnd() const
+ GetSelEnd__8wxSliderCFv
+ ;wxSlider::GetPageSize() const
+ GetPageSize__8wxSliderCFv
+ ;wxSlider::Create(wxWindow*,int,int,int,int,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__8wxSliderFP8wxWindowiN32RC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
+ __vft8wxSlider8wxObject
+ ;wxSlider::SetRange(int,int)
+ SetRange__8wxSliderFiT1
+ ;wxSlider::~wxSlider()
+ __dt__8wxSliderFv
+ ;wxSlider::GetSelStart() const
+ GetSelStart__8wxSliderCFv
+ ;wxSlider::ClearTicks()
+ ClearTicks__8wxSliderFv
+ ;wxSlider::GetSize(int*,int*) const
+ GetSize__8wxSliderCFPiT1
+ ;wxSlider::SetThumbLength(int)
+ SetThumbLength__8wxSliderFi
+ ;wxSlider::ClearSel()
+ ClearSel__8wxSliderFv
+ ;wxSlider::GetLineSize() const
+ GetLineSize__8wxSliderCFv
+ ;wxSlider::OS2OnScroll(int,unsigned short,unsigned short,unsigned long)
+ OS2OnScroll__8wxSliderFiUsT2Ul
+ ;wxSlider::Command(wxCommandEvent&)
+ Command__8wxSliderFR14wxCommandEvent
+ ;wxSlider::SetSelection(int,int)
+ SetSelection__8wxSliderFiT1
+ ;wxSlider::sm_classwxSlider
+ sm_classwxSlider__8wxSlider
+ ;From object file: ..\os2\spinbutt.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSpinEvent::sm_classwxSpinEvent
+ sm_classwxSpinEvent__11wxSpinEvent
+ ;wxSpinButton::GetValue() const
+ GetValue__12wxSpinButtonCFv
+ ;wxSpinButton::sm_classwxSpinButton
+ sm_classwxSpinButton__12wxSpinButton
+ ;wxSpinButton::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__12wxSpinButtonFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxSpinButton::OS2OnNotify(int,void*,void**)
+ OS2OnNotify__12wxSpinButtonFiPvPPv
+ __vft12wxSpinButton8wxObject
+ ;wxSpinButton::SetValue(int)
+ SetValue__12wxSpinButtonFi
+ ;wxSpinButton::SetRange(int,int)
+ SetRange__12wxSpinButtonFiT1
+ ;wxConstructorForwxSpinEvent()
+ wxConstructorForwxSpinEvent__Fv
+ ;wxConstructorForwxSpinButton()
+ wxConstructorForwxSpinButton__Fv
+ ;wxSpinButton::~wxSpinButton()
+ __dt__12wxSpinButtonFv
+ ;wxSpinButton::OS2OnScroll(int,unsigned short,unsigned short,unsigned long)
+ OS2OnScroll__12wxSpinButtonFiUsT2Ul
+ ;wxSpinButton::DoGetBestSize() const
+ DoGetBestSize__12wxSpinButtonCFv
+ ;wxSpinButton::OS2Command(unsigned int,unsigned short)
+ OS2Command__12wxSpinButtonFUiUs
+ ;From object file: ..\os2\spinctrl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxSpinCtrl::SetFont(const wxFont&)
+ SetFont__10wxSpinCtrlFRC6wxFont
+ __vft10wxSpinCtrl8wxObject
+ ;wxSpinCtrl::SetValue(const wxString&)
+ SetValue__10wxSpinCtrlFRC8wxString
+ ;wxSpinCtrl::sm_classwxSpinCtrl
+ sm_classwxSpinCtrl__10wxSpinCtrl
+ ;wxSpinCtrl::DoMoveWindow(int,int,int,int)
+ DoMoveWindow__10wxSpinCtrlFiN31
+ ;wxSpinCtrl::Show(unsigned long)
+ Show__10wxSpinCtrlFUl
+ ;wxSpinCtrl::sm_eventTable
+ sm_eventTable__10wxSpinCtrl
+ ;wxSpinCtrl::sm_eventTableEntries
+ sm_eventTableEntries__10wxSpinCtrl
+ ;wxSpinCtrl::OnSpinChange(wxSpinEvent&)
+ OnSpinChange__10wxSpinCtrlFR11wxSpinEvent
+ ;wxSpinCtrl::DoGetBestSize() const
+ DoGetBestSize__10wxSpinCtrlCFv
+ ;wxSpinCtrl::Enable(unsigned long)
+ Enable__10wxSpinCtrlFUl
+ ;wxSpinCtrl::GetEventTable() const
+ GetEventTable__10wxSpinCtrlCFv
+ ;wxSpinCtrl::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,int,int,int,const wxString&)
+ Create__10wxSpinCtrlFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelN32T3
+ ;wxConstructorForwxSpinCtrl()
+ wxConstructorForwxSpinCtrl__Fv
+ ;wxSpinCtrl::GetValue() const
+ GetValue__10wxSpinCtrlCFv
+ ;From object file: ..\os2\statbmp.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft14wxStaticBitmap8wxObject
+ ;wxStaticBitmap::Free()
+ Free__14wxStaticBitmapFv
+ ;wxStaticBitmap::Create(wxWindow*,int,const wxGDIImage&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__14wxStaticBitmapFP8wxWindowiRC10wxGDIImageRC7wxPointRC6wxSizelRC8wxString
+ ;wxStaticBitmap::sm_classwxStaticBitmap
+ sm_classwxStaticBitmap__14wxStaticBitmap
+ ;wxStaticBitmap::SetImage(const wxGDIImage&)
+ SetImage__14wxStaticBitmapFRC10wxGDIImage
+ ;wxConstructorForwxStaticBitmap()
+ wxConstructorForwxStaticBitmap__Fv
+ ;wxStaticBitmap::ImageIsOk() const
+ ImageIsOk__14wxStaticBitmapCFv
+ ;wxStaticBitmap::DoGetBestSize() const
+ DoGetBestSize__14wxStaticBitmapCFv
+ ;From object file: ..\os2\statbox.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxStaticBox::OnEraseBackground(wxEraseEvent&)
+ OnEraseBackground__11wxStaticBoxFR12wxEraseEvent
+ ;wxConstructorForwxStaticBox()
+ wxConstructorForwxStaticBox__Fv
+ ;wxStaticBox::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__11wxStaticBoxFUlT1UiT3PvT5
+ ;wxStaticBox::GetEventTable() const
+ GetEventTable__11wxStaticBoxCFv
+ ;wxStaticBox::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__11wxStaticBoxFUiPvT2
+ ;wxStaticBox::DoGetBestSize() const
+ DoGetBestSize__11wxStaticBoxCFv
+ ;wxStaticBox::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__11wxStaticBoxFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxStaticBox::sm_classwxStaticBox
+ sm_classwxStaticBox__11wxStaticBox
+ ;wxStaticBox::sm_eventTable
+ sm_eventTable__11wxStaticBox
+ __vft11wxStaticBox8wxObject
+ ;wxStaticBox::sm_eventTableEntries
+ sm_eventTableEntries__11wxStaticBox
+ ;From object file: ..\os2\stattext.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxStaticText::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__12wxStaticTextFUiPvT2
+ ;wxStaticText::SetLabel(const wxString&)
+ SetLabel__12wxStaticTextFRC8wxString
+ ;wxStaticText::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__12wxStaticTextFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
+ ;wxStaticText::sm_classwxStaticText
+ sm_classwxStaticText__12wxStaticText
+ ;wxStaticText::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__12wxStaticTextFUlT1UiT3PvT5
+ ;wxConstructorForwxStaticText()
+ wxConstructorForwxStaticText__Fv
+ __vft12wxStaticText8wxObject
+ ;wxStaticText::DoGetBestSize() const
+ DoGetBestSize__12wxStaticTextCFv
+ ;From object file: ..\os2\statline.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxStaticLine::sm_classwxStaticLine
+ sm_classwxStaticLine__12wxStaticLine
+ ;wxConstructorForwxStaticLine()
+ wxConstructorForwxStaticLine__Fv
+ ;wxStaticLine::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__12wxStaticLineFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;From object file: ..\os2\tabctrl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft9wxTabCtrl8wxObject
+ ;wxTabEvent::wxTabEvent(int,int)
+ __ct__10wxTabEventFiT1
+ ;wxTabCtrl::SetSelection(int)
+ SetSelection__9wxTabCtrlFi
+ ;wxTabCtrl::SetItemImage(int,int)
+ SetItemImage__9wxTabCtrlFiT1
+ ;wxTabCtrl::OS2OnNotify(int,void*,void**)
+ OS2OnNotify__9wxTabCtrlFiPvPPv
+ ;wxTabCtrl::GetSelection() const
+ GetSelection__9wxTabCtrlCFv
+ ;wxTabCtrl::GetCurFocus() const
+ GetCurFocus__9wxTabCtrlCFv
+ ;wxTabCtrl::DeleteAllItems()
+ DeleteAllItems__9wxTabCtrlFv
+ ;wxTabCtrl::GetItemText(int) const
+ GetItemText__9wxTabCtrlCFi
+ ;wxTabCtrl::GetItemData(int) const
+ GetItemData__9wxTabCtrlCFi
+ ;wxTabCtrl::GetRowCount() const
+ GetRowCount__9wxTabCtrlCFv
+ ;wxTabCtrl::HitTest(const wxPoint&,long&)
+ HitTest__9wxTabCtrlFRC7wxPointRl
+ ;wxTabCtrl::sm_eventTableEntries
+ sm_eventTableEntries__9wxTabCtrl
+ ;wxTabCtrl::sm_classwxTabCtrl
+ sm_classwxTabCtrl__9wxTabCtrl
+ ;wxConstructorForwxTabCtrl()
+ wxConstructorForwxTabCtrl__Fv
+ ;wxTabCtrl::wxTabCtrl()
+ __ct__9wxTabCtrlFv
+ ;wxTabCtrl::InsertItem(int,const wxString&,int,void*)
+ InsertItem__9wxTabCtrlFiRC8wxStringT1Pv
+ ;wxTabCtrl::GetItemCount() const
+ GetItemCount__9wxTabCtrlCFv
+ ;wxTabCtrl::GetImageList() const
+ GetImageList__9wxTabCtrlCFv
+ ;wxTabCtrl::SetItemText(int,const wxString&)
+ SetItemText__9wxTabCtrlFiRC8wxString
+ ;wxTabCtrl::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__9wxTabCtrlFR23wxSysColourChangedEvent
+ ;wxTabEvent::sm_classwxTabEvent
+ sm_classwxTabEvent__10wxTabEvent
+ ;wxTabCtrl::GetItemRect(int,wxRect&) const
+ GetItemRect__9wxTabCtrlCFiR6wxRect
+ ;wxTabCtrl::DeleteItem(int)
+ DeleteItem__9wxTabCtrlFi
+ ;wxTabCtrl::SetPadding(const wxSize&)
+ SetPadding__9wxTabCtrlFRC6wxSize
+ ;wxTabCtrl::GetItemImage(int) const
+ GetItemImage__9wxTabCtrlCFi
+ ;wxTabCtrl::GetEventTable() const
+ GetEventTable__9wxTabCtrlCFv
+ ;wxConstructorForwxTabEvent()
+ wxConstructorForwxTabEvent__Fv
+ ;wxTabCtrl::~wxTabCtrl()
+ __dt__9wxTabCtrlFv
+ ;wxTabCtrl::SetItemData(int,void*)
+ SetItemData__9wxTabCtrlFiPv
+ ;wxTabCtrl::SetImageList(wxImageList*)
+ SetImageList__9wxTabCtrlFP11wxImageList
+ ;wxTabCtrl::sm_eventTable
+ sm_eventTable__9wxTabCtrl
+ ;wxTabCtrl::SetItemSize(const wxSize&)
+ SetItemSize__9wxTabCtrlFRC6wxSize
+ ;wxTabCtrl::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__9wxTabCtrlFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;From object file: ..\os2\taskbar.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTaskBarIcon::OnLButtonDown(wxEvent&)
+ OnLButtonDown__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::wxTaskBarIcon()
+ __ct__13wxTaskBarIconFv
+ ;wxTaskBarIcon::GetEventTable() const
+ GetEventTable__13wxTaskBarIconCFv
+ ;wxTaskBarIcon::sm_taskbarMsg
+ sm_taskbarMsg__13wxTaskBarIcon
+ ;wxTaskBarIcon::RemoveIcon()
+ RemoveIcon__13wxTaskBarIconFv
+ ;wxTaskBarIcon::OnRButtonDown(wxEvent&)
+ OnRButtonDown__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::_OnRButtonUp(wxEvent&)
+ _OnRButtonUp__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::_OnLButtonDown(wxEvent&)
+ _OnLButtonDown__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::OnRButtonUp(wxEvent&)
+ OnRButtonUp__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::OnRButtonDClick(wxEvent&)
+ OnRButtonDClick__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::RegisterWindowClass()
+ RegisterWindowClass__13wxTaskBarIconFv
+ ;wxTaskBarIcon::sm_taskBarIcons
+ sm_taskBarIcons__13wxTaskBarIcon
+ ;wxTaskBarIcon::sm_eventTable
+ sm_eventTable__13wxTaskBarIcon
+ ;wxTaskBarIcon::sm_classwxTaskBarIcon
+ sm_classwxTaskBarIcon__13wxTaskBarIcon
+ wxTaskBarWindowClass
+ ;wxTaskBarIcon::OnMouseMove(wxEvent&)
+ OnMouseMove__13wxTaskBarIconFR7wxEvent
+ __vft13wxTaskBarIcon8wxObject
+ ;wxTaskBarIcon::_OnRButtonDClick(wxEvent&)
+ _OnRButtonDClick__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::OnLButtonDClick(wxEvent&)
+ OnLButtonDClick__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::PopupMenu(wxMenu*)
+ PopupMenu__13wxTaskBarIconFP6wxMenu
+ ;wxTaskBarIcon::AddObject(wxTaskBarIcon*)
+ AddObject__13wxTaskBarIconFP13wxTaskBarIcon
+ ;wxTaskBarIcon::sm_registeredClass
+ sm_registeredClass__13wxTaskBarIcon
+ ;wxTaskBarIcon::RemoveObject(wxTaskBarIcon*)
+ RemoveObject__13wxTaskBarIconFP13wxTaskBarIcon
+ ;wxTaskBarIcon::CreateTaskBarWindow()
+ CreateTaskBarWindow__13wxTaskBarIconFv
+ ;wxTaskBarIcon::WindowProc(unsigned long,unsigned int,void*,void*)
+ WindowProc__13wxTaskBarIconFUlUiPvT3
+ ;wxTaskBarIconWindowProc(unsigned long,unsigned int,void*,void*)
+ wxTaskBarIconWindowProc__FUlUiPvT3
+ ;wxTaskBarIcon::OnLButtonUp(wxEvent&)
+ OnLButtonUp__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::_OnRButtonDown(wxEvent&)
+ _OnRButtonDown__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::_OnMouseMove(wxEvent&)
+ _OnMouseMove__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::_OnLButtonUp(wxEvent&)
+ _OnLButtonUp__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::_OnLButtonDClick(wxEvent&)
+ _OnLButtonDClick__13wxTaskBarIconFR7wxEvent
+ ;wxTaskBarIcon::FindObjectForHWND(unsigned long)
+ FindObjectForHWND__13wxTaskBarIconFUl
+ ;wxConstructorForwxTaskBarIcon()
+ wxConstructorForwxTaskBarIcon__Fv
+ ;wxTaskBarIcon::sm_eventTableEntries
+ sm_eventTableEntries__13wxTaskBarIcon
+ ;wxTaskBarIcon::~wxTaskBarIcon()
+ __dt__13wxTaskBarIconFv
+ ;wxTaskBarIcon::SetIcon(const wxIcon&,const wxString&)
+ SetIcon__13wxTaskBarIconFRC6wxIconRC8wxString
+ ;From object file: ..\os2\textctrl.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxTextCtrl::GetLineText(long) const
+ GetLineText__10wxTextCtrlCFl
+ ;wxTextCtrl::OnUpdateUndo(wxUpdateUIEvent&)
+ OnUpdateUndo__10wxTextCtrlFR15wxUpdateUIEvent
+ ;wxTextCtrl::OnUpdatePaste(wxUpdateUIEvent&)
+ OnUpdatePaste__10wxTextCtrlFR15wxUpdateUIEvent
+ ;wxTextCtrl::OnUpdateCut(wxUpdateUIEvent&)
+ OnUpdateCut__10wxTextCtrlFR15wxUpdateUIEvent
+ ;wxTextCtrl::OnUndo(wxCommandEvent&)
+ OnUndo__10wxTextCtrlFR14wxCommandEvent
+ ;wxTextCtrl::OnRedo(wxCommandEvent&)
+ OnRedo__10wxTextCtrlFR14wxCommandEvent
+ ;wxTextCtrl::OnPaste(wxCommandEvent&)
+ OnPaste__10wxTextCtrlFR14wxCommandEvent
+ ;wxTextCtrl::OnChar(wxKeyEvent&)
+ OnChar__10wxTextCtrlFR10wxKeyEvent
+ ;wxTextCtrl::Remove(long,long)
+ Remove__10wxTextCtrlFlT1
+ ;wxTextCtrl::SetSelection(long,long)
+ SetSelection__10wxTextCtrlFlT1
+ ;wxTextCtrl::Copy()
+ Copy__10wxTextCtrlFv
+ ;wxTextCtrl::CanRedo() const
+ CanRedo__10wxTextCtrlCFv
+ ;wxTextCtrl::SetEditable(unsigned long)
+ SetEditable__10wxTextCtrlFUl
+ ;wxTextCtrl::sm_classwxTextCtrl
+ sm_classwxTextCtrl__10wxTextCtrl
+ __vft10wxTextCtrl8wxObject
+ ;wxTextCtrl::ShowPosition(long)
+ ShowPosition__10wxTextCtrlFl
+ ;wxTextCtrl::OnUpdateCopy(wxUpdateUIEvent&)
+ OnUpdateCopy__10wxTextCtrlFR15wxUpdateUIEvent
+ ;wxTextCtrl::OnCut(wxCommandEvent&)
+ OnCut__10wxTextCtrlFR14wxCommandEvent
+ ;wxTextCtrl::OnCopy(wxCommandEvent&)
+ OnCopy__10wxTextCtrlFR14wxCommandEvent
+ ;wxConstructorForwxTextCtrl()
+ wxConstructorForwxTextCtrl__Fv
+ ;wxTextCtrl::wxTextCtrl()
+ __ct__10wxTextCtrlFv
+ ;wxTextCtrl::SetupColours()
+ SetupColours__10wxTextCtrlFv
+ ;wxTextCtrl::Redo()
+ Redo__10wxTextCtrlFv
+ ;wxTextCtrl::Paste()
+ Paste__10wxTextCtrlFv
+ ;wxTextCtrl::IsModified() const
+ IsModified__10wxTextCtrlCFv
+ ;wxTextCtrl::GetNumberOfLines() const
+ GetNumberOfLines__10wxTextCtrlCFv
+ ;wxTextCtrl::GetEventTable() const
+ GetEventTable__10wxTextCtrlCFv
+ ;wxTextCtrl::DoGetBestSize() const
+ DoGetBestSize__10wxTextCtrlCFv
+ ;wxTextCtrl::AdoptAttributesFromHWND()
+ AdoptAttributesFromHWND__10wxTextCtrlFv
+ ;wxTextCtrl::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxValidator&,const wxString&)
+ Create__10wxTextCtrlFP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelRC11wxValidatorT3
+ ;wxTextCtrl::SetInsertionPoint(long)
+ SetInsertionPoint__10wxTextCtrlFl
+ ;wxTextCtrl::GetLineLength(long) const
+ GetLineLength__10wxTextCtrlCFl
+ ;wxTextCtrl::Cut()
+ Cut__10wxTextCtrlFv
+ ;wxTextCtrl::SetInsertionPointEnd()
+ SetInsertionPointEnd__10wxTextCtrlFv
+ ;wxTextCtrl::DiscardEdits()
+ DiscardEdits__10wxTextCtrlFv
+ ;wxTextCtrl::CanUndo() const
+ CanUndo__10wxTextCtrlCFv
+ ;wxTextCtrl::CanCopy() const
+ CanCopy__10wxTextCtrlCFv
+ ;wxTextCtrl::AcceptsFocus() const
+ AcceptsFocus__10wxTextCtrlCFv
+ ;wxTextCtrl::AppendText(const wxString&)
+ AppendText__10wxTextCtrlFRC8wxString
+ ;wxTextCtrl::Replace(long,long,const wxString&)
+ Replace__10wxTextCtrlFlT1RC8wxString
+ ;wxTextCtrl::LoadFile(const wxString&)
+ LoadFile__10wxTextCtrlFRC8wxString
+ ;wxTextCtrl::Command(wxCommandEvent&)
+ Command__10wxTextCtrlFR14wxCommandEvent
+ ;wxTextCtrl::sm_eventTable
+ sm_eventTable__10wxTextCtrl
+ ;wxTextCtrl::sm_eventTableEntries
+ sm_eventTableEntries__10wxTextCtrl
+ ;wxTextCtrl::OnUpdateRedo(wxUpdateUIEvent&)
+ OnUpdateRedo__10wxTextCtrlFR15wxUpdateUIEvent
+ ;wxTextCtrl::OnDropFiles(wxDropFilesEvent&)
+ OnDropFiles__10wxTextCtrlFR16wxDropFilesEvent
+ ;wxTextCtrl::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__10wxTextCtrlFUlT1UiT3PvT5
+ ;wxTextCtrl::GetInsertionPoint() const
+ GetInsertionPoint__10wxTextCtrlCFv
+ ;wxTextCtrl::Undo()
+ Undo__10wxTextCtrlFv
+ ;wxTextCtrl::PositionToXY(long,long*,long*) const
+ PositionToXY__10wxTextCtrlCFlPlT2
+ ;wxTextCtrl::AdjustSpaceLimit()
+ AdjustSpaceLimit__10wxTextCtrlFv
+ ;wxTextCtrl::SetValue(const wxString&)
+ SetValue__10wxTextCtrlFRC8wxString
+ ;wxTextCtrl::WriteText(const wxString&)
+ WriteText__10wxTextCtrlFRC8wxString
+ ;wxTextCtrl::GetSelection(long*,long*) const
+ GetSelection__10wxTextCtrlCFPlT1
+ ;wxTextCtrl::XYToPosition(long,long) const
+ XYToPosition__10wxTextCtrlCFlT1
+ ;wxTextCtrl::GetValue() const
+ GetValue__10wxTextCtrlCFv
+ ;wxTextCtrl::IsEditable() const
+ IsEditable__10wxTextCtrlCFv
+ ;wxTextCtrl::GetLastPosition() const
+ GetLastPosition__10wxTextCtrlCFv
+ ;wxTextCtrl::Clear()
+ Clear__10wxTextCtrlFv
+ ;wxTextCtrl::CanPaste() const
+ CanPaste__10wxTextCtrlCFv
+ ;wxTextCtrl::CanCut() const
+ CanCut__10wxTextCtrlCFv
+ ;wxTextCtrl::OS2Command(unsigned int,unsigned short)
+ OS2Command__10wxTextCtrlFUiUs
+ ;From object file: ..\os2\thread.cpp
+ ;PUBDEFs (Symbols available from object file):
+ p_wxMainMutex
+ ;wxCondition::Wait(unsigned long,unsigned long)
+ Wait__11wxConditionFUlT1
+ ;wxCriticalSection::Leave()
+ Leave__17wxCriticalSectionFv
+ ;wxMutex::~wxMutex()
+ __dt__7wxMutexFv
+ ;wxMutex::wxMutex()
+ __ct__7wxMutexFv
+ ;wxThread::Pause()
+ Pause__8wxThreadFv
+ ;wxThread::Kill()
+ Kill__8wxThreadFv
+ ;wxThread::IsRunning() const
+ IsRunning__8wxThreadCFv
+ ;wxThread::GetId() const
+ GetId__8wxThreadCFv
+ ;wxThread::Delete(void**)
+ Delete__8wxThreadFPPv
+ ;wxThread::Create()
+ Create__8wxThreadFv
+ ;wxThreadInternal::OS2ThreadStart(wxThread*)
+ OS2ThreadStart__16wxThreadInternalFP8wxThread
+ ;wxMutex::Lock()
+ Lock__7wxMutexFv
+ ;wxWakeUpMainThread()
+ wxWakeUpMainThread__Fv
+ ;wxIsWaitingForThread()
+ wxIsWaitingForThread__Fv
+ ;wxConstructorForwxThreadModule()
+ wxConstructorForwxThreadModule__Fv
+ ;wxCondition::~wxCondition()
+ __dt__11wxConditionFv
+ ;wxCriticalSection::wxCriticalSection()
+ __ct__17wxCriticalSectionFv
+ ;wxThread::Resume()
+ Resume__8wxThreadFv
+ ;wxThreadModule::OnInit()
+ OnInit__14wxThreadModuleFv
+ ;wxThread::IsPaused() const
+ IsPaused__8wxThreadCFv
+ ;wxThread::IsMain()
+ IsMain__8wxThreadFv
+ m_pThread
+ ;wxThreadModule::sm_classwxThreadModule
+ sm_classwxThreadModule__14wxThreadModule
+ ;wxCriticalSection::Enter()
+ Enter__17wxCriticalSectionFv
+ ;wxGuiOwnedByMainThread()
+ wxGuiOwnedByMainThread__Fv
+ ;wxCriticalSection::~wxCriticalSection()
+ __dt__17wxCriticalSectionFv
+ ;wxCondition::wxCondition()
+ __ct__11wxConditionFv
+ ;wxThread::Yield()
+ Yield__8wxThreadFv
+ ;wxMutex::TryLock()
+ TryLock__7wxMutexFv
+ ;wxThread::This()
+ This__8wxThreadFv
+ ;wxThreadInternal::Create(wxThread*)
+ Create__16wxThreadInternalFP8wxThread
+ __vft8wxThread
+ ;wxThread::wxThread(wxThreadKind)
+ __ct__8wxThreadF12wxThreadKind
+ ;wxThread::Sleep(unsigned long)
+ Sleep__8wxThreadFUl
+ ;wxMutex::Unlock()
+ Unlock__7wxMutexFv
+ ;wxMutexGuiLeaveOrEnter()
+ wxMutexGuiLeaveOrEnter__Fv
+ ;wxThread::Wait()
+ Wait__8wxThreadFv
+ ;wxThreadInternal::Suspend()
+ Suspend__16wxThreadInternalFv
+ ;wxThread::Run()
+ Run__8wxThreadFv
+ ;wxThreadInternal::Resume()
+ Resume__16wxThreadInternalFv
+ ;wxThreadModule::OnExit()
+ OnExit__14wxThreadModuleFv
+ __vft14wxThreadModule8wxObject
+ ;wxThreadInternal::SetPriority(unsigned int)
+ SetPriority__16wxThreadInternalFUi
+ ;wxThread::SetPriority(unsigned int)
+ SetPriority__8wxThreadFUi
+ ;wxMutexGuiLeave()
+ wxMutexGuiLeave__Fv
+ ;wxThread::~wxThread()
+ __dt__8wxThreadFv
+ ;wxCondition::Wait()
+ Wait__11wxConditionFv
+ ;wxThread::TestDestroy()
+ TestDestroy__8wxThreadFv
+ ;wxCondition::Signal()
+ Signal__11wxConditionFv
+ ;wxThread::IsAlive() const
+ IsAlive__8wxThreadCFv
+ ;wxThread::GetPriority() const
+ GetPriority__8wxThreadCFv
+ ;wxThread::Exit(void*)
+ Exit__8wxThreadFPv
+ ;wxCondition::Broadcast()
+ Broadcast__11wxConditionFv
+ ;From object file: ..\os2\timer.cpp
+ ;PUBDEFs (Symbols available from object file):
+ __vft7wxTimer8wxObject
+ ;wxTimerProc(unsigned long,unsigned long,int,unsigned long)
+ wxTimerProc__FUlT1iT1
+ ;wxProcessTimer(wxTimer&)
+ wxProcessTimer__FR7wxTimer
+ wxTimerList
+ ;wxTimer::Start(int,unsigned long)
+ Start__7wxTimerFiUl
+ ;wxTimer::~wxTimer()
+ __dt__7wxTimerFv
+ ;wxTimer::Stop()
+ Stop__7wxTimerFv
+ ;wxTimer::wxTimer()
+ __ct__7wxTimerFv
+ ;wxTimer::sm_classwxTimer
+ sm_classwxTimer__7wxTimer
+ ;From object file: ..\os2\toolbar.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxToolBar::CreateTool(wxControl*)
+ CreateTool__9wxToolBarFP9wxControl
+ ;wxToolBar::DoToggleTool(wxToolBarToolBase*,unsigned long)
+ DoToggleTool__9wxToolBarFP17wxToolBarToolBaseUl
+ ;wxToolBar::Init()
+ Init__9wxToolBarFv
+ ;wxToolBar::sm_eventTable
+ sm_eventTable__9wxToolBar
+ ;wxToolBar::GetToolSize() const
+ GetToolSize__9wxToolBarCFv
+ ;wxToolBar::CreateTool(int,const wxBitmap&,const wxBitmap&,unsigned long,wxObject*,const wxString&,const wxString&)
+ CreateTool__9wxToolBarFiRC8wxBitmapT2UlP8wxObjectRC8wxStringT6
+ ;wxToolBar::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__9wxToolBarFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxToolBar::OS2Command(unsigned int,unsigned short)
+ OS2Command__9wxToolBarFUiUs
+ ;wxToolBar::DoInsertTool(unsigned int,wxToolBarToolBase*)
+ DoInsertTool__9wxToolBarFUiP17wxToolBarToolBase
+ ;wxToolBar::Realize()
+ Realize__9wxToolBarFv
+ ;wxToolBar::sm_eventTableEntries
+ sm_eventTableEntries__9wxToolBar
+ ;wxToolBar::sm_classwxToolBar
+ sm_classwxToolBar__9wxToolBar
+ __vft9wxToolBar8wxObject
+ ;wxToolBar::SetToolBitmapSize(const wxSize&)
+ SetToolBitmapSize__9wxToolBarFRC6wxSize
+ ;wxToolBar::DoEnableTool(wxToolBarToolBase*,unsigned long)
+ DoEnableTool__9wxToolBarFP17wxToolBarToolBaseUl
+ ;wxToolBar::OnMouseEvent(wxMouseEvent&)
+ OnMouseEvent__9wxToolBarFR12wxMouseEvent
+ ;wxToolBar::DoSetToggle(wxToolBarToolBase*,unsigned long)
+ DoSetToggle__9wxToolBarFP17wxToolBarToolBaseUl
+ ;wxToolBar::DoDeleteTool(unsigned int,wxToolBarToolBase*)
+ DoDeleteTool__9wxToolBarFUiP17wxToolBarToolBase
+ ;wxToolBar::SetRows(int)
+ SetRows__9wxToolBarFi
+ ;wxToolBar::FindToolForPosition(int,int) const
+ FindToolForPosition__9wxToolBarCFiT1
+ ;wxToolBar::GetEventTable() const
+ GetEventTable__9wxToolBarCFv
+ ;wxToolBar::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__9wxToolBarFUiPvT2
+ ;wxToolBar::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__9wxToolBarFR23wxSysColourChangedEvent
+ ;wxConstructorForwxToolBar()
+ wxConstructorForwxToolBar__Fv
+ ;wxToolBar::~wxToolBar()
+ __dt__9wxToolBarFv
+ ;wxToolBar::UpdateSize()
+ UpdateSize__9wxToolBarFv
+ ;wxToolBar::OS2OnNotify(int,void*,void**)
+ OS2OnNotify__9wxToolBarFiPvPPv
+ ;From object file: ..\os2\tooltip.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxToolTip::wxToolTip(const wxString&)
+ __ct__9wxToolTipFRC8wxString
+ ;wxToolTip::SetWindow(wxWindow*)
+ SetWindow__9wxToolTipFP8wxWindow
+ __vft9wxToolTip8wxObject
+ ;wxToolTip::RelayEvent(void**)
+ RelayEvent__9wxToolTipFPPv
+ ;wxToolTip::~wxToolTip()
+ __dt__9wxToolTipFv
+ ;wxToolTip::Enable(unsigned long)
+ Enable__9wxToolTipFUl
+ ;wxToolTip::SetDelay(long)
+ SetDelay__9wxToolTipFl
+ ;wxToolTip::SetTip(const wxString&)
+ SetTip__9wxToolTipFRC8wxString
+ ;wxToolTip::GetToolTipCtrl()
+ GetToolTipCtrl__9wxToolTipFv
+ ;wxToolTip::Remove()
+ Remove__9wxToolTipFv
+ ;wxToolTip::hwndTT
+ hwndTT__9wxToolTip
+ ;From object file: ..\os2\utils.cpp
+ ;PUBDEFs (Symbols available from object file):
+ gs_wxBusyCursorOld
+ ;wxGetUserName(char*,int)
+ wxGetUserName__FPci
+ ;wxSleep(int)
+ wxSleep__Fi
+ ;wxKill(long,int)
+ wxKill__Fli
+ ;wxGetResource(const wxString&,const wxString&,long*,const wxString&)
+ wxGetResource__FRC8wxStringT1PlT1
+ ;wxGetOsVersion(int*,int*)
+ wxGetOsVersion__FPiT1
+ ;wxDisplaySizeMM(int*,int*)
+ wxDisplaySizeMM__FPiT1
+ ;wxBeginBusyCursor(wxCursor*)
+ wxBeginBusyCursor__FP8wxCursor
+ ;wxFlushEvents()
+ wxFlushEvents__Fv
+ ;wxColourDisplay()
+ wxColourDisplay__Fv
+ ;wxCheckForInterrupt(wxWindow*)
+ wxCheckForInterrupt__FP8wxWindow
+ ;wxDebugMsg(const char*,...)
+ wxDebugMsg__FPCce
+ ;wxWriteResource(const wxString&,const wxString&,int,const wxString&)
+ wxWriteResource__FRC8wxStringT1iT1
+ ;wxGetResource(const wxString&,const wxString&,float*,const wxString&)
+ wxGetResource__FRC8wxStringT1PfT1
+ ;wxGetMousePosition(int*,int*)
+ wxGetMousePosition__FPiT1
+ ;wxPathExists(const wxString&)
+ wxPathExists__FRC8wxString
+ ;wxGetWindowText(unsigned long)
+ wxGetWindowText__FUl
+ ;wxGetWindowId(unsigned long)
+ wxGetWindowId__FUl
+ ;wxGetWindowClass(unsigned long)
+ wxGetWindowClass__FUl
+ ;wxGetUserId(char*,int)
+ wxGetUserId__FPci
+ ;wxFatalError(const wxString&,const wxString&)
+ wxFatalError__FRC8wxStringT1
+ ;wxDisplaySize(int*,int*)
+ wxDisplaySize__FPiT1
+ ;wxDisplayDepth()
+ wxDisplayDepth__Fv
+ gs_wxBusyCursor
+ ;wxGetHomeDir(wxString*)
+ wxGetHomeDir__FP8wxString
+ ;wxUsleep(unsigned long)
+ wxUsleep__FUl
+ ;wxPMErrorToStr(unsigned long)
+ wxPMErrorToStr__FUl
+ ;wxGetHostName(char*,int)
+ wxGetHostName__FPci
+ ;wxGetResource(const wxString&,const wxString&,int*,const wxString&)
+ wxGetResource__FRC8wxStringT1PiT1
+ ;wxError(const wxString&,const wxString&)
+ wxError__FRC8wxStringT1
+ ;wxBell()
+ wxBell__Fv
+ ;wxShell(const wxString&)
+ wxShell__FRC8wxString
+ ;wxGetUserHome(const wxString&)
+ wxGetUserHome__FRC8wxString
+ ;wxWriteResource(const wxString&,const wxString&,const wxString&,const wxString&)
+ wxWriteResource__FRC8wxStringN31
+ ;wxWriteResource(const wxString&,const wxString&,long,const wxString&)
+ wxWriteResource__FRC8wxStringT1lT1
+ ;wxWriteResource(const wxString&,const wxString&,float,const wxString&)
+ wxWriteResource__FRC8wxStringT1fT1
+ ;wxGetResource(const wxString&,const wxString&,char**,const wxString&)
+ wxGetResource__FRC8wxStringT1PPcT1
+ ;wxEndBusyCursor()
+ wxEndBusyCursor__Fv
+ ;wxIsBusy()
+ wxIsBusy__Fv
+ ;wxGetFreeMemory()
+ wxGetFreeMemory__Fv
+ ;From object file: ..\os2\utilsexc.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxExecute(char**,unsigned long,wxProcess*)
+ wxExecute__FPPcUlP9wxProcess
+ ;wxExecute(const wxString&,unsigned long,wxProcess*)
+ wxExecute__FRC8wxStringUlP9wxProcess
+ ;wxGetFullHostName(char*,int)
+ wxGetFullHostName__FPci
+ wxExecuteWindowCbk
+ ;From object file: ..\os2\wave.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxWave::Create(const wxString&,unsigned long)
+ Create__6wxWaveFRC8wxStringUl
+ __vft6wxWave8wxObject
+ ;wxWave::~wxWave()
+ __dt__6wxWaveFv
+ ;wxWave::Free()
+ Free__6wxWaveFv
+ ;wxWave::wxWave(const wxString&,unsigned long)
+ __ct__6wxWaveFRC8wxStringUl
+ ;wxWave::wxWave(int,const unsigned char*)
+ __ct__6wxWaveFiPCUc
+ ;wxWave::Create(int,const unsigned char*)
+ Create__6wxWaveFiPCUc
+ ;wxWave::Play(unsigned long,unsigned long) const
+ Play__6wxWaveCFUlT1
+ ;wxWave::wxWave()
+ __ct__6wxWaveFv
+ ;From object file: ..\os2\window.cpp
+ ;PUBDEFs (Symbols available from object file):
+ ;wxFindWinFromHandle(unsigned long)
+ wxFindWinFromHandle__FUl
+ ;wxWindow::UnpackActivate(void*,void*,unsigned short*,unsigned long*)
+ UnpackActivate__8wxWindowFPvT1PUsPUl
+ ;wxWindow::SubclassWin(unsigned long)
+ SubclassWin__8wxWindowFUl
+ ;wxWindow::HandleInitDialog(unsigned long)
+ HandleInitDialog__8wxWindowFUl
+ ;wxWindow::HandleGetMinMaxInfo(_SWP*)
+ HandleGetMinMaxInfo__8wxWindowFP4_SWP
+ ;wxWindow::HandleEraseBkgnd(unsigned long)
+ HandleEraseBkgnd__8wxWindowFUl
+ ;wxWindow::HandleCreate(void*,unsigned long*)
+ HandleCreate__8wxWindowFPvPUl
+ ;wxWindow::DoGetPosition(int*,int*) const
+ DoGetPosition__8wxWindowCFPiT1
+ ;wxCharCodeOS2ToWX(int)
+ wxCharCodeOS2ToWX__Fi
+ ;wxWindow::HandleMouseMove(int,int,unsigned int)
+ HandleMouseMove__8wxWindowFiT1Ui
+ ;wxWindow::Raise()
+ Raise__8wxWindowFv
+ ;wxWindow::UnsubclassWin()
+ UnsubclassWin__8wxWindowFv
+ ;wxWindow::Lower()
+ Lower__8wxWindowFv
+ ;wxWindow::HandleMaximize()
+ HandleMaximize__8wxWindowFv
+ ;wxWindow::HandleDestroy()
+ HandleDestroy__8wxWindowFv
+ ;wxWindow::DoPopupMenu(wxMenu*,int,int)
+ DoPopupMenu__8wxWindowFP6wxMenuiT2
+ ;wxWindow::UnpackCommand(void*,void*,unsigned short*,unsigned long*,unsigned short*)
+ UnpackCommand__8wxWindowFPvT1PUsPUlT3
+ ;wxDlgProc(unsigned long,unsigned int,void*,void*)
+ wxDlgProc__FUlUiPvT3
+ ;wxWindow::sm_eventTable
+ sm_eventTable__8wxWindow
+ ;wxWindow::sm_classwxWindow
+ sm_classwxWindow__8wxWindow
+ ;wxWindow::SetScrollPos(int,int,unsigned long)
+ SetScrollPos__8wxWindowFiT1Ul
+ ;wxCharCodeWXToOS2(int,unsigned long*)
+ wxCharCodeWXToOS2__FiPUl
+ ;wxWindow::UnpackMenuSelect(void*,void*,unsigned short*,unsigned short*,unsigned long*)
+ UnpackMenuSelect__8wxWindowFPvT1PUsT3PUl
+ ;wxWindow::OnSetFocus(wxFocusEvent&)
+ OnSetFocus__8wxWindowFR12wxFocusEvent
+ ;wxWindow::HandleKillFocus(unsigned long)
+ HandleKillFocus__8wxWindowFUl
+ ;wxWindow::HandleCtlColor(unsigned long*)
+ HandleCtlColor__8wxWindowFPUl
+ ;wxWindow::GetScrollPos(int) const
+ GetScrollPos__8wxWindowCFi
+ ;wxWindow::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
+ OnCtlColor__8wxWindowFUlT1UiT3PvT5
+ ;wxWindow::InitMouseEvent(wxMouseEvent&,int,int,unsigned int)
+ InitMouseEvent__8wxWindowFR12wxMouseEventiT2Ui
+ ;wxWindow::GetScrollThumb(int) const
+ GetScrollThumb__8wxWindowCFi
+ ;wxWindow::DoGetClientSize(int*,int*) const
+ DoGetClientSize__8wxWindowCFPiT1
+ ;wxWindow::SetFocus()
+ SetFocus__8wxWindowFv
+ ;wxWindow::ReleaseMouse()
+ ReleaseMouse__8wxWindowFv
+ ;wxWindow::OS2OnMeasureItem(int,void**)
+ OS2OnMeasureItem__8wxWindowFiPPv
+ ;wxWindow::OS2DestroyWindow()
+ OS2DestroyWindow__8wxWindowFv
+ ;wxWindow::HandleWindowParams(_WNDPARAMS*,void*)
+ HandleWindowParams__8wxWindowFP10_WNDPARAMSPv
+ ;wxWindow::HandlePresParamChanged(void*)
+ HandlePresParamChanged__8wxWindowFPv
+ ;wxWindow::HandleKeyDown(unsigned short,void*)
+ HandleKeyDown__8wxWindowFUsPv
+ ;wxWindow::Clear()
+ Clear__8wxWindowFv
+ ;wxWindow::CaptureMouse()
+ CaptureMouse__8wxWindowFv
+ ;wxRemoveHandleAssociation(wxWindow*)
+ wxRemoveHandleAssociation__FP8wxWindow
+ wxWndHook
+ ;wxWindow::Reparent(wxWindow*)
+ Reparent__8wxWindowFP8wxWindow
+ ;wxWindow::Enable(unsigned long)
+ Enable__8wxWindowFUl
+ wxWinHandleList
+ ;wxFindWindowAtPointer(wxPoint&)
+ wxFindWindowAtPointer__FR7wxPoint
+ ;wxFindWindowAtPoint(const wxPoint&)
+ wxFindWindowAtPoint__FRC7wxPoint
+ ;wxWindow::SetFont(const wxFont&)
+ SetFont__8wxWindowFRC6wxFont
+ ;wxWindow::OnSysColourChanged(wxSysColourChangedEvent&)
+ OnSysColourChanged__8wxWindowFR23wxSysColourChangedEvent
+ ;wxWindow::OnEraseBackground(wxEraseEvent&)
+ OnEraseBackground__8wxWindowFR12wxEraseEvent
+ ;wxWindow::OS2OnScroll(int,unsigned short,unsigned short,unsigned long)
+ OS2OnScroll__8wxWindowFiUsT2Ul
+ ;wxWindow::Determine3DEffects(unsigned long,unsigned long*) const
+ Determine3DEffects__8wxWindowCFUlPUl
+ ;wxWindow::DoGetSize(int*,int*) const
+ DoGetSize__8wxWindowCFPiT1
+ ;wxGetMessageName(int)
+ wxGetMessageName__Fi
+ ;wxWindow::HandleSysCommand(void*,void*)
+ HandleSysCommand__8wxWindowFPvT1
+ ;wxWindow::HandleSize(int,int,unsigned int)
+ HandleSize__8wxWindowFiT1Ui
+ ;wxWindow::AdjustForParentClientOrigin(int&,int&,int)
+ AdjustForParentClientOrigin__8wxWindowFRiT1i
+ ;wxWindow::Init()
+ Init__8wxWindowFv
+ ;wxGetMousePosition()
+ wxGetMousePosition__Fv
+ ;wxConstructorForwxWindow()
+ wxConstructorForwxWindow__Fv
+ ;wxWindow::SetupColours()
+ SetupColours__8wxWindowFv
+ ;wxWindow::SetCursor(const wxCursor&)
+ SetCursor__8wxWindowFRC8wxCursor
+ ;wxWindow::OS2ProcessMessage(void**)
+ OS2ProcessMessage__8wxWindowFPPv
+ ;wxWindow::HandleSysColorChange()
+ HandleSysColorChange__8wxWindowFv
+ ;wxWindow::HandlePaletteChanged()
+ HandlePaletteChanged__8wxWindowFv
+ ;wxWindow::HandlePaint()
+ HandlePaint__8wxWindowFv
+ ;wxWindow::GetEventTable() const
+ GetEventTable__8wxWindowCFv
+ ;wxWindow::GetClientAreaOrigin() const
+ GetClientAreaOrigin__8wxWindowCFv
+ ;wxWindow::Create(wxWindow*,int,const wxPoint&,const wxSize&,long,const wxString&)
+ Create__8wxWindowFP8wxWindowiRC7wxPointRC6wxSizelRC8wxString
+ ;wxAssociateWinWithHandle(unsigned long,wxWindow*)
+ wxAssociateWinWithHandle__FUlP8wxWindow
+ s_currentMsg
+ ;wxWindow::Refresh(unsigned long,const wxRect*)
+ Refresh__8wxWindowFUlPC6wxRect
+ ;wxWindow::SetScrollbar(int,int,int,int,unsigned long)
+ SetScrollbar__8wxWindowFiN31Ul
+ ;wxWindow::SetDropTarget(wxDropTarget*)
+ SetDropTarget__8wxWindowFP12wxDropTarget
+ ;wxWindow::MakeExtendedStyle(long,unsigned long)
+ MakeExtendedStyle__8wxWindowFlUl
+ ;wxWindow::HandleSetFocus(unsigned long)
+ HandleSetFocus__8wxWindowFUl
+ ;wxWindow::HandleSetCursor(unsigned short,unsigned long)
+ HandleSetCursor__8wxWindowFUsUl
+ ;wxWindow::HandleCommand(unsigned short,unsigned short,unsigned long)
+ HandleCommand__8wxWindowFUsT1Ul
+ ;wxWindow::GetTextExtent(const wxString&,int*,int*,int*,int*,const wxFont*) const
+ GetTextExtent__8wxWindowCFRC8wxStringPiN32PC6wxFont
+ ;wxWindow::FindItem(long) const
+ FindItem__8wxWindowCFl
+ ;wxWindow::DragAcceptFiles(unsigned long)
+ DragAcceptFiles__8wxWindowFUl
+ ;wxWindow::DoSetToolTip(wxToolTip*)
+ DoSetToolTip__8wxWindowFP9wxToolTip
+ ;wxWindow::WarpPointer(int,int)
+ WarpPointer__8wxWindowFiT1
+ wxCurrentPopupMenu
+ ;wxWindow::HandleShow(unsigned long,int)
+ HandleShow__8wxWindowFUli
+ ;wxWindow::HandleMove(int,int)
+ HandleMove__8wxWindowFiT1
+ ;wxWindow::HandleMouseEvent(unsigned int,int,int,unsigned int)
+ HandleMouseEvent__8wxWindowFUiiT2T1
+ ;wxWindow::GetScrollRange(int) const
+ GetScrollRange__8wxWindowCFi
+ ;wxWindow::DoSetSize(int,int,int,int,int)
+ DoSetSize__8wxWindowFiN41
+ ;wxWindow::DoSetClientSize(int,int)
+ DoSetClientSize__8wxWindowFiT1
+ ;wxWindow::DoScreenToClient(int*,int*) const
+ DoScreenToClient__8wxWindowCFPiT1
+ ;wxWindow::~wxWindow()
+ __dt__8wxWindowFv
+ ;wxGetActiveWindow()
+ wxGetActiveWindow__Fv
+ ;wxWindow::OS2WindowProc(unsigned int,void*,void*)
+ OS2WindowProc__8wxWindowFUiPvT2
+ ;wxWindow::OS2TranslateMessage(void**)
+ OS2TranslateMessage__8wxWindowFPPv
+ ;wxWindow::OS2DefWindowProc(unsigned int,void*,void*)
+ OS2DefWindowProc__8wxWindowFUiPvT2
+ ;wxWindow::HandleMinimize()
+ HandleMinimize__8wxWindowFv
+ ;wxWindow::HandleEndDrag(void*)
+ HandleEndDrag__8wxWindowFPv
+ ;wxWindow::GetTitle() const
+ GetTitle__8wxWindowCFv
+ ;wxWindow::GetCharHeight() const
+ GetCharHeight__8wxWindowCFv
+ ;wxWindow::CreateKeyEvent(int,int,void*) const
+ CreateKeyEvent__8wxWindowCFiT1Pv
+ ;wxWindow::OS2Command(unsigned int,unsigned short)
+ OS2Command__8wxWindowFUiUs
+ wxWndProc
+ ;wxWindow::Show(unsigned long)
+ Show__8wxWindowFUl
+ ;wxGetCharSize(unsigned long,int*,int*,wxFont*)
+ wxGetCharSize__FUlPiT2P6wxFont
+ __vft8wxWindow8wxObject
+ ;wxWindow::UnpackScroll(void*,void*,unsigned short*,unsigned short*,unsigned long*)
+ UnpackScroll__8wxWindowFPvT1PUsT3PUl
+ ;wxWindow::ScrollWindow(int,int,const wxRect*)
+ ScrollWindow__8wxWindowFiT1PC6wxRect
+ ;wxWindow::OnIdle(wxIdleEvent&)
+ OnIdle__8wxWindowFR11wxIdleEvent
+ ;wxWindow::HandleChar(unsigned short,void*,unsigned long)
+ HandleChar__8wxWindowFUsPvUl
+ ;wxWindow::HandleActivate(int,unsigned long)
+ HandleActivate__8wxWindowFiUl
+ ;wxWindow::FindItemByHWND(unsigned long,unsigned long) const
+ FindItemByHWND__8wxWindowCFUlT1
+ ;wxWindow::DoMoveWindow(int,int,int,int)
+ DoMoveWindow__8wxWindowFiN31
+ ;wxWindow::DoClientToScreen(int*,int*) const
+ DoClientToScreen__8wxWindowCFPiT1
+ ;wxWindow::OS2DetachWindowMenu()
+ OS2DetachWindowMenu__8wxWindowFv
+ ;wxWindow::OS2OnDrawItem(int,void**)
+ OS2OnDrawItem__8wxWindowFiPPv
+ ;wxWindow::HandleKeyUp(unsigned short,void*)
+ HandleKeyUp__8wxWindowFUsPv
+ ;wxWindow::GetCharWidth() const
+ GetCharWidth__8wxWindowCFv
+ ;wxWindowBase::FindFocus()
+ FindFocus__12wxWindowBaseFv
+ ;wxWindow::OS2Create(unsigned long,char*,const char*,unsigned long,long,long,long,long,unsigned long,unsigned long,unsigned long,void*,void*)
+ OS2Create__8wxWindowFUlPcPCcT1lN35N31PvT12_
+ ;wxWindow::sm_eventTableEntries
+ sm_eventTableEntries__8wxWindow
+ ;wxWindow::SetTitle(const wxString&)
+ SetTitle__8wxWindowFRC8wxString
diff --git a/samples/SamplesVC.dsw b/samples/SamplesVC.dsw
new file mode 100644
index 0000000000..d07f3504b1
--- /dev/null
+++ b/samples/SamplesVC.dsw
@@ -0,0 +1,737 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CalendarVC"=.\calendar\CalendarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CaretVC"=.\caret\CaretVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CheckLstVC"=.\checklst\CheckLstVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ClientVC"=.\sockets\ClientVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ConfigVC"=.\config\ConfigVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ControlsVC"=.\controls\ControlsVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DbVC"=.\db\DbVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DialogsVC"=.\dialogs\DialogsVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DialupVC"=.\dialup\DialupVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DndVC"=.\dnd\DndVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DocViewVC"=.\docview\DocViewVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DocVwMDIVC"=.\docvwmdi\DocVwMDIVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DragimagVC"=.\dragimag\DragimagVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DrawingVC"=.\drawing\DrawingVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DynamicVC"=.\dynamic\DynamicVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ExecVC"=.\exec\ExecVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "FontVC"=.\font\FontVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "GridVC"=.\grid\GridVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "HelpVC"=.\help\HelpVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ImageVC"=.\image\ImageVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "InternatVC"=.\internat\InternatVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "JoytestVC"=.\joytest\JoytestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "LayoutVC"=.\layout\LayoutVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ListctrlVC"=.\listctrl\ListctrlVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MdiVC"=.\mdi\MdiVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MemcheckVC"=.\memcheck\MemcheckVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MenuVC"=.\menu\MenuVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MfcVC"=.\mfc\MfcVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MiniframVC"=.\minifram\MiniframVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MinimalVC"=.\minimal\MinimalVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "NativdlgVC"=.\nativdlg\NativdlgVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "NewGridVC"=.\newgrid\NewGridVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "NotebookVC"=.\notebook\NotebookVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "OleautoVC"=.\oleauto\OleautoVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "OwnerdrwVC"=.\ownerdrw\OwnerdrwVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "PlotVC"=.\plot\PlotVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "PngVC"=.\png\PngVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "PrintingVC"=.\printing\PrintingVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ProplistVC"=.\proplist\ProplistVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "PropsizeVC"=.\propsize\PropsizeVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "RegtestVC"=.\regtest\RegtestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ResourceVC"=.\resource\ResourceVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "RichEditVC"=.\richedit\RichEditVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "RotateVC"=.\rotate\RotateVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SashtestVC"=.\sashtest\SashtestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ScrollVC"=.\scroll\ScrollVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ScrollsubVC"=.\scrollsub\ScrollsubVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ServerVC"=.\sockets\ServerVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SplitterVC"=.\splitter\SplitterVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "StatbarVC"=.\statbar\StatbarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TabVC"=.\tab\TabVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TaskbarVC"=.\taskbar\TaskbarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TextVC"=.\text\TextVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ThreadVC"=.\thread\ThreadVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ToolbarVC"=.\toolbar\ToolbarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TreectrlVC"=.\treectrl\TreectrlVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TreelayVC"=.\treelay\TreelayVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TypetestVC"=.\typetest\TypetestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ValidateVC"=.\validate\ValidateVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "WizardVC"=.\wizard\WizardVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/calendar/CalendarVC.dsp b/samples/calendar/CalendarVC.dsp
new file mode 100644
index 0000000000..3d5cd52616
--- /dev/null
+++ b/samples/calendar/CalendarVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="CalendarVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=CalendarVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "CalendarVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "CalendarVC.mak" CFG="CalendarVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "CalendarVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "CalendarVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "CalendarVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "CalendarVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "CalendarVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/calendar.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CalendarVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/calendar.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CalendarVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/calendar.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CalendarVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/calendar.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "CalendarVC - Win32 Release"
+# Name "CalendarVC - Win32 Debug"
+# Name "CalendarVC - Win32 Debug DLL"
+# Name "CalendarVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\calendar.cpp
+
+!IF "$(CFG)" == "CalendarVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "CalendarVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CalendarVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CalendarVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\calendar.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/calendar/CalendarVC.dsw b/samples/calendar/CalendarVC.dsw
new file mode 100644
index 0000000000..7f3966d2d3
--- /dev/null
+++ b/samples/calendar/CalendarVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CalendarVC"=.\CalendarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/caret/CaretVC.dsp b/samples/caret/CaretVC.dsp
new file mode 100644
index 0000000000..db58e294a8
--- /dev/null
+++ b/samples/caret/CaretVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="CaretVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=CaretVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "CaretVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "CaretVC.mak" CFG="CaretVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "CaretVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "CaretVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "CaretVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "CaretVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "CaretVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/caret.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CaretVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/caret.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CaretVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/caret.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CaretVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/caret.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "CaretVC - Win32 Release"
+# Name "CaretVC - Win32 Debug"
+# Name "CaretVC - Win32 Debug DLL"
+# Name "CaretVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\caret.cpp
+
+!IF "$(CFG)" == "CaretVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "CaretVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CaretVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CaretVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\caret.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/caret/CaretVC.dsw b/samples/caret/CaretVC.dsw
new file mode 100644
index 0000000000..3d1a972995
--- /dev/null
+++ b/samples/caret/CaretVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CaretVC"=.\CaretVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/checklst/CheckLstVC.dsp b/samples/checklst/CheckLstVC.dsp
new file mode 100644
index 0000000000..c3ad947ccc
--- /dev/null
+++ b/samples/checklst/CheckLstVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="CheckLstVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=CheckLstVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "CheckLstVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "CheckLstVC.mak" CFG="CheckLstVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "CheckLstVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "CheckLstVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "CheckLstVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "CheckLstVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "CheckLstVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/checklst.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CheckLstVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/checklst.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CheckLstVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/checklst.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CheckLstVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/checklst.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "CheckLstVC - Win32 Release"
+# Name "CheckLstVC - Win32 Debug"
+# Name "CheckLstVC - Win32 Debug DLL"
+# Name "CheckLstVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\checklst.cpp
+
+!IF "$(CFG)" == "CheckLstVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "CheckLstVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CheckLstVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CheckLstVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\checklst.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/checklst/CheckLstVC.dsw b/samples/checklst/CheckLstVC.dsw
new file mode 100644
index 0000000000..faa4fac80b
--- /dev/null
+++ b/samples/checklst/CheckLstVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CheckLstVC"=.\CheckLstVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/config/ConfigVC.dsp b/samples/config/ConfigVC.dsp
new file mode 100644
index 0000000000..e4f4d545cc
--- /dev/null
+++ b/samples/config/ConfigVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ConfigVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ConfigVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ConfigVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ConfigVC.mak" CFG="ConfigVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ConfigVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ConfigVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ConfigVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ConfigVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ConfigVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/conftest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ConfigVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/conftest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ConfigVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/conftest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ConfigVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/conftest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ConfigVC - Win32 Release"
+# Name "ConfigVC - Win32 Debug"
+# Name "ConfigVC - Win32 Debug DLL"
+# Name "ConfigVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\conftest.cpp
+
+!IF "$(CFG)" == "ConfigVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ConfigVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ConfigVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ConfigVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\conftest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/config/ConfigVC.dsw b/samples/config/ConfigVC.dsw
new file mode 100644
index 0000000000..55bb3bf0d3
--- /dev/null
+++ b/samples/config/ConfigVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ConfigVC"=.\ConfigVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/controls/ControlsVC.dsp b/samples/controls/ControlsVC.dsp
new file mode 100644
index 0000000000..b62b50d206
--- /dev/null
+++ b/samples/controls/ControlsVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ControlsVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ControlsVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ControlsVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ControlsVC.mak" CFG="ControlsVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ControlsVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ControlsVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ControlsVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ControlsVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ControlsVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/controls.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ControlsVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/controls.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ControlsVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/controls.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ControlsVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/controls.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ControlsVC - Win32 Release"
+# Name "ControlsVC - Win32 Debug"
+# Name "ControlsVC - Win32 Debug DLL"
+# Name "ControlsVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\controls.cpp
+
+!IF "$(CFG)" == "ControlsVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ControlsVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ControlsVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ControlsVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\controls.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/controls/ControlsVC.dsw b/samples/controls/ControlsVC.dsw
new file mode 100644
index 0000000000..4c9a885bdc
--- /dev/null
+++ b/samples/controls/ControlsVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ControlsVC"=.\ControlsVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/db/DbVC.dsp b/samples/db/DbVC.dsp
new file mode 100644
index 0000000000..ef00698478
--- /dev/null
+++ b/samples/db/DbVC.dsp
@@ -0,0 +1,203 @@
+# Microsoft Developer Studio Project File - Name="DbVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DbVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DbVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DbVC.mak" CFG="DbVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DbVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DbVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DbVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DbVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DbVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/dbtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/dbtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/dbtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/dbtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DbVC - Win32 Release"
+# Name "DbVC - Win32 Debug"
+# Name "DbVC - Win32 Debug DLL"
+# Name "DbVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\dbtest.cpp
+
+!IF "$(CFG)" == "DbVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\dbtest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\dbtest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# Begin Source File
+
+SOURCE=.\listdb.cpp
+
+!IF "$(CFG)" == "DbVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DbVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\listdb.h
+# End Source File
+# End Target
+# End Project
diff --git a/samples/db/DbVC.dsw b/samples/db/DbVC.dsw
new file mode 100644
index 0000000000..9d3a571a53
--- /dev/null
+++ b/samples/db/DbVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DbVC"=.\DbVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/dialogs/DialogsVC.dsp b/samples/dialogs/DialogsVC.dsp
new file mode 100644
index 0000000000..bff92d1576
--- /dev/null
+++ b/samples/dialogs/DialogsVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="DialogsVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DialogsVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DialogsVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DialogsVC.mak" CFG="DialogsVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DialogsVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DialogsVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DialogsVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DialogsVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DialogsVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/dialogs.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DialogsVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/dialogs.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DialogsVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/dialogs.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DialogsVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/dialogs.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DialogsVC - Win32 Release"
+# Name "DialogsVC - Win32 Debug"
+# Name "DialogsVC - Win32 Debug DLL"
+# Name "DialogsVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\dialogs.cpp
+
+!IF "$(CFG)" == "DialogsVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DialogsVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DialogsVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DialogsVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\dialogs.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\dialogs.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/dialogs/DialogsVC.dsw b/samples/dialogs/DialogsVC.dsw
new file mode 100644
index 0000000000..e014285153
--- /dev/null
+++ b/samples/dialogs/DialogsVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DialogsVC"=.\DialogsVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/dialup/DialupVC.dsp b/samples/dialup/DialupVC.dsp
new file mode 100644
index 0000000000..ba5e0ffa83
--- /dev/null
+++ b/samples/dialup/DialupVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="DialupVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DialupVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DialupVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DialupVC.mak" CFG="DialupVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DialupVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DialupVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DialupVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DialupVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DialupVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/nettest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DialupVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/nettest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DialupVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/nettest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DialupVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/nettest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DialupVC - Win32 Release"
+# Name "DialupVC - Win32 Debug"
+# Name "DialupVC - Win32 Debug DLL"
+# Name "DialupVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\nettest.cpp
+
+!IF "$(CFG)" == "DialupVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DialupVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DialupVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DialupVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\nettest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/dialup/DialupVC.dsw b/samples/dialup/DialupVC.dsw
new file mode 100644
index 0000000000..7fc70ed199
--- /dev/null
+++ b/samples/dialup/DialupVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DialupVC"=.\DialupVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/dnd/DndVC.dsp b/samples/dnd/DndVC.dsp
new file mode 100644
index 0000000000..c8fe64c3c5
--- /dev/null
+++ b/samples/dnd/DndVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="DndVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DndVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DndVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DndVC.mak" CFG="DndVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DndVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DndVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DndVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DndVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DndVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/dnd.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DndVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/dnd.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DndVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/dnd.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DndVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/dnd.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DndVC - Win32 Release"
+# Name "DndVC - Win32 Debug"
+# Name "DndVC - Win32 Debug DLL"
+# Name "DndVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\dnd.cpp
+
+!IF "$(CFG)" == "DndVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DndVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DndVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DndVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\dnd.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/dnd/DndVC.dsw b/samples/dnd/DndVC.dsw
new file mode 100644
index 0000000000..fbf1286233
--- /dev/null
+++ b/samples/dnd/DndVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DndVC"=.\DndVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/docview/DocViewVC.dsp b/samples/docview/DocViewVC.dsp
new file mode 100644
index 0000000000..6037252a74
--- /dev/null
+++ b/samples/docview/DocViewVC.dsp
@@ -0,0 +1,227 @@
+# Microsoft Developer Studio Project File - Name="DocViewVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DocViewVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DocViewVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DocViewVC.mak" CFG="DocViewVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DocViewVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DocViewVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DocViewVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DocViewVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DocViewVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/docview.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/docview.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/docview.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/docview.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DocViewVC - Win32 Release"
+# Name "DocViewVC - Win32 Debug"
+# Name "DocViewVC - Win32 Debug DLL"
+# Name "DocViewVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\doc.cpp
+
+!IF "$(CFG)" == "DocViewVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\doc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\docview.cpp
+
+!IF "$(CFG)" == "DocViewVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\docview.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\docview.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# Begin Source File
+
+SOURCE=.\view.cpp
+
+!IF "$(CFG)" == "DocViewVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocViewVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\view.h
+# End Source File
+# End Target
+# End Project
diff --git a/samples/docview/DocViewVC.dsw b/samples/docview/DocViewVC.dsw
new file mode 100644
index 0000000000..1fcfb5375c
--- /dev/null
+++ b/samples/docview/DocViewVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DocViewVC"=.\DocViewVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/docvwmdi/DocVwMDIVC.dsp b/samples/docvwmdi/DocVwMDIVC.dsp
new file mode 100644
index 0000000000..7c7bdb65a4
--- /dev/null
+++ b/samples/docvwmdi/DocVwMDIVC.dsp
@@ -0,0 +1,227 @@
+# Microsoft Developer Studio Project File - Name="DocVwMDIVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DocVwMDIVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DocVwMDIVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DocVwMDIVC.mak" CFG="DocVwMDIVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DocVwMDIVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DocVwMDIVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DocVwMDIVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DocVwMDIVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DocVwMDIVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/docview.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/docview.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/docview.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/docview.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DocVwMDIVC - Win32 Release"
+# Name "DocVwMDIVC - Win32 Debug"
+# Name "DocVwMDIVC - Win32 Debug DLL"
+# Name "DocVwMDIVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\doc.cpp
+
+!IF "$(CFG)" == "DocVwMDIVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\doc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\docview.cpp
+
+!IF "$(CFG)" == "DocVwMDIVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\docview.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\docview.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# Begin Source File
+
+SOURCE=.\view.cpp
+
+!IF "$(CFG)" == "DocVwMDIVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DocVwMDIVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\view.h
+# End Source File
+# End Target
+# End Project
diff --git a/samples/docvwmdi/DocVwMDIVC.dsw b/samples/docvwmdi/DocVwMDIVC.dsw
new file mode 100644
index 0000000000..d8aef2bba8
--- /dev/null
+++ b/samples/docvwmdi/DocVwMDIVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DocVwMDIVC"=.\DocVwMDIVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/dragimag/DragimagVC.dsp b/samples/dragimag/DragimagVC.dsp
new file mode 100644
index 0000000000..c75ec7833e
--- /dev/null
+++ b/samples/dragimag/DragimagVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="DragimagVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DragimagVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DragimagVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DragimagVC.mak" CFG="DragimagVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DragimagVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DragimagVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DragimagVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DragimagVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DragimagVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/dragimag.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DragimagVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/dragimag.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DragimagVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/dragimag.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DragimagVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/dragimag.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DragimagVC - Win32 Release"
+# Name "DragimagVC - Win32 Debug"
+# Name "DragimagVC - Win32 Debug DLL"
+# Name "DragimagVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\dragimag.cpp
+
+!IF "$(CFG)" == "DragimagVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DragimagVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DragimagVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DragimagVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\dragimag.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\dragimag.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/dragimag/DragimagVC.dsw b/samples/dragimag/DragimagVC.dsw
new file mode 100644
index 0000000000..a132eba261
--- /dev/null
+++ b/samples/dragimag/DragimagVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DragimagVC"=.\DragimagVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/drawing/DrawingVC.dsp b/samples/drawing/DrawingVC.dsp
new file mode 100644
index 0000000000..dd2d9831c5
--- /dev/null
+++ b/samples/drawing/DrawingVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="DrawingVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DrawingVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DrawingVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DrawingVC.mak" CFG="DrawingVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DrawingVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DrawingVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DrawingVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DrawingVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DrawingVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/drawing.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DrawingVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/drawing.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DrawingVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/drawing.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DrawingVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/drawing.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DrawingVC - Win32 Release"
+# Name "DrawingVC - Win32 Debug"
+# Name "DrawingVC - Win32 Debug DLL"
+# Name "DrawingVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\drawing.cpp
+
+!IF "$(CFG)" == "DrawingVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DrawingVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DrawingVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DrawingVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\drawing.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/drawing/DrawingVC.dsw b/samples/drawing/DrawingVC.dsw
new file mode 100644
index 0000000000..ca284093c0
--- /dev/null
+++ b/samples/drawing/DrawingVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DrawingVC"=.\DrawingVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/dynamic/DynamicVC.dsp b/samples/dynamic/DynamicVC.dsp
new file mode 100644
index 0000000000..4afe321bec
--- /dev/null
+++ b/samples/dynamic/DynamicVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="DynamicVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=DynamicVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "DynamicVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "DynamicVC.mak" CFG="DynamicVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "DynamicVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "DynamicVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "DynamicVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "DynamicVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "DynamicVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/dynamic.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DynamicVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/dynamic.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DynamicVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/dynamic.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "DynamicVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/dynamic.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "DynamicVC - Win32 Release"
+# Name "DynamicVC - Win32 Debug"
+# Name "DynamicVC - Win32 Debug DLL"
+# Name "DynamicVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\dynamic.cpp
+
+!IF "$(CFG)" == "DynamicVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "DynamicVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DynamicVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "DynamicVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\dynamic.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/dynamic/DynamicVC.dsw b/samples/dynamic/DynamicVC.dsw
new file mode 100644
index 0000000000..d80defeeb1
--- /dev/null
+++ b/samples/dynamic/DynamicVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DynamicVC"=.\DynamicVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/exec/ExecVC.dsp b/samples/exec/ExecVC.dsp
new file mode 100644
index 0000000000..cebcf2d6c6
--- /dev/null
+++ b/samples/exec/ExecVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ExecVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ExecVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ExecVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ExecVC.mak" CFG="ExecVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ExecVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ExecVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ExecVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ExecVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ExecVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/exec.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ExecVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/exec.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ExecVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/exec.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ExecVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/exec.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ExecVC - Win32 Release"
+# Name "ExecVC - Win32 Debug"
+# Name "ExecVC - Win32 Debug DLL"
+# Name "ExecVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\exec.cpp
+
+!IF "$(CFG)" == "ExecVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ExecVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ExecVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ExecVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\exec.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/exec/ExecVC.dsw b/samples/exec/ExecVC.dsw
new file mode 100644
index 0000000000..e680968b99
--- /dev/null
+++ b/samples/exec/ExecVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ExecVC"=.\ExecVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/font/FontVC.dsp b/samples/font/FontVC.dsp
new file mode 100644
index 0000000000..cd308fbced
--- /dev/null
+++ b/samples/font/FontVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="FontVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=FontVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FontVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FontVC.mak" CFG="FontVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FontVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "FontVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "FontVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "FontVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "FontVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/font.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "FontVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/font.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "FontVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/font.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "FontVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/font.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "FontVC - Win32 Release"
+# Name "FontVC - Win32 Debug"
+# Name "FontVC - Win32 Debug DLL"
+# Name "FontVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\font.cpp
+
+!IF "$(CFG)" == "FontVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "FontVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "FontVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "FontVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\font.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/font/FontVC.dsw b/samples/font/FontVC.dsw
new file mode 100644
index 0000000000..3a9b4aedb9
--- /dev/null
+++ b/samples/font/FontVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "FontVC"=.\FontVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/grid/GridVC.dsp b/samples/grid/GridVC.dsp
new file mode 100644
index 0000000000..29780a4346
--- /dev/null
+++ b/samples/grid/GridVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="GridVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=GridVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "GridVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "GridVC.mak" CFG="GridVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "GridVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "GridVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "GridVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "GridVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "GridVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/grid.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "GridVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/grid.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "GridVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/grid.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "GridVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/grid.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "GridVC - Win32 Release"
+# Name "GridVC - Win32 Debug"
+# Name "GridVC - Win32 Debug DLL"
+# Name "GridVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\grid.cpp
+
+!IF "$(CFG)" == "GridVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "GridVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "GridVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "GridVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\grid.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/grid/GridVC.dsw b/samples/grid/GridVC.dsw
new file mode 100644
index 0000000000..98c0f0ec04
--- /dev/null
+++ b/samples/grid/GridVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "GridVC"=.\GridVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/grid/grid.cpp b/samples/grid/grid.cpp
new file mode 100644
index 0000000000..8aa405111d
--- /dev/null
+++ b/samples/grid/grid.cpp
@@ -0,0 +1,319 @@
+/*
+ * File: grid.cpp
+ * Purpose: wxGrid test
+ * Author: Julian Smart
+ * Created: 1995
+ * Updated:
+ * Copyright: (c) 1995, AIAI, University of Edinburgh
+ */
+
+static const char sccsid[] = "%W% %G%";
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/grid.h"
+#include "wx/colordlg.h"
+
+// Define a new application type
+class MyApp: public wxApp
+{ public:
+ bool OnInit(void);
+};
+
+
+// Define a new frame type
+class MyFrame: public wxFrame
+{ public:
+ wxGrid *grid;
+ MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size);
+
+ void ToggleEditable(wxCommandEvent& event);
+ void ToggleEditInPlace(wxCommandEvent& event);
+ void ToggleRowLabel(wxCommandEvent& event);
+ void ToggleColLabel(wxCommandEvent& event);
+ void ToggleDividers(wxCommandEvent& event);
+ void LeftCell(wxCommandEvent& event);
+ void CentreCell(wxCommandEvent& event);
+ void RightCell(wxCommandEvent& event);
+ void ColourLabelBackground(wxCommandEvent& event);
+ void ColourLabelText(wxCommandEvent& event);
+ void NormalLabelColouring(wxCommandEvent& event);
+ void ColourCellBackground(wxCommandEvent& event);
+ void ColourCellText(wxCommandEvent& event);
+ void NormalCellColouring(wxCommandEvent& event);
+ void Quit(wxCommandEvent& event);
+
+ void OnActivate(wxActivateEvent& event);
+
+DECLARE_EVENT_TABLE()
+};
+
+wxBitmap *cellBitmap1 = (wxBitmap *) NULL;
+wxBitmap *cellBitmap2 = (wxBitmap *) NULL;
+
+// ID for the menu quit command
+#define GRID_QUIT 1
+#define GRID_TOGGLE_EDITABLE 2
+#define GRID_TOGGLE_EDITINPLACE 22
+#define GRID_LEFT_CELL 3
+#define GRID_CENTRE_CELL 4
+#define GRID_RIGHT_CELL 5
+#define GRID_TOGGLE_ROW_LABEL 6
+#define GRID_TOGGLE_COL_LABEL 7
+#define GRID_COLOUR_LABEL_BACKGROUND 8
+#define GRID_COLOUR_LABEL_TEXT 9
+#define GRID_NORMAL_LABEL_COLOURING 10
+#define GRID_COLOUR_CELL_BACKGROUND 11
+#define GRID_COLOUR_CELL_TEXT 12
+#define GRID_NORMAL_CELL_COLOURING 13
+#define GRID_TOGGLE_DIVIDERS 14
+
+// Main proc
+
+IMPLEMENT_APP(MyApp)
+
+// `Main program' equivalent, creating windows and returning main app frame
+bool MyApp::OnInit(void)
+{
+#ifdef __WXMSW__
+ cellBitmap1 = new wxBitmap("bitmap1");
+ cellBitmap2 = new wxBitmap("bitmap2");
+#endif
+
+ // Create the main frame window
+ MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "wxGrid Sample", wxPoint(50, 50), wxSize(450, 300));
+
+ // Give it an icon
+#ifdef __WXMSW__
+ frame->SetIcon(wxIcon("mondrian"));
+#endif
+
+ // Make a menubar
+ wxMenu *file_menu = new wxMenu;
+ file_menu->Append(GRID_QUIT, "E&xit");
+
+ wxMenu *settings_menu = new wxMenu;
+ settings_menu->Append(GRID_TOGGLE_EDITABLE, "&Toggle editable");
+ settings_menu->Append(GRID_TOGGLE_EDITINPLACE, "&Toggle edit in place");
+ settings_menu->Append(GRID_TOGGLE_ROW_LABEL, "Toggle ro&w label");
+ settings_menu->Append(GRID_TOGGLE_COL_LABEL, "Toggle co&l label");
+ settings_menu->Append(GRID_TOGGLE_DIVIDERS, "Toggle ÷rs");
+ settings_menu->AppendSeparator();
+ settings_menu->Append(GRID_LEFT_CELL, "&Left cell alignment ");
+ settings_menu->Append(GRID_CENTRE_CELL, "&Centre cell alignment ");
+ settings_menu->Append(GRID_RIGHT_CELL, "&Right cell alignment ");
+ settings_menu->AppendSeparator();
+ settings_menu->Append(GRID_COLOUR_LABEL_BACKGROUND, "Choose a label &background colour");
+ settings_menu->Append(GRID_COLOUR_LABEL_TEXT, "Choose a label fore&ground colour");
+ settings_menu->Append(GRID_NORMAL_LABEL_COLOURING, "&Normal label colouring");
+ settings_menu->AppendSeparator();
+ settings_menu->Append(GRID_COLOUR_CELL_BACKGROUND, "Choo&se a cell &background colour");
+ settings_menu->Append(GRID_COLOUR_CELL_TEXT, "Choose &a cell foreground colour");
+ settings_menu->Append(GRID_NORMAL_CELL_COLOURING, "N&ormal cell colouring");
+
+ wxMenuBar *menu_bar = new wxMenuBar;
+ menu_bar->Append(file_menu, "&File");
+ menu_bar->Append(settings_menu, "&Settings");
+ frame->SetMenuBar(menu_bar);
+
+ // Make a grid
+ frame->grid = new wxGrid(frame, 0, 0, 400, 400);
+
+ frame->grid->CreateGrid(10, 8);
+ frame->grid->SetColumnWidth(3, 200);
+ frame->grid->SetRowHeight(4, 45);
+ frame->grid->SetCellValue("First cell", 0, 0);
+ frame->grid->SetCellValue("Another cell", 1, 1);
+ frame->grid->SetCellValue("Yet another cell", 2, 2);
+ frame->grid->SetCellTextFont(* wxTheFontList->FindOrCreateFont(10, wxROMAN, wxITALIC, wxNORMAL), 0, 0);
+ frame->grid->SetCellTextColour(*wxRED, 1, 1);
+ frame->grid->SetCellBackgroundColour(*wxCYAN, 2, 2);
+ if (cellBitmap1 && cellBitmap2)
+ {
+ frame->grid->SetCellAlignment(wxCENTRE, 5, 0);
+ frame->grid->SetCellAlignment(wxCENTRE, 6, 0);
+ frame->grid->SetCellBitmap(cellBitmap1, 5, 0);
+ frame->grid->SetCellBitmap(cellBitmap2, 6, 0);
+ }
+
+ frame->grid->UpdateDimensions();
+
+ // Show the frame
+ frame->Show(TRUE);
+
+ SetTopWindow(frame);
+ return TRUE;
+}
+
+// My frame constructor
+MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size):
+ wxFrame(frame, -1, title, pos, size)
+{
+ grid = (wxGrid*) NULL;
+}
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+ EVT_MENU(GRID_TOGGLE_EDITABLE, MyFrame::ToggleEditable)
+ EVT_MENU(GRID_TOGGLE_EDITINPLACE, MyFrame::ToggleEditInPlace)
+ EVT_MENU(GRID_TOGGLE_ROW_LABEL, MyFrame::ToggleRowLabel)
+ EVT_MENU(GRID_TOGGLE_COL_LABEL, MyFrame::ToggleColLabel)
+ EVT_MENU(GRID_TOGGLE_DIVIDERS, MyFrame::ToggleDividers)
+ EVT_MENU(GRID_LEFT_CELL, MyFrame::LeftCell)
+ EVT_MENU(GRID_CENTRE_CELL, MyFrame::CentreCell)
+ EVT_MENU(GRID_RIGHT_CELL, MyFrame::RightCell)
+ EVT_MENU(GRID_COLOUR_LABEL_BACKGROUND, MyFrame::ColourLabelBackground)
+ EVT_MENU(GRID_COLOUR_LABEL_TEXT, MyFrame::ColourLabelText)
+ EVT_MENU(GRID_NORMAL_LABEL_COLOURING, MyFrame::NormalLabelColouring)
+ EVT_MENU(GRID_COLOUR_CELL_BACKGROUND, MyFrame::ColourCellBackground)
+ EVT_MENU(GRID_COLOUR_CELL_TEXT, MyFrame::ColourCellText)
+ EVT_MENU(GRID_NORMAL_CELL_COLOURING, MyFrame::NormalCellColouring)
+ EVT_MENU(GRID_QUIT, MyFrame::Quit)
+END_EVENT_TABLE()
+
+void MyFrame::ToggleEditable(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetEditable(!grid->GetEditable());
+ grid->Refresh();
+}
+
+void MyFrame::ToggleEditInPlace(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetEditInPlace(!grid->GetEditInPlace());
+ grid->Refresh();
+}
+
+void MyFrame::ToggleRowLabel(wxCommandEvent& WXUNUSED(event))
+{
+ if (grid->GetLabelSize(wxVERTICAL) > 0)
+ grid->SetLabelSize(wxVERTICAL, 0);
+ else
+ grid->SetLabelSize(wxVERTICAL, 40);
+ grid->Refresh();
+}
+
+void MyFrame::ToggleColLabel(wxCommandEvent& WXUNUSED(event))
+{
+ if (grid->GetLabelSize(wxHORIZONTAL) > 0)
+ grid->SetLabelSize(wxHORIZONTAL, 0);
+ else
+ grid->SetLabelSize(wxHORIZONTAL, 20);
+ grid->Refresh();
+}
+
+void MyFrame::ToggleDividers(wxCommandEvent& WXUNUSED(event))
+{
+ if (!grid->GetDividerPen().Ok())
+ grid->SetDividerPen(* wxThePenList->FindOrCreatePen("LIGHT GREY", 1, wxSOLID));
+ else
+ grid->SetDividerPen(wxNullPen);
+ grid->Refresh();
+}
+
+void MyFrame::LeftCell(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetCellAlignment(wxLEFT);
+ grid->Refresh();
+}
+
+void MyFrame::CentreCell(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetCellAlignment(wxCENTRE);
+ grid->Refresh();
+}
+
+void MyFrame::RightCell(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetCellAlignment(wxRIGHT);
+ grid->Refresh();
+}
+
+void MyFrame::ColourLabelBackground(wxCommandEvent& WXUNUSED(event))
+{
+ wxColourData data;
+ data.SetChooseFull(TRUE);
+ wxColourDialog dialog(this, &data);
+ if (dialog.ShowModal() != wxID_CANCEL)
+ {
+ wxColourData retData = dialog.GetColourData();
+ wxColour col = retData.GetColour();
+ grid->SetLabelBackgroundColour(col);
+ grid->Refresh();
+ }
+}
+
+void MyFrame::ColourLabelText(wxCommandEvent& WXUNUSED(event))
+{
+ wxColourData data;
+ data.SetChooseFull(TRUE);
+ wxColourDialog dialog(this, &data);
+ if (dialog.ShowModal() != wxID_CANCEL)
+ {
+ wxColourData retData = dialog.GetColourData();
+ wxColour col = retData.GetColour();
+ grid->SetLabelTextColour(col);
+ grid->Refresh();
+ }
+}
+
+void MyFrame::NormalLabelColouring(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetLabelBackgroundColour(*wxLIGHT_GREY);
+ grid->SetLabelTextColour(*wxBLACK);
+ grid->Refresh();
+}
+
+void MyFrame::ColourCellBackground(wxCommandEvent& WXUNUSED(event))
+{
+ wxColourData data;
+ data.SetChooseFull(TRUE);
+ wxColourDialog dialog(this, &data);
+ if (dialog.ShowModal() != wxID_CANCEL)
+ {
+ wxColourData retData = dialog.GetColourData();
+ wxColour col = retData.GetColour();
+ grid->SetCellBackgroundColour(col);
+ grid->Refresh();
+ }
+}
+
+void MyFrame::ColourCellText(wxCommandEvent& WXUNUSED(event))
+{
+ wxColourData data;
+ data.SetChooseFull(TRUE);
+ wxColourDialog dialog(this, &data);
+ if (dialog.ShowModal() != wxID_CANCEL)
+ {
+ wxColourData retData = dialog.GetColourData();
+ wxColour col = retData.GetColour();
+ grid->SetCellTextColour(col);
+ grid->Refresh();
+ }
+}
+
+void MyFrame::NormalCellColouring(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetCellBackgroundColour(*wxWHITE);
+ grid->SetCellTextColour(*wxBLACK);
+ grid->Refresh();
+}
+
+void MyFrame::Quit(wxCommandEvent& WXUNUSED(event))
+{
+ this->Close(TRUE);
+}
+
+// Ensure that the grid's edit control always has the focus.
+void MyFrame::OnActivate(wxActivateEvent& event)
+{
+ if (grid) grid->OnActivate(event.GetActive());
+}
+
diff --git a/samples/grid/grid.def b/samples/grid/grid.def
new file mode 100644
index 0000000000..3ff4e2c552
--- /dev/null
+++ b/samples/grid/grid.def
@@ -0,0 +1,8 @@
+NAME Grid
+DESCRIPTION 'wxTableWindow Test'
+EXETYPE WINDOWS
+STUB 'WINSTUB.EXE'
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE 1024
+STACKSIZE 16192
diff --git a/samples/grid/grid.rc b/samples/grid/grid.rc
new file mode 100644
index 0000000000..571ada1f2a
--- /dev/null
+++ b/samples/grid/grid.rc
@@ -0,0 +1,5 @@
+#include "wx/msw/wx.rc"
+
+bitmap1 BITMAP "bitmap1.bmp"
+bitmap2 BITMAP "bitmap2.bmp"
+
diff --git a/samples/help/HelpVC.dsp b/samples/help/HelpVC.dsp
new file mode 100644
index 0000000000..a66ee29eb1
--- /dev/null
+++ b/samples/help/HelpVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="HelpVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=HelpVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "HelpVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "HelpVC.mak" CFG="HelpVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "HelpVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "HelpVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "HelpVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "HelpVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "HelpVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib htmlhelp.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/demo.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib htmlhelp.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/demo.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/demo.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/demo.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "HelpVC - Win32 Release"
+# Name "HelpVC - Win32 Debug"
+# Name "HelpVC - Win32 Debug DLL"
+# Name "HelpVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\demo.cpp
+
+!IF "$(CFG)" == "HelpVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\demo.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/help/HelpVC.dsw b/samples/help/HelpVC.dsw
new file mode 100644
index 0000000000..0fee37493b
--- /dev/null
+++ b/samples/help/HelpVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "HelpVC"=.\HelpVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/help/doc/gifs.db b/samples/help/doc/gifs.db
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/samples/html/about/AboutVC.dsp b/samples/html/about/AboutVC.dsp
new file mode 100644
index 0000000000..489a18e2a5
--- /dev/null
+++ b/samples/html/about/AboutVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="AboutVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=AboutVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "AboutVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "AboutVC.mak" CFG="AboutVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "AboutVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "AboutVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "AboutVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "AboutVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "AboutVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/about.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "AboutVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/about.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "AboutVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/about.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "AboutVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/about.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "AboutVC - Win32 Release"
+# Name "AboutVC - Win32 Debug"
+# Name "AboutVC - Win32 Debug DLL"
+# Name "AboutVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\about.cpp
+
+!IF "$(CFG)" == "AboutVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "AboutVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "AboutVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "AboutVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\about.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/about/AboutVC.dsw b/samples/html/about/AboutVC.dsw
new file mode 100644
index 0000000000..19e7cc3977
--- /dev/null
+++ b/samples/html/about/AboutVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "AboutVC"=.\AboutVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/help/HelpVC.dsp b/samples/html/help/HelpVC.dsp
new file mode 100644
index 0000000000..e5ed960ec6
--- /dev/null
+++ b/samples/html/help/HelpVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="HelpVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=HelpVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "HelpVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "HelpVC.mak" CFG="HelpVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "HelpVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "HelpVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "HelpVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "HelpVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "HelpVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/help.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/help.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/help.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/help.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "HelpVC - Win32 Release"
+# Name "HelpVC - Win32 Debug"
+# Name "HelpVC - Win32 Debug DLL"
+# Name "HelpVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\help.cpp
+
+!IF "$(CFG)" == "HelpVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "HelpVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\help.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/help/HelpVC.dsw b/samples/html/help/HelpVC.dsw
new file mode 100644
index 0000000000..0fee37493b
--- /dev/null
+++ b/samples/html/help/HelpVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "HelpVC"=.\HelpVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/helpview/HelpViewVC.dsp b/samples/html/helpview/HelpViewVC.dsp
new file mode 100644
index 0000000000..57102462c4
--- /dev/null
+++ b/samples/html/helpview/HelpViewVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="HelpViewVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=HelpViewVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "HelpViewVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "HelpViewVC.mak" CFG="HelpViewVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "HelpViewVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "HelpViewVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "HelpViewVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "HelpViewVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "HelpViewVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/helpview.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpViewVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/helpview.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpViewVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/helpview.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "HelpViewVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/helpview.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "HelpViewVC - Win32 Release"
+# Name "HelpViewVC - Win32 Debug"
+# Name "HelpViewVC - Win32 Debug DLL"
+# Name "HelpViewVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\helpview.cpp
+
+!IF "$(CFG)" == "HelpViewVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "HelpViewVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "HelpViewVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "HelpViewVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\helpview.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/helpview/HelpViewVC.dsw b/samples/html/helpview/HelpViewVC.dsw
new file mode 100644
index 0000000000..7066834e46
--- /dev/null
+++ b/samples/html/helpview/HelpViewVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "HelpViewVC"=.\HelpViewVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/printing/PrintingVC.dsp b/samples/html/printing/PrintingVC.dsp
new file mode 100644
index 0000000000..286626c4c3
--- /dev/null
+++ b/samples/html/printing/PrintingVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="PrintingVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=PrintingVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PrintingVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PrintingVC.mak" CFG="PrintingVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PrintingVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "PrintingVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "PrintingVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "PrintingVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "PrintingVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/printing.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/printing.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/printing.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/printing.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PrintingVC - Win32 Release"
+# Name "PrintingVC - Win32 Debug"
+# Name "PrintingVC - Win32 Debug DLL"
+# Name "PrintingVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\printing.cpp
+
+!IF "$(CFG)" == "PrintingVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\printing.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/printing/PrintingVC.dsw b/samples/html/printing/PrintingVC.dsw
new file mode 100644
index 0000000000..b2096fcce9
--- /dev/null
+++ b/samples/html/printing/PrintingVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "PrintingVC"=.\PrintingVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/test/TestVC.dsp b/samples/html/test/TestVC.dsp
new file mode 100644
index 0000000000..39d111c648
--- /dev/null
+++ b/samples/html/test/TestVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="TestVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TestVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TestVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TestVC.mak" CFG="TestVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TestVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TestVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TestVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TestVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TestVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/test.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TestVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/test.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TestVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/test.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TestVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/test.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TestVC - Win32 Release"
+# Name "TestVC - Win32 Debug"
+# Name "TestVC - Win32 Debug DLL"
+# Name "TestVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\test.cpp
+
+!IF "$(CFG)" == "TestVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TestVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TestVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TestVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\test.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/test/TestVC.dsw b/samples/html/test/TestVC.dsw
new file mode 100644
index 0000000000..a6f2c1c809
--- /dev/null
+++ b/samples/html/test/TestVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TestVC"=.\TestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/virtual/VirtualVC.dsp b/samples/html/virtual/VirtualVC.dsp
new file mode 100644
index 0000000000..5c892bd768
--- /dev/null
+++ b/samples/html/virtual/VirtualVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="VirtualVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=VirtualVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "VirtualVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "VirtualVC.mak" CFG="VirtualVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "VirtualVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "VirtualVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "VirtualVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "VirtualVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "VirtualVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/virtual.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "VirtualVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/virtual.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "VirtualVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/virtual.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "VirtualVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/virtual.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "VirtualVC - Win32 Release"
+# Name "VirtualVC - Win32 Debug"
+# Name "VirtualVC - Win32 Debug DLL"
+# Name "VirtualVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\virtual.cpp
+
+!IF "$(CFG)" == "VirtualVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "VirtualVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "VirtualVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "VirtualVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\virtual.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/virtual/VirtualVC.dsw b/samples/html/virtual/VirtualVC.dsw
new file mode 100644
index 0000000000..268b9d5f84
--- /dev/null
+++ b/samples/html/virtual/VirtualVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "VirtualVC"=.\VirtualVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/widget/WidgetVC.dsp b/samples/html/widget/WidgetVC.dsp
new file mode 100644
index 0000000000..b9bfa67810
--- /dev/null
+++ b/samples/html/widget/WidgetVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="WidgetVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=WidgetVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "WidgetVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "WidgetVC.mak" CFG="WidgetVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "WidgetVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "WidgetVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "WidgetVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "WidgetVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "WidgetVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/widget.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "WidgetVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/widget.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "WidgetVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/widget.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "WidgetVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/widget.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "WidgetVC - Win32 Release"
+# Name "WidgetVC - Win32 Debug"
+# Name "WidgetVC - Win32 Debug DLL"
+# Name "WidgetVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\widget.cpp
+
+!IF "$(CFG)" == "WidgetVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "WidgetVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "WidgetVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "WidgetVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\widget.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/widget/WidgetVC.dsw b/samples/html/widget/WidgetVC.dsw
new file mode 100644
index 0000000000..3f52fd3f55
--- /dev/null
+++ b/samples/html/widget/WidgetVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "WidgetVC"=.\WidgetVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/html/zip/ZipVC.dsp b/samples/html/zip/ZipVC.dsp
new file mode 100644
index 0000000000..7496bbb81e
--- /dev/null
+++ b/samples/html/zip/ZipVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ZipVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ZipVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ZipVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ZipVC.mak" CFG="ZipVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ZipVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ZipVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ZipVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ZipVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ZipVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/zip.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ZipVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/zip.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ZipVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/zip.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ZipVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/zip.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ZipVC - Win32 Release"
+# Name "ZipVC - Win32 Debug"
+# Name "ZipVC - Win32 Debug DLL"
+# Name "ZipVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\zip.cpp
+
+!IF "$(CFG)" == "ZipVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ZipVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ZipVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ZipVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\zip.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/html/zip/ZipVC.dsw b/samples/html/zip/ZipVC.dsw
new file mode 100644
index 0000000000..36beff1f35
--- /dev/null
+++ b/samples/html/zip/ZipVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ZipVC"=.\ZipVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/image/ImageVC.dsp b/samples/image/ImageVC.dsp
new file mode 100644
index 0000000000..fade4087b1
--- /dev/null
+++ b/samples/image/ImageVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ImageVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ImageVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ImageVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ImageVC.mak" CFG="ImageVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ImageVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ImageVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ImageVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ImageVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ImageVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/image.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ImageVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/image.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ImageVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/image.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ImageVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/image.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ImageVC - Win32 Release"
+# Name "ImageVC - Win32 Debug"
+# Name "ImageVC - Win32 Debug DLL"
+# Name "ImageVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\image.cpp
+
+!IF "$(CFG)" == "ImageVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ImageVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ImageVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ImageVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\image.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/image/ImageVC.dsw b/samples/image/ImageVC.dsw
new file mode 100644
index 0000000000..622fa0fb0d
--- /dev/null
+++ b/samples/image/ImageVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ImageVC"=.\ImageVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/internat/InternatVC.dsp b/samples/internat/InternatVC.dsp
new file mode 100644
index 0000000000..7850702601
--- /dev/null
+++ b/samples/internat/InternatVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="InternatVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=InternatVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "InternatVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "InternatVC.mak" CFG="InternatVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "InternatVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "InternatVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "InternatVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "InternatVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "InternatVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/internat.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "InternatVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/internat.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "InternatVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/internat.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "InternatVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/internat.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "InternatVC - Win32 Release"
+# Name "InternatVC - Win32 Debug"
+# Name "InternatVC - Win32 Debug DLL"
+# Name "InternatVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\internat.cpp
+
+!IF "$(CFG)" == "InternatVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "InternatVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "InternatVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "InternatVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\internat.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/internat/InternatVC.dsw b/samples/internat/InternatVC.dsw
new file mode 100644
index 0000000000..4d52eb6c9a
--- /dev/null
+++ b/samples/internat/InternatVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "InternatVC"=.\InternatVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/internat/de/wxstd.mo b/samples/internat/de/wxstd.mo
new file mode 100644
index 0000000000..a33dc0a888
Binary files /dev/null and b/samples/internat/de/wxstd.mo differ
diff --git a/samples/internat/de/wxstd.po b/samples/internat/de/wxstd.po
new file mode 100644
index 0000000000..febe2807c8
--- /dev/null
+++ b/samples/internat/de/wxstd.po
@@ -0,0 +1,136 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 1997-12-19 17:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR , YEAR.
+#
+#: file.cpp:182 hello.cpp:38
+#, fuzzy, c-format
+msgid "can't create file '%s'"
+msgstr "Kann die Datei '%s' nicht erzeugen."
+
+#: file.cpp:213
+#, c-format
+msgid "can't open file '%s'"
+msgstr "Kann die Datei '%s' nicht öffnen."
+
+#: file.cpp:227
+#, c-format
+msgid "can't close file descriptor %d"
+msgstr "Kann den Datei-Deskriptor %d nicht schließen."
+
+#: file.cpp:244
+#, c-format
+msgid "can't read from file descriptor %d"
+msgstr "Kann nicht vom Datei-Deskriptor %d lesen."
+
+#: file.cpp:258
+#, c-format
+msgid "can't write to file descriptor %d"
+msgstr "Kann nicht in den Datei-Deskriptor %d schreiben."
+
+#: file.cpp:271
+#, c-format
+msgid "can't flush file descriptor %d"
+msgstr "Kann keinen flush-Befehl für den Datei-Deskriptor %d ausführen."
+
+#: file.cpp:308
+#, c-format
+msgid "can't seek on file descriptor %d"
+msgstr "Kann den Datei-Deskriptor %d nicht positionieren."
+
+#: file.cpp:322
+#, c-format
+msgid "can't get seek position on file descriptor %d"
+msgstr "Kann die Position des Datei Deskriptors %d nicht herausfinden."
+
+#: file.cpp:355
+#, c-format
+msgid "can't find length of file on file descriptor %d"
+msgstr ""
+
+#: intl.cpp:139
+#, c-format
+msgid "catalog file for domain '%s' not found."
+msgstr ""
+
+#: intl.cpp:177
+#, c-format
+msgid "'%s' is not a valid message catalog."
+msgstr ""
+
+#: intl.cpp:330 intl.cpp:334
+#, c-format
+msgid "locale '%s' can not be set."
+msgstr "Die Lokale '%s' kann nicht benutzt werden."
+
+#: intl.cpp:431 intl.cpp:435
+#, c-format
+msgid "string '%s' not found in domain '%s' for locale '%s'."
+msgstr "Die Zeichenkette '%s' der Domäne '%s' für die Lokale '%s' kann nicht gefunden werden."
+
+#: intl.cpp:434 intl.cpp:438
+#, c-format
+msgid "string '%s' not found in locale '%s'."
+msgstr ""
+
+#: log.cpp:104
+#, c-format
+msgid " (error %ld: %s)"
+msgstr " (Fehler %ld: %s)"
+
+#: log.cpp:165
+msgid "Debug: "
+msgstr "Debug: "
+
+#: log.cpp:171
+msgid "Fatal error: "
+msgstr "Fataler Fehler: "
+
+#: log.cpp:172
+msgid "Program aborted.\n"
+msgstr "Programm beendet.\n"
+
+#: log.cpp:177
+msgid "Error: "
+msgstr "Fehler: "
+
+#: log.cpp:181
+msgid "Warning: "
+msgstr "Warnung: "
+
+#: log.cpp:268
+#, c-format
+msgid "Assert failed in file %s at line %d"
+msgstr ""
+
+#: file.cpp:303
+msgid "unknown seek origin"
+msgstr "Unbekannter Positionsanfang."
+
+msgid "looking for catalog '%s' in path '%s'."
+msgstr ""
+
+#: intl.cpp:378
+msgid "no message catalog list"
+msgstr "Keine Nachrichten Katalog."
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Cancel"
+msgstr "Abbruch"
diff --git a/samples/internat/fr/wxstd.mo b/samples/internat/fr/wxstd.mo
new file mode 100644
index 0000000000..89c03eaf60
Binary files /dev/null and b/samples/internat/fr/wxstd.mo differ
diff --git a/samples/internat/fr/wxstd.po b/samples/internat/fr/wxstd.po
new file mode 100644
index 0000000000..a8ab562264
--- /dev/null
+++ b/samples/internat/fr/wxstd.po
@@ -0,0 +1,131 @@
+# Message catalog file template for the wxWindows i18n sample
+# Copyright (C) 1999 wxWindows development team
+# Vadim Zeitlin
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: wxWindows 2.0 i18n sample\n"
+"POT-Creation-Date: 1999-01-13 18:19+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Vadim Zeitlin \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#: file.cpp:182 hello.cpp:38
+#, fuzzy, c-format
+msgid "can't create file '%s'"
+msgstr "impossible de créer le fichier '%s'"
+
+#: file.cpp:213
+#, c-format
+msgid "can't open file '%s'"
+msgstr "impossible d'ouvrir le fichier '%s'"
+
+#: file.cpp:227
+#, c-format
+msgid "can't close file descriptor %d"
+msgstr "impossible de fermer le descripteur %d"
+
+#: file.cpp:244
+#, c-format
+msgid "can't read from file descriptor %d"
+msgstr "impossible de lire à partir de descripteur %d"
+
+#: file.cpp:258
+#, c-format
+msgid "can't write to file descriptor %d"
+msgstr "impossible d'écrire sur le descripteur %d"
+
+#: file.cpp:271
+#, c-format
+msgid "can't flush file descriptor %d"
+msgstr "impossible de mettre à jour le descripteur %d"
+
+#: file.cpp:308
+#, c-format
+msgid "can't seek on file descriptor %d"
+msgstr "impossible de changer la position sur le descripteur %d"
+
+#: file.cpp:322
+#, c-format
+msgid "can't get seek position on file descriptor %d"
+msgstr "impossible d'obtenir la position courante sur le descripteur %d"
+
+#: file.cpp:355
+#, c-format
+msgid "can't find length of file on file descriptor %d"
+msgstr "impossible de trouver la taille du fichier ouvert sur le descripteur %d"
+
+#: intl.cpp:139
+#, c-format
+msgid "catalog file for domain '%s' not found."
+msgstr "impossible de trouver le catalogue de messages pour le domaine '%s'."
+
+#: intl.cpp:177
+#, c-format
+msgid "'%s' is not a valid message catalog."
+msgstr "'%s' n'est pas un catalogue de messages valid."
+
+#: intl.cpp:330 intl.cpp:334
+#, c-format
+msgid "locale '%s' can not be set."
+msgstr "impossible de passer à locale '%s'."
+
+#: intl.cpp:431 intl.cpp:435
+#, c-format
+msgid "string '%s' not found in domain '%s' for locale '%s'."
+msgstr "chaîne '%s' n'a pas été trouvée dans le domaine '%s' pour le locale '%s'."
+
+#: intl.cpp:434 intl.cpp:438
+#, c-format
+msgid "string '%s' not found in locale '%s'."
+msgstr "chaîne '%s' n'a pas été trouvée dans le locale '%s'."
+
+#: log.cpp:104
+#, c-format
+msgid " (error %ld: %s)"
+msgstr " (erreur %ld: %s)"
+
+#: log.cpp:165
+msgid "Debug: "
+msgstr "Debug: "
+
+#: log.cpp:171
+msgid "Fatal error: "
+msgstr "Erreur fatale: "
+
+#: log.cpp:172
+msgid "Program aborted.\n"
+msgstr "Programme abandonné.\n"
+
+#: log.cpp:177
+msgid "Error: "
+msgstr "Erreur: "
+
+#: log.cpp:181
+msgid "Warning: "
+msgstr "Attention: "
+
+#: log.cpp:268
+#, c-format
+msgid "Assert failed in file %s at line %d"
+msgstr "Assertion est fausse dans le fichier %s à la ligne %d"
+
+#: file.cpp:303
+msgid "unknown seek origin"
+msgstr ""
+
+msgid "looking for catalog '%s' in path '%s'."
+msgstr ""
+
+#: intl.cpp:378
+msgid "no message catalog list"
+msgstr ""
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Cancel"
+msgstr "Annuler"
diff --git a/samples/internat/wxstd.po b/samples/internat/wxstd.po
new file mode 100644
index 0000000000..d0cb7bcfc6
--- /dev/null
+++ b/samples/internat/wxstd.po
@@ -0,0 +1,136 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 1997-12-19 17:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR , YEAR.
+#
+#: file.cpp:182 hello.cpp:38
+#, fuzzy, c-format
+msgid "can't create file '%s'"
+msgstr ""
+
+#: file.cpp:213
+#, c-format
+msgid "can't open file '%s'"
+msgstr ""
+
+#: file.cpp:227
+#, c-format
+msgid "can't close file descriptor %d"
+msgstr ""
+
+#: file.cpp:244
+#, c-format
+msgid "can't read from file descriptor %d"
+msgstr ""
+
+#: file.cpp:258
+#, c-format
+msgid "can't write to file descriptor %d"
+msgstr ""
+
+#: file.cpp:271
+#, c-format
+msgid "can't flush file descriptor %d"
+msgstr ""
+
+#: file.cpp:308
+#, c-format
+msgid "can't seek on file descriptor %d"
+msgstr ""
+
+#: file.cpp:322
+#, c-format
+msgid "can't get seek position on file descriptor %d"
+msgstr ""
+
+#: file.cpp:355
+#, c-format
+msgid "can't find length of file on file descriptor %d"
+msgstr ""
+
+#: intl.cpp:139
+#, c-format
+msgid "catalog file for domain '%s' not found."
+msgstr ""
+
+#: intl.cpp:177
+#, c-format
+msgid "'%s' is not a valid message catalog."
+msgstr ""
+
+#: intl.cpp:330 intl.cpp:334
+#, c-format
+msgid "locale '%s' can not be set."
+msgstr ""
+
+#: intl.cpp:431 intl.cpp:435
+#, c-format
+msgid "string '%s' not found in domain '%s' for locale '%s'."
+msgstr ""
+
+#: intl.cpp:434 intl.cpp:438
+#, c-format
+msgid "string '%s' not found in locale '%s'."
+msgstr ""
+
+#: log.cpp:104
+#, c-format
+msgid " (error %ld: %s)"
+msgstr ""
+
+#: log.cpp:165
+msgid "Debug: "
+msgstr ""
+
+#: log.cpp:171
+msgid "Fatal error: "
+msgstr ""
+
+#: log.cpp:172
+msgid "Program aborted.\n"
+msgstr ""
+
+#: log.cpp:177
+msgid "Error: "
+msgstr ""
+
+#: log.cpp:181
+msgid "Warning: "
+msgstr ""
+
+#: log.cpp:268
+#, c-format
+msgid "Assert failed in file %s at line %d"
+msgstr ""
+
+#: file.cpp:303
+msgid "unknown seek origin"
+msgstr ""
+
+msgid "looking for catalog '%s' in path '%s'."
+msgstr ""
+
+#: intl.cpp:378
+msgid "no message catalog list"
+msgstr ""
+
+msgid "OK"
+msgstr ""
+
+msgid "Cancel"
+msgstr ""
diff --git a/samples/ipc/ClientVC.dsp b/samples/ipc/ClientVC.dsp
new file mode 100644
index 0000000000..6685b1715c
--- /dev/null
+++ b/samples/ipc/ClientVC.dsp
@@ -0,0 +1,183 @@
+# Microsoft Developer Studio Project File - Name="ClientVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ClientVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ClientVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ClientVC.mak" CFG="ClientVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ClientVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ClientVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ClientVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ClientVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ClientVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/client.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/client.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/client.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/client.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ClientVC - Win32 Release"
+# Name "ClientVC - Win32 Debug"
+# Name "ClientVC - Win32 Debug DLL"
+# Name "ClientVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\client.cpp
+
+!IF "$(CFG)" == "ClientVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\client.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\client.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# Begin Source File
+
+SOURCE=.\ddesetup.h
+# End Source File
+# End Target
+# End Project
diff --git a/samples/ipc/ClientVC.dsw b/samples/ipc/ClientVC.dsw
new file mode 100644
index 0000000000..048e935c16
--- /dev/null
+++ b/samples/ipc/ClientVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ClientVC"=.\ClientVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/ipc/ServerVC.dsp b/samples/ipc/ServerVC.dsp
new file mode 100644
index 0000000000..d49ed7b33f
--- /dev/null
+++ b/samples/ipc/ServerVC.dsp
@@ -0,0 +1,183 @@
+# Microsoft Developer Studio Project File - Name="ServerVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ServerVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ServerVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ServerVC.mak" CFG="ServerVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ServerVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ServerVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ServerVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ServerVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ServerVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/server.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ServerVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/server.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ServerVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/server.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ServerVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/server.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ServerVC - Win32 Release"
+# Name "ServerVC - Win32 Debug"
+# Name "ServerVC - Win32 Debug DLL"
+# Name "ServerVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\ddesetup.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\server.cpp
+
+!IF "$(CFG)" == "ServerVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ServerVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ServerVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ServerVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\server.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\server.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/ipc/ServerVC.dsw b/samples/ipc/ServerVC.dsw
new file mode 100644
index 0000000000..44073be3f3
--- /dev/null
+++ b/samples/ipc/ServerVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ServerVC"=.\ServerVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/joytest/JoytestVC.dsp b/samples/joytest/JoytestVC.dsp
new file mode 100644
index 0000000000..7f90e5241f
--- /dev/null
+++ b/samples/joytest/JoytestVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="JoytestVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=JoytestVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "JoytestVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "JoytestVC.mak" CFG="JoytestVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "JoytestVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "JoytestVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "JoytestVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "JoytestVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "JoytestVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/joytest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "JoytestVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/joytest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "JoytestVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/joytest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "JoytestVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/joytest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "JoytestVC - Win32 Release"
+# Name "JoytestVC - Win32 Debug"
+# Name "JoytestVC - Win32 Debug DLL"
+# Name "JoytestVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\joytest.cpp
+
+!IF "$(CFG)" == "JoytestVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "JoytestVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "JoytestVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "JoytestVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\joytest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\joytest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/joytest/JoytestVC.dsw b/samples/joytest/JoytestVC.dsw
new file mode 100644
index 0000000000..d6acaab3a8
--- /dev/null
+++ b/samples/joytest/JoytestVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "JoytestVC"=.\JoytestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/layout/LayoutVC.dsp b/samples/layout/LayoutVC.dsp
new file mode 100644
index 0000000000..30fcb0c2ac
--- /dev/null
+++ b/samples/layout/LayoutVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="LayoutVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=LayoutVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "LayoutVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "LayoutVC.mak" CFG="LayoutVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "LayoutVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "LayoutVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "LayoutVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "LayoutVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "LayoutVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/layout.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "LayoutVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/layout.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "LayoutVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/layout.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "LayoutVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/layout.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "LayoutVC - Win32 Release"
+# Name "LayoutVC - Win32 Debug"
+# Name "LayoutVC - Win32 Debug DLL"
+# Name "LayoutVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\layout.cpp
+
+!IF "$(CFG)" == "LayoutVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "LayoutVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "LayoutVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "LayoutVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\layout.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\layout.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/layout/LayoutVC.dsw b/samples/layout/LayoutVC.dsw
new file mode 100644
index 0000000000..ed6e938853
--- /dev/null
+++ b/samples/layout/LayoutVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "LayoutVC"=.\LayoutVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/listctrl/ListctrlVC.dsp b/samples/listctrl/ListctrlVC.dsp
new file mode 100644
index 0000000000..205c8dd0f4
--- /dev/null
+++ b/samples/listctrl/ListctrlVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="ListctrlVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ListctrlVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ListctrlVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ListctrlVC.mak" CFG="ListctrlVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ListctrlVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ListctrlVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ListctrlVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ListctrlVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ListctrlVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/listtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ListctrlVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/listtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ListctrlVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/listtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ListctrlVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/listtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ListctrlVC - Win32 Release"
+# Name "ListctrlVC - Win32 Debug"
+# Name "ListctrlVC - Win32 Debug DLL"
+# Name "ListctrlVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\listtest.cpp
+
+!IF "$(CFG)" == "ListctrlVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ListctrlVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ListctrlVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ListctrlVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\listtest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\listtest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/listctrl/ListctrlVC.dsw b/samples/listctrl/ListctrlVC.dsw
new file mode 100644
index 0000000000..250266d5b3
--- /dev/null
+++ b/samples/listctrl/ListctrlVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ListctrlVC"=.\ListctrlVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/mdi/MdiVC.dsp b/samples/mdi/MdiVC.dsp
new file mode 100644
index 0000000000..8a2dd27a15
--- /dev/null
+++ b/samples/mdi/MdiVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="MdiVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=MdiVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "MdiVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "MdiVC.mak" CFG="MdiVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MdiVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "MdiVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "MdiVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "MdiVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "MdiVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/mdi.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MdiVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/mdi.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MdiVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/mdi.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MdiVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/mdi.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MdiVC - Win32 Release"
+# Name "MdiVC - Win32 Debug"
+# Name "MdiVC - Win32 Debug DLL"
+# Name "MdiVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\mdi.cpp
+
+!IF "$(CFG)" == "MdiVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "MdiVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MdiVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MdiVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\mdi.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\mdi.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/mdi/MdiVC.dsw b/samples/mdi/MdiVC.dsw
new file mode 100644
index 0000000000..6dd27360df
--- /dev/null
+++ b/samples/mdi/MdiVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "MdiVC"=.\MdiVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/mdi/bitmaps/bitmap1.bmp b/samples/mdi/bitmaps/bitmap1.bmp
new file mode 100644
index 0000000000..13e2170b73
Binary files /dev/null and b/samples/mdi/bitmaps/bitmap1.bmp differ
diff --git a/samples/mdi/bitmaps/bitmap2.bmp b/samples/mdi/bitmaps/bitmap2.bmp
new file mode 100644
index 0000000000..3d523b2de9
Binary files /dev/null and b/samples/mdi/bitmaps/bitmap2.bmp differ
diff --git a/samples/mdi/bitmaps/calc.bmp b/samples/mdi/bitmaps/calc.bmp
new file mode 100644
index 0000000000..6eee9cce8c
Binary files /dev/null and b/samples/mdi/bitmaps/calc.bmp differ
diff --git a/samples/mdi/bitmaps/copy.bmp b/samples/mdi/bitmaps/copy.bmp
new file mode 100644
index 0000000000..4551a06bfa
Binary files /dev/null and b/samples/mdi/bitmaps/copy.bmp differ
diff --git a/samples/mdi/bitmaps/cut.bmp b/samples/mdi/bitmaps/cut.bmp
new file mode 100644
index 0000000000..15554338a0
Binary files /dev/null and b/samples/mdi/bitmaps/cut.bmp differ
diff --git a/samples/mdi/bitmaps/dirplain.xbm b/samples/mdi/bitmaps/dirplain.xbm
new file mode 100644
index 0000000000..e2c2f08af1
--- /dev/null
+++ b/samples/mdi/bitmaps/dirplain.xbm
@@ -0,0 +1,14 @@
+#define dirplain_width 32
+#define dirplain_height 32
+static char dirplain_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x01, 0x04,
+ 0xfc, 0xff, 0xff, 0x1f, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x60,
+ 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60,
+ 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60,
+ 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60,
+ 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60,
+ 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60,
+ 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x60,
+ 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x7f};
diff --git a/samples/mdi/bitmaps/draft.xbm b/samples/mdi/bitmaps/draft.xbm
new file mode 100644
index 0000000000..34d8f79dd6
--- /dev/null
+++ b/samples/mdi/bitmaps/draft.xbm
@@ -0,0 +1,14 @@
+#define draft_width 32
+#define draft_height 32
+static char draft_bits[] = {
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00,
+ 0x00, 0x10, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04, 0x10, 0x00,
+ 0x00, 0x02, 0x20, 0x00, 0x00, 0x01, 0x40, 0x00, 0x80, 0x00, 0x80, 0x18,
+ 0x40, 0x00, 0x00, 0x3d, 0x20, 0x00, 0x00, 0x76, 0x10, 0x00, 0x00, 0xeb,
+ 0xe8, 0xff, 0xff, 0xd5, 0x44, 0x00, 0xc0, 0x6a, 0x82, 0x00, 0x60, 0x35,
+ 0x01, 0xf1, 0xb1, 0x5a, 0x02, 0x22, 0xfc, 0x8d, 0x04, 0x44, 0x02, 0x47,
+ 0x08, 0x08, 0x01, 0x22, 0x10, 0x90, 0x0c, 0x14, 0x20, 0x80, 0x13, 0x08,
+ 0x40, 0x70, 0xfe, 0xf1, 0x80, 0x40, 0x0c, 0xe0, 0x00, 0xb1, 0x00, 0xe0,
+ 0x00, 0x5b, 0x01, 0xe0, 0x00, 0xaf, 0x06, 0xe0, 0x00, 0x57, 0xfb, 0xe7,
+ 0x00, 0xaf, 0x11, 0xf8, 0x00, 0xde, 0x08, 0xe0, 0x00, 0x7c, 0x04, 0x00,
+ 0x00, 0xf8, 0x02, 0x00, 0x00, 0xf0, 0x01, 0x00};
diff --git a/samples/mdi/bitmaps/drawing.xbm b/samples/mdi/bitmaps/drawing.xbm
new file mode 100644
index 0000000000..e5393d41f4
--- /dev/null
+++ b/samples/mdi/bitmaps/drawing.xbm
@@ -0,0 +1,14 @@
+#define drawing_width 32
+#define drawing_height 32
+static char drawing_bits[] = {
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00,
+ 0x00, 0x10, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04, 0x10, 0x00,
+ 0x00, 0x82, 0x20, 0x00, 0x00, 0xc1, 0x41, 0x00, 0x80, 0xa0, 0x82, 0x00,
+ 0x40, 0x90, 0x04, 0x01, 0x20, 0x88, 0x08, 0x02, 0x10, 0x84, 0x10, 0x04,
+ 0x08, 0x42, 0x21, 0x08, 0x04, 0x21, 0x22, 0x10, 0x02, 0x11, 0xfc, 0x20,
+ 0x11, 0x09, 0x02, 0x41, 0x0a, 0x05, 0x01, 0x82, 0x04, 0x83, 0x0c, 0x44,
+ 0x08, 0x81, 0x13, 0x28, 0x10, 0x72, 0xfe, 0xf1, 0x20, 0x44, 0x0c, 0xe0,
+ 0x40, 0x88, 0x00, 0xe0, 0x80, 0x10, 0x01, 0xe0, 0x00, 0xa1, 0x06, 0xe0,
+ 0x00, 0x42, 0xf8, 0xe7, 0x00, 0x04, 0x40, 0xf8, 0x00, 0x08, 0x20, 0xe0,
+ 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00,
+ 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00};
diff --git a/samples/mdi/bitmaps/flowchar.xbm b/samples/mdi/bitmaps/flowchar.xbm
new file mode 100644
index 0000000000..d75217af18
--- /dev/null
+++ b/samples/mdi/bitmaps/flowchar.xbm
@@ -0,0 +1,14 @@
+#define flowchart_width 32
+#define flowchart_height 32
+static char flowchart_bits[] = {
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00,
+ 0x00, 0x10, 0x04, 0x00, 0x00, 0x88, 0x08, 0x00, 0x00, 0x44, 0x11, 0x00,
+ 0x00, 0x22, 0x22, 0x00, 0x00, 0x11, 0x44, 0x00, 0x80, 0x08, 0x82, 0x00,
+ 0x40, 0x10, 0x01, 0x01, 0x20, 0xaa, 0x00, 0x02, 0x10, 0x45, 0x00, 0x04,
+ 0x88, 0x08, 0x00, 0x08, 0x44, 0x10, 0x00, 0x10, 0x22, 0x08, 0xfc, 0x20,
+ 0x41, 0x04, 0x02, 0x41, 0x82, 0x02, 0x01, 0x82, 0x04, 0x81, 0x0c, 0x44,
+ 0x08, 0x81, 0x13, 0x28, 0x10, 0x71, 0xfe, 0xf1, 0xa0, 0x4a, 0x0c, 0xe0,
+ 0x40, 0x9c, 0x00, 0xe0, 0x80, 0x20, 0x01, 0xe0, 0x00, 0x41, 0x06, 0xe0,
+ 0x00, 0x82, 0xf8, 0xe7, 0x00, 0x04, 0x41, 0xf8, 0x00, 0x08, 0x22, 0xe0,
+ 0x00, 0x10, 0x14, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00,
+ 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00};
diff --git a/samples/mdi/bitmaps/help.bmp b/samples/mdi/bitmaps/help.bmp
new file mode 100644
index 0000000000..2d9e6922ca
Binary files /dev/null and b/samples/mdi/bitmaps/help.bmp differ
diff --git a/samples/mdi/bitmaps/helpcs.bmp b/samples/mdi/bitmaps/helpcs.bmp
new file mode 100644
index 0000000000..8837381681
Binary files /dev/null and b/samples/mdi/bitmaps/helpcs.bmp differ
diff --git a/samples/mdi/bitmaps/new.bmp b/samples/mdi/bitmaps/new.bmp
new file mode 100644
index 0000000000..d66feb2384
Binary files /dev/null and b/samples/mdi/bitmaps/new.bmp differ
diff --git a/samples/mdi/bitmaps/open.bmp b/samples/mdi/bitmaps/open.bmp
new file mode 100644
index 0000000000..bbf93fe033
Binary files /dev/null and b/samples/mdi/bitmaps/open.bmp differ
diff --git a/samples/mdi/bitmaps/paste.bmp b/samples/mdi/bitmaps/paste.bmp
new file mode 100644
index 0000000000..564f514e0d
Binary files /dev/null and b/samples/mdi/bitmaps/paste.bmp differ
diff --git a/samples/mdi/bitmaps/preview.bmp b/samples/mdi/bitmaps/preview.bmp
new file mode 100644
index 0000000000..da1f4dbc4b
Binary files /dev/null and b/samples/mdi/bitmaps/preview.bmp differ
diff --git a/samples/mdi/bitmaps/print.bmp b/samples/mdi/bitmaps/print.bmp
new file mode 100644
index 0000000000..00319b55bb
Binary files /dev/null and b/samples/mdi/bitmaps/print.bmp differ
diff --git a/samples/mdi/bitmaps/save.bmp b/samples/mdi/bitmaps/save.bmp
new file mode 100644
index 0000000000..56dd10b6e3
Binary files /dev/null and b/samples/mdi/bitmaps/save.bmp differ
diff --git a/samples/mdi/bitmaps/tick.bmp b/samples/mdi/bitmaps/tick.bmp
new file mode 100644
index 0000000000..c0d66c9460
Binary files /dev/null and b/samples/mdi/bitmaps/tick.bmp differ
diff --git a/samples/mdi/bitmaps/write.xbm b/samples/mdi/bitmaps/write.xbm
new file mode 100644
index 0000000000..1409e98f1b
--- /dev/null
+++ b/samples/mdi/bitmaps/write.xbm
@@ -0,0 +1,14 @@
+#define write_width 32
+#define write_height 32
+static char write_bits[] = {
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00,
+ 0x00, 0x10, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04, 0x10, 0x00,
+ 0x00, 0x92, 0x20, 0x00, 0x00, 0x49, 0x40, 0x00, 0x80, 0x04, 0x81, 0x00,
+ 0x40, 0x90, 0x04, 0x01, 0x20, 0x09, 0x02, 0x02, 0x90, 0x20, 0x01, 0x04,
+ 0x08, 0x92, 0x00, 0x08, 0x24, 0x49, 0x00, 0x10, 0x92, 0x00, 0xfc, 0x20,
+ 0x49, 0x12, 0x02, 0x41, 0x22, 0x09, 0x01, 0x82, 0x84, 0x84, 0x0c, 0x44,
+ 0x48, 0x82, 0x13, 0x28, 0x10, 0x79, 0xfe, 0xf1, 0x20, 0x44, 0x0c, 0xe0,
+ 0x40, 0x82, 0x00, 0xe0, 0x80, 0x00, 0x01, 0xe0, 0x00, 0x01, 0x06, 0xe0,
+ 0x00, 0x02, 0xf8, 0xe7, 0x00, 0x04, 0x40, 0xf8, 0x00, 0x08, 0x20, 0xe0,
+ 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00,
+ 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00};
diff --git a/samples/memcheck/MemcheckVC.dsp b/samples/memcheck/MemcheckVC.dsp
new file mode 100644
index 0000000000..62d8178371
--- /dev/null
+++ b/samples/memcheck/MemcheckVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="MemcheckVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=MemcheckVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "MemcheckVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "MemcheckVC.mak" CFG="MemcheckVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MemcheckVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "MemcheckVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "MemcheckVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "MemcheckVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "MemcheckVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/memcheck.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MemcheckVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/memcheck.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MemcheckVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/memcheck.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MemcheckVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/memcheck.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MemcheckVC - Win32 Release"
+# Name "MemcheckVC - Win32 Debug"
+# Name "MemcheckVC - Win32 Debug DLL"
+# Name "MemcheckVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\memcheck.cpp
+
+!IF "$(CFG)" == "MemcheckVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "MemcheckVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MemcheckVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MemcheckVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\memcheck.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/memcheck/MemcheckVC.dsw b/samples/memcheck/MemcheckVC.dsw
new file mode 100644
index 0000000000..616f6667cd
--- /dev/null
+++ b/samples/memcheck/MemcheckVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "MemcheckVC"=.\MemcheckVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/menu/MenuVC.dsp b/samples/menu/MenuVC.dsp
new file mode 100644
index 0000000000..cb948ea640
--- /dev/null
+++ b/samples/menu/MenuVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="MenuVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=MenuVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "MenuVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "MenuVC.mak" CFG="MenuVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MenuVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "MenuVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "MenuVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "MenuVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "MenuVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/menu.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MenuVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/menu.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MenuVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/menu.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MenuVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/menu.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MenuVC - Win32 Release"
+# Name "MenuVC - Win32 Debug"
+# Name "MenuVC - Win32 Debug DLL"
+# Name "MenuVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\menu.cpp
+
+!IF "$(CFG)" == "MenuVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "MenuVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MenuVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MenuVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\menu.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/menu/MenuVC.dsw b/samples/menu/MenuVC.dsw
new file mode 100644
index 0000000000..057e66e493
--- /dev/null
+++ b/samples/menu/MenuVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "MenuVC"=.\MenuVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/mfc/MfcVC.dsp b/samples/mfc/MfcVC.dsp
new file mode 100644
index 0000000000..d494a64544
--- /dev/null
+++ b/samples/mfc/MfcVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="MfcVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=MfcVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "MfcVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "MfcVC.mak" CFG="MfcVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MfcVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "MfcVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "MfcVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "MfcVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "MfcVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D "_AFXDLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/mfctest.exe" /libpath:"../../lib"
+
+!ELSEIF "$(CFG)" == "MfcVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D "_AFXDLL" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/mfctest.exe" /pdbtype:sept /libpath:"../../lib"
+
+!ELSEIF "$(CFG)" == "MfcVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /D "_AFXDLL" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/mfctest.exe" /pdbtype:sept /libpath:"../../lib"
+
+!ELSEIF "$(CFG)" == "MfcVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /D "_AFXDLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/mfctest.exe" /libpath:"../../lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MfcVC - Win32 Release"
+# Name "MfcVC - Win32 Debug"
+# Name "MfcVC - Win32 Debug DLL"
+# Name "MfcVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\mfctest.cpp
+
+!IF "$(CFG)" == "MfcVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "MfcVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MfcVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MfcVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\mfctest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\mfctest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/mfc/MfcVC.dsw b/samples/mfc/MfcVC.dsw
new file mode 100644
index 0000000000..03f2df88b0
--- /dev/null
+++ b/samples/mfc/MfcVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "MfcVC"=.\MfcVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/minifram/MiniframVC.dsp b/samples/minifram/MiniframVC.dsp
new file mode 100644
index 0000000000..ae9449027f
--- /dev/null
+++ b/samples/minifram/MiniframVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="MiniframVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=MiniframVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "MiniframVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "MiniframVC.mak" CFG="MiniframVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MiniframVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "MiniframVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "MiniframVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "MiniframVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "MiniframVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/minifram.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MiniframVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/minifram.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MiniframVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/minifram.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MiniframVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/minifram.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MiniframVC - Win32 Release"
+# Name "MiniframVC - Win32 Debug"
+# Name "MiniframVC - Win32 Debug DLL"
+# Name "MiniframVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\minifram.cpp
+
+!IF "$(CFG)" == "MiniframVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "MiniframVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MiniframVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MiniframVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\minifram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\minifram.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/minifram/MiniframVC.dsw b/samples/minifram/MiniframVC.dsw
new file mode 100644
index 0000000000..db8f6aa356
--- /dev/null
+++ b/samples/minifram/MiniframVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "MiniframVC"=.\MiniframVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/minifram/bitmaps/copy.bmp b/samples/minifram/bitmaps/copy.bmp
new file mode 100644
index 0000000000..4551a06bfa
Binary files /dev/null and b/samples/minifram/bitmaps/copy.bmp differ
diff --git a/samples/minifram/bitmaps/cut.bmp b/samples/minifram/bitmaps/cut.bmp
new file mode 100644
index 0000000000..15554338a0
Binary files /dev/null and b/samples/minifram/bitmaps/cut.bmp differ
diff --git a/samples/minifram/bitmaps/help.bmp b/samples/minifram/bitmaps/help.bmp
new file mode 100644
index 0000000000..2d9e6922ca
Binary files /dev/null and b/samples/minifram/bitmaps/help.bmp differ
diff --git a/samples/minifram/bitmaps/new.bmp b/samples/minifram/bitmaps/new.bmp
new file mode 100644
index 0000000000..d66feb2384
Binary files /dev/null and b/samples/minifram/bitmaps/new.bmp differ
diff --git a/samples/minifram/bitmaps/open.bmp b/samples/minifram/bitmaps/open.bmp
new file mode 100644
index 0000000000..bbf93fe033
Binary files /dev/null and b/samples/minifram/bitmaps/open.bmp differ
diff --git a/samples/minifram/bitmaps/page.bmp b/samples/minifram/bitmaps/page.bmp
new file mode 100644
index 0000000000..3dbd4b05b4
Binary files /dev/null and b/samples/minifram/bitmaps/page.bmp differ
diff --git a/samples/minifram/bitmaps/paste.bmp b/samples/minifram/bitmaps/paste.bmp
new file mode 100644
index 0000000000..564f514e0d
Binary files /dev/null and b/samples/minifram/bitmaps/paste.bmp differ
diff --git a/samples/minifram/bitmaps/preview.bmp b/samples/minifram/bitmaps/preview.bmp
new file mode 100644
index 0000000000..da1f4dbc4b
Binary files /dev/null and b/samples/minifram/bitmaps/preview.bmp differ
diff --git a/samples/minifram/bitmaps/print.bmp b/samples/minifram/bitmaps/print.bmp
new file mode 100644
index 0000000000..00319b55bb
Binary files /dev/null and b/samples/minifram/bitmaps/print.bmp differ
diff --git a/samples/minifram/bitmaps/save.bmp b/samples/minifram/bitmaps/save.bmp
new file mode 100644
index 0000000000..56dd10b6e3
Binary files /dev/null and b/samples/minifram/bitmaps/save.bmp differ
diff --git a/samples/minimal/MinimalVC.dsp b/samples/minimal/MinimalVC.dsp
new file mode 100644
index 0000000000..6aa709decf
--- /dev/null
+++ b/samples/minimal/MinimalVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="MinimalVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=MinimalVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "MinimalVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "MinimalVC.mak" CFG="MinimalVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "MinimalVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "MinimalVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "MinimalVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "MinimalVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "MinimalVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/minimal.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MinimalVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/minimal.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MinimalVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/minimal.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "MinimalVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/minimal.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "MinimalVC - Win32 Release"
+# Name "MinimalVC - Win32 Debug"
+# Name "MinimalVC - Win32 Debug DLL"
+# Name "MinimalVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\minimal.cpp
+
+!IF "$(CFG)" == "MinimalVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "MinimalVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MinimalVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "MinimalVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\minimal.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/minimal/MinimalVC.dsw b/samples/minimal/MinimalVC.dsw
new file mode 100644
index 0000000000..1779a37a5d
--- /dev/null
+++ b/samples/minimal/MinimalVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "MinimalVC"=.\MinimalVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/minimal/make_cw.mcp b/samples/minimal/make_cw.mcp
new file mode 100644
index 0000000000..695bce15bf
Binary files /dev/null and b/samples/minimal/make_cw.mcp differ
diff --git a/samples/minimal/makemac.mcp b/samples/minimal/makemac.mcp
new file mode 100644
index 0000000000..988af88ba8
Binary files /dev/null and b/samples/minimal/makemac.mcp differ
diff --git a/samples/nativdlg/NativdlgVC.dsp b/samples/nativdlg/NativdlgVC.dsp
new file mode 100644
index 0000000000..d0a0fb47d2
--- /dev/null
+++ b/samples/nativdlg/NativdlgVC.dsp
@@ -0,0 +1,183 @@
+# Microsoft Developer Studio Project File - Name="NativdlgVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=NativdlgVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "NativdlgVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "NativdlgVC.mak" CFG="NativdlgVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "NativdlgVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "NativdlgVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "NativdlgVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "NativdlgVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "NativdlgVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/nativdlg.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NativdlgVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/nativdlg.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NativdlgVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/nativdlg.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NativdlgVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/nativdlg.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "NativdlgVC - Win32 Release"
+# Name "NativdlgVC - Win32 Debug"
+# Name "NativdlgVC - Win32 Debug DLL"
+# Name "NativdlgVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\nativdlg.cpp
+
+!IF "$(CFG)" == "NativdlgVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "NativdlgVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "NativdlgVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "NativdlgVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\nativdlg.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\nativdlg.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# End Target
+# End Project
diff --git a/samples/nativdlg/NativdlgVC.dsw b/samples/nativdlg/NativdlgVC.dsw
new file mode 100644
index 0000000000..4711016f2e
--- /dev/null
+++ b/samples/nativdlg/NativdlgVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "NativdlgVC"=.\NativdlgVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/newgrid/Makefile.in b/samples/newgrid/Makefile.in
new file mode 100644
index 0000000000..fd988e6a48
--- /dev/null
+++ b/samples/newgrid/Makefile.in
@@ -0,0 +1,23 @@
+#
+# File: makefile.unx
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+# Copyright: (c) 1998 Julian Smart
+#
+# "%W% %G%"
+#
+# Makefile for new wxGrid example (UNIX).
+
+top_srcdir = @top_srcdir@/..
+top_builddir = ../..
+program_dir = samples/newgrid
+
+DATAFILES =
+
+PROGRAM=griddemo
+
+OBJECTS=$(PROGRAM).o
+
+include ../../src/makeprog.env
+
diff --git a/samples/newgrid/NewGridVC.dsp b/samples/newgrid/NewGridVC.dsp
new file mode 100644
index 0000000000..35d8083a86
--- /dev/null
+++ b/samples/newgrid/NewGridVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="NewGridVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=NewGridVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "NewGridVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "NewGridVC.mak" CFG="NewGridVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "NewGridVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "NewGridVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "NewGridVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "NewGridVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "NewGridVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/griddemo.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NewGridVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/griddemo.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NewGridVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/griddemo.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NewGridVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/griddemo.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "NewGridVC - Win32 Release"
+# Name "NewGridVC - Win32 Debug"
+# Name "NewGridVC - Win32 Debug DLL"
+# Name "NewGridVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\griddemo.cpp
+
+!IF "$(CFG)" == "NewGridVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "NewGridVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "NewGridVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "NewGridVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\griddemo.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/newgrid/NewGridVC.dsw b/samples/newgrid/NewGridVC.dsw
new file mode 100644
index 0000000000..6f6a518ad7
--- /dev/null
+++ b/samples/newgrid/NewGridVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "NewGridVC"=.\NewGridVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/newgrid/griddemo.cpp b/samples/newgrid/griddemo.cpp
new file mode 100644
index 0000000000..8188209452
--- /dev/null
+++ b/samples/newgrid/griddemo.cpp
@@ -0,0 +1,1154 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: griddemo.cpp
+// Purpose: Grid control wxWindows sample
+// Author: Michael Bedward
+// Modified by:
+// RCS-ID: $Id$
+// Copyright: (c) Michael Bedward, Julian Smart
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#ifdef __GNUG__
+ #pragma implementation
+ #pragma interface
+#endif
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/colordlg.h"
+
+#include "wx/grid.h"
+
+#include "griddemo.h"
+
+// ----------------------------------------------------------------------------
+// wxWin macros
+// ----------------------------------------------------------------------------
+
+IMPLEMENT_APP( GridApp )
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// GridApp
+// ----------------------------------------------------------------------------
+
+bool GridApp::OnInit()
+{
+ GridFrame *frame = new GridFrame;
+ frame->Show( TRUE );
+
+ return TRUE;
+}
+
+// ----------------------------------------------------------------------------
+// GridFrame
+// ----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE( GridFrame, wxFrame )
+ EVT_MENU( ID_TOGGLEROWLABELS, GridFrame::ToggleRowLabels )
+ EVT_MENU( ID_TOGGLECOLLABELS, GridFrame::ToggleColLabels )
+ EVT_MENU( ID_TOGGLEEDIT, GridFrame::ToggleEditing )
+ EVT_MENU( ID_TOGGLEROWSIZING, GridFrame::ToggleRowSizing )
+ EVT_MENU( ID_TOGGLECOLSIZING, GridFrame::ToggleColSizing )
+ EVT_MENU( ID_TOGGLEGRIDSIZING, GridFrame::ToggleGridSizing )
+ EVT_MENU( ID_TOGGLEGRIDLINES, GridFrame::ToggleGridLines )
+ EVT_MENU( ID_AUTOSIZECOLS, GridFrame::AutoSizeCols )
+ EVT_MENU( ID_SETLABELCOLOUR, GridFrame::SetLabelColour )
+ EVT_MENU( ID_SETLABELTEXTCOLOUR, GridFrame::SetLabelTextColour )
+ EVT_MENU( ID_ROWLABELHORIZALIGN, GridFrame::SetRowLabelHorizAlignment )
+ EVT_MENU( ID_ROWLABELVERTALIGN, GridFrame::SetRowLabelVertAlignment )
+ EVT_MENU( ID_COLLABELHORIZALIGN, GridFrame::SetColLabelHorizAlignment )
+ EVT_MENU( ID_COLLABELVERTALIGN, GridFrame::SetColLabelVertAlignment )
+ EVT_MENU( ID_GRIDLINECOLOUR, GridFrame::SetGridLineColour )
+ EVT_MENU( ID_INSERTROW, GridFrame::InsertRow )
+ EVT_MENU( ID_INSERTCOL, GridFrame::InsertCol )
+ EVT_MENU( ID_DELETEROW, GridFrame::DeleteSelectedRows )
+ EVT_MENU( ID_DELETECOL, GridFrame::DeleteSelectedCols )
+ EVT_MENU( ID_CLEARGRID, GridFrame::ClearGrid )
+ EVT_MENU( ID_SELCELLS, GridFrame::SelectCells )
+ EVT_MENU( ID_SELROWS, GridFrame::SelectRows )
+ EVT_MENU( ID_SELCOLS, GridFrame::SelectCols )
+
+ EVT_MENU( ID_SET_CELL_FG_COLOUR, GridFrame::SetCellFgColour )
+ EVT_MENU( ID_SET_CELL_BG_COLOUR, GridFrame::SetCellBgColour )
+
+ EVT_MENU( ID_ABOUT, GridFrame::About )
+ EVT_MENU( wxID_EXIT, GridFrame::OnQuit )
+ EVT_MENU( ID_VTABLE, GridFrame::OnVTable)
+ EVT_MENU( ID_BUGS_TABLE, GridFrame::OnBugsTable)
+
+ EVT_GRID_LABEL_LEFT_CLICK( GridFrame::OnLabelLeftClick )
+ EVT_GRID_CELL_LEFT_CLICK( GridFrame::OnCellLeftClick )
+ EVT_GRID_ROW_SIZE( GridFrame::OnRowSize )
+ EVT_GRID_COL_SIZE( GridFrame::OnColSize )
+ EVT_GRID_SELECT_CELL( GridFrame::OnSelectCell )
+ EVT_GRID_RANGE_SELECT( GridFrame::OnRangeSelected )
+ EVT_GRID_CELL_CHANGE( GridFrame::OnCellValueChanged )
+
+ EVT_GRID_EDITOR_SHOWN( GridFrame::OnEditorShown )
+ EVT_GRID_EDITOR_HIDDEN( GridFrame::OnEditorHidden )
+END_EVENT_TABLE()
+
+
+GridFrame::GridFrame()
+ : wxFrame( (wxFrame *)NULL, -1, "wxWindows grid class demo",
+ wxDefaultPosition,
+ wxDefaultSize )
+{
+ int gridW = 600, gridH = 300;
+ int logW = gridW, logH = 100;
+
+ wxMenu *fileMenu = new wxMenu;
+ fileMenu->Append( ID_VTABLE, "&Virtual table test\tCtrl-V");
+ fileMenu->Append( ID_BUGS_TABLE, "&Bugs table test\tCtrl-B");
+ fileMenu->AppendSeparator();
+ fileMenu->Append( wxID_EXIT, "E&xit\tAlt-X" );
+
+ wxMenu *viewMenu = new wxMenu;
+ viewMenu->Append( ID_TOGGLEROWLABELS, "&Row labels", "", TRUE );
+ viewMenu->Append( ID_TOGGLECOLLABELS, "&Col labels", "", TRUE );
+ viewMenu->Append( ID_TOGGLEEDIT, "&Editable", "", TRUE );
+ viewMenu->Append( ID_TOGGLEROWSIZING, "Ro&w drag-resize", "", TRUE );
+ viewMenu->Append( ID_TOGGLECOLSIZING, "C&ol drag-resize", "", TRUE );
+ viewMenu->Append( ID_TOGGLEGRIDSIZING, "&Grid drag-resize", "", TRUE );
+ viewMenu->Append( ID_TOGGLEGRIDLINES, "&Grid Lines", "", TRUE );
+ viewMenu->Append( ID_AUTOSIZECOLS, "&Auto-size cols" );
+
+ wxMenu *rowLabelMenu = new wxMenu;
+
+ viewMenu->Append( ID_ROWLABELALIGN, "R&ow label alignment",
+ rowLabelMenu,
+ "Change alignment of row labels" );
+
+ rowLabelMenu->Append( ID_ROWLABELHORIZALIGN, "&Horizontal" );
+ rowLabelMenu->Append( ID_ROWLABELVERTALIGN, "&Vertical" );
+
+ wxMenu *colLabelMenu = new wxMenu;
+
+ viewMenu->Append( ID_COLLABELALIGN, "Col l&abel alignment",
+ colLabelMenu,
+ "Change alignment of col labels" );
+
+ colLabelMenu->Append( ID_COLLABELHORIZALIGN, "&Horizontal" );
+ colLabelMenu->Append( ID_COLLABELVERTALIGN, "&Vertical" );
+
+ wxMenu *colMenu = new wxMenu;
+ colMenu->Append( ID_SETLABELCOLOUR, "Set &label colour" );
+ colMenu->Append( ID_SETLABELTEXTCOLOUR, "Set label &text colour" );
+ colMenu->Append( ID_GRIDLINECOLOUR, "&Grid line colour" );
+ colMenu->Append( ID_SET_CELL_FG_COLOUR, "Set cell &foreground colour" );
+ colMenu->Append( ID_SET_CELL_BG_COLOUR, "Set cell &background colour" );
+
+ wxMenu *editMenu = new wxMenu;
+ editMenu->Append( ID_INSERTROW, "Insert &row" );
+ editMenu->Append( ID_INSERTCOL, "Insert &column" );
+ editMenu->Append( ID_DELETEROW, "Delete selected ro&ws" );
+ editMenu->Append( ID_DELETECOL, "Delete selected co&ls" );
+ editMenu->Append( ID_CLEARGRID, "Cl&ear grid cell contents" );
+
+ wxMenu *selectionMenu = new wxMenu;
+
+ editMenu->Append( ID_CHANGESEL, "Change &selection mode",
+ selectionMenu,
+ "Change selection mode" );
+
+ selectionMenu->Append( ID_SELCELLS, "Select &Cells" );
+ selectionMenu->Append( ID_SELROWS, "Select &Rows" );
+ selectionMenu->Append( ID_SELCOLS, "Select C&ols" );
+
+ wxMenu *helpMenu = new wxMenu;
+ helpMenu->Append( ID_ABOUT, "&About wxGrid demo" );
+
+ wxMenuBar *menuBar = new wxMenuBar;
+ menuBar->Append( fileMenu, "&File" );
+ menuBar->Append( viewMenu, "&View" );
+ menuBar->Append( colMenu, "&Colours" );
+ menuBar->Append( editMenu, "&Edit" );
+ menuBar->Append( helpMenu, "&Help" );
+
+ SetMenuBar( menuBar );
+
+ grid = new wxGrid( this,
+ -1,
+ wxPoint( 0, 0 ),
+ wxSize( 400, 300 ) );
+
+ logWin = new wxTextCtrl( this,
+ -1,
+ wxEmptyString,
+ wxPoint( 0, gridH + 20 ),
+ wxSize( logW, logH ),
+ wxTE_MULTILINE );
+
+ logger = new wxLogTextCtrl( logWin );
+ m_logOld = logger->SetActiveTarget( logger );
+ logger->SetTimestamp( NULL );
+
+ // this will create a grid and, by default, an associated grid
+ // table for strings
+ grid->CreateGrid( 100, 100 );
+
+ grid->SetRowSize( 0, 60 );
+ grid->SetCellValue( 0, 0, "Ctrl+Home\nwill go to\nthis cell" );
+
+ grid->SetCellValue( 0, 1, "Blah" );
+ grid->SetCellValue( 0, 2, "Blah" );
+ grid->SetCellValue( 0, 3, "Read only" );
+ grid->SetReadOnly( 0, 3 );
+
+ grid->SetCellValue( 0, 5, "Press\nCtrl+arrow\nto skip over\ncells" );
+
+ grid->SetRowSize( 99, 60 );
+ grid->SetCellValue( 99, 99, "Ctrl+End\nwill go to\nthis cell" );
+
+ grid->SetCellValue(2, 2, "red");
+
+ grid->SetCellTextColour(2, 2, *wxRED);
+ grid->SetCellValue(3, 3, "green on grey");
+ grid->SetCellTextColour(3, 3, *wxGREEN);
+ grid->SetCellBackgroundColour(3, 3, *wxLIGHT_GREY);
+
+ grid->SetCellValue(4, 4, "a weird looking cell");
+ grid->SetCellAlignment(4, 4, wxALIGN_CENTRE, wxALIGN_CENTRE);
+ grid->SetCellRenderer(4, 4, new MyGridCellRenderer);
+
+ grid->SetCellValue(3, 0, "1");
+ grid->SetCellRenderer(3, 0, new wxGridCellBoolRenderer);
+ grid->SetCellEditor(3, 0, new wxGridCellBoolEditor);
+
+ wxGridCellAttr *attr;
+ attr = new wxGridCellAttr;
+ attr->SetTextColour(*wxBLUE);
+ grid->SetColAttr(5, attr);
+ attr = new wxGridCellAttr;
+ attr->SetBackgroundColour(*wxBLUE);
+ grid->SetRowAttr(5, attr);
+
+ grid->SetCellValue(2, 4, "a wider column");
+ grid->SetColSize(4, 120);
+ grid->SetColMinimalWidth(4, 120);
+
+ grid->SetColFormatFloat(5);
+ grid->SetCellValue(0, 5, "3.1415");
+ grid->SetCellValue(1, 5, "1415");
+ grid->SetCellValue(2, 5, "12345.67890");
+
+ grid->SetColFormatFloat(6, 6, 2);
+ grid->SetCellValue(0, 6, "3.1415");
+ grid->SetCellValue(1, 6, "1415");
+ grid->SetCellValue(2, 6, "12345.67890");
+
+ wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL );
+ topSizer->Add( grid,
+ 1,
+ wxEXPAND );
+
+ topSizer->Add( logWin,
+ 0,
+ wxEXPAND );
+
+ SetAutoLayout( TRUE );
+ SetSizer( topSizer );
+
+ topSizer->Fit( this );
+ topSizer->SetSizeHints( this );
+
+ Centre();
+ SetDefaults();
+}
+
+
+GridFrame::~GridFrame()
+{
+ delete wxLog::SetActiveTarget(m_logOld);
+}
+
+
+void GridFrame::SetDefaults()
+{
+ GetMenuBar()->Check( ID_TOGGLEROWLABELS, TRUE );
+ GetMenuBar()->Check( ID_TOGGLECOLLABELS, TRUE );
+ GetMenuBar()->Check( ID_TOGGLEEDIT, TRUE );
+ GetMenuBar()->Check( ID_TOGGLEROWSIZING, TRUE );
+ GetMenuBar()->Check( ID_TOGGLECOLSIZING, TRUE );
+ GetMenuBar()->Check( ID_TOGGLEGRIDSIZING, TRUE );
+ GetMenuBar()->Check( ID_TOGGLEGRIDLINES, TRUE );
+}
+
+
+void GridFrame::ToggleRowLabels( wxCommandEvent& WXUNUSED(ev) )
+{
+ if ( GetMenuBar()->IsChecked( ID_TOGGLEROWLABELS ) )
+ {
+ grid->SetRowLabelSize( grid->GetDefaultRowLabelSize() );
+ }
+ else
+ {
+ grid->SetRowLabelSize( 0 );
+ }
+}
+
+
+void GridFrame::ToggleColLabels( wxCommandEvent& WXUNUSED(ev) )
+{
+ if ( GetMenuBar()->IsChecked( ID_TOGGLECOLLABELS ) )
+ {
+ grid->SetColLabelSize( grid->GetDefaultColLabelSize() );
+ }
+ else
+ {
+ grid->SetColLabelSize( 0 );
+ }
+}
+
+
+void GridFrame::ToggleEditing( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->EnableEditing(
+ GetMenuBar()->IsChecked( ID_TOGGLEEDIT ) );
+}
+
+
+void GridFrame::ToggleRowSizing( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->EnableDragRowSize(
+ GetMenuBar()->IsChecked( ID_TOGGLEROWSIZING ) );
+}
+
+
+void GridFrame::ToggleColSizing( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->EnableDragColSize(
+ GetMenuBar()->IsChecked( ID_TOGGLECOLSIZING ) );
+}
+
+void GridFrame::ToggleGridSizing( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->EnableDragGridSize(
+ GetMenuBar()->IsChecked( ID_TOGGLEGRIDSIZING ) );
+}
+
+
+void GridFrame::ToggleGridLines( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->EnableGridLines(
+ GetMenuBar()->IsChecked( ID_TOGGLEGRIDLINES ) );
+}
+
+
+void GridFrame::AutoSizeCols( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->AutoSizeColumns();
+ grid->Refresh();
+}
+
+
+void GridFrame::SetLabelColour( wxCommandEvent& WXUNUSED(ev) )
+{
+ wxColourDialog dlg( NULL );
+ if ( dlg.ShowModal() == wxID_OK )
+ {
+ wxColourData retData;
+ retData = dlg.GetColourData();
+ wxColour colour = retData.GetColour();
+
+ grid->SetLabelBackgroundColour( colour );
+ }
+}
+
+
+void GridFrame::SetLabelTextColour( wxCommandEvent& WXUNUSED(ev) )
+{
+ wxColourDialog dlg( NULL );
+ if ( dlg.ShowModal() == wxID_OK )
+ {
+ wxColourData retData;
+ retData = dlg.GetColourData();
+ wxColour colour = retData.GetColour();
+
+ grid->SetLabelTextColour( colour );
+ }
+}
+
+
+void GridFrame::SetRowLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) )
+{
+ int horiz, vert;
+ grid->GetRowLabelAlignment( &horiz, &vert );
+
+ switch ( horiz )
+ {
+ case wxALIGN_LEFT:
+ horiz = wxALIGN_CENTRE;
+ break;
+
+ case wxALIGN_CENTRE:
+ horiz = wxALIGN_RIGHT;
+ break;
+
+ case wxALIGN_RIGHT:
+ horiz = wxALIGN_LEFT;
+ break;
+ }
+
+ grid->SetRowLabelAlignment( horiz, -1 );
+}
+
+void GridFrame::SetRowLabelVertAlignment( wxCommandEvent& WXUNUSED(ev) )
+{
+ int horiz, vert;
+ grid->GetRowLabelAlignment( &horiz, &vert );
+
+ switch ( vert )
+ {
+ case wxALIGN_TOP:
+ vert = wxALIGN_CENTRE;
+ break;
+
+ case wxALIGN_CENTRE:
+ vert = wxALIGN_BOTTOM;
+ break;
+
+ case wxALIGN_BOTTOM:
+ vert = wxALIGN_TOP;
+ break;
+ }
+
+ grid->SetRowLabelAlignment( -1, vert );
+}
+
+
+void GridFrame::SetColLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) )
+{
+ int horiz, vert;
+ grid->GetColLabelAlignment( &horiz, &vert );
+
+ switch ( horiz )
+ {
+ case wxALIGN_LEFT:
+ horiz = wxALIGN_CENTRE;
+ break;
+
+ case wxALIGN_CENTRE:
+ horiz = wxALIGN_RIGHT;
+ break;
+
+ case wxALIGN_RIGHT:
+ horiz = wxALIGN_LEFT;
+ break;
+ }
+
+ grid->SetColLabelAlignment( horiz, -1 );
+}
+
+
+void GridFrame::SetColLabelVertAlignment( wxCommandEvent& WXUNUSED(ev) )
+{
+ int horiz, vert;
+ grid->GetColLabelAlignment( &horiz, &vert );
+
+ switch ( vert )
+ {
+ case wxALIGN_TOP:
+ vert = wxALIGN_CENTRE;
+ break;
+
+ case wxALIGN_CENTRE:
+ vert = wxALIGN_BOTTOM;
+ break;
+
+ case wxALIGN_BOTTOM:
+ vert = wxALIGN_TOP;
+ break;
+ }
+
+ grid->SetColLabelAlignment( -1, vert );
+}
+
+
+void GridFrame::SetGridLineColour( wxCommandEvent& WXUNUSED(ev) )
+{
+ wxColourDialog dlg( NULL );
+ if ( dlg.ShowModal() == wxID_OK )
+ {
+ wxColourData retData;
+ retData = dlg.GetColourData();
+ wxColour colour = retData.GetColour();
+
+ grid->SetGridLineColour( colour );
+ }
+}
+
+
+void GridFrame::InsertRow( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->InsertRows( grid->GetGridCursorRow(), 1 );
+}
+
+
+void GridFrame::InsertCol( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->InsertCols( grid->GetGridCursorCol(), 1 );
+}
+
+
+void GridFrame::DeleteSelectedRows( wxCommandEvent& WXUNUSED(ev) )
+{
+ if ( grid->IsSelection() )
+ {
+ grid->BeginBatch();
+ for ( int n = 0; n < grid->GetNumberRows(); )
+ if ( grid->IsInSelection( n , 0 ) )
+ grid->DeleteRows( n, 1 );
+ else
+ n++;
+ grid->EndBatch();
+ }
+}
+
+
+void GridFrame::DeleteSelectedCols( wxCommandEvent& WXUNUSED(ev) )
+{
+ if ( grid->IsSelection() )
+ {
+ grid->BeginBatch();
+ for ( int n = 0; n < grid->GetNumberCols(); )
+ if ( grid->IsInSelection( 0 , n ) )
+ grid->DeleteCols( n, 1 );
+ else
+ n++;
+ grid->EndBatch();
+ }
+}
+
+
+void GridFrame::ClearGrid( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->ClearGrid();
+}
+
+void GridFrame::SelectCells( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->SetSelectionMode( wxGrid::wxGridSelectCells );
+}
+
+void GridFrame::SelectRows( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->SetSelectionMode( wxGrid::wxGridSelectRows );
+}
+
+void GridFrame::SelectCols( wxCommandEvent& WXUNUSED(ev) )
+{
+ grid->SetSelectionMode( wxGrid::wxGridSelectColumns );
+}
+
+void GridFrame::SetCellFgColour( wxCommandEvent& WXUNUSED(ev) )
+{
+ wxColour col = wxGetColourFromUser(this);
+ if ( col.Ok() )
+ {
+ grid->SetDefaultCellTextColour(col);
+ grid->Refresh();
+ }
+}
+
+void GridFrame::SetCellBgColour( wxCommandEvent& WXUNUSED(ev) )
+{
+ wxColour col = wxGetColourFromUser(this);
+ if ( col.Ok() )
+ {
+ grid->SetDefaultCellBackgroundColour(col);
+ grid->Refresh();
+ }
+}
+
+void GridFrame::OnLabelLeftClick( wxGridEvent& ev )
+{
+ logBuf = "";
+ if ( ev.GetRow() != -1 )
+ {
+ logBuf << "Left click on row label " << ev.GetRow();
+ }
+ else if ( ev.GetCol() != -1 )
+ {
+ logBuf << "Left click on col label " << ev.GetCol();
+ }
+ else
+ {
+ logBuf << "Left click on corner label";
+ }
+
+ if ( ev.ShiftDown() ) logBuf << " (shift down)";
+ if ( ev.ControlDown() ) logBuf << " (control down)";
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ // you must call event skip if you want default grid processing
+ //
+ ev.Skip();
+}
+
+
+void GridFrame::OnCellLeftClick( wxGridEvent& ev )
+{
+ logBuf = "";
+ logBuf << "Left click at row " << ev.GetRow()
+ << " col " << ev.GetCol();
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ // you must call event skip if you want default grid processing
+ // (cell highlighting etc.)
+ //
+ ev.Skip();
+}
+
+
+void GridFrame::OnRowSize( wxGridSizeEvent& ev )
+{
+ logBuf = "";
+ logBuf << "Resized row " << ev.GetRowOrCol();
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ ev.Skip();
+}
+
+
+void GridFrame::OnColSize( wxGridSizeEvent& ev )
+{
+ logBuf = "";
+ logBuf << "Resized col " << ev.GetRowOrCol();
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ ev.Skip();
+}
+
+
+void GridFrame::OnSelectCell( wxGridEvent& ev )
+{
+ logBuf = "";
+ if ( ev.Selecting() )
+ logBuf << "Selected ";
+ else
+ logBuf << "Deselected ";
+ logBuf << "cell at row " << ev.GetRow()
+ << " col " << ev.GetCol()
+ << " ( ControlDown: "<< (ev.ControlDown() ? 'T':'F')
+ << ", ShiftDown: "<< (ev.ShiftDown() ? 'T':'F')
+ << ", AltDown: "<< (ev.AltDown() ? 'T':'F')
+ << ", MetaDown: "<< (ev.MetaDown() ? 'T':'F') << " )";
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ // you must call Skip() if you want the default processing
+ // to occur in wxGrid
+ ev.Skip();
+}
+
+void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev )
+{
+ logBuf = "";
+ if ( ev.Selecting() )
+ logBuf << "Selected ";
+ else
+ logBuf << "Deselected ";
+ logBuf << "cells from row " << ev.GetTopRow()
+ << " col " << ev.GetLeftCol()
+ << " to row " << ev.GetBottomRow()
+ << " col " << ev.GetRightCol()
+ << " ( ControlDown: "<< (ev.ControlDown() ? 'T':'F')
+ << ", ShiftDown: "<< (ev.ShiftDown() ? 'T':'F')
+ << ", AltDown: "<< (ev.AltDown() ? 'T':'F')
+ << ", MetaDown: "<< (ev.MetaDown() ? 'T':'F') << " )";
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ ev.Skip();
+}
+
+void GridFrame::OnCellValueChanged( wxGridEvent& ev )
+{
+ logBuf = "";
+ logBuf << "Value changed for cell at"
+ << " row " << ev.GetRow()
+ << " col " << ev.GetCol();
+
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ ev.Skip();
+}
+
+void GridFrame::OnEditorShown( wxGridEvent& ev )
+{
+ wxLogMessage( "Cell editor shown." );
+
+ ev.Skip();
+}
+
+void GridFrame::OnEditorHidden( wxGridEvent& ev )
+{
+ wxLogMessage( "Cell editor hidden." );
+
+ ev.Skip();
+}
+
+void GridFrame::About( wxCommandEvent& WXUNUSED(ev) )
+{
+ (void)wxMessageBox( "\n\nwxGrid demo \n\n"
+ "Michael Bedward \n"
+ "mbedward@ozemail.com.au \n\n",
+ "About",
+ wxOK );
+}
+
+
+void GridFrame::OnQuit( wxCommandEvent& WXUNUSED(ev) )
+{
+ Close( TRUE );
+}
+
+void GridFrame::OnBugsTable(wxCommandEvent& )
+{
+ BugsGridFrame *frame = new BugsGridFrame;
+ frame->Show(TRUE);
+}
+
+void GridFrame::OnVTable(wxCommandEvent& )
+{
+ static long s_sizeGrid = 10000;
+
+#ifdef __WXMOTIF__
+ // MB: wxGetNumberFromUser doesn't work properly for wxMotif
+ wxString s;
+ s << s_sizeGrid;
+ s = wxGetTextFromUser( "Size of the table to create",
+ "Size:",
+ s );
+
+ s.ToLong( &s_sizeGrid );
+
+#else
+ s_sizeGrid = wxGetNumberFromUser("Size of the table to create",
+ "Size: ",
+ "wxGridDemo question",
+ s_sizeGrid,
+ 0, 32000, this);
+#endif
+
+ if ( s_sizeGrid != -1 )
+ {
+ BigGridFrame* win = new BigGridFrame(s_sizeGrid);
+ win->Show(TRUE);
+ }
+}
+
+// ----------------------------------------------------------------------------
+// MyGridCellRenderer
+// ----------------------------------------------------------------------------
+
+// do something that the default renderer doesn't here just to show that it is
+// possible to alter the appearance of the cell beyond what the attributes
+// allow
+void MyGridCellRenderer::Draw(wxGrid& grid,
+ wxGridCellAttr& attr,
+ wxDC& dc,
+ const wxRect& rect,
+ int row, int col,
+ bool isSelected)
+{
+ wxGridCellStringRenderer::Draw(grid, attr, dc, rect, row, col, isSelected);
+
+ dc.SetPen(*wxGREEN_PEN);
+ dc.SetBrush(*wxTRANSPARENT_BRUSH);
+ dc.DrawEllipse(rect);
+}
+
+// ----------------------------------------------------------------------------
+// MyGridCellAttrProvider
+// ----------------------------------------------------------------------------
+
+MyGridCellAttrProvider::MyGridCellAttrProvider()
+{
+ m_attrForOddRows = new wxGridCellAttr;
+ m_attrForOddRows->SetBackgroundColour(*wxLIGHT_GREY);
+}
+
+MyGridCellAttrProvider::~MyGridCellAttrProvider()
+{
+ m_attrForOddRows->DecRef();
+}
+
+wxGridCellAttr *MyGridCellAttrProvider::GetAttr(int row, int col) const
+{
+ wxGridCellAttr *attr = wxGridCellAttrProvider::GetAttr(row, col);
+
+ if ( row % 2 )
+ {
+ if ( !attr )
+ {
+ attr = m_attrForOddRows;
+ attr->IncRef();
+ }
+ else
+ {
+ if ( !attr->HasBackgroundColour() )
+ {
+ wxGridCellAttr *attrNew = attr->Clone();
+ attr->DecRef();
+ attr = attrNew;
+ attr->SetBackgroundColour(*wxLIGHT_GREY);
+ }
+ }
+ }
+
+ return attr;
+}
+
+// ============================================================================
+// BigGridFrame and BigGridTable: Sample of a non-standard table
+// ============================================================================
+
+BigGridFrame::BigGridFrame(long sizeGrid)
+ : wxFrame(NULL, -1, "Plugin Virtual Table",
+ wxDefaultPosition, wxSize(500, 450))
+{
+ m_grid = new wxGrid(this, -1, wxDefaultPosition, wxDefaultSize);
+ m_table = new BigGridTable(sizeGrid);
+
+ // VZ: I don't understand why this slows down the display that much,
+ // must profile it...
+ //m_table->SetAttrProvider(new MyGridCellAttrProvider);
+
+ m_grid->SetTable(m_table, TRUE);
+
+#if defined __WXMOTIF__
+ // MB: the grid isn't getting a sensible default size under wxMotif
+ int cw, ch;
+ GetClientSize( &cw, &ch );
+ m_grid->SetSize( cw, ch );
+#endif
+}
+
+// ============================================================================
+// BugsGridFrame: a "realistic" table
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// bugs table data
+// ----------------------------------------------------------------------------
+
+enum Columns
+{
+ Col_Id,
+ Col_Summary,
+ Col_Severity,
+ Col_Priority,
+ Col_Platform,
+ Col_Opened,
+ Col_Max
+};
+
+enum Severity
+{
+ Sev_Wish,
+ Sev_Minor,
+ Sev_Normal,
+ Sev_Major,
+ Sev_Critical,
+ Sev_Max
+};
+
+static const wxString severities[] =
+{
+ _T("wishlist"),
+ _T("minor"),
+ _T("normal"),
+ _T("major"),
+ _T("critical"),
+};
+
+static struct BugsGridData
+{
+ int id;
+ wxChar summary[80];
+ Severity severity;
+ int prio;
+ wxChar platform[12];
+ bool opened;
+} gs_dataBugsGrid [] =
+{
+ { 18, _T("foo doesn't work"), Sev_Major, 1, _T("wxMSW"), TRUE },
+ { 27, _T("bar crashes"), Sev_Critical, 1, _T("all"), FALSE },
+ { 45, _T("printing is slow"), Sev_Minor, 3, _T("wxMSW"), TRUE },
+ { 68, _T("Rectangle() fails"), Sev_Normal, 1, _T("wxMSW"), FALSE },
+};
+
+static const wxChar *headers[Col_Max] =
+{
+ _T("Id"),
+ _T("Summary"),
+ _T("Severity"),
+ _T("Priority"),
+ _T("Platform"),
+ _T("Opened?"),
+};
+
+// ----------------------------------------------------------------------------
+// BugsGridTable
+// ----------------------------------------------------------------------------
+
+wxString BugsGridTable::GetTypeName(int WXUNUSED(row), int col)
+{
+ switch ( col )
+ {
+ case Col_Id:
+ case Col_Priority:
+ return wxGRID_VALUE_NUMBER;;
+
+ case Col_Severity:
+ // fall thorugh (TODO should be a list)
+
+ case Col_Summary:
+ return wxString::Format(_T("%s:80"), wxGRID_VALUE_STRING);
+
+ case Col_Platform:
+ return wxString::Format(_T("%s:all,MSW,GTK,other"), wxGRID_VALUE_CHOICE);
+
+ case Col_Opened:
+ return wxGRID_VALUE_BOOL;
+ }
+
+ wxFAIL_MSG(_T("unknown column"));
+
+ return wxEmptyString;
+}
+
+int BugsGridTable::GetNumberRows()
+{
+ return WXSIZEOF(gs_dataBugsGrid);
+}
+
+int BugsGridTable::GetNumberCols()
+{
+ return Col_Max;
+}
+
+bool BugsGridTable::IsEmptyCell( int row, int col )
+{
+ return FALSE;
+}
+
+wxString BugsGridTable::GetValue( int row, int col )
+{
+ const BugsGridData& gd = gs_dataBugsGrid[row];
+
+ switch ( col )
+ {
+ case Col_Id:
+ case Col_Priority:
+ case Col_Opened:
+ wxFAIL_MSG(_T("unexpected column"));
+ break;
+
+ case Col_Severity:
+ return severities[gd.severity];
+
+ case Col_Summary:
+ return gd.summary;
+
+ case Col_Platform:
+ return gd.platform;
+ }
+
+ return wxEmptyString;
+}
+
+void BugsGridTable::SetValue( int row, int col, const wxString& value )
+{
+ BugsGridData& gd = gs_dataBugsGrid[row];
+
+ switch ( col )
+ {
+ case Col_Id:
+ case Col_Priority:
+ case Col_Opened:
+ wxFAIL_MSG(_T("unexpected column"));
+ break;
+
+ case Col_Severity:
+ {
+ size_t n;
+ for ( n = 0; n < WXSIZEOF(severities); n++ )
+ {
+ if ( severities[n] == value )
+ {
+ gd.severity = (Severity)n;
+ break;
+ }
+ }
+
+ if ( n == WXSIZEOF(severities) )
+ {
+ wxLogWarning(_T("Invalid severity value '%s'."),
+ value.c_str());
+ gd.severity = Sev_Normal;
+ }
+ }
+ break;
+
+ case Col_Summary:
+ wxStrncpy(gd.summary, value, WXSIZEOF(gd.summary));
+ break;
+
+ case Col_Platform:
+ wxStrncpy(gd.platform, value, WXSIZEOF(gd.platform));
+ break;
+ }
+}
+
+bool BugsGridTable::CanGetValueAs( int WXUNUSED(row), int col, const wxString& typeName )
+{
+ if ( typeName == wxGRID_VALUE_STRING )
+ {
+ return TRUE;
+ }
+ else if ( typeName == wxGRID_VALUE_BOOL )
+ {
+ return col == Col_Opened;
+ }
+ else if ( typeName == wxGRID_VALUE_NUMBER )
+ {
+ return col == Col_Id || col == Col_Priority || col == Col_Severity;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+bool BugsGridTable::CanSetValueAs( int row, int col, const wxString& typeName )
+{
+ return CanGetValueAs(row, col, typeName);
+}
+
+long BugsGridTable::GetValueAsLong( int row, int col )
+{
+ const BugsGridData& gd = gs_dataBugsGrid[row];
+
+ switch ( col )
+ {
+ case Col_Id:
+ return gd.id;
+
+ case Col_Priority:
+ return gd.prio;
+
+ case Col_Severity:
+ return gd.severity;
+
+ default:
+ wxFAIL_MSG(_T("unexpected column"));
+ return -1;
+ }
+}
+
+bool BugsGridTable::GetValueAsBool( int row, int col )
+{
+ if ( col == Col_Opened )
+ {
+ return gs_dataBugsGrid[row].opened;
+ }
+ else
+ {
+ wxFAIL_MSG(_T("unexpected column"));
+
+ return FALSE;
+ }
+}
+
+void BugsGridTable::SetValueAsLong( int row, int col, long value )
+{
+ BugsGridData& gd = gs_dataBugsGrid[row];
+
+ switch ( col )
+ {
+ case Col_Priority:
+ gd.prio = value;
+ break;
+
+ default:
+ wxFAIL_MSG(_T("unexpected column"));
+ }
+}
+
+void BugsGridTable::SetValueAsBool( int row, int col, bool value )
+{
+ if ( col == Col_Opened )
+ {
+ gs_dataBugsGrid[row].opened = value;
+ }
+ else
+ {
+ wxFAIL_MSG(_T("unexpected column"));
+ }
+}
+
+wxString BugsGridTable::GetColLabelValue( int col )
+{
+ return headers[col];
+}
+
+BugsGridTable::BugsGridTable()
+{
+}
+
+// ----------------------------------------------------------------------------
+// BugsGridFrame
+// ----------------------------------------------------------------------------
+
+BugsGridFrame::BugsGridFrame()
+ : wxFrame(NULL, -1, "Bugs table",
+ wxDefaultPosition, wxSize(500, 300))
+{
+ wxGrid *grid = new wxGrid(this, -1, wxDefaultPosition);
+ wxGridTableBase *table = new BugsGridTable();
+ table->SetAttrProvider(new MyGridCellAttrProvider);
+ grid->SetTable(table, TRUE);
+
+ wxGridCellAttr *attrRO = new wxGridCellAttr,
+ *attrRangeEditor = new wxGridCellAttr,
+ *attrCombo = new wxGridCellAttr;
+
+ attrRO->SetReadOnly();
+ attrRangeEditor->SetEditor(new wxGridCellNumberEditor(1, 5));
+ attrCombo->SetEditor(new wxGridCellChoiceEditor(WXSIZEOF(severities),
+ severities));
+
+ grid->SetColAttr(Col_Id, attrRO);
+ grid->SetColAttr(Col_Priority, attrRangeEditor);
+ grid->SetColAttr(Col_Severity, attrCombo);
+
+ grid->SetMargins(0, 0);
+
+ grid->Fit();
+ wxSize size = grid->GetSize();
+ size.x += 10;
+ size.y += 10;
+ SetClientSize(size);
+}
diff --git a/samples/newgrid/griddemo.def b/samples/newgrid/griddemo.def
new file mode 100644
index 0000000000..99de1a1925
--- /dev/null
+++ b/samples/newgrid/griddemo.def
@@ -0,0 +1,6 @@
+NAME GridDemo
+DESCRIPTION 'wxGrid Demo'
+EXETYPE WINDOWS
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+
diff --git a/samples/newgrid/griddemo.h b/samples/newgrid/griddemo.h
new file mode 100644
index 0000000000..29f1bca2df
--- /dev/null
+++ b/samples/newgrid/griddemo.h
@@ -0,0 +1,223 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: griddemo.h
+// Purpose: Grid control wxWindows sample
+// Author: Michael Bedward
+// Modified by:
+// RCS-ID: $Id$
+// Copyright: (c) Michael Bedward, Julian Smart
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef griddemo_h
+#define griddemo_h
+
+#if !defined(wxUSE_NEW_GRID) || !(wxUSE_NEW_GRID)
+ #error "This sample requires the new wxGrid class."
+#endif
+
+class wxGrid;
+
+class GridApp : public wxApp
+{
+public:
+ bool OnInit();
+};
+
+
+class GridFrame : public wxFrame
+{
+ wxGrid *grid;
+ wxTextCtrl *logWin;
+ wxLogTextCtrl *logger;
+ wxString logBuf;
+
+ void SetDefaults();
+
+ void ToggleRowLabels( wxCommandEvent& );
+ void ToggleColLabels( wxCommandEvent& );
+ void ToggleEditing( wxCommandEvent& );
+ void ToggleRowSizing( wxCommandEvent& );
+ void ToggleColSizing( wxCommandEvent& );
+ void ToggleGridSizing( wxCommandEvent& );
+ void ToggleGridLines( wxCommandEvent& );
+ void AutoSizeCols( wxCommandEvent& );
+ void SetLabelColour( wxCommandEvent& );
+ void SetLabelTextColour( wxCommandEvent& );
+ void SetRowLabelHorizAlignment( wxCommandEvent& );
+ void SetRowLabelVertAlignment( wxCommandEvent& );
+ void SetColLabelHorizAlignment( wxCommandEvent& );
+ void SetColLabelVertAlignment( wxCommandEvent& );
+ void SetGridLineColour( wxCommandEvent& );
+
+ void SetCellFgColour(wxCommandEvent &);
+ void SetCellBgColour(wxCommandEvent &);
+
+ void InsertRow( wxCommandEvent& );
+ void InsertCol( wxCommandEvent& );
+ void DeleteSelectedRows( wxCommandEvent& );
+ void DeleteSelectedCols( wxCommandEvent& );
+ void ClearGrid( wxCommandEvent& );
+ void SelectCells( wxCommandEvent& );
+ void SelectRows( wxCommandEvent& );
+ void SelectCols( wxCommandEvent& );
+
+ void OnLabelLeftClick( wxGridEvent& );
+ void OnCellLeftClick( wxGridEvent& );
+ void OnRowSize( wxGridSizeEvent& );
+ void OnColSize( wxGridSizeEvent& );
+ void OnSelectCell( wxGridEvent& );
+ void OnRangeSelected( wxGridRangeSelectEvent& );
+ void OnCellValueChanged( wxGridEvent& );
+
+ void OnEditorShown(wxGridEvent&);
+ void OnEditorHidden(wxGridEvent&);
+
+public:
+ GridFrame();
+ ~GridFrame();
+
+ void OnQuit( wxCommandEvent& );
+ void About( wxCommandEvent& );
+ void OnVTable( wxCommandEvent& );
+ void OnBugsTable( wxCommandEvent& );
+
+ enum
+ {
+ ID_TOGGLEROWLABELS = 100,
+ ID_TOGGLECOLLABELS,
+ ID_TOGGLEEDIT,
+ ID_TOGGLEROWSIZING,
+ ID_TOGGLECOLSIZING,
+ ID_TOGGLEGRIDSIZING,
+ ID_TOGGLEGRIDLINES,
+ ID_AUTOSIZECOLS,
+ ID_SETLABELCOLOUR,
+ ID_SETLABELTEXTCOLOUR,
+ ID_ROWLABELALIGN,
+ ID_ROWLABELHORIZALIGN,
+ ID_ROWLABELVERTALIGN,
+ ID_COLLABELALIGN,
+ ID_COLLABELHORIZALIGN,
+ ID_COLLABELVERTALIGN,
+ ID_GRIDLINECOLOUR,
+ ID_INSERTROW,
+ ID_INSERTCOL,
+ ID_DELETEROW,
+ ID_DELETECOL,
+ ID_CLEARGRID,
+ ID_CHANGESEL,
+ ID_SELCELLS,
+ ID_SELROWS,
+ ID_SELCOLS,
+ ID_SET_CELL_FG_COLOUR,
+ ID_SET_CELL_BG_COLOUR,
+ ID_ABOUT,
+ ID_VTABLE,
+ ID_BUGS_TABLE,
+
+ ID_TESTFUNC
+ };
+
+ wxLog *m_logOld;
+
+ DECLARE_EVENT_TABLE()
+};
+
+class MyGridCellRenderer : public wxGridCellStringRenderer
+{
+public:
+ virtual void Draw(wxGrid& grid,
+ wxGridCellAttr& attr,
+ wxDC& dc,
+ const wxRect& rect,
+ int row, int col,
+ bool isSelected);
+};
+
+// ----------------------------------------------------------------------------
+// demonstration of virtual table which doesn't store all of its data in
+// memory
+// ----------------------------------------------------------------------------
+
+class BigGridTable : public wxGridTableBase
+{
+public:
+ BigGridTable(long sizeGrid) { m_sizeGrid = sizeGrid; }
+
+ int GetNumberRows() { return m_sizeGrid; }
+ int GetNumberCols() { return m_sizeGrid; }
+ wxString GetValue( int row, int col )
+ {
+ return wxString::Format("(%d, %d)", row, col);
+ }
+
+ void SetValue( int , int , const wxString& ) { /* ignore */ }
+ bool IsEmptyCell( int , int ) { return FALSE; }
+
+private:
+ long m_sizeGrid;
+};
+
+class BigGridFrame : public wxFrame
+{
+public:
+ BigGridFrame(long sizeGrid);
+
+private:
+ wxGrid* m_grid;
+ BigGridTable* m_table;
+};
+
+// ----------------------------------------------------------------------------
+// an example of custom attr provider: this one makes all odd rows appear grey
+// ----------------------------------------------------------------------------
+
+class MyGridCellAttrProvider : public wxGridCellAttrProvider
+{
+public:
+ MyGridCellAttrProvider();
+ virtual ~MyGridCellAttrProvider();
+
+ virtual wxGridCellAttr *GetAttr(int row, int col) const;
+
+private:
+ wxGridCellAttr *m_attrForOddRows;
+};
+
+// ----------------------------------------------------------------------------
+// another, more realistic, grid example: shows typed columns and more
+// ----------------------------------------------------------------------------
+
+class BugsGridTable : public wxGridTableBase
+{
+public:
+ BugsGridTable();
+
+ virtual int GetNumberRows();
+ virtual int GetNumberCols();
+ virtual bool IsEmptyCell( int row, int col );
+ virtual wxString GetValue( int row, int col );
+ virtual void SetValue( int row, int col, const wxString& value );
+
+ virtual wxString GetColLabelValue( int col );
+
+ virtual wxString GetTypeName( int row, int col );
+ virtual bool CanGetValueAs( int row, int col, const wxString& typeName );
+ virtual bool CanSetValueAs( int row, int col, const wxString& typeName );
+
+ virtual long GetValueAsLong( int row, int col );
+ virtual bool GetValueAsBool( int row, int col );
+
+ virtual void SetValueAsLong( int row, int col, long value );
+ virtual void SetValueAsBool( int row, int col, bool value );
+};
+
+class BugsGridFrame : public wxFrame
+{
+public:
+ BugsGridFrame();
+};
+
+#endif // griddemo_h
+
diff --git a/samples/newgrid/griddemo.rc b/samples/newgrid/griddemo.rc
new file mode 100644
index 0000000000..82bdf07561
--- /dev/null
+++ b/samples/newgrid/griddemo.rc
@@ -0,0 +1,2 @@
+#include "wx/msw/wx.rc"
+
diff --git a/samples/newgrid/makefile.b32 b/samples/newgrid/makefile.b32
new file mode 100644
index 0000000000..b606a6649a
--- /dev/null
+++ b/samples/newgrid/makefile.b32
@@ -0,0 +1,17 @@
+#
+# File: makefile.b32
+# Author: Michael Bedward
+# Created: 1999
+# Updated:
+# Copyright:
+#
+# Makefile : Builds sample for 32-bit BC++
+
+WXDIR = $(WXWIN)
+
+TARGET=griddemo
+
+OBJECTS = griddemo.obj
+
+!include $(WXDIR)\src\makeprog.b32
+
diff --git a/samples/newgrid/makefile.bcc b/samples/newgrid/makefile.bcc
new file mode 100644
index 0000000000..42ddcecda7
--- /dev/null
+++ b/samples/newgrid/makefile.bcc
@@ -0,0 +1,19 @@
+#
+# File: makefile.bcc
+# Author: Michael Bedward
+# Created: 1999
+# Updated:
+#
+# Builds a BC++ 16-bit sample
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+
+TARGET=griddemo
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.bcc
+
diff --git a/samples/newgrid/makefile.dos b/samples/newgrid/makefile.dos
new file mode 100644
index 0000000000..e841765992
--- /dev/null
+++ b/samples/newgrid/makefile.dos
@@ -0,0 +1,17 @@
+#
+# File: makefile.dos
+# Author: Michael Bedward
+# Created: 1999
+# Updated:
+#
+# Makefile : Builds 16-bit sample, VC++ 1.5
+# Use FINAL=1 argument to nmake to build final version with no debugging
+# info
+
+WXDIR = $(WXWIN)
+
+TARGET=griddemo
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.msc
+
diff --git a/samples/newgrid/makefile.g95 b/samples/newgrid/makefile.g95
new file mode 100644
index 0000000000..b81d8cc55c
--- /dev/null
+++ b/samples/newgrid/makefile.g95
@@ -0,0 +1,15 @@
+#
+# File: makefile.g95
+# Author: Michael Bedward
+# Created: 1999
+# Updated:
+#
+# Makefile for wxWindows sample (Cygwin/Mingw32).
+
+WXDIR = ../..
+
+TARGET=griddemo
+OBJECTS = $(TARGET).o
+
+include $(WXDIR)/src/makeprog.g95
+
diff --git a/samples/newgrid/makefile.unx b/samples/newgrid/makefile.unx
new file mode 100644
index 0000000000..d689275e6f
--- /dev/null
+++ b/samples/newgrid/makefile.unx
@@ -0,0 +1,35 @@
+#
+# File: Makefile for samples
+# Author: Robert Roebling
+# Created: 1999
+# Updated:
+# Copyright: (c) 1998 Robert Roebling
+#
+# This makefile requires a Unix version of wxWindows
+# to be installed on your system. This is most often
+# done typing "make install" when using the complete
+# sources of wxWindows or by installing the two
+# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm
+# under Linux.
+#
+
+CC = gcc
+
+PROGRAM = griddemo
+
+OBJECTS = $(PROGRAM).o
+
+# implementation
+
+.SUFFIXES: .o .cpp
+
+.cpp.o :
+ $(CC) -c `wx-config --cflags` -o $@ $<
+
+all: $(PROGRAM)
+
+$(PROGRAM): $(OBJECTS)
+ $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
+
+clean:
+ rm -f *.o $(PROGRAM)
diff --git a/samples/newgrid/makefile.vc b/samples/newgrid/makefile.vc
new file mode 100644
index 0000000000..57a2f981c5
--- /dev/null
+++ b/samples/newgrid/makefile.vc
@@ -0,0 +1,17 @@
+#
+# File: makefile.vc
+# Author: Michael Bedward
+# Created: 1999
+# Updated:
+#
+# Makefile : Builds sample (VC++, WIN32)
+# Use FINAL=1 argument to nmake to build final version with no debug info.
+
+# Set WXDIR for your system
+WXDIR = $(WXWIN)
+
+PROGRAM=griddemo
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.vc
+
diff --git a/samples/newgrid/makefile.wat b/samples/newgrid/makefile.wat
new file mode 100644
index 0000000000..b13250e211
--- /dev/null
+++ b/samples/newgrid/makefile.wat
@@ -0,0 +1,13 @@
+#
+# Makefile for WATCOM
+#
+#
+
+WXDIR = $(%WXWIN)
+
+PROGRAM = griddemo
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.wat
+
+
diff --git a/samples/notebook/NotebookVC.dsp b/samples/notebook/NotebookVC.dsp
new file mode 100644
index 0000000000..0db72bd955
--- /dev/null
+++ b/samples/notebook/NotebookVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="NotebookVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=NotebookVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "NotebookVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "NotebookVC.mak" CFG="NotebookVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "NotebookVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "NotebookVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "NotebookVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "NotebookVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "NotebookVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/notebook.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NotebookVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/notebook.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NotebookVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/notebook.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "NotebookVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/notebook.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "NotebookVC - Win32 Release"
+# Name "NotebookVC - Win32 Debug"
+# Name "NotebookVC - Win32 Debug DLL"
+# Name "NotebookVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\notebook.cpp
+
+!IF "$(CFG)" == "NotebookVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "NotebookVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "NotebookVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "NotebookVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\notebook.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\notebook.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/notebook/NotebookVC.dsw b/samples/notebook/NotebookVC.dsw
new file mode 100644
index 0000000000..b27c22ded6
--- /dev/null
+++ b/samples/notebook/NotebookVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "NotebookVC"=.\NotebookVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/oleauto/OleautoVC.dsp b/samples/oleauto/OleautoVC.dsp
new file mode 100644
index 0000000000..047fd7e87f
--- /dev/null
+++ b/samples/oleauto/OleautoVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="OleautoVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=OleautoVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "OleautoVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "OleautoVC.mak" CFG="OleautoVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "OleautoVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "OleautoVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "OleautoVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "OleautoVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "OleautoVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/oleauto.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "OleautoVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/oleauto.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "OleautoVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/oleauto.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "OleautoVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/oleauto.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "OleautoVC - Win32 Release"
+# Name "OleautoVC - Win32 Debug"
+# Name "OleautoVC - Win32 Debug DLL"
+# Name "OleautoVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\oleauto.cpp
+
+!IF "$(CFG)" == "OleautoVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "OleautoVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "OleautoVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "OleautoVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\oleauto.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/oleauto/OleautoVC.dsw b/samples/oleauto/OleautoVC.dsw
new file mode 100644
index 0000000000..f17ee34f22
--- /dev/null
+++ b/samples/oleauto/OleautoVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "OleautoVC"=.\OleautoVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/opengl/cube/CubeVC.dsp b/samples/opengl/cube/CubeVC.dsp
new file mode 100644
index 0000000000..bb0dc4e72c
--- /dev/null
+++ b/samples/opengl/cube/CubeVC.dsp
@@ -0,0 +1,195 @@
+# Microsoft Developer Studio Project File - Name="CubeVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=CubeVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "CubeVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "CubeVC.mak" CFG="CubeVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "CubeVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "CubeVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "CubeVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "CubeVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "CubeVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/cube.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/cube.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/cube.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/cube.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "CubeVC - Win32 Release"
+# Name "CubeVC - Win32 Debug"
+# Name "CubeVC - Win32 Debug DLL"
+# Name "CubeVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\cube.cpp
+
+!IF "$(CFG)" == "CubeVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\cube.h
+
+!IF "$(CFG)" == "CubeVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "CubeVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\cube.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/opengl/cube/CubeVC.dsw b/samples/opengl/cube/CubeVC.dsw
new file mode 100644
index 0000000000..764c30bf7e
--- /dev/null
+++ b/samples/opengl/cube/CubeVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CubeVC"=.\CubeVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/opengl/isosurf/IsoSurfVC.dsw b/samples/opengl/isosurf/IsoSurfVC.dsw
new file mode 100644
index 0000000000..d6232f8860
--- /dev/null
+++ b/samples/opengl/isosurf/IsoSurfVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "IsosurfVC"=.\IsosurfVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/opengl/isosurf/IsosurfVC.dsp b/samples/opengl/isosurf/IsosurfVC.dsp
new file mode 100644
index 0000000000..7895254cdd
--- /dev/null
+++ b/samples/opengl/isosurf/IsosurfVC.dsp
@@ -0,0 +1,195 @@
+# Microsoft Developer Studio Project File - Name="IsosurfVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=IsosurfVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "IsosurfVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "IsosurfVC.mak" CFG="IsosurfVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "IsosurfVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "IsosurfVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "IsosurfVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "IsosurfVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "IsosurfVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/isosurf.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/isosurf.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/isosurf.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/isosurf.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "IsosurfVC - Win32 Release"
+# Name "IsosurfVC - Win32 Debug"
+# Name "IsosurfVC - Win32 Debug DLL"
+# Name "IsosurfVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\isosurf.cpp
+
+!IF "$(CFG)" == "IsosurfVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\isousrf.h
+
+!IF "$(CFG)" == "IsosurfVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "IsosurfVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\isosurf.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/opengl/penguin/PenguinVC.dsp b/samples/opengl/penguin/PenguinVC.dsp
new file mode 100644
index 0000000000..31f1066444
--- /dev/null
+++ b/samples/opengl/penguin/PenguinVC.dsp
@@ -0,0 +1,275 @@
+# Microsoft Developer Studio Project File - Name="PenguinVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# (Actually, generated by MakeProject, (c) Julian Smart, 1998)
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=PenguinVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PenguinVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PenguinVC.mak" CFG="PenguinVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PenguinVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "PenguinVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "PenguinVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "PenguinVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib,libci.lib,msvcrtd.lib" /out:"Release/penguin.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib,libcid.lib,msvcrt.lib" /out:"Debug/penguin.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib opengl32.lib glu32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/penguin.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib opengl32.lib glu32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/penguin.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PenguinVC - Win32 Release"
+# Name "PenguinVC - Win32 Debug"
+# Name "PenguinVC - Win32 Debug DLL"
+# Name "PenguinVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\penguin.cpp
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\penguin.h
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\lw.cpp
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\lw.h
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\trackball.c
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\trackball.h
+
+!IF "$(CFG)" == "PenguinVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PenguinVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\penguin.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../../include" /i "../../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/opengl/penguin/PenguinVC.dsw b/samples/opengl/penguin/PenguinVC.dsw
new file mode 100644
index 0000000000..3030a0e549
--- /dev/null
+++ b/samples/opengl/penguin/PenguinVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "PenguinVC"=.\PenguinVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/ownerdrw/OwnerdrwVC.dsp b/samples/ownerdrw/OwnerdrwVC.dsp
new file mode 100644
index 0000000000..2548a49d72
--- /dev/null
+++ b/samples/ownerdrw/OwnerdrwVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="OwnerdrwVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=OwnerdrwVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "OwnerdrwVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "OwnerdrwVC.mak" CFG="OwnerdrwVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "OwnerdrwVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "OwnerdrwVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "OwnerdrwVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "OwnerdrwVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "OwnerdrwVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/ownerdrw.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "OwnerdrwVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/ownerdrw.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "OwnerdrwVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/ownerdrw.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "OwnerdrwVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/ownerdrw.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "OwnerdrwVC - Win32 Release"
+# Name "OwnerdrwVC - Win32 Debug"
+# Name "OwnerdrwVC - Win32 Debug DLL"
+# Name "OwnerdrwVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\ownerdrw.cpp
+
+!IF "$(CFG)" == "OwnerdrwVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "OwnerdrwVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "OwnerdrwVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "OwnerdrwVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\ownerdrw.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/ownerdrw/OwnerdrwVC.dsw b/samples/ownerdrw/OwnerdrwVC.dsw
new file mode 100644
index 0000000000..163d2feecd
--- /dev/null
+++ b/samples/ownerdrw/OwnerdrwVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "OwnerdrwVC"=.\OwnerdrwVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/plot/Makefile.in b/samples/plot/Makefile.in
new file mode 100644
index 0000000000..ee038834cb
--- /dev/null
+++ b/samples/plot/Makefile.in
@@ -0,0 +1,21 @@
+#
+# File: Makefile.in
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+# Copyright: (c) 1998 Julian Smart
+#
+# "%W% %G%"
+#
+# Makefile for plot example (UNIX).
+
+top_srcdir = @top_srcdir@/..
+top_builddir = ../..
+program_dir = samples/plot
+
+PROGRAM=plot
+
+OBJECTS=$(PROGRAM).o
+
+include ../../src/makeprog.env
+
diff --git a/samples/plot/PlotVC.dsp b/samples/plot/PlotVC.dsp
new file mode 100644
index 0000000000..5e68aa719b
--- /dev/null
+++ b/samples/plot/PlotVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="PlotVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=PlotVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PlotVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PlotVC.mak" CFG="PlotVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PlotVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "PlotVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "PlotVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "PlotVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "PlotVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/plot.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/plot.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/plot.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PlotVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/plot.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PlotVC - Win32 Release"
+# Name "PlotVC - Win32 Debug"
+# Name "PlotVC - Win32 Debug DLL"
+# Name "PlotVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\plot.cpp
+
+!IF "$(CFG)" == "PlotVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PlotVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\plot.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/plot/PlotVC.dsw b/samples/plot/PlotVC.dsw
new file mode 100644
index 0000000000..75fce85a48
--- /dev/null
+++ b/samples/plot/PlotVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "PlotVC"=.\PlotVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/plot/makefile.b32 b/samples/plot/makefile.b32
new file mode 100644
index 0000000000..63dd8d51e1
--- /dev/null
+++ b/samples/plot/makefile.b32
@@ -0,0 +1,16 @@
+#
+# File: makefile.b32
+# Author: Julian Smart
+# Created: 1999
+# Updated:
+# Copyright:
+#
+# Makefile : Builds sample for 32-bit BC++
+
+WXDIR = $(WXWIN)
+
+TARGET=plot
+OBJECTS = $(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.b32
+
diff --git a/samples/plot/makefile.bcc b/samples/plot/makefile.bcc
new file mode 100644
index 0000000000..af467844fc
--- /dev/null
+++ b/samples/plot/makefile.bcc
@@ -0,0 +1,19 @@
+#
+# File: makefile.bcc
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+#
+# Builds a BC++ 16-bit sample
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+
+TARGET=plot
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.bcc
+
diff --git a/samples/plot/makefile.dos b/samples/plot/makefile.dos
new file mode 100644
index 0000000000..14899f62a6
--- /dev/null
+++ b/samples/plot/makefile.dos
@@ -0,0 +1,17 @@
+#
+# File: makefile.dos
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+#
+# Makefile : Builds 16-bit sample, VC++ 1.5
+# Use FINAL=1 argument to nmake to build final version with no debugging
+# info
+
+WXDIR = $(WXWIN)
+
+TARGET=plot
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.msc
+
diff --git a/samples/plot/makefile.g95 b/samples/plot/makefile.g95
new file mode 100644
index 0000000000..44e219ccf3
--- /dev/null
+++ b/samples/plot/makefile.g95
@@ -0,0 +1,16 @@
+#
+# File: makefile.g95
+# Author: Julian Smart
+# Created: 1999
+# Updated:
+# Copyright: (c) Julian Smart, 1999
+#
+# Makefile for wxWindows sample (Cygwin/Mingw32).
+
+WXDIR = ../..
+
+TARGET=plot
+OBJECTS = $(TARGET).o
+
+include $(WXDIR)/src/makeprog.g95
+
diff --git a/samples/plot/makefile.unx b/samples/plot/makefile.unx
new file mode 100644
index 0000000000..5c773f552c
--- /dev/null
+++ b/samples/plot/makefile.unx
@@ -0,0 +1,27 @@
+#
+# File: Makefile for samples
+# Author: Robert Roebling
+# Created: 1999
+# Updated:
+# Copyright: (c) 1998 Robert Roebling
+#
+# This makefile requires a Unix version of wxWindows
+# to be installed on your system. This is most often
+# done typing "make install" when using the complete
+# sources of wxWindows or by installing the two
+# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm
+# under Linux.
+#
+
+CC = gcc
+
+PROGRAM = plot
+
+$(PROGRAM): $(PROGRAM).o
+ $(CC) -o $(PROGRAM) $(PROGRAM).o `wx-config --libs`
+
+$(PROGRAM).o: $(PROGRAM).cpp
+ $(CC) `wx-config --cflags` -c $(PROGRAM).cpp
+
+clean:
+ rm -f *.o $(PROGRAM)
diff --git a/samples/plot/makefile.vc b/samples/plot/makefile.vc
new file mode 100644
index 0000000000..df5f8c09d9
--- /dev/null
+++ b/samples/plot/makefile.vc
@@ -0,0 +1,18 @@
+#
+# File: makefile.vc
+# Author: Julian Smart
+# Created: 1999
+# Updated:
+# Copyright: (c) Julian Smart
+#
+# Makefile : Builds sample (VC++, WIN32)
+# Use FINAL=1 argument to nmake to build final version with no debug info.
+
+# Set WXDIR for your system
+WXDIR = $(WXWIN)
+
+PROGRAM=plot
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.vc
+
diff --git a/samples/plot/makefile.wat b/samples/plot/makefile.wat
new file mode 100644
index 0000000000..7fb6525054
--- /dev/null
+++ b/samples/plot/makefile.wat
@@ -0,0 +1,15 @@
+#
+# Makefile for WATCOM
+#
+# Created by Julian Smart, January 1999
+#
+#
+
+WXDIR = $(%WXWIN)
+
+PROGRAM = plot
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.wat
+
+
diff --git a/samples/plot/plot.cpp b/samples/plot/plot.cpp
new file mode 100644
index 0000000000..3898313e16
--- /dev/null
+++ b/samples/plot/plot.cpp
@@ -0,0 +1,185 @@
+/*
+ * Program: wxPlotWindow
+ *
+ * Author: Robert Roebling
+ *
+ * Copyright: (C) 1999, Robert Roebling
+ *
+ */
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/plot.h"
+
+#include "wx/image.h"
+#include "wx/listctrl.h"
+#include "wx/sizer.h"
+#include "wx/log.h"
+#include "wx/intl.h"
+
+#include
+
+// derived classes
+
+class MyPlotCurve;
+class MyFrame;
+class MyApp;
+
+// MyPlotCurve
+
+class MyPlotCurve: public wxPlotCurve
+{
+public:
+ MyPlotCurve( int offsetY, double startY, double endY ) :
+ wxPlotCurve( offsetY, startY, endY ) {}
+
+ virtual wxInt32 GetStartX()
+ { return 0; }
+ virtual wxInt32 GetEndX()
+ { return 7000; }
+
+ virtual double GetY( wxInt32 x )
+ {
+ double dx = x;
+ dx /= 100;
+ return sin( dx );
+ }
+};
+
+// MyFrame
+
+class MyFrame: public wxFrame
+{
+public:
+ MyFrame();
+
+ void OnAbout( wxCommandEvent &event );
+ void OnQuit( wxCommandEvent &event );
+
+ void OnPlotClick( wxPlotEvent &event );
+ void OnPlotDClick( wxPlotEvent &event );
+
+ wxPlotWindow *m_plot;
+ wxTextCtrl *m_log;
+
+private:
+ DECLARE_DYNAMIC_CLASS(MyFrame)
+ DECLARE_EVENT_TABLE()
+};
+
+// MyApp
+
+class MyApp: public wxApp
+{
+public:
+ virtual bool OnInit();
+};
+
+// main program
+
+IMPLEMENT_APP(MyApp)
+
+// MyFrame
+
+const int ID_QUIT = 108;
+const int ID_ABOUT = 109;
+
+IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
+
+BEGIN_EVENT_TABLE(MyFrame,wxFrame)
+ EVT_MENU (ID_ABOUT, MyFrame::OnAbout)
+ EVT_MENU (ID_QUIT, MyFrame::OnQuit)
+ EVT_PLOT_CLICKED ( -1, MyFrame::OnPlotClick)
+ EVT_PLOT_DOUBLECLICKED ( -1, MyFrame::OnPlotDClick)
+END_EVENT_TABLE()
+
+MyFrame::MyFrame()
+ : wxFrame( (wxFrame *)NULL, -1, "wxPlotWindow sample",
+ wxPoint(20,20), wxSize(470,500) )
+{
+ wxMenu *file_menu = new wxMenu();
+ file_menu->Append( ID_ABOUT, "&About..");
+ file_menu->Append( ID_QUIT, "E&xit\tAlt-X");
+
+ wxMenuBar *menu_bar = new wxMenuBar();
+ menu_bar->Append(file_menu, "&File");
+
+ SetMenuBar( menu_bar );
+
+ CreateStatusBar(2);
+ int widths[] = { -1, 100 };
+ SetStatusWidths( 2, widths );
+
+ m_plot = new wxPlotWindow( this, -1, wxPoint(0,0), wxSize(100,100), wxSUNKEN_BORDER | wxPLOT_DEFAULT );
+ m_plot->SetUnitsPerValue( 0.01 );
+ m_plot->SetScrollOnThumbRelease( TRUE );
+
+ m_plot->Add( new MyPlotCurve( 0, -1.5, 1.5 ) );
+ m_plot->Add( new MyPlotCurve( 50, -1.5, 1.5 ) );
+ wxPlotOnOffCurve *oo = new wxPlotOnOffCurve( 10 );
+ oo->Add( 10, 20 );
+ oo->Add( 25, 30 );
+ oo->Add( 100, 400 );
+ oo->Add( 1000, 2000 );
+ m_plot->Add( oo );
+
+ m_log = new wxTextCtrl( this, -1, "This is the log window.\n", wxPoint(0,0), wxSize(100,100), wxTE_MULTILINE );
+ wxLog *old_log = wxLog::SetActiveTarget( new wxLogTextCtrl( m_log ) );
+ delete old_log;
+
+ wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
+
+ topsizer->Add( m_plot, 1, wxEXPAND );
+ topsizer->Add( m_log, 0, wxEXPAND );
+
+ SetAutoLayout( TRUE );
+ SetSizer( topsizer );
+}
+
+void MyFrame::OnQuit( wxCommandEvent &WXUNUSED(event) )
+{
+ Close( TRUE );
+}
+
+void MyFrame::OnAbout( wxCommandEvent &WXUNUSED(event) )
+{
+ (void)wxMessageBox( "wxPlotWindow Demo\n"
+ "Robert Roebling (c) 1999,2000",
+ "About wxPlotWindow Demo", wxICON_INFORMATION | wxOK );
+}
+
+void MyFrame::OnPlotClick( wxPlotEvent &event )
+{
+ double x = event.GetPosition() * m_plot->GetUnitsPerValue();
+ double y = event.GetCurve()->GetY( event.GetPosition() );
+ wxLogMessage( "Clicked on curve at x coordinate: %f, value: %f", x, y );
+}
+
+void MyFrame::OnPlotDClick( wxPlotEvent &event )
+{
+ double x = event.GetPosition() * m_plot->GetUnitsPerValue();
+ double y = event.GetCurve()->GetY( event.GetPosition() );
+ wxLogMessage( "Double clicked on curve at x coordinate: %f, value: %f", x, y );
+}
+
+//-----------------------------------------------------------------------------
+// MyApp
+//-----------------------------------------------------------------------------
+
+bool MyApp::OnInit()
+{
+ wxFrame *frame = new MyFrame();
+ frame->Show( TRUE );
+
+ return TRUE;
+}
+
diff --git a/samples/plot/plot.def b/samples/plot/plot.def
new file mode 100644
index 0000000000..a0e0c65399
--- /dev/null
+++ b/samples/plot/plot.def
@@ -0,0 +1,7 @@
+NAME Plot
+DESCRIPTION 'wxWindows Plot sample'
+EXETYPE WINDOWS
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE 4048
+STACKSIZE 16000
diff --git a/samples/plot/plot.rc b/samples/plot/plot.rc
new file mode 100644
index 0000000000..82bdf07561
--- /dev/null
+++ b/samples/plot/plot.rc
@@ -0,0 +1,2 @@
+#include "wx/msw/wx.rc"
+
diff --git a/samples/png/PngVC.dsp b/samples/png/PngVC.dsp
new file mode 100644
index 0000000000..6583063d35
--- /dev/null
+++ b/samples/png/PngVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="PngVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=PngVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PngVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PngVC.mak" CFG="PngVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PngVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "PngVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "PngVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "PngVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "PngVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/pngdemo.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PngVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/pngdemo.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PngVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/pngdemo.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PngVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/pngdemo.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PngVC - Win32 Release"
+# Name "PngVC - Win32 Debug"
+# Name "PngVC - Win32 Debug DLL"
+# Name "PngVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\pngdemo.cpp
+
+!IF "$(CFG)" == "PngVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PngVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PngVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PngVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\pngdemo.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\pngdemo.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/png/PngVC.dsw b/samples/png/PngVC.dsw
new file mode 100644
index 0000000000..209b5f2c47
--- /dev/null
+++ b/samples/png/PngVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "PngVC"=.\PngVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/printing/PrintingVC.dsp b/samples/printing/PrintingVC.dsp
new file mode 100644
index 0000000000..ab22c1eeaf
--- /dev/null
+++ b/samples/printing/PrintingVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="PrintingVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=PrintingVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PrintingVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PrintingVC.mak" CFG="PrintingVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PrintingVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "PrintingVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "PrintingVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "PrintingVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "PrintingVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/printing.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/printing.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/printing.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/printing.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PrintingVC - Win32 Release"
+# Name "PrintingVC - Win32 Debug"
+# Name "PrintingVC - Win32 Debug DLL"
+# Name "PrintingVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\printing.cpp
+
+!IF "$(CFG)" == "PrintingVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PrintingVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\printing.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\printing.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/printing/PrintingVC.dsw b/samples/printing/PrintingVC.dsw
new file mode 100644
index 0000000000..b2096fcce9
--- /dev/null
+++ b/samples/printing/PrintingVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "PrintingVC"=.\PrintingVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/proplist/.cvsignore b/samples/proplist/.cvsignore
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/samples/proplist/.cvsignore
@@ -0,0 +1 @@
+
diff --git a/samples/proplist/Makefile.in b/samples/proplist/Makefile.in
new file mode 100644
index 0000000000..d55ad0cd7c
--- /dev/null
+++ b/samples/proplist/Makefile.in
@@ -0,0 +1,13 @@
+# Purpose: makefile for proplist example (UNIX).
+# Created: 2000-03-15
+
+top_srcdir = @top_srcdir@/..
+top_builddir = ../..
+program_dir = samples/proplist
+
+PROGRAM=proplist
+
+OBJECTS=$(PROGRAM).o
+
+include ../../src/makeprog.env
+
diff --git a/samples/proplist/ProplistVC.dsp b/samples/proplist/ProplistVC.dsp
new file mode 100644
index 0000000000..106baa5ab2
--- /dev/null
+++ b/samples/proplist/ProplistVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="ProplistVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ProplistVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ProplistVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ProplistVC.mak" CFG="ProplistVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ProplistVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ProplistVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ProplistVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ProplistVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ProplistVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/proplist.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ProplistVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/proplist.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ProplistVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/proplist.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ProplistVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/proplist.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ProplistVC - Win32 Release"
+# Name "ProplistVC - Win32 Debug"
+# Name "ProplistVC - Win32 Debug DLL"
+# Name "ProplistVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\proplist.cpp
+
+!IF "$(CFG)" == "ProplistVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ProplistVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ProplistVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ProplistVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\proplist.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\proplist.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/proplist/ProplistVC.dsw b/samples/proplist/ProplistVC.dsw
new file mode 100644
index 0000000000..ccdd90b59b
--- /dev/null
+++ b/samples/proplist/ProplistVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ProplistVC"=.\ProplistVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/proplist/cross.bmp b/samples/proplist/cross.bmp
new file mode 100644
index 0000000000..079cb0dd58
Binary files /dev/null and b/samples/proplist/cross.bmp differ
diff --git a/samples/proplist/makefile.b32 b/samples/proplist/makefile.b32
new file mode 100644
index 0000000000..9e35c97943
--- /dev/null
+++ b/samples/proplist/makefile.b32
@@ -0,0 +1,10 @@
+# Purpose: makefile for proplist example (BC++ 32bit)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+
+TARGET=proplist
+OBJECTS = $(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.b32
+
diff --git a/samples/proplist/makefile.bcc b/samples/proplist/makefile.bcc
new file mode 100644
index 0000000000..db25470c8c
--- /dev/null
+++ b/samples/proplist/makefile.bcc
@@ -0,0 +1,14 @@
+# Purpose: makefile for proplist example (BC++ 16bit)
+# Created: 2000-03-15
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+
+TARGET=proplist
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.bcc
+
diff --git a/samples/proplist/makefile.dos b/samples/proplist/makefile.dos
new file mode 100644
index 0000000000..e580af0985
--- /dev/null
+++ b/samples/proplist/makefile.dos
@@ -0,0 +1,10 @@
+# Purpose: makefile for proplist example (VC++ 1.5x)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+
+TARGET=proplist
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.msc
+
diff --git a/samples/proplist/makefile.g95 b/samples/proplist/makefile.g95
new file mode 100644
index 0000000000..7fa5bd6868
--- /dev/null
+++ b/samples/proplist/makefile.g95
@@ -0,0 +1,10 @@
+# Purpose: makefile for proplist example (Cygwin/Mingw32)
+# Created: #03.01.00
+
+WXDIR = ../..
+
+TARGET=proplist
+OBJECTS = $(TARGET).o
+
+include $(WXDIR)/src/makeprog.g95
+
diff --git a/samples/proplist/makefile.sc b/samples/proplist/makefile.sc
new file mode 100644
index 0000000000..ccb825a992
--- /dev/null
+++ b/samples/proplist/makefile.sc
@@ -0,0 +1,37 @@
+# Purpose: makefile for proplist example (Symantec C++)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+WXLIB = $(WXDIR)\lib\wx.lib
+INCDIR = $(WXDIR)\include
+INCLUDE=$(INCDIR)
+TARGET=proplist
+
+include $(WXDIR)\src\makesc.env
+
+proplist.exe: proplist.obj $(DEFFILE) proplist.res
+ *$(CC) $(LDFLAGS) -o$@ $** $(LIBS)
+ *$(RC) -k proplist.res
+
+sc32.def:
+ echo EXETYPE NT > sc32.def
+ echo SUBSYSTEM WINDOWS >> sc32.def
+
+sc16.def:
+ echo NAME $(TARGET) > sc16.def
+ echo EXETYPE WINDOWS >> sc16.def
+ echo STUB 'WINSTUB.EXE' >> sc16.def
+ echo CODE PRELOAD MOVEABLE DISCARDABLE >> sc16.def
+ echo DATA PRELOAD MOVEABLE MULTIPLE >> sc16.def
+ echo HEAPSIZE 1024 >> sc16.def
+ echo STACKSIZE 8192 >> sc16.def
+
+clean:
+ -del *.obj
+ -del *.exe
+ -del *.res
+ -del *.map
+ -del *.rws
+ -del sc32.def
+ -del sc16.def
+
diff --git a/samples/proplist/makefile.sl b/samples/proplist/makefile.sl
new file mode 100644
index 0000000000..c0b4ea4d54
--- /dev/null
+++ b/samples/proplist/makefile.sl
@@ -0,0 +1,14 @@
+# Purpose: makefile for proplist example (Salford C++)
+# Created: 2000-03-15
+
+PROGRAM = proplist
+OBJECTS = $(PROGRAM).obj
+
+include ..\..\src\makeprog.sl
+
+all: wx $(TARGET)
+
+wx:
+ cd $(WXDIR)\src\msw ^ mk32 -f makefile.sl all
+ cd $(WXDIR)\samples\proplist
+
diff --git a/samples/proplist/makefile.twn b/samples/proplist/makefile.twn
new file mode 100644
index 0000000000..fc2044465f
--- /dev/null
+++ b/samples/proplist/makefile.twn
@@ -0,0 +1,35 @@
+# Purpose: makefile for proplist example (TWIN)
+# Created: 2000-03-15
+
+WXDIR = ../..
+
+# All common UNIX compiler flags and options are now in
+# this central makefile.
+include $(WXDIR)/src/maketwin.env
+
+OBJECTS = $(OBJDIR)/proplist.$(OBJSUFF) $(OBJDIR)/proplist.$(OBJSUFF)
+
+all: $(OBJDIR) proplist$(GUISUFFIX)$(EXESUFF)
+
+wx:
+
+$(OBJDIR):
+ mkdir $(OBJDIR)
+
+proplist$(GUISUFFIX)$(EXESUFF): $(OBJECTS) $(WXLIB)
+ $(CC) $(LDFLAGS) -o proplist$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(LDLIBS)
+
+$(OBJDIR)/proplist.$(OBJSUFF): proplist.$(SRCSUFF)
+ $(CC) -c $(CPPFLAGS) -o $@ proplist.$(SRCSUFF)
+
+proplist.c: proplist.rc
+ $(RESCOMP) $(RCINPUTSWITCH) proplist.rc $(RCOUTPUTSWITCH) proplist.c $(RESFLAGS)
+
+$(OBJDIR)/proplist.$(OBJSUFF): proplist.c
+ $(CC) -c $(CPPFLAGS) -o $@ proplist.c
+
+#$(OBJDIR)/proplist.o: proplist.rc
+# $(RESCOMP) $(RCINPUTSWITCH) proplist.rc $(RCOUTPUTSWITCH) $(OBJDIR)/proplist.o $(RESFLAGS)
+
+clean:
+ rm -f $(OBJECTS) proplist$(GUISUFFIX).exe core *.rsc *.res
diff --git a/samples/proplist/makefile.unx b/samples/proplist/makefile.unx
new file mode 100644
index 0000000000..a4f6c6e98a
--- /dev/null
+++ b/samples/proplist/makefile.unx
@@ -0,0 +1,23 @@
+# Purpose: makefile for proplist example (Unix)
+# Created: 2000-03-15
+
+CC = gcc
+
+PROGRAM = proplist
+
+OBJECTS = $(PROGRAM).o
+
+# implementation
+
+.SUFFIXES: .o .cpp
+
+.cpp.o :
+ $(CC) -c `wx-config --cflags` -o $@ $<
+
+all: $(PROGRAM)
+
+$(PROGRAM): $(OBJECTS)
+ $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
+
+clean:
+ rm -f *.o $(PROGRAM)
diff --git a/samples/proplist/makefile.vc b/samples/proplist/makefile.vc
new file mode 100644
index 0000000000..4cb42439fc
--- /dev/null
+++ b/samples/proplist/makefile.vc
@@ -0,0 +1,11 @@
+# Purpose: makefile for proplist example (VC++ 32bit)
+# Created: 2000-03-15
+
+# Set WXDIR for your system
+WXDIR = $(WXWIN)
+
+PROGRAM=proplist
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.vc
+
diff --git a/samples/proplist/makefile.wat b/samples/proplist/makefile.wat
new file mode 100644
index 0000000000..b2a02cf03d
--- /dev/null
+++ b/samples/proplist/makefile.wat
@@ -0,0 +1,11 @@
+# Purpose: makefile for proplist example (Watcom)
+# Created: 2000-03-15
+
+WXDIR = $(%WXWIN)
+
+PROGRAM = proplist
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.wat
+
+
diff --git a/samples/proplist/proplist.cpp b/samples/proplist/proplist.cpp
new file mode 100644
index 0000000000..85bbfc9298
--- /dev/null
+++ b/samples/proplist/proplist.cpp
@@ -0,0 +1,400 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: proplist.cpp
+// Purpose: Property sheet test implementation
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma implementation "proplist.h"
+#endif
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "proplist.h"
+
+IMPLEMENT_APP(MyApp)
+
+wxPropertyValidatorRegistry myListValidatorRegistry;
+wxPropertyValidatorRegistry myFormValidatorRegistry;
+
+MyApp::MyApp(void)
+{
+ m_childWindow = NULL;
+ m_mainFrame = NULL;
+}
+
+bool MyApp::OnInit(void)
+{
+ RegisterValidators();
+
+ // Create the main frame window
+ m_mainFrame = new MyFrame(NULL, "wxPropertySheet Demo", wxPoint(0, 0), wxSize(300, 400), wxDEFAULT_FRAME_STYLE);
+
+ // Make a menubar
+ wxMenu *file_menu = new wxMenu;
+ file_menu->Append(PROPERTY_TEST_DIALOG_LIST, "Test property list &dialog...");
+ file_menu->Append(PROPERTY_TEST_FRAME_LIST, "Test property list &frame...");
+ file_menu->AppendSeparator();
+ file_menu->Append(PROPERTY_TEST_DIALOG_FORM, "Test property form d&ialog...");
+ file_menu->Append(PROPERTY_TEST_FRAME_FORM, "Test property form f&rame...");
+ file_menu->AppendSeparator();
+ file_menu->Append(PROPERTY_QUIT, "E&xit");
+
+ wxMenu *help_menu = new wxMenu;
+ help_menu->Append(PROPERTY_ABOUT, "&About");
+
+ wxMenuBar *menu_bar = new wxMenuBar;
+
+ menu_bar->Append(file_menu, "&File");
+ menu_bar->Append(help_menu, "&Help");
+
+ // Associate the menu bar with the frame
+ m_mainFrame->SetMenuBar(menu_bar);
+
+ m_mainFrame->Centre(wxBOTH);
+ m_mainFrame->Show(TRUE);
+
+ SetTopWindow(m_mainFrame);
+
+ return TRUE;
+}
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+ EVT_CLOSE(MyFrame::OnCloseWindow)
+ EVT_MENU(PROPERTY_QUIT, MyFrame::OnQuit)
+ EVT_MENU(PROPERTY_ABOUT, MyFrame::OnAbout)
+ EVT_MENU(PROPERTY_TEST_DIALOG_LIST, MyFrame::OnDialogList)
+ EVT_MENU(PROPERTY_TEST_FRAME_LIST, MyFrame::OnFrameList)
+ EVT_MENU(PROPERTY_TEST_DIALOG_FORM, MyFrame::OnDialogForm)
+ EVT_MENU(PROPERTY_TEST_FRAME_FORM, MyFrame::OnFrameForm)
+END_EVENT_TABLE()
+
+// Define my frame constructor
+MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, long type):
+ wxFrame(frame, -1, title, pos, size, type)
+{
+}
+
+// Define the behaviour for the frame closing
+// - must delete all frames except for the main one.
+void MyFrame::OnCloseWindow(wxCloseEvent& event)
+{
+ if (wxGetApp().m_childWindow)
+ {
+ wxGetApp().m_childWindow->Close(TRUE);
+ }
+
+ Destroy();
+}
+
+void MyFrame::OnQuit(wxCommandEvent& event)
+{
+ Close(TRUE);
+}
+
+void MyFrame::OnDialogList(wxCommandEvent& event)
+{
+ wxGetApp().PropertyListTest(TRUE);
+}
+
+void MyFrame::OnFrameList(wxCommandEvent& event)
+{
+ wxGetApp().PropertyListTest(FALSE);
+}
+
+void MyFrame::OnDialogForm(wxCommandEvent& event)
+{
+ wxGetApp().PropertyFormTest(TRUE);
+}
+
+void MyFrame::OnFrameForm(wxCommandEvent& event)
+{
+ wxGetApp().PropertyFormTest(FALSE);
+}
+
+void MyFrame::OnAbout(wxCommandEvent& event)
+{
+ (void)wxMessageBox("Property Classes Demo\nAuthor: Julian Smart", "About Property Classes Test");
+}
+
+void MyApp::RegisterValidators(void)
+{
+ myListValidatorRegistry.RegisterValidator((wxString)"real", new wxRealListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"string", new wxStringListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolListValidator);
+ myListValidatorRegistry.RegisterValidator((wxString)"stringlist", new wxListOfStringsListValidator);
+
+ myFormValidatorRegistry.RegisterValidator((wxString)"real", new wxRealFormValidator);
+ myFormValidatorRegistry.RegisterValidator((wxString)"string", new wxStringFormValidator);
+ myFormValidatorRegistry.RegisterValidator((wxString)"integer", new wxIntegerFormValidator);
+ myFormValidatorRegistry.RegisterValidator((wxString)"bool", new wxBoolFormValidator);
+}
+
+void MyApp::PropertyListTest(bool useDialog)
+{
+ if (m_childWindow)
+ return;
+
+ wxPropertySheet *sheet = new wxPropertySheet;
+
+ sheet->AddProperty(new wxProperty("fred", 1.0, "real"));
+ sheet->AddProperty(new wxProperty("tough choice", (bool)TRUE, "bool"));
+ sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerListValidator(-50, 50)));
+ sheet->AddProperty(new wxProperty("bill", 25.0, "real", new wxRealListValidator(0.0, 100.0)));
+ sheet->AddProperty(new wxProperty("julian", "one", "string"));
+ sheet->AddProperty(new wxProperty("bitmap", "none", "string", new wxFilenameListValidator("Select a bitmap file", "*.bmp")));
+ wxStringList *strings = new wxStringList("one", "two", "three", NULL);
+ sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringListValidator(strings)));
+
+ wxStringList *strings2 = new wxStringList("earth", "fire", "wind", "water", NULL);
+ sheet->AddProperty(new wxProperty("string list", strings2, "stringlist"));
+
+ wxPropertyListView *view =
+ new wxPropertyListView(NULL,
+ wxPROP_BUTTON_OK | wxPROP_BUTTON_CANCEL |
+ wxPROP_BUTTON_CHECK_CROSS|wxPROP_DYNAMIC_VALUE_FIELD|wxPROP_PULLDOWN|wxPROP_SHOWVALUES);
+
+ wxDialog *propDialog = NULL;
+ wxPropertyListFrame *propFrame = NULL;
+ if (useDialog)
+ {
+ propDialog = new PropListDialog(view, NULL, "Property Sheet Test",
+ wxPoint(-1, -1), wxSize(400, 500), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODELESS);
+ m_childWindow = propDialog;
+ }
+ else
+ {
+ propFrame = new PropListFrame(view, NULL, "Property Sheet Test", wxPoint(-1, -1), wxSize(400, 500));
+ m_childWindow = propFrame;
+ }
+
+ view->AddRegistry(&myListValidatorRegistry);
+
+ if (useDialog)
+ {
+ view->ShowView(sheet, propDialog);
+ propDialog->Centre(wxBOTH);
+ propDialog->Show(TRUE);
+ }
+ else
+ {
+ propFrame->Initialize();
+ view->ShowView(sheet, propFrame->GetPropertyPanel());
+
+ propFrame->Centre(wxBOTH);
+ propFrame->Show(TRUE);
+ }
+}
+
+void MyApp::PropertyFormTest(bool useDialog)
+{
+ if (m_childWindow)
+ return;
+
+ wxPropertySheet *sheet = new wxPropertySheet;
+
+ sheet->AddProperty(new wxProperty("fred", 25.0, "real", new wxRealFormValidator(0.0, 100.0)));
+ sheet->AddProperty(new wxProperty("tough choice", (bool)TRUE, "bool"));
+ sheet->AddProperty(new wxProperty("ian", (long)45, "integer", new wxIntegerFormValidator(-50, 50)));
+ sheet->AddProperty(new wxProperty("julian", "one", "string"));
+ wxStringList *strings = new wxStringList("one", "two", "three", NULL);
+ sheet->AddProperty(new wxProperty("constrained", "one", "string", new wxStringFormValidator(strings)));
+
+ wxPropertyFormView *view = new wxPropertyFormView(NULL);
+
+ wxDialog *propDialog = NULL;
+ wxPropertyFormFrame *propFrame = NULL;
+ if (useDialog)
+ {
+ propDialog = new PropFormDialog(view, NULL, "Property Form Test",
+ wxPoint(-1, -1), wxSize(380, 250), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL);
+ m_childWindow = propDialog;
+ }
+ else
+ {
+ propFrame = new PropFormFrame(view, NULL, "Property Form Test", wxPoint(-1,
+ -1), wxSize(380, 250));
+ propFrame->Initialize();
+ m_childWindow = propFrame;
+ }
+
+ wxPanel *panel = propDialog ? propDialog : propFrame->GetPropertyPanel();
+ wxLayoutConstraints* c;
+
+#if 0
+ if (!propDialog)
+ {
+ c = new wxLayoutConstraints;
+ c->left.SameAs(m_childWindow, wxLeft, 4);
+ c->right.SameAs(m_childWindow, wxRight, 4);
+ c->top.SameAs(m_childWindow, wxTop, 4);
+ c->bottom.SameAs(m_childWindow, wxBottom, 40);
+
+ panel->SetConstraints(c);
+ }
+#endif
+
+ // Add items to the panel
+ wxButton *okButton = new wxButton(panel, wxID_OK, "OK", wxPoint(-1, -1),
+ wxSize(80, 26), 0, wxDefaultValidator, "ok");
+ wxButton *cancelButton = new wxButton(panel, wxID_CANCEL, "Cancel", wxPoint(-1, -1),
+ wxSize(80, 26), 0, wxDefaultValidator, "cancel");
+ wxButton *updateButton = new wxButton(panel, wxID_PROP_UPDATE, "Update", wxPoint(-1, -1),
+ wxSize(80, 26), 0, wxDefaultValidator, "update");
+ wxButton *revertButton = new wxButton(panel, wxID_PROP_REVERT, "Revert", wxPoint(-1, -1),
+ wxSize(80, 26), 0, wxDefaultValidator, "revert");
+
+ c = new wxLayoutConstraints;
+ c->right.SameAs(panel, wxRight, 4);
+ c->bottom.SameAs(panel, wxBottom, 4);
+ c->height.AsIs();
+ c->width.AsIs();
+ revertButton->SetConstraints(c);
+
+ c = new wxLayoutConstraints;
+ c->right.SameAs(revertButton, wxLeft, 4);
+ c->bottom.SameAs(panel, wxBottom, 4);
+ c->height.AsIs();
+ c->width.AsIs();
+ updateButton->SetConstraints(c);
+
+ c = new wxLayoutConstraints;
+ c->right.SameAs(updateButton, wxLeft, 4);
+ c->bottom.SameAs(panel, wxBottom, 4);
+ c->height.AsIs();
+ c->width.AsIs();
+ cancelButton->SetConstraints(c);
+
+ c = new wxLayoutConstraints;
+ c->right.SameAs(cancelButton, wxLeft, 4);
+ c->bottom.SameAs(panel, wxBottom, 4);
+ c->height.AsIs();
+ c->width.AsIs();
+ okButton->SetConstraints(c);
+
+ // The name of this text item matches the "fred" property
+ wxTextCtrl *text = new wxTextCtrl(panel, -1, "Fred", wxPoint(-1, -1), wxSize(
+ 200, -1), 0, wxDefaultValidator, "fred");
+
+ c = new wxLayoutConstraints;
+ c->left.SameAs(panel, wxLeft, 4);
+ c->top.SameAs(panel, wxTop, 4);
+ c->height.AsIs();
+ c->width.AsIs();
+ text->SetConstraints(c);
+
+ wxCheckBox *checkBox = new wxCheckBox(panel, -1, "Yes or no", wxPoint(-1, -1),
+ wxSize(-1, -1), 0, wxDefaultValidator, "tough choice");
+
+ c = new wxLayoutConstraints;
+ c->left.SameAs(text, wxRight, 20);
+ c->top.SameAs(panel, wxTop, 4);
+ c->height.AsIs();
+ c->width.AsIs();
+ checkBox->SetConstraints(c);
+
+ wxSlider *slider = new wxSlider(panel, -1, -50, 50, 150, wxPoint(-1, -1),
+ wxSize(200,10), 0, wxDefaultValidator, "ian");
+
+ c = new wxLayoutConstraints;
+ c->left.SameAs(panel, wxLeft, 4);
+ c->top.SameAs(text, wxBottom, 10);
+ c->height.AsIs();
+ c->width.AsIs();
+ slider->SetConstraints(c);
+
+ wxListBox *listBox = new wxListBox(panel, -1, wxPoint(-1, -1), wxSize(200, 100),
+ 0, NULL, 0, wxDefaultValidator, "constrained");
+
+ c = new wxLayoutConstraints;
+ c->left.SameAs(panel, wxLeft, 4);
+ c->top.SameAs(slider, wxBottom, 10);
+ c->height.AsIs();
+ c->width.AsIs();
+ listBox->SetConstraints(c);
+
+ view->AddRegistry(&myFormValidatorRegistry);
+
+ panel->SetAutoLayout(TRUE);
+
+ view->ShowView(sheet, panel);
+ view->AssociateNames();
+ view->TransferToDialog();
+
+ if (useDialog) {
+ propDialog->Layout();
+ propDialog->Centre(wxBOTH);
+ propDialog->Show(TRUE);
+ } else {
+ // panel->Layout();
+ propFrame->Centre(wxBOTH);
+ propFrame->Show(TRUE);
+ }
+}
+
+BEGIN_EVENT_TABLE(PropListFrame, wxPropertyListFrame)
+ EVT_CLOSE(PropListFrame::OnCloseWindow)
+END_EVENT_TABLE()
+
+void PropListFrame::OnCloseWindow(wxCloseEvent& event)
+{
+ wxGetApp().m_childWindow = NULL;
+
+ wxPropertyListFrame::OnCloseWindow(event);
+}
+
+BEGIN_EVENT_TABLE(PropListDialog, wxPropertyListDialog)
+ EVT_CLOSE(PropListDialog::OnCloseWindow)
+END_EVENT_TABLE()
+
+void PropListDialog::OnCloseWindow(wxCloseEvent& event)
+{
+ wxGetApp().m_childWindow = NULL;
+
+ wxPropertyListDialog::OnCloseWindow(event);
+}
+
+BEGIN_EVENT_TABLE(PropFormFrame, wxPropertyFormFrame)
+ EVT_CLOSE(PropFormFrame::OnCloseWindow)
+ EVT_SIZE(PropFormFrame::OnSize)
+END_EVENT_TABLE()
+
+void PropFormFrame::OnCloseWindow(wxCloseEvent& event)
+{
+ wxGetApp().m_childWindow = NULL;
+
+ wxPropertyFormFrame::OnCloseWindow(event);
+}
+
+void PropFormFrame::OnSize(wxSizeEvent& event)
+{
+ wxPropertyFormFrame::OnSize(event);
+ GetPropertyPanel()->Layout();
+}
+
+BEGIN_EVENT_TABLE(PropFormDialog, wxPropertyFormDialog)
+ EVT_CLOSE(PropFormDialog::OnCloseWindow)
+END_EVENT_TABLE()
+
+void PropFormDialog::OnCloseWindow(wxCloseEvent& event)
+{
+ wxGetApp().m_childWindow = NULL;
+
+ wxPropertyFormDialog::OnCloseWindow(event);
+}
+
diff --git a/samples/proplist/proplist.def b/samples/proplist/proplist.def
new file mode 100644
index 0000000000..b5cbde33a9
--- /dev/null
+++ b/samples/proplist/proplist.def
@@ -0,0 +1,8 @@
+NAME Proplist
+DESCRIPTION 'wxProperty test'
+EXETYPE WINDOWS
+STUB 'WINSTUB.EXE'
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE 1024
+STACKSIZE 8192
diff --git a/samples/proplist/proplist.h b/samples/proplist/proplist.h
new file mode 100644
index 0000000000..356681fab9
--- /dev/null
+++ b/samples/proplist/proplist.h
@@ -0,0 +1,128 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: proplist.h
+// Purpose: Property sheet sample
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma interface "proplist.h"
+#endif
+
+#ifndef _PROPTEST_H_
+#define _PROPTEST_H_
+
+#include "wx/proplist.h"
+#include "wx/propform.h"
+
+class MyChild;
+
+// Define a new application
+class MyFrame;
+class MyApp: public wxApp
+{
+public:
+ MyApp(void);
+ bool OnInit(void);
+
+ void RegisterValidators(void);
+ void PropertyListTest(bool useDialog);
+ void PropertyFormTest(bool useDialog);
+
+ MyFrame* m_mainFrame;
+ wxWindow* m_childWindow;
+};
+
+DECLARE_APP(MyApp)
+
+// Define a new frame
+class MyFrame: public wxFrame
+{
+ public:
+ MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, long type);
+
+ void OnCloseWindow(wxCloseEvent& event);
+ void OnQuit(wxCommandEvent& event);
+ void OnDialogList(wxCommandEvent& event);
+ void OnFrameList(wxCommandEvent& event);
+ void OnDialogForm(wxCommandEvent& event);
+ void OnFrameForm(wxCommandEvent& event);
+ void OnAbout(wxCommandEvent& event);
+
+DECLARE_EVENT_TABLE()
+};
+
+class PropListFrame: public wxPropertyListFrame
+{
+public:
+ PropListFrame(wxPropertyListView *v, wxFrame *parent, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"):
+ wxPropertyListFrame(v, parent, title, pos, size, style, name)
+ {
+ }
+
+ void OnCloseWindow(wxCloseEvent& event);
+
+ DECLARE_EVENT_TABLE()
+};
+
+class PropListDialog: public wxPropertyListDialog
+{
+public:
+ PropListDialog(wxPropertyListView *v, wxWindow *parent, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = "dialogBox"):
+ wxPropertyListDialog(v, parent, title, pos, size, style, name)
+ {
+ }
+
+ void OnCloseWindow(wxCloseEvent& event);
+
+ DECLARE_EVENT_TABLE()
+};
+
+class PropFormFrame: public wxPropertyFormFrame
+{
+public:
+ PropFormFrame(wxPropertyFormView *v, wxFrame *parent, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"):
+ wxPropertyFormFrame(v, parent, title, pos, size, style, name)
+ {
+ }
+
+ void OnCloseWindow(wxCloseEvent& event);
+ void OnSize(wxSizeEvent& event);
+
+ DECLARE_EVENT_TABLE()
+};
+
+class PropFormDialog: public wxPropertyFormDialog
+{
+public:
+ PropFormDialog(wxPropertyFormView *v, wxWindow *parent, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = "dialogBox"):
+ wxPropertyFormDialog(v, parent, title, pos, size, style, name)
+ {
+ }
+
+ void OnCloseWindow(wxCloseEvent& event);
+
+ DECLARE_EVENT_TABLE()
+};
+
+#define PROPERTY_QUIT 1
+#define PROPERTY_ABOUT 2
+#define PROPERTY_TEST_DIALOG_LIST 3
+#define PROPERTY_TEST_FRAME_LIST 4
+#define PROPERTY_TEST_DIALOG_FORM 5
+#define PROPERTY_TEST_FRAME_FORM 6
+
+#endif
+
diff --git a/samples/proplist/proplist.rc b/samples/proplist/proplist.rc
new file mode 100644
index 0000000000..82f8ad6857
--- /dev/null
+++ b/samples/proplist/proplist.rc
@@ -0,0 +1,5 @@
+//tick_bmp BITMAP "tick.bmp"
+//cross_bmp BITMAP "cross.bmp"
+
+#include "wx/msw/wx.rc"
+
diff --git a/samples/proplist/tick.bmp b/samples/proplist/tick.bmp
new file mode 100644
index 0000000000..3673eda5de
Binary files /dev/null and b/samples/proplist/tick.bmp differ
diff --git a/samples/propsize/PropsizeVC.dsp b/samples/propsize/PropsizeVC.dsp
new file mode 100644
index 0000000000..4e60779cb6
--- /dev/null
+++ b/samples/propsize/PropsizeVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="PropsizeVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=PropsizeVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PropsizeVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PropsizeVC.mak" CFG="PropsizeVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "PropsizeVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "PropsizeVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "PropsizeVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "PropsizeVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "PropsizeVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/propsize.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PropsizeVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/propsize.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PropsizeVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/propsize.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "PropsizeVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/propsize.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "PropsizeVC - Win32 Release"
+# Name "PropsizeVC - Win32 Debug"
+# Name "PropsizeVC - Win32 Debug DLL"
+# Name "PropsizeVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\propsize.cpp
+
+!IF "$(CFG)" == "PropsizeVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "PropsizeVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PropsizeVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "PropsizeVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\propsize.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/propsize/PropsizeVC.dsw b/samples/propsize/PropsizeVC.dsw
new file mode 100644
index 0000000000..570c4a4ccd
--- /dev/null
+++ b/samples/propsize/PropsizeVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "PropsizeVC"=.\PropsizeVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/regtest/RegtestVC.dsp b/samples/regtest/RegtestVC.dsp
new file mode 100644
index 0000000000..6bb5bb30f3
--- /dev/null
+++ b/samples/regtest/RegtestVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="RegtestVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=RegtestVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "RegtestVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "RegtestVC.mak" CFG="RegtestVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RegtestVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "RegtestVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "RegtestVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "RegtestVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RegtestVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/regtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RegtestVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/regtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RegtestVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/regtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RegtestVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/regtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RegtestVC - Win32 Release"
+# Name "RegtestVC - Win32 Debug"
+# Name "RegtestVC - Win32 Debug DLL"
+# Name "RegtestVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\regtest.cpp
+
+!IF "$(CFG)" == "RegtestVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RegtestVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RegtestVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RegtestVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\regtest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/regtest/RegtestVC.dsw b/samples/regtest/RegtestVC.dsw
new file mode 100644
index 0000000000..73d4e0955f
--- /dev/null
+++ b/samples/regtest/RegtestVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "RegtestVC"=.\RegtestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/resource/.cvsignore b/samples/resource/.cvsignore
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/samples/resource/.cvsignore
@@ -0,0 +1 @@
+
diff --git a/samples/resource/Makefile.in b/samples/resource/Makefile.in
new file mode 100644
index 0000000000..88288c7bc2
--- /dev/null
+++ b/samples/resource/Makefile.in
@@ -0,0 +1,21 @@
+#
+# File: Makefile.in
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+# Copyright: (c) 1998 Julian Smart
+#
+# "%W% %G%"
+#
+# Makefile for resource example (UNIX).
+
+top_srcdir = @top_srcdir@/..
+top_builddir = ../..
+program_dir = samples/resource
+
+PROGRAM=resource
+
+OBJECTS=$(PROGRAM).o
+
+include ../../src/makeprog.env
+
diff --git a/samples/resource/ResourceVC.dsp b/samples/resource/ResourceVC.dsp
new file mode 100644
index 0000000000..68e5c1454c
--- /dev/null
+++ b/samples/resource/ResourceVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="ResourceVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ResourceVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ResourceVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ResourceVC.mak" CFG="ResourceVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ResourceVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ResourceVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ResourceVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ResourceVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ResourceVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/resource.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ResourceVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/resource.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ResourceVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/resource.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ResourceVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/resource.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ResourceVC - Win32 Release"
+# Name "ResourceVC - Win32 Debug"
+# Name "ResourceVC - Win32 Debug DLL"
+# Name "ResourceVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\resource.cpp
+
+!IF "$(CFG)" == "ResourceVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ResourceVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ResourceVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ResourceVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/resource/ResourceVC.dsw b/samples/resource/ResourceVC.dsw
new file mode 100644
index 0000000000..1c7875936c
--- /dev/null
+++ b/samples/resource/ResourceVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ResourceVC"=.\ResourceVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/resource/descrip.mms b/samples/resource/descrip.mms
new file mode 100644
index 0000000000..01ecdf67bf
--- /dev/null
+++ b/samples/resource/descrip.mms
@@ -0,0 +1,47 @@
+#*****************************************************************************
+# *
+# Make file for VMS *
+# Author : J.Jansen (joukj@hrem.stm.tudelft.nl) *
+# Date : 10 November 1999 *
+# *
+#*****************************************************************************
+.first
+ define wx [--.include.wx]
+
+.ifdef __WXMOTIF__
+CXX_DEFINE = /define=(__WXMOTIF__=1)/name=(as_is,short)\
+ /assume=(nostdnew,noglobal_array_new)
+.else
+.ifdef __WXGTK__
+CXX_DEFINE = /define=(__WXGTK__=1)/float=ieee/name=(as_is,short)/ieee=denorm\
+ /assume=(nostdnew,noglobal_array_new)
+.else
+CXX_DEFINE =
+.endif
+.endif
+
+.suffixes : .cpp
+
+.cpp.obj :
+ cxx $(CXXFLAGS)$(CXX_DEFINE) $(MMS$TARGET_NAME).cpp
+
+all :
+.ifdef __WXMOTIF__
+ $(MMS)$(MMSQUALIFIERS) resource.exe
+.else
+.ifdef __WXGTK__
+ $(MMS)$(MMSQUALIFIERS) resource_gtk.exe
+.endif
+.endif
+
+.ifdef __WXMOTIF__
+resource.exe : resource.obj
+ cxxlink resource,[--.lib]vms/opt
+.else
+.ifdef __WXGTK__
+resource_gtk.exe : resource.obj
+ cxxlink/exec=resource_gtk.exe resource,[--.lib]vms_gtk/opt
+.endif
+.endif
+
+resource.obj : resource.cpp
diff --git a/samples/resource/dialog1.h b/samples/resource/dialog1.h
new file mode 100644
index 0000000000..99f31f9b1b
--- /dev/null
+++ b/samples/resource/dialog1.h
@@ -0,0 +1,14 @@
+/*
+ * dialog1.h
+ * Window identifiers file written by Dialog Editor
+ */
+
+#define ID_TEXTCTRL104 104
+#define ID_STATICBOX101 101
+#define ID_DIALOG100 100
+#define ID_STATIC107 107
+#define ID_BUTTON108 108
+#define ID_BUTTON109 109
+#define ID_LISTBOX105 105
+#define ID_CHECKBOX106 106
+#define ID_RADIOBOX102 102
diff --git a/samples/resource/dialog1.wxr b/samples/resource/dialog1.wxr
new file mode 100644
index 0000000000..4a48e75a46
--- /dev/null
+++ b/samples/resource/dialog1.wxr
@@ -0,0 +1,26 @@
+static char *dialog1 = "dialog(name = 'dialog1',\
+ style = 'wxRAISED_BORDER | wxCAPTION | wxTHICK_FRAME | wxSYSTEM_MENU',\
+ title = 'Test dialog box',\
+ id = 100,\
+ x = 10, y = 10, width = 210, height = 145,\
+ background_colour = 'D6D6D6',\
+ use_dialog_units = 1,\
+ use_system_defaults = 1,\
+ font = [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0],\
+ control = [101, wxStaticBox, 'wxStaticBox', '0', 'group6', 5, 7, 200, 103,\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [102, wxRadioBox, 'Radiobox', 'wxRA_SPECIFY_COLS', 'radiobox2', 13, 24, 60, 72, ['One', 'Two', 'Three', 'Four', 'One more'], 1,\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [104, wxTextCtrl, '', 'wxTE_MULTILINE', 'multitext3', 80, 24, 67, 33, 'wxWindows rules!',\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [105, wxListBox, '', '0', 'listbox4', 80, 66, 67, 33, ['Apples', 'Bananas', 'Pears', 'Kiwis'],\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [106, wxCheckBox, 'Checkbox', '0', 'checkbox9', 150, 26, 50, 14, 0,\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [107, wxStaticText, 'My Message', '0', 'message10', 150, 57, 50, 12, '',\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [108, wxButton, 'Press me', '0', 'button7', 150, 81, 50, 13, '',\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]],\
+ control = [109, wxButton, 'Cancel', '0', 'button8', 80, 119, 55, 17, '',\
+ [12, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]]).";
+
diff --git a/samples/resource/makefile.b32 b/samples/resource/makefile.b32
new file mode 100644
index 0000000000..dc944a8272
--- /dev/null
+++ b/samples/resource/makefile.b32
@@ -0,0 +1,16 @@
+#
+# File: makefile.b32
+# Author: Julian Smart
+# Created: 1999
+# Updated:
+# Copyright:
+#
+# Makefile : Builds sample for 32-bit BC++
+
+WXDIR = $(WXWIN)
+
+TARGET=resource
+OBJECTS = $(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.b32
+
diff --git a/samples/resource/makefile.bcc b/samples/resource/makefile.bcc
new file mode 100644
index 0000000000..c69508d16d
--- /dev/null
+++ b/samples/resource/makefile.bcc
@@ -0,0 +1,19 @@
+#
+# File: makefile.bcc
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+#
+# Builds a BC++ 16-bit sample
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+
+TARGET=resource
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.bcc
+
diff --git a/samples/resource/makefile.dos b/samples/resource/makefile.dos
new file mode 100644
index 0000000000..351562fe3c
--- /dev/null
+++ b/samples/resource/makefile.dos
@@ -0,0 +1,17 @@
+#
+# File: makefile.dos
+# Author: Julian Smart
+# Created: 1998
+# Updated:
+#
+# Makefile : Builds 16-bit sample, VC++ 1.5
+# Use FINAL=1 argument to nmake to build final version with no debugging
+# info
+
+WXDIR = $(WXWIN)
+
+TARGET=resource
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.msc
+
diff --git a/samples/resource/makefile.g95 b/samples/resource/makefile.g95
new file mode 100644
index 0000000000..a8ef75d70b
--- /dev/null
+++ b/samples/resource/makefile.g95
@@ -0,0 +1,16 @@
+#
+# File: makefile.g95
+# Author: Julian Smart
+# Created: 1999
+# Updated:
+# Copyright: (c) Julian Smart, 1999
+#
+# Makefile for wxWindows sample (Cygwin/Mingw32).
+
+WXDIR = ../..
+
+TARGET=resource
+OBJECTS = $(TARGET).o
+
+include $(WXDIR)/src/makeprog.g95
+
diff --git a/samples/resource/makefile.unx b/samples/resource/makefile.unx
new file mode 100644
index 0000000000..727f767824
--- /dev/null
+++ b/samples/resource/makefile.unx
@@ -0,0 +1,35 @@
+#
+# File: Makefile for samples
+# Author: Robert Roebling
+# Created: 1999
+# Updated:
+# Copyright: (c) 1998 Robert Roebling
+#
+# This makefile requires a Unix version of wxWindows
+# to be installed on your system. This is most often
+# done typing "make install" when using the complete
+# sources of wxWindows or by installing the two
+# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm
+# under Linux.
+#
+
+CC = gcc
+
+PROGRAM = resource
+
+OBJECTS = $(PROGRAM).o
+
+# implementation
+
+.SUFFIXES: .o .cpp
+
+.cpp.o :
+ $(CC) -c `wx-config --cflags` -o $@ $<
+
+all: $(PROGRAM)
+
+$(PROGRAM): $(OBJECTS)
+ $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
+
+clean:
+ rm -f *.o $(PROGRAM)
diff --git a/samples/resource/makefile.vc b/samples/resource/makefile.vc
new file mode 100644
index 0000000000..103fa7f6bd
--- /dev/null
+++ b/samples/resource/makefile.vc
@@ -0,0 +1,18 @@
+#
+# File: makefile.vc
+# Author: Julian Smart
+# Created: 1999
+# Updated:
+# Copyright: (c) Julian Smart
+#
+# Makefile : Builds sample (VC++, WIN32)
+# Use FINAL=1 argument to nmake to build final version with no debug info.
+
+# Set WXDIR for your system
+WXDIR = $(WXWIN)
+
+PROGRAM=resource
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.vc
+
diff --git a/samples/resource/makefile.vms b/samples/resource/makefile.vms
new file mode 100644
index 0000000000..1ef109fbeb
--- /dev/null
+++ b/samples/resource/makefile.vms
@@ -0,0 +1,38 @@
+#************************************************************************
+# Makefile for HELLO under VMS
+# by Stefan Hammes
+# (incomplete) update history:
+# 11.04.95
+#************************************************************************
+
+#************************************************************************
+# Definition section
+# (cave: definitions and includes must begin with ',')
+#************************************************************************
+
+APPOPTS =
+APPDEFS =
+APPINCS =
+
+#************************************************************************
+# Module section
+#************************************************************************
+
+# Name of main module
+MAIN = hello
+
+# Object modules of the application.
+OBJS = hello.obj
+
+.include [--.src]makevms.env
+
+# main dependency
+$(MAIN).exe : $(MAIN).$(OBJ)
+ $(LINK) $(LINKFLAGS) /exec=$(MAIN).exe $(MAIN).$(OBJ),$(WXLIB)/lib,$(OPTSFILE)/option
+ - purge *.exe
+
+#************************************************************************
+# Header file depedencies following
+#************************************************************************
+hello.obj : hello.cc hello.h
+
diff --git a/samples/resource/makefile.wat b/samples/resource/makefile.wat
index 1d277645e2..a2041fd638 100644
--- a/samples/resource/makefile.wat
+++ b/samples/resource/makefile.wat
@@ -1,12 +1,15 @@
+#
+# Makefile for WATCOM
+#
+# Created by Julian Smart, January 1999
#
-# Makefile for WATCOM
-#
-# Created by Julian Smart, January 1999
-#
-#
-#
-#
-PROGRAM = resource
-OBJECTS = $(OUTPUTDIR)\$(PROGRAM).obj
-#
-!include $(%WXWIN)\src\makeprog.wat
+#
+
+WXDIR = $(%WXWIN)
+
+PROGRAM = resource
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.wat
+
+
diff --git a/samples/resource/menu1.wxr b/samples/resource/menu1.wxr
new file mode 100644
index 0000000000..3536bb5a6c
--- /dev/null
+++ b/samples/resource/menu1.wxr
@@ -0,0 +1,13 @@
+
+static char *menu1 = "menu(name = 'menu1',\
+ menu = \
+ [\
+ ['&File', 1, '', \
+ ['&Dialog box test', 2, ''],\
+ [],\
+ ['&Exit', 4, '']\
+ ],\
+ ['&Help', 5, '', \
+ ['&About', 6, '']\
+ ]\
+ ]).";
diff --git a/samples/resource/resource.cpp b/samples/resource/resource.cpp
new file mode 100644
index 0000000000..ab0405be9b
--- /dev/null
+++ b/samples/resource/resource.cpp
@@ -0,0 +1,194 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: resource.cpp
+// Purpose: Dialog resource sample
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+// #pragma implementation
+#endif
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/resource.h"
+
+#include
+#include "resource.h"
+
+// If we wanted to demonstrate total platform independence,
+// then we'd use the dynamic file loading form for all platforms.
+// But this shows how to embed the wxWindows resources
+// in the program code/executable for UNIX and Windows
+// platforms.
+
+// In order to get the ID of the controls defined in the
+// dialog, we include the header automatically generated
+// by DialogEd
+
+#include "dialog1.h"
+
+// If you have a Windows compiler that can cope with long strings,
+// then you can always use the #include form for simplicity.
+
+// NOTE: Borland's brc32.exe resource compiler doesn't recognize
+// the TEXT resource, for some reason, so either run-time file loading
+// or file inclusion should be used.
+
+#if defined(__WXMSW__)
+// Under Windows, some compilers can't include
+// a whole .wxr file. So we use a .rc user-defined resource
+// instead. dialog1 will point to the whole .wxr 'file'.
+static char *dialog1 = NULL;
+static char *menu1 = NULL;
+#else
+// Other platforms should have sensible compilers that
+// cope with long strings.
+#include "dialog1.wxr"
+#include "menu1.wxr"
+#endif
+
+// Declare two frames
+MyFrame *frame = (MyFrame *) NULL;
+
+IMPLEMENT_APP(MyApp)
+
+// Testing of ressources
+MyApp::MyApp()
+{
+}
+
+// The `main program' equivalent, creating the windows and returning the
+// main frame
+bool MyApp::OnInit(void)
+{
+#if defined(__WXMSW__)
+ // Load the .wxr 'file' from a .rc resource, under Windows.
+ dialog1 = wxLoadUserResource("dialog1", "WXRDATA");
+ menu1 = wxLoadUserResource("menu1", "WXRDATA");
+ // All resources in the file (only one in this case) get parsed
+ // by this call.
+ wxResourceParseString(dialog1);
+ wxResourceParseString(menu1);
+#else
+ // Simply parse the data pointed to by the variable dialog1.
+ // If there were several resources, there would be several
+ // variables, and this would need to be called several times.
+ wxResourceParseData(dialog1);
+ wxResourceParseData(menu1);
+#endif
+
+ // Create the main frame window
+ frame = new MyFrame((wxFrame *) NULL, -1, (char *) "wxWindows Resource Sample", wxPoint(-1, -1), wxSize(300, 250));
+
+ // Give it a status line
+ frame->CreateStatusBar(2);
+
+ wxMenuBar *menu_bar = wxResourceCreateMenuBar("menu1");
+
+ // Associate the menu bar with the frame
+ frame->SetMenuBar(menu_bar);
+
+ // Make a panel
+ frame->panel = new MyPanel(frame, -1, wxPoint(0, 0), wxSize(400, 400), 0, "MyMainFrame");
+ frame->Show(TRUE);
+
+ SetTopWindow(frame);
+
+ return TRUE;
+}
+
+MyApp::~MyApp()
+{
+#if defined(__WXMSW__)
+ delete dialog1;
+ delete menu1;
+#endif
+}
+
+BEGIN_EVENT_TABLE(MyPanel, wxPanel)
+ EVT_LEFT_DOWN( MyPanel::OnClick)
+END_EVENT_TABLE()
+
+MyPanel::MyPanel( wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
+ int style, const wxString &name ) :
+ wxPanel( parent, id, pos, size, style, name )
+{
+}
+
+void MyPanel::OnClick( wxMouseEvent &WXUNUSED(event2) )
+{
+ MyFrame *frame = (MyFrame*)(wxTheApp->GetTopWindow());
+ wxCommandEvent event;
+ frame->OnTestDialog( event );
+}
+
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+ EVT_MENU(RESOURCE_ABOUT, MyFrame::OnAbout)
+ EVT_MENU(RESOURCE_QUIT, MyFrame::OnQuit)
+ EVT_MENU(RESOURCE_TESTDIALOG, MyFrame::OnTestDialog)
+END_EVENT_TABLE()
+
+// Define my frame constructor
+MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size):
+ wxFrame(parent, id, title, pos, size)
+{
+ panel = (wxWindow *) NULL;
+}
+
+void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) )
+{
+ wxMessageBox("wxWindows resource sample.\n"
+ "(c) Julian Smart", "About wxWindows sample",
+ wxICON_INFORMATION | wxOK);
+}
+
+void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) )
+{
+ Close(TRUE);
+}
+
+void MyFrame::OnTestDialog(wxCommandEvent& WXUNUSED(event) )
+{
+ MyDialog *dialog = new MyDialog;
+ if (dialog->LoadFromResource(this, "dialog1"))
+ {
+ wxTextCtrl *text = (wxTextCtrl *)wxFindWindowByName("multitext3", dialog);
+ if (text)
+ text->SetValue("wxWindows resource demo");
+ dialog->ShowModal();
+ }
+ dialog->Close(TRUE);
+}
+
+BEGIN_EVENT_TABLE(MyDialog, wxDialog)
+ // EVT_BUTTON(RESOURCE_OK, MyDialog::OnOk)
+ EVT_BUTTON(ID_BUTTON109, MyDialog::OnCancel)
+END_EVENT_TABLE()
+
+
+void MyDialog::OnOk(wxCommandEvent& WXUNUSED(event) )
+{
+ // EndModal(RESOURCE_OK);
+}
+
+void MyDialog::OnCancel(wxCommandEvent& WXUNUSED(event) )
+{
+ EndModal(ID_BUTTON109);
+}
+
+
diff --git a/samples/resource/resource.def b/samples/resource/resource.def
new file mode 100644
index 0000000000..49791b5e6c
--- /dev/null
+++ b/samples/resource/resource.def
@@ -0,0 +1,9 @@
+NAME Resource
+DESCRIPTION 'Resource'
+EXETYPE WINDOWS
+STUB 'WINSTUB.EXE'
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE 1024
+STACKSIZE 16192
+
diff --git a/samples/resource/resource.h b/samples/resource/resource.h
new file mode 100644
index 0000000000..5975b871c7
--- /dev/null
+++ b/samples/resource/resource.h
@@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: resource.h
+// Purpose: Dialog resource sample
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+// #pragma interface
+#endif
+
+// Define a new application
+class MyApp: public wxApp
+{
+public:
+ MyApp();
+
+ virtual bool OnInit();
+
+ virtual ~MyApp();
+};
+
+class MyPanel: public wxPanel
+{
+public:
+ MyPanel(wxWindow *parent, wxWindowID id, const wxPoint& pos,
+ const wxSize& size, int style, const wxString &name);
+ void OnClick(wxMouseEvent &event);
+
+private:
+ DECLARE_EVENT_TABLE()
+};
+
+class MyFrame: public wxFrame
+{
+public:
+ MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title,
+ const wxPoint& pos, const wxSize& size);
+ void OnQuit(wxCommandEvent& event);
+ void OnAbout(wxCommandEvent& event);
+ void OnTestDialog(wxCommandEvent& event);
+
+ wxWindow *panel;
+
+private:
+ DECLARE_EVENT_TABLE()
+};
+
+class MyDialog : public wxDialog
+{
+public:
+ void OnOk(wxCommandEvent& event);
+ void OnCancel(wxCommandEvent& event);
+
+private:
+ DECLARE_EVENT_TABLE()
+};
+
+// the values should be the same as in menu.wxr file!
+enum
+{
+ RESOURCE_TESTDIALOG = 2,
+ RESOURCE_QUIT = 4,
+ RESOURCE_ABOUT = 6
+};
diff --git a/samples/resource/resource.rc b/samples/resource/resource.rc
new file mode 100644
index 0000000000..55ff494812
--- /dev/null
+++ b/samples/resource/resource.rc
@@ -0,0 +1,10 @@
+#include "wx/msw/wx.rc"
+
+/* Comment out these lines for Borland C++ or GNU-WIN32 */
+/*
+dialog1 TEXT "dialog1.wxr"
+menu1 TEXT "menu1.wxr"
+*/
+dialog1 WXRDATA "dialog1.wxr"
+menu1 WXRDATA "menu1.wxr"
+
diff --git a/samples/richedit/RichEditVC.dsp b/samples/richedit/RichEditVC.dsp
new file mode 100644
index 0000000000..ad099b2940
--- /dev/null
+++ b/samples/richedit/RichEditVC.dsp
@@ -0,0 +1,255 @@
+# Microsoft Developer Studio Project File - Name="RichEditVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=RichEditVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "RichEditVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "RichEditVC.mak" CFG="RichEditVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RichEditVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "RichEditVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "RichEditVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "RichEditVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RichEditVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/wxLayout.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/wxLayout.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/wxLayout.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/wxLayout.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RichEditVC - Win32 Release"
+# Name "RichEditVC - Win32 Debug"
+# Name "RichEditVC - Win32 Debug DLL"
+# Name "RichEditVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\kbList.cpp
+
+!IF "$(CFG)" == "RichEditVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\wxLayout.cpp
+
+!IF "$(CFG)" == "RichEditVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\wxLayout.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# Begin Source File
+
+SOURCE=.\wxllist.cpp
+
+!IF "$(CFG)" == "RichEditVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\wxlparser.cpp
+
+!IF "$(CFG)" == "RichEditVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\wxlwindow.cpp
+
+!IF "$(CFG)" == "RichEditVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RichEditVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
diff --git a/samples/richedit/RichEditVC.dsw b/samples/richedit/RichEditVC.dsw
new file mode 100644
index 0000000000..3105ab68ca
--- /dev/null
+++ b/samples/richedit/RichEditVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "RichEditVC"=.\RichEditVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/rotate/RotateVC.dsp b/samples/rotate/RotateVC.dsp
new file mode 100644
index 0000000000..35e7e0a1aa
--- /dev/null
+++ b/samples/rotate/RotateVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="RotateVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=RotateVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "RotateVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "RotateVC.mak" CFG="RotateVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RotateVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "RotateVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "RotateVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "RotateVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RotateVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/rotate.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RotateVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/rotate.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RotateVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/rotate.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "RotateVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/rotate.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RotateVC - Win32 Release"
+# Name "RotateVC - Win32 Debug"
+# Name "RotateVC - Win32 Debug DLL"
+# Name "RotateVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\rotate.cpp
+
+!IF "$(CFG)" == "RotateVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "RotateVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RotateVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "RotateVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\rotate.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/rotate/RotateVC.dsw b/samples/rotate/RotateVC.dsw
new file mode 100644
index 0000000000..0ed8c886c7
--- /dev/null
+++ b/samples/rotate/RotateVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "RotateVC"=.\RotateVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/sashtest/SashtestVC.dsp b/samples/sashtest/SashtestVC.dsp
new file mode 100644
index 0000000000..a8f47ef8b8
--- /dev/null
+++ b/samples/sashtest/SashtestVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="SashtestVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=SashtestVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "SashtestVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SashtestVC.mak" CFG="SashtestVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SashtestVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "SashtestVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "SashtestVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "SashtestVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SashtestVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/sashtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "SashtestVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/sashtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "SashtestVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/sashtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "SashtestVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/sashtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SashtestVC - Win32 Release"
+# Name "SashtestVC - Win32 Debug"
+# Name "SashtestVC - Win32 Debug DLL"
+# Name "SashtestVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\sashtest.cpp
+
+!IF "$(CFG)" == "SashtestVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "SashtestVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "SashtestVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "SashtestVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\sashtest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\sashtest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/sashtest/SashtestVC.dsw b/samples/sashtest/SashtestVC.dsw
new file mode 100644
index 0000000000..2cd1093808
--- /dev/null
+++ b/samples/sashtest/SashtestVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "SashtestVC"=.\SashtestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/scroll/ScrollVC.dsp b/samples/scroll/ScrollVC.dsp
new file mode 100644
index 0000000000..54141e2eed
--- /dev/null
+++ b/samples/scroll/ScrollVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ScrollVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ScrollVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ScrollVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ScrollVC.mak" CFG="ScrollVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ScrollVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ScrollVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ScrollVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ScrollVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ScrollVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/scroll.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ScrollVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/scroll.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ScrollVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/scroll.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ScrollVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/scroll.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ScrollVC - Win32 Release"
+# Name "ScrollVC - Win32 Debug"
+# Name "ScrollVC - Win32 Debug DLL"
+# Name "ScrollVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\scroll.cpp
+
+!IF "$(CFG)" == "ScrollVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ScrollVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ScrollVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ScrollVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\scroll.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/scroll/ScrollVC.dsw b/samples/scroll/ScrollVC.dsw
new file mode 100644
index 0000000000..b89c2b539d
--- /dev/null
+++ b/samples/scroll/ScrollVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ScrollVC"=.\ScrollVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/scrollsub/ScrollsubVC.dsp b/samples/scrollsub/ScrollsubVC.dsp
new file mode 100644
index 0000000000..7d87479e14
--- /dev/null
+++ b/samples/scrollsub/ScrollsubVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ScrollsubVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ScrollsubVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ScrollsubVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ScrollsubVC.mak" CFG="ScrollsubVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ScrollsubVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ScrollsubVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ScrollsubVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ScrollsubVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ScrollsubVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/scrollsub.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ScrollsubVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/scrollsub.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ScrollsubVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/scrollsub.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ScrollsubVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/scrollsub.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ScrollsubVC - Win32 Release"
+# Name "ScrollsubVC - Win32 Debug"
+# Name "ScrollsubVC - Win32 Debug DLL"
+# Name "ScrollsubVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\scrollsub.cpp
+
+!IF "$(CFG)" == "ScrollsubVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ScrollsubVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ScrollsubVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ScrollsubVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\scrollsub.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/scrollsub/ScrollsubVC.dsw b/samples/scrollsub/ScrollsubVC.dsw
new file mode 100644
index 0000000000..45b9037170
--- /dev/null
+++ b/samples/scrollsub/ScrollsubVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ScrollsubVC"=.\ScrollsubVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/sockets/ClientVC.dsp b/samples/sockets/ClientVC.dsp
new file mode 100644
index 0000000000..01455ad27a
--- /dev/null
+++ b/samples/sockets/ClientVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ClientVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ClientVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ClientVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ClientVC.mak" CFG="ClientVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ClientVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ClientVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ClientVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ClientVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ClientVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/client.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/client.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/client.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/client.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ClientVC - Win32 Release"
+# Name "ClientVC - Win32 Debug"
+# Name "ClientVC - Win32 Debug DLL"
+# Name "ClientVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\client.cpp
+
+!IF "$(CFG)" == "ClientVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ClientVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\client.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/sockets/ServerVC.dsw b/samples/sockets/ServerVC.dsw
new file mode 100644
index 0000000000..44073be3f3
--- /dev/null
+++ b/samples/sockets/ServerVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ServerVC"=.\ServerVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/splitter/SplitterVC.dsp b/samples/splitter/SplitterVC.dsp
new file mode 100644
index 0000000000..de401a5f2c
--- /dev/null
+++ b/samples/splitter/SplitterVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="SplitterVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=SplitterVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "SplitterVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SplitterVC.mak" CFG="SplitterVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SplitterVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "SplitterVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "SplitterVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "SplitterVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SplitterVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/splitter.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "SplitterVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/splitter.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "SplitterVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/splitter.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "SplitterVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/splitter.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SplitterVC - Win32 Release"
+# Name "SplitterVC - Win32 Debug"
+# Name "SplitterVC - Win32 Debug DLL"
+# Name "SplitterVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\splitter.cpp
+
+!IF "$(CFG)" == "SplitterVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "SplitterVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "SplitterVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "SplitterVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\splitter.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/splitter/SplitterVC.dsw b/samples/splitter/SplitterVC.dsw
new file mode 100644
index 0000000000..ea1bdcce90
--- /dev/null
+++ b/samples/splitter/SplitterVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "SplitterVC"=.\SplitterVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/statbar/StatbarVC.dsp b/samples/statbar/StatbarVC.dsp
new file mode 100644
index 0000000000..22e81859a6
--- /dev/null
+++ b/samples/statbar/StatbarVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="StatbarVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=StatbarVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "StatbarVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "StatbarVC.mak" CFG="StatbarVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "StatbarVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "StatbarVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "StatbarVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "StatbarVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "StatbarVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/statbar.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "StatbarVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/statbar.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "StatbarVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/statbar.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "StatbarVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/statbar.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "StatbarVC - Win32 Release"
+# Name "StatbarVC - Win32 Debug"
+# Name "StatbarVC - Win32 Debug DLL"
+# Name "StatbarVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\statbar.cpp
+
+!IF "$(CFG)" == "StatbarVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "StatbarVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "StatbarVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "StatbarVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\statbar.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/statbar/StatbarVC.dsw b/samples/statbar/StatbarVC.dsw
new file mode 100644
index 0000000000..3143dbb949
--- /dev/null
+++ b/samples/statbar/StatbarVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "StatbarVC"=.\StatbarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/tab/TabVC.dsp b/samples/tab/TabVC.dsp
new file mode 100644
index 0000000000..62fd9122fb
--- /dev/null
+++ b/samples/tab/TabVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="TabVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TabVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TabVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TabVC.mak" CFG="TabVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TabVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TabVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TabVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TabVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TabVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/tab.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TabVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/tab.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TabVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/tab.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TabVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/tab.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TabVC - Win32 Release"
+# Name "TabVC - Win32 Debug"
+# Name "TabVC - Win32 Debug DLL"
+# Name "TabVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\tab.cpp
+
+!IF "$(CFG)" == "TabVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TabVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TabVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TabVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\tab.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tab.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/tab/TabVC.dsw b/samples/tab/TabVC.dsw
new file mode 100644
index 0000000000..d0ac37bd02
--- /dev/null
+++ b/samples/tab/TabVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TabVC"=.\TabVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/taskbar/TaskbarVC.dsp b/samples/taskbar/TaskbarVC.dsp
new file mode 100644
index 0000000000..fe5b104456
--- /dev/null
+++ b/samples/taskbar/TaskbarVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="TaskbarVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TaskbarVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TaskbarVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TaskbarVC.mak" CFG="TaskbarVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TaskbarVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TaskbarVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TaskbarVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TaskbarVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TaskbarVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/tbtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TaskbarVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/tbtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TaskbarVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/tbtest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TaskbarVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/tbtest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TaskbarVC - Win32 Release"
+# Name "TaskbarVC - Win32 Debug"
+# Name "TaskbarVC - Win32 Debug DLL"
+# Name "TaskbarVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\tbtest.cpp
+
+!IF "$(CFG)" == "TaskbarVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TaskbarVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TaskbarVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TaskbarVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\tbtest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tbtest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/taskbar/TaskbarVC.dsw b/samples/taskbar/TaskbarVC.dsw
new file mode 100644
index 0000000000..4e37d472e6
--- /dev/null
+++ b/samples/taskbar/TaskbarVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TaskbarVC"=.\TaskbarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/text/TextVC.dsp b/samples/text/TextVC.dsp
new file mode 100644
index 0000000000..60bdeb86df
--- /dev/null
+++ b/samples/text/TextVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="TextVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TextVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TextVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TextVC.mak" CFG="TextVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TextVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TextVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TextVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TextVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TextVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/text.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TextVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/text.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TextVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/text.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TextVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/text.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TextVC - Win32 Release"
+# Name "TextVC - Win32 Debug"
+# Name "TextVC - Win32 Debug DLL"
+# Name "TextVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\text.cpp
+
+!IF "$(CFG)" == "TextVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TextVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TextVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TextVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\text.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/text/TextVC.dsw b/samples/text/TextVC.dsw
new file mode 100644
index 0000000000..51eda7857f
--- /dev/null
+++ b/samples/text/TextVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TextVC"=.\TextVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/thread/ThreadVC.dsp b/samples/thread/ThreadVC.dsp
new file mode 100644
index 0000000000..7b4cdf420c
--- /dev/null
+++ b/samples/thread/ThreadVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ThreadVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ThreadVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ThreadVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ThreadVC.mak" CFG="ThreadVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ThreadVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ThreadVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ThreadVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ThreadVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ThreadVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/thread.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ThreadVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/thread.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ThreadVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/thread.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ThreadVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/thread.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ThreadVC - Win32 Release"
+# Name "ThreadVC - Win32 Debug"
+# Name "ThreadVC - Win32 Debug DLL"
+# Name "ThreadVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\thread.cpp
+
+!IF "$(CFG)" == "ThreadVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ThreadVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ThreadVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ThreadVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\thread.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/thread/ThreadVC.dsw b/samples/thread/ThreadVC.dsw
new file mode 100644
index 0000000000..5bc10ba49a
--- /dev/null
+++ b/samples/thread/ThreadVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ThreadVC"=.\ThreadVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/thread/makemac.mcp b/samples/thread/makemac.mcp
new file mode 100644
index 0000000000..12218f1b04
Binary files /dev/null and b/samples/thread/makemac.mcp differ
diff --git a/samples/toolbar/ToolbarVC.dsp b/samples/toolbar/ToolbarVC.dsp
new file mode 100644
index 0000000000..743b1d28d4
--- /dev/null
+++ b/samples/toolbar/ToolbarVC.dsp
@@ -0,0 +1,175 @@
+# Microsoft Developer Studio Project File - Name="ToolbarVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ToolbarVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ToolbarVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ToolbarVC.mak" CFG="ToolbarVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ToolbarVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ToolbarVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ToolbarVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ToolbarVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ToolbarVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/toolbar.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ToolbarVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/toolbar.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ToolbarVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/toolbar.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ToolbarVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/toolbar.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ToolbarVC - Win32 Release"
+# Name "ToolbarVC - Win32 Debug"
+# Name "ToolbarVC - Win32 Debug DLL"
+# Name "ToolbarVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\toolbar.cpp
+
+!IF "$(CFG)" == "ToolbarVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ToolbarVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ToolbarVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ToolbarVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\toolbar.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/toolbar/ToolbarVC.dsw b/samples/toolbar/ToolbarVC.dsw
new file mode 100644
index 0000000000..37a469560f
--- /dev/null
+++ b/samples/toolbar/ToolbarVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ToolbarVC"=.\ToolbarVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/treectrl/TreectrlVC.dsp b/samples/treectrl/TreectrlVC.dsp
new file mode 100644
index 0000000000..28329a0d1e
--- /dev/null
+++ b/samples/treectrl/TreectrlVC.dsp
@@ -0,0 +1,197 @@
+# Microsoft Developer Studio Project File - Name="TreectrlVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TreectrlVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TreectrlVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TreectrlVC.mak" CFG="TreectrlVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TreectrlVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TreectrlVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TreectrlVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TreectrlVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TreectrlVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/treetest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/treetest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/treetest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/treetest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TreectrlVC - Win32 Release"
+# Name "TreectrlVC - Win32 Debug"
+# Name "TreectrlVC - Win32 Debug DLL"
+# Name "TreectrlVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\treectrl.cpp
+
+!IF "$(CFG)" == "TreectrlVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Debug DLL"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\treectrl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\treectrl.rc
+
+!IF "$(CFG)" == "TreectrlVC - Win32 Release"
+
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Debug"
+
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /i "../../include" /i "../../contrib/include"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Debug DLL"
+
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+
+!ELSEIF "$(CFG)" == "TreectrlVC - Win32 Release DLL"
+
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
diff --git a/samples/treectrl/TreectrlVC.dsw b/samples/treectrl/TreectrlVC.dsw
new file mode 100644
index 0000000000..c0515aaca2
--- /dev/null
+++ b/samples/treectrl/TreectrlVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TreectrlVC"=.\TreectrlVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/treectrl/bitmaps/file1.bmp b/samples/treectrl/bitmaps/file1.bmp
new file mode 100644
index 0000000000..9a0544b232
Binary files /dev/null and b/samples/treectrl/bitmaps/file1.bmp differ
diff --git a/samples/treectrl/bitmaps/file1.ico b/samples/treectrl/bitmaps/file1.ico
new file mode 100644
index 0000000000..1ee29d83fb
Binary files /dev/null and b/samples/treectrl/bitmaps/file1.ico differ
diff --git a/samples/treectrl/bitmaps/file2.bmp b/samples/treectrl/bitmaps/file2.bmp
new file mode 100644
index 0000000000..e812d6925f
Binary files /dev/null and b/samples/treectrl/bitmaps/file2.bmp differ
diff --git a/samples/treectrl/bitmaps/file2.ico b/samples/treectrl/bitmaps/file2.ico
new file mode 100644
index 0000000000..b1059f953a
Binary files /dev/null and b/samples/treectrl/bitmaps/file2.ico differ
diff --git a/samples/treectrl/bitmaps/folder1.bmp b/samples/treectrl/bitmaps/folder1.bmp
new file mode 100644
index 0000000000..dada286b64
Binary files /dev/null and b/samples/treectrl/bitmaps/folder1.bmp differ
diff --git a/samples/treectrl/bitmaps/folder1.ico b/samples/treectrl/bitmaps/folder1.ico
new file mode 100644
index 0000000000..514257e7d5
Binary files /dev/null and b/samples/treectrl/bitmaps/folder1.ico differ
diff --git a/samples/treectrl/bitmaps/folder2.bmp b/samples/treectrl/bitmaps/folder2.bmp
new file mode 100644
index 0000000000..35fedba962
Binary files /dev/null and b/samples/treectrl/bitmaps/folder2.bmp differ
diff --git a/samples/treectrl/bitmaps/folder2.ico b/samples/treectrl/bitmaps/folder2.ico
new file mode 100644
index 0000000000..15f47103f5
Binary files /dev/null and b/samples/treectrl/bitmaps/folder2.ico differ
diff --git a/samples/treectrl/bitmaps/folder3.bmp b/samples/treectrl/bitmaps/folder3.bmp
new file mode 100644
index 0000000000..dfc3c4fb8c
Binary files /dev/null and b/samples/treectrl/bitmaps/folder3.bmp differ
diff --git a/samples/treectrl/bitmaps/folder3.ico b/samples/treectrl/bitmaps/folder3.ico
new file mode 100644
index 0000000000..1ed6ff9737
Binary files /dev/null and b/samples/treectrl/bitmaps/folder3.ico differ
diff --git a/samples/treectrl/treectrl.cpp b/samples/treectrl/treectrl.cpp
new file mode 100644
index 0000000000..e04b74f314
--- /dev/null
+++ b/samples/treectrl/treectrl.cpp
@@ -0,0 +1,872 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: treectrl.cpp
+// Purpose: wxTreeCtrl sample
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// important: the #pragma argument must be different from treectrl.cpp,
+// otherwise gcc gets confused (as there is also treectrl.cpp in the library
+// which has identical #pragma) and the sample crashes on startup!
+#ifdef __GNUG__
+ #pragma interface "treetest.cpp"
+ #pragma implementation "treetest.cpp"
+#endif
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+ #include "wx/wx.h"
+#endif
+
+#include "wx/log.h"
+
+#include "wx/image.h"
+#include "wx/imaglist.h"
+#include "wx/treectrl.h"
+
+#include "math.h"
+
+#ifdef __WIN32__
+ // this is not supported by native control
+ #define NO_VARIABLE_HEIGHT
+#endif
+
+#include "treectrl.h"
+
+// under Windows the icons are in the .rc file
+#ifndef __WXMSW__
+ #include "icon1.xpm"
+ #include "icon2.xpm"
+ #include "icon3.xpm"
+ #include "icon4.xpm"
+ #include "icon5.xpm"
+ #include "mondrian.xpm"
+#endif
+
+// verify that the item is ok and insult the user if it is not
+#define CHECK_ITEM( item ) if ( !item.IsOk() ) { \
+ wxMessageBox("Please select some item first!", \
+ "Tree sample error", \
+ wxOK | wxICON_EXCLAMATION, \
+ this); \
+ return; \
+ }
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+ EVT_SIZE(MyFrame::OnSize)
+
+ EVT_MENU(TreeTest_Quit, MyFrame::OnQuit)
+ EVT_MENU(TreeTest_About, MyFrame::OnAbout)
+ EVT_MENU(TreeTest_Dump, MyFrame::OnDump)
+#ifndef NO_MULTIPLE_SELECTION
+ EVT_MENU(TreeTest_DumpSelected, MyFrame::OnDumpSelected)
+ EVT_MENU(TreeTest_Select, MyFrame::OnSelect)
+ EVT_MENU(TreeTest_Unselect, MyFrame::OnUnselect)
+ EVT_MENU(TreeTest_ToggleSel, MyFrame::OnToggleSel)
+#endif // NO_MULTIPLE_SELECTION
+ EVT_MENU(TreeTest_Rename, MyFrame::OnRename)
+ EVT_MENU(TreeTest_Count, MyFrame::OnCount)
+ EVT_MENU(TreeTest_CountRec, MyFrame::OnCountRec)
+ EVT_MENU(TreeTest_Sort, MyFrame::OnSort)
+ EVT_MENU(TreeTest_SortRev, MyFrame::OnSortRev)
+ EVT_MENU(TreeTest_Bold, MyFrame::OnSetBold)
+ EVT_MENU(TreeTest_UnBold, MyFrame::OnClearBold)
+ EVT_MENU(TreeTest_Delete, MyFrame::OnDelete)
+ EVT_MENU(TreeTest_DeleteChildren, MyFrame::OnDeleteChildren)
+ EVT_MENU(TreeTest_DeleteAll, MyFrame::OnDeleteAll)
+ EVT_MENU(TreeTest_Recreate, MyFrame::OnRecreate)
+ EVT_MENU(TreeTest_ToggleImages, MyFrame::OnToggleImages)
+ EVT_MENU(TreeTest_SetImageSize, MyFrame::OnSetImageSize)
+ EVT_MENU(TreeTest_CollapseAndReset, MyFrame::OnCollapseAndReset)
+ EVT_MENU(TreeTest_EnsureVisible, MyFrame::OnEnsureVisible)
+ EVT_MENU(TreeTest_AddItem, MyFrame::OnAddItem)
+ EVT_MENU(TreeTest_InsertItem, MyFrame::OnInsertItem)
+ EVT_MENU(TreeTest_IncIndent, MyFrame::OnIncIndent)
+ EVT_MENU(TreeTest_DecIndent, MyFrame::OnDecIndent)
+ EVT_MENU(TreeTest_IncSpacing, MyFrame::OnIncSpacing)
+ EVT_MENU(TreeTest_DecSpacing, MyFrame::OnDecSpacing)
+ EVT_MENU(TreeTest_ToggleIcon, MyFrame::OnToggleIcon)
+END_EVENT_TABLE()
+
+#if USE_GENERIC_TREECTRL
+BEGIN_EVENT_TABLE(MyTreeCtrl, wxGenericTreeCtrl)
+#else
+BEGIN_EVENT_TABLE(MyTreeCtrl, wxTreeCtrl)
+#endif
+ EVT_TREE_BEGIN_DRAG(TreeTest_Ctrl, MyTreeCtrl::OnBeginDrag)
+ EVT_TREE_BEGIN_RDRAG(TreeTest_Ctrl, MyTreeCtrl::OnBeginRDrag)
+ EVT_TREE_END_DRAG(TreeTest_Ctrl, MyTreeCtrl::OnEndDrag)
+ EVT_TREE_BEGIN_LABEL_EDIT(TreeTest_Ctrl, MyTreeCtrl::OnBeginLabelEdit)
+ EVT_TREE_END_LABEL_EDIT(TreeTest_Ctrl, MyTreeCtrl::OnEndLabelEdit)
+ EVT_TREE_DELETE_ITEM(TreeTest_Ctrl, MyTreeCtrl::OnDeleteItem)
+#if 0 // there are so many of those that logging them causes flicker
+ EVT_TREE_GET_INFO(TreeTest_Ctrl, MyTreeCtrl::OnGetInfo)
+#endif
+ EVT_TREE_SET_INFO(TreeTest_Ctrl, MyTreeCtrl::OnSetInfo)
+ EVT_TREE_ITEM_EXPANDED(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanded)
+ EVT_TREE_ITEM_EXPANDING(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanding)
+ EVT_TREE_ITEM_COLLAPSED(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsed)
+ EVT_TREE_ITEM_COLLAPSING(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsing)
+ EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
+ EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
+ EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
+ EVT_TREE_ITEM_ACTIVATED(TreeTest_Ctrl, MyTreeCtrl::OnItemActivated)
+ EVT_RIGHT_DCLICK(MyTreeCtrl::OnRMouseDClick)
+END_EVENT_TABLE()
+
+IMPLEMENT_APP(MyApp)
+
+bool MyApp::OnInit()
+{
+ // Create the main frame window
+ MyFrame *frame = new MyFrame("wxTreeCtrl Test", 50, 50, 450, 600);
+
+ // Show the frame
+ frame->Show(TRUE);
+ SetTopWindow(frame);
+
+ return TRUE;
+}
+
+
+// My frame constructor
+MyFrame::MyFrame(const wxString& title, int x, int y, int w, int h)
+ : wxFrame((wxFrame *)NULL, -1, title, wxPoint(x, y), wxSize(w, h)),
+ m_treeCtrl(NULL), m_textCtrl(NULL)
+{
+ // This reduces flicker effects - even better would be to define
+ // OnEraseBackground to do nothing. When the tree control's scrollbars are
+ // show or hidden, the frame is sent a background erase event.
+ SetBackgroundColour(wxColour(255, 255, 255));
+
+ // Give it an icon
+ SetIcon(wxICON(mondrian));
+
+ // Make a menubar
+ wxMenu *file_menu = new wxMenu,
+ *tree_menu = new wxMenu,
+ *item_menu = new wxMenu;
+
+ file_menu->Append(TreeTest_About, "&About...");
+ file_menu->AppendSeparator();
+ file_menu->Append(TreeTest_Quit, "E&xit\tAlt-X");
+
+#ifndef NO_MULTIPLE_SELECTION
+ tree_menu->Append(TreeTest_ToggleSel, "&Toggle selection mode");
+#endif // NO_MULTIPLE_SELECTION
+ tree_menu->Append(TreeTest_ToggleImages, "&Show images", "", TRUE);
+ tree_menu->Append(TreeTest_SetImageSize, "Set image si&ze...");
+ tree_menu->Append(TreeTest_Recreate, "&Recreate the tree");
+ tree_menu->Append(TreeTest_CollapseAndReset, "C&ollapse and reset");
+ tree_menu->AppendSeparator();
+ tree_menu->Append(TreeTest_AddItem, "Append a &new item");
+ tree_menu->Append(TreeTest_InsertItem, "&Insert a new item");
+ tree_menu->Append(TreeTest_Delete, "&Delete this item");
+ tree_menu->Append(TreeTest_DeleteChildren, "Delete &children");
+ tree_menu->Append(TreeTest_DeleteAll, "Delete &all items");
+ tree_menu->AppendSeparator();
+ tree_menu->Append(TreeTest_Count, "Count children of current item");
+ tree_menu->Append(TreeTest_CountRec, "Recursively count children of current item");
+ tree_menu->AppendSeparator();
+ tree_menu->Append(TreeTest_Sort, "Sort children of current item");
+ tree_menu->Append(TreeTest_SortRev, "Sort in reversed order");
+ tree_menu->AppendSeparator();
+ tree_menu->Append(TreeTest_EnsureVisible, "Make the last item &visible");
+ tree_menu->AppendSeparator();
+ tree_menu->Append(TreeTest_IncIndent, "Add 5 points to indentation\tAlt-I");
+ tree_menu->Append(TreeTest_DecIndent, "Reduce indentation by 5 points\tAlt-R");
+ tree_menu->AppendSeparator();
+ tree_menu->Append(TreeTest_IncSpacing, "Add 5 points to spacing\tCtrl-I");
+ tree_menu->Append(TreeTest_DecSpacing, "Reduce spacing by 5 points\tCtrl-R");
+
+ item_menu->Append(TreeTest_Dump, "&Dump item children");
+ item_menu->Append(TreeTest_Rename, "&Rename item...");
+
+ item_menu->AppendSeparator();
+ item_menu->Append(TreeTest_Bold, "Make item &bold");
+ item_menu->Append(TreeTest_UnBold, "Make item ¬ bold");
+ item_menu->AppendSeparator();
+ item_menu->Append(TreeTest_ToggleIcon, "Toggle the items &icon");
+
+#ifndef NO_MULTIPLE_SELECTION
+ item_menu->AppendSeparator();
+ item_menu->Append(TreeTest_DumpSelected, "Dump selected items\tAlt-D");
+ item_menu->Append(TreeTest_Select, "Select current item\tAlt-S");
+ item_menu->Append(TreeTest_Unselect, "Unselect everything\tAlt-U");
+#endif // NO_MULTIPLE_SELECTION
+
+ wxMenuBar *menu_bar = new wxMenuBar;
+ menu_bar->Append(file_menu, "&File");
+ menu_bar->Append(tree_menu, "&Tree");
+ menu_bar->Append(item_menu, "&Item");
+ SetMenuBar(menu_bar);
+
+ menu_bar->Check(TreeTest_ToggleImages, TRUE);
+
+ m_treeCtrl = new MyTreeCtrl(this, TreeTest_Ctrl,
+ wxDefaultPosition, wxDefaultSize,
+ wxTR_HAS_BUTTONS | // wxTR_NO_LINES |
+ wxTR_EDIT_LABELS |
+#ifndef NO_VARIABLE_HEIGHT
+ wxTR_HAS_VARIABLE_ROW_HEIGHT |
+#endif
+ wxSUNKEN_BORDER);
+
+ m_treeCtrl->SetBackgroundColour(wxColour(204, 205, 79));
+
+ m_textCtrl = new wxTextCtrl(this, -1, "",
+ wxDefaultPosition, wxDefaultSize,
+ wxTE_MULTILINE | wxSUNKEN_BORDER);
+
+ // create a status bar with 3 panes
+ CreateStatusBar(3);
+ SetStatusText("", 0);
+
+#ifdef __WXMOTIF__
+ // For some reason, we get a memcpy crash in wxLogStream::DoLogStream
+ // on gcc/wxMotif, if we use wxLogTextCtl. Maybe it's just gcc?
+ delete wxLog::SetActiveTarget(new wxLogStderr);
+#else
+ // set our text control as the log target
+ wxLogTextCtrl *logWindow = new wxLogTextCtrl(m_textCtrl);
+ delete wxLog::SetActiveTarget(logWindow);
+#endif
+}
+
+MyFrame::~MyFrame()
+{
+ delete wxLog::SetActiveTarget(NULL);
+}
+
+void MyFrame::OnSize(wxSizeEvent& event)
+{
+ if ( m_treeCtrl && m_textCtrl )
+ {
+ Resize(GetClientSize());
+ }
+
+ event.Skip();
+}
+
+void MyFrame::Resize(const wxSize& size)
+{
+ m_treeCtrl->SetSize(0, 0, size.x, 2*size.y/3);
+ m_textCtrl->SetSize(0, 2*size.y/3, size.x, size.y/3);
+}
+
+void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
+{
+ Close(TRUE);
+}
+
+void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
+{
+ wxMessageBox("Tree test sample\n"
+ "(c) Julian Smart 1997, Vadim Zeitlin 1998",
+ "About tree test",
+ wxOK | wxICON_INFORMATION, this);
+}
+
+void MyFrame::OnRename(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ // old code - now we edit in place
+#if 0
+ static wxString s_text;
+ s_text = wxGetTextFromUser("New name: ", "Tree sample question",
+ s_text, this);
+ if ( !s_text.IsEmpty() )
+ {
+ m_treeCtrl->SetItemText(item, s_text);
+ }
+#endif // 0
+
+ // TODO demonstrate creating a custom edit control...
+ (void)m_treeCtrl->EditLabel(item);
+}
+
+void MyFrame::OnCount(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ int i = m_treeCtrl->GetChildrenCount( item, FALSE );
+
+ wxLogMessage(wxT("%d children"), i);
+}
+
+void MyFrame::OnCountRec(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ int i = m_treeCtrl->GetChildrenCount( item );
+
+ wxLogMessage(wxT("%d children"), i);
+}
+
+void MyFrame::DoSort(bool reverse)
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ m_treeCtrl->DoSortChildren(item, reverse);
+}
+
+void MyFrame::OnDump(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId root = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( root );
+
+ m_treeCtrl->GetItemsRecursively(root, -1);
+}
+
+#ifndef NO_MULTIPLE_SELECTION
+
+void MyFrame::OnToggleSel(wxCommandEvent& WXUNUSED(event))
+{
+ long style = m_treeCtrl->GetWindowStyle();
+ if ( style & wxTR_MULTIPLE )
+ style &= ~wxTR_MULTIPLE;
+ else
+ style |= wxTR_MULTIPLE;
+
+ delete m_treeCtrl;
+
+ m_treeCtrl = new MyTreeCtrl(this, TreeTest_Ctrl,
+ wxDefaultPosition, wxDefaultSize,
+ style);
+ Resize(GetClientSize());
+}
+
+void MyFrame::OnDumpSelected(wxCommandEvent& WXUNUSED(event))
+{
+ wxArrayTreeItemIds array;
+
+ size_t count = m_treeCtrl->GetSelections(array);
+ wxLogMessage(wxT("%u items selected"), count);
+
+ for ( size_t n = 0; n < count; n++ )
+ {
+ wxLogMessage("\t%s", m_treeCtrl->GetItemText(array.Item(n)).c_str());
+ }
+}
+
+void MyFrame::OnSelect(wxCommandEvent& event)
+{
+ m_treeCtrl->SelectItem(m_treeCtrl->GetSelection());
+}
+
+void MyFrame::OnUnselect(wxCommandEvent& event)
+{
+ m_treeCtrl->UnselectAll();
+}
+
+#endif // NO_MULTIPLE_SELECTION
+
+void MyFrame::DoSetBold(bool bold)
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ m_treeCtrl->SetItemBold(item, bold);
+}
+
+void MyFrame::OnDelete(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ m_treeCtrl->Delete(item);
+}
+
+void MyFrame::OnDeleteChildren(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ m_treeCtrl->DeleteChildren(item);
+}
+
+void MyFrame::OnDeleteAll(wxCommandEvent& WXUNUSED(event))
+{
+ m_treeCtrl->DeleteAllItems();
+}
+
+void MyFrame::OnRecreate(wxCommandEvent& event)
+{
+ OnDeleteAll(event);
+ m_treeCtrl->AddTestItemsToTree(3, 2);
+}
+
+void MyFrame::OnSetImageSize(wxCommandEvent& event)
+{
+ long size = wxGetNumberFromUser("Enter the size for the images to use",
+ "Size: ",
+ "TreeCtrl sample",
+ 16);
+ if ( size == -1 )
+ return;
+
+ m_treeCtrl->CreateImageList((int)size);
+
+ OnRecreate(event);
+}
+
+void MyFrame::OnToggleImages(wxCommandEvent& event)
+{
+ if ( wxGetApp().ShowImages() )
+ {
+ m_treeCtrl->CreateImageList(-1);
+
+ wxGetApp().SetShowImages(FALSE);
+ }
+ else
+ {
+ m_treeCtrl->CreateImageList();
+
+ wxGetApp().SetShowImages(TRUE);
+ }
+
+ OnRecreate(event);
+}
+
+void MyFrame::OnCollapseAndReset(wxCommandEvent& event)
+{
+ m_treeCtrl->CollapseAndReset(m_treeCtrl->GetRootItem());
+}
+
+void MyFrame::OnEnsureVisible(wxCommandEvent& event)
+{
+ m_treeCtrl->DoEnsureVisible();
+}
+
+void MyFrame::OnInsertItem(wxCommandEvent& WXUNUSED(event))
+{
+ int image = wxGetApp().ShowImages() ? MyTreeCtrl::TreeCtrlIcon_File : -1;
+ m_treeCtrl->InsertItem(m_treeCtrl->GetRootItem(), image, "2nd item");
+}
+
+void MyFrame::OnAddItem(wxCommandEvent& WXUNUSED(event))
+{
+ static int s_num = 0;
+
+ wxString text;
+ text.Printf("Item #%d", ++s_num);
+
+ m_treeCtrl->AppendItem(m_treeCtrl->GetRootItem(),
+ text /*,
+ MyTreeCtrl::TreeCtrlIcon_File */ );
+}
+
+void MyFrame::OnIncIndent(wxCommandEvent& WXUNUSED(event))
+{
+ unsigned int indent = m_treeCtrl->GetIndent();
+ if (indent < 100)
+ m_treeCtrl->SetIndent( indent+5 );
+}
+
+void MyFrame::OnDecIndent(wxCommandEvent& WXUNUSED(event))
+{
+ unsigned int indent = m_treeCtrl->GetIndent();
+ if (indent > 10)
+ m_treeCtrl->SetIndent( indent-5 );
+}
+
+void MyFrame::OnIncSpacing(wxCommandEvent& WXUNUSED(event))
+{
+ unsigned int indent = m_treeCtrl->GetSpacing();
+ if (indent < 100)
+ m_treeCtrl->SetSpacing( indent+5 );
+}
+
+void MyFrame::OnDecSpacing(wxCommandEvent& WXUNUSED(event))
+{
+ unsigned int indent = m_treeCtrl->GetSpacing();
+ if (indent > 10)
+ m_treeCtrl->SetSpacing( indent-5 );
+}
+
+void MyFrame::OnToggleIcon(wxCommandEvent& WXUNUSED(event))
+{
+ wxTreeItemId item = m_treeCtrl->GetSelection();
+
+ CHECK_ITEM( item );
+
+ m_treeCtrl->DoToggleIcon(item);
+}
+
+// MyTreeCtrl implementation
+#if USE_GENERIC_TREECTRL
+IMPLEMENT_DYNAMIC_CLASS(MyTreeCtrl, wxGenericTreeCtrl)
+#else
+IMPLEMENT_DYNAMIC_CLASS(MyTreeCtrl, wxTreeCtrl)
+#endif
+
+MyTreeCtrl::MyTreeCtrl(wxWindow *parent, const wxWindowID id,
+ const wxPoint& pos, const wxSize& size,
+ long style)
+ : wxTreeCtrl(parent, id, pos, size, style)
+{
+ m_reverseSort = FALSE;
+ m_imageListNormal = NULL;
+
+ CreateImageList();
+
+ // Add some items to the tree
+ AddTestItemsToTree(3, 2);
+}
+
+void MyTreeCtrl::CreateImageList(int size)
+{
+ delete m_imageListNormal;
+
+ if ( size == -1 )
+ {
+ m_imageListNormal = NULL;
+ }
+ else
+ {
+ // Make an image list containing small icons
+ m_imageListNormal = new wxImageList(size, size, TRUE);
+
+ // should correspond to TreeCtrlIcon_xxx enum
+#if defined(__WXMSW__) && defined(__WIN16__)
+ m_imageListNormal->Add(wxBitmap("bitmap1", wxBITMAP_TYPE_BMP_RESOURCE));
+ m_imageListNormal->Add(wxBitmap("bitmap2", wxBITMAP_TYPE_BMP_RESOURCE));
+ m_imageListNormal->Add(wxBitmap("bitmap3", wxBITMAP_TYPE_BMP_RESOURCE));
+ m_imageListNormal->Add(wxBitmap("bitmap4", wxBITMAP_TYPE_BMP_RESOURCE));
+ m_imageListNormal->Add(wxBitmap("bitmap5", wxBITMAP_TYPE_BMP_RESOURCE));
+#else // !MSW
+ wxIcon icons[5];
+ icons[0] = wxICON(icon1);
+ icons[1] = wxICON(icon2);
+ icons[2] = wxICON(icon3);
+ icons[3] = wxICON(icon4);
+ icons[4] = wxICON(icon5);
+
+ int sizeOrig = icons[0].GetWidth();
+ for ( size_t i = 0; i < WXSIZEOF(icons); i++ )
+ {
+ if ( size == sizeOrig )
+ {
+ m_imageListNormal->Add(icons[i]);
+ }
+ else
+ {
+ m_imageListNormal->Add(wxImage(icons[i]).Rescale(size, size).
+ ConvertToBitmap());
+ }
+ }
+#endif // MSW/!MSW
+ }
+
+ SetImageList(m_imageListNormal);
+}
+
+MyTreeCtrl::~MyTreeCtrl()
+{
+ delete m_imageListNormal;
+}
+
+int MyTreeCtrl::OnCompareItems(const wxTreeItemId& item1,
+ const wxTreeItemId& item2)
+{
+ if ( m_reverseSort )
+ {
+ // just exchange 1st and 2nd items
+ return wxTreeCtrl::OnCompareItems(item2, item1);
+ }
+ else
+ {
+ return wxTreeCtrl::OnCompareItems(item1, item2);
+ }
+}
+
+void MyTreeCtrl::AddItemsRecursively(const wxTreeItemId& idParent,
+ size_t numChildren,
+ size_t depth,
+ size_t folder)
+{
+ if ( depth > 0 )
+ {
+ bool hasChildren = depth > 1;
+
+ wxString str;
+ for ( size_t n = 0; n < numChildren; n++ )
+ {
+ // at depth 1 elements won't have any more children
+ if ( hasChildren )
+ str.Printf("%s child %d", "Folder", n + 1);
+ else
+ str.Printf("%s child %d.%d", "File", folder, n + 1);
+
+ // here we pass to AppendItem() normal and selected item images (we
+ // suppose that selected image follows the normal one in the enum)
+ int image, imageSel;
+ if ( wxGetApp().ShowImages() )
+ {
+ image = depth == 1 ? TreeCtrlIcon_File : TreeCtrlIcon_Folder;
+ imageSel = image + 1;
+ }
+ else
+ {
+ image = imageSel = -1;
+ }
+ wxTreeItemId id = AppendItem(idParent, str, image, imageSel,
+ new MyTreeItemData(str));
+
+ // and now we also set the expanded one (only for the folders)
+ if ( hasChildren && wxGetApp().ShowImages() )
+ {
+ SetItemImage(id, TreeCtrlIcon_FolderOpened,
+ wxTreeItemIcon_Expanded);
+ }
+
+ // remember the last child for OnEnsureVisible()
+ if ( !hasChildren && n == numChildren - 1 )
+ {
+ m_lastItem = id;
+ }
+
+ AddItemsRecursively(id, numChildren, depth - 1, n + 1);
+ }
+ }
+ //else: done!
+}
+
+void MyTreeCtrl::AddTestItemsToTree(size_t numChildren,
+ size_t depth)
+{
+ int image = wxGetApp().ShowImages() ? MyTreeCtrl::TreeCtrlIcon_Folder : -1;
+ wxTreeItemId rootId = AddRoot("Root",
+ image, image,
+ new MyTreeItemData("Root item"));
+ if ( image != -1 )
+ {
+ SetItemImage(rootId, TreeCtrlIcon_FolderOpened, wxTreeItemIcon_Expanded);
+ }
+
+ AddItemsRecursively(rootId, numChildren, depth, 0);
+
+ // set some colours/fonts for testing
+ SetItemFont(rootId, *wxITALIC_FONT);
+
+ long cookie;
+ wxTreeItemId id = GetFirstChild(rootId, cookie);
+ SetItemTextColour(id, *wxBLUE);
+
+ id = GetNextChild(rootId, cookie);
+ id = GetNextChild(rootId, cookie);
+ SetItemTextColour(id, *wxRED);
+ SetItemBackgroundColour(id, *wxLIGHT_GREY);
+}
+
+void MyTreeCtrl::GetItemsRecursively(const wxTreeItemId& idParent, long cookie)
+{
+ wxTreeItemId id;
+
+ if( cookie == -1 )
+ id = GetFirstChild(idParent, cookie);
+ else
+ id = GetNextChild(idParent, cookie);
+
+ if(id <= 0)
+ return;
+
+ wxString text = GetItemText(id);
+ wxLogMessage(text);
+
+ if (ItemHasChildren(id))
+ GetItemsRecursively(id,-1);
+
+ GetItemsRecursively(idParent, cookie);
+}
+
+void MyTreeCtrl::DoToggleIcon(const wxTreeItemId& item)
+{
+ int image = GetItemImage(item) == TreeCtrlIcon_Folder ? TreeCtrlIcon_File
+ : TreeCtrlIcon_Folder;
+
+ SetItemImage(item, image);
+}
+
+
+// avoid repetition
+#define TREE_EVENT_HANDLER(name) \
+void MyTreeCtrl::name(wxTreeEvent& event) \
+{ \
+ wxLogMessage(#name); \
+ event.Skip(); \
+}
+
+TREE_EVENT_HANDLER(OnBeginRDrag)
+TREE_EVENT_HANDLER(OnDeleteItem)
+TREE_EVENT_HANDLER(OnGetInfo)
+TREE_EVENT_HANDLER(OnSetInfo)
+TREE_EVENT_HANDLER(OnItemExpanded)
+TREE_EVENT_HANDLER(OnItemExpanding)
+TREE_EVENT_HANDLER(OnItemCollapsed)
+TREE_EVENT_HANDLER(OnSelChanged)
+TREE_EVENT_HANDLER(OnSelChanging)
+TREE_EVENT_HANDLER(OnTreeKeyDown)
+
+#undef TREE_EVENT_HANDLER
+
+void MyTreeCtrl::OnBeginDrag(wxTreeEvent& event)
+{
+ // need to explicitly allow drag
+ if ( event.GetItem() != GetRootItem() )
+ {
+ m_draggedItem = event.GetItem();
+
+ wxLogMessage("OnBeginDrag: started dragging %s",
+ GetItemText(m_draggedItem).c_str());
+
+ event.Allow();
+ }
+ else
+ {
+ wxLogMessage("OnBeginDrag: this item can't be dragged.");
+ }
+}
+
+void MyTreeCtrl::OnEndDrag(wxTreeEvent& event)
+{
+ wxTreeItemId itemSrc = m_draggedItem,
+ itemDst = event.GetItem();
+ m_draggedItem = (wxTreeItemId)0l;
+
+ // where to copy the item?
+ if ( itemDst.IsOk() && !ItemHasChildren(itemDst) )
+ {
+ // copy to the parent then
+ itemDst = GetParent(itemDst);
+ }
+
+ if ( !itemDst.IsOk() )
+ {
+ wxLogMessage("OnEndDrag: can't drop here.");
+
+ return;
+ }
+
+ wxString text = GetItemText(itemSrc);
+ wxLogMessage("OnEndDrag: '%s' copied to '%s'.",
+ text.c_str(), GetItemText(itemDst).c_str());
+
+ // just do append here - we could also insert it just before/after the item
+ // on which it was dropped, but this requires slightly more work... we also
+ // completely ignore the client data and icon of the old item but could
+ // copy them as well.
+ //
+ // Finally, we only copy one item here but we might copy the entire tree if
+ // we were dragging a folder.
+ int image = wxGetApp().ShowImages() ? TreeCtrlIcon_File : -1;
+ AppendItem(itemDst, text, image);
+}
+
+void MyTreeCtrl::OnBeginLabelEdit(wxTreeEvent& event)
+{
+ wxLogMessage("OnBeginLabelEdit");
+
+ // for testing, prevent this items label editing
+ wxTreeItemId itemId = event.GetItem();
+ if ( IsTestItem(itemId) )
+ {
+ wxMessageBox("You can't edit this item.");
+
+ event.Veto();
+ }
+}
+
+void MyTreeCtrl::OnEndLabelEdit(wxTreeEvent& event)
+{
+ wxLogMessage("OnEndLabelEdit");
+
+ // don't allow anything except letters in the labels
+ if ( !event.GetLabel().IsWord() )
+ {
+ wxMessageBox("The label should contain only letters.");
+
+ event.Veto();
+ }
+}
+
+void MyTreeCtrl::OnItemCollapsing(wxTreeEvent& event)
+{
+ wxLogMessage("OnItemCollapsing");
+
+ // for testing, prevent the user from collapsing the first child folder
+ wxTreeItemId itemId = event.GetItem();
+ if ( IsTestItem(itemId) )
+ {
+ wxMessageBox("You can't collapse this item.");
+
+ event.Veto();
+ }
+}
+
+void MyTreeCtrl::OnItemActivated(wxTreeEvent& event)
+{
+ // show some info about this item
+ wxTreeItemId itemId = event.GetItem();
+ MyTreeItemData *item = (MyTreeItemData *)GetItemData(itemId);
+
+ if ( item != NULL )
+ {
+ item->ShowInfo(this);
+ }
+
+ wxLogMessage("OnItemActivated");
+}
+
+void MyTreeCtrl::OnRMouseDClick(wxMouseEvent& event)
+{
+ wxTreeItemId id = HitTest(event.GetPosition());
+ if ( !id )
+ wxLogMessage("No item under mouse");
+ else
+ {
+ MyTreeItemData *item = (MyTreeItemData *)GetItemData(id);
+ if ( item )
+ wxLogMessage("Item '%s' under mouse", item->GetDesc());
+ }
+}
+
+static inline const char *Bool2String(bool b)
+{
+ return b ? "" : "not ";
+}
+
+void MyTreeItemData::ShowInfo(wxTreeCtrl *tree)
+{
+ wxLogMessage("Item '%s': %sselected, %sexpanded, %sbold,\n"
+ "%u children (%u immediately under this item).",
+ m_desc.c_str(),
+ Bool2String(tree->IsSelected(GetId())),
+ Bool2String(tree->IsExpanded(GetId())),
+ Bool2String(tree->IsBold(GetId())),
+ tree->GetChildrenCount(GetId()),
+ tree->GetChildrenCount(GetId(), FALSE));
+}
diff --git a/samples/treectrl/treectrl.def b/samples/treectrl/treectrl.def
new file mode 100644
index 0000000000..714586eb59
--- /dev/null
+++ b/samples/treectrl/treectrl.def
@@ -0,0 +1,8 @@
+NAME TreeCtrl
+DESCRIPTION 'TreeCtrl wxWindows application'
+EXETYPE WINDOWS
+STUB 'WINSTUB.EXE'
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE 1024
+STACKSIZE 8192
diff --git a/samples/treectrl/treectrl.h b/samples/treectrl/treectrl.h
new file mode 100644
index 0000000000..fc3d5931b3
--- /dev/null
+++ b/samples/treectrl/treectrl.h
@@ -0,0 +1,225 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: treectrl.h
+// Purpose: wxTreeCtrl sample
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#define USE_GENERIC_TREECTRL 0
+
+#if USE_GENERIC_TREECTRL
+#include "wx/generic/treectlg.h"
+#ifndef wxTreeCtrl
+#define wxTreeCtrl wxGenericTreeCtrl
+#define sm_classwxTreeCtrl sm_classwxGenericTreeCtrl
+#endif
+#endif
+
+// Define a new application type
+class MyApp : public wxApp
+{
+public:
+ MyApp() { m_showImages = TRUE; }
+
+ bool OnInit();
+
+ void SetShowImages(bool show) { m_showImages = show; }
+ bool ShowImages() const { return m_showImages; }
+
+private:
+ bool m_showImages;
+};
+
+class MyTreeItemData : public wxTreeItemData
+{
+public:
+ MyTreeItemData(const wxString& desc) : m_desc(desc) { }
+
+ void ShowInfo(wxTreeCtrl *tree);
+ const char *GetDesc() const { return m_desc.c_str(); }
+
+private:
+ wxString m_desc;
+};
+
+class MyTreeCtrl : public wxTreeCtrl
+{
+public:
+ enum
+ {
+ TreeCtrlIcon_File,
+ TreeCtrlIcon_FileSelected,
+ TreeCtrlIcon_Folder,
+ TreeCtrlIcon_FolderSelected,
+ TreeCtrlIcon_FolderOpened
+ };
+
+ MyTreeCtrl() { }
+ MyTreeCtrl(wxWindow *parent, const wxWindowID id,
+ const wxPoint& pos, const wxSize& size,
+ long style);
+ virtual ~MyTreeCtrl();
+
+ void OnBeginDrag(wxTreeEvent& event);
+ void OnBeginRDrag(wxTreeEvent& event);
+ void OnEndDrag(wxTreeEvent& event);
+ void OnBeginLabelEdit(wxTreeEvent& event);
+ void OnEndLabelEdit(wxTreeEvent& event);
+ void OnDeleteItem(wxTreeEvent& event);
+ void OnGetInfo(wxTreeEvent& event);
+ void OnSetInfo(wxTreeEvent& event);
+ void OnItemExpanded(wxTreeEvent& event);
+ void OnItemExpanding(wxTreeEvent& event);
+ void OnItemCollapsed(wxTreeEvent& event);
+ void OnItemCollapsing(wxTreeEvent& event);
+ void OnSelChanged(wxTreeEvent& event);
+ void OnSelChanging(wxTreeEvent& event);
+ void OnTreeKeyDown(wxTreeEvent& event);
+ void OnItemActivated(wxTreeEvent& event);
+ void OnRMouseDClick(wxMouseEvent& event);
+
+ void GetItemsRecursively(const wxTreeItemId& idParent, long cookie);
+
+ void CreateImageList(int size = 16);
+
+ void AddTestItemsToTree(size_t numChildren, size_t depth);
+
+ void DoSortChildren(const wxTreeItemId& item, bool reverse = FALSE)
+ { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); }
+ void DoEnsureVisible() { EnsureVisible(m_lastItem); }
+
+ void DoToggleIcon(const wxTreeItemId& item);
+
+protected:
+ virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);
+
+ // is this the test item which we use in several event handlers?
+ bool IsTestItem(const wxTreeItemId& item)
+ {
+ // the test item is the first child folder
+ return GetParent(item) == GetRootItem() && !GetPrevSibling(item);
+ }
+
+private:
+ void AddItemsRecursively(const wxTreeItemId& idParent,
+ size_t nChildren,
+ size_t depth,
+ size_t folder);
+
+ wxImageList *m_imageListNormal;
+ bool m_reverseSort; // flag for OnCompareItems
+ wxTreeItemId m_lastItem, // for OnEnsureVisible()
+ m_draggedItem; // item being dragged right now
+
+ // NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS()
+ // if you want your overloaded OnCompareItems() to be called.
+ // OTOH, if you don't want it you may omit the next line - this will
+ // make default (alphabetical) sorting much faster under wxMSW.
+ DECLARE_DYNAMIC_CLASS(MyTreeCtrl)
+ DECLARE_EVENT_TABLE()
+};
+
+// Define a new frame type
+class MyFrame: public wxFrame
+{
+public:
+ // ctor and dtor
+ MyFrame(const wxString& title, int x, int y, int w, int h);
+ virtual ~MyFrame();
+
+ // menu callbacks
+ void OnQuit(wxCommandEvent& event);
+ void OnAbout(wxCommandEvent& event);
+
+ void OnDump(wxCommandEvent& event);
+#ifndef NO_MULTIPLE_SELECTION
+ void OnDumpSelected(wxCommandEvent& event);
+ void OnSelect(wxCommandEvent& event);
+ void OnUnselect(wxCommandEvent& event);
+ void OnToggleSel(wxCommandEvent& event);
+#endif // NO_MULTIPLE_SELECTION
+ void OnDelete(wxCommandEvent& event);
+ void OnDeleteChildren(wxCommandEvent& event);
+ void OnDeleteAll(wxCommandEvent& event);
+
+ void OnRecreate(wxCommandEvent& event);
+ void OnToggleImages(wxCommandEvent& event);
+ void OnSetImageSize(wxCommandEvent& event);
+ void OnCollapseAndReset(wxCommandEvent& event);
+
+ void OnSetBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(TRUE); }
+ void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(FALSE); }
+
+ void OnEnsureVisible(wxCommandEvent& event);
+
+ void OnCount(wxCommandEvent& event);
+ void OnCountRec(wxCommandEvent& event);
+
+ void OnRename(wxCommandEvent& event);
+ void OnSort(wxCommandEvent& event) { DoSort(); }
+ void OnSortRev(wxCommandEvent& event) { DoSort(TRUE); }
+
+ void OnAddItem(wxCommandEvent& event);
+ void OnInsertItem(wxCommandEvent& event);
+
+ void OnIncIndent(wxCommandEvent& event);
+ void OnDecIndent(wxCommandEvent& event);
+
+ void OnIncSpacing(wxCommandEvent& event);
+ void OnDecSpacing(wxCommandEvent& event);
+
+ void OnToggleIcon(wxCommandEvent& event);
+
+ void OnSize(wxSizeEvent& event);
+
+private:
+ void DoSort(bool reverse = FALSE);
+
+ void Resize(const wxSize& size);
+
+ MyTreeCtrl *m_treeCtrl;
+ wxTextCtrl *m_textCtrl;
+
+ void DoSetBold(bool bold = TRUE);
+
+ DECLARE_EVENT_TABLE()
+};
+
+// menu and control ids
+enum
+{
+ TreeTest_Quit,
+ TreeTest_About,
+ TreeTest_Dump,
+ TreeTest_DumpSelected,
+ TreeTest_Count,
+ TreeTest_CountRec,
+ TreeTest_Sort,
+ TreeTest_SortRev,
+ TreeTest_Bold,
+ TreeTest_UnBold,
+ TreeTest_Rename,
+ TreeTest_Delete,
+ TreeTest_DeleteChildren,
+ TreeTest_DeleteAll,
+ TreeTest_Recreate,
+ TreeTest_ToggleImages,
+ TreeTest_SetImageSize,
+ TreeTest_ToggleSel,
+ TreeTest_CollapseAndReset,
+ TreeTest_EnsureVisible,
+ TreeTest_AddItem,
+ TreeTest_InsertItem,
+ TreeTest_IncIndent,
+ TreeTest_DecIndent,
+ TreeTest_IncSpacing,
+ TreeTest_DecSpacing,
+ TreeTest_ToggleIcon,
+ TreeTest_Select,
+ TreeTest_Unselect,
+ TreeTest_Ctrl = 1000
+};
diff --git a/samples/treectrl/treectrl.rc b/samples/treectrl/treectrl.rc
new file mode 100644
index 0000000000..ba4cb54bd7
--- /dev/null
+++ b/samples/treectrl/treectrl.rc
@@ -0,0 +1,17 @@
+mondrian ICON "mondrian.ico"
+aaaa ICON "mondrian.ico"
+
+#include "wx/msw/wx.rc"
+
+icon1 ICON "bitmaps/file1.ico"
+icon2 ICON "bitmaps/file2.ico"
+icon3 ICON "bitmaps/folder1.ico"
+icon4 ICON "bitmaps/folder2.ico"
+icon5 ICON "bitmaps/folder3.ico"
+
+bitmap1 BITMAP "bitmaps/file1.bmp"
+bitmap2 BITMAP "bitmaps/file2.bmp"
+bitmap3 BITMAP "bitmaps/folder1.bmp"
+bitmap4 BITMAP "bitmaps/folder2.bmp"
+bitmap5 BITMAP "bitmaps/folder3.bmp"
+
diff --git a/samples/treelay/Makefile.in b/samples/treelay/Makefile.in
new file mode 100644
index 0000000000..2e838aee16
--- /dev/null
+++ b/samples/treelay/Makefile.in
@@ -0,0 +1,13 @@
+# Purpose: makefile for treelay example (UNIX).
+# Created: 2000-03-15
+
+top_srcdir = @top_srcdir@/..
+top_builddir = ../..
+program_dir = samples/treelay
+
+PROGRAM=treelay
+
+OBJECTS=$(PROGRAM).o
+
+include ../../src/makeprog.env
+
diff --git a/samples/treelay/TreelayVC.dsp b/samples/treelay/TreelayVC.dsp
new file mode 100644
index 0000000000..1a81ef73d5
--- /dev/null
+++ b/samples/treelay/TreelayVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="TreelayVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TreelayVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TreelayVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TreelayVC.mak" CFG="TreelayVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TreelayVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TreelayVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TreelayVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TreelayVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TreelayVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/treelay.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TreelayVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/treelay.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TreelayVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/treelay.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TreelayVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/treelay.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TreelayVC - Win32 Release"
+# Name "TreelayVC - Win32 Debug"
+# Name "TreelayVC - Win32 Debug DLL"
+# Name "TreelayVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\treelay.cpp
+
+!IF "$(CFG)" == "TreelayVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TreelayVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TreelayVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TreelayVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\treelay.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\treelay.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/treelay/TreelayVC.dsw b/samples/treelay/TreelayVC.dsw
new file mode 100644
index 0000000000..df96e47df8
--- /dev/null
+++ b/samples/treelay/TreelayVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TreelayVC"=.\TreelayVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/treelay/makefile.b32 b/samples/treelay/makefile.b32
new file mode 100644
index 0000000000..81050ded3e
--- /dev/null
+++ b/samples/treelay/makefile.b32
@@ -0,0 +1,10 @@
+# Purpose: makefile for treelay example (BC++ 32bit)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+
+TARGET=treelay
+OBJECTS = $(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.b32
+
diff --git a/samples/treelay/makefile.bcc b/samples/treelay/makefile.bcc
new file mode 100644
index 0000000000..ef7ce85661
--- /dev/null
+++ b/samples/treelay/makefile.bcc
@@ -0,0 +1,14 @@
+# Purpose: makefile for treelay example (BC++ 16bit)
+# Created: 2000-03-15
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+
+TARGET=treelay
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.bcc
+
diff --git a/samples/treelay/makefile.dos b/samples/treelay/makefile.dos
new file mode 100644
index 0000000000..79cebff0ad
--- /dev/null
+++ b/samples/treelay/makefile.dos
@@ -0,0 +1,10 @@
+# Purpose: makefile for treelay example (VC++ 1.5x)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+
+TARGET=treelay
+OBJECTS=$(TARGET).obj
+
+!include $(WXDIR)\src\makeprog.msc
+
diff --git a/samples/treelay/makefile.g95 b/samples/treelay/makefile.g95
new file mode 100644
index 0000000000..f31905199d
--- /dev/null
+++ b/samples/treelay/makefile.g95
@@ -0,0 +1,10 @@
+# Purpose: makefile for treelay example (Cygwin/Mingw32)
+# Created: #03.01.00
+
+WXDIR = ../..
+
+TARGET=treelay
+OBJECTS = $(TARGET).o
+
+include $(WXDIR)/src/makeprog.g95
+
diff --git a/samples/treelay/makefile.sc b/samples/treelay/makefile.sc
new file mode 100644
index 0000000000..6aa3c422c1
--- /dev/null
+++ b/samples/treelay/makefile.sc
@@ -0,0 +1,37 @@
+# Purpose: makefile for treelay example (Symantec C++)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+WXLIB = $(WXDIR)\lib\wx.lib
+INCDIR = $(WXDIR)\include
+INCLUDE=$(INCDIR)
+TARGET=treelay
+
+include $(WXDIR)\src\makesc.env
+
+treelay.exe: treelay.obj $(DEFFILE) treelay.res
+ *$(CC) $(LDFLAGS) -o$@ $** $(LIBS)
+ *$(RC) -k treelay.res
+
+sc32.def:
+ echo EXETYPE NT > sc32.def
+ echo SUBSYSTEM WINDOWS >> sc32.def
+
+sc16.def:
+ echo NAME $(TARGET) > sc16.def
+ echo EXETYPE WINDOWS >> sc16.def
+ echo STUB 'WINSTUB.EXE' >> sc16.def
+ echo CODE PRELOAD MOVEABLE DISCARDABLE >> sc16.def
+ echo DATA PRELOAD MOVEABLE MULTIPLE >> sc16.def
+ echo HEAPSIZE 1024 >> sc16.def
+ echo STACKSIZE 8192 >> sc16.def
+
+clean:
+ -del *.obj
+ -del *.exe
+ -del *.res
+ -del *.map
+ -del *.rws
+ -del sc32.def
+ -del sc16.def
+
diff --git a/samples/treelay/makefile.sl b/samples/treelay/makefile.sl
new file mode 100644
index 0000000000..4f6c1a2f16
--- /dev/null
+++ b/samples/treelay/makefile.sl
@@ -0,0 +1,14 @@
+# Purpose: makefile for treelay example (Salford C++)
+# Created: 2000-03-15
+
+PROGRAM = treelay
+OBJECTS = $(PROGRAM).obj
+
+include ..\..\src\makeprog.sl
+
+all: wx $(TARGET)
+
+wx:
+ cd $(WXDIR)\src\msw ^ mk32 -f makefile.sl all
+ cd $(WXDIR)\samples\treelay
+
diff --git a/samples/treelay/makefile.twn b/samples/treelay/makefile.twn
new file mode 100644
index 0000000000..ee77428131
--- /dev/null
+++ b/samples/treelay/makefile.twn
@@ -0,0 +1,35 @@
+# Purpose: makefile for treelay example (TWIN)
+# Created: 2000-03-15
+
+WXDIR = ../..
+
+# All common UNIX compiler flags and options are now in
+# this central makefile.
+include $(WXDIR)/src/maketwin.env
+
+OBJECTS = $(OBJDIR)/treelay.$(OBJSUFF) $(OBJDIR)/treelay.$(OBJSUFF)
+
+all: $(OBJDIR) treelay$(GUISUFFIX)$(EXESUFF)
+
+wx:
+
+$(OBJDIR):
+ mkdir $(OBJDIR)
+
+treelay$(GUISUFFIX)$(EXESUFF): $(OBJECTS) $(WXLIB)
+ $(CC) $(LDFLAGS) -o treelay$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(LDLIBS)
+
+$(OBJDIR)/treelay.$(OBJSUFF): treelay.$(SRCSUFF)
+ $(CC) -c $(CPPFLAGS) -o $@ treelay.$(SRCSUFF)
+
+treelay.c: treelay.rc
+ $(RESCOMP) $(RCINPUTSWITCH) treelay.rc $(RCOUTPUTSWITCH) treelay.c $(RESFLAGS)
+
+$(OBJDIR)/treelay.$(OBJSUFF): treelay.c
+ $(CC) -c $(CPPFLAGS) -o $@ treelay.c
+
+#$(OBJDIR)/treelay.o: treelay.rc
+# $(RESCOMP) $(RCINPUTSWITCH) treelay.rc $(RCOUTPUTSWITCH) $(OBJDIR)/treelay.o $(RESFLAGS)
+
+clean:
+ rm -f $(OBJECTS) treelay$(GUISUFFIX).exe core *.rsc *.res
diff --git a/samples/treelay/makefile.unx b/samples/treelay/makefile.unx
new file mode 100644
index 0000000000..f1eee838a4
--- /dev/null
+++ b/samples/treelay/makefile.unx
@@ -0,0 +1,23 @@
+# Purpose: makefile for treelay example (Unix)
+# Created: 2000-03-15
+
+CC = gcc
+
+PROGRAM = treelay
+
+OBJECTS = $(PROGRAM).o
+
+# implementation
+
+.SUFFIXES: .o .cpp
+
+.cpp.o :
+ $(CC) -c `wx-config --cflags` -o $@ $<
+
+all: $(PROGRAM)
+
+$(PROGRAM): $(OBJECTS)
+ $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
+
+clean:
+ rm -f *.o $(PROGRAM)
diff --git a/samples/treelay/makefile.vc b/samples/treelay/makefile.vc
new file mode 100644
index 0000000000..4f552344b1
--- /dev/null
+++ b/samples/treelay/makefile.vc
@@ -0,0 +1,11 @@
+# Purpose: makefile for treelay example (VC++ 32bit)
+# Created: 2000-03-15
+
+# Set WXDIR for your system
+WXDIR = $(WXWIN)
+
+PROGRAM=treelay
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.vc
+
diff --git a/samples/treelay/makefile.wat b/samples/treelay/makefile.wat
new file mode 100644
index 0000000000..6862812f07
--- /dev/null
+++ b/samples/treelay/makefile.wat
@@ -0,0 +1,11 @@
+# Purpose: makefile for treelay example (Watcom)
+# Created: 2000-03-15
+
+WXDIR = $(%WXWIN)
+
+PROGRAM = treelay
+OBJECTS = $(PROGRAM).obj
+
+!include $(WXDIR)\src\makeprog.wat
+
+
diff --git a/samples/treelay/mondrian.ico b/samples/treelay/mondrian.ico
new file mode 100644
index 0000000000..2310c5d275
Binary files /dev/null and b/samples/treelay/mondrian.ico differ
diff --git a/samples/treelay/treelay.cpp b/samples/treelay/treelay.cpp
new file mode 100644
index 0000000000..02e00da18c
--- /dev/null
+++ b/samples/treelay/treelay.cpp
@@ -0,0 +1,202 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: treelay.cpp
+// Purpose: wxTreeLayout sample
+// Author: Julian Smart
+// Modified by:
+// Created: 7/4/98
+// RCS-ID: $Id$
+// Copyright: (c) 1998 Julian Smart
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/treelay.h"
+
+#include "treelay.h"
+
+wxTreeLayoutStored *myTree = NULL;
+
+// A macro needed for some compilers (AIX) that need 'main' to be defined
+// in the application itself.
+IMPLEMENT_APP(MyApp)
+
+// The `main program' equivalent, creating the windows and returning the
+// main frame
+bool MyApp::OnInit()
+{
+ // Create the main frame window
+ MyFrame* frame = new MyFrame(NULL, "Tree Test", wxPoint(-1, -1), wxSize(400, 550));
+
+ // Give it a status line
+ frame->CreateStatusBar(2);
+
+ // Give it an icon
+#ifdef __WINDOWS__
+ wxIcon icon("tree_icn");
+ frame->SetIcon(icon);
+#endif
+
+ // Make a menubar
+ wxMenu *file_menu = new wxMenu;
+ file_menu->Append(TEST_LEFT_RIGHT, "&Left to right", "Redraw left to right");
+ file_menu->Append(TEST_TOP_BOTTOM, "&Top to bottom", "Redraw top to bottom");
+ file_menu->AppendSeparator();
+ file_menu->Append(TEST_QUIT, "E&xit", "Quit program");
+
+ wxMenu *help_menu = new wxMenu;
+ help_menu->Append(TEST_ABOUT, "&About", "About Tree Test");
+
+ wxMenuBar* menu_bar = new wxMenuBar;
+
+ menu_bar->Append(file_menu, "&File");
+ menu_bar->Append(help_menu, "&Help");
+
+ // Associate the menu bar with the frame
+ frame->SetMenuBar(menu_bar);
+
+ MyCanvas *canvas = new MyCanvas(frame);
+
+ // Give it scrollbars: the virtual canvas is 20 * 50 = 1000 pixels in each direction
+ canvas->SetScrollbars(20, 20, 50, 50);
+ frame->canvas = canvas;
+
+ myTree = new wxTreeLayoutStored();
+
+ wxClientDC dc(canvas);
+ wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
+ dc.SetFont(font);
+ TreeTest(*myTree, dc);
+
+ frame->Show(TRUE);
+
+ frame->SetStatusText("Hello, tree!");
+
+ // Return the main frame window
+ return TRUE;
+}
+
+void MyApp::TreeTest(wxTreeLayoutStored& tree, wxDC& dc)
+{
+ tree.Initialize(200);
+
+ tree.AddChild("animal");
+ tree.AddChild("mammal", "animal");
+ tree.AddChild("insect", "animal");
+ tree.AddChild("bird", "animal");
+
+ tree.AddChild("man", "mammal");
+ tree.AddChild("cat", "mammal");
+ tree.AddChild("dog", "mammal");
+ tree.AddChild("giraffe", "mammal");
+ tree.AddChild("elephant", "mammal");
+ tree.AddChild("donkey", "mammal");
+ tree.AddChild("horse", "mammal");
+
+ tree.AddChild("fido", "dog");
+ tree.AddChild("domestic cat", "cat");
+ tree.AddChild("lion", "cat");
+ tree.AddChild("tiger", "cat");
+ tree.AddChild("felix", "domestic cat");
+ tree.AddChild("socks", "domestic cat");
+
+ tree.AddChild("beetle", "insect");
+ tree.AddChild("earwig", "insect");
+ tree.AddChild("eagle", "bird");
+ tree.AddChild("bluetit", "bird");
+ tree.AddChild("sparrow", "bird");
+ tree.AddChild("blackbird", "bird");
+ tree.AddChild("emu", "bird");
+ tree.AddChild("crow", "bird");
+
+ tree.DoLayout(dc);
+}
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+ EVT_MENU(TEST_QUIT, MyFrame::OnQuit)
+ EVT_MENU(TEST_ABOUT, MyFrame::OnAbout)
+ EVT_MENU(TEST_LEFT_RIGHT, MyFrame::OnLeftRight)
+ EVT_MENU(TEST_TOP_BOTTOM, MyFrame::OnTopBottom)
+ EVT_CLOSE(MyFrame::OnCloseWindow)
+END_EVENT_TABLE()
+
+// Define my frame constructor
+MyFrame::MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size):
+ wxFrame(parent, -1, title, pos, size)
+{
+}
+
+void MyFrame::OnQuit(wxCommandEvent& event)
+{
+ Close(TRUE);
+}
+
+void MyFrame::OnLeftRight(wxCommandEvent& event)
+{
+ if (myTree)
+ {
+ myTree->SetOrientation(FALSE);
+ wxClientDC dc(canvas);
+ wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
+ dc.SetFont(font);
+ wxGetApp().TreeTest(*myTree, dc);
+ canvas->Refresh();
+ }
+}
+
+void MyFrame::OnTopBottom(wxCommandEvent& event)
+{
+ if (myTree)
+ {
+ myTree->SetOrientation(TRUE);
+ wxClientDC dc(canvas);
+ wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
+ dc.SetFont(font);
+ wxGetApp().TreeTest(*myTree, dc);
+ canvas->Refresh();
+ }
+}
+
+void MyFrame::OnAbout(wxCommandEvent& event)
+{
+ (void)wxMessageBox("wxWindows tree library demo Vsn 2.0\nAuthor: Julian Smart (c) 1998", "About tree test");
+}
+
+void MyFrame::OnCloseWindow(wxCloseEvent& event)
+{
+ Destroy();
+}
+
+BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
+ EVT_PAINT(MyCanvas::OnPaint)
+END_EVENT_TABLE()
+
+// Define a constructor for my canvas
+MyCanvas::MyCanvas(wxWindow *parent):
+ wxScrolledWindow(parent, -1)
+{
+ SetBackgroundColour(*wxWHITE);
+}
+
+// Define the repainting behaviour
+void MyCanvas::OnPaint(wxPaintEvent& event)
+{
+ wxPaintDC dc(this);
+ PrepareDC(dc);
+ if (myTree)
+ {
+ wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
+ dc.SetFont(font);
+ myTree->Draw(dc);
+ }
+}
+
diff --git a/samples/treelay/treelay.def b/samples/treelay/treelay.def
new file mode 100644
index 0000000000..054f1e68b7
--- /dev/null
+++ b/samples/treelay/treelay.def
@@ -0,0 +1,8 @@
+NAME Treelay
+DESCRIPTION 'Tree Layout Test'
+EXETYPE WINDOWS
+STUB 'WINSTUB.EXE'
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE 1024
+STACKSIZE 16192
diff --git a/samples/treelay/treelay.h b/samples/treelay/treelay.h
new file mode 100644
index 0000000000..d920ecc1be
--- /dev/null
+++ b/samples/treelay/treelay.h
@@ -0,0 +1,54 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name: treelay.h
+// Purpose: wxTreeLayout sample
+// Author: Julian Smart
+// Modified by:
+// Created: 7/4/98
+// RCS-ID: $Id$
+// Copyright: (c) 1998 Julian Smart
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// Define a new application
+class MyApp: public wxApp
+{
+ public:
+ bool OnInit();
+ void TreeTest(wxTreeLayoutStored& tree, wxDC& dc);
+};
+
+DECLARE_APP(MyApp)
+
+class MyCanvas;
+
+class MyFrame: public wxFrame
+{
+ public:
+ MyCanvas *canvas;
+ MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size);
+
+ void OnCloseWindow(wxCloseEvent& event);
+ void OnQuit(wxCommandEvent& event);
+ void OnAbout(wxCommandEvent& event);
+ void OnLeftRight(wxCommandEvent& event);
+ void OnTopBottom(wxCommandEvent& event);
+
+DECLARE_EVENT_TABLE()
+};
+
+// Define a new canvas which can receive some events
+class MyCanvas: public wxScrolledWindow
+{
+ public:
+ MyCanvas(wxWindow *frame);
+ void OnPaint(wxPaintEvent& event);
+ void OnEvent(wxMouseEvent& event);
+ void OnChar(wxKeyEvent& event);
+DECLARE_EVENT_TABLE()
+};
+
+#define TEST_QUIT 1
+#define TEST_ABOUT 2
+#define TEST_LEFT_RIGHT 3
+#define TEST_TOP_BOTTOM 4
+
diff --git a/samples/treelay/treelay.rc b/samples/treelay/treelay.rc
new file mode 100644
index 0000000000..41e6896e8e
--- /dev/null
+++ b/samples/treelay/treelay.rc
@@ -0,0 +1,3 @@
+tree_icn ICON "mondrian.ico"
+#include "wx/msw/wx.rc"
+
diff --git a/samples/typetest/TypetestVC.dsp b/samples/typetest/TypetestVC.dsp
new file mode 100644
index 0000000000..6932cf24c4
--- /dev/null
+++ b/samples/typetest/TypetestVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="TypetestVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=TypetestVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TypetestVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TypetestVC.mak" CFG="TypetestVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TypetestVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "TypetestVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "TypetestVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "TypetestVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TypetestVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/typetest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TypetestVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/typetest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TypetestVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/typetest.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "TypetestVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/typetest.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TypetestVC - Win32 Release"
+# Name "TypetestVC - Win32 Debug"
+# Name "TypetestVC - Win32 Debug DLL"
+# Name "TypetestVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\typetest.cpp
+
+!IF "$(CFG)" == "TypetestVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TypetestVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TypetestVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "TypetestVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\typetest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\typetest.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/typetest/TypetestVC.dsw b/samples/typetest/TypetestVC.dsw
new file mode 100644
index 0000000000..ed2739bf41
--- /dev/null
+++ b/samples/typetest/TypetestVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TypetestVC"=.\TypetestVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/validate/ValidateVC.dsp b/samples/validate/ValidateVC.dsp
new file mode 100644
index 0000000000..409660c16a
--- /dev/null
+++ b/samples/validate/ValidateVC.dsp
@@ -0,0 +1,179 @@
+# Microsoft Developer Studio Project File - Name="ValidateVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=ValidateVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "ValidateVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "ValidateVC.mak" CFG="ValidateVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ValidateVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "ValidateVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "ValidateVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "ValidateVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ValidateVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/validate.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ValidateVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/validate.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ValidateVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/validate.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "ValidateVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/validate.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ValidateVC - Win32 Release"
+# Name "ValidateVC - Win32 Debug"
+# Name "ValidateVC - Win32 Debug DLL"
+# Name "ValidateVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\validate.cpp
+
+!IF "$(CFG)" == "ValidateVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ValidateVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ValidateVC - Win32 Debug DLL"
+
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "ValidateVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\validate.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\validate.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include" /i "../../contrib/include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/validate/ValidateVC.dsw b/samples/validate/ValidateVC.dsw
new file mode 100644
index 0000000000..f98fa0b4d2
--- /dev/null
+++ b/samples/validate/ValidateVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ValidateVC"=.\ValidateVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/wizard/WizardVC.dsp b/samples/wizard/WizardVC.dsp
new file mode 100644
index 0000000000..ee1cbfe79d
--- /dev/null
+++ b/samples/wizard/WizardVC.dsp
@@ -0,0 +1,174 @@
+# Microsoft Developer Studio Project File - Name="WizardVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=WizardVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "WizardVC.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "WizardVC.mak" CFG="WizardVC - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "WizardVC - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "WizardVC - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "WizardVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "WizardVC - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "WizardVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/wizard.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "WizardVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/wizard.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "WizardVC - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDLL"
+# PROP BASE Intermediate_Dir "DebugDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /I "../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/wizardexe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ELSEIF "$(CFG)" == "WizardVC - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDLL"
+# PROP BASE Intermediate_Dir "ReleaseDLL"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../include" /I "../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/wizard.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "WizardVC - Win32 Release"
+# Name "WizardVC - Win32 Debug"
+# Name "WizardVC - Win32 Debug DLL"
+# Name "WizardVC - Win32 Release DLL"
+# Begin Source File
+
+SOURCE=.\wizard.cpp
+
+!IF "$(CFG)" == "WizardVC - Win32 Release"
+
+!ELSEIF "$(CFG)" == "WizardVC - Win32 Debug"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "WizardVC - Win32 Debug DLL"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "WizardVC - Win32 Release DLL"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\wizard.rc
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809 /i "../../include"
+# End Source File
+# End Target
+# End Project
diff --git a/samples/wizard/WizardVC.dsw b/samples/wizard/WizardVC.dsw
new file mode 100644
index 0000000000..7c0ae14eb8
--- /dev/null
+++ b/samples/wizard/WizardVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "WizardVC"=.\WizardVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/wizard/Wiztest.bmp b/samples/wizard/Wiztest.bmp
new file mode 100644
index 0000000000..d70d3f25be
Binary files /dev/null and b/samples/wizard/Wiztest.bmp differ
diff --git a/src/common/cwlex_yy.c b/src/common/cwlex_yy.c
new file mode 100644
index 0000000000..96e91c1ca9
--- /dev/null
+++ b/src/common/cwlex_yy.c
@@ -0,0 +1,1214 @@
+/* A lexical scanner generated by flex */
+
+/* scanner skeleton version:
+ * $Header$
+ Last change: JS 13 Jul 97 6:17 pm
+ */
+
+#define FLEX_SCANNER
+
+#include
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include
+#include
+
+/* use prototypes in function declarations */
+#define YY_USE_PROTOS
+
+/* the "const" storage-class-modifier is valid */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#ifdef __STDC__
+
+#ifdef __GNUC__
+#include
+#else
+#include
+#endif /* __GNUC__ */
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+
+#ifdef __TURBOC__
+#define YY_USE_CONST
+#endif
+
+
+#ifndef YY_USE_CONST
+#define const
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+/* we can't get here if it's an ANSI C compiler, or a C++ compiler,
+ * so it's got to be a K&R compiler, and therefore there's no standard
+ * place from which to include these definitions
+ */
+/*
+char *malloc();
+int free();
+*/
+
+int read();
+#endif
+
+
+/* amount of stuff to slurp up with each read */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* returned upon end-of-file */
+#define YY_END_TOK 0
+
+/* copy whatever the last rule matched to the standard output */
+
+/* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
+/* this used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite()
+ */
+#define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
+
+/* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#define YY_INPUT(buf,result,max_size) \
+ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
+ YY_FATAL_ERROR( "read() in flex scanner failed" );
+#define YY_NULL 0
+
+/* no semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#define yyterminate() return ( YY_NULL )
+
+/* report a fatal error */
+
+/* The funky do-while is used to turn this macro definition into
+ * a single C statement (which needs a semi-colon terminator).
+ * This avoids problems with code like:
+ *
+ * if ( something_happens )
+ * YY_FATAL_ERROR( "oops, the something happened" );
+ * else
+ * everything_okay();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the YY_FATAL_ERROR() call.
+ */
+
+#define YY_FATAL_ERROR(msg) \
+ do \
+ { \
+ (void) fputs( msg, stderr ); \
+ (void) putc( '\n', stderr ); \
+ exit( 1 ); \
+ } \
+ while ( 0 )
+
+/* default yywrap function - always treat EOF as an EOF */
+int yywrap(void) { return 1; }
+
+
+/* enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* action number for EOF rule of a given start state */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* special action meaning "start processing a new file" */
+#define YY_NEW_FILE \
+ do \
+ { \
+ yy_init_buffer( yy_current_buffer, yyin ); \
+ yy_load_buffer_state(); \
+ } \
+ while ( 0 )
+
+/* default declaration of generated scanner - a define so the user can
+ * easily add parameters
+ */
+#define YY_DECL int yylex YY_PROTO(( void ))
+
+/* code executed at the end of each rule */
+#define YY_BREAK break;
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
+#endif
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+#define YY_CHAR unsigned char
+# line 1 "lexer.l"
+#define INITIAL 0
+# line 9 "lexer.l"
+/*
+ * File: lexer.l
+ * Description: Lexical analyser for PROLOGIO; can be used with
+ * either lex and flex.
+ */
+#include
+
+/* +++steve162e: added, otherwise, PROIO_input will be undefined (at least under LINUX)
+ please check, if this is also TRUE under other UNIXes.
+ */
+
+#if defined(FLEX_SCANNER) && defined(_LINUX)
+#define PROIO_input my_input
+#endif
+/* ---steve162e */
+
+#include "wx/expr.h"
+#ifdef wx_x
+extern char *malloc();
+#endif
+#define Return(x) return x;
+
+#if defined(VMS) && ( __VMS_VER < 70000000 )
+#define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s));
+#endif
+
+static size_t lex_buffer_length = 0;
+static const char *lex_buffer = NULL;
+static size_t lex_string_ptr = 0;
+static int lex_read_from_string = 0;
+
+static int my_input(void);
+static int my_unput(char);
+
+#ifdef FLEX_SCANNER
+#undef YY_INPUT
+# define YY_INPUT(buf,result,max_size) \
+ if (lex_read_from_string) \
+ { int c = my_input(); result = (c == 0) ? YY_NULL : ((buf)[0]=(c), 1); } \
+ else \
+ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
+ YY_FATAL_ERROR( "read() in flex scanner failed" );
+#else
+# undef unput
+# define unput(_c) my_unput(_c)
+#endif
+
+# line 58 "lexer.l"
+
+/* done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext = yy_bp; \
+ yyleng = yy_cp - yy_bp; \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* return all but the first 'n' matched characters back to the input stream */
+#define yyless(n) \
+ do \
+ { \
+ /* undo effects of setting up yytext */ \
+ *yy_cp = yy_hold_char; \
+ yy_c_buf_p = yy_cp = yy_bp + n; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#undef unput
+#define unput(c) yyunput( c, yytext )
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ YY_CHAR *yy_ch_buf; /* input buffer */
+ YY_CHAR *yy_buf_pos; /* current position in input buffer */
+
+ /* size of input buffer in bytes, not including room for EOB characters*/
+ int yy_buf_size;
+
+ /* number of characters read into yy_ch_buf, not including EOB characters */
+ int yy_n_chars;
+
+ int yy_eof_status; /* whether we've seen an EOF on this buffer */
+#define EOF_NOT_SEEN 0
+ /* "pending" happens when the EOF has been seen but there's still
+ * some text process
+ */
+#define EOF_PENDING 1
+#define EOF_DONE 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer;
+
+/* we provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state"
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed */
+static YY_CHAR yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+#ifndef YY_USER_INIT
+#define YY_USER_INIT
+#endif
+
+extern YY_CHAR *yytext;
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+YY_CHAR *yytext;
+int yyleng;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+#define YY_END_OF_BUFFER 18
+typedef int yy_state_type;
+static const short int yy_accept[34] =
+ { 0,
+ 0, 0, 18, 16, 13, 14, 16, 16, 6, 7,
+ 16, 8, 12, 16, 1, 11, 3, 9, 10, 2,
+ 0, 5, 0, 0, 0, 4, 1, 15, 3, 5,
+ 0, 0, 0
+ } ;
+
+static const YY_CHAR yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 6,
+ 7, 8, 9, 10, 9, 11, 12, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 1, 1, 1,
+ 14, 1, 1, 1, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 16, 17, 18, 1, 15, 1, 15, 15, 15, 15,
+
+ 19, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 1, 20, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static const YY_CHAR yy_meta[21] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 2, 1, 2, 1, 3, 1, 2, 1
+ } ;
+
+static const short int yy_base[37] =
+ { 0,
+ 0, 0, 48, 55, 55, 55, 17, 42, 55, 55,
+ 19, 55, 55, 23, 17, 55, 0, 55, 55, 0,
+ 18, 55, 19, 23, 21, 55, 12, 55, 0, 24,
+ 25, 29, 55, 49, 52, 22
+ } ;
+
+static const short int yy_def[37] =
+ { 0,
+ 33, 1, 33, 33, 33, 33, 34, 35, 33, 33,
+ 33, 33, 33, 33, 33, 33, 36, 33, 33, 36,
+ 34, 33, 34, 34, 35, 33, 33, 33, 36, 34,
+ 34, 34, 0, 33, 33, 33
+ } ;
+
+static const short int yy_nxt[76] =
+ { 0,
+ 4, 5, 6, 7, 8, 9, 10, 4, 11, 12,
+ 13, 14, 15, 16, 17, 18, 4, 19, 20, 4,
+ 22, 22, 30, 29, 27, 26, 22, 22, 30, 27,
+ 28, 27, 30, 23, 23, 23, 24, 24, 24, 31,
+ 23, 32, 24, 24, 24, 23, 26, 33, 24, 21,
+ 21, 21, 25, 25, 3, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33
+ } ;
+
+static const short int yy_chk[76] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 7, 21, 23, 36, 27, 25, 24, 30, 31, 15,
+ 14, 11, 32, 7, 21, 23, 7, 21, 23, 24,
+ 30, 31, 24, 30, 31, 32, 8, 3, 32, 34,
+ 34, 34, 35, 35, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static YY_CHAR *yy_last_accepting_cpos;
+
+/* the intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+
+/* these variables are all declared out here so that section 3 code can
+ * manipulate them
+ */
+/* points to current character in buffer */
+static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
+void yyrestart YY_PROTO(( FILE *input_file ));
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+
+#define yy_new_buffer yy_create_buffer
+
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register YY_CHAR *yy_cp, *yy_bp;
+ register int yy_act;
+
+
+
+
+ if ( yy_init )
+ {
+ YY_USER_INIT;
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( yy_current_buffer )
+ yy_init_buffer( yy_current_buffer, yyin );
+ else
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+
+ yy_init = 0;
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* support of yytext */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of the
+ * current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[*yy_cp];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ ++yy_cp;
+ }
+ while ( yy_current_state != 33 );
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+
+ YY_DO_BEFORE_ACTION;
+ YY_USER_ACTION;
+
+do_action: /* this label is used only to access EOF actions */
+
+
+ switch ( yy_act )
+ {
+ case 0: /* must backtrack */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+# line 60 "lexer.l"
+{yylval.s = strdup(yytext); Return(INTEGER);}
+ YY_BREAK
+case 2:
+# line 62 "lexer.l"
+Return(EXP);
+ YY_BREAK
+case 3:
+# line 64 "lexer.l"
+{yylval.s = strdup(yytext); Return(WORD);}
+ YY_BREAK
+case 4:
+# line 66 "lexer.l"
+{int len = strlen(yytext);
+ yytext[len-1] = 0;
+ yylval.s = strdup(yytext+1);
+ Return(WORD);}
+ YY_BREAK
+case 5:
+# line 71 "lexer.l"
+{yylval.s = strdup(yytext); Return(STRING);}
+ YY_BREAK
+case 6:
+# line 73 "lexer.l"
+Return(OPEN);
+ YY_BREAK
+case 7:
+# line 75 "lexer.l"
+Return(CLOSE);
+ YY_BREAK
+case 8:
+# line 77 "lexer.l"
+Return(COMMA);
+ YY_BREAK
+case 9:
+# line 79 "lexer.l"
+Return(OPEN_SQUARE);
+ YY_BREAK
+case 10:
+# line 81 "lexer.l"
+Return(CLOSE_SQUARE);
+ YY_BREAK
+case 11:
+# line 83 "lexer.l"
+Return(EQUALS);
+ YY_BREAK
+case 12:
+# line 85 "lexer.l"
+Return(PERIOD);
+ YY_BREAK
+case 13:
+# line 87 "lexer.l"
+;
+ YY_BREAK
+case 14:
+# line 89 "lexer.l"
+;
+ YY_BREAK
+case 15:
+# line 91 "lexer.l"
+{ loop:
+#ifdef __cplusplus
+ while (yyinput() != '*');
+ switch (yyinput())
+#else
+ while (input() != '*');
+ switch (input())
+#endif
+ {
+ case '/': break;
+ case '*': unput('*');
+ default: goto loop;
+ }
+ }
+ YY_BREAK
+case 16:
+# line 106 "lexer.l"
+Return(ERROR);
+ YY_BREAK
+case 17:
+# line 108 "lexer.l"
+ECHO;
+ YY_BREAK
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* amount of text matched not including the EOB char */
+ int yy_amount_of_matched_text = yy_cp - yytext - 1;
+
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+
+ /* note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the end-
+ * of-buffer state). Contrast this with the test in yyinput().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* this was really a NUL */
+ {
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* okay, we're now positioned to make the
+ * NUL transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we
+ * don't want to build jamming into it because
+ * then it will run more slowly)
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* consume the NUL */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* note: because we've taken care in
+ * yy_get_next_buffer() to have set up yytext,
+ * we can now set up yy_c_buf_p so that if some
+ * total hoser (like flex itself) wants
+ * to call the scanner after we return the
+ * YY_NULL, it'll still work - another YY_NULL
+ * will get returned.
+ */
+ yy_c_buf_p = yytext + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF((yy_start - 1) / 2);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ }
+ break;
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+#ifdef FLEX_DEBUG
+ printf( "action # %d\n", yy_act );
+#endif
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ }
+ }
+ }
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * synopsis
+ * int yy_get_next_buffer();
+ *
+ * returns a code representing an action
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+
+ {
+ register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
+ register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ /* try to read more data */
+
+ /* first move last chars to start of buffer */
+ number_to_move = yy_c_buf_p - yytext;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ else if ( num_to_read <= 0 )
+ YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
+
+ /* read in more data */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == 1 )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yy_current_buffer->yy_eof_status = EOF_DONE;
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_eof_status = EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ /* yytext begins at the second character in yy_ch_buf; the first
+ * character is the one which preceded it before reading in the latest
+ * buffer; it needs to be kept around in case it's a newline, so
+ * yy_get_previous_state() will have with '^' rules active
+ */
+
+ yytext = &yy_current_buffer->yy_ch_buf[1];
+
+ return ( ret_val );
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached
+ *
+ * synopsis
+ * yy_state_type yy_get_previous_state();
+ */
+
+static yy_state_type yy_get_previous_state()
+
+ {
+ register yy_state_type yy_current_state;
+ register YY_CHAR *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ }
+
+ return ( yy_current_state );
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+register yy_state_type yy_current_state;
+#endif
+
+ {
+ register int yy_is_jam;
+ register YY_CHAR *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_is_jam = (yy_current_state == 33);
+
+ return ( yy_is_jam ? 0 : yy_current_state );
+ }
+
+
+#ifdef YY_USE_PROTOS
+static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+YY_CHAR c;
+register YY_CHAR *yy_bp;
+#endif
+
+ {
+ register YY_CHAR *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
+ register YY_CHAR *dest =
+ &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
+ register YY_CHAR *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += dest - source;
+ yy_bp += dest - source;
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
+ yy_cp[-2] = '\n';
+
+ *--yy_cp = c;
+
+ /* note: the formal parameter *must* be called "yy_bp" for this
+ * macro to now work correctly
+ */
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ }
+
+
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+
+ {
+ int c;
+ YY_CHAR *yy_cp = yy_c_buf_p;
+
+ *yy_cp = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* this was really a NUL */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ yytext = yy_c_buf_p;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ {
+ yy_c_buf_p = yytext + YY_MORE_ADJ;
+ return ( EOF );
+ }
+
+ YY_NEW_FILE;
+
+#ifdef __cplusplus
+ return ( yyinput() );
+#else
+ return ( input() );
+#endif
+ }
+ break;
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext + YY_MORE_ADJ;
+ break;
+
+ case EOB_ACT_LAST_MATCH:
+#ifdef __cplusplus
+ YY_FATAL_ERROR( "unexpected last match in yyinput()" );
+#else
+ YY_FATAL_ERROR( "unexpected last match in input()" );
+#endif
+ }
+ }
+ }
+
+ c = *yy_c_buf_p;
+ yy_hold_char = *++yy_c_buf_p;
+
+ return ( c );
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+
+ {
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* flush out information for old buffer */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* we don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
+
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ yy_init_buffer( b, file );
+
+ return ( b );
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ free( (char *) b->yy_ch_buf );
+ free( (char *) b );
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+ {
+ b->yy_input_file = file;
+
+ /* we put in the '\n' and start reading from [1] so that an
+ * initial match-at-newline will be true.
+ */
+
+ b->yy_ch_buf[0] = '\n';
+ b->yy_n_chars = 1;
+
+ /* we always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[1];
+
+ b->yy_eof_status = EOF_NOT_SEEN;
+ }
+# line 108 "lexer.l"
+
+
+
+#ifdef FLEX_SCANNER
+static int lex_input() {
+ return input();
+}
+#else /* BSD/AT&T lex */
+#ifndef input
+# error "Sorry, but need either flex or AT&T lex"
+#endif
+static int lex_input() {
+ return input();
+}
+/* # undef unput
+# define unput(_c) my_unput(_c)
+*/
+
+# undef input
+# define input() my_input()
+static int my_unput(char c)
+{
+ if (lex_read_from_string) {
+ /* Make sure we have something */
+ if (lex_string_ptr) {
+ if (c == '\n') yylineno--;
+ lex_string_ptr--;
+ }
+ } else {
+ yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;
+/* unput(c); Causes infinite recursion! */
+ }
+ return c;
+}
+
+#endif
+
+/* Public */
+void LexFromFile(FILE *fd)
+{
+ lex_read_from_string = 0;
+ yyin = fd;
+ /* Don't know why this is necessary, but otherwise
+ * lex only works _once_!
+ */
+#ifdef FLEX_SCANNER
+ yy_init = 1;
+#endif
+}
+
+void LexFromString(char *buffer)
+{
+ lex_read_from_string = 1;
+ lex_buffer = buffer;
+ lex_buffer_length = strlen(buffer);
+ lex_string_ptr = 0;
+ /* Don't know why this is necessary, but otherwise
+ * lex only works _once_!
+ */
+#ifdef FLEX_SCANNER
+ yy_init = 1;
+#endif
+}
+
+static int my_input( void )
+{
+ if (lex_read_from_string) {
+ if (lex_string_ptr == lex_buffer_length)
+ return 0;
+ else {
+ char c = lex_buffer[lex_string_ptr++];
+#ifndef FLEX_SCANNER
+ if (c == '\n') yylineno++;
+#endif
+ return c;
+ }
+ } else {
+ return lex_input();
+ }
+}
+
+void wxExprCleanUp()
+{
+ if (yy_current_buffer)
+ yy_delete_buffer(yy_current_buffer);
+}
diff --git a/src/common/cwy_tab.c b/src/common/cwy_tab.c
new file mode 100644
index 0000000000..1ad5970dd7
--- /dev/null
+++ b/src/common/cwy_tab.c
@@ -0,0 +1,532 @@
+#ifndef lint
+static char yysccsid[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90";
+#endif
+#define YYBYACC 1
+#line 2 "parser.y"
+#include "string.h"
+#ifdef _MSC_VER
+#include
+#endif
+#include "wx/expr.h"
+
+#ifndef __EXTERN_C__
+#define __EXTERN_C__ 1
+#endif
+
+#if defined(__cplusplus) || defined(__STDC__)
+#if defined(__cplusplus) && defined(__EXTERN_C__)
+extern "C" {
+#endif
+#endif
+int yylex(void);
+int yylook(void);
+int yywrap(void);
+int yyback(int *, int);
+#ifdef __WXMAC__
+int read( int , char * , int ) ;
+int fileno( void* ) ;
+#endif
+
+/* You may need to put /DLEX_SCANNER in your makefile
+ * if you're using LEX!
+ Last change: JS 13 Jul 97 6:12 pm
+ */
+#ifdef LEX_SCANNER
+/* int yyoutput(int); */
+void yyoutput(int);
+#else
+void yyoutput(int);
+#endif
+
+#if defined(__cplusplus) || defined(__STDC__)
+#if defined(__cplusplus) && defined(__EXTERN_C__)
+}
+#endif
+#endif
+#line 36 "parser.y"
+typedef union {
+ char *s;
+/* struct pexpr *expr; */
+} YYSTYPE;
+#line 44 "y_tab.c"
+#define INTEGER 1
+#define WORD 2
+#define STRING 3
+#define PERIOD 13
+#define OPEN 4
+#define CLOSE 5
+#define COMMA 6
+#define NEWLINE 7
+#define ERROR 8
+#define OPEN_SQUARE 9
+#define CLOSE_SQUARE 10
+#define EQUALS 11
+#define EXP 14
+#define YYERRCODE 256
+short yylhs[] = { -1,
+ 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
+ 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
+};
+short yylen[] = { 2,
+ 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
+ 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
+};
+short yydefred[] = { 1,
+ 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
+ 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
+ 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
+ 0, 19,
+};
+short yydgoto[] = { 1,
+ 5, 14, 15, 16, 17,
+};
+short yysindex[] = { 0,
+ -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
+ 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
+ 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
+ 44, 0,
+};
+short yyrindex[] = { 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
+ 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
+ 0, 0,
+};
+short yygindex[] = { 0,
+ 0, 45, -8, 0, 26,
+};
+#define YYTABLESIZE 254
+short yytable[] = { 3,
+ 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
+ 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
+ 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
+ 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
+ 9, 27, 31, 9, 32, 6, 9, 29, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2,
+};
+short yycheck[] = { 2,
+ 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
+ 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
+ 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
+ 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
+ 10, 1, 14, 4, 1, 1, 5, 22, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 256,
+};
+#define YYFINAL 1
+#ifndef YYDEBUG
+#define YYDEBUG 0
+#endif
+#define YYMAXTOKEN 14
+#if YYDEBUG
+char *yyname[] = {
+"end-of-file","INTEGER","WORD","STRING","OPEN","CLOSE","COMMA","NEWLINE",
+"ERROR","OPEN_SQUARE","CLOSE_SQUARE","EQUALS",0,"PERIOD","EXP",
+};
+char *yyrule[] = {
+"$accept : commands",
+"commands :",
+"commands : commands command",
+"command : WORD PERIOD",
+"command : expr PERIOD",
+"command : error PERIOD",
+"expr : WORD OPEN arglist CLOSE",
+"expr : OPEN_SQUARE CLOSE_SQUARE",
+"expr : OPEN_SQUARE arglist CLOSE_SQUARE",
+"arglist :",
+"arglist : arg",
+"arglist : arg COMMA arglist",
+"arg : WORD EQUALS arg1",
+"arg : arg1",
+"arg1 : WORD",
+"arg1 : STRING",
+"arg1 : INTEGER",
+"arg1 : INTEGER PERIOD INTEGER",
+"arg1 : INTEGER EXP INTEGER",
+"arg1 : INTEGER PERIOD INTEGER EXP INTEGER",
+"arg1 : expr",
+};
+#endif
+#define yyclearin (yychar=(-1))
+#define yyerrok (yyerrflag=0)
+#ifdef YYSTACKSIZE
+#ifndef YYMAXDEPTH
+#define YYMAXDEPTH YYSTACKSIZE
+#endif
+#else
+#ifdef YYMAXDEPTH
+#define YYSTACKSIZE YYMAXDEPTH
+#else
+#define YYSTACKSIZE 600
+#define YYMAXDEPTH 600
+#endif
+#endif
+int yydebug;
+int yynerrs;
+int yyerrflag;
+int yychar;
+short *yyssp;
+YYSTYPE *yyvsp;
+YYSTYPE yyval;
+YYSTYPE yylval;
+short yyss[YYSTACKSIZE];
+YYSTYPE yyvs[YYSTACKSIZE];
+#define yystacksize YYSTACKSIZE
+#line 118 "parser.y"
+
+#ifdef IDE_INVOKED
+#include "../common/doslex.c"
+#else
+#if (defined(__MWERKS__))
+#include "../common/cwlex_yy.c"
+#else
+#include "../common/lex_yy.c"
+#endif
+#endif
+
+/*
+void yyerror(s)
+char *s;
+{
+ syntax_error(s);
+}
+*/
+
+/* Ansi prototype. If this doesn't work for you... uncomment
+ the above instead.
+ */
+
+void yyerror(char *s)
+{
+ syntax_error(s);
+}
+
+/*
+ * Unfortunately, my DOS version of FLEX
+ * requires yywrap to be #def'ed, whereas
+ * the UNIX flex expects a proper function.
+ */
+
+/* Not sure if __SC__ is the appropriate thing
+ * to test
+ */
+
+#ifndef __SC__
+#ifdef USE_DEFINE
+#ifndef yywrap
+#define yywrap() 1
+#endif
+#else
+int yywrap() { return 1; }
+#endif
+#endif
+#line 247 "y_tab.c"
+#define YYABORT goto yyabort
+#define YYACCEPT goto yyaccept
+#define YYERROR goto yyerrlab
+int
+yyparse()
+{
+ register int yym, yyn, yystate;
+#if YYDEBUG
+ register char *yys;
+ extern char *getenv();
+
+ if (yys = getenv("YYDEBUG"))
+ {
+ yyn = *yys;
+ if (yyn >= '0' && yyn <= '9')
+ yydebug = yyn - '0';
+ }
+#endif
+
+ yynerrs = 0;
+ yyerrflag = 0;
+ yychar = (-1);
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+ *yyssp = yystate = 0;
+
+yyloop:
+ if (yyn = yydefred[yystate]) goto yyreduce;
+ if (yychar < 0)
+ {
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("yydebug: state %d, reading %d (%s)\n", yystate,
+ yychar, yys);
+ }
+#endif
+ }
+ if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: state %d, shifting to state %d\n",
+ yystate, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ yychar = (-1);
+ if (yyerrflag > 0) --yyerrflag;
+ goto yyloop;
+ }
+ if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ {
+ yyn = yytable[yyn];
+ goto yyreduce;
+ }
+ if (yyerrflag) goto yyinrecovery;
+#ifdef lint
+ goto yynewerror;
+#endif
+yynewerror:
+ yyerror("syntax error");
+#ifdef lint
+ goto yyerrlab;
+#endif
+yyerrlab:
+ ++yynerrs;
+yyinrecovery:
+ if (yyerrflag < 3)
+ {
+ yyerrflag = 3;
+ for (;;)
+ {
+ if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: state %d, error recovery shifting\
+ to state %d\n", *yyssp, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ goto yyloop;
+ }
+ else
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: error recovery discarding state %d\n",
+ *yyssp);
+#endif
+ if (yyssp <= yyss) goto yyabort;
+ --yyssp;
+ --yyvsp;
+ }
+ }
+ }
+ else
+ {
+ if (yychar == 0) goto yyabort;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("yydebug: state %d, error recovery discards token %d (%s)\n",
+ yystate, yychar, yys);
+ }
+#endif
+ yychar = (-1);
+ goto yyloop;
+ }
+yyreduce:
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: state %d, reducing by rule %d (%s)\n",
+ yystate, yyn, yyrule[yyn]);
+#endif
+ yym = yylen[yyn];
+ yyval = yyvsp[1-yym];
+ switch (yyn)
+ {
+case 3:
+#line 68 "parser.y"
+{process_command(proio_cons(wxmake_word(yyvsp[-1].s), NULL)); free(yyvsp[-1].s);}
+break;
+case 4:
+#line 70 "parser.y"
+{process_command(yyvsp[-1].s);}
+break;
+case 5:
+#line 72 "parser.y"
+{syntax_error("Unrecognized command.");}
+break;
+case 6:
+#line 76 "parser.y"
+{yyval.s = proio_cons(wxmake_word(yyvsp[-3].s), yyvsp[-1].s); free(yyvsp[-3].s);}
+break;
+case 7:
+#line 78 "parser.y"
+{yyval.s = proio_cons(NULL, NULL);}
+break;
+case 8:
+#line 80 "parser.y"
+{yyval.s = yyvsp[-1].s; }
+break;
+case 9:
+#line 84 "parser.y"
+{yyval.s = NULL;}
+break;
+case 10:
+#line 86 "parser.y"
+{yyval.s = proio_cons(yyvsp[0].s, NULL);}
+break;
+case 11:
+#line 89 "parser.y"
+{yyval.s = proio_cons(yyvsp[-2].s, yyvsp[0].s);}
+break;
+case 12:
+#line 93 "parser.y"
+{yyval.s = proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp[-2].s), proio_cons(yyvsp[0].s, NULL)));
+ free(yyvsp[-2].s); }
+break;
+case 13:
+#line 96 "parser.y"
+{yyval.s = yyvsp[0].s; }
+break;
+case 14:
+#line 99 "parser.y"
+{yyval.s = wxmake_word(yyvsp[0].s); free(yyvsp[0].s);}
+break;
+case 15:
+#line 101 "parser.y"
+{yyval.s = wxmake_string(yyvsp[0].s); free(yyvsp[0].s);}
+break;
+case 16:
+#line 103 "parser.y"
+{yyval.s = wxmake_integer(yyvsp[0].s); free(yyvsp[0].s);}
+break;
+case 17:
+#line 105 "parser.y"
+{yyval.s = wxmake_real(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); }
+break;
+case 18:
+#line 107 "parser.y"
+{yyval.s = wxmake_exp(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); }
+break;
+case 19:
+#line 110 "parser.y"
+{yyval.s = wxmake_exp2(yyvsp[-4].s, yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-4].s); free(yyvsp[-2].s);
+ free(yyvsp[0].s); }
+break;
+case 20:
+#line 114 "parser.y"
+{yyval.s = yyvsp[0].s;}
+break;
+#line 461 "y_tab.c"
+ }
+ yyssp -= yym;
+ yystate = *yyssp;
+ yyvsp -= yym;
+ yym = yylhs[yyn];
+ if (yystate == 0 && yym == 0)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: after reduction, shifting from state 0 to\
+ state %d\n", YYFINAL);
+#endif
+ yystate = YYFINAL;
+ *++yyssp = YYFINAL;
+ *++yyvsp = yyval;
+ if (yychar < 0)
+ {
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("yydebug: state %d, reading %d (%s)\n",
+ YYFINAL, yychar, yys);
+ }
+#endif
+ }
+ if (yychar == 0) goto yyaccept;
+ goto yyloop;
+ }
+ if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+ yystate = yytable[yyn];
+ else
+ yystate = yydgoto[yym];
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: after reduction, shifting from state %d \
+to state %d\n", *yyssp, yystate);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate;
+ *++yyvsp = yyval;
+ goto yyloop;
+yyoverflow:
+ yyerror("yacc stack overflow");
+yyabort:
+ return (1);
+yyaccept:
+ return (0);
+}
diff --git a/src/common/doslex.c b/src/common/doslex.c
new file mode 100644
index 0000000000..be7be146d1
--- /dev/null
+++ b/src/common/doslex.c
@@ -0,0 +1,1277 @@
+/* A lexical scanner generated by flex */
+
+/* scanner skeleton version:
+ * $Header$
+ Last change: JS 13 Jul 97 6:17 pm
+ */
+
+#define FLEX_SCANNER
+
+#include
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include
+
+#ifdef __SALFORDC__
+#include
+#include
+#else
+#include
+#endif
+
+#ifdef __VISAGECPP__
+#include
+#endif
+
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+
+/* use prototypes in function declarations */
+#define YY_USE_PROTOS
+
+/* the "const" storage-class-modifier is valid */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#ifdef __STDC__
+
+#ifdef __GNUC__
+#include
+#else
+#include
+#endif /* __GNUC__ */
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+
+#ifdef __TURBOC__
+#define YY_USE_CONST
+#endif
+
+
+#ifndef YY_USE_CONST
+#define const
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+/* we can't get here if it's an ANSI C compiler, or a C++ compiler,
+ * so it's got to be a K&R compiler, and therefore there's no standard
+ * place from which to include these definitions
+ */
+/*
+char *malloc();
+int free();
+*/
+
+int read();
+#endif
+
+
+/* amount of stuff to slurp up with each read */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* returned upon end-of-file */
+#define YY_END_TOK 0
+
+/* copy whatever the last rule matched to the standard output */
+
+/* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
+/* this used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite()
+ */
+#define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
+
+/* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#define YY_INPUT(buf,result,max_size) \
+ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
+ YY_FATAL_ERROR( "read() in flex scanner failed" );
+#define YY_NULL 0
+
+/* no semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#define yyterminate() return ( YY_NULL )
+
+/* report a fatal error */
+
+/* The funky do-while is used to turn this macro definition into
+ * a single C statement (which needs a semi-colon terminator).
+ * This avoids problems with code like:
+ *
+ * if ( something_happens )
+ * YY_FATAL_ERROR( "oops, the something happened" );
+ * else
+ * everything_okay();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the YY_FATAL_ERROR() call.
+ */
+
+#if !defined(__VISAGECPP__)
+#define YY_FATAL_ERROR(msg) \
+ do \
+ { \
+ (void) fputs( msg, stderr ); \
+ (void) putc( '\n', stderr ); \
+ exit( 1 ); \
+ } \
+ while ( 0 )
+#else
+/* suppress expression always false warning */
+int os2var = 0;
+#define YY_FATAL_ERROR(msg) \
+ do \
+ { \
+ (void) fputs( msg, stderr ); \
+ (void) putc( '\n', stderr ); \
+ exit( 1 ); \
+ } \
+ while ( os2var == 0 )
+#endif
+
+/* default yywrap function - always treat EOF as an EOF */
+int yywrap(void) { return 1; }
+
+
+/* enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* action number for EOF rule of a given start state */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* special action meaning "start processing a new file" */
+#if !defined(__VISAGECPP__)
+#define YY_NEW_FILE \
+ do \
+ { \
+ yy_init_buffer( yy_current_buffer, yyin ); \
+ yy_load_buffer_state(); \
+ } \
+ while ( 0 )
+#else
+#define YY_NEW_FILE \
+ do \
+ { \
+ yy_init_buffer( yy_current_buffer, yyin ); \
+ yy_load_buffer_state(); \
+ } \
+ while ( os2var == 0 )
+#endif
+
+/* default declaration of generated scanner - a define so the user can
+ * easily add parameters
+ */
+#define YY_DECL int yylex YY_PROTO(( void ))
+
+/* code executed at the end of each rule */
+#define YY_BREAK break;
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
+#endif
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+#define YY_CHAR unsigned char
+# line 1 "lexer.l"
+#define INITIAL 0
+# line 9 "lexer.l"
+/*
+ * File: lexer.l
+ * Description: Lexical analyser for PROLOGIO; can be used with
+ * either lex and flex.
+ */
+#include
+
+/* +++steve162e: added, otherwise, PROIO_input will be undefined (at least under LINUX)
+ please check, if this is also TRUE under other UNIXes.
+ */
+
+#if defined(FLEX_SCANNER) && defined(_LINUX)
+#define PROIO_input my_input
+#endif
+/* ---steve162e */
+
+#include "wx/expr.h"
+#ifdef wx_x
+extern char *malloc();
+#endif
+#define Return(x) return x;
+
+#if defined(VMS) && ( __VMS_VER < 70000000 )
+#define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s));
+#endif
+
+static size_t lex_buffer_length = 0;
+static const char *lex_buffer = NULL;
+static size_t lex_string_ptr = 0;
+static int lex_read_from_string = 0;
+
+static int my_input(void);
+static int my_unput(char);
+
+#ifdef FLEX_SCANNER
+#undef YY_INPUT
+# define YY_INPUT(buf,result,max_size) \
+ if (lex_read_from_string) \
+ { int c = my_input(); result = (c == 0) ? YY_NULL : ((buf)[0]=(c), 1); } \
+ else \
+ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
+ YY_FATAL_ERROR( "read() in flex scanner failed" );
+#else
+# ifndef unput
+# undef unput
+# endif
+# define unput(_c) my_unput(_c)
+#endif
+
+# line 58 "lexer.l"
+
+/* done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext = yy_bp; \
+ yyleng = yy_cp - yy_bp; \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* return all but the first 'n' matched characters back to the input stream */
+#if !defined(__VISAGECPP__)
+#define yyless(n) \
+ do \
+ { \
+ /* undo effects of setting up yytext */ \
+ *yy_cp = yy_hold_char; \
+ yy_c_buf_p = yy_cp = yy_bp + n; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+#else
+#define yyless(n) \
+ do \
+ { \
+ /* undo effects of setting up yytext */ \
+ *yy_cp = yy_hold_char; \
+ yy_c_buf_p = yy_cp = yy_bp + n; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( os2var == 0 )
+#endif
+
+#undef unput
+#define unput(c) yyunput( c, yytext )
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ YY_CHAR *yy_ch_buf; /* input buffer */
+ YY_CHAR *yy_buf_pos; /* current position in input buffer */
+
+ /* size of input buffer in bytes, not including room for EOB characters*/
+ int yy_buf_size;
+
+ /* number of characters read into yy_ch_buf, not including EOB characters */
+ int yy_n_chars;
+
+ int yy_eof_status; /* whether we've seen an EOF on this buffer */
+#define EOF_NOT_SEEN 0
+ /* "pending" happens when the EOF has been seen but there's still
+ * some text process
+ */
+#define EOF_PENDING 1
+#define EOF_DONE 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer;
+
+/* we provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state"
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed */
+static YY_CHAR yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+#ifndef YY_USER_INIT
+#define YY_USER_INIT
+#endif
+
+extern YY_CHAR *yytext;
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+YY_CHAR *yytext;
+int yyleng;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+#define YY_END_OF_BUFFER 18
+typedef int yy_state_type;
+static const short int yy_accept[34] =
+ { 0,
+ 0, 0, 18, 16, 13, 14, 16, 16, 6, 7,
+ 16, 8, 12, 16, 1, 11, 3, 9, 10, 2,
+ 0, 5, 0, 0, 0, 4, 1, 15, 3, 5,
+ 0, 0, 0
+ } ;
+
+static const YY_CHAR yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 6,
+ 7, 8, 9, 10, 9, 11, 12, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 1, 1, 1,
+ 14, 1, 1, 1, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 16, 17, 18, 1, 15, 1, 15, 15, 15, 15,
+
+ 19, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 1, 20, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static const YY_CHAR yy_meta[21] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 2, 1, 2, 1, 3, 1, 2, 1
+ } ;
+
+static const short int yy_base[37] =
+ { 0,
+ 0, 0, 48, 55, 55, 55, 17, 42, 55, 55,
+ 19, 55, 55, 23, 17, 55, 0, 55, 55, 0,
+ 18, 55, 19, 23, 21, 55, 12, 55, 0, 24,
+ 25, 29, 55, 49, 52, 22
+ } ;
+
+static const short int yy_def[37] =
+ { 0,
+ 33, 1, 33, 33, 33, 33, 34, 35, 33, 33,
+ 33, 33, 33, 33, 33, 33, 36, 33, 33, 36,
+ 34, 33, 34, 34, 35, 33, 33, 33, 36, 34,
+ 34, 34, 0, 33, 33, 33
+ } ;
+
+static const short int yy_nxt[76] =
+ { 0,
+ 4, 5, 6, 7, 8, 9, 10, 4, 11, 12,
+ 13, 14, 15, 16, 17, 18, 4, 19, 20, 4,
+ 22, 22, 30, 29, 27, 26, 22, 22, 30, 27,
+ 28, 27, 30, 23, 23, 23, 24, 24, 24, 31,
+ 23, 32, 24, 24, 24, 23, 26, 33, 24, 21,
+ 21, 21, 25, 25, 3, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33
+ } ;
+
+static const short int yy_chk[76] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 7, 21, 23, 36, 27, 25, 24, 30, 31, 15,
+ 14, 11, 32, 7, 21, 23, 7, 21, 23, 24,
+ 30, 31, 24, 30, 31, 32, 8, 3, 32, 34,
+ 34, 34, 35, 35, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static YY_CHAR *yy_last_accepting_cpos;
+
+/* the intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+
+/* these variables are all declared out here so that section 3 code can
+ * manipulate them
+ */
+/* points to current character in buffer */
+static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
+void yyrestart YY_PROTO(( FILE *input_file ));
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+
+#define yy_new_buffer yy_create_buffer
+
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register YY_CHAR *yy_cp, *yy_bp;
+ register int yy_act;
+
+
+
+
+ if ( yy_init )
+ {
+ YY_USER_INIT;
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( yy_current_buffer )
+ yy_init_buffer( yy_current_buffer, yyin );
+ else
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+
+ yy_init = 0;
+ }
+
+#if !defined(__VISAGECPP__)
+ while ( 1 ) /* loops until end-of-file is reached */
+#else
+ os2var = 1;
+ if (os2var == 0) return 0;
+ while ( os2var == 1 ) /* loops until end-of-file is reached */
+#endif
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* support of yytext */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of the
+ * current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[*yy_cp];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ ++yy_cp;
+ }
+ while ( yy_current_state != 33 );
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+
+ YY_DO_BEFORE_ACTION;
+ YY_USER_ACTION;
+
+do_action: /* this label is used only to access EOF actions */
+
+
+ switch ( yy_act )
+ {
+ case 0: /* must backtrack */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+# line 60 "lexer.l"
+{yylval.s = strdup((const char*) yytext); Return(INTEGER);}
+ YY_BREAK
+case 2:
+# line 62 "lexer.l"
+Return(EXP);
+ YY_BREAK
+case 3:
+# line 64 "lexer.l"
+{yylval.s = strdup((const char*) yytext); Return(WORD);}
+ YY_BREAK
+case 4:
+# line 66 "lexer.l"
+{int len = strlen((const char*) yytext);
+ yytext[len-1] = 0;
+ yylval.s = strdup((const char*) (yytext+1));
+ Return(WORD);}
+ YY_BREAK
+case 5:
+# line 71 "lexer.l"
+{yylval.s = strdup((const char*) yytext); Return(STRING);}
+ YY_BREAK
+case 6:
+# line 73 "lexer.l"
+Return(OPEN);
+ YY_BREAK
+case 7:
+# line 75 "lexer.l"
+Return(CLOSE);
+ YY_BREAK
+case 8:
+# line 77 "lexer.l"
+Return(COMMA);
+ YY_BREAK
+case 9:
+# line 79 "lexer.l"
+Return(OPEN_SQUARE);
+ YY_BREAK
+case 10:
+# line 81 "lexer.l"
+Return(CLOSE_SQUARE);
+ YY_BREAK
+case 11:
+# line 83 "lexer.l"
+Return(EQUALS);
+ YY_BREAK
+case 12:
+# line 85 "lexer.l"
+Return(PERIOD);
+ YY_BREAK
+case 13:
+# line 87 "lexer.l"
+;
+ YY_BREAK
+case 14:
+# line 89 "lexer.l"
+;
+ YY_BREAK
+case 15:
+# line 91 "lexer.l"
+{ loop:
+#ifdef __cplusplus
+ while (yyinput() != '*');
+ switch (yyinput())
+#else
+ while (input() != '*');
+ switch (input())
+#endif
+ {
+ case '/': break;
+ case '*': unput('*');
+ default: goto loop;
+ }
+ }
+ YY_BREAK
+case 16:
+# line 106 "lexer.l"
+Return(ERROR);
+ YY_BREAK
+case 17:
+# line 108 "lexer.l"
+ECHO;
+ YY_BREAK
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* amount of text matched not including the EOB char */
+ int yy_amount_of_matched_text = yy_cp - yytext - 1;
+
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+
+ /* note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the end-
+ * of-buffer state). Contrast this with the test in yyinput().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* this was really a NUL */
+ {
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* okay, we're now positioned to make the
+ * NUL transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we
+ * don't want to build jamming into it because
+ * then it will run more slowly)
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* consume the NUL */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* note: because we've taken care in
+ * yy_get_next_buffer() to have set up yytext,
+ * we can now set up yy_c_buf_p so that if some
+ * total hoser (like flex itself) wants
+ * to call the scanner after we return the
+ * YY_NULL, it'll still work - another YY_NULL
+ * will get returned.
+ */
+ yy_c_buf_p = yytext + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF((yy_start - 1) / 2);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ }
+ break;
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+#ifdef FLEX_DEBUG
+ printf( "action # %d\n", yy_act );
+#endif
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ }
+ }
+#if defined(__VISAGECPP__)
+/* VA complains about proc maybe not returning a value so return one */
+return 0;
+#endif
+ }
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * synopsis
+ * int yy_get_next_buffer();
+ *
+ * returns a code representing an action
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+
+ {
+ register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
+ register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ /* try to read more data */
+
+ /* first move last chars to start of buffer */
+ number_to_move = yy_c_buf_p - yytext;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ else if ( num_to_read <= 0 )
+ YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
+
+ /* read in more data */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == 1 )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yy_current_buffer->yy_eof_status = EOF_DONE;
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_eof_status = EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ /* yytext begins at the second character in yy_ch_buf; the first
+ * character is the one which preceded it before reading in the latest
+ * buffer; it needs to be kept around in case it's a newline, so
+ * yy_get_previous_state() will have with '^' rules active
+ */
+
+ yytext = &yy_current_buffer->yy_ch_buf[1];
+
+ return ( ret_val );
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached
+ *
+ * synopsis
+ * yy_state_type yy_get_previous_state();
+ */
+
+static yy_state_type yy_get_previous_state()
+
+ {
+ register yy_state_type yy_current_state;
+ register YY_CHAR *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ }
+
+ return ( yy_current_state );
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+register yy_state_type yy_current_state;
+#endif
+
+ {
+ register int yy_is_jam;
+ register YY_CHAR *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = yy_def[yy_current_state];
+ if ( yy_current_state >= 34 )
+ yy_c = yy_meta[yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ yy_is_jam = (yy_current_state == 33);
+
+ return ( yy_is_jam ? 0 : yy_current_state );
+ }
+
+
+#ifdef YY_USE_PROTOS
+static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+YY_CHAR c;
+register YY_CHAR *yy_bp;
+#endif
+
+ {
+ register YY_CHAR *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
+ register YY_CHAR *dest =
+ &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
+ register YY_CHAR *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += dest - source;
+ yy_bp += dest - source;
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
+ yy_cp[-2] = '\n';
+
+ *--yy_cp = c;
+
+ /* note: the formal parameter *must* be called "yy_bp" for this
+ * macro to now work correctly
+ */
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
+ }
+
+
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+
+ {
+ int c;
+ YY_CHAR *yy_cp = yy_c_buf_p;
+
+ *yy_cp = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* this was really a NUL */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ yytext = yy_c_buf_p;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ {
+ yy_c_buf_p = yytext + YY_MORE_ADJ;
+ return ( EOF );
+ }
+
+ YY_NEW_FILE;
+
+#ifdef __cplusplus
+ return ( yyinput() );
+#else
+ return ( input() );
+#endif
+ }
+ break;
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext + YY_MORE_ADJ;
+ break;
+
+ case EOB_ACT_LAST_MATCH:
+#ifdef __cplusplus
+ YY_FATAL_ERROR( "unexpected last match in yyinput()" );
+#else
+ YY_FATAL_ERROR( "unexpected last match in input()" );
+#endif
+ }
+ }
+ }
+
+ c = *yy_c_buf_p;
+ yy_hold_char = *++yy_c_buf_p;
+
+ return ( c );
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+
+ {
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* flush out information for old buffer */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* we don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
+
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ yy_init_buffer( b, file );
+
+ return ( b );
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ free( (char *) b->yy_ch_buf );
+ free( (char *) b );
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+ {
+ b->yy_input_file = file;
+
+ /* we put in the '\n' and start reading from [1] so that an
+ * initial match-at-newline will be true.
+ */
+
+ b->yy_ch_buf[0] = '\n';
+ b->yy_n_chars = 1;
+
+ /* we always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[1];
+
+ b->yy_eof_status = EOF_NOT_SEEN;
+ }
+# line 108 "lexer.l"
+
+
+
+#ifdef FLEX_SCANNER
+static int lex_input() {
+ return input();
+}
+#else /* BSD/AT&T lex */
+#ifndef input
+# error "Sorry, but need either flex or AT&T lex"
+#endif
+static int lex_input() {
+ return input();
+}
+/* # undef unput
+# define unput(_c) my_unput(_c)
+*/
+
+# undef input
+# define input() my_input()
+static int my_unput(char c)
+{
+ if (lex_read_from_string) {
+ /* Make sure we have something */
+ if (lex_string_ptr) {
+ if (c == '\n') yylineno--;
+ lex_string_ptr--;
+ }
+ } else {
+ yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;
+/* unput(c); Causes infinite recursion! */
+ }
+ return c;
+}
+
+#endif
+
+/* Public */
+void LexFromFile(FILE *fd)
+{
+ lex_read_from_string = 0;
+ yyin = fd;
+ /* Don't know why this is necessary, but otherwise
+ * lex only works _once_!
+ */
+#ifdef FLEX_SCANNER
+ yy_init = 1;
+#endif
+}
+
+void LexFromString(char *buffer)
+{
+ lex_read_from_string = 1;
+ lex_buffer = buffer;
+ lex_buffer_length = strlen((const char*) buffer);
+ lex_string_ptr = 0;
+ /* Don't know why this is necessary, but otherwise
+ * lex only works _once_!
+ */
+#ifdef FLEX_SCANNER
+ yy_init = 1;
+#endif
+}
+
+static int my_input( void )
+{
+ if (lex_read_from_string) {
+ if (lex_string_ptr == lex_buffer_length)
+ return 0;
+ else {
+ char c = lex_buffer[lex_string_ptr++];
+#ifndef FLEX_SCANNER
+ if (c == '\n') yylineno++;
+#endif
+ return c;
+ }
+ } else {
+ return lex_input();
+ }
+}
+
+void wxExprCleanUp()
+{
+ if (yy_current_buffer)
+ yy_delete_buffer(yy_current_buffer);
+}
diff --git a/src/common/dosyacc.c b/src/common/dosyacc.c
new file mode 100644
index 0000000000..5cd881ca33
--- /dev/null
+++ b/src/common/dosyacc.c
@@ -0,0 +1,528 @@
+#ifndef lint
+static char yysccsid[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90";
+#endif
+#define YYBYACC 1
+#line 2 "parser.y"
+#include "string.h"
+#if defined(_MSC_VER) || defined(__VISAGECPP__)
+#include
+#endif
+#include "wx/expr.h"
+
+#ifndef __EXTERN_C__
+#define __EXTERN_C__ 1
+#endif
+
+#if defined(__cplusplus) || defined(__STDC__)
+#if defined(__cplusplus) && defined(__EXTERN_C__)
+extern "C" {
+#endif
+#endif
+int yylex(void);
+int yylook(void);
+int yywrap(void);
+int yyback(int *, int);
+
+/* You may need to put /DLEX_SCANNER in your makefile
+ * if you're using LEX!
+ */
+#ifdef LEX_SCANNER
+/* int yyoutput(int); */
+void yyoutput(int);
+#else
+void yyoutput(int);
+#endif
+
+#if defined(__cplusplus) || defined(__STDC__)
+#if defined(__cplusplus) && defined(__EXTERN_C__)
+}
+#endif
+#endif
+#line 36 "parser.y"
+typedef union {
+ char *s;
+/* struct pexpr *expr; */
+} YYSTYPE;
+#line 44 "y_tab.c"
+#define INTEGER 1
+#define WORD 2
+#define STRING 3
+#define PERIOD 13
+#define OPEN 4
+#define CLOSE 5
+#define COMMA 6
+#define NEWLINE 7
+#define ERROR 8
+#define OPEN_SQUARE 9
+#define CLOSE_SQUARE 10
+#define EQUALS 11
+#define EXP 14
+#define YYERRCODE 256
+short yylhs[] = { -1,
+ 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
+ 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
+};
+short yylen[] = { 2,
+ 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
+ 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
+};
+short yydefred[] = { 1,
+ 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
+ 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
+ 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
+ 0, 19,
+};
+short yydgoto[] = { 1,
+ 5, 14, 15, 16, 17,
+};
+short yysindex[] = { 0,
+ -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
+ 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
+ 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
+ 44, 0,
+};
+short yyrindex[] = { 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
+ 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
+ 0, 0,
+};
+short yygindex[] = { 0,
+ 0, 45, -8, 0, 26,
+};
+#define YYTABLESIZE 254
+short yytable[] = { 3,
+ 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
+ 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
+ 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
+ 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
+ 9, 27, 31, 9, 32, 6, 9, 29, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2,
+};
+short yycheck[] = { 2,
+ 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
+ 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
+ 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
+ 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
+ 10, 1, 14, 4, 1, 1, 5, 22, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 256,
+};
+#define YYFINAL 1
+#ifndef YYDEBUG
+#define YYDEBUG 0
+#endif
+#define YYMAXTOKEN 14
+#if YYDEBUG
+char *yyname[] = {
+"end-of-file","INTEGER","WORD","STRING","OPEN","CLOSE","COMMA","NEWLINE",
+"ERROR","OPEN_SQUARE","CLOSE_SQUARE","EQUALS",0,"PERIOD","EXP",
+};
+char *yyrule[] = {
+"$accept : commands",
+"commands :",
+"commands : commands command",
+"command : WORD PERIOD",
+"command : expr PERIOD",
+"command : error PERIOD",
+"expr : WORD OPEN arglist CLOSE",
+"expr : OPEN_SQUARE CLOSE_SQUARE",
+"expr : OPEN_SQUARE arglist CLOSE_SQUARE",
+"arglist :",
+"arglist : arg",
+"arglist : arg COMMA arglist",
+"arg : WORD EQUALS arg1",
+"arg : arg1",
+"arg1 : WORD",
+"arg1 : STRING",
+"arg1 : INTEGER",
+"arg1 : INTEGER PERIOD INTEGER",
+"arg1 : INTEGER EXP INTEGER",
+"arg1 : INTEGER PERIOD INTEGER EXP INTEGER",
+"arg1 : expr",
+};
+#endif
+#define yyclearin (yychar=(-1))
+#define yyerrok (yyerrflag=0)
+#ifdef YYSTACKSIZE
+#ifndef YYMAXDEPTH
+#define YYMAXDEPTH YYSTACKSIZE
+#endif
+#else
+#ifdef YYMAXDEPTH
+#define YYSTACKSIZE YYMAXDEPTH
+#else
+#define YYSTACKSIZE 600
+#define YYMAXDEPTH 600
+#endif
+#endif
+int yydebug;
+int yynerrs;
+int yyerrflag;
+int yychar;
+short *yyssp;
+YYSTYPE *yyvsp;
+YYSTYPE yyval;
+YYSTYPE yylval;
+short yyss[YYSTACKSIZE];
+YYSTYPE yyvs[YYSTACKSIZE];
+#define yystacksize YYSTACKSIZE
+#line 118 "parser.y"
+
+#ifdef IDE_INVOKED
+#include "../common/doslex.c"
+#else
+#include "../common/lex_yy.c"
+#endif
+
+/*
+void yyerror(s)
+char *s;
+{
+ syntax_error(s);
+}
+*/
+
+/* Ansi prototype. If this doesn't work for you... uncomment
+ the above instead.
+ */
+
+void yyerror(char *s)
+{
+ syntax_error(s);
+}
+
+/*
+ * Unfortunately, my DOS version of FLEX
+ * requires yywrap to be #def'ed, whereas
+ * the UNIX flex expects a proper function.
+ */
+
+/* Not sure if __SC__ is the appropriate thing
+ * to test
+ */
+
+#ifndef __SC__
+#ifdef USE_DEFINE
+#ifndef yywrap
+#define yywrap() 1
+#endif
+#else
+# if !(defined(__VISAGECPP__) && __IBMC__ >= 400)
+/* VA 4.0 thinks this is multiply defined (in lex_yy.c) */
+ int yywrap() { return 1; }
+# endif
+#endif
+#endif
+#line 247 "y_tab.c"
+#define YYABORT goto yyabort
+#define YYACCEPT goto yyaccept
+#define YYERROR goto yyerrlab
+int
+yyparse()
+{
+ register int yym, yyn, yystate;
+#if YYDEBUG
+ register char *yys;
+ extern char *getenv();
+
+ yys = getenv("YYDEBUG");
+ if (yys)
+ {
+ yyn = *yys;
+ if (yyn >= '0' && yyn <= '9')
+ yydebug = yyn - '0';
+ }
+#endif
+
+ yynerrs = 0;
+ yyerrflag = 0;
+ yychar = (-1);
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+ *yyssp = yystate = 0;
+
+yyloop:
+ yyn = yydefred[yystate];
+ if (yyn != 0) goto yyreduce;
+ if (yychar < 0)
+ {
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("yydebug: state %d, reading %d (%s)\n", yystate,
+ yychar, yys);
+ }
+#endif
+ }
+ if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: state %d, shifting to state %d\n",
+ yystate, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ yychar = (-1);
+ if (yyerrflag > 0) --yyerrflag;
+ goto yyloop;
+ }
+ if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ {
+ yyn = yytable[yyn];
+ goto yyreduce;
+ }
+ if (yyerrflag) goto yyinrecovery;
+#ifdef lint
+ goto yynewerror;
+#endif
+yynewerror:
+ yyerror("syntax error");
+#ifdef lint
+ goto yyerrlab;
+#endif
+yyerrlab:
+ ++yynerrs;
+yyinrecovery:
+ if (yyerrflag < 3)
+ {
+ yyerrflag = 3;
+ for (;;)
+ {
+ if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: state %d, error recovery shifting\
+ to state %d\n", *yyssp, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ goto yyloop;
+ }
+ else
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: error recovery discarding state %d\n",
+ *yyssp);
+#endif
+ if (yyssp <= yyss) goto yyabort;
+ --yyssp;
+ --yyvsp;
+ }
+ }
+ }
+ else
+ {
+ if (yychar == 0) goto yyabort;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("yydebug: state %d, error recovery discards token %d (%s)\n",
+ yystate, yychar, yys);
+ }
+#endif
+ yychar = (-1);
+ goto yyloop;
+ }
+yyreduce:
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: state %d, reducing by rule %d (%s)\n",
+ yystate, yyn, yyrule[yyn]);
+#endif
+ yym = yylen[yyn];
+ yyval = yyvsp[1-yym];
+ switch (yyn)
+ {
+case 3:
+#line 68 "parser.y"
+{process_command(proio_cons(wxmake_word(yyvsp[-1].s), NULL)); free(yyvsp[-1].s);}
+break;
+case 4:
+#line 70 "parser.y"
+{process_command(yyvsp[-1].s);}
+break;
+case 5:
+#line 72 "parser.y"
+{syntax_error("Unrecognized command.");}
+break;
+case 6:
+#line 76 "parser.y"
+{yyval.s = proio_cons(wxmake_word(yyvsp[-3].s), yyvsp[-1].s); free(yyvsp[-3].s);}
+break;
+case 7:
+#line 78 "parser.y"
+{yyval.s = proio_cons(NULL, NULL);}
+break;
+case 8:
+#line 80 "parser.y"
+{yyval.s = yyvsp[-1].s; }
+break;
+case 9:
+#line 84 "parser.y"
+{yyval.s = NULL;}
+break;
+case 10:
+#line 86 "parser.y"
+{yyval.s = proio_cons(yyvsp[0].s, NULL);}
+break;
+case 11:
+#line 89 "parser.y"
+{yyval.s = proio_cons(yyvsp[-2].s, yyvsp[0].s);}
+break;
+case 12:
+#line 93 "parser.y"
+{yyval.s = proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp[-2].s), proio_cons(yyvsp[0].s, NULL)));
+ free(yyvsp[-2].s); }
+break;
+case 13:
+#line 96 "parser.y"
+{yyval.s = yyvsp[0].s; }
+break;
+case 14:
+#line 99 "parser.y"
+{yyval.s = wxmake_word(yyvsp[0].s); free(yyvsp[0].s);}
+break;
+case 15:
+#line 101 "parser.y"
+{yyval.s = wxmake_string(yyvsp[0].s); free(yyvsp[0].s);}
+break;
+case 16:
+#line 103 "parser.y"
+{yyval.s = wxmake_integer(yyvsp[0].s); free(yyvsp[0].s);}
+break;
+case 17:
+#line 105 "parser.y"
+{yyval.s = wxmake_real(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); }
+break;
+case 18:
+#line 107 "parser.y"
+{yyval.s = wxmake_exp(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); }
+break;
+case 19:
+#line 110 "parser.y"
+{yyval.s = wxmake_exp2(yyvsp[-4].s, yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-4].s); free(yyvsp[-2].s);
+ free(yyvsp[0].s); }
+break;
+case 20:
+#line 114 "parser.y"
+{yyval.s = yyvsp[0].s;}
+break;
+#line 461 "y_tab.c"
+ }
+ yyssp -= yym;
+ yystate = *yyssp;
+ yyvsp -= yym;
+ yym = yylhs[yyn];
+ if (yystate == 0 && yym == 0)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: after reduction, shifting from state 0 to\
+ state %d\n", YYFINAL);
+#endif
+ yystate = YYFINAL;
+ *++yyssp = YYFINAL;
+ *++yyvsp = yyval;
+ if (yychar < 0)
+ {
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("yydebug: state %d, reading %d (%s)\n",
+ YYFINAL, yychar, yys);
+ }
+#endif
+ }
+ if (yychar == 0) goto yyaccept;
+ goto yyloop;
+ }
+ if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+ yystate = yytable[yyn];
+ else
+ yystate = yydgoto[yym];
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: after reduction, shifting from state %d \
+to state %d\n", *yyssp, yystate);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate;
+ *++yyvsp = yyval;
+ goto yyloop;
+yyoverflow:
+ yyerror("yacc stack overflow");
+yyabort:
+ return (1);
+yyaccept:
+ return (0);
+}
diff --git a/src/common/lexer.l b/src/common/lexer.l
new file mode 100644
index 0000000000..8f8a1cdd9b
--- /dev/null
+++ b/src/common/lexer.l
@@ -0,0 +1,192 @@
+SIGN [+-]
+DIGIT [0-9]
+ALPHA [a-zA-Z_]
+ALPHADIGIT [a-zA-Z_0-9]
+STRINGCHAR [^"\\]
+WORDCHAR [^'\\]
+
+%{
+/*
+ * File: lexer.l
+ * Description: Lexical analyser for PROLOGIO; can be used with
+ * either lex and flex.
+ */
+#include
+#include
+
+/* +++steve162e: added, otherwise, PROIO_input will be undefined (at least under LINUX)
+ please check, if this is also TRUE under other UNIXes.
+ */
+
+#if defined(FLEX_SCANNER) && defined(_LINUX)
+#define PROIO_input my_input
+#endif
+/* ---steve162e */
+
+#include "wx/expr.h"
+
+#define Return(x) return x;
+
+#if defined(VMS) && !defined(strdup)
+#define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s));
+#endif
+
+static size_t lex_buffer_length = 0;
+static const char *lex_buffer = NULL;
+static size_t lex_string_ptr = 0;
+static int lex_read_from_string = 0;
+
+static int my_input(void);
+
+#ifdef FLEX_SCANNER
+# undef YY_INPUT
+# define YY_INPUT(buf,result,max_size) \
+ if (lex_read_from_string) \
+ { int c = my_input(); result = (c == 0) ? YY_NULL : ((buf)[0]=(c), 1); } \
+ else \
+ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
+ YY_FATAL_ERROR( "read() in flex scanner failed" );
+#else
+# undef unput
+# define unput(_c) my_unput(_c)
+ static int my_unput(char);
+#endif
+
+%}
+
+%%
+
+{SIGN}?{DIGIT}+ {yylval.s = strdup(yytext); Return(INTEGER);}
+
+"e" Return(EXP);
+
+{ALPHA}{ALPHADIGIT}* {yylval.s = strdup(yytext); Return(WORD);}
+
+"'"{WORDCHAR}*"'" {int len = strlen(yytext);
+ yytext[len-1] = 0;
+ yylval.s = strdup(yytext+1);
+ Return(WORD);}
+
+\"({STRINGCHAR}|\\\"|\|\\\\|\\)*\" {yylval.s = strdup(yytext); Return(STRING);}
+
+"(" Return(OPEN);
+
+")" Return(CLOSE);
+
+"," Return(COMMA);
+
+"[" Return(OPEN_SQUARE);
+
+"]" Return(CLOSE_SQUARE);
+
+"=" Return(EQUALS);
+
+"." Return(PERIOD);
+
+[ \t] ;
+
+\n ;
+
+"/*" { loop:
+#ifdef __cplusplus
+ while (yyinput() != '*');
+ switch (yyinput())
+#else
+ while (input() != '*');
+ switch (input())
+#endif
+ {
+ case '/': break;
+ case '*': unput('*');
+ default: goto loop;
+ }
+ }
+
+. Return(ERROR);
+
+%%
+
+
+#ifdef FLEX_SCANNER
+static int lex_input() {
+ return input();
+}
+#else /* BSD/AT&T lex */
+#ifndef input
+# error "Sorry, but need either flex or AT&T lex"
+#endif
+static int lex_input() {
+ return input();
+}
+
+# undef input
+# define input() my_input()
+static int my_unput(char c)
+{
+ if (lex_read_from_string != 0) {
+ /* Make sure we have something */
+ if (lex_string_ptr) {
+ if (c == '\n') yylineno--;
+ lex_string_ptr--;
+ }
+ } else {
+ yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;
+/* unput(c); Causes infinite recursion! */
+ }
+ return c;
+}
+
+#endif
+
+/* Public */
+void LexFromFile(FILE *fd)
+{
+ lex_read_from_string = 0;
+ yyin = fd;
+ /* Don't know why this is necessary, but otherwise
+ * lex only works _once_!
+ */
+#ifdef FLEX_SCANNER
+ yyrestart(fd);
+ yy_init = 1;
+#endif
+}
+
+void LexFromString(char *buffer)
+{
+ lex_read_from_string = 1;
+ lex_buffer = buffer;
+ lex_buffer_length = strlen(buffer);
+ lex_string_ptr = 0;
+ /* Don't know why this is necessary, but otherwise
+ * lex only works _once_!
+ */
+#ifdef FLEX_SCANNER
+ yy_init = 1;
+#endif
+}
+
+static int my_input( void )
+{
+ if (lex_read_from_string) {
+ if (lex_string_ptr == lex_buffer_length)
+ return 0;
+ else {
+ char c = lex_buffer[lex_string_ptr++];
+#ifndef FLEX_SCANNER
+ if (c == '\n') yylineno++;
+#endif
+ return c;
+ }
+ } else {
+ return lex_input();
+ }
+}
+
+void wxExprCleanUp()
+{
+#ifdef FLEX_SCANNER
+ if (yy_current_buffer)
+ yy_delete_buffer(yy_current_buffer);
+#endif
+}
diff --git a/src/common/objstrm.cpp b/src/common/objstrm.cpp
new file mode 100644
index 0000000000..e0156b200d
--- /dev/null
+++ b/src/common/objstrm.cpp
@@ -0,0 +1,326 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: objstrm.cpp
+// Purpose: wxObjectStream classes
+// Author: Guilhem Lavaux
+// Modified by:
+// Created: 16/07/98
+// RCS-ID: $Id$
+// Copyright: (c) 1998 Guilhem Lavaux
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+ #pragma implementation "objstrm.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_SERIAL && wxUSE_STREAMS
+
+#include "wx/object.h"
+#include "wx/objstrm.h"
+#include "wx/datstrm.h"
+
+#define WXOBJ_BEGIN "OBEGIN"
+#define WXOBJ_BEG_LEN 6
+
+#define TAG_EMPTY_OBJECT "NULL"
+#define TAG_DUPLICATE_OBJECT "DUPLIC"
+
+// ----------------------------------------------------------------------------
+// wxObjectOutputStream
+// ----------------------------------------------------------------------------
+
+wxObjectOutputStream::wxObjectOutputStream(wxOutputStream& s)
+ : wxFilterOutputStream(s)
+{
+ m_saving = FALSE;
+}
+
+wxString wxObjectOutputStream::GetObjectName(wxObject *obj)
+{
+ wxString name;
+
+ name.Printf(wxT("%x"), (unsigned long)obj);
+ return name;
+}
+
+void wxObjectOutputStream::WriteObjectDef(wxObjectStreamInfo& info)
+{
+ wxDataOutputStream data_s(*this);
+
+ Write(WXOBJ_BEGIN, WXOBJ_BEG_LEN);
+
+ if (info.duplicate) {
+ data_s.WriteString(TAG_DUPLICATE_OBJECT);
+ data_s.WriteString(GetObjectName(info.object));
+ wxPrintf(wxT("info.object (dup %s)\n"), info.object->GetClassInfo()->GetClassName());
+ return;
+ }
+
+ if (info.object) {
+ data_s.WriteString(info.object->GetClassInfo()->GetClassName());
+ wxPrintf(wxT("info.object (%s)\n"), info.object->GetClassInfo()->GetClassName());
+ } else {
+ data_s.WriteString(TAG_EMPTY_OBJECT);
+ wxPrintf(wxT("info.object (NULL)\n"));
+ return;
+ }
+
+ data_s.WriteString(GetObjectName(info.object));
+
+ // I assume an object will not have millions of children
+ // Hmmm ... it could have (for example wxGrid)
+ data_s.Write32(info.children.Number());
+}
+
+void wxObjectOutputStream::AddChild(wxObject *obj)
+{
+ wxObjectStreamInfo *info;
+
+ if (!FirstStage())
+ return;
+
+ info = new wxObjectStreamInfo;
+
+ if (m_saved_objs.Member(obj) != NULL) {
+ info->duplicate = TRUE;
+ } else {
+ info->duplicate = FALSE;
+ m_saved_objs.Append(obj);
+ }
+ if (!obj)
+ info->duplicate = FALSE;
+
+ info->n_children = 0;
+ info->object = obj;
+ info->parent = m_current_info; // Not useful here.
+ m_current_info->n_children++;
+ m_current_info->children.Append(info);
+}
+
+void wxObjectOutputStream::ProcessObjectDef(wxObjectStreamInfo *info)
+{
+ wxNode *node;
+
+ m_current_info = info;
+ // First stage: get children of obj
+ if (info->object && !info->duplicate)
+ info->object->StoreObject(*this);
+
+ // Prepare and write the sub-entry about the child obj.
+ WriteObjectDef(*info);
+
+ node = info->children.First();
+
+ while (node) {
+ ProcessObjectDef((wxObjectStreamInfo *)node->Data());
+ node = node->Next();
+ }
+}
+
+void wxObjectOutputStream::ProcessObjectData(wxObjectStreamInfo *info)
+{
+ wxNode *node = info->children.First();
+
+ m_current_info = info;
+
+ if (info->object && !info->duplicate)
+ info->object->StoreObject(*this);
+
+ while (node) {
+ ProcessObjectData((wxObjectStreamInfo *)node->Data());
+ node = node->Next();
+ }
+}
+
+bool wxObjectOutputStream::SaveObject(wxObject& obj)
+{
+ wxObjectStreamInfo info;
+
+ if (m_saving)
+ return FALSE;
+
+ m_saving = TRUE;
+
+ // First stage
+ m_stage = 0;
+ info.object = &obj;
+ info.n_children = 0;
+ info.duplicate = FALSE;
+ ProcessObjectDef(&info);
+
+ m_stage = 1;
+ ProcessObjectData(&info);
+
+ info.children.Clear();
+ m_saved_objs.Clear();
+
+ m_saving = FALSE;
+
+ return TRUE;
+}
+
+// ----------------------------------------------------------------------------
+// wxObjectInputStream
+// ----------------------------------------------------------------------------
+
+wxObjectInputStream::wxObjectInputStream(wxInputStream& s)
+ : wxFilterInputStream(s)
+{
+ m_secondcall = FALSE;
+}
+
+wxObject *wxObjectInputStream::SolveName(const wxString& name) const
+{
+ wxNode *node = m_solver.First();
+ wxObjectStreamInfo *info;
+
+ while (node) {
+ info = (wxObjectStreamInfo *)node->Data();
+ if (info->object_name == name)
+ return info->object;
+
+ node = node->Next();
+ }
+ return (wxObject *) NULL;
+}
+
+wxObject *wxObjectInputStream::GetParent() const
+{
+ if (!m_current_info->parent)
+ return (wxObject *) NULL;
+
+ return m_current_info->parent->object;
+}
+
+wxObject *wxObjectInputStream::GetChild()
+{
+ wxObject *obj = GetChild(0);
+
+ m_current_info->children_removed++;
+
+ return obj;
+}
+
+wxObject *wxObjectInputStream::GetChild(int no) const
+{
+ wxNode *node;
+ wxObjectStreamInfo *info;
+
+ if (m_current_info->children_removed >= m_current_info->n_children)
+ return (wxObject *) NULL;
+
+ node = m_current_info->children.Nth(m_current_info->children_removed+no);
+
+ if (!node)
+ return (wxObject *) NULL;
+
+ info = (wxObjectStreamInfo *)node->Data();
+
+ return info->object;
+}
+
+void wxObjectInputStream::RemoveChildren(int nb)
+{
+ m_current_info->children_removed += nb;
+}
+
+bool wxObjectInputStream::ReadObjectDef(wxObjectStreamInfo *info)
+{
+ wxDataInputStream data_s(*this);
+ char sig[WXOBJ_BEG_LEN+1];
+ wxString class_name;
+
+ Read(sig, WXOBJ_BEG_LEN);
+ sig[WXOBJ_BEG_LEN] = 0;
+ if (wxString(sig) != WXOBJ_BEGIN)
+ return FALSE;
+
+ class_name = data_s.ReadString();
+ info->children_removed = 0;
+ info->n_children = 0;
+
+ if (class_name == TAG_EMPTY_OBJECT)
+ info->object = (wxObject *) NULL;
+ else if (class_name == TAG_DUPLICATE_OBJECT) {
+ info->object_name = data_s.ReadString();
+ info->object = SolveName(info->object_name);
+ } else {
+ info->object_name = data_s.ReadString();
+ info->object = wxCreateDynamicObject( WXSTRINGCAST class_name);
+ info->n_children = data_s.Read32();
+ }
+ return TRUE;
+}
+
+wxObjectStreamInfo *wxObjectInputStream::ProcessObjectDef(wxObjectStreamInfo *parent)
+{
+ wxObjectStreamInfo *info, *c_info;
+ int c;
+
+ info = new wxObjectStreamInfo;
+ info->parent = parent;
+ info->children.DeleteContents(TRUE);
+
+ m_solver.Append(info);
+
+ if (!ReadObjectDef(info))
+ return (wxObjectStreamInfo *) NULL;
+
+ for (c=0;cn_children;c++) {
+ c_info = ProcessObjectDef(info);
+ if (!c_info)
+ return (wxObjectStreamInfo *) NULL;
+ info->children.Append(c_info);
+ }
+
+ return info;
+}
+
+void wxObjectInputStream::ProcessObjectData(wxObjectStreamInfo *info)
+{
+ wxNode *node = info->children.First();
+
+ m_current_info = info;
+
+ if (info->object)
+ info->object->LoadObject(*this);
+ while (node) {
+ ProcessObjectData((wxObjectStreamInfo *)node->Data());
+ node = node->Next();
+ }
+
+ m_current_info = info;
+
+ if (info->recall) {
+ m_secondcall = TRUE;
+ info->object->LoadObject(*this);
+ m_secondcall = FALSE;
+ }
+}
+
+wxObject *wxObjectInputStream::LoadObject()
+{
+ wxObjectStreamInfo *info;
+ wxObject *object;
+
+ info = ProcessObjectDef((wxObjectStreamInfo *) NULL);
+ if (!info)
+ return (wxObject *) NULL;
+ ProcessObjectData(info);
+
+ object = info->object;
+
+ delete info; // It's magic ! The whole tree is destroyed.
+
+ return object;
+}
+
+#endif // wxUSE_SERIAL && wxUSE_STREAMS
+
diff --git a/src/common/odbc.cpp b/src/common/odbc.cpp
new file mode 100644
index 0000000000..bdf71719d7
--- /dev/null
+++ b/src/common/odbc.cpp
@@ -0,0 +1,1840 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: odbc.cpp
+// Purpose: ODBC implementation
+// Author: Julian Smart, Olaf Klein (oklein@smallo.ruhr.de),
+// Patrick Halke (patrick@zaphod.ruhr.de)
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma implementation "odbc.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#include "wx/defs.h"
+
+// this code is old and shouldn't be used - use the new ODBC classes in db.cpp
+// and dbtable.cpp instead
+#define wxUSE_OLD_ODBC 0
+
+#if wxUSE_OLD_ODBC
+
+#ifdef __VISUALC__
+ #pragma warning(disable:4706) // assignment within conditional expression
+#endif // VC++
+
+#ifndef WX_PRECOMP
+#include "wx/utils.h"
+#include "wx/dialog.h"
+#endif
+
+#include "wx/string.h"
+#include "wx/odbc.h"
+
+#include
+#include
+
+#if defined(__WXMSW__) && !defined(__WIN32__)
+#include
+#endif
+
+HENV wxDatabase::hEnv = 0;
+int wxDatabase::refCount = 0;
+
+IMPLEMENT_DYNAMIC_CLASS(wxDatabase, wxObject)
+IMPLEMENT_DYNAMIC_CLASS(wxQueryCol, wxObject)
+IMPLEMENT_DYNAMIC_CLASS(wxQueryField, wxObject)
+IMPLEMENT_DYNAMIC_CLASS(wxRecordSet, wxObject)
+
+wxDatabase::wxDatabase(void)
+{
+ hDBC = 0;
+ username = NULL;
+ password = NULL;
+ datasource = NULL;
+ dbname = NULL;
+ connectstring = NULL;
+ isOpen = FALSE;
+ refCount ++;
+ retcode = 0;
+ username = NULL;
+ password = NULL;
+ err_occured = FALSE;
+
+ memset(sqlstate, 0, sizeof sqlstate);
+ memset(errmsg, 0, sizeof errmsg);
+
+ if (hEnv == 0)
+ {
+ retcode = SQLAllocEnv(&hEnv);
+
+ if (retcode != SQL_SUCCESS)
+ hEnv = 0;
+ }
+}
+
+wxDatabase::~wxDatabase(void)
+{
+ Close();
+ DeleteRecordSets(); // Added JACS
+
+ if (connectstring)
+ delete[] connectstring;
+ if (datasource)
+ delete[] datasource;
+ if (username)
+ delete[] username;
+ if (password)
+ delete[] password;
+ if (dbname)
+ delete[] dbname;
+
+ refCount --;
+ if (!refCount && hEnv)
+ {
+ retcode = SQLFreeEnv(hEnv);
+ hEnv = 0; // JACS 17/6
+ }
+}
+
+void wxDatabase::ErrorSnapshot(HSTMT hstmt)
+{
+ SWORD len = 0; // JACS: sometimes doesn't get filled in by SQLError.
+
+ err_occured = TRUE;
+ SQLError(hEnv, hDBC, hstmt, (unsigned char *)sqlstate, &nat_err, (unsigned char *)errmsg, SQL_MAX_MESSAGE_LENGTH-1, &len);
+ errmsg[len] = '\0';
+}
+
+bool wxDatabase::ErrorOccured(void)
+{
+ return err_occured;
+}
+
+char* wxDatabase::GetErrorMessage(void)
+{
+ return errmsg;
+}
+
+long wxDatabase::GetErrorNumber(void)
+{
+ return nat_err;
+}
+
+char* wxDatabase::GetErrorClass(void) {
+ return sqlstate;
+}
+
+bool wxDatabase::Open(char *thedatasource, bool WXUNUSED(exclusive),
+ bool WXUNUSED(readOnly), char *username, char *password)
+{
+ err_occured = FALSE;
+
+ if (isOpen)
+ return FALSE;
+
+ SetUsername(username);
+ SetPassword(password);
+ SetDataSource(thedatasource);
+
+ if (!hEnv)
+ return FALSE;
+
+ retcode = SQLAllocConnect(hEnv, &hDBC);
+ if (retcode != SQL_SUCCESS) {
+ hDBC = 0;
+ return FALSE;
+ }
+
+ retcode = SQLConnect(hDBC, (UCHAR FAR*)thedatasource, strlen(thedatasource), (UCHAR FAR*)username, strlen(username),
+ (UCHAR FAR*)password, strlen(password));
+
+ if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
+ ErrorSnapshot();
+ return FALSE;
+ }
+
+ isOpen = TRUE;
+
+ return TRUE;
+}
+
+bool wxDatabase::Close(void)
+{
+ // JACS: make sure the record set statements are all released.
+ ResetRecordSets();
+
+ err_occured = FALSE;
+ if (hDBC != 0)
+ {
+ retcode = SQLDisconnect(hDBC);
+
+ if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
+ ErrorSnapshot();
+ return FALSE;
+ }
+
+ retcode = SQLFreeConnect(hDBC);
+
+ hDBC = 0;
+ isOpen = FALSE;
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+// Database attributes
+char *wxDatabase::GetDatabaseName(void)
+{
+ err_occured = FALSE;
+ if (hDBC == 0)
+ return NULL;
+
+ char nameBuf[400];
+ int nameSize = 0;
+
+ retcode = SQLGetInfo(hDBC, SQL_DATABASE_NAME, (unsigned char*)nameBuf, sizeof(nameBuf), (short *)&nameSize);
+
+ if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO)
+ return NULL;
+
+ delete[] dbname;
+ dbname = NULL;
+
+ if (nameSize > 0)
+ {
+ dbname = copystring(nameBuf);
+ return dbname;
+ }
+ else
+ return NULL;
+}
+
+bool wxDatabase::CanUpdate(void)
+{
+ return FALSE;
+}
+
+bool wxDatabase::CanTransact(void)
+{
+ return FALSE;
+}
+
+bool wxDatabase::InWaitForDataSource(void)
+{
+ return FALSE;
+}
+
+void wxDatabase::SetLoginTimeout(long WXUNUSED(seconds))
+{
+}
+
+void wxDatabase::SetQueryTimeout(long WXUNUSED(seconds))
+{
+}
+
+void wxDatabase::SetSynchronousMode(bool WXUNUSED(synchronous))
+{
+}
+
+// Database operations
+bool wxDatabase::BeginTrans(void)
+{
+ return FALSE;
+}
+
+bool wxDatabase::CommitTrans(void)
+{
+ return FALSE;
+}
+
+bool wxDatabase::RollbackTrans(void)
+{
+ return FALSE;
+}
+
+void wxDatabase::Cancel(void)
+{
+}
+
+// Overridables
+void wxDatabase::OnSetOptions(wxRecordSet *WXUNUSED(recordSet))
+{
+}
+
+void wxDatabase::OnWaitForDataSource(bool WXUNUSED(stillExecuting))
+{
+}
+
+void wxDatabase::SetPassword(char *s)
+{
+ if (password)
+ delete[] password;
+ if (s)
+ {
+ password = copystring(s);
+ }
+ else
+ password = NULL;
+}
+
+void wxDatabase::SetUsername(char *s)
+{
+ delete[] username;
+
+ if (s)
+ username = copystring(s);
+ else
+ username = NULL;
+}
+
+void wxDatabase::SetDataSource(char *s)
+{
+ delete[] datasource;
+
+ if (s)
+ datasource = copystring(s);
+ else
+ datasource = NULL;
+}
+
+/*
+ * Added by JACS
+ */
+
+void wxDatabase::DeleteRecordSets(void)
+{
+ wxNode *node = recordSets.First();
+ while (node)
+ {
+ wxNode *next = node->Next();
+ wxRecordSet *rec = (wxRecordSet *)node->Data();
+ delete rec;
+ // The node is implicitly deleted by ~wxRecordSet
+ node = next;
+ }
+}
+
+void wxDatabase::ResetRecordSets(void)
+{
+ wxNode *node = recordSets.First();
+ while (node)
+ {
+ wxRecordSet *rec = (wxRecordSet *)node->Data();
+ rec->ReleaseHandle();
+
+ node = node->Next();
+ }
+}
+
+bool wxDatabase::GetInfo(long infoType, long *buf)
+{
+ short sz = 0;
+ retcode = SQLGetInfo(hDBC, (UWORD)infoType, (unsigned char*)buf, sizeof(buf), &sz);
+
+ if (retcode != SQL_ERROR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool wxDatabase::GetInfo(long infoType, char *buf, int bufSize)
+{
+ if (bufSize == -1)
+ bufSize = sizeof(buf);
+
+ short sz = 0;
+ retcode = SQLGetInfo(hDBC, (UWORD)infoType, (unsigned char*)buf, bufSize, &sz);
+
+ if (retcode != SQL_ERROR)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+wxString wxDatabase::GetODBCVersionString(bool implementation)
+{
+ char buf[50];
+ if (!implementation)
+ {
+#ifdef SQL_SPEC_MAJOR
+ sprintf(buf, "%d%d.%d", (int)(SQL_SPEC_MAJOR/10), (int)(SQL_SPEC_MAJOR - (((int)(SQL_SPEC_MAJOR/10))*10)),
+ SQL_SPEC_MINOR);
+ return wxString(buf);
+#else
+ return wxString("00.00");
+#endif
+ }
+
+ bool noDBC = FALSE;
+ if (hDBC == 0)
+ {
+ noDBC = TRUE;
+ retcode = SQLAllocConnect(hEnv, &hDBC);
+ if (retcode != SQL_SUCCESS)
+ {
+ hDBC = 0;
+ return wxString("00.00");
+ }
+ }
+
+ int bufSize = sizeof(buf);
+
+ short sz = 0;
+ retcode = SQLGetInfo(hDBC, (UWORD)SQL_ODBC_VER, (unsigned char*)buf, bufSize, &sz);
+
+ if (hDBC != 0 && noDBC)
+ {
+ retcode = SQLFreeConnect(hDBC);
+ hDBC = 0;
+ }
+
+ if (retcode == SQL_ERROR)
+ return wxString("");
+ else
+ return wxString(buf);
+}
+
+float wxDatabase::GetODBCVersionFloat(bool implementation)
+{
+ if (!implementation)
+ {
+#ifdef SQL_SPEC_MAJOR
+ return (float)(SQL_SPEC_MAJOR + (SQL_SPEC_MINOR/100.0));
+#else
+ return 0.0;
+#endif
+ }
+
+ bool noDBC = FALSE;
+ if (hDBC == 0)
+ {
+ noDBC = TRUE;
+ retcode = SQLAllocConnect(hEnv, &hDBC);
+ if (retcode != SQL_SUCCESS)
+ {
+ hDBC = 0;
+ return (float)0.0;
+ }
+ }
+
+ char buf[50];
+ int bufSize = sizeof(buf);
+
+ short sz = 0;
+ retcode = SQLGetInfo(hDBC, (UWORD)SQL_ODBC_VER, (unsigned char*)buf, bufSize, &sz);
+
+ if (hDBC != 0 && noDBC)
+ {
+ retcode = SQLFreeConnect(hDBC);
+ hDBC = 0;
+ }
+
+ if (retcode == SQL_ERROR)
+ return 0.0;
+ else
+ return (float)atof(buf);
+}
+
+/*
+ * wxRecordSet
+ */
+
+wxRecordSet::wxRecordSet(wxDatabase *db, int typ, int opt):
+ cols(wxKEY_STRING)
+{
+ parentdb = db;
+ hStmt = 0;
+ nFields = 0;
+ nParams = 0;
+ recordFilter = NULL;
+ sortString = NULL;
+ retcode = 0;
+ cursor = 0;
+ tablename = NULL;
+ nCols = 0;
+ nRecords = 0;
+
+ type = typ;
+ options = opt;
+
+ // Added JACS
+ if (parentdb)
+ parentdb->GetRecordSets().Append(this);
+}
+
+wxRecordSet::~wxRecordSet(void)
+{
+ ReleaseHandle();
+
+ // JACS
+ if (parentdb)
+ parentdb->GetRecordSets().DeleteObject(this);
+
+ if (recordFilter)
+ delete[] recordFilter;
+ if (sortString)
+ delete[] sortString;
+ if (tablename)
+ delete[] tablename;
+}
+
+// If SQL is non-NULL, table and columns can be NULL.
+bool wxRecordSet::BeginQuery(int WXUNUSED(openType), char *WXUNUSED(sql), int WXUNUSED(options))
+{
+ // Needs to construct an appropriate SQL statement. By default
+ // (i.e. if table and columns are provided) then
+ // SELECT FROM
+ // will be used.
+ if (!parentdb)
+ return FALSE;
+ if (!parentdb->GetHDBC())
+ return FALSE;
+
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ hStmt = 0;
+ }
+
+ retcode = SQLAllocStmt(parentdb->GetHDBC(), &hStmt);
+ if (retcode != SQL_SUCCESS)
+ return FALSE;
+
+ return TRUE;
+}
+
+bool wxRecordSet::Query(char *columns, char *table, char *filter)
+{
+ // Needs to construct an appropriate SQL statement. By default
+ // (i.e. if table and columns are provided) then
+ // SELECT FROM
+ // will be used.
+
+ char* thetable = table ? table : tablename;
+
+ if (!thetable)
+ return FALSE;
+ if (!columns)
+ return FALSE;
+
+ wxString query;
+
+ query += "SELECT ";
+ query += columns;
+ query += " FROM ";
+ query += thetable;
+
+ if (filter) {
+ query += " WHERE ";
+ query += filter;
+ }
+ retcode = SQLPrepare(hStmt, (UCHAR FAR *)query.GetData(), strlen(query.GetData()));
+ if (retcode != SQL_SUCCESS) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ retcode = SQLExecute(hStmt);
+
+ if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool wxRecordSet::EndQuery(void)
+{
+ return TRUE;
+}
+
+void wxRecordSet::FillVars(int recnum) {
+ wxNode* node = cols.First();
+
+ do {
+ ((wxQueryCol*)node->Data())->FillVar(recnum);
+ } while ((node = node->Next()));
+}
+
+bool wxRecordSet::GetResultSet(void)
+{
+// long trash = SQL_NULL_DATA; // value added by JACS
+ long trash;
+ // contains the number of bytes transferred by SQLFetch()
+ // who needs this ?
+ wxNode *currow, *fetch, *curcol;
+
+ retcode = SQLNumResultCols(hStmt, &nCols);
+
+ if (!nCols)
+ return TRUE;
+
+ // delete old data first
+ cols.DeleteContents(TRUE);
+ cols.Clear();
+ fetchbuf.DeleteContents(TRUE);
+ fetchbuf.Clear();
+
+ nRecords = 0;
+ cursor = 0;
+
+ int i;
+ for (i=0; iErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ wxQueryCol *col1 = new wxQueryCol;
+ curcol = cols.Append(name, col1);
+ col1->SetName(name);
+ col1->SetType(type);
+ col1->SetNullable((nullable != 0));
+
+ wxQueryField *field1 = new wxQueryField;
+ fetch = fetchbuf.Append(field1);
+ field1->SetType(type);
+ field1->SetSize(len);
+
+ SQLBindCol(hStmt, i+1, SQL_C_BINARY, (unsigned char*)field1->GetData(), field1->GetSize(), &trash);
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ // get it all !
+ // After we've done an SQLFetch, copy the data in the fetch buffer into
+ // new fields, for each column.
+ while (SQL_SUCCESS == (retcode = SQLFetch(hStmt)) || SQL_SUCCESS_WITH_INFO == retcode) {
+ nRecords++;
+
+ curcol = cols.First();
+ fetch = fetchbuf.First();
+ for (i=0; iData();
+ wxQueryCol *col = (wxQueryCol *)curcol->Data();
+ wxQueryField *field = new wxQueryField;
+
+ currow = col->fields.Append(field);
+
+ field->SetType(fetchField->GetType());
+ field->SetData(fetchField->GetData(), fetchField->GetSize());
+ curcol = curcol->Next();
+ fetchField->ClearData(); // Runs ok if this commented out and SetData commented out
+ fetch = fetch->Next();
+ }
+ }
+ // while loop should only be left, when no more data was found;
+ // otherwise it seems, that there was an error
+ if (SQL_NO_DATA_FOUND != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ break;
+ case wxOPEN_TYPE_DYNASET:
+ // get first record only
+ if (SQL_SUCCESS == (retcode = SQLFetch(hStmt)) || retcode == SQL_SUCCESS_WITH_INFO) {
+ nRecords = 1; // TO DO! # of records in the ODBC result set should be set here.
+
+ curcol = cols.First();
+ fetch = fetchbuf.First();
+ for (i=0; iData())->fields.Append(new wxQueryField);
+
+ ((wxQueryField*)currow->Data())->SetType(((wxQueryField*)fetch->Data())->GetType());
+ ((wxQueryField*)currow->Data())->SetData(((wxQueryField*)fetch->Data())->GetData(), ((wxQueryField*)fetch->Data())->GetSize());
+ curcol = curcol->Next();
+ ((wxQueryField*)fetch->Data())->ClearData();
+ fetch = fetch->Next();
+ }
+ }
+ if (SQL_NO_DATA_FOUND != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ FillVars(0);
+
+ return TRUE;
+}
+
+bool wxRecordSet::ExecuteSQL(char *sql)
+{
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ hStmt = NULL;
+ }
+
+ retcode = SQLAllocStmt(parentdb->GetHDBC(), &hStmt);
+
+ if (SQL_SUCCESS != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ retcode = SQLExecDirect(hStmt, (UCHAR FAR*)sql, SQL_NTS);
+
+ if (SQL_SUCCESS != retcode && SQL_SUCCESS_WITH_INFO != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ return GetResultSet();
+}
+
+bool wxRecordSet::GetDataSources(void) {
+
+ char *dsname = "Name", *dsdesc = "Description";
+ char namebuf[64];
+ char descbuf[512];
+ short namelen, desclen;
+
+ cursor = 0;
+
+ // delete old data first
+ cols.DeleteContents(TRUE);
+ cols.Clear();
+ nRecords = 0;
+
+ // JACS This is a snapshot, not a dynaset.
+ type = wxOPEN_TYPE_SNAPSHOT;
+
+ wxNode *namecol, *desccol;
+
+ namecol = cols.Append(dsname, new wxQueryCol);
+ ((wxQueryCol*)namecol->Data())->SetName(dsname);
+ ((wxQueryCol*)namecol->Data())->SetType(SQL_CHAR);
+ desccol = cols.Append(dsdesc, new wxQueryCol);
+ ((wxQueryCol*)desccol->Data())->SetName(dsdesc);
+ ((wxQueryCol*)desccol->Data())->SetType(SQL_CHAR);
+
+ retcode = SQLDataSources(parentdb->GetHENV(), SQL_FETCH_FIRST, (unsigned char *)namebuf, 63, &namelen, (unsigned char *)descbuf, 511, &desclen);
+ while (SQL_SUCCESS == retcode || SQL_SUCCESS_WITH_INFO == retcode) {
+ nRecords++;
+ ((wxQueryCol*)namecol->Data())->AppendField(namebuf, namelen);
+ ((wxQueryCol*)desccol->Data())->AppendField(descbuf, desclen);
+ retcode = SQLDataSources(parentdb->GetHENV(), SQL_FETCH_NEXT, (unsigned char *)namebuf, 63, &namelen, (unsigned char *)descbuf, 511, &desclen);
+ }
+
+ if (SQL_SUCCESS != retcode && SQL_SUCCESS_WITH_INFO != retcode && SQL_NO_DATA_FOUND != retcode) {
+ parentdb->ErrorSnapshot();
+ return FALSE;
+ }
+
+ cursor = 0;
+
+ return TRUE;
+}
+
+// Attributes
+void wxRecordSet::SetTableName(char* name) {
+ delete[] tablename;
+ tablename = NULL;
+
+ if (name)
+ tablename = copystring(name);
+}
+
+bool wxRecordSet::GetTables(void)
+{
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ hStmt = NULL;
+ }
+
+ retcode = SQLAllocStmt(parentdb->GetHDBC(), &hStmt);
+
+ if (SQL_SUCCESS != retcode) {
+ parentdb->ErrorSnapshot();
+ return FALSE;
+ }
+
+ retcode = SQLTables(hStmt, NULL, 0, NULL, 0, NULL, 0, NULL, 0);
+
+ if (SQL_SUCCESS != retcode && SQL_SUCCESS_WITH_INFO != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ return GetResultSet();
+}
+
+bool wxRecordSet::GetColumns(char* table)
+{
+ char* name=NULL;
+// char* wildcard = "%";
+
+ name = table ? table : tablename;
+
+ if (!name)
+ return FALSE;
+
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ hStmt = NULL;
+ }
+
+ retcode = SQLAllocStmt(parentdb->GetHDBC(), &hStmt);
+
+ if (SQL_SUCCESS != retcode) {
+ parentdb->ErrorSnapshot();
+ return FALSE;
+ }
+
+ //retcode = SQLColumns(hstmt, (unsigned char*)parentdb->GetDataSource(), strlen(parentdb->GetDataSource()), wildcard, 1, name, strlen(name), wildcard, 1);
+ retcode = SQLColumns(hStmt, NULL, 0, NULL, 0, (unsigned char *)name, strlen(name), NULL, 0);
+
+ if (SQL_SUCCESS != retcode && SQL_SUCCESS_WITH_INFO != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ return GetResultSet();
+}
+
+// It is derived from previous GetColumns
+bool wxRecordSet::GetPrimaryKeys(char* table)
+{
+ char* name=NULL;
+// char* wildcard = "%";
+
+ name = table ? table : tablename;
+
+ if (!name)
+ return FALSE;
+
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ hStmt = NULL;
+ }
+
+ retcode = SQLAllocStmt(parentdb->GetHDBC(), &hStmt);
+
+ if (SQL_SUCCESS != retcode) {
+ parentdb->ErrorSnapshot();
+ return FALSE;
+ }
+
+ retcode = SQLPrimaryKeys(hStmt, NULL, 0, NULL, 0, (unsigned char *)name, SQL_NTS);
+
+ if (SQL_SUCCESS != retcode && SQL_SUCCESS_WITH_INFO != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ return GetResultSet();
+}
+
+bool wxRecordSet::GetForeignKeys(char* PkTableName, char * FkTableName)
+{
+ char* Pkname=NULL;
+ char* Fkname=NULL;
+// char* wildcard = "%";
+
+// Try to disable situation: both PkTableName and FkTableName are NULL
+// set Pkname from tablename
+ if( !PkTableName && !FkTableName ) {
+ Pkname = PkTableName ? PkTableName : tablename;
+ Fkname = FkTableName ;
+ if (!Pkname )
+ return FALSE;
+ } else {
+ Pkname = PkTableName ;
+ Fkname = FkTableName ;
+ }
+
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ hStmt = NULL;
+ }
+
+ retcode = SQLAllocStmt(parentdb->GetHDBC(), &hStmt);
+
+ if (SQL_SUCCESS != retcode) {
+ parentdb->ErrorSnapshot();
+ return FALSE;
+ }
+
+ retcode = SQLForeignKeys(hStmt, NULL, 0, NULL, 0, (unsigned char *)Pkname,
+ (Pkname ? SQL_NTS : 0), NULL, 0, NULL, 0, (unsigned char *)Fkname ,(Fkname ?SQL_NTS : 0) );
+
+ if (SQL_SUCCESS != retcode && SQL_SUCCESS_WITH_INFO != retcode) {
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+
+ return GetResultSet();
+}
+
+long wxRecordSet::GetNumberRecords(void)
+{
+ return nRecords;
+}
+
+long wxRecordSet::GetNumberCols(void)
+{
+ return nCols;
+}
+
+char* wxRecordSet::GetColName(int col)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return NULL;
+
+ return ((wxQueryCol*)node->Data())->GetName();
+}
+
+short wxRecordSet::GetColType(int col)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return SQL_TYPE_NULL;
+
+ return ((wxQueryCol*)node->Data())->GetType();
+}
+
+short wxRecordSet::GetColType(const char *col)
+{
+ wxNode* node = cols.Find(col);
+
+ if (!node)
+ return SQL_TYPE_NULL;
+
+ return ((wxQueryCol*)node->Data())->GetType();
+}
+
+bool wxRecordSet::GetFieldData(int col, int type, void* data)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return FALSE;
+
+ if (((wxQueryCol*)node->Data())->GetType() != type)
+ return FALSE;
+
+ void* src = ((wxQueryCol*)node->Data())->GetData(cursor);
+
+ if (!src)
+ return FALSE;
+
+ memcpy(data, src, ((wxQueryCol*)node->Data())->GetSize(cursor));
+
+ return TRUE;
+}
+
+bool wxRecordSet::GetFieldData(const char* name, int type, void *data)
+{
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return FALSE;
+
+ if (((wxQueryCol*)node->Data())->GetType() != type)
+ return FALSE;
+
+ void* src = ((wxQueryCol*)node->Data())->GetData(cursor);
+
+ if (!src)
+ return FALSE;
+
+ memcpy(data, src, ((wxQueryCol*)node->Data())->GetSize(cursor));
+
+ return TRUE;
+}
+
+void* wxRecordSet::GetFieldDataPtr(int col, int type)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return NULL;
+
+ if (((wxQueryCol*)node->Data())->GetType() != type)
+ return NULL;
+
+ return ((wxQueryCol*)node->Data())->GetData(cursor);
+}
+
+void* wxRecordSet::GetFieldDataPtr(const char* name, int type)
+{
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return NULL;
+
+ if (((wxQueryCol*)node->Data())->GetType() != type)
+ return NULL;
+
+ return ((wxQueryCol*)node->Data())->GetData(cursor);
+}
+
+void* wxRecordSet::BindVar(int col, void* var, long size) {
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return NULL;
+
+ return ((wxQueryCol*)node->Data())->BindVar(var, size);
+}
+
+void* wxRecordSet::BindVar(const char* name, void* var, long size) {
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return NULL;
+
+ return ((wxQueryCol*)node->Data())->BindVar(var, size);
+}
+
+void wxRecordSet::SetType(int typ) {
+ type = typ;
+}
+
+int wxRecordSet::GetType(void) {
+ return type;
+}
+
+void wxRecordSet::SetOptions(int opts) {
+ options = opts;
+}
+
+int wxRecordSet::GetOptions(void) {
+ return options;
+}
+
+bool wxRecordSet::CanAppend(void)
+{
+ return FALSE;
+}
+
+bool wxRecordSet::CanRestart(void)
+{
+ return FALSE;
+}
+
+bool wxRecordSet::CanScroll(void)
+{
+ return FALSE;
+}
+
+bool wxRecordSet::CanTransact(void)
+{
+ return FALSE;
+}
+
+bool wxRecordSet::CanUpdate(void)
+{
+ return FALSE;
+}
+
+long wxRecordSet::GetCurrentRecord(void)
+{
+ return -1L;
+}
+
+bool wxRecordSet::RecordCountFinal(void)
+{
+ return FALSE;
+}
+
+char* wxRecordSet::GetTableName(void)
+{
+ return tablename;
+}
+
+char *wxRecordSet::GetSQL(void)
+{
+ return NULL;
+}
+
+bool wxRecordSet::IsOpen(void)
+{
+ return parentdb->IsOpen();
+}
+
+bool wxRecordSet::IsBOF(void)
+{
+ return cursor < 0;
+}
+
+bool wxRecordSet::IsEOF(void)
+{
+ return cursor >= nRecords;
+}
+
+bool wxRecordSet::IsDeleted(void)
+{
+ return FALSE;
+}
+
+// Update operations
+void wxRecordSet::AddNew(void)
+{
+}
+
+bool wxRecordSet::Delete(void)
+{
+ return FALSE;
+}
+
+void wxRecordSet::Edit(void)
+{
+}
+
+bool wxRecordSet::Update(void)
+{
+ return FALSE;
+}
+
+// Record navigation
+bool wxRecordSet::Move(long rows)
+{
+ if (!nRecords) {
+ cursor = -1;
+ return FALSE;
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ cursor += (int)rows;
+ if (cursor < 0) {
+ cursor = -1;
+ return FALSE;
+ }
+ if (cursor > nRecords-1) {
+ cursor = nRecords;
+ return FALSE;
+ }
+ return TRUE;
+
+ case wxOPEN_TYPE_DYNASET:
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+bool wxRecordSet::GoTo(long row)
+{
+ if (!nRecords) {
+ cursor = -1;
+ return FALSE;
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ cursor = (int)row;
+ if (cursor < 0) {
+ cursor = -1;
+ return FALSE;
+ }
+ if (cursor > nRecords-1) {
+ cursor = nRecords;
+ return FALSE;
+ }
+ return TRUE;
+
+ case wxOPEN_TYPE_DYNASET:
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+bool wxRecordSet::MoveFirst(void)
+{
+ if (!nRecords) {
+ cursor = -1;
+ return FALSE;
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ cursor = 0;
+ return TRUE;
+
+ case wxOPEN_TYPE_DYNASET:
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+bool wxRecordSet::MoveLast(void)
+{
+ if (!nRecords) {
+ cursor = -1;
+ return FALSE;
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ cursor = nRecords-1;
+ return TRUE;
+
+ case wxOPEN_TYPE_DYNASET:
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+bool wxRecordSet::MoveNext(void)
+{
+ if (!nRecords) {
+ cursor = -1;
+ return FALSE;
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ cursor++;
+ if (cursor >= nRecords) {
+ cursor = nRecords;
+ return FALSE;
+ }
+ return TRUE;
+
+ case wxOPEN_TYPE_DYNASET:
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+bool wxRecordSet::MovePrev(void)
+{
+ if (!nRecords) {
+ cursor = -1;
+ return FALSE;
+ }
+
+ switch (type) {
+ case wxOPEN_TYPE_SNAPSHOT:
+ cursor--;
+ if (cursor < 0) {
+ cursor = 0;
+ return FALSE;
+ }
+ return TRUE;
+
+ case wxOPEN_TYPE_DYNASET:
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+// Others
+void wxRecordSet::Cancel(void)
+{
+}
+
+bool wxRecordSet::IsFieldDirty(int col)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return FALSE;
+
+ return ((wxQueryCol*)node->Data())->IsFieldDirty(cursor);
+}
+
+bool wxRecordSet::IsFieldDirty(const char* name)
+{
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return FALSE;
+
+ return ((wxQueryCol*)node->Data())->IsFieldDirty(cursor);
+}
+
+bool wxRecordSet::IsFieldNull(int col)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return TRUE;
+
+ return NULL != ((wxQueryCol*)node->Data())->GetData(cursor);
+}
+
+bool wxRecordSet::IsFieldNull(const char* name)
+{
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return TRUE;
+
+ return NULL != ((wxQueryCol*)node->Data())->GetData(cursor);
+}
+
+bool wxRecordSet::IsColNullable(int col)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return FALSE;
+
+ return ((wxQueryCol*)node->Data())->IsNullable();
+}
+
+bool wxRecordSet::IsColNullable(const char* name)
+{
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return FALSE;
+
+ return ((wxQueryCol*)node->Data())->IsNullable();
+}
+
+bool wxRecordSet::Requery(void)
+{
+ return FALSE;
+}
+
+void wxRecordSet::SetFieldDirty(int col, bool dirty)
+{
+ wxNode* node = cols.Nth(col);
+
+ if (!node)
+ return;
+
+ ((wxQueryCol*)node->Data())->SetFieldDirty(cursor, dirty);
+}
+
+void wxRecordSet::SetFieldDirty(const char* name, bool dirty)
+{
+ wxNode* node = cols.Find(name);
+
+ if (!node)
+ return;
+
+ ((wxQueryCol*)node->Data())->SetFieldDirty(cursor, dirty);
+}
+
+void wxRecordSet::SetFieldNull(void *WXUNUSED(p), bool WXUNUSED(isNull))
+{
+}
+
+// Overridables
+char *wxRecordSet::GetDefaultConnect(void)
+{
+ return NULL;
+}
+
+char *wxRecordSet::GetDefaultSQL(void)
+{
+ return NULL;
+}
+
+void wxRecordSet::SetDefaultSQL(char *s)
+{
+ delete[] defaultSQL;
+
+ if (s)
+ defaultSQL = copystring(s);
+ else
+ defaultSQL = NULL;
+}
+
+// Build SQL query from column specification
+bool wxRecordSet::ConstructDefaultSQL(void)
+{
+// if (queryCols.Number() == 0)
+ return FALSE;
+}
+
+bool wxRecordSet::ReleaseHandle(void)
+{
+ if (hStmt)
+ {
+ retcode = SQLFreeStmt(hStmt, SQL_DROP);
+ if (retcode == SQL_ERROR)
+ {
+ if (parentdb)
+ parentdb->ErrorSnapshot(hStmt);
+ return FALSE;
+ }
+ hStmt = 0;
+ }
+ return TRUE;
+}
+
+wxQueryCol::wxQueryCol(void) {
+// __type = wxTYPE_QUERYCOL;
+ name = NULL;
+ type = SQL_TYPE_NULL;
+ nullable = FALSE;
+ var = NULL;
+ varsize = 0;
+}
+
+wxQueryCol::~wxQueryCol(void) {
+ // delete all data
+ fields.DeleteContents(TRUE);
+ fields.Clear();
+
+ if (name)
+ delete[] name;
+}
+
+void wxQueryCol::SetName(char* n) {
+ name = new char[strlen(n)+1];
+ strcpy(name, n);
+}
+
+bool wxQueryCol::SetData(int row, void* buf, long len) {
+ wxNode* node = fields.Nth(row);
+
+ if (!node)
+ return FALSE;
+
+ return ((wxQueryField*)node->Data())->SetData(buf, len);
+}
+
+void wxQueryCol::SetFieldDirty(int row, bool dirty) {
+ wxNode* node = fields.Nth(row);
+
+ if (!node)
+ return;
+
+ ((wxQueryField*)node->Data())->SetDirty(dirty);
+}
+
+void wxQueryCol::AppendField(void* buf, long len) {
+ wxNode* node = fields.Append(new wxQueryField);
+ ((wxQueryField*)node->Data())->SetType(type);
+ ((wxQueryField*)node->Data())->SetData(buf, len);
+}
+
+void wxQueryCol::SetType(short t) {
+ type = t;
+}
+
+void* wxQueryCol::BindVar(void* v, long s) {
+ void* oldvar = var;
+
+ var = v;
+ varsize = s;
+
+ return oldvar;
+}
+
+void wxQueryCol::FillVar(int recnum) {
+ if (!var)
+ return;
+
+ wxNode* node = fields.Nth(recnum);
+
+ if (!node)
+ return;
+
+ long actsize = ((wxQueryField*)node->Data())->GetSize();
+ if (actsize > varsize)
+ actsize = varsize;
+
+ memcpy(var, ((wxQueryField*)node->Data())->GetData(), actsize);
+}
+
+void wxQueryCol::SetNullable(bool n) {
+ nullable = n;
+}
+
+char* wxQueryCol::GetName(void) {
+ return name;
+}
+
+short wxQueryCol::GetType(void) {
+ return type;
+}
+
+bool wxQueryCol::IsNullable(void) {
+ return nullable;
+}
+
+
+bool wxQueryCol::IsFieldDirty(int row) {
+ wxNode* node = fields.Nth(row);
+
+ if (!node)
+ return FALSE;
+
+ return ((wxQueryField*)node->Data())->IsDirty();
+}
+
+void* wxQueryCol::GetData(int row) {
+ wxNode* node = fields.Nth(row);
+
+ if (!node)
+ return NULL;
+
+ return ((wxQueryField*)node->Data())->GetData();
+}
+
+long wxQueryCol::GetSize(int row) {
+ wxNode* node = fields.Nth(row);
+
+ if (!node)
+ return 0;
+
+ return ((wxQueryField*)node->Data())->GetSize();
+}
+
+wxQueryField::wxQueryField(void) {
+// __type = wxTYPE_QUERYROW;
+ data = NULL;
+ type = SQL_TYPE_NULL;
+ size = 0;
+ dirty = FALSE;
+}
+
+wxQueryField::~wxQueryField(void) {
+ switch (type)
+ {
+ case SQL_NUMERIC:
+ case SQL_DECIMAL:
+ case SQL_CHAR:
+ case SQL_VARCHAR:
+ if (data) // JACS
+ delete[] (char*)data;
+ break;
+ case SQL_INTEGER:
+ if (data) // JACS
+ delete (long*)data;
+ break;
+ case SQL_SMALLINT:
+ if (data)
+ delete (short*)data;
+ break;
+ case SQL_FLOAT:
+ case SQL_DOUBLE:
+ if (data)
+ delete (double*)data;
+ break;
+ case SQL_REAL:
+ if (data)
+ delete (float*)data;
+ break;
+ case SQL_TIME:
+ if (data)
+ delete (TIME_STRUCT *)data;
+ break;
+ case SQL_DATE:
+ if (data)
+ delete (DATE_STRUCT *)data;
+ break;
+ case SQL_TIMESTAMP:
+ if (data)
+ delete (TIMESTAMP_STRUCT *)data;
+ break;
+ }
+}
+
+bool wxQueryField::AllocData(void) {
+ switch (type)
+ {
+ case SQL_NUMERIC:
+ case SQL_DECIMAL:
+ case SQL_CHAR:
+ case SQL_VARCHAR:
+ {
+ if (data) // JACS
+ delete[] (char*)data;
+ if ((data = new char[size+1]))
+ {
+ char *str = (char *)data;
+ int i;
+ for (i = 0; i < size; i++)
+ str[i] = 0;
+// memset(data, 0, size+1);
+ }
+ break;
+ }
+ case SQL_INTEGER:
+ {
+ if (data) // JACS
+ delete (long*)data;
+ if ((data = new long))
+ *(long*)data = 0L;
+ break;
+ }
+ case SQL_SMALLINT:
+ {
+ if (data)
+ delete (short*)data;
+ if ((data = new short))
+ *(short*)data = 0;
+ break;
+ }
+ case SQL_FLOAT:
+ case SQL_DOUBLE:
+ {
+ if (data)
+ delete (double*)data;
+ if ((data = new double))
+ *(double*)data = 0;
+ break;
+ }
+ case SQL_REAL:
+ {
+ if (data)
+ delete (float*)data;
+ if ((data = new float))
+ *(float*)data = (float)0;
+ break;
+ }
+ case SQL_TIME:
+ {
+ if (data)
+ delete (TIME_STRUCT *)data;
+ data = new TIME_STRUCT;
+ memset(data, 0, sizeof(TIME_STRUCT));
+ break;
+ }
+ case SQL_DATE:
+ {
+ if (data)
+ delete (DATE_STRUCT *)data;
+ data = new DATE_STRUCT;
+ memset(data, 0, sizeof(DATE_STRUCT));
+ break;
+ }
+ case SQL_TIMESTAMP:
+ {
+ if (data)
+ delete (TIMESTAMP_STRUCT *)data;
+ data = new TIMESTAMP_STRUCT;
+ memset(data, 0, sizeof(TIMESTAMP_STRUCT));
+ break;
+ }
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool wxQueryField::SetData(void* d, long s) {
+ size = s;
+ if (AllocData() && d)
+ {
+// memcpy(data, d, s);
+ switch (type)
+ {
+ case SQL_NUMERIC:
+ case SQL_DECIMAL:
+ case SQL_CHAR:
+ case SQL_VARCHAR:
+ {
+ char *str = (char *)data;
+ int i;
+ for (i = 0; i < size; i++)
+ str[i] = 0;
+
+ strncpy(str, (char *)d, (int)size);
+ str[size] = 0;
+ break;
+ }
+ case SQL_INTEGER:
+ {
+ *(long*)data = *((long *)d);
+ break;
+ }
+ case SQL_SMALLINT:
+ {
+ *(short*)data = *((short*)d);
+ break;
+ }
+ case SQL_FLOAT:
+ case SQL_DOUBLE:
+ {
+ *(double*)data = *((double*)d);
+ break;
+ }
+ case SQL_REAL:
+ {
+ *(float*)data = *((float*)d);
+ break;
+ }
+ case SQL_TIME:
+ {
+ *(TIME_STRUCT *)data = *((TIME_STRUCT*)d);
+ break;
+ }
+ case SQL_TIMESTAMP:
+ {
+ *(TIMESTAMP_STRUCT *)data = *((TIMESTAMP_STRUCT*)d);
+ break;
+ }
+ case SQL_DATE:
+ {
+ *(DATE_STRUCT *)data = *((DATE_STRUCT*)d);
+ break;
+ }
+ default:
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void wxQueryField::ClearData(void) {
+ if (data)
+ {
+ // memset(data, 0, size);
+ switch (type)
+ {
+ case SQL_NUMERIC:
+ case SQL_DECIMAL:
+ case SQL_CHAR:
+ case SQL_VARCHAR:
+ {
+ char *str = (char *)data;
+ int i;
+ for (i = 0; i < size; i++)
+ str[i] = 0;
+ break;
+ }
+ case SQL_INTEGER:
+ {
+ *(long*)data = 0L;
+ break;
+ }
+ case SQL_SMALLINT:
+ {
+ *(short*)data = 0;
+ break;
+ }
+ case SQL_FLOAT:
+ case SQL_DOUBLE:
+ {
+ *(double*)data = (double)0.0;
+ break;
+ }
+ case SQL_REAL:
+ {
+ *(float*)data = (float)0.0;
+ break;
+ }
+ case SQL_TIME:
+ {
+ memset(data, 0, sizeof(TIME_STRUCT));
+ break;
+ }
+ case SQL_DATE:
+ {
+ memset(data, 0, sizeof(DATE_STRUCT));
+ break;
+ }
+ case SQL_TIMESTAMP:
+ {
+ memset(data, 0, sizeof(TIMESTAMP_STRUCT));
+ break;
+ }
+ default:
+ return;
+ }
+ }
+}
+
+void wxQueryField::SetDirty(bool d) {
+ dirty = d;
+}
+
+void wxQueryField::SetType(short t) {
+ type = t;
+}
+
+void wxQueryField::SetSize(long s) {
+ size = s;
+ AllocData();
+}
+
+void* wxQueryField::GetData(void) {
+ return data;
+}
+
+short wxQueryField::GetType(void) {
+ return type;
+}
+
+long wxQueryField::GetSize(void) {
+ return size;
+}
+
+bool wxQueryField::IsDirty(void) {
+ return dirty;
+}
+
+#ifdef __VISUALC__
+ #pragma warning(default:4706) // assignment within conditional expression
+#endif // VC++
+
+#endif // wxUSE_OLD_ODBC
diff --git a/src/common/parser.y b/src/common/parser.y
new file mode 100644
index 0000000000..591c10c551
--- /dev/null
+++ b/src/common/parser.y
@@ -0,0 +1,181 @@
+ %{
+#include "wx/setup.h"
+#include
+#ifdef _MSC_VER
+#include
+#endif
+#if defined(__GNUWIN32__) && !defined(__TWIN32__)
+#include
+#endif
+
+#include "wx/expr.h"
+
+#ifndef __EXTERN_C__
+#define __EXTERN_C__ 1
+#endif
+
+#if defined(__cplusplus) || defined(__STDC__)
+#if defined(__cplusplus) && defined(__EXTERN_C__)
+extern "C" {
+#endif
+#endif
+int yylex(void);
+int yylook(void);
+int yywrap(void);
+int yyback(int *, int);
+void yyerror(char *);
+
+/* You may need to put /DLEX_SCANNER in your makefile
+ * if you're using LEX!
+ */
+void yyoutput(int);
+
+#if defined(__cplusplus) || defined(__STDC__)
+#if defined(__cplusplus) && defined(__EXTERN_C__)
+}
+#endif
+#endif
+%}
+
+%union {
+ char *s;
+/* struct pexpr *expr; */
+}
+
+
+%start commands
+
+%token INTEGER 1
+%token WORD 2
+%token STRING 3
+%token PERIOD 13
+%token OPEN 4
+%token CLOSE 5
+%token COMMA 6
+%token NEWLINE 7
+%token ERROR 8
+%token OPEN_SQUARE 9
+%token CLOSE_SQUARE 10
+%token EQUALS 11
+%token EXP 14
+
+/* %type command expr arglist arg arg1 */
+%type command expr arglist arg arg1
+
+%%
+
+commands : /* empty */
+ | commands command
+ ;
+
+command : WORD PERIOD
+ {process_command(proio_cons(wxmake_word($1), NULL)); free($1);}
+ | expr PERIOD
+ {process_command($1);}
+ | error PERIOD
+ {syntax_error("Unrecognized command.");}
+ ;
+
+expr : WORD OPEN arglist CLOSE
+ {$$ = proio_cons(wxmake_word($1), $3); free($1);}
+ | OPEN_SQUARE CLOSE_SQUARE
+ {$$ = proio_cons(NULL, NULL);}
+ | OPEN_SQUARE arglist CLOSE_SQUARE
+ {$$ = $2; }
+ ;
+
+arglist :
+ {$$ = NULL;}
+ | arg
+ {$$ = proio_cons($1, NULL);}
+ |
+ arg COMMA arglist
+ {$$ = proio_cons($1, $3);}
+ ;
+
+arg : WORD EQUALS arg1
+ {$$ = proio_cons(wxmake_word("="), proio_cons(wxmake_word($1), proio_cons($3, NULL)));
+ free($1); }
+ | arg1
+ {$$ = $1; }
+
+arg1 : WORD
+ {$$ = wxmake_word($1); free($1);}
+ | STRING
+ {$$ = wxmake_string($1); free($1);}
+ | INTEGER
+ {$$ = wxmake_integer($1); free($1);}
+ | INTEGER PERIOD INTEGER
+ {$$ = wxmake_real($1, $3); free($1); free($3); }
+ | INTEGER EXP INTEGER
+ {$$ = wxmake_exp($1, $3); free($1); free($3); }
+ |
+ INTEGER PERIOD INTEGER EXP INTEGER
+ {$$ = wxmake_exp2($1, $3, $5); free($1); free($3);
+ free($5); }
+
+ | expr
+ {$$ = $1;}
+ ;
+
+%%
+
+/* We include lexer.c if we are building for gtk, wine or motif
+ * and also whenever we are using configure (marked by __WX_SETUP_H__) for,
+ * for example, cross compilation. */
+#if (defined(__WXGTK__) || defined(__WXWINE__) || defined(__WXMOTIF__)) || defined(__WX_SETUP_H__) && !defined(NO_CONFIGURE)
+#include "lexer.c"
+#else
+#if (defined(__MWERKS__))
+#include "../common/cwlex_yy.c"
+#else
+#include "../common/lex_yy.c"
+#endif
+#endif
+
+/*
+void yyerror(s)
+char *s;
+{
+ syntax_error(s);
+}
+*/
+
+/* Ansi prototype. If this doesn't work for you... uncomment
+ the above instead.
+ */
+
+void yyerror(char *s)
+{
+ syntax_error(s);
+}
+
+/*
+ * Unfortunately, my DOS version of FLEX
+ * requires yywrap to be #def'ed, whereas
+ * the UNIX flex expects a proper function.
+ */
+
+/* At least on alphaev6-dec-osf4.0e yywrap() must be #define'd */
+#if defined( __ALPHA__ ) && !defined( __VMS__ )
+#ifndef yywrap
+#define yywrap() 1
+#endif
+#else
+/* HH: Added test for __WX_SETUP_H__ for gnuwin builds
+ * using configure */
+#if !defined(__SC__) && !defined(__GNUWIN32__)
+#ifdef USE_DEFINE
+#ifndef yywrap
+#define yywrap() 1
+#endif
+#elif !defined(__ultrix)
+int yywrap() { return 1; }
+#elif defined(__VMS__)
+int yywrap() { return 1; }
+#endif
+#elif defined(__WX_SETUP_H__)
+int yywrap() { return 1; }
+#endif
+#endif
+
diff --git a/src/common/resourc2.cpp b/src/common/resourc2.cpp
new file mode 100644
index 0000000000..7774e5a7c5
--- /dev/null
+++ b/src/common/resourc2.cpp
@@ -0,0 +1,1581 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: resourc2.cpp
+// Purpose: Resource system (2nd file). Only required for 16-bit BC++.
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma implementation "resource.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#if wxUSE_WX_RESOURCES
+
+#ifdef __VISUALC__
+ #pragma warning(disable:4706) // assignment within conditional expression
+#endif // VC++
+
+#ifndef WX_PRECOMP
+#include "wx/defs.h"
+#include "wx/setup.h"
+#include "wx/list.h"
+#include "wx/hash.h"
+#include "wx/gdicmn.h"
+#include "wx/utils.h"
+#include "wx/types.h"
+#include "wx/menu.h"
+#include "wx/stattext.h"
+#include "wx/button.h"
+#include "wx/bmpbuttn.h"
+#include "wx/radiobox.h"
+#include "wx/listbox.h"
+#include "wx/choice.h"
+#include "wx/checkbox.h"
+#include "wx/settings.h"
+#include "wx/slider.h"
+#include "wx/statbox.h"
+#if wxUSE_GAUGE
+#include "wx/gauge.h"
+#endif
+#include "wx/textctrl.h"
+#include "wx/msgdlg.h"
+#include "wx/intl.h"
+#endif
+
+#if wxUSE_SCROLLBAR
+#include "wx/scrolbar.h"
+#endif
+
+#if wxUSE_COMBOBOX
+#include "wx/combobox.h"
+#endif
+
+#include "wx/validate.h"
+
+#include "wx/log.h"
+
+#include
+#include
+#include
+#include
+
+#include "wx/resource.h"
+#include "wx/string.h"
+#include "wx/wxexpr.h"
+
+#include "wx/settings.h"
+
+#if ((defined(__BORLANDC__) || defined(__SC__)) && defined(__WIN16__))
+
+// Forward (private) declarations
+bool wxResourceInterpretResources(wxResourceTable& table, wxExprDatabase& db);
+wxItemResource *wxResourceInterpretDialog(wxResourceTable& table, wxExpr *expr, bool isPanel = FALSE);
+wxItemResource *wxResourceInterpretControl(wxResourceTable& table, wxExpr *expr);
+wxItemResource *wxResourceInterpretMenu(wxResourceTable& table, wxExpr *expr);
+wxItemResource *wxResourceInterpretMenuBar(wxResourceTable& table, wxExpr *expr);
+wxItemResource *wxResourceInterpretString(wxResourceTable& table, wxExpr *expr);
+wxItemResource *wxResourceInterpretBitmap(wxResourceTable& table, wxExpr *expr);
+wxItemResource *wxResourceInterpretIcon(wxResourceTable& table, wxExpr *expr);
+// Interpret list expression
+wxFont wxResourceInterpretFontSpec(wxExpr *expr);
+
+bool wxResourceReadOneResource(FILE *fd, wxExprDatabase& db, bool *eof, wxResourceTable *table = (wxResourceTable *) NULL);
+bool wxResourceParseIncludeFile(const wxString& f, wxResourceTable *table = (wxResourceTable *) NULL);
+
+extern wxResourceTable *wxDefaultResourceTable;
+
+extern char *wxResourceBuffer;
+extern long wxResourceBufferSize;
+extern long wxResourceBufferCount;
+extern int wxResourceStringPtr;
+
+/*
+ * (Re)allocate buffer for reading in from resource file
+ */
+
+bool wxReallocateResourceBuffer()
+{
+ if (!wxResourceBuffer)
+ {
+ wxResourceBufferSize = 1000;
+ wxResourceBuffer = new char[wxResourceBufferSize];
+ return TRUE;
+ }
+ if (wxResourceBuffer)
+ {
+ long newSize = wxResourceBufferSize + 1000;
+ char *tmp = new char[(int)newSize];
+ strncpy(tmp, wxResourceBuffer, (int)wxResourceBufferCount);
+ delete[] wxResourceBuffer;
+ wxResourceBuffer = tmp;
+ wxResourceBufferSize = newSize;
+ }
+ return TRUE;
+}
+
+static bool wxEatWhiteSpace(FILE *fd)
+{
+ int ch = getc(fd);
+ if ((ch != ' ') && (ch != '/') && (ch != ' ') && (ch != 10) && (ch != 13) && (ch != 9))
+ {
+ ungetc(ch, fd);
+ return TRUE;
+ }
+
+ // Eat whitespace
+ while (ch == ' ' || ch == 10 || ch == 13 || ch == 9)
+ ch = getc(fd);
+ // Check for comment
+ if (ch == '/')
+ {
+ ch = getc(fd);
+ if (ch == '*')
+ {
+ bool finished = FALSE;
+ while (!finished)
+ {
+ ch = getc(fd);
+ if (ch == EOF)
+ return FALSE;
+ if (ch == '*')
+ {
+ int newCh = getc(fd);
+ if (newCh == '/')
+ finished = TRUE;
+ else
+ {
+ ungetc(newCh, fd);
+ }
+ }
+ }
+ }
+ else // False alarm
+ return FALSE;
+ }
+ else
+ ungetc(ch, fd);
+ return wxEatWhiteSpace(fd);
+}
+
+bool wxGetResourceToken(FILE *fd)
+{
+ if (!wxResourceBuffer)
+ wxReallocateResourceBuffer();
+ wxResourceBuffer[0] = 0;
+ wxEatWhiteSpace(fd);
+
+ int ch = getc(fd);
+ if (ch == '"')
+ {
+ // Get string
+ wxResourceBufferCount = 0;
+ ch = getc(fd);
+ while (ch != '"')
+ {
+ int actualCh = ch;
+ if (ch == EOF)
+ {
+ wxResourceBuffer[wxResourceBufferCount] = 0;
+ return FALSE;
+ }
+ // Escaped characters
+ else if (ch == '\\')
+ {
+ int newCh = getc(fd);
+ if (newCh == '"')
+ actualCh = '"';
+ else if (newCh == 10)
+ actualCh = 10;
+ else
+ {
+ ungetc(newCh, fd);
+ }
+ }
+
+ if (wxResourceBufferCount >= wxResourceBufferSize-1)
+ wxReallocateResourceBuffer();
+ wxResourceBuffer[wxResourceBufferCount] = (char)actualCh;
+ wxResourceBufferCount ++;
+ ch = getc(fd);
+ }
+ wxResourceBuffer[wxResourceBufferCount] = 0;
+ }
+ else
+ {
+ wxResourceBufferCount = 0;
+ // Any other token
+ while (ch != ' ' && ch != EOF && ch != ' ' && ch != 13 && ch != 9 && ch != 10)
+ {
+ if (wxResourceBufferCount >= wxResourceBufferSize-1)
+ wxReallocateResourceBuffer();
+ wxResourceBuffer[wxResourceBufferCount] = (char)ch;
+ wxResourceBufferCount ++;
+
+ ch = getc(fd);
+ }
+ wxResourceBuffer[wxResourceBufferCount] = 0;
+ if (ch == EOF)
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/*
+ * Files are in form:
+ static char *name = "....";
+ with possible comments.
+ */
+
+bool wxResourceReadOneResource(FILE *fd, wxExprDatabase& db, bool *eof, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ // static or #define
+ if (!wxGetResourceToken(fd))
+ {
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (strcmp(wxResourceBuffer, "#define") == 0)
+ {
+ wxGetResourceToken(fd);
+ char *name = copystring(wxResourceBuffer);
+ wxGetResourceToken(fd);
+ char *value = copystring(wxResourceBuffer);
+ if (isalpha(value[0]))
+ {
+ int val = (int)atol(value);
+ wxResourceAddIdentifier(name, val, table);
+ }
+ else
+ {
+ wxLogWarning(_("#define %s must be an integer."), name);
+ delete[] name;
+ delete[] value;
+ return FALSE;
+ }
+ delete[] name;
+ delete[] value;
+
+ return TRUE;
+ }
+ else if (strcmp(wxResourceBuffer, "#include") == 0)
+ {
+ wxGetResourceToken(fd);
+ char *name = copystring(wxResourceBuffer);
+ char *actualName = name;
+ if (name[0] == '"')
+ actualName = name + 1;
+ int len = strlen(name);
+ if ((len > 0) && (name[len-1] == '"'))
+ name[len-1] = 0;
+ if (!wxResourceParseIncludeFile(actualName, table))
+ {
+ wxLogWarning(_("Could not find resource include file %s."), actualName);
+ }
+ delete[] name;
+ return TRUE;
+ }
+ else if (strcmp(wxResourceBuffer, "static") != 0)
+ {
+ char buf[300];
+ strcpy(buf, _("Found "));
+ strncat(buf, wxResourceBuffer, 30);
+ strcat(buf, _(", expected static, #include or #define\nwhilst parsing resource."));
+ wxLogWarning(buf);
+ return FALSE;
+ }
+
+ // char
+ if (!wxGetResourceToken(fd))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (strcmp(wxResourceBuffer, "char") != 0)
+ {
+ wxLogWarning(_("Expected 'char' whilst parsing resource."));
+ return FALSE;
+ }
+
+ // *name
+ if (!wxGetResourceToken(fd))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (wxResourceBuffer[0] != '*')
+ {
+ wxLogWarning(_("Expected '*' whilst parsing resource."));
+ return FALSE;
+ }
+ char nameBuf[100];
+ strncpy(nameBuf, wxResourceBuffer+1, 99);
+
+ // =
+ if (!wxGetResourceToken(fd))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (strcmp(wxResourceBuffer, "=") != 0)
+ {
+ wxLogWarning(_("Expected '=' whilst parsing resource."));
+ return FALSE;
+ }
+
+ // String
+ if (!wxGetResourceToken(fd))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+ else
+ {
+ if (!db.ReadPrologFromString(wxResourceBuffer))
+ {
+ wxLogWarning(_("%s: ill-formed resource file syntax."), nameBuf);
+ return FALSE;
+ }
+ }
+ // Semicolon
+ if (!wxGetResourceToken(fd))
+ {
+ *eof = TRUE;
+ }
+ return TRUE;
+}
+
+/*
+ * Parses string window style into integer window style
+ */
+
+/*
+ * Style flag parsing, e.g.
+ * "wxSYSTEM_MENU | wxBORDER" -> integer
+ */
+
+char* wxResourceParseWord(char*s, int *i)
+{
+ if (!s)
+ return (char*) NULL;
+
+ static char buf[150];
+ int len = strlen(s);
+ int j = 0;
+ int ii = *i;
+ while ((ii < len) && (isalpha(s[ii]) || (s[ii] == '_')))
+ {
+ buf[j] = s[ii];
+ j ++;
+ ii ++;
+ }
+ buf[j] = 0;
+
+ // Eat whitespace and conjunction characters
+ while ((ii < len) &&
+ ((s[ii] == ' ') || (s[ii] == '|') || (s[ii] == ',')))
+ {
+ ii ++;
+ }
+ *i = ii;
+ if (j == 0)
+ return (char*) NULL;
+ else
+ return buf;
+}
+
+struct wxResourceBitListStruct
+{
+ char *word;
+ long bits;
+};
+
+static wxResourceBitListStruct wxResourceBitListTable[] =
+{
+ /* wxListBox */
+ { "wxSINGLE", wxLB_SINGLE },
+ { "wxMULTIPLE", wxLB_MULTIPLE },
+ { "wxEXTENDED", wxLB_EXTENDED },
+ { "wxLB_SINGLE", wxLB_SINGLE },
+ { "wxLB_MULTIPLE", wxLB_MULTIPLE },
+ { "wxLB_EXTENDED", wxLB_EXTENDED },
+ { "wxLB_NEEDED_SB", wxLB_NEEDED_SB },
+ { "wxLB_ALWAYS_SB", wxLB_ALWAYS_SB },
+ { "wxLB_SORT", wxLB_SORT },
+ { "wxLB_OWNERDRAW", wxLB_OWNERDRAW },
+ { "wxLB_HSCROLL", wxLB_HSCROLL },
+
+ /* wxComboxBox */
+ { "wxCB_SIMPLE", wxCB_SIMPLE },
+ { "wxCB_DROPDOWN", wxCB_DROPDOWN },
+ { "wxCB_READONLY", wxCB_READONLY },
+ { "wxCB_SORT", wxCB_SORT },
+
+ /* wxGauge */
+ { "wxGA_PROGRESSBAR", wxGA_PROGRESSBAR },
+ { "wxGA_HORIZONTAL", wxGA_HORIZONTAL },
+ { "wxGA_VERTICAL", wxGA_VERTICAL },
+
+ /* wxTextCtrl */
+ { "wxPASSWORD", wxPASSWORD},
+ { "wxPROCESS_ENTER", wxPROCESS_ENTER},
+ { "wxTE_PASSWORD", wxTE_PASSWORD},
+ { "wxTE_READONLY", wxTE_READONLY},
+ { "wxTE_PROCESS_ENTER", wxTE_PROCESS_ENTER},
+ { "wxTE_MULTILINE", wxTE_MULTILINE},
+
+ /* wxRadioBox/wxRadioButton */
+ { "wxRB_GROUP", wxRB_GROUP },
+ { "wxRA_SPECIFY_COLS", wxRA_SPECIFY_COLS },
+ { "wxRA_SPECIFY_ROWS", wxRA_SPECIFY_ROWS },
+ { "wxRA_HORIZONTAL", wxRA_HORIZONTAL },
+ { "wxRA_VERTICAL", wxRA_VERTICAL },
+
+ /* wxSlider */
+ { "wxSL_HORIZONTAL", wxSL_HORIZONTAL },
+ { "wxSL_VERTICAL", wxSL_VERTICAL },
+ { "wxSL_AUTOTICKS", wxSL_AUTOTICKS },
+ { "wxSL_LABELS", wxSL_LABELS },
+ { "wxSL_LEFT", wxSL_LEFT },
+ { "wxSL_TOP", wxSL_TOP },
+ { "wxSL_RIGHT", wxSL_RIGHT },
+ { "wxSL_BOTTOM", wxSL_BOTTOM },
+ { "wxSL_BOTH", wxSL_BOTH },
+ { "wxSL_SELRANGE", wxSL_SELRANGE },
+
+ /* wxScrollBar */
+ { "wxSB_HORIZONTAL", wxSB_HORIZONTAL },
+ { "wxSB_VERTICAL", wxSB_VERTICAL },
+
+ /* wxButton */
+ { "wxBU_AUTODRAW", wxBU_AUTODRAW },
+ { "wxBU_NOAUTODRAW", wxBU_NOAUTODRAW },
+
+ /* wxTreeCtrl */
+ { "wxTR_HAS_BUTTONS", wxTR_HAS_BUTTONS },
+ { "wxTR_EDIT_LABELS", wxTR_EDIT_LABELS },
+ { "wxTR_LINES_AT_ROOT", wxTR_LINES_AT_ROOT },
+
+ /* wxListCtrl */
+ { "wxLC_ICON", wxLC_ICON },
+ { "wxLC_SMALL_ICON", wxLC_SMALL_ICON },
+ { "wxLC_LIST", wxLC_LIST },
+ { "wxLC_REPORT", wxLC_REPORT },
+ { "wxLC_ALIGN_TOP", wxLC_ALIGN_TOP },
+ { "wxLC_ALIGN_LEFT", wxLC_ALIGN_LEFT },
+ { "wxLC_AUTOARRANGE", wxLC_AUTOARRANGE },
+ { "wxLC_USER_TEXT", wxLC_USER_TEXT },
+ { "wxLC_EDIT_LABELS", wxLC_EDIT_LABELS },
+ { "wxLC_NO_HEADER", wxLC_NO_HEADER },
+ { "wxLC_NO_SORT_HEADER", wxLC_NO_SORT_HEADER },
+ { "wxLC_SINGLE_SEL", wxLC_SINGLE_SEL },
+ { "wxLC_SORT_ASCENDING", wxLC_SORT_ASCENDING },
+ { "wxLC_SORT_DESCENDING", wxLC_SORT_DESCENDING },
+
+ /* wxSpinButton */
+ { "wxSP_VERTICAL", wxSP_VERTICAL},
+ { "wxSP_HORIZONTAL", wxSP_HORIZONTAL},
+ { "wxSP_ARROW_KEYS", wxSP_ARROW_KEYS},
+ { "wxSP_WRAP", wxSP_WRAP},
+
+ /* wxSplitterWnd */
+ { "wxSP_NOBORDER", wxSP_NOBORDER},
+ { "wxSP_3D", wxSP_3D},
+ { "wxSP_BORDER", wxSP_BORDER},
+
+ /* wxTabCtrl */
+ { "wxTC_MULTILINE", wxTC_MULTILINE},
+ { "wxTC_RIGHTJUSTIFY", wxTC_RIGHTJUSTIFY},
+ { "wxTC_FIXEDWIDTH", wxTC_FIXEDWIDTH},
+ { "wxTC_OWNERDRAW", wxTC_OWNERDRAW},
+
+ /* wxStatusBar95 */
+ { "wxST_SIZEGRIP", wxST_SIZEGRIP},
+
+ /* wxControl */
+ { "wxFIXED_LENGTH", wxFIXED_LENGTH},
+ { "wxALIGN_LEFT", wxALIGN_LEFT},
+ { "wxALIGN_CENTER", wxALIGN_CENTER},
+ { "wxALIGN_CENTRE", wxALIGN_CENTRE},
+ { "wxALIGN_RIGHT", wxALIGN_RIGHT},
+ { "wxCOLOURED", wxCOLOURED},
+
+ /* wxToolBar */
+ { "wxTB_3DBUTTONS", wxTB_3DBUTTONS},
+ { "wxTB_HORIZONTAL", wxTB_HORIZONTAL},
+ { "wxTB_VERTICAL", wxTB_VERTICAL},
+ { "wxTB_FLAT", wxTB_FLAT},
+
+ /* Generic */
+ { "wxVSCROLL", wxVSCROLL },
+ { "wxHSCROLL", wxHSCROLL },
+ { "wxCAPTION", wxCAPTION },
+ { "wxSTAY_ON_TOP", wxSTAY_ON_TOP},
+ { "wxICONIZE", wxICONIZE},
+ { "wxMINIMIZE", wxICONIZE},
+ { "wxMAXIMIZE", wxMAXIMIZE},
+ { "wxSDI", 0},
+ { "wxMDI_PARENT", 0},
+ { "wxMDI_CHILD", 0},
+ { "wxTHICK_FRAME", wxTHICK_FRAME},
+ { "wxRESIZE_BORDER", wxRESIZE_BORDER},
+ { "wxSYSTEM_MENU", wxSYSTEM_MENU},
+ { "wxMINIMIZE_BOX", wxMINIMIZE_BOX},
+ { "wxMAXIMIZE_BOX", wxMAXIMIZE_BOX},
+ { "wxRESIZE_BOX", wxRESIZE_BOX},
+ { "wxDEFAULT_FRAME_STYLE", wxDEFAULT_FRAME_STYLE},
+ { "wxDEFAULT_FRAME", wxDEFAULT_FRAME_STYLE},
+ { "wxDEFAULT_DIALOG_STYLE", wxDEFAULT_DIALOG_STYLE},
+ { "wxBORDER", wxBORDER},
+ { "wxRETAINED", wxRETAINED},
+ { "wxNATIVE_IMPL", 0},
+ { "wxEXTENDED_IMPL", 0},
+ { "wxBACKINGSTORE", wxBACKINGSTORE},
+// { "wxFLAT", wxFLAT},
+// { "wxMOTIF_RESIZE", wxMOTIF_RESIZE},
+ { "wxFIXED_LENGTH", 0},
+ { "wxDOUBLE_BORDER", wxDOUBLE_BORDER},
+ { "wxSUNKEN_BORDER", wxSUNKEN_BORDER},
+ { "wxRAISED_BORDER", wxRAISED_BORDER},
+ { "wxSIMPLE_BORDER", wxSIMPLE_BORDER},
+ { "wxSTATIC_BORDER", wxSTATIC_BORDER},
+ { "wxTRANSPARENT_WINDOW", wxTRANSPARENT_WINDOW},
+ { "wxNO_BORDER", wxNO_BORDER},
+ { "wxCLIP_CHILDREN", wxCLIP_CHILDREN},
+
+ { "wxTINY_CAPTION_HORIZ", wxTINY_CAPTION_HORIZ},
+ { "wxTINY_CAPTION_VERT", wxTINY_CAPTION_VERT},
+
+ // Text font families
+ { "wxDEFAULT", wxDEFAULT},
+ { "wxDECORATIVE", wxDECORATIVE},
+ { "wxROMAN", wxROMAN},
+ { "wxSCRIPT", wxSCRIPT},
+ { "wxSWISS", wxSWISS},
+ { "wxMODERN", wxMODERN},
+ { "wxTELETYPE", wxTELETYPE},
+ { "wxVARIABLE", wxVARIABLE},
+ { "wxFIXED", wxFIXED},
+ { "wxNORMAL", wxNORMAL},
+ { "wxLIGHT", wxLIGHT},
+ { "wxBOLD", wxBOLD},
+ { "wxITALIC", wxITALIC},
+ { "wxSLANT", wxSLANT},
+ { "wxSOLID", wxSOLID},
+ { "wxDOT", wxDOT},
+ { "wxLONG_DASH", wxLONG_DASH},
+ { "wxSHORT_DASH", wxSHORT_DASH},
+ { "wxDOT_DASH", wxDOT_DASH},
+ { "wxUSER_DASH", wxUSER_DASH},
+ { "wxTRANSPARENT", wxTRANSPARENT},
+ { "wxSTIPPLE", wxSTIPPLE},
+ { "wxBDIAGONAL_HATCH", wxBDIAGONAL_HATCH},
+ { "wxCROSSDIAG_HATCH", wxCROSSDIAG_HATCH},
+ { "wxFDIAGONAL_HATCH", wxFDIAGONAL_HATCH},
+ { "wxCROSS_HATCH", wxCROSS_HATCH},
+ { "wxHORIZONTAL_HATCH", wxHORIZONTAL_HATCH},
+ { "wxVERTICAL_HATCH", wxVERTICAL_HATCH},
+ { "wxJOIN_BEVEL", wxJOIN_BEVEL},
+ { "wxJOIN_MITER", wxJOIN_MITER},
+ { "wxJOIN_ROUND", wxJOIN_ROUND},
+ { "wxCAP_ROUND", wxCAP_ROUND},
+ { "wxCAP_PROJECTING", wxCAP_PROJECTING},
+ { "wxCAP_BUTT", wxCAP_BUTT},
+
+ // Logical ops
+ { "wxCLEAR", wxCLEAR},
+ { "wxXOR", wxXOR},
+ { "wxINVERT", wxINVERT},
+ { "wxOR_REVERSE", wxOR_REVERSE},
+ { "wxAND_REVERSE", wxAND_REVERSE},
+ { "wxCOPY", wxCOPY},
+ { "wxAND", wxAND},
+ { "wxAND_INVERT", wxAND_INVERT},
+ { "wxNO_OP", wxNO_OP},
+ { "wxNOR", wxNOR},
+ { "wxEQUIV", wxEQUIV},
+ { "wxSRC_INVERT", wxSRC_INVERT},
+ { "wxOR_INVERT", wxOR_INVERT},
+ { "wxNAND", wxNAND},
+ { "wxOR", wxOR},
+ { "wxSET", wxSET},
+
+ { "wxFLOOD_SURFACE", wxFLOOD_SURFACE},
+ { "wxFLOOD_BORDER", wxFLOOD_BORDER},
+ { "wxODDEVEN_RULE", wxODDEVEN_RULE},
+ { "wxWINDING_RULE", wxWINDING_RULE},
+ { "wxHORIZONTAL", wxHORIZONTAL},
+ { "wxVERTICAL", wxVERTICAL},
+ { "wxBOTH", wxBOTH},
+ { "wxCENTER_FRAME", wxCENTER_FRAME},
+ { "wxOK", wxOK},
+ { "wxYES_NO", wxYES_NO},
+ { "wxCANCEL", wxCANCEL},
+ { "wxYES", wxYES},
+ { "wxNO", wxNO},
+ { "wxICON_EXCLAMATION", wxICON_EXCLAMATION},
+ { "wxICON_HAND", wxICON_HAND},
+ { "wxICON_QUESTION", wxICON_QUESTION},
+ { "wxICON_INFORMATION", wxICON_INFORMATION},
+ { "wxICON_STOP", wxICON_STOP},
+ { "wxICON_ASTERISK", wxICON_ASTERISK},
+ { "wxICON_MASK", wxICON_MASK},
+ { "wxCENTRE", wxCENTRE},
+ { "wxCENTER", wxCENTRE},
+ { "wxUSER_COLOURS", wxUSER_COLOURS},
+ { "wxVERTICAL_LABEL", 0},
+ { "wxHORIZONTAL_LABEL", 0},
+
+ // Bitmap types (not strictly styles)
+ { "wxBITMAP_TYPE_XPM", wxBITMAP_TYPE_XPM},
+ { "wxBITMAP_TYPE_XBM", wxBITMAP_TYPE_XBM},
+ { "wxBITMAP_TYPE_BMP", wxBITMAP_TYPE_BMP},
+ { "wxBITMAP_TYPE_RESOURCE", wxBITMAP_TYPE_BMP_RESOURCE},
+ { "wxBITMAP_TYPE_BMP_RESOURCE", wxBITMAP_TYPE_BMP_RESOURCE},
+ { "wxBITMAP_TYPE_GIF", wxBITMAP_TYPE_GIF},
+ { "wxBITMAP_TYPE_TIF", wxBITMAP_TYPE_TIF},
+ { "wxBITMAP_TYPE_ICO", wxBITMAP_TYPE_ICO},
+ { "wxBITMAP_TYPE_ICO_RESOURCE", wxBITMAP_TYPE_ICO_RESOURCE},
+ { "wxBITMAP_TYPE_CUR", wxBITMAP_TYPE_CUR},
+ { "wxBITMAP_TYPE_CUR_RESOURCE", wxBITMAP_TYPE_CUR_RESOURCE},
+ { "wxBITMAP_TYPE_XBM_DATA", wxBITMAP_TYPE_XBM_DATA},
+ { "wxBITMAP_TYPE_XPM_DATA", wxBITMAP_TYPE_XPM_DATA},
+ { "wxBITMAP_TYPE_ANY", wxBITMAP_TYPE_ANY}
+};
+
+static int wxResourceBitListCount = (sizeof(wxResourceBitListTable)/sizeof(wxResourceBitListStruct));
+
+long wxParseWindowStyle(const wxString& bitListString)
+{
+ int i = 0;
+ char *word;
+ long bitList = 0;
+ while ((word = wxResourceParseWord((char*) (const char*) bitListString, &i)))
+ {
+ bool found = FALSE;
+ int j;
+ for (j = 0; j < wxResourceBitListCount; j++)
+ if (strcmp(wxResourceBitListTable[j].word, word) == 0)
+ {
+ bitList |= wxResourceBitListTable[j].bits;
+ found = TRUE;
+ break;
+ }
+ if (!found)
+ {
+ wxLogWarning(_("Unrecognized style %s whilst parsing resource."), word);
+ return 0;
+ }
+ }
+ return bitList;
+}
+
+/*
+ * Load a bitmap from a wxWindows resource, choosing an optimum
+ * depth and appropriate type.
+ */
+
+wxBitmap wxResourceCreateBitmap(const wxString& resource, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ wxItemResource *item = table->FindResource(resource);
+ if (item)
+ {
+ if ((item->GetType() == "") || (item->GetType() != "wxBitmap"))
+ {
+ wxLogWarning(_("%s not a bitmap resource specification."), (const char*) resource);
+ return wxNullBitmap;
+ }
+ int thisDepth = wxDisplayDepth();
+ long thisNoColours = (long)pow(2.0, (double)thisDepth);
+
+ wxItemResource *optResource = (wxItemResource *) NULL;
+
+ // Try to find optimum bitmap for this platform/colour depth
+ wxNode *node = item->GetChildren().First();
+ while (node)
+ {
+ wxItemResource *child = (wxItemResource *)node->Data();
+ int platform = (int)child->GetValue2();
+ int noColours = (int)child->GetValue3();
+/*
+ char *name = child->GetName();
+ int bitmapType = (int)child->GetValue1();
+ int xRes = child->GetWidth();
+ int yRes = child->GetHeight();
+*/
+
+ switch (platform)
+ {
+ case RESOURCE_PLATFORM_ANY:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours.
+ // If noColours is zero (unspecified), then assume this
+ // is the right one.
+ if ((noColours == 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#ifdef __WXMSW__
+ case RESOURCE_PLATFORM_WINDOWS:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours
+ if ((noColours > 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#endif
+#ifdef __WXGTK__
+ case RESOURCE_PLATFORM_X:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours
+ if ((noColours == 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#endif
+#ifdef wx_max
+ case RESOURCE_PLATFORM_MAC:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours
+ if ((noColours == 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#endif
+ default:
+ break;
+ }
+ node = node->Next();
+ }
+ // If no matching resource, fail.
+ if (!optResource)
+ return wxNullBitmap;
+
+ wxString name = optResource->GetName();
+ int bitmapType = (int)optResource->GetValue1();
+ switch (bitmapType)
+ {
+ case wxBITMAP_TYPE_XBM_DATA:
+ {
+#ifdef __WXGTK__
+ wxItemResource *item = table->FindResource(name);
+ if (!item)
+ {
+ wxLogWarning(_("Failed to find XBM resource %s.\n"
+ "Forgot to use wxResourceLoadBitmapData?"), (const char*) name);
+ return wxNullBitmap;
+ }
+ return wxBitmap(item->GetValue1(), (int)item->GetValue2(), (int)item->GetValue3()) ;
+#else
+ wxLogWarning(_("No XBM facility available!"));
+#endif
+ break;
+ }
+ case wxBITMAP_TYPE_XPM_DATA:
+ {
+#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
+ wxItemResource *item = table->FindResource(name);
+ if (!item)
+ {
+ wxLogWarning(_("Failed to find XPM resource %s.\n"
+ "Forgot to use wxResourceLoadBitmapData?"), (const char*) name);
+ return wxNullBitmap;
+ }
+ return wxBitmap(item->GetValue1());
+#else
+ wxLogWarning(_("No XPM facility available!"));
+#endif
+ break;
+ }
+ default:
+ {
+ return wxBitmap(name, bitmapType);
+ break;
+ }
+ }
+ return wxNullBitmap;
+ }
+ else
+ {
+ wxLogWarning(_("Bitmap resource specification %s not found."), (const char*) resource);
+ return wxNullBitmap;
+ }
+}
+
+/*
+ * Load an icon from a wxWindows resource, choosing an optimum
+ * depth and appropriate type.
+ */
+
+wxIcon wxResourceCreateIcon(const wxString& resource, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ wxItemResource *item = table->FindResource(resource);
+ if (item)
+ {
+ if ((item->GetType() == "") || (item->GetType() != "wxIcon"))
+ {
+ wxLogWarning(_("%s not an icon resource specification."), (const char*) resource);
+ return wxNullIcon;
+ }
+ int thisDepth = wxDisplayDepth();
+ long thisNoColours = (long)pow(2.0, (double)thisDepth);
+
+ wxItemResource *optResource = (wxItemResource *) NULL;
+
+ // Try to find optimum icon for this platform/colour depth
+ wxNode *node = item->GetChildren().First();
+ while (node)
+ {
+ wxItemResource *child = (wxItemResource *)node->Data();
+ int platform = (int)child->GetValue2();
+ int noColours = (int)child->GetValue3();
+/*
+ char *name = child->GetName();
+ int bitmapType = (int)child->GetValue1();
+ int xRes = child->GetWidth();
+ int yRes = child->GetHeight();
+*/
+
+ switch (platform)
+ {
+ case RESOURCE_PLATFORM_ANY:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours.
+ // If noColours is zero (unspecified), then assume this
+ // is the right one.
+ if ((noColours == 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#ifdef __WXMSW__
+ case RESOURCE_PLATFORM_WINDOWS:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours
+ if ((noColours > 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#endif
+#ifdef __WXGTK__
+ case RESOURCE_PLATFORM_X:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours
+ if ((noColours == 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#endif
+#ifdef wx_max
+ case RESOURCE_PLATFORM_MAC:
+ {
+ if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
+ optResource = child;
+ else
+ {
+ // Maximise the number of colours
+ if ((noColours == 0) || ((noColours <= thisNoColours) && (noColours > optResource->GetValue3())))
+ optResource = child;
+ }
+ break;
+ }
+#endif
+ default:
+ break;
+ }
+ node = node->Next();
+ }
+ // If no matching resource, fail.
+ if (!optResource)
+ return wxNullIcon;
+
+ wxString name = optResource->GetName();
+ int bitmapType = (int)optResource->GetValue1();
+ switch (bitmapType)
+ {
+ case wxBITMAP_TYPE_XBM_DATA:
+ {
+#ifdef __WXGTK__
+ wxItemResource *item = table->FindResource(name);
+ if (!item)
+ {
+ wxLogWarning(_("Failed to find XBM resource %s.\n"
+ "Forgot to use wxResourceLoadIconData?"), (const char*) name);
+ return wxNullIcon;
+ }
+ return wxIcon((const char **)item->GetValue1(), (int)item->GetValue2(), (int)item->GetValue3());
+#else
+ wxLogWarning(_("No XBM facility available!"));
+#endif
+ break;
+ }
+ case wxBITMAP_TYPE_XPM_DATA:
+ {
+ // *** XPM ICON NOT YET IMPLEMENTED IN WXWINDOWS ***
+/*
+#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
+ wxItemResource *item = table->FindResource(name);
+ if (!item)
+ {
+ char buf[400];
+ sprintf(buf, _("Failed to find XPM resource %s.\nForgot to use wxResourceLoadIconData?"), name);
+ wxLogWarning(buf);
+ return NULL;
+ }
+ return wxIcon((char **)item->GetValue1());
+#else
+ wxLogWarning(_("No XPM facility available!"));
+#endif
+*/
+ wxLogWarning(_("No XPM icon facility available!"));
+ break;
+ }
+ default:
+ {
+#ifdef __WXGTK__
+ wxLogWarning(_("Icon resource specification %s not found."), (const char*) resource);
+#else
+ return wxIcon(name, bitmapType);
+#endif
+ break;
+ }
+ }
+ return wxNullIcon;
+ }
+ else
+ {
+ wxLogWarning(_("Icon resource specification %s not found."), (const char*) resource);
+ return wxNullIcon;
+ }
+}
+
+wxMenu *wxResourceCreateMenu(wxItemResource *item)
+{
+ wxMenu *menu = new wxMenu;
+ wxNode *node = item->GetChildren().First();
+ while (node)
+ {
+ wxItemResource *child = (wxItemResource *)node->Data();
+ if ((child->GetType() != "") && (child->GetType() == "wxMenuSeparator"))
+ menu->AppendSeparator();
+ else if (child->GetChildren().Number() > 0)
+ {
+ wxMenu *subMenu = wxResourceCreateMenu(child);
+ if (subMenu)
+ menu->Append((int)child->GetValue1(), child->GetTitle(), subMenu, child->GetValue4());
+ }
+ else
+ {
+ menu->Append((int)child->GetValue1(), child->GetTitle(), child->GetValue4(), (child->GetValue2() != 0));
+ }
+ node = node->Next();
+ }
+ return menu;
+}
+
+wxMenuBar *wxResourceCreateMenuBar(const wxString& resource, wxResourceTable *table, wxMenuBar *menuBar)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ wxItemResource *menuResource = table->FindResource(resource);
+ if (menuResource && (menuResource->GetType() != "") && (menuResource->GetType() == "wxMenu"))
+ {
+ if (!menuBar)
+ menuBar = new wxMenuBar;
+ wxNode *node = menuResource->GetChildren().First();
+ while (node)
+ {
+ wxItemResource *child = (wxItemResource *)node->Data();
+ wxMenu *menu = wxResourceCreateMenu(child);
+ if (menu)
+ menuBar->Append(menu, child->GetTitle());
+ node = node->Next();
+ }
+ return menuBar;
+ }
+ return (wxMenuBar *) NULL;
+}
+
+wxMenu *wxResourceCreateMenu(const wxString& resource, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ wxItemResource *menuResource = table->FindResource(resource);
+ if (menuResource && (menuResource->GetType() != "") && (menuResource->GetType() == "wxMenu"))
+// if (menuResource && (menuResource->GetType() == wxTYPE_MENU))
+ return wxResourceCreateMenu(menuResource);
+ return (wxMenu *) NULL;
+}
+
+// Global equivalents (so don't have to refer to default table explicitly)
+bool wxResourceParseData(const wxString& resource, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ return table->ParseResourceData(resource);
+}
+
+bool wxResourceParseFile(const wxString& filename, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ return table->ParseResourceFile(filename);
+}
+
+// Register XBM/XPM data
+bool wxResourceRegisterBitmapData(const wxString& name, char bits[], int width, int height, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ return table->RegisterResourceBitmapData(name, bits, width, height);
+}
+
+bool wxResourceRegisterBitmapData(const wxString& name, char **data, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ return table->RegisterResourceBitmapData(name, data);
+}
+
+void wxResourceClear(wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ table->ClearTable();
+}
+
+/*
+ * Identifiers
+ */
+
+bool wxResourceAddIdentifier(const wxString& name, int value, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ table->identifiers.Put(name, (wxObject *)value);
+ return TRUE;
+}
+
+int wxResourceGetIdentifier(const wxString& name, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ return (int)table->identifiers.Get(name);
+}
+
+/*
+ * Parse #include file for #defines (only)
+ */
+
+bool wxResourceParseIncludeFile(const wxString& f, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ FILE *fd = fopen(f, "r");
+ if (!fd)
+ {
+ return FALSE;
+ }
+ while (wxGetResourceToken(fd))
+ {
+ if (strcmp(wxResourceBuffer, "#define") == 0)
+ {
+ wxGetResourceToken(fd);
+ char *name = copystring(wxResourceBuffer);
+ wxGetResourceToken(fd);
+ char *value = copystring(wxResourceBuffer);
+ if (isdigit(value[0]))
+ {
+ int val = (int)atol(value);
+ wxResourceAddIdentifier(name, val, table);
+ }
+ delete[] name;
+ delete[] value;
+ }
+ }
+ fclose(fd);
+ return TRUE;
+}
+
+/*
+ * Reading strings as if they were .wxr files
+ */
+
+static int getc_string(char *s)
+{
+ int ch = s[wxResourceStringPtr];
+ if (ch == 0)
+ return EOF;
+ else
+ {
+ wxResourceStringPtr ++;
+ return ch;
+ }
+}
+
+static int ungetc_string()
+{
+ wxResourceStringPtr --;
+ return 0;
+}
+
+bool wxEatWhiteSpaceString(char *s)
+{
+ int ch = getc_string(s);
+ if (ch == EOF)
+ return TRUE;
+
+ if ((ch != ' ') && (ch != '/') && (ch != ' ') && (ch != 10) && (ch != 13) && (ch != 9))
+ {
+ ungetc_string();
+ return TRUE;
+ }
+
+ // Eat whitespace
+ while (ch == ' ' || ch == 10 || ch == 13 || ch == 9)
+ ch = getc_string(s);
+ // Check for comment
+ if (ch == '/')
+ {
+ ch = getc_string(s);
+ if (ch == '*')
+ {
+ bool finished = FALSE;
+ while (!finished)
+ {
+ ch = getc_string(s);
+ if (ch == EOF)
+ return FALSE;
+ if (ch == '*')
+ {
+ int newCh = getc_string(s);
+ if (newCh == '/')
+ finished = TRUE;
+ else
+ {
+ ungetc_string();
+ }
+ }
+ }
+ }
+ else // False alarm
+ return FALSE;
+ }
+ else if (ch != EOF)
+ ungetc_string();
+ return wxEatWhiteSpaceString(s);
+}
+
+bool wxGetResourceTokenString(char *s)
+{
+ if (!wxResourceBuffer)
+ wxReallocateResourceBuffer();
+ wxResourceBuffer[0] = 0;
+ wxEatWhiteSpaceString(s);
+
+ int ch = getc_string(s);
+ if (ch == '"')
+ {
+ // Get string
+ wxResourceBufferCount = 0;
+ ch = getc_string(s);
+ while (ch != '"')
+ {
+ int actualCh = ch;
+ if (ch == EOF)
+ {
+ wxResourceBuffer[wxResourceBufferCount] = 0;
+ return FALSE;
+ }
+ // Escaped characters
+ else if (ch == '\\')
+ {
+ int newCh = getc_string(s);
+ if (newCh == '"')
+ actualCh = '"';
+ else if (newCh == 10)
+ actualCh = 10;
+ else
+ {
+ ungetc_string();
+ }
+ }
+
+ if (wxResourceBufferCount >= wxResourceBufferSize-1)
+ wxReallocateResourceBuffer();
+ wxResourceBuffer[wxResourceBufferCount] = (char)actualCh;
+ wxResourceBufferCount ++;
+ ch = getc_string(s);
+ }
+ wxResourceBuffer[wxResourceBufferCount] = 0;
+ }
+ else
+ {
+ wxResourceBufferCount = 0;
+ // Any other token
+ while (ch != ' ' && ch != EOF && ch != ' ' && ch != 13 && ch != 9 && ch != 10)
+ {
+ if (wxResourceBufferCount >= wxResourceBufferSize-1)
+ wxReallocateResourceBuffer();
+ wxResourceBuffer[wxResourceBufferCount] = (char)ch;
+ wxResourceBufferCount ++;
+
+ ch = getc_string(s);
+ }
+ wxResourceBuffer[wxResourceBufferCount] = 0;
+ if (ch == EOF)
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/*
+ * Files are in form:
+ static char *name = "....";
+ with possible comments.
+ */
+
+bool wxResourceReadOneResourceString(char *s, wxExprDatabase& db, bool *eof, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ // static or #define
+ if (!wxGetResourceTokenString(s))
+ {
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (strcmp(wxResourceBuffer, "#define") == 0)
+ {
+ wxGetResourceTokenString(s);
+ char *name = copystring(wxResourceBuffer);
+ wxGetResourceTokenString(s);
+ char *value = copystring(wxResourceBuffer);
+ if (isalpha(value[0]))
+ {
+ int val = (int)atol(value);
+ wxResourceAddIdentifier(name, val, table);
+ }
+ else
+ {
+ wxLogWarning(_("#define %s must be an integer."), name);
+ delete[] name;
+ delete[] value;
+ return FALSE;
+ }
+ delete[] name;
+ delete[] value;
+
+ return TRUE;
+ }
+/*
+ else if (strcmp(wxResourceBuffer, "#include") == 0)
+ {
+ wxGetResourceTokenString(s);
+ char *name = copystring(wxResourceBuffer);
+ char *actualName = name;
+ if (name[0] == '"')
+ actualName = name + 1;
+ int len = strlen(name);
+ if ((len > 0) && (name[len-1] == '"'))
+ name[len-1] = 0;
+ if (!wxResourceParseIncludeFile(actualName, table))
+ {
+ char buf[400];
+ sprintf(buf, _("Could not find resource include file %s."), actualName);
+ wxLogWarning(buf);
+ }
+ delete[] name;
+ return TRUE;
+ }
+*/
+ else if (strcmp(wxResourceBuffer, "static") != 0)
+ {
+ char buf[300];
+ strcpy(buf, _("Found "));
+ strncat(buf, wxResourceBuffer, 30);
+ strcat(buf, _(", expected static, #include or #define\nwhilst parsing resource."));
+ wxLogWarning(buf);
+ return FALSE;
+ }
+
+ // char
+ if (!wxGetResourceTokenString(s))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (strcmp(wxResourceBuffer, "char") != 0)
+ {
+ wxLogWarning(_("Expected 'char' whilst parsing resource."));
+ return FALSE;
+ }
+
+ // *name
+ if (!wxGetResourceTokenString(s))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (wxResourceBuffer[0] != '*')
+ {
+ wxLogWarning(_("Expected '*' whilst parsing resource."));
+ return FALSE;
+ }
+ char nameBuf[100];
+ strncpy(nameBuf, wxResourceBuffer+1, 99);
+
+ // =
+ if (!wxGetResourceTokenString(s))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+
+ if (strcmp(wxResourceBuffer, "=") != 0)
+ {
+ wxLogWarning(_("Expected '=' whilst parsing resource."));
+ return FALSE;
+ }
+
+ // String
+ if (!wxGetResourceTokenString(s))
+ {
+ wxLogWarning(_("Unexpected end of file whilst parsing resource."));
+ *eof = TRUE;
+ return FALSE;
+ }
+ else
+ {
+ if (!db.ReadPrologFromString(wxResourceBuffer))
+ {
+ wxLogWarning(_("%s: ill-formed resource file syntax."), nameBuf);
+ return FALSE;
+ }
+ }
+ // Semicolon
+ if (!wxGetResourceTokenString(s))
+ {
+ *eof = TRUE;
+ }
+ return TRUE;
+}
+
+bool wxResourceParseString(char *s, wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ if (!s)
+ return FALSE;
+
+ // Turn backslashes into spaces
+ if (s)
+ {
+ int len = strlen(s);
+ int i;
+ for (i = 0; i < len; i++)
+ if (s[i] == 92 && s[i+1] == 13)
+ {
+ s[i] = ' ';
+ s[i+1] = ' ';
+ }
+ }
+
+ wxExprDatabase db;
+ wxResourceStringPtr = 0;
+
+ bool eof = FALSE;
+ while (wxResourceReadOneResourceString(s, db, &eof, table) && !eof)
+ {
+ // Loop
+ }
+ return wxResourceInterpretResources(*table, db);
+}
+
+/*
+ * resource loading facility
+ */
+
+bool wxWindow::LoadFromResource(wxWindow *parent, const wxString& resourceName, const wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+
+ wxItemResource *resource = table->FindResource((const char *)resourceName);
+// if (!resource || (resource->GetType() != wxTYPE_DIALOG_BOX))
+ if (!resource || (resource->GetType() == "") ||
+ ! ((strcmp(resource->GetType(), "wxDialog") == 0) || (strcmp(resource->GetType(), "wxPanel") == 0)))
+ return FALSE;
+
+ wxString title(resource->GetTitle());
+ long theWindowStyle = resource->GetStyle();
+ bool isModal = (resource->GetValue1() != 0);
+ int x = resource->GetX();
+ int y = resource->GetY();
+ int width = resource->GetWidth();
+ int height = resource->GetHeight();
+ wxString name = resource->GetName();
+
+ if (IsKindOf(CLASSINFO(wxDialog)))
+ {
+ wxDialog *dialogBox = (wxDialog *)this;
+ long modalStyle = isModal ? wxDIALOG_MODAL : 0;
+ if (!dialogBox->Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), theWindowStyle|modalStyle, name))
+ return FALSE;
+
+ // Only reset the client size if we know we're not going to do it again below.
+ if ((resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS) == 0)
+ dialogBox->SetClientSize(width, height);
+ }
+ else if (IsKindOf(CLASSINFO(wxPanel)))
+ {
+ wxPanel* panel = (wxPanel *)this;
+ if (!panel->Create(parent, -1, wxPoint(x, y), wxSize(width, height), theWindowStyle, name))
+ return FALSE;
+ }
+ else
+ {
+ if (!this->Create(parent, -1, wxPoint(x, y), wxSize(width, height), theWindowStyle, name))
+ return FALSE;
+ }
+
+ if ((resource->GetResourceStyle() & wxRESOURCE_USE_DEFAULTS) != 0)
+ {
+ // No need to do this since it's done in wxPanel or wxDialog constructor.
+ // SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+ }
+ else
+ {
+ if (resource->GetFont().Ok())
+ SetFont(resource->GetFont());
+ if (resource->GetBackgroundColour().Ok())
+ SetBackgroundColour(resource->GetBackgroundColour());
+ }
+
+ // Should have some kind of font at this point
+ if (!GetFont().Ok())
+ SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+ if (!GetBackgroundColour().Ok())
+ SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
+
+ // Only when we've created the window and set the font can we set the correct size,
+ // if based on dialog units.
+ if ((resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS) != 0)
+ {
+ wxSize sz = ConvertDialogToPixels(wxSize(width, height));
+ SetClientSize(sz.x, sz.y);
+
+ wxPoint pt = ConvertDialogToPixels(wxPoint(x, y));
+ #ifdef __WXMAC__
+ int mbarheight = 2 * LMGetMBarHeight() ;
+ pt.y += mbarheight ;
+ #endif
+ Move(pt.x, pt.y);
+ }
+
+ // Now create children
+ wxNode *node = resource->GetChildren().First();
+ while (node)
+ {
+ wxItemResource *childResource = (wxItemResource *)node->Data();
+
+ (void) CreateItem(childResource, resource, table);
+
+ node = node->Next();
+ }
+ return TRUE;
+}
+
+wxControl *wxWindow::CreateItem(const wxItemResource *resource, const wxItemResource* parentResource, const wxResourceTable *table)
+{
+ if (!table)
+ table = wxDefaultResourceTable;
+ return table->CreateItem((wxWindow *)this, resource, parentResource);
+}
+
+#ifdef __VISUALC__
+ #pragma warning(default:4706) // assignment within conditional expression
+#endif // VC++
+
+#endif
+ // BC++/Win16 only
+#endif // wxUSE_WX_RESOURCES
diff --git a/src/common/resource.cpp b/src/common/resource.cpp
new file mode 100644
index 0000000000..d6c56f61d4
--- /dev/null
+++ b/src/common/resource.cpp
@@ -0,0 +1,3234 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: resource.cpp
+// Purpose: Resource system
+// Author: Julian Smart
+// Modified by:
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma implementation "resource.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#if wxUSE_WX_RESOURCES
+
+#ifdef __VISUALC__
+#pragma warning(disable:4706) // assignment within conditional expression
+#endif // VC++
+
+#ifndef WX_PRECOMP
+#include "wx/defs.h"
+#include "wx/setup.h"
+#include "wx/list.h"
+#include "wx/hash.h"
+#include "wx/gdicmn.h"
+#include "wx/utils.h"
+#include "wx/types.h"
+#include "wx/menu.h"
+#include "wx/stattext.h"
+#include "wx/button.h"
+#include "wx/bmpbuttn.h"
+#include "wx/radiobox.h"
+#include "wx/listbox.h"
+#include "wx/choice.h"
+#include "wx/checkbox.h"
+#include "wx/settings.h"
+#include "wx/slider.h"
+#include "wx/icon.h"
+#include "wx/statbox.h"
+#include "wx/statbmp.h"
+#include "wx/gauge.h"
+#include "wx/textctrl.h"
+#include "wx/msgdlg.h"
+#include "wx/intl.h"
+#endif
+
+#if wxUSE_RADIOBTN
+#include "wx/radiobut.h"
+#endif
+
+#if wxUSE_SCROLLBAR
+#include "wx/scrolbar.h"
+#endif
+
+#if wxUSE_COMBOBOX
+#include "wx/combobox.h"
+#endif
+
+#include "wx/validate.h"
+
+#include "wx/log.h"
+
+#include
+#include