Compare commits
1 Commits
BC5_SNAPSH
...
old_debug
Author | SHA1 | Date | |
---|---|---|---|
|
1cedeb5c04 |
23
.cvsignore
23
.cvsignore
@@ -1,23 +0,0 @@
|
||||
system.list
|
||||
bin
|
||||
.gdb_history
|
||||
Test
|
||||
config.cache
|
||||
config.status
|
||||
system.list
|
||||
linux.system.cache
|
||||
wx-config
|
||||
config.log
|
||||
linux-gnu.system.cache
|
||||
*.dsp
|
||||
*.dsw
|
||||
*.plg
|
||||
*.opt
|
||||
*.aps
|
||||
*.ncb
|
||||
*.pro
|
||||
*.opt
|
||||
Release
|
||||
Debug
|
||||
ReleaseDLL
|
||||
DebugDLL
|
10
Makefile
10
Makefile
@@ -3,8 +3,6 @@
|
||||
|
||||
SHELL=/bin/sh
|
||||
|
||||
DIRS=src
|
||||
|
||||
#if DIRS are defind make only executes in these diretories
|
||||
all::
|
||||
@if test "x$(DIRS)" = x; then \
|
||||
@@ -55,18 +53,12 @@ user::
|
||||
@echo "entering directory user building all"
|
||||
@cd user; ${MAKE} all
|
||||
|
||||
install::
|
||||
@echo "entering directory src for installing"
|
||||
@cd src; ${MAKE} install
|
||||
# @echo "entering directory utils for installing"
|
||||
# @cd utils; ${MAKE} install
|
||||
|
||||
# the following ones recreate all Makefiles.
|
||||
|
||||
makefiles:: recreate
|
||||
Makefiles:: recreate
|
||||
recreate::
|
||||
@setup/general/createall
|
||||
@src/gtk/setup/general/createall
|
||||
|
||||
# the following ones define what needs to be done to distribute the
|
||||
# library and its components
|
||||
|
52
TODO.txt
Normal file
52
TODO.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
********************* TODO list for wxWindows 2 ******************************
|
||||
|
||||
The items are grouped by platform (generic, MSW, GTK...) and inside by
|
||||
subject. The first 2 columns containg the following codes:
|
||||
|
||||
Priority classification: Amount of work expected:
|
||||
9 next point release q quick fix
|
||||
8 next release s small change
|
||||
7 as soon as possible l a little work
|
||||
6 soon w some work
|
||||
5 should be included b big change
|
||||
4 nice to have m major change
|
||||
3 consider including ? don't know how to fix
|
||||
2 maybe not - unclassified
|
||||
1 probably not
|
||||
- unclassified
|
||||
|
||||
After the subject the name in brackets indicates the person who is going to do
|
||||
it.
|
||||
|
||||
=============================== common ========================================
|
||||
|
||||
4w wxString optimization (VZ)
|
||||
allocate more memory than needed to avoid reallocation each time when
|
||||
operator+ or += is used.
|
||||
|
||||
6b stream classes (VZ)
|
||||
|
||||
=============================== generic ======================================
|
||||
|
||||
7s wxTreeCtrl root item (RR)
|
||||
root item is not shown currently (unlike in MSW version)
|
||||
|
||||
5w wxImageList
|
||||
it's not implemented currently, to do (assuming that all images have the
|
||||
same size - no resizing should be done to simplify the job)
|
||||
|
||||
================================ MSW ==========================================
|
||||
|
||||
7w consistent keyboard interface and focus behaviour (VZ)
|
||||
currently, the focus is lost all the time (after a MessageBox, for example)
|
||||
and sometimes TABbing through controls doesn't work
|
||||
|
||||
================================ GTK ==========================================
|
||||
|
||||
9m keyboard interface (RR)
|
||||
TAB traversal, Alt-letter accelerators for the controls and accelerators
|
||||
for menu items - TODO.
|
||||
|
||||
3b wxTreeCtrl native implementation?
|
||||
GTK has a GtkCTree widget which seems to be quite close to the Windows
|
||||
standard control - what about writing a native wxTreeCtrl based on it?
|
1807
configure.in
1807
configure.in
File diff suppressed because it is too large
Load Diff
@@ -1,310 +0,0 @@
|
||||
wxPython README
|
||||
---------------
|
||||
|
||||
Introduction
|
||||
------------
|
||||
The code in this subtree is a Python Extension Module that enables the
|
||||
use of wxWindows from the Python language. So what is Python? Go to
|
||||
http://www.python.org to learn more but in a nutshell, it's an
|
||||
extremly cool object oriented language. It's easier than Perl and
|
||||
nearly as powerful. It runs on more platforms than Java, and by some
|
||||
reports, is even faster than Java with a JIT compiler!
|
||||
|
||||
So why would you want to use wxPython over just C++ and wxWindows?
|
||||
Personally I prefer using Python for everything. I only use C++ when
|
||||
I absolutly have to eek more performance out of an algorithm, and even
|
||||
then I ususally code it as an extension module and leave the majority
|
||||
of the program in Python. Another good thing to use wxPython for is
|
||||
quick prototyping of your wxWindows apps. With C++ you have to
|
||||
continuously go though the edit-compile-link-run cycle, which can be
|
||||
quite time comsuming. With Python it is only an edit-run cycle. You
|
||||
can easily build an application in a few hours with Python that would
|
||||
normally take a few days with C++. Converting a wxPython app to a
|
||||
C++/wxWindows app should be a straight forward task.
|
||||
|
||||
This extension module attempts to mirror the class heiarchy of
|
||||
wxWindows as closely as possble. This means that there is a wxFrame
|
||||
class in wxPython that looks, smells, tastes and acts almost the same
|
||||
as the wxFrame class in the C++ version. Unfortunatly, I wasn't able
|
||||
to match things exactly because of differences in the languages, but
|
||||
the differences should be easy to absorb because they are natural to
|
||||
Python. For example, some methods that return mutliple values via
|
||||
argument pointers in C++ will return a tuple of values in Python.
|
||||
These differences have not been documented yet so if something isn't
|
||||
working the same as described in the wxWindows documents the best
|
||||
thing to do is to scan through the wxPython sources, especially the .i
|
||||
files, as that is where the interfaces for wxPython are defined.
|
||||
|
||||
I have reports of successfully embedding wxPython within a wxWindows
|
||||
C++ app on GTK. It hasn't yet been attempted on MSW (to my knowledge)
|
||||
so I don't know how successful such an attempt would be. However it
|
||||
is certainly possible.
|
||||
|
||||
|
||||
|
||||
Getting Help
|
||||
------------
|
||||
|
||||
Since wxPython is a blending of multiple technologies, help comes from
|
||||
multiple sources. See the http://alldunn.com/wxPython for details on
|
||||
various sources of help, but probably the best source is the
|
||||
wxPython-users mail list. You can view the archive or subscribe by
|
||||
going to
|
||||
|
||||
http://starship.python.net/mailman/listinfo/wxpython-users
|
||||
|
||||
Or you can send mail directly to the list using this address:
|
||||
|
||||
wxpython-users@starship.python.net
|
||||
|
||||
|
||||
|
||||
What's new in 2.0b9
|
||||
-------------------
|
||||
Bug fix for ListCtrl in test4.py (Was a missing file... DSM!)
|
||||
|
||||
Bug fix for occassional GPF on Win32 systems upon termination of a
|
||||
wxPython application.
|
||||
|
||||
Added wxListBox.GetSelections returning selections as a Tuple.
|
||||
|
||||
Added a wxTreeItemData that is able to hold any Python object and be
|
||||
associated with items in a wxTreeCtrl. Added test pytree.py to show
|
||||
this feature off.
|
||||
|
||||
Added wxSafeYield function.
|
||||
|
||||
OpenGL Canvas can be optionally compiled in to wxPython.
|
||||
|
||||
Awesome new Demo Framework for showing off wxPython and for learning
|
||||
how it all works.
|
||||
|
||||
The pre-built Win32 version is no longer distributing the wxWindows
|
||||
DLL. It is statically linked with the wxWindows library instead.
|
||||
|
||||
Added a couple missing items from the docs.
|
||||
|
||||
Added wxImage, wxImageHandler, wxPNGHandler, wxJPEGHandler,
|
||||
wxGIFHandler and wxBMPHandler.
|
||||
|
||||
Added new methods to wxTextCtrl.
|
||||
|
||||
|
||||
|
||||
What's new in 2.0b8
|
||||
-------------------
|
||||
Support for using Python threads in wxPython apps.
|
||||
|
||||
Several missing methods from various classes.
|
||||
|
||||
Various bug fixes.
|
||||
|
||||
|
||||
|
||||
What's new in 2.0b7
|
||||
-------------------
|
||||
Added DLG_PNT and DLG_SZE convienience methods to wxWindow class.
|
||||
|
||||
Added missing constructor and other methods for wxMenuItem.
|
||||
|
||||
|
||||
|
||||
What's new in 2.0b6
|
||||
-------------------
|
||||
Just a quickie update to fix the self-installer to be compatible with
|
||||
Python 1.5.2b2's Registry settings.
|
||||
|
||||
|
||||
What's new in 2.0b5
|
||||
-------------------
|
||||
Well obviously the numbering scheme has changed. I did this to
|
||||
reflect the fact that this truly is the second major revision of
|
||||
wxPython, (well the third actually if you count the one I did for
|
||||
wxWindows 1.68 and then threw away...) and also that it is associated
|
||||
with the 2.0 version of wxWindows.
|
||||
|
||||
I have finally started documenting wxPython. There are several pages
|
||||
in the wxWindows documentation tree specifically about wxPython, and I
|
||||
have added notes within the class references about where wxPython
|
||||
diverges from wxWindows.
|
||||
|
||||
Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
|
||||
window handle. If you can get the window handle into the python code,
|
||||
it should just work... More news on this later.
|
||||
|
||||
Added wxImageList, wxToolTip.
|
||||
|
||||
Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
|
||||
wxRegConfig class.
|
||||
|
||||
As usual, some bug fixes, tweaks, etc.
|
||||
|
||||
|
||||
|
||||
What's new in 0.5.3
|
||||
-------------------
|
||||
Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
|
||||
|
||||
Various cleanup, tweaks, minor additions, etc. to maintain
|
||||
compatibility with the current wxWindows.
|
||||
|
||||
|
||||
|
||||
What's new in 0.5.0
|
||||
-------------------
|
||||
Changed the import semantics from "from wxPython import *" to "from
|
||||
wxPython.wx import *" This is for people who are worried about
|
||||
namespace pollution, they can use "from wxPython import wx" and then
|
||||
prefix all the wxPython identifiers with "wx."
|
||||
|
||||
Added wxTaskbarIcon for wxMSW.
|
||||
|
||||
Made the events work for wxGrid.
|
||||
|
||||
Added wxConfig.
|
||||
|
||||
Added wxMiniFrame for wxGTK.
|
||||
|
||||
Changed many of the args and return values that were pointers to gdi
|
||||
objects to references to reflect changes in the wxWindows API.
|
||||
|
||||
Other assorted fixes and additions.
|
||||
|
||||
|
||||
|
||||
|
||||
What's new in 0.4.2
|
||||
-------------------
|
||||
|
||||
wxPython on wxGTK works!!! Both dynamic and static on Linux and
|
||||
static on Solaris have been tested. Many thanks go to Harm
|
||||
<H.v.d.Heijden@phys.tue.nl> for his astute detective work on tracking
|
||||
down a nasty DECREF bug. Okay so I have to confess that it was just a
|
||||
DSM (Dumb Stupid Mistake) on my part but it was nasty none the less
|
||||
because the behavior was so different on different platforms.
|
||||
|
||||
|
||||
The dynamicly loaded module on Solaris is still segfaulting, so it
|
||||
must have been a different issue all along...
|
||||
|
||||
|
||||
|
||||
What's New in 0.4
|
||||
-----------------
|
||||
|
||||
1. Worked on wxGTK compatibility. It is partially working. On a
|
||||
Solaris/Sparc box wxPython is working but only when it is statically
|
||||
linked with the Python interpreter. When built as a dyamically loaded
|
||||
extension module, things start acting weirdly and it soon seg-faults.
|
||||
And on Linux both the statically linked and the dynamically linked
|
||||
version segfault shortly after starting up.
|
||||
|
||||
2. Added Toolbar, StatusBar and SplitterWindow classes.
|
||||
|
||||
3. Varioius bug fixes, enhancements, etc.
|
||||
|
||||
|
||||
|
||||
Build Instructions
|
||||
------------------
|
||||
I used SWIG (http://www.swig.org) to create the source code for the
|
||||
extension module. This enabled me to only have to deal with a small
|
||||
amount of code and only have to bother with the exceptional issues.
|
||||
SWIG takes care of the rest and generates all the repetative code for
|
||||
me. You don't need SWIG to build the extension module as all the
|
||||
generated C++ code is included under the src directory.
|
||||
|
||||
I added a few minor features to SWIG to control some of the code
|
||||
generation. If you want to playaround with this the patches are in
|
||||
wxPython/SWIG.patches and they should be applied to the 1.1p5 version
|
||||
of SWIG. These new patches are documented at
|
||||
http://starship.skyport.net/crew/robind/python/#swig, and they should
|
||||
also end up in the 1.2 version of SWIG.
|
||||
|
||||
wxPython is organized as a Python package. This means that the
|
||||
directory containing the results of the build process should be a
|
||||
subdirectory of a directory on the PYTHONPATH. (And preferably should
|
||||
be named wxPython.) You can control where the build process will dump
|
||||
wxPython by setting the TARGETDIR makefile variable. The default is
|
||||
$(WXWIN)/utils/wxPython, where this README.txt is located. If you
|
||||
leave it here then you should add $(WXWIN)/utils to your PYTHONPATH.
|
||||
However, you may prefer to use something that is already on your
|
||||
PYTHONPATH, such as the site-packages directory on Unix systems.
|
||||
|
||||
|
||||
Win32
|
||||
-----
|
||||
|
||||
1. Build wxWindows with wxUSE_RESOURCE_LOADING_IN_MSW set to 1 in
|
||||
include/wx/msw/setup.h so icons can be loaded dynamically. While
|
||||
there, make sure wxUSE_OWNER_DRAWN is also set to 1.
|
||||
|
||||
2. Change into the $(WXWIN)/utils/wxPython/src directory.
|
||||
|
||||
3. Edit makefile.vc and specify where your python installation is at.
|
||||
You may also want to fiddle with the TARGETDIR variable as described
|
||||
above.
|
||||
|
||||
4. Run nmake -f makefile.vc
|
||||
|
||||
5. If it builds successfully, congratulations! Move on to the next
|
||||
step. If not then you can try mailing me for help. Also, I will
|
||||
always have a pre-built win32 version of this extension module at
|
||||
http://starship.skyport.net/crew/robind/python.
|
||||
|
||||
6. Change to the $(WXWIN)/utils/wxPython/tests directory.
|
||||
|
||||
7. Try executing the test programs. Note that some of these print
|
||||
diagnositc or test info to standard output, so they will require the
|
||||
console version of python. For example:
|
||||
|
||||
python test1.py
|
||||
|
||||
To run them without requiring a console, you can use the pythonw.exe
|
||||
version of Python either from the command line or from a shortcut.
|
||||
|
||||
|
||||
|
||||
Unix
|
||||
----
|
||||
|
||||
1. Change into the $(WXWIN)/utils/wxPython/src directory.
|
||||
|
||||
2. Edit Setup.in and ensure that the flags, directories, and toolkit
|
||||
options are correct. See the above commentary about TARGETDIR. There
|
||||
are a few sample Setup.in.[platform] files provided.
|
||||
|
||||
[I've written a Setup which should work in almost all Unix systems,
|
||||
so that the steps 1 and 2 don't have to be done. Robert Roebling. ]
|
||||
|
||||
3. Run this command to generate a makefile:
|
||||
|
||||
make -f Makefile.pre.in boot
|
||||
|
||||
4. Run these commands to build and then install the wxPython extension
|
||||
module:
|
||||
|
||||
make
|
||||
|
||||
4b. Log in as root. [Robert Roebling]
|
||||
|
||||
make install
|
||||
|
||||
4c. Log out from root. [Robert Roebling]
|
||||
|
||||
|
||||
5. Change to the $(WXWIN)/utils/wxPython/tests directory.
|
||||
|
||||
6. Try executing the test programs. For example:
|
||||
|
||||
python test1.py
|
||||
|
||||
|
||||
------------------------
|
||||
10/20/1998
|
||||
|
||||
Robin Dunn
|
||||
robin@alldunn.com
|
||||
|
||||
|
||||
|
@@ -1,47 +0,0 @@
|
||||
# This file gives the details of what is needed to build this extension
|
||||
# module so the Makefile can be created.
|
||||
|
||||
###
|
||||
### This file should be created by configure. Currently it is tweaked by hand.
|
||||
###
|
||||
|
||||
*shared*
|
||||
|
||||
CCC=g++
|
||||
WXWIN=~/wxWindows
|
||||
GENCODEDIR=gtk
|
||||
srcdir=$(GENCODEDIR)
|
||||
WX_CONFIG_CFLAGS=`wx-config --cflags` `gtk-config --cflags`
|
||||
WX_CONFIG_LIBS=`wx-config --libs`
|
||||
|
||||
# Depending on how your Python was built, you may have to set this
|
||||
# value to use the C++ driver to link with instead of the default
|
||||
# C driver. For example:
|
||||
MY_LDSHARED=$(CCC) -shared $(WX_CONFIG_LIBS)
|
||||
|
||||
# Same as above, but for statically linking Python and wxPython together,
|
||||
# in other words, if you comment out the *shared* above. If this is the
|
||||
# case then you should ensure that the main() function is Python's, not
|
||||
# wxWindows'. You can rebuild $(WXWIN)/src/gtk/app.cpp with NOMAIN defined
|
||||
# to force this...
|
||||
MY_LINKCC=$(CCC)
|
||||
|
||||
|
||||
## Pick one of these, or set your own. This is where the
|
||||
## wxPython module should be installed. It should be a
|
||||
## subdirectory named wxPython.
|
||||
#TARGETDIR=..
|
||||
#TARGETDIR=$(BINLIBDEST)/site-packages/wxPython
|
||||
TARGETDIR=$(BINLIBDEST)/wxPython
|
||||
|
||||
wxc wx.cpp helpers.cpp windows.cpp events.cpp misc.cpp gdi.cpp \
|
||||
mdi.cpp controls.cpp controls2.cpp windows2.cpp cmndlgs.cpp \
|
||||
frames.cpp stattool.cpp windows3.cpp image.cpp \
|
||||
utils.cpp \
|
||||
## comment out the next line to disable wxGLCanvas
|
||||
##_glcanvas.cpp glcanvas.cpp -DWITH_GLCANVAS -lGL -lGLU \
|
||||
-I. $(WX_CONFIG_CFLAGS) -I/usr/local/lib/glib/include \
|
||||
-DSWIG_GLOBAL -DWXP_WITH_THREAD $(SEPARATE) -Xlinker $(WX_CONFIG_LIBS)
|
||||
|
||||
|
||||
|
@@ -1,764 +0,0 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# This script is creates a dir tree in ~/wxgtk_dist which
|
||||
# can then be packed into an archive
|
||||
|
||||
echo --------
|
||||
echo This script will copy the wxGTK release files into ~/wxgtk_dist
|
||||
echo --------
|
||||
echo
|
||||
|
||||
mkdir ~/wxgtk_dist
|
||||
mkdir ~/wxgtk_dist/wxGTK
|
||||
|
||||
echo Base dir..
|
||||
|
||||
cd ../..
|
||||
cp wxGTK.spec ~/wxgtk_dist/wxGTK
|
||||
cp Makefile ~/wxgtk_dist/wxGTK
|
||||
cp configure ~/wxgtk_dist/wxGTK
|
||||
cp configure.in ~/wxgtk_dist/wxGTK
|
||||
cp config.sub ~/wxgtk_dist/wxGTK
|
||||
cp config.guess ~/wxgtk_dist/wxGTK
|
||||
cp install-sh ~/wxgtk_dist/wxGTK
|
||||
cp mkinstalldirs ~/wxgtk_dist/wxGTK
|
||||
cp template.mak ~/wxgtk_dist/wxGTK
|
||||
cp wx-config.in ~/wxgtk_dist/wxGTK
|
||||
|
||||
echo Docs..
|
||||
|
||||
cd docs/gtk
|
||||
cp COPYING.LIB ~/wxgtk_dist/wxGTK
|
||||
cp install.txt ~/wxgtk_dist/wxGTK/INSTALL.txt
|
||||
cp licence.txt ~/wxgtk_dist/wxGTK/LICENCE.txt
|
||||
cp readme.txt ~/wxgtk_dist/wxGTK/README.txt
|
||||
cp todo.txt ~/wxgtk_dist/wxGTK/TODO.txt
|
||||
cd ..
|
||||
cp symbols.txt ~/wxgtk_dist/wxGTK/SYMBOLS.txt
|
||||
cd ..
|
||||
|
||||
echo Include dir..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include
|
||||
cd include
|
||||
cp install-sh ~/wxgtk_dist/wxGTK/include
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx
|
||||
cd wx
|
||||
cp install-sh ~/wxgtk_dist/wxGTK/include/wx
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/include/wx
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/generic
|
||||
cd generic
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/generic
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/unix
|
||||
cd unix
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/unix
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
cd gtk
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/protocol
|
||||
cd protocol
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/protocol
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
echo Base lib..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/lib
|
||||
cp ./lib/dummy ~/wxgtk_dist/wxGTK/lib
|
||||
|
||||
echo Misc dir..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/misc
|
||||
mkdir ~/wxgtk_dist/wxGTK/misc/afm
|
||||
mkdir ~/wxgtk_dist/wxGTK/misc/gs_afm
|
||||
|
||||
cp ./misc/afm/*.afm ~/wxgtk_dist/wxGTK/misc/afm
|
||||
cp ./misc/gs_afm/*.afm ~/wxgtk_dist/wxGTK/misc/gs_afm
|
||||
|
||||
echo Setup dir..
|
||||
|
||||
cd setup
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup
|
||||
cp maketmpl.in ~/wxgtk_dist/wxGTK/setup
|
||||
cp setup.hin ~/wxgtk_dist/wxGTK/setup
|
||||
cp substit.in ~/wxgtk_dist/wxGTK/setup
|
||||
|
||||
cd general
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp createall ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp jointar ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp makeapp ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp makedirs ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp makedoc ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp mygrep ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp needed ~/wxgtk_dist/wxGTK/setup/general
|
||||
cd ..
|
||||
|
||||
cd rules
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/rules
|
||||
cp * ~/wxgtk_dist/wxGTK/setup/rules
|
||||
|
||||
cd generic
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/rules/generic
|
||||
cp * ~/wxgtk_dist/wxGTK/setup/rules/generic
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
cd shared
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/shared
|
||||
cp * ~/wxgtk_dist/wxGTK/setup/shared
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
echo User dir..
|
||||
|
||||
cd src
|
||||
mkdir ~/wxgtk_dist/wxGTK/user
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/user
|
||||
cd ..
|
||||
|
||||
echo Src dir..
|
||||
|
||||
cd src
|
||||
mkdir ~/wxgtk_dist/wxGTK/src
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/src
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/src
|
||||
cp gtk.inc ~/wxgtk_dist/wxGTK/src
|
||||
|
||||
cd common
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/common
|
||||
cp glob.inc ~/wxgtk_dist/wxGTK/src/common
|
||||
cp lexer.l ~/wxgtk_dist/wxGTK/src/common
|
||||
cp parser.y ~/wxgtk_dist/wxGTK/src/common
|
||||
cp y_tab.c ~/wxgtk_dist/wxGTK/src/common
|
||||
cp extended.c ~/wxgtk_dist/wxGTK/src/common
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/common
|
||||
cd ..
|
||||
|
||||
cd gtk
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.xbm ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.c ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.inc ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cd ..
|
||||
|
||||
cd unix
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/unix
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/unix
|
||||
cd ..
|
||||
|
||||
cd generic
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/generic
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/generic
|
||||
cd ..
|
||||
|
||||
cd iodbc
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/iodbc
|
||||
cp * ~/wxgtk_dist/wxGTK/src/iodbc
|
||||
cd ..
|
||||
|
||||
cd zlib
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/zlib
|
||||
cp * ~/wxgtk_dist/wxGTK/src/zlib
|
||||
cd ..
|
||||
|
||||
cd png
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/png
|
||||
cp * ~/wxgtk_dist/wxGTK/src/png
|
||||
cd ..
|
||||
|
||||
cd jpeg
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/jpeg
|
||||
cp * ~/wxgtk_dist/wxGTK/src/jpeg
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
echo Utils dir..
|
||||
|
||||
cd utils
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils
|
||||
|
||||
echo wxGLCanvas..
|
||||
|
||||
cd glcanvas
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas
|
||||
cp ./docs/notes.txt ~/wxgtk_dist/wxGTK/utils/glcanvas/NOTES.txt
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
|
||||
cp ./gtk/glcanvas.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
|
||||
cp ./gtk/glcanvas.h ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
|
||||
cd samples/cube
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
cp cube.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
cp cube.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
cd ..
|
||||
|
||||
cd isosurf
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
|
||||
cp isosurf.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
|
||||
cp isosurf.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
|
||||
cp isosurf.dat.gz ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
|
||||
cd ..
|
||||
|
||||
cd penguin
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp penguin.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp penguin.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp trackball.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp trackball.c ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp lw.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp lw.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp penguin.lwo ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cd ../../..
|
||||
|
||||
echo DialogEd..
|
||||
|
||||
cd dialoged/src
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dialoged.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dlghndlr.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edlist.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edtree.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp reseditr.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp reswrite.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp symbtabl.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winprop.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winstyle.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dialoged.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dlghndlr.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edlist.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edtree.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp reseditr.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp symbtabl.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winprop.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winstyle.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
|
||||
cd ../../..
|
||||
|
||||
echo wxPython..
|
||||
|
||||
cd wxPython
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython
|
||||
cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src
|
||||
cp ./src/* ~/wxgtk_dist/wxGTK/utils/wxPython/src
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk
|
||||
cp ./src/gtk/* ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/lib
|
||||
cp ./lib/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/lib
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests
|
||||
cp ./tests/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/tests
|
||||
cp ./tests/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/tests
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
cp ./demo/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
cp ./demo/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
cp ./demo/*.pyc ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps
|
||||
cp ./demo/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps
|
||||
cp ./tests/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps
|
||||
cd ..
|
||||
|
||||
echo wxOLE..
|
||||
|
||||
cd wxOLE
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/gtk
|
||||
cp ./gtk/wxole.* ~/wxgtk_dist/wxGTK/utils/wxOLE/gtk
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/samples
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/Makefile ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/*.xpm ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/*.cpp ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/*.gnorba ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
|
||||
cd ../..
|
||||
|
||||
|
||||
echo Samples dir..
|
||||
|
||||
cd samples
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples
|
||||
|
||||
echo Minimal sample..
|
||||
|
||||
cd minimal
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp minimal.cpp ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp mondrian.xpm ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cd ..
|
||||
|
||||
echo Bombs sample..
|
||||
|
||||
cd bombs
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cd ..
|
||||
|
||||
echo Checklst sample..
|
||||
|
||||
cd checklst
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cd ..
|
||||
|
||||
echo Config sample..
|
||||
|
||||
cd config
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/config
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/config
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/config
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/config
|
||||
cd ..
|
||||
|
||||
echo Controls sample..
|
||||
|
||||
cd controls
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cd icons
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/controls/icons
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls/icons
|
||||
cd ../..
|
||||
|
||||
echo Db sample..
|
||||
|
||||
cd db
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/db
|
||||
cd ..
|
||||
|
||||
echo DDE sample..
|
||||
|
||||
cd dde
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cd ..
|
||||
|
||||
echo Dialogs sample..
|
||||
|
||||
cd dialogs
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cd ..
|
||||
|
||||
echo DnD sample..
|
||||
|
||||
cd dnd
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cd ..
|
||||
|
||||
echo Docview sample..
|
||||
|
||||
cd docview
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cd ..
|
||||
|
||||
echo DocvwMDI sample..
|
||||
|
||||
cd docvwmdi
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cd ..
|
||||
|
||||
echo Dynamic sample..
|
||||
|
||||
cd dynamic
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cd ..
|
||||
|
||||
echo Drawing sample..
|
||||
|
||||
cd drawing
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/drawing
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/drawing
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/drawing
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/drawing
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/drawing
|
||||
cd ..
|
||||
|
||||
echo Forty sample..
|
||||
|
||||
cd forty
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.xbm ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cd ..
|
||||
|
||||
echo Fractal sample..
|
||||
|
||||
cd fractal
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cd ..
|
||||
|
||||
echo Grid sample..
|
||||
|
||||
cd grid
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cd ..
|
||||
|
||||
echo Help sample..
|
||||
|
||||
cd help
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/help
|
||||
cd doc
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/help/doc
|
||||
cp * ~/wxgtk_dist/wxGTK/samples/help/doc
|
||||
cd ../..
|
||||
|
||||
echo Image sample..
|
||||
|
||||
cd image
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp horse.png ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp horse.gif ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp horse.jpg ~/wxgtk_dist/wxGTK/samples/image
|
||||
cd ..
|
||||
|
||||
echo Internat sample..
|
||||
|
||||
cd internat
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp readme.txt ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp wxstd.po ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cd fr
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/internat/fr
|
||||
cp *.?o ~/wxgtk_dist/wxGTK/samples/internat/fr
|
||||
cd ../..
|
||||
|
||||
echo Layout sample..
|
||||
|
||||
cd layout
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cd ..
|
||||
|
||||
echo Listctrl sample..
|
||||
|
||||
cd listctrl
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/listctrl/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo MDI sample..
|
||||
|
||||
cd mdi
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/mdi/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/mdi/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo Memcheck sample..
|
||||
|
||||
cd memcheck
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cd ..
|
||||
|
||||
echo Minifram sample..
|
||||
|
||||
cd minifram
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/minifram/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/minifram/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo Notebook sample..
|
||||
|
||||
cd notebook
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cd ..
|
||||
|
||||
echo PNG sample..
|
||||
|
||||
cd png
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp *.png ~/wxgtk_dist/wxGTK/samples/png
|
||||
cd ..
|
||||
|
||||
echo Printing sample..
|
||||
|
||||
cd printing
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cd ..
|
||||
|
||||
echo Proplist sample..
|
||||
|
||||
cd proplist
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cd ..
|
||||
|
||||
echo Resource sample..
|
||||
|
||||
cd resource
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp *.wxr ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cd ..
|
||||
|
||||
echo Sashtest sample..
|
||||
|
||||
cd sashtest
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cd ..
|
||||
|
||||
echo Scroll sample..
|
||||
|
||||
cd sashtest
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/scroll
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/scroll
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/scroll
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/scroll
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/scroll
|
||||
cd ..
|
||||
|
||||
echo Splitter sample..
|
||||
|
||||
cd splitter
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cd ..
|
||||
|
||||
echo Tab sample..
|
||||
|
||||
cd tab
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cd ..
|
||||
|
||||
echo Thread sample..
|
||||
|
||||
cd thread
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cd ..
|
||||
|
||||
echo Toolbar sample..
|
||||
|
||||
cd toolbar
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/toolbar/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo TreeCtrl sample..
|
||||
|
||||
cd treectrl
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cd ..
|
||||
|
||||
echo typetest sample..
|
||||
|
||||
cd typetest
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cd ..
|
||||
|
||||
echo Validate sample..
|
||||
|
||||
cd validate
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cd ..
|
||||
|
||||
echo wxPoem sample..
|
||||
|
||||
cd wxpoem
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp wxpoem.dat ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp wxpoem.txt ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp wxpoem.idx ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cd ..
|
||||
|
||||
echo wxSocket sample..
|
||||
|
||||
cd wxsocket
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cd ../..
|
||||
|
||||
echo LOCAL CORRECTCIONS
|
||||
|
||||
cd distrib/gtk
|
||||
cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
|
||||
cp Setup ~/wxgtk_dist/wxGTK/utils/wxPython/src
|
||||
|
||||
|
||||
|
@@ -1,3 +0,0 @@
|
||||
src/bc32.ide
|
||||
src/bc32d.ide
|
||||
samples/bc32.ide
|
@@ -1,109 +0,0 @@
|
||||
src/make_cw.mcp
|
||||
src/common/cwy_tab.c
|
||||
src/common/cwlex_yy.c
|
||||
include/wx_cw.pch
|
||||
include/wx_cw.pch++
|
||||
include/wx_cw_d.pch
|
||||
include/wx_cw_d.pch++
|
||||
|
||||
samples/bombs/make_cw.mcp
|
||||
|
||||
samples/checklst/make_cw.mcp
|
||||
|
||||
samples/config/make_cw.mcp
|
||||
|
||||
samples/controls/make_cw.mcp
|
||||
|
||||
samples/db/make_cw.mcp
|
||||
|
||||
samples/dialogs/make_cw.mcp
|
||||
|
||||
samples/dnd/make_cw.mcp
|
||||
|
||||
samples/docview/make_cw.mcp
|
||||
|
||||
samples/docvwmdi/make_cw.mcp
|
||||
|
||||
samples/dynamic/make_cw.mcp
|
||||
|
||||
samples/forty/make_cw.mcp
|
||||
|
||||
samples/fractal/make_cw.mcp
|
||||
|
||||
samples/grid/make_cw.mcp
|
||||
|
||||
samples/help/make_cw.mcp
|
||||
|
||||
samples/image/make_cw.mcp
|
||||
|
||||
samples/internat/make_cw.mcp
|
||||
|
||||
samples/joytest/make_cw.mcp
|
||||
|
||||
samples/layout/make_cw.mcp
|
||||
|
||||
samples/listctrl/make_cw.mcp
|
||||
|
||||
samples/mdi/make_cw.mcp
|
||||
|
||||
samples/memcheck/make_cw.mcp
|
||||
|
||||
samples/mfc/make_cw.mcp
|
||||
|
||||
samples/minimal/make_cw.mcp
|
||||
|
||||
samples/minifram/make_cw.mcp
|
||||
|
||||
samples/nativdlg/make_cw.mcp
|
||||
|
||||
samples/notebook/make_cw.mcp
|
||||
|
||||
samples/ownerdrw/make_cw.mcp
|
||||
|
||||
samples/png/make_cw.mcp
|
||||
|
||||
samples/printing/make_cw.mcp
|
||||
|
||||
samples/proplist/make_cw.mcp
|
||||
|
||||
samples/Regtest/make_cw.mcp
|
||||
|
||||
samples/resource/make_cw.mcp
|
||||
|
||||
samples/sashtest/make_cw.mcp
|
||||
|
||||
samples/splitter/make_cw.mcp
|
||||
|
||||
samples/tab/make_cw.mcp
|
||||
|
||||
samples/taskbar/make_cw.mcp
|
||||
|
||||
samples/thread/make_cw.mcp
|
||||
|
||||
samples/toolbar/make_cw.mcp
|
||||
|
||||
samples/treectrl/make_cw.mcp
|
||||
|
||||
samples/typetest/make_cw.mcp
|
||||
|
||||
samples/validate/make_cw.mcp
|
||||
|
||||
samples/wxsocket/make_cw.mcp
|
||||
|
||||
samples/wxpoem/make_cw.mcp
|
||||
|
||||
utils/wxprop/src/make_cw.mcp
|
||||
utils/wxprop/src/make_sample.mcp
|
||||
|
||||
utils/dialoged/src/make_cw.mcp
|
||||
|
||||
utils/glcanvas/win/make_cw.mcp
|
||||
utils/glcanvas/samples/cube/make_cw.mcp
|
||||
utils/glcanvas/samples/isosurf/make_cw.mcp
|
||||
|
||||
utils/ogl/src/make_cw.mcp
|
||||
utils/ogl/samples/ogledit/make_cw.mcp
|
||||
|
||||
utils/wxtree/src/make_cw.mcp
|
||||
utils/wxtree/src/make_cw.mcp
|
||||
|
@@ -10,18 +10,6 @@ docs/latex/wx/*.bmp
|
||||
docs/latex/wx/*.gif
|
||||
docs/latex/wx/*.wmf
|
||||
|
||||
docs/latex/proplist/*.tex
|
||||
docs/latex/proplist/*.sty
|
||||
docs/latex/proplist/*.bib
|
||||
docs/latex/proplist/*.hpj
|
||||
docs/latex/proplist/*.ini
|
||||
docs/latex/proplist/*.txt
|
||||
docs/latex/proplist/*.cnt
|
||||
docs/latex/proplist/*.eps
|
||||
docs/latex/proplist/*.bmp
|
||||
docs/latex/proplist/*.gif
|
||||
docs/latex/proplist/*.wmf
|
||||
|
||||
docs/latex/porting/*.tex
|
||||
docs/latex/porting/*.sty
|
||||
docs/latex/porting/*.bib
|
||||
|
@@ -1,10 +1,4 @@
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
distrib/msw/tardist
|
||||
distrib/gtk/*
|
||||
|
||||
locale/*.po
|
||||
locale/*.mo
|
||||
distrib/*.*
|
||||
|
||||
docs/readme.txt
|
||||
docs/install.txt
|
||||
@@ -14,13 +8,6 @@ docs/upgrade.txt
|
||||
docs/todo.txt
|
||||
docs/licence.txt
|
||||
docs/symbols.txt
|
||||
docs/bugs.txt
|
||||
docs/*.htm
|
||||
docs/html/*.htm
|
||||
docs/html/*.gif
|
||||
|
||||
src/*.inc
|
||||
src/mkdir
|
||||
|
||||
src/common/*.cpp
|
||||
src/common/dosyacc.c
|
||||
@@ -36,11 +23,9 @@ src/generic/*.cpp
|
||||
src/generic/*.c
|
||||
src/generic/*.inc
|
||||
|
||||
src/unix/*.cpp
|
||||
|
||||
src/png/*.c
|
||||
src/png/*.h
|
||||
src/png/makefile*
|
||||
src/png/makefile.*
|
||||
src/png/INSTALL
|
||||
src/png/CHANGES
|
||||
src/png/README
|
||||
@@ -57,18 +42,15 @@ src/zlib/README
|
||||
src/zlib/ChangeLog
|
||||
src/zlib/configure
|
||||
src/zlib/*.txt
|
||||
src/zlib/makefile*
|
||||
src/zlib/makefile.*
|
||||
src/zlib/*.com
|
||||
src/zlib/*.3
|
||||
src/zlib/*.mms
|
||||
|
||||
include/wx/*.h
|
||||
include/wx/*.cpp
|
||||
include/wx/protocol/*.h
|
||||
include/wx/wx_setup.vms
|
||||
include/wx/common/*.h
|
||||
include/wx/generic/*.h
|
||||
include/wx/unix/*.h
|
||||
lib/dummy
|
||||
|
||||
bin/*.*
|
||||
@@ -87,9 +69,9 @@ bitmaps/ico/32x32/*.*
|
||||
afm/*.*
|
||||
|
||||
utils/*.txt
|
||||
utils/make*
|
||||
utils/make*.*
|
||||
|
||||
utils/xpmshow/src/makefile*
|
||||
utils/xpmshow/src/makefile.*
|
||||
utils/xpmshow/src/*.cpp
|
||||
utils/xpmshow/src/*.h
|
||||
utils/xpmshow/src/*.def
|
||||
@@ -100,31 +82,67 @@ utils/xpmshow/src/*.ico
|
||||
|
||||
utils/wxhelp/src/*.cpp
|
||||
utils/wxhelp/src/*.h
|
||||
utils/wxhelp/src/makefile*
|
||||
utils/wxhelp/src/makefile.*
|
||||
utils/wxhelp/src/*.xbm
|
||||
utils/wxhelp/src/*.xpm
|
||||
utils/wxhelp/src/*.txt
|
||||
utils/wxhelp/src/*.ico
|
||||
utils/wxhelp/src/*.def
|
||||
utils/wxhelp/src/*.rc
|
||||
|
||||
utils/tex2rtf/src/wxwin/*.*
|
||||
utils/tex2rtf/src/*.cpp
|
||||
utils/tex2rtf/src/*.h
|
||||
utils/tex2rtf/src/make*.*
|
||||
utils/tex2rtf/src/*.xbm
|
||||
utils/tex2rtf/src/*.sty
|
||||
utils/tex2rtf/src/*.ini
|
||||
utils/tex2rtf/src/*.inf
|
||||
utils/tex2rtf/lib/dummy
|
||||
utils/tex2rtf/src/*.bmp
|
||||
utils/tex2rtf/src/*.ico
|
||||
utils/tex2rtf/src/*.def
|
||||
utils/tex2rtf/src/*.rc
|
||||
utils/tex2rtf/tools/lacheck/*.*
|
||||
utils/tex2rtf/tools/tcheck/*.awk
|
||||
utils/tex2rtf/tools/tcheck/*.pl
|
||||
utils/tex2rtf/tools/tcheck/*.bat
|
||||
|
||||
utils/wxtree/src/*.cpp
|
||||
utils/wxtree/src/*.h
|
||||
utils/wxtree/src/makefile.*
|
||||
utils/wxtree/src/*.xbm
|
||||
utils/wxtree/lib/dummy
|
||||
utils/wxtree/src/*.ico
|
||||
utils/wxtree/src/*.def
|
||||
utils/wxtree/src/*.rc
|
||||
|
||||
utils/wxgraph/src/*.cpp
|
||||
utils/wxgraph/src/*.c
|
||||
utils/wxgraph/src/*.h
|
||||
utils/wxgraph/src/makefile*
|
||||
utils/wxgraph/src/makefile.*
|
||||
utils/wxgraph/src/*.xbm
|
||||
utils/wxgraph/src/*.xpm
|
||||
utils/wxgraph/lib/dummy
|
||||
utils/wxgraph/src/*.ico
|
||||
utils/wxgraph/src/*.def
|
||||
utils/wxgraph/src/*.rc
|
||||
|
||||
utils/mfutils/src/*.cpp
|
||||
utils/mfutils/src/*.h
|
||||
utils/mfutils/src/*.rc
|
||||
utils/mfutils/src/*.def
|
||||
utils/mfutils/src/makefile.*
|
||||
utils/mfutils/src/*.txt
|
||||
utils/mfutils/lib/dummy
|
||||
utils/mfutils/src/*.ico
|
||||
utils/mfutils/src/*.def
|
||||
utils/mfutils/src/*.bmp
|
||||
utils/mfutils/src/*.ico
|
||||
|
||||
utils/rcparser/src/*.cpp
|
||||
utils/rcparser/src/*.c
|
||||
utils/rcparser/src/*.h
|
||||
utils/rcparser/src/makefile*
|
||||
utils/rcparser/src/makefile.*
|
||||
utils/rcparser/src/*.xbm
|
||||
utils/rcparser/src/*.xpm
|
||||
utils/rcparser/lib/dummy
|
||||
utils/rcparser/src/*.ico
|
||||
utils/rcparser/src/*.def
|
||||
@@ -135,30 +153,28 @@ utils/colours/*.h
|
||||
utils/colours/*.cpp
|
||||
utils/colours/*.def
|
||||
utils/colours/*.rc
|
||||
utils/colours/makefile*
|
||||
utils/colours/makefile.*
|
||||
utils/colours/*.xbm
|
||||
utils/colours/*.xpm
|
||||
utils/colours/*.txt
|
||||
|
||||
utils/serialize/*.h
|
||||
utils/serialize/*.cpp
|
||||
utils/serialize/*.def
|
||||
utils/serialize/*.rc
|
||||
utils/serialize/makefile*
|
||||
utils/serialize/*.xbm
|
||||
utils/serialize/*.xpm
|
||||
utils/serialize/*.txt
|
||||
utils/wxprop/src/*.h
|
||||
utils/wxprop/src/*.cpp
|
||||
utils/wxprop/src/*.def
|
||||
utils/wxprop/src/*.rc
|
||||
utils/wxprop/src/makefile.*
|
||||
utils/wxprop/src/*.xbm
|
||||
utils/wxprop/src/*.txt
|
||||
utils/wxprop/src/*.ico
|
||||
utils/wxprop/src/*.bmp
|
||||
utils/wxprop/lib/dummy
|
||||
|
||||
utils/dialoged/Makefile
|
||||
utils/dialoged/src/bitmaps/*.xbm
|
||||
utils/dialoged/src/bitmaps/*.xpm
|
||||
utils/dialoged/src/*.h
|
||||
utils/dialoged/src/*.cpp
|
||||
utils/dialoged/src/*.def
|
||||
utils/dialoged/src/*.rc
|
||||
utils/dialoged/src/makefile*
|
||||
utils/dialoged/src/makefile.*
|
||||
utils/dialoged/src/*.xbm
|
||||
utils/dialoged/src/*.xpm
|
||||
utils/dialoged/src/*.txt
|
||||
utils/dialoged/src/*.inf
|
||||
utils/dialoged/test/*.h
|
||||
@@ -170,80 +186,42 @@ utils/dialoged/src/bitmaps/*.ico
|
||||
utils/dialoged/test/*.cpp
|
||||
utils/dialoged/test/*.def
|
||||
utils/dialoged/test/*.rc
|
||||
utils/dialoged/test/makefile*
|
||||
utils/dialoged/test/makefile.*
|
||||
utils/dialoged/lib/dummy
|
||||
utils/dialoged/test/*.ico
|
||||
utils/dialoged/test/*.prj
|
||||
utils/dialoged/test/*.bmp
|
||||
|
||||
samples/*.txt
|
||||
samples/makefile*
|
||||
samples/makefile.*
|
||||
|
||||
samples/config/*.cpp
|
||||
samples/config/*.h
|
||||
samples/config/*.def
|
||||
samples/config/makefile*
|
||||
samples/config/*.xbm
|
||||
samples/config/*.xpm
|
||||
samples/config/*.txt
|
||||
samples/config/*.ico
|
||||
samples/config/*.bmp
|
||||
samples/config/*.rc
|
||||
samples/config/*.wav
|
||||
samples/hello/*.cpp
|
||||
samples/hello/*.h
|
||||
samples/hello/*.def
|
||||
samples/hello/makefile.*
|
||||
samples/hello/*.xbm
|
||||
samples/hello/*.txt
|
||||
samples/hello/*.ico
|
||||
samples/hello/*.bmp
|
||||
samples/hello/*.rc
|
||||
samples/hello/*.wav
|
||||
|
||||
samples/dynamic/*.cpp
|
||||
samples/dynamic/*.h
|
||||
samples/dynamic/*.def
|
||||
samples/dynamic/makefile*
|
||||
samples/dynamic/makefile.*
|
||||
samples/dynamic/*.xbm
|
||||
samples/dynamic/*.xpm
|
||||
samples/dynamic/*.txt
|
||||
samples/dynamic/*.ico
|
||||
samples/dynamic/*.bmp
|
||||
samples/dynamic/*.rc
|
||||
samples/dynamic/*.wav
|
||||
|
||||
samples/wxsocket/*.cpp
|
||||
samples/wxsocket/*.h
|
||||
samples/wxsocket/*.def
|
||||
samples/wxsocket/makefile*
|
||||
samples/wxsocket/client.wat
|
||||
samples/wxsocket/server.wat
|
||||
samples/wxsocket/client.vc
|
||||
samples/wxsocket/server.vc
|
||||
samples/wxsocket/client.dos
|
||||
samples/wxsocket/server.dos
|
||||
samples/wxsocket/client.b32
|
||||
samples/wxsocket/server.b32
|
||||
samples/wxsocket/client.bcc
|
||||
samples/wxsocket/server.bcc
|
||||
samples/wxsocket/*.xbm
|
||||
samples/wxsocket/*.xpm
|
||||
samples/wxsocket/*.ico
|
||||
samples/wxsocket/*.rc
|
||||
|
||||
samples/help/*.cpp
|
||||
samples/help/*.h
|
||||
samples/help/*.def
|
||||
samples/help/makefile*
|
||||
samples/help/*.xbm
|
||||
samples/help/*.xpm
|
||||
samples/help/*.ico
|
||||
samples/help/*.rc
|
||||
samples/help/doc/*.html
|
||||
samples/help/doc/*.htm
|
||||
samples/help/doc/*.class
|
||||
samples/help/doc/*.db
|
||||
samples/help/doc/*.tex
|
||||
samples/help/doc/*.gif
|
||||
samples/help/doc/*.map
|
||||
|
||||
samples/bombs/*.cpp
|
||||
samples/bombs/*.h
|
||||
samples/bombs/*.def
|
||||
samples/bombs/makefile*
|
||||
samples/bombs/makefile.*
|
||||
samples/bombs/*.xbm
|
||||
samples/bombs/*.xpm
|
||||
samples/bombs/*.txt
|
||||
samples/bombs/*.ico
|
||||
samples/bombs/*.bmp
|
||||
@@ -252,31 +230,19 @@ samples/bombs/*.rc
|
||||
samples/ipc/*.cpp
|
||||
samples/ipc/*.h
|
||||
samples/ipc/*.def
|
||||
samples/ipc/makefile*
|
||||
samples/ipc/makefile.*
|
||||
samples/ipc/*.xbm
|
||||
samples/ipc/*.xpm
|
||||
samples/ipc/*.ico
|
||||
samples/ipc/*.rc
|
||||
|
||||
samples/typetest/*.cpp
|
||||
samples/typetest/*.h
|
||||
samples/typetest/*.def
|
||||
samples/typetest/*.rc
|
||||
samples/typetest/*.txt
|
||||
samples/typetest/makefile*
|
||||
samples/typetest/*.xbm
|
||||
samples/typetest/*.xpm
|
||||
samples/typetest/*.ico
|
||||
|
||||
samples/sashtest/*.cpp
|
||||
samples/sashtest/*.h
|
||||
samples/sashtest/*.def
|
||||
samples/sashtest/*.rc
|
||||
samples/sashtest/*.txt
|
||||
samples/sashtest/makefile*
|
||||
samples/sashtest/*.xbm
|
||||
samples/sashtest/*.xpm
|
||||
samples/sashtest/*.ico
|
||||
samples/types/*.cpp
|
||||
samples/types/*.h
|
||||
samples/types/*.def
|
||||
samples/types/*.rc
|
||||
samples/types/*.txt
|
||||
samples/types/makefile.*
|
||||
samples/types/*.xbm
|
||||
samples/types/*.ico
|
||||
|
||||
samples/resource/*.cpp
|
||||
samples/resource/*.h
|
||||
@@ -284,152 +250,125 @@ samples/resource/*.def
|
||||
samples/resource/*.rc
|
||||
samples/resource/*.txt
|
||||
samples/resource/*.wxr
|
||||
samples/resource/makefile*
|
||||
samples/resource/makefile.*
|
||||
samples/resource/*.xbm
|
||||
samples/resource/*.xpm
|
||||
samples/resource/*.ico
|
||||
|
||||
samples/animate/*.cpp
|
||||
samples/animate/*.h
|
||||
samples/animate/*.def
|
||||
samples/animate/makefile*
|
||||
samples/animate/makefile.*
|
||||
samples/animate/*.xbm
|
||||
samples/animate/*.xpm
|
||||
samples/animate/*.ico
|
||||
samples/animate/*.rc
|
||||
|
||||
samples/mdi/*.cpp
|
||||
samples/mdi/*.h
|
||||
samples/mdi/*.def
|
||||
samples/mdi/makefile*
|
||||
samples/mdi/makefile.*
|
||||
samples/mdi/*.xbm
|
||||
samples/mdi/*.xpm
|
||||
samples/mdi/*.ico
|
||||
samples/mdi/*.rc
|
||||
samples/mdi/bitmaps/*.bmp
|
||||
samples/mdi/bitmaps/*.ico
|
||||
samples/mdi/bitmaps/*.xpm
|
||||
samples/mdi/bitmaps/*.xbm
|
||||
|
||||
samples/minimal/*.cpp
|
||||
samples/minimal/*.h
|
||||
samples/minimal/*.def
|
||||
samples/minimal/makefile*
|
||||
samples/minimal/makefile.*
|
||||
samples/minimal/*.xbm
|
||||
samples/minimal/*.xpm
|
||||
samples/minimal/*.ico
|
||||
samples/minimal/*.rc
|
||||
|
||||
samples/controls/*.cpp
|
||||
samples/controls/*.h
|
||||
samples/controls/*.def
|
||||
samples/controls/makefile*
|
||||
samples/controls/makefile.*
|
||||
samples/controls/*.xbm
|
||||
samples/controls/*.xpm
|
||||
samples/controls/*.ico
|
||||
samples/controls/*.bmp
|
||||
samples/controls/*.rc
|
||||
samples/controls/icons/*.bmp
|
||||
samples/controls/icons/*.ico
|
||||
samples/controls/icons/*.xpm
|
||||
|
||||
samples/fractal/*.cpp
|
||||
samples/fractal/*.h
|
||||
samples/fractal/*.def
|
||||
samples/fractal/makefile*
|
||||
samples/fractal/makefile.*
|
||||
samples/fractal/*.xbm
|
||||
samples/fractal/*.xpm
|
||||
samples/fractal/*.ico
|
||||
samples/fractal/*.rc
|
||||
|
||||
samples/proplist/*.cpp
|
||||
samples/proplist/*.h
|
||||
samples/proplist/*.def
|
||||
samples/proplist/makefile*
|
||||
samples/proplist/*.xbm
|
||||
samples/proplist/*.xpm
|
||||
samples/proplist/*.ico
|
||||
samples/proplist/*.bmp
|
||||
samples/proplist/*.rc
|
||||
|
||||
samples/layout/*.cpp
|
||||
samples/layout/*.h
|
||||
samples/layout/*.def
|
||||
samples/layout/makefile*
|
||||
samples/layout/makefile.*
|
||||
samples/layout/*.xbm
|
||||
samples/layout/*.xpm
|
||||
samples/layout/*.ico
|
||||
samples/layout/*.rc
|
||||
samples/layout/*.bmp
|
||||
samples/layout/*.xpm
|
||||
|
||||
samples/printing/*.cpp
|
||||
samples/printing/*.h
|
||||
samples/printing/*.def
|
||||
samples/printing/makefile*
|
||||
samples/printing/makefile.*
|
||||
samples/printing/*.xbm
|
||||
samples/printing/*.xpm
|
||||
samples/printing/*.txt
|
||||
samples/printing/*.ico
|
||||
samples/printing/*.bmp
|
||||
samples/printing/*.rc
|
||||
samples/printing/*.afm
|
||||
|
||||
samples/toolbar/*.cpp
|
||||
samples/toolbar/*.h
|
||||
samples/toolbar/*.def
|
||||
samples/toolbar/makefile*
|
||||
samples/toolbar/*.txt
|
||||
samples/toolbar/*.xbm
|
||||
samples/toolbar/*.xpm
|
||||
samples/toolbar/bitmaps/*.xbm
|
||||
samples/toolbar/bitmaps/*.xpm
|
||||
samples/toolbar/*.ico
|
||||
samples/toolbar/*.bmp
|
||||
samples/toolbar/*.rc
|
||||
samples/toolbar/bitmaps/*.bmp
|
||||
samples/tbarsmpl/*.cpp
|
||||
samples/tbarsmpl/*.h
|
||||
samples/tbarsmpl/*.def
|
||||
samples/tbarsmpl/makefile.*
|
||||
samples/tbarsmpl/*.txt
|
||||
samples/tbarsmpl/*.xbm
|
||||
samples/tbarsmpl/bitmaps/*.xbm
|
||||
samples/tbarsmpl/*.ico
|
||||
samples/tbarsmpl/*.bmp
|
||||
samples/tbarsmpl/*.rc
|
||||
samples/tbarsmpl/bitmaps/*.bmp
|
||||
|
||||
samples/tbar95/*.cpp
|
||||
samples/tbar95/*.h
|
||||
samples/tbar95/*.def
|
||||
samples/tbar95/makefile.*
|
||||
samples/tbar95/*.txt
|
||||
samples/tbar95/*.xbm
|
||||
samples/tbar95/bitmaps/*.xbm
|
||||
samples/tbar95/*.ico
|
||||
samples/tbar95/*.bmp
|
||||
samples/tbar95/*.rc
|
||||
samples/tbar95/bitmaps/*.bmp
|
||||
|
||||
samples/tbarmsw/*.cpp
|
||||
samples/tbarmsw/*.h
|
||||
samples/tbarmsw/*.def
|
||||
samples/tbarmsw/makefile.*
|
||||
samples/tbarmsw/*.txt
|
||||
samples/tbarmsw/*.xbm
|
||||
samples/tbarmsw/bitmaps/*.xbm
|
||||
samples/tbarmsw/*.ico
|
||||
samples/tbarmsw/*.bmp
|
||||
samples/tbarmsw/*.rc
|
||||
samples/tbarmsw/bitmaps/*.bmp
|
||||
|
||||
samples/docview/*.h
|
||||
samples/docview/*.cpp
|
||||
samples/docview/*.def
|
||||
samples/docview/*.rc
|
||||
samples/docview/makefile*
|
||||
samples/docview/makefile.*
|
||||
samples/docview/*.xbm
|
||||
samples/docview/*.xpm
|
||||
samples/docview/*.txt
|
||||
samples/docview/*.ico
|
||||
samples/docview/*.bmp
|
||||
|
||||
samples/docvwmdi/*.h
|
||||
samples/docvwmdi/*.cpp
|
||||
samples/docvwmdi/*.def
|
||||
samples/docvwmdi/*.rc
|
||||
samples/docvwmdi/makefile*
|
||||
samples/docvwmdi/*.xbm
|
||||
samples/docvwmdi/*.xpm
|
||||
samples/docvwmdi/*.txt
|
||||
samples/docvwmdi/*.ico
|
||||
samples/docvwmdi/*.bmp
|
||||
|
||||
samples/minifram/*.h
|
||||
samples/minifram/*.cpp
|
||||
samples/minifram/*.def
|
||||
samples/minifram/*.rc
|
||||
samples/minifram/makefile*
|
||||
samples/minifram/*.xbm
|
||||
samples/minifram/*.xpm
|
||||
samples/minifram/*.txt
|
||||
samples/minifram/*.ico
|
||||
samples/minifram/*.bmp
|
||||
samples/minifram/bitmaps/*.bmp
|
||||
samples/minifram/bitmaps/*.xpm
|
||||
|
||||
samples/memcheck/*.h
|
||||
samples/memcheck/*.cpp
|
||||
samples/memcheck/*.def
|
||||
samples/memcheck/*.rc
|
||||
samples/memcheck/makefile*
|
||||
samples/memcheck/makefile.*
|
||||
samples/memcheck/*.xbm
|
||||
samples/memcheck/*.xpm
|
||||
samples/memcheck/*.txt
|
||||
samples/memcheck/*.ico
|
||||
samples/memcheck/*.bmp
|
||||
@@ -438,22 +377,21 @@ samples/odbc/*.h
|
||||
samples/odbc/*.cpp
|
||||
samples/odbc/*.def
|
||||
samples/odbc/*.rc
|
||||
samples/odbc/makefile*
|
||||
samples/odbc/makefile.*
|
||||
samples/odbc/*.inf
|
||||
samples/odbc/*.xbm
|
||||
samples/odbc/*.xpm
|
||||
samples/odbc/*.ico
|
||||
samples/odbc/*.bmp
|
||||
samples/odbc/*.dbf
|
||||
samples/odbc/*.cdx
|
||||
samples/odbc/odbc32.lib
|
||||
|
||||
samples/dialogs/*.h
|
||||
samples/dialogs/*.cpp
|
||||
samples/dialogs/*.def
|
||||
samples/dialogs/*.rc
|
||||
samples/dialogs/makefile*
|
||||
samples/dialogs/makefile.*
|
||||
samples/dialogs/*.xbm
|
||||
samples/dialogs/*.xpm
|
||||
samples/dialogs/*.txt
|
||||
samples/dialogs/*.bmp
|
||||
samples/dialogs/*.ico
|
||||
@@ -464,9 +402,8 @@ samples/wxpoem/*.def
|
||||
samples/wxpoem/*.rc
|
||||
samples/wxpoem/*.inf
|
||||
samples/wxpoem/*.txt
|
||||
samples/wxpoem/makefile*
|
||||
samples/wxpoem/makefile.*
|
||||
samples/wxpoem/*.xbm
|
||||
samples/wxpoem/*.xpm
|
||||
samples/wxpoem/*.ico
|
||||
samples/wxpoem/*.bmp
|
||||
samples/wxpoem/*.dat
|
||||
@@ -478,9 +415,8 @@ samples/pressup/*.def
|
||||
samples/pressup/*.rc
|
||||
samples/pressup/*.inf
|
||||
samples/pressup/*.txt
|
||||
samples/pressup/makefile*
|
||||
samples/pressup/makefile.*
|
||||
samples/pressup/*.xbm
|
||||
samples/pressup/*.xpm
|
||||
samples/pressup/*.ico
|
||||
samples/pressup/*.bmp
|
||||
|
||||
@@ -490,9 +426,8 @@ samples/validate/*.def
|
||||
samples/validate/*.rc
|
||||
samples/validate/*.inf
|
||||
samples/validate/*.txt
|
||||
samples/validate/makefile*
|
||||
samples/validate/makefile.*
|
||||
samples/validate/*.xbm
|
||||
samples/validate/*.xpm
|
||||
samples/validate/*.ico
|
||||
samples/validate/*.bmp
|
||||
|
||||
@@ -502,9 +437,8 @@ samples/events/*.def
|
||||
samples/events/*.rc
|
||||
samples/events/*.inf
|
||||
samples/events/*.txt
|
||||
samples/events/makefile*
|
||||
samples/events/makefile.*
|
||||
samples/events/*.xbm
|
||||
samples/events/*.xpm
|
||||
samples/events/*.ico
|
||||
samples/events/*.bmp
|
||||
|
||||
@@ -513,11 +447,9 @@ samples/treectrl/*.h
|
||||
samples/treectrl/*.def
|
||||
samples/treectrl/*.rc
|
||||
samples/treectrl/*.txt
|
||||
samples/treectrl/makefile*
|
||||
samples/treectrl/makefile.*
|
||||
samples/treectrl/*.xbm
|
||||
samples/treectrl/*.xpm
|
||||
samples/treectrl/bitmaps/*.xbm
|
||||
samples/treectrl/bitmaps/*.xpm
|
||||
samples/treectrl/*.ico
|
||||
samples/treectrl/*.bmp
|
||||
samples/treectrl/bitmaps/*.bmp
|
||||
@@ -528,11 +460,9 @@ samples/listctrl/*.h
|
||||
samples/listctrl/*.def
|
||||
samples/listctrl/*.rc
|
||||
samples/listctrl/*.txt
|
||||
samples/listctrl/makefile*
|
||||
samples/listctrl/makefile.*
|
||||
samples/listctrl/*.xbm
|
||||
samples/listctrl/*.xpm
|
||||
samples/listctrl/bitmaps/*.xbm
|
||||
samples/listctrl/bitmaps/*.xpm
|
||||
samples/listctrl/*.ico
|
||||
samples/listctrl/*.bmp
|
||||
samples/listctrl/bitmaps/*.bmp
|
||||
@@ -543,9 +473,8 @@ samples/splitter/*.h
|
||||
samples/splitter/*.def
|
||||
samples/splitter/*.rc
|
||||
samples/splitter/*.txt
|
||||
samples/splitter/makefile*
|
||||
samples/splitter/makefile.*
|
||||
samples/splitter/*.xbm
|
||||
samples/splitter/*.xpm
|
||||
samples/splitter/*.ico
|
||||
samples/splitter/*.bmp
|
||||
|
||||
@@ -554,9 +483,8 @@ samples/grid/*.h
|
||||
samples/grid/*.def
|
||||
samples/grid/*.rc
|
||||
samples/grid/*.txt
|
||||
samples/grid/makefile*
|
||||
samples/grid/makefile.*
|
||||
samples/grid/*.xbm
|
||||
samples/grid/*.xpm
|
||||
samples/grid/*.ico
|
||||
samples/grid/*.bmp
|
||||
|
||||
@@ -565,163 +493,48 @@ samples/internat/*.h
|
||||
samples/internat/*.def
|
||||
samples/internat/*.rc
|
||||
samples/internat/*.txt
|
||||
samples/internat/makefile*
|
||||
samples/internat/makefile.*
|
||||
samples/internat/*.xbm
|
||||
samples/internat/*.xpm
|
||||
samples/internat/*.po
|
||||
samples/internat/*.ico
|
||||
samples/internat/*.bmp
|
||||
samples/internat/*.mo
|
||||
samples/internat/fr/*.mo
|
||||
samples/internat/fr/*.po
|
||||
|
||||
samples/checklst/*.cpp
|
||||
samples/checklst/*.h
|
||||
samples/checklst/*.def
|
||||
samples/checklst/*.rc
|
||||
samples/checklst/*.txt
|
||||
samples/checklst/makefile*
|
||||
samples/checklst/makefile.*
|
||||
samples/checklst/*.xbm
|
||||
samples/checklst/*.xpm
|
||||
samples/checklst/*.ico
|
||||
samples/checklst/*.bmp
|
||||
|
||||
samples/dnd/*.cpp
|
||||
samples/dnd/*.h
|
||||
samples/dnd/makefile*
|
||||
samples/dnd/makefile.*
|
||||
samples/dnd/*.rc
|
||||
samples/dnd/*.def
|
||||
samples/dnd/*.bmp
|
||||
samples/dnd/*.xbm
|
||||
samples/dnd/*.xpm
|
||||
samples/dnd/*.ico
|
||||
samples/dnd/*.txt
|
||||
|
||||
samples/tab/*.cpp
|
||||
samples/tab/*.h
|
||||
samples/tab/makefile*
|
||||
samples/tab/makefile.*
|
||||
samples/tab/*.rc
|
||||
samples/tab/*.def
|
||||
samples/tab/*.bmp
|
||||
samples/tab/*.xbm
|
||||
samples/tab/*.xpm
|
||||
samples/tab/*.ico
|
||||
samples/tab/*.txt
|
||||
|
||||
samples/notebook/*.cpp
|
||||
samples/notebook/*.h
|
||||
samples/notebook/makefile*
|
||||
samples/notebook/*.rc
|
||||
samples/notebook/*.def
|
||||
samples/notebook/*.bmp
|
||||
samples/notebook/*.xbm
|
||||
samples/notebook/*.xpm
|
||||
samples/notebook/*.ico
|
||||
samples/notebook/*.txt
|
||||
|
||||
samples/png/*.cpp
|
||||
samples/png/*.h
|
||||
samples/png/makefile*
|
||||
samples/png/makefile.*
|
||||
samples/png/*.rc
|
||||
samples/png/*.def
|
||||
samples/png/*.bmp
|
||||
samples/png/*.xpm
|
||||
samples/png/*.xbm
|
||||
samples/png/*.ico
|
||||
samples/png/*.txt
|
||||
samples/png/*.png
|
||||
|
||||
samples/image/*.cpp
|
||||
samples/image/*.h
|
||||
samples/image/makefile*
|
||||
samples/image/*.rc
|
||||
samples/image/*.def
|
||||
samples/image/*.bmp
|
||||
samples/image/*.xpm
|
||||
samples/image/*.xbm
|
||||
samples/image/*.png
|
||||
samples/image/*.ico
|
||||
samples/image/*.txt
|
||||
|
||||
samples/thread/*.cpp
|
||||
samples/thread/*.h
|
||||
samples/thread/makefile*
|
||||
samples/thread/*.rc
|
||||
samples/thread/*.def
|
||||
samples/thread/*.bmp
|
||||
samples/thread/*.xpm
|
||||
samples/thread/*.xbm
|
||||
samples/thread/*.png
|
||||
samples/thread/*.ico
|
||||
samples/thread/*.txt
|
||||
|
||||
samples/forty/*.cpp
|
||||
samples/forty/*.h
|
||||
samples/forty/makefile*
|
||||
samples/forty/*.rc
|
||||
samples/forty/*.def
|
||||
samples/forty/*.bmp
|
||||
samples/forty/*.xpm
|
||||
samples/forty/*.xbm
|
||||
samples/forty/*.png
|
||||
samples/forty/*.ico
|
||||
samples/forty/*.txt
|
||||
|
||||
samples/dde/*.cpp
|
||||
samples/dde/*.h
|
||||
samples/dde/makefile*
|
||||
samples/dde/client.vc
|
||||
samples/dde/server.vc
|
||||
samples/dde/client.wat
|
||||
samples/dde/server.wat
|
||||
samples/dde/client.b32
|
||||
samples/dde/server.b32
|
||||
samples/dde/client.bcc
|
||||
samples/dde/server.bcc
|
||||
samples/dde/client.dos
|
||||
samples/dde/server.dos
|
||||
samples/dde/*.rc
|
||||
samples/dde/*.def
|
||||
samples/dde/*.bmp
|
||||
samples/dde/*.xpm
|
||||
samples/dde/*.xbm
|
||||
samples/dde/*.png
|
||||
samples/dde/*.ico
|
||||
samples/dde/*.txt
|
||||
|
||||
samples/scroll/*.cpp
|
||||
samples/scroll/*.h
|
||||
samples/scroll/makefile*
|
||||
samples/scroll/*.rc
|
||||
samples/scroll/*.def
|
||||
samples/scroll/*.bmp
|
||||
samples/scroll/*.xpm
|
||||
samples/scroll/*.xbm
|
||||
samples/scroll/*.png
|
||||
samples/scroll/*.ico
|
||||
samples/scroll/*.txt
|
||||
|
||||
samples/caret/*.cpp
|
||||
samples/caret/*.h
|
||||
samples/caret/makefile*
|
||||
samples/caret/*.rc
|
||||
samples/caret/*.def
|
||||
samples/caret/*.bmp
|
||||
samples/caret/*.xpm
|
||||
samples/caret/*.xbm
|
||||
samples/caret/*.png
|
||||
samples/caret/*.ico
|
||||
samples/caret/*.txt
|
||||
|
||||
samples/drawing/*.cpp
|
||||
samples/drawing/*.h
|
||||
samples/drawing/makefile*
|
||||
samples/drawing/*.rc
|
||||
samples/drawing/*.def
|
||||
samples/drawing/*.bmp
|
||||
samples/drawing/*.xpm
|
||||
samples/drawing/*.xbm
|
||||
samples/drawing/*.png
|
||||
samples/drawing/*.ico
|
||||
samples/drawing/*.txt
|
||||
|
||||
|
@@ -1,43 +0,0 @@
|
||||
utils/glcanvas/docs/*.*
|
||||
utils/glcanvas/win/*.cpp
|
||||
utils/glcanvas/win/*.h
|
||||
utils/glcanvas/win/make*.*
|
||||
utils/glcanvas/gtk/*.cpp
|
||||
utils/glcanvas/gtk/*.h
|
||||
utils/glcanvas/gtk/make*.*
|
||||
utils/glcanvas/gtk/Makefile
|
||||
utils/glcanvas/motif/*.cpp
|
||||
utils/glcanvas/motif/*.h
|
||||
utils/glcanvas/motif/make*.*
|
||||
utils/glcanvas/motif/*.txt
|
||||
utils/glcanvas/motif/Makefile
|
||||
utils/glcanvas/samples/cube/*.cpp
|
||||
utils/glcanvas/samples/cube/*.h
|
||||
utils/glcanvas/samples/cube/*.rc
|
||||
utils/glcanvas/samples/cube/*.ico
|
||||
utils/glcanvas/samples/cube/*.xbm
|
||||
utils/glcanvas/samples/cube/make*.*
|
||||
utils/glcanvas/samples/cube/Makefile
|
||||
|
||||
utils/glcanvas/samples/isosurf/*.cpp
|
||||
utils/glcanvas/samples/isosurf/*.h
|
||||
utils/glcanvas/samples/isosurf/*.rc
|
||||
utils/glcanvas/samples/isosurf/*.ico
|
||||
utils/glcanvas/samples/isosurf/*.xbm
|
||||
utils/glcanvas/samples/isosurf/*.dat.gz
|
||||
utils/glcanvas/samples/isosurf/make*.*
|
||||
utils/glcanvas/samples/isosurf/Makefile
|
||||
|
||||
utils/glcanvas/samples/penguin/*.cpp
|
||||
utils/glcanvas/samples/penguin/*.c
|
||||
utils/glcanvas/samples/penguin/*.h
|
||||
utils/glcanvas/samples/penguin/*.rc
|
||||
utils/glcanvas/samples/penguin/*.ico
|
||||
utils/glcanvas/samples/penguin/*.xbm
|
||||
utils/glcanvas/samples/penguin/*.xpm
|
||||
utils/glcanvas/samples/penguin/make*.*
|
||||
utils/glcanvas/samples/penguin/Makefile
|
||||
utils/glcanvas/samples/penguin/penguin.lwo
|
||||
|
||||
|
||||
|
@@ -1,97 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
wxGTK.spec
|
||||
|
||||
distrib/gtk/copy_src
|
||||
distrib/gtk/README.txt
|
||||
distrib/gtk/Setup
|
||||
|
||||
docs/gtk/*.html
|
||||
docs/gtk/*.txt
|
||||
docs/gtk/makewxgtk
|
||||
|
||||
include/wx/gtk/*.h
|
||||
include/install-sh
|
||||
include/wx/install-sh
|
||||
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/gtk.inc
|
||||
src/make.env
|
||||
src/makelib.env
|
||||
src/makeprog.env
|
||||
|
||||
src/gtk/*.cpp
|
||||
src/gtk/*.c
|
||||
src/gtk/*.inc
|
||||
src/gtk/*.xbm
|
||||
|
||||
src/iodbc/*.c
|
||||
src/iodbc/*.ci
|
||||
src/iodbc/*.h
|
||||
src/iodbc/IAFA-PACKAGE
|
||||
src/iodbc/README
|
||||
src/iodbc/*.exp
|
||||
src/iodbc/*.mk
|
||||
src/iodbc/autoconfig
|
||||
src/iodbc/build
|
||||
src/iodbc/Changes.log
|
||||
src/iodbc/postgres/*.h
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
misc/afm/*.afm
|
||||
misc/gs_afm/*.afm
|
||||
|
@@ -1,91 +0,0 @@
|
||||
samples/bombs/Makefile.in
|
||||
samples/bombs/Makefile
|
||||
samples/checklst/Makefile.in
|
||||
samples/checklst/Makefile
|
||||
samples/config/Makefile.in
|
||||
samples/config/Makefile
|
||||
samples/controls/Makefile.in
|
||||
samples/controls/Makefile
|
||||
samples/db/Makefile.in
|
||||
samples/db/Makefile
|
||||
samples/dde/Makefile.in
|
||||
samples/dde/Makefile
|
||||
samples/dialogs/Makefile.in
|
||||
samples/dialogs/Makefile
|
||||
samples/dnd/Makefile.in
|
||||
samples/dnd/Makefile
|
||||
samples/docview/Makefile.in
|
||||
samples/docview/Makefile
|
||||
samples/docvwmdi/Makefile.in
|
||||
samples/docvwmdi/Makefile
|
||||
samples/dynamic/Makefile.in
|
||||
samples/dynamic/Makefile
|
||||
samples/forty/Makefile.in
|
||||
samples/forty/Makefile
|
||||
samples/fractal/Makefile.in
|
||||
samples/fractal/Makefile
|
||||
samples/grid/Makefile.in
|
||||
samples/grid/Makefile
|
||||
samples/help/Makefile.in
|
||||
samples/help/Makefile
|
||||
samples/image/Makefile.in
|
||||
samples/image/Makefile
|
||||
samples/internat/Makefile.in
|
||||
samples/internat/Makefile
|
||||
samples/layout/Makefile.in
|
||||
samples/layout/Makefile
|
||||
samples/listctrl/Makefile.in
|
||||
samples/listctrl/Makefile
|
||||
samples/mdi/Makefile.in
|
||||
samples/mdi/Makefile
|
||||
samples/memcheck/Makefile.in
|
||||
samples/memcheck/Makefile
|
||||
samples/minifram/Makefile.in
|
||||
samples/minifram/Makefile
|
||||
samples/minimal/Makefile.in
|
||||
samples/minimal/Makefile
|
||||
samples/notebook/Makefile.in
|
||||
samples/notebook/Makefile
|
||||
samples/png/Makefile.in
|
||||
samples/png/Makefile
|
||||
samples/printing/Makefile.in
|
||||
samples/printing/Makefile
|
||||
samples/proplist/Makefile.in
|
||||
samples/proplist/Makefile
|
||||
samples/resource/Makefile.in
|
||||
samples/resource/Makefile
|
||||
samples/sashtest/Makefile.in
|
||||
samples/sashtest/Makefile
|
||||
samples/splitter/Makefile.in
|
||||
samples/splitter/Makefile
|
||||
samples/tab/Makefile.in
|
||||
samples/tab/Makefile
|
||||
samples/thread/Makefile.in
|
||||
samples/thread/Makefile
|
||||
samples/toolbar/Makefile.in
|
||||
samples/toolbar/Makefile
|
||||
samples/treectrl/Makefile.in
|
||||
samples/treectrl/Makefile
|
||||
samples/typetest/Makefile.in
|
||||
samples/typetest/Makefile
|
||||
samples/validate/Makefile.in
|
||||
samples/validate/Makefile
|
||||
samples/wxpoem/Makefile.in
|
||||
samples/wxpoem/Makefile
|
||||
samples/wxsocket/Makefile.in
|
||||
samples/wxsocket/Makefile
|
||||
samples/scroll/Makefile.in
|
||||
samples/scroll/Makefile
|
||||
samples/caret/Makefile.in
|
||||
samples/caret/Makefile
|
||||
samples/drawing/Makefile.in
|
||||
samples/drawing/Makefile
|
||||
src/Makefile.in
|
||||
src/Makefile
|
||||
utils/ogl/samples/ogledit/Makefile.in
|
||||
utils/ogl/samples/ogledit/Makefile
|
||||
utils/ogl/samples/studio/Makefile.in
|
||||
utils/ogl/samples/studio/Makefile
|
||||
utils/ogl/src/Makefile.in
|
||||
utils/ogl/src/Makefile
|
||||
|
@@ -1,104 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
wxinstall
|
||||
|
||||
src/makeenvs/*.env
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
src/makelib.env
|
||||
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/motif.inc
|
||||
|
||||
src/motif/*.cpp
|
||||
src/motif/*.c
|
||||
src/motif/*.h
|
||||
src/motif/makefile*
|
||||
src/motif/*.inc
|
||||
src/motif/*.xbm
|
||||
src/motif/xmcombo/*.c
|
||||
src/motif/xmcombo/*.h
|
||||
src/motif/xmcombo/*.doc
|
||||
src/motif/xmcombo/*.man
|
||||
src/motif/xmcombo/*.txt
|
||||
|
||||
src/iodbc/*.c
|
||||
src/iodbc/*.ci
|
||||
src/iodbc/*.h
|
||||
src/iodbc/IAFA-PACKAGE
|
||||
src/iodbc/README
|
||||
src/iodbc/*.exp
|
||||
src/iodbc/*.mk
|
||||
src/iodbc/autoconfig
|
||||
src/iodbc/build
|
||||
src/iodbc/Changes.log
|
||||
src/iodbc/postgres/*.h
|
||||
|
||||
include/wx/motif/*.h
|
||||
include/install-sh
|
||||
include/wx/install-sh
|
||||
|
||||
docs/motif/*.txt
|
||||
docs/motif/makewxmotif
|
||||
|
||||
lib/dummy
|
||||
|
||||
misc/afm/*.afm
|
||||
misc/gs_afm/*.afm
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
|
@@ -1,42 +1,16 @@
|
||||
docs/msw/*.txt
|
||||
docs/licence.txt
|
||||
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
|
||||
tools/gettext/xgettext.exe
|
||||
tools/gettext/msgfmt.exe
|
||||
tools/gettext/msgunfmt.exe
|
||||
|
||||
src/makeb32.env
|
||||
src/makeprog.b32
|
||||
src/makelib.b32
|
||||
src/makebcc.env
|
||||
src/makeprog.bcc
|
||||
src/makelib.bcc
|
||||
src/makemsc.env
|
||||
src/makeprog.msc
|
||||
src/makelib.msc
|
||||
src/makemsw.env
|
||||
src/makewat.env
|
||||
src/makeprog.wat
|
||||
src/makelib.wat
|
||||
src/makesc.env
|
||||
src/makevc.env
|
||||
src/makeprog.vc
|
||||
src/makelib.vc
|
||||
src/makeg95.env
|
||||
src/makeprog.g95
|
||||
src/makelib.g95
|
||||
src/makesl.env
|
||||
src/makeprog.sl
|
||||
src/makelib.sl
|
||||
src/salford.lnk
|
||||
src/maketwin.env
|
||||
src/makeprog.twn
|
||||
src/makelib.twn
|
||||
src/makem95.env
|
||||
src/ntwxwin.mak
|
||||
src/makefile.bcc
|
||||
src/makefile.dos
|
||||
src/makefile.vc
|
||||
src/makefile.nt
|
||||
src/*.bat
|
||||
|
||||
src/common/dosyacc.c
|
||||
@@ -57,15 +31,6 @@ src/msw/ctl3d/borland/*.*
|
||||
src/msw/ole/*.cpp
|
||||
src/msw/*.prj
|
||||
|
||||
src/xpm/*.c
|
||||
src/xpm/*.h
|
||||
src/xpm/makefile*
|
||||
src/xpm/changes
|
||||
src/xpm/readme
|
||||
src/xpm/readme.msw
|
||||
src/xpm/copyrigh.t
|
||||
src/xpm/files
|
||||
|
||||
include/wx/msw/*.h
|
||||
include/wx/msw/*.rc
|
||||
include/wx/msw/ctl3d/*.h
|
||||
@@ -133,15 +98,6 @@ samples/joytest/*.bmp
|
||||
samples/joytest/*.wav
|
||||
samples/joytest/*.ico
|
||||
|
||||
samples/oleauto/*.h
|
||||
samples/oleauto/*.cpp
|
||||
samples/oleauto/*.def
|
||||
samples/oleauto/*.rc
|
||||
samples/oleauto/makefile.*
|
||||
samples/oleauto/*.txt
|
||||
samples/oleauto/*.bmp
|
||||
samples/oleauto/*.ico
|
||||
|
||||
utils/nplugin/make*.*
|
||||
utils/nplugin/src/*.cpp
|
||||
utils/nplugin/src/*.h
|
||||
|
@@ -1,72 +0,0 @@
|
||||
utils/ogl/Makefile
|
||||
|
||||
utils/ogl/src/*.cpp
|
||||
utils/ogl/src/*.h
|
||||
utils/ogl/src/*.rc
|
||||
utils/ogl/src/*.def
|
||||
utils/ogl/src/*.xbm
|
||||
utils/ogl/src/*.xpm
|
||||
utils/ogl/src/make*.*
|
||||
utils/ogl/src/Makefile
|
||||
utils/ogl/src/*.txt
|
||||
utils/ogl/src/*.ico
|
||||
utils/ogl/src/*.bmp
|
||||
|
||||
utils/ogl/samples/ogledit/*.cpp
|
||||
utils/ogl/samples/ogledit/*.h
|
||||
utils/ogl/samples/ogledit/*.rc
|
||||
utils/ogl/samples/ogledit/*.def
|
||||
utils/ogl/samples/ogledit/*.xbm
|
||||
utils/ogl/samples/ogledit/make*.*
|
||||
utils/ogl/samples/ogledit/Makefile
|
||||
utils/ogl/samples/ogledit/*.txt
|
||||
utils/ogl/samples/ogledit/*.ico
|
||||
utils/ogl/samples/ogledit/*.bmp
|
||||
utils/ogl/samples/ogledit/*.xpm
|
||||
utils/ogl/samples/ogledit/bitmaps/*.bmp
|
||||
utils/ogl/samples/ogledit/bitmaps/*.gif
|
||||
utils/ogl/samples/ogledit/bitmaps/*.xbm
|
||||
utils/ogl/samples/ogledit/bitmaps/*.xpm
|
||||
|
||||
utils/ogl/samples/studio/*.cpp
|
||||
utils/ogl/samples/studio/*.h
|
||||
utils/ogl/samples/studio/*.rc
|
||||
utils/ogl/samples/studio/*.def
|
||||
utils/ogl/samples/studio/*.xbm
|
||||
utils/ogl/samples/studio/make*.*
|
||||
utils/ogl/samples/studio/Makefile
|
||||
utils/ogl/samples/studio/*.txt
|
||||
utils/ogl/samples/studio/*.ico
|
||||
utils/ogl/samples/studio/*.bmp
|
||||
utils/ogl/samples/studio/*.xpm
|
||||
utils/ogl/samples/studio/*.wxr
|
||||
utils/ogl/samples/studio/bitmaps/*.bmp
|
||||
utils/ogl/samples/studio/bitmaps/*.gif
|
||||
utils/ogl/samples/studio/bitmaps/*.xbm
|
||||
utils/ogl/samples/studio/bitmaps/*.xpm
|
||||
utils/ogl/samples/studio/manual/*.tex
|
||||
utils/ogl/samples/studio/manual/*.ini
|
||||
utils/ogl/samples/studio/manual/*.gif
|
||||
utils/ogl/samples/studio/manual/*.bmp
|
||||
utils/ogl/samples/studio/manual/*.htm
|
||||
utils/ogl/samples/studio/manual/*.hlp
|
||||
utils/ogl/samples/studio/manual/*.cnt
|
||||
utils/ogl/samples/studio/manual/Makefile
|
||||
|
||||
utils/ogl/distrib/*.rsp
|
||||
utils/ogl/distrib/*.bat
|
||||
|
||||
utils/ogl/docs/*.txt
|
||||
utils/ogl/docs/*.tex
|
||||
utils/ogl/docs/*.ini
|
||||
utils/ogl/docs/*.hpj
|
||||
utils/ogl/docs/*.ps
|
||||
utils/ogl/docs/*.eps
|
||||
utils/ogl/docs/*.bmp
|
||||
utils/ogl/docs/*.gif
|
||||
|
||||
docs/html/ogl/*.*
|
||||
docs/winhelp/ogl.hlp
|
||||
docs/winhelp/ogl.cnt
|
||||
docs/pdf/ogl.pdf
|
||||
|
@@ -1,15 +0,0 @@
|
||||
src/stubs/*.cpp
|
||||
src/stubs/*.h
|
||||
src/stubs/makefile*
|
||||
src/stubs/*.inc
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
src/makelib.env
|
||||
|
||||
include/wx/stubs/*.h
|
||||
include/wx/stubs/*.rc
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,108 +0,0 @@
|
||||
#!/bin/sh
|
||||
# tardist: make up a tar.gz distribution of wxWindows 2
|
||||
# Supply a source (e.g. ~/wx2) and destination (e.g. ~/wx2/deliver)
|
||||
|
||||
init=""
|
||||
if [ $1 = "" ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $2 = "" ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
echo About to archive wxWindows:
|
||||
echo From $1
|
||||
echo To $2
|
||||
echo CTRL-C if this is not correct.
|
||||
read dummy
|
||||
|
||||
cd $1
|
||||
|
||||
echo Removing backup files...
|
||||
rm *~ */*~ */*/*~ */*/*/*~ */*/*/*/*~
|
||||
|
||||
rm -f $2/wx200*.tgz
|
||||
rm -f $2/tex2rtf2.tgz
|
||||
rm -f $2/ogl3.tgz
|
||||
rm -f $2/treedraw.tar.gz
|
||||
rm -f $2/glcanvas.tar.gz
|
||||
rm -f $2/jpeg.tgz
|
||||
|
||||
echo Tarring...
|
||||
|
||||
### Generic
|
||||
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/makefile.rsp` > /tmp/wxgen.txt
|
||||
tar cvf $2/wx200gen.tar -T /tmp/wxgen.txt
|
||||
gzip $2/wx200gen.tar
|
||||
mv $2/wx200gen.tar.gz $2/wx200gen.tgz
|
||||
|
||||
### wxGTK
|
||||
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/gtk.rsp $1/distrib/msw/makefile.rsp` > /tmp/wxgtk.txt
|
||||
tar cvf $2/wx200gtk.tar -T /tmp/wxgtk.txt
|
||||
gzip $2/wx200gtk.tar
|
||||
mv $2/wx200gtk.tar.gz $2/wx200gtk.tgz
|
||||
|
||||
### wxMotif
|
||||
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/motif.rsp $1/distrib/msw/makefile.rsp` > /tmp/wxmotif.txt
|
||||
tar cvf $2/wx200mot.tar -T /tmp/wxmotif.txt
|
||||
gzip $2/wx200mot.tar
|
||||
mv $2/wx200mot.tar.gz $2/wx200mot.tgz
|
||||
|
||||
### Doc sources
|
||||
ls `cat $1/distrib/msw/docsrc.rsp` > /tmp/docsrc.txt
|
||||
tar cvf $2/wx200doc.tar -T /tmp/docsrc.txt
|
||||
gzip $2/wx200doc.tar
|
||||
mv $2/wx200doc.tar.gz $2/wx200doc.tgz
|
||||
|
||||
### HTML docs
|
||||
ls `cat $1/distrib/msw/wx_html.rsp` > /tmp/html.txt
|
||||
tar cvf $2/wx200htm.tar -T /tmp/html.txt
|
||||
gzip $2/wx200htm.tar
|
||||
mv $2/wx200htm.tar.gz $2/wx200htm.tgz
|
||||
|
||||
### PDF docs
|
||||
ls `cat $1/distrib/msw/wx_pdf.rsp` > /tmp/pdf.txt
|
||||
tar cvf $2/wx200pdf.tar -T /tmp/pdf.txt
|
||||
gzip $2/wx200pdf.tar
|
||||
mv $2/wx200pdf.tar.gz $2/wx200pdf.tgz
|
||||
|
||||
### Stubs files
|
||||
ls `cat $1/distrib/msw/stubs.rsp` > /tmp/stubs.txt
|
||||
tar cvf $2/wx200stubs.tar -T /tmp/stubs.txt
|
||||
gzip $2/wx200stubs.tar
|
||||
mv $2/wx200stubs.tar.gz $2/wx200stubs.tgz
|
||||
|
||||
### Tex2RTF
|
||||
ls `cat $1/distrib/msw/tex2rtf.rsp` > /tmp/tex2rtf.txt
|
||||
tar cvf $2/tex2rtf2.tar -T /tmp/tex2rtf.txt
|
||||
gzip $2/tex2rtf2.tar
|
||||
mv $2/tex2rtf2.tar.gz $2/tex2rtf2.tgz
|
||||
|
||||
### OGL
|
||||
ls `cat $1/distrib/msw/ogl.rsp` > /tmp/ogl.txt
|
||||
tar cvf $2/ogl3.tar -T /tmp/ogl.txt
|
||||
gzip $2/ogl3.tar
|
||||
mv $2/ogl3.tar.gz $2/ogl3.tgz
|
||||
|
||||
### wxGLCanvas
|
||||
ls `cat $1/distrib/msw/glcanvas.rsp` > /tmp/glcanvas.txt
|
||||
tar cvf $2/glcanvas.tar -T /tmp/glcanvas.txt
|
||||
gzip $2/glcanvas.tar
|
||||
mv $2/glcanvas.tar.gz $2/glcanvas.tgz
|
||||
|
||||
### wxTreeLayout
|
||||
ls `cat $1/distrib/msw/wxtree.rsp` > /tmp/wxtree.txt
|
||||
tar cvf $2/treedraw.tar -T /tmp/wxtree.txt
|
||||
gzip $2/treedraw.tar
|
||||
mv $2/treedraw.tar.gz $2/treedraw.tgz
|
||||
|
||||
### JPEG
|
||||
ls `cat $1/distrib/msw/jpeg.rsp` > /tmp/jpeg.txt
|
||||
tar cvf $2/jpeg.tar -T /tmp/jpeg.txt
|
||||
gzip $2/jpeg.tar
|
||||
mv $2/jpeg.tar.gz $2/jpeg.tgz
|
||||
|
||||
echo Done!
|
@@ -1,27 +0,0 @@
|
||||
utils/tex2rtf/src/*.cpp
|
||||
utils/tex2rtf/src/*.h
|
||||
utils/tex2rtf/src/make*.*
|
||||
utils/tex2rtf/src/Makefile
|
||||
utils/tex2rtf/src/*.xbm
|
||||
utils/tex2rtf/src/*.xpm
|
||||
utils/tex2rtf/src/*.sty
|
||||
utils/tex2rtf/src/*.ini
|
||||
utils/tex2rtf/lib/dummy
|
||||
utils/tex2rtf/src/*.bmp
|
||||
utils/tex2rtf/src/*.ico
|
||||
utils/tex2rtf/src/*.def
|
||||
utils/tex2rtf/src/*.rc
|
||||
|
||||
utils/tex2rtf/docs/*.tex
|
||||
utils/tex2rtf/docs/*.sty
|
||||
utils/tex2rtf/docs/*.bib
|
||||
utils/tex2rtf/docs/*.hpj
|
||||
utils/tex2rtf/docs/*.ini
|
||||
utils/tex2rtf/docs/*.txt
|
||||
utils/tex2rtf/docs/*.cnt
|
||||
utils/tex2rtf/docs/*.eps
|
||||
utils/tex2rtf/docs/*.bmp
|
||||
utils/tex2rtf/docs/*.gif
|
||||
utils/tex2rtf/docs/*.wmf
|
||||
utils/tex2rtf/docs/*.shg
|
||||
|
@@ -1,27 +0,0 @@
|
||||
user/Makefile
|
||||
|
||||
user/wxConvert/*.cpp
|
||||
user/wxConvert/*.h
|
||||
user/wxConvert/Makefile
|
||||
user/wxConvert/Makefile.in
|
||||
|
||||
user/wxFile/*.cpp
|
||||
user/wxFile/*.h
|
||||
user/wxFile/Makefile
|
||||
user/wxFile/Makefile.in
|
||||
user/wxFile/*.xpm
|
||||
|
||||
user/wxTest/*.cpp
|
||||
user/wxTest/*.h
|
||||
user/wxTest/Makefile
|
||||
user/wxTest/Makefile.in
|
||||
user/wxTest/*.xpm
|
||||
user/wxTest/*.png
|
||||
|
||||
user/wxLayout/*.cpp
|
||||
user/wxLayout/*.h
|
||||
user/wxLayout/Makefile
|
||||
user/wxLayout/Makefile.in
|
||||
user/wxLayout/*.xpm
|
||||
user/wxLayout/*.png
|
||||
|
@@ -1,159 +0,0 @@
|
||||
src/wxvc.dsp
|
||||
src/wxvc.dsw
|
||||
src/wxvc6.dsp
|
||||
src/wxvc6.dsw
|
||||
src/wxvc_dll.dsp
|
||||
src/wxvc_dll.dsw
|
||||
|
||||
samples/checklst/ChecklstVC.dsp
|
||||
samples/checklst/ChecklstVC.dsw
|
||||
|
||||
samples/config/ConfigVC.dsp
|
||||
samples/config/ConfigVC.dsw
|
||||
|
||||
samples/controls/ControlsVC.dsp
|
||||
samples/controls/ControlsVC.dsw
|
||||
|
||||
samples/db/DbVC.dsp
|
||||
samples/db/DbVC.dsw
|
||||
|
||||
samples/dialogs/DialogsVC.dsp
|
||||
samples/dialogs/DialogsVC.dsw
|
||||
|
||||
samples/dnd/DndVC.dsp
|
||||
samples/dnd/DndVC.dsw
|
||||
|
||||
samples/docview/DocviewVC.dsp
|
||||
samples/docview/DocviewVC.dsw
|
||||
|
||||
samples/docvwmdi/DocViewVC.dsp
|
||||
samples/docvwmdi/DocViewVC.dsw
|
||||
|
||||
samples/dynamic/DynamicVC.dsp
|
||||
samples/dynamic/DynamicVC.dsw
|
||||
|
||||
samples/forty/FortyVC.dsp
|
||||
samples/forty/FortyVC.dsw
|
||||
|
||||
samples/grid/GridVC.dsp
|
||||
samples/grid/GridVC.dsw
|
||||
|
||||
samples/help/HelpVC.dsp
|
||||
samples/help/HelpVC.dsw
|
||||
|
||||
samples/image/ImageVC.dsp
|
||||
samples/image/ImageVC.dsw
|
||||
|
||||
samples/internat/InternatVC.dsp
|
||||
samples/internat/InternatVC.dsw
|
||||
|
||||
samples/joytest/JoytestVC.dsp
|
||||
samples/joytest/JoytestVC.dsw
|
||||
|
||||
samples/layout/LayoutVC.dsp
|
||||
samples/layout/LayoutVC.dsw
|
||||
|
||||
samples/listctrl/ListCtrlVC.dsp
|
||||
samples/listctrl/ListCtrlVC.dsw
|
||||
|
||||
samples/mdi/MdiVC.dsp
|
||||
samples/mdi/MdiVC.dsw
|
||||
|
||||
samples/memcheck/MemcheckVC.dsp
|
||||
samples/memcheck/MemcheckVC.dsw
|
||||
|
||||
samples/mfc/MfcVC.dsp
|
||||
samples/mfc/MfcVC.dsw
|
||||
|
||||
samples/minimal/MinimalVC.dsp
|
||||
samples/minimal/MinimalVC.dsw
|
||||
|
||||
samples/minifram/MiniframVC.dsp
|
||||
samples/minifram/MiniframVC.dsw
|
||||
|
||||
samples/nativdlg/NativdlgVC.dsp
|
||||
samples/nativdlg/NativdlgVC.dsw
|
||||
|
||||
samples/notebook/NotebookVC.dsp
|
||||
samples/notebook/NotebookVC.dsw
|
||||
|
||||
samples/ownerdrw/OwnerDrwVC.dsp
|
||||
samples/ownerdrw/OwnerDrwVC.dsw
|
||||
|
||||
samples/png/PngVC.dsp
|
||||
samples/png/PngVC.dsw
|
||||
|
||||
samples/printing/PrintingVC.dsp
|
||||
samples/printing/PrintingVC.dsw
|
||||
|
||||
samples/Regtest/RegtestVC.dsp
|
||||
samples/Regtest/RegtestVC.dsw
|
||||
|
||||
samples/resource/ResourceVC.dsp
|
||||
samples/resource/ResourceVC.dsw
|
||||
|
||||
samples/sashtest/SashtestVC.dsp
|
||||
samples/sashtest/SashtestVC.dsw
|
||||
|
||||
samples/splitter/SplitterVC.dsp
|
||||
samples/splitter/SplitterVC.dsw
|
||||
|
||||
samples/tab/TabVC.dsp
|
||||
samples/tab/TabVC.dsw
|
||||
|
||||
samples/taskbar/TaskbarVC.dsp
|
||||
samples/taskbar/TaskbarVC.dsw
|
||||
|
||||
samples/thread/ThreadVC.dsp
|
||||
samples/thread/ThreadVC.dsw
|
||||
|
||||
samples/toolbar/ToolbarVC.dsp
|
||||
samples/toolbar/ToolbarVC.dsw
|
||||
|
||||
samples/treectrl/TreectrlVC.dsp
|
||||
samples/treectrl/TreeCtrlVC.dsw
|
||||
|
||||
samples/typetest/TypetestVC.dsp
|
||||
samples/typetest/TypetestVC.dsw
|
||||
|
||||
samples/validate/ValidateVC.dsp
|
||||
samples/validate/ValidateVC.dsw
|
||||
|
||||
samples/wxsocket/ClientVC.dsp
|
||||
samples/wxsocket/ServerVC.dsw
|
||||
|
||||
samples/wxpoem/PoemVC.dsp
|
||||
samples/wxpoem/PoemVC.dsw
|
||||
|
||||
utils/wxprop/src/PropVC.dsp
|
||||
utils/wxprop/src/PropVC.dsw
|
||||
utils/wxprop/src/PropSampleVC.dsp
|
||||
utils/wxprop/src/PropSampleVC.dsw
|
||||
|
||||
utils/dialoged/src/DialogEdVC.dsp
|
||||
utils/dialoged/src/DialogEdVC.dsw
|
||||
|
||||
utils/tex2rtf/src/Tex2RTFVC.dsp
|
||||
utils/tex2rtf/src/Tex2RTFVC.dsw
|
||||
|
||||
utils/glcanvas/win/GlcanvasVC.dsp
|
||||
utils/glcanvas/win/GlcanvasVC.dsw
|
||||
utils/glcanvas/samples/cube/CubeVC.dsp
|
||||
utils/glcanvas/samples/cube/CubeVC.dsw
|
||||
utils/glcanvas/samples/isosurf/IsosurfVC.dsp
|
||||
utils/glcanvas/samples/isosurf/IsosurfVC.dsw
|
||||
utils/glcanvas/samples/penguin/PenguinVC.dsp
|
||||
utils/glcanvas/samples/penguin/PenguinVC.dsw
|
||||
|
||||
utils/ogl/src/OglVC.dsp
|
||||
utils/ogl/src/OglVC.dsw
|
||||
utils/ogl/samples/ogledit/OgleditVC.dsp
|
||||
utils/ogl/samples/ogledit/OgleditVC.dsw
|
||||
utils/ogl/samples/studio/StudioVC.dsp
|
||||
utils/ogl/samples/studio/StudioVC.dsw
|
||||
|
||||
utils/wxtree/src/TreeVC.dsp
|
||||
utils/wxtree/src/TreeVC.dsw
|
||||
utils/wxtree/src/TreeSampleVC.dsp
|
||||
utils/wxtree/src/TreeSampleVC.dsw
|
||||
|
@@ -9,29 +9,30 @@ docs/html/faq/*.htm
|
||||
docs/html/faq/*.gif
|
||||
docs/html/techref/*.htm
|
||||
docs/html/techref/*.gif
|
||||
|
||||
docs/html/prologio/*.htm
|
||||
docs/html/prologio/*.gif
|
||||
docs/html/dialoged/*.htm
|
||||
docs/html/dialoged/*.gif
|
||||
|
||||
docs/html/wxbuild/*.htm
|
||||
docs/html/wxbuild/*.gif
|
||||
docs/html/wxtab/*.htm
|
||||
docs/html/wxtab/*.gif
|
||||
docs/html/wxchart/*.htm
|
||||
docs/html/wxchart/*.gif
|
||||
docs/html/wxtree/*.htm
|
||||
docs/html/wxtree/*.gif
|
||||
|
||||
docs/html/wxgraph/*.htm
|
||||
docs/html/wxgraph/*.gif
|
||||
|
||||
docs/html/wxgrid/*.htm
|
||||
docs/html/wxgrid/*.gif
|
||||
docs/html/wxhelp/*.htm
|
||||
docs/html/wxhelp/*.gif
|
||||
|
||||
docs/html/proplist/*.htm
|
||||
docs/html/proplist/*.gif
|
||||
|
||||
docs/html/wxhelp2/*.htm
|
||||
docs/html/wxhelp2/*.gif
|
||||
docs/html/wxprop/*.htm
|
||||
docs/html/wxprop/*.gif
|
||||
docs/html/winstall/*.htm
|
||||
docs/html/winstall/*.gif
|
||||
|
||||
docs/html/tex2rtf/*.htm
|
||||
docs/html/tex2rtf/*.gif
|
||||
|
||||
docs/html/odbc/*.htm
|
||||
|
||||
docs/html/gettext/*.htm
|
||||
|
||||
|
@@ -1,2 +0,0 @@
|
||||
docs/word/odbc.doc
|
||||
|
@@ -1,10 +0,0 @@
|
||||
utils/wxtree/src/*.cpp
|
||||
utils/wxtree/src/*.h
|
||||
utils/wxtree/src/makefile*
|
||||
utils/wxtree/src/*.xbm
|
||||
utils/wxtree/src/*.xpm
|
||||
utils/wxtree/lib/dummy
|
||||
utils/wxtree/src/*.ico
|
||||
utils/wxtree/src/*.def
|
||||
utils/wxtree/src/*.rc
|
||||
|
@@ -1,70 +1,27 @@
|
||||
@echo off
|
||||
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
|
||||
set src=%wxwin
|
||||
set dest=%src\deliver
|
||||
if "%src" == "" goto usage
|
||||
if "%dest" == "" goto usage
|
||||
if "%1" == "" goto usage
|
||||
if "%2" == "" goto usage
|
||||
echo About to archive an external wxWindows distribution:
|
||||
echo From %src
|
||||
echo To %dest
|
||||
echo From %1
|
||||
echo To %2\wx200gen.zip, %2\wx200doc.zip, %2\wx200msw.zip, %2\wx200ps.zip, %2\wx200hlp.zip, %2\wx200htm.zip, %2\wx200pdf.zip
|
||||
echo CTRL-C if this is not correct.
|
||||
pause
|
||||
|
||||
erase %dest\wx200*.zip
|
||||
erase %dest\glcanvas.zip
|
||||
erase %dest\ogl3.zip
|
||||
erase %dest\tex2rtf2.zip
|
||||
erase %dest\jpeg.zip
|
||||
erase %2\wx200*.zip
|
||||
|
||||
cd %src
|
||||
cd %1
|
||||
echo Zipping...
|
||||
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
|
||||
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
|
||||
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
|
||||
|
||||
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
|
||||
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
||||
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
||||
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
|
||||
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
|
||||
zip32 -@ %dest\wx200user.zip < %src\distrib\msw\user.rsp
|
||||
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
|
||||
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %2\wx200htm.zip < %1\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %2\wx200pdf.zip < %1\distrib\msw\wx_pdf.rsp
|
||||
|
||||
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
||||
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
||||
zip32 -@ %dest\wx200wrd.zip < %src\distrib\msw\wx_word.rsp
|
||||
|
||||
rem VC++ project files
|
||||
zip32 -@ %dest\wx200vc.zip < %src\distrib\msw\vc.rsp
|
||||
|
||||
rem BC++ project files
|
||||
zip32 -@ %dest\wx200bc.zip < %src\distrib\msw\bc.rsp
|
||||
|
||||
rem CodeWarrior project files
|
||||
zip32 -@ %dest\wx200cw.zip < %src\distrib\msw\cw.rsp
|
||||
|
||||
rem OGL 3
|
||||
zip32 -@ %dest\ogl3.zip < %src\distrib\msw\ogl.rsp
|
||||
|
||||
rem GLCanvas
|
||||
zip32 -@ %dest\glcanvas.zip < %src\distrib\msw\glcanvas.rsp
|
||||
|
||||
rem Tex2RTF
|
||||
zip32 -@ %dest\tex2rtf2.zip < %src\distrib\msw\tex2rtf.rsp
|
||||
|
||||
rem wxTreeLayout
|
||||
zip32 -@ %dest\treedraw.zip < %src\distrib\msw\wxtree.rsp
|
||||
|
||||
rem JPEG source
|
||||
zip32 -@ %dest\jpeg.zip < %src\distrib\msw\jpeg.rsp
|
||||
|
||||
copy %src\docs\changes.txt %dest
|
||||
copy %src\docs\msw\install.txt %dest\install_msw.txt
|
||||
copy %src\docs\motif\install.txt %dest\install_motif.txt
|
||||
copy %src\docs\gtk\install.txt %dest\install_gtk.txt
|
||||
copy %src\docs\readme.txt %dest
|
||||
copy %src\docs\motif\makewxmotif %dest
|
||||
copy %src\docs\gtk\makewxgtk %dest
|
||||
|
||||
cd %dest
|
||||
cd %2
|
||||
|
||||
echo wxWindows archived.
|
||||
goto end
|
||||
|
@@ -1,54 +0,0 @@
|
||||
wxWindows Buglist
|
||||
-----------------
|
||||
|
||||
wxGTK:
|
||||
------
|
||||
|
||||
- It is impossible to reposition a window before showing it
|
||||
on screen. Suspected GTK bug.
|
||||
|
||||
- DnD does only moderately work.
|
||||
|
||||
wxMSW:
|
||||
------
|
||||
|
||||
- TODO
|
||||
|
||||
wxMotif:
|
||||
--------
|
||||
|
||||
- If a popup wxMenu is destroyed after its parent window has been
|
||||
destroyed, we get the message "Object XXX does not have windowed
|
||||
ancestor".
|
||||
Workaround: delete the menu before deleting the window on which it
|
||||
was popped up.
|
||||
Possible fix: call menu->DestroyMenu() before deleting the window,
|
||||
if the window knows about the menu that was last popped up (hard
|
||||
to know this with confidence).
|
||||
|
||||
- In wxGrid, cell highlight is not drawn/erased properly.
|
||||
|
||||
- Setting the size of a hidden window may show that window.
|
||||
|
||||
- wxRadioBox sometimes doesn't show (e.g. in controls sample).
|
||||
|
||||
- Can't set the colours for the buttons in the file selector, for
|
||||
some reason.
|
||||
|
||||
- On SGI IRIX 6.4, XtDestroyWidget in ~wxWindow causes a crash in
|
||||
some cicumstances. This is being looked into. Meanwhile, a
|
||||
possible workaround is to remove the final XtDestroyWidget line in ~wxWindow
|
||||
(window.cpp). This will mean that child windows will only get
|
||||
destroyed when frames and dialogs are destroyed, so dynamic subwindow
|
||||
deletion may not work properly.
|
||||
|
||||
- There are reports that scrolling can cause crashes under Lesstif.
|
||||
This is probably a Lesstif bug.
|
||||
|
||||
General:
|
||||
--------
|
||||
|
||||
- Dialog Editor could be more user-friendly. Controls are hard to
|
||||
size and position accurately. No way of changing tab order
|
||||
except by editing .wxr file.
|
||||
|
505
docs/changes.txt
505
docs/changes.txt
@@ -1,413 +1,18 @@
|
||||
wxWindows 2 Change Log
|
||||
----------------------
|
||||
Generic wxWindows 2.0 Change Log
|
||||
--------------------------------
|
||||
|
||||
2.1.0, b4, May 9th 1999
|
||||
-----------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- JPEG support added.
|
||||
- Many fixes and changes not thought worth mentioning in this file :-)
|
||||
|
||||
wxMSW:
|
||||
|
||||
- wxNotebook changes: can add image only; wxNB_FIXEDWIDTH added;
|
||||
SetTabSize added.
|
||||
- JPEG support added.
|
||||
- Fixes for Cygwin compilation.
|
||||
- Added wxGA_SMOOTH and wxFRAME_FLOAT_ON_PARENT styles.
|
||||
- Many fixes people didn't tell this file about.
|
||||
|
||||
wxMotif:
|
||||
|
||||
|
||||
General:
|
||||
|
||||
- Some changes for Unicode support, including wxchar.h/cpp.
|
||||
|
||||
|
||||
2.0.1 (release), March 1st 1999
|
||||
-------------------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- wxGLCanvas fixes.
|
||||
- Slider/spinbutton fixes.
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Fixed problems with <return> in dialogs/panels.
|
||||
- Fixed window cursor setting.
|
||||
- Fixed toolbar sizing and edge-clipping problems.
|
||||
- Some makefile fixes.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- None.
|
||||
|
||||
General:
|
||||
|
||||
- Added wxUSE_SOCKETS.
|
||||
- More topic overviews.
|
||||
- Put wxPrintPaperType, wxPrintPaperDatabase into
|
||||
prntbase.h/cpp for use in non-PostScript situations
|
||||
(e.g. Win16 wxPageSetupDialog).
|
||||
|
||||
|
||||
Beta 5, February 18th 1999
|
||||
--------------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- wxExecute improved.
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Fixed wxWindow::IsShown (::IsWindowVisible doesn't behave as
|
||||
expected).
|
||||
- Changed VC++ makefiles (.vc) so that it's possible to have
|
||||
debug/release/DLL versions of the library available simultaneously,
|
||||
with names wx.lib, wx_d.lib, wx200.lib(dll), wx200_d.lib(dll).
|
||||
- Added BC++ 5 IDE files and instructions.
|
||||
- Fixed wxChoice, wxComboBox constructor bugs (m_noStrings initialisation).
|
||||
- Fixed focus-related crash.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Cured asynchronous wxExecute crash.
|
||||
- Added repaint event handlers to wxFrame, wxMDIChildFrame.
|
||||
|
||||
General:
|
||||
|
||||
- wxLocale documented.
|
||||
- Added include filenames to class reference.
|
||||
- wxHelpController API changed: SetBrowser becomes SetViewer,
|
||||
DisplaySection works for WinHelp, help sample compiles under Windows
|
||||
(though doesn't display help yet).
|
||||
|
||||
Beta 4, February 12th 1999
|
||||
--------------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- Miscellaneous fixes.
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Makefiles for more compilers and samples; Cygwin makefiles
|
||||
rationalised.
|
||||
- Added VC++ project file for compiling wxWindows as DLL.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Added OnEraseBackground invocation.
|
||||
- Added wxRETAINED implementation for wxScrolledWindow.
|
||||
- Cured scrolling display problem by adding XmUpdateDisplay.
|
||||
- Tried to make lex-ing in the makefile more generic (command line
|
||||
syntax should apply to both lex and flex).
|
||||
- Changed file selector colours for consistency (except for buttons:
|
||||
crashes for some reason).
|
||||
- Fixed wxMotif version of wxImage::ConvertToBitmap (used new instead
|
||||
of malloc, which causes memory problems).
|
||||
|
||||
General:
|
||||
|
||||
- Further doc improvements.
|
||||
- wxGenericValidator added.
|
||||
- Added wxImageModule to image.cpp, so adds/cleans up standard handlers
|
||||
automatically.
|
||||
|
||||
Beta 3, January 31st 1999
|
||||
-------------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- wxClipboard/DnD API changes (still in progress).
|
||||
- wxToolTip class added.
|
||||
- Miscellaneous fixes.
|
||||
|
||||
wxMSW:
|
||||
|
||||
- wxRegConfig DeleteAll bug fixed.
|
||||
- Makefiles for more compilers.
|
||||
- TWIN32 support added.
|
||||
- Renamed VC++ makefiles from .nt to .vc, and
|
||||
factored out program/library settings.
|
||||
- Fixed wxIniConfig bug.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- A few more colour fixes.
|
||||
- wxGLCanvas and OpenGL samples working.
|
||||
- Some compiler warnings fixed.
|
||||
- wxChoice crash fix.
|
||||
- Dialog Editor starting to work on Motif.
|
||||
|
||||
General:
|
||||
|
||||
- wxBusyCursor class added.
|
||||
- Added samples/dde.
|
||||
- More doc improvements, incl. expanding docs/html/index.htm.
|
||||
|
||||
Beta 2, January 1999
|
||||
--------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
wxMSW:
|
||||
|
||||
- 16-bit BC++ compilation/linking works albeit without the resource system.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Cured wxScreenDC origin problem so e.g. sash window sash is drawn at
|
||||
the right place.
|
||||
- Cured some widget table clashes.
|
||||
- Added thread support (Robert).
|
||||
- wxPoem sample now works.
|
||||
|
||||
General:
|
||||
|
||||
- Rearranged documentation a bit.
|
||||
- Sash window uses area of first frame/dialog to paint over when drawing
|
||||
the dragged sash, not just the sash window itself (it clipped to the right
|
||||
or below).
|
||||
- Made resource sample use the correct Cancel button id.
|
||||
- Moved wxProp to main library (generic directory), created proplist
|
||||
sample.
|
||||
- Added bombs and fractal samples.
|
||||
|
||||
Beta 1, December 24th 1998
|
||||
--------------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- Various
|
||||
|
||||
wxMSW, wxMotif: not in sync with this release.
|
||||
|
||||
|
||||
Alpha 18, December 29th 1998
|
||||
----------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Win16 support working again (VC++ 1.5)
|
||||
- Win16 now uses generic wxNotebook, wxListCtrl,
|
||||
wxTreeCtrl -- more or less working now, although
|
||||
a little work on wxNotebook is still needed.
|
||||
Under 16-bit Windows, get assertion when you click
|
||||
on a tab.
|
||||
- Wrote 16-bit BC++ makefiles: samples don't yet link.
|
||||
- Added CodeWarrior support to distribution courtesy
|
||||
of Stefan Csomor.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Cured scrolling problem: scrollbars now show/hide themselves
|
||||
without (permanently) resizing the window.
|
||||
- Removed some commented-out lines in wxScrolledWindow::AdjustScrollbars
|
||||
that disabled scrollbar paging.
|
||||
- Set background colour of drawing area in wxWindow, so e.g. wxListCtrl
|
||||
colours correctly.
|
||||
- Removed major bug whereby dialogs were unmanaged automatically
|
||||
when any button was pressed.
|
||||
- Fixed colours of wxWindow scrollbars, made list and text controls
|
||||
have a white background.
|
||||
- Fixed dialog colour setting.
|
||||
- Added settable fonts and colours for wxMenu/wxMenuBar. Now
|
||||
they have sensible colours by default.
|
||||
- Fixed a bug in wxStaticBox.
|
||||
- Cured wxTreeCtrl bug: now works pretty well!
|
||||
- Debugged DrawEllipticArc (a ! in the wrong place).
|
||||
- Added SetClippingRegion( const wxRegion& region ).
|
||||
- Added wxPoint, wxSize, wxRect versions of SetSize etc.
|
||||
|
||||
Alpha 17, November 22nd 1998
|
||||
----------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- More documentation updates, especially for
|
||||
wxLayoutWindow classes and debugging facilities.
|
||||
- Changed wxDebugContext to use wxDebugLog instead
|
||||
of wxTrace.
|
||||
- Now supports VC++ 6.0, and hopefully BC++ 5.0.
|
||||
However, DLL support may be broken for BC++ since
|
||||
VC++ 6 required changing of WXDLLEXPORT keyword
|
||||
position.
|
||||
- Numerous miscellaneous changes.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Reimplemented MDI using wxNotebook instead of the MDI widgets, which
|
||||
were too buggy (probably not design for dynamic addition/removal of
|
||||
child frames).
|
||||
- Some improvements to the wxNotebook implementation.
|
||||
- wxToolBar now uses a bulletin board instead of a form, in an attempt
|
||||
to make it possible to add ordinary wxControls to a toolbar.
|
||||
- Cured problem with not being able to use global memory operators,
|
||||
by defining two more global operators, so that the delete will match
|
||||
the debugging implementation.
|
||||
- Added wxUSE_DEBUG_NEW_ALWAYS so we can distinguish between using
|
||||
global memory operators (usually OK) and #defining new to be
|
||||
WXDEBUG_NEW (sometimes it might not be OK).
|
||||
- Added time.cpp to makefile; set wxUSE_DATETIME to 1.
|
||||
- Added a parent-existance check to popup menu code to make it not crash.
|
||||
- Added some optimization in wxWindow::SetSize to produce less flicker.
|
||||
It remains to be seen whether this produces any resize bugs.
|
||||
|
||||
It's a long time since I updated this file. Previously done:
|
||||
|
||||
- wxFrame, wxDialog done.
|
||||
- wxScrolledWindow done (but backing pixmap not used at present).
|
||||
- wxBitmap done though could be tidied it up at some point.
|
||||
- Most basic controls are there, if not rigorously tested.
|
||||
- Some MDI support (menus appear on child frames at present).
|
||||
- wxNotebook almost done.
|
||||
- wxToolBar done (horizontal only, which would be easy to extend
|
||||
to vertical toolbars).
|
||||
|
||||
More recently:
|
||||
|
||||
- Colour and font changing done (question mark over what happens
|
||||
to scrollbars).
|
||||
- Accelerators done (for menu items and buttons). Also event loop
|
||||
tidied up in wxApp so that events are filtered through ProcessXEvent.
|
||||
- wxWindow::GetUpdateRegion should now work.
|
||||
|
||||
Alpha 16, September 8th 1998
|
||||
----------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added wxSashWindow, wxSashLayoutWindow classes, and sashtest
|
||||
sample.
|
||||
- Guilhem's socket classes added, plus wxsocket sample.
|
||||
- A few more makefiles added.
|
||||
- GnuWin32/BC++ compatibility mods.
|
||||
- Further doc updates.
|
||||
- wxProp updates for correct working with wxGTK.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- First start at Motif port.
|
||||
- Made makefiles for wxMotif source directory and minimal sample.
|
||||
- First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont,
|
||||
wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText,
|
||||
wxMenu, wxMenuItem, wxMenuBar
|
||||
|
||||
Alpha 15, August 31st 1998
|
||||
--------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- wxBitmap debugged.
|
||||
- wxDC::GetDepth added.
|
||||
- Contribution added whereby wxBitmap will be
|
||||
converted to DC depth if they don't match.
|
||||
- wxConfig API improved, documentation updated.
|
||||
- Printing classes name conventions cleaned up.
|
||||
- wxUpdateUIEvent now derives from wxCommandEvent
|
||||
so event can travel up the window hierachy.
|
||||
|
||||
Alpha 14, July 31st 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Toolbar API has been simplified, and now
|
||||
wxFrame::GetClientArea returns the available client
|
||||
area when toolbar, status bar etc. have been accounted for.
|
||||
wxFrame::CreateToolBar added in line with CreateStatusBar.
|
||||
- Documentation updates, incl. for wxToolBar.
|
||||
- New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable.
|
||||
- Various additions from other folk, e.g. streams, wxConfig
|
||||
changes, wxNotebook.
|
||||
- Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view.
|
||||
|
||||
Alpha 13, July 8th 1998
|
||||
-----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Implemented wxPoint as identical to POINT on Windows, and
|
||||
altered wxDC wxPoint functions to use wxPoint directly in
|
||||
Windows functions, for efficiency.
|
||||
- Cured wxASSERT bug in wxStatusBar95.
|
||||
- #ifdefed out some bits in oleutils.cpp for compilers that
|
||||
don't support it.
|
||||
- Added some operators to wxPoint, wxSize.
|
||||
- Added inline wxDC functions using wxPoint, wxSize, wxRect.
|
||||
|
||||
Alpha 12, July 7th 1998
|
||||
-----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can
|
||||
have flat toolbars on Win98 or Win95 with IE >= 3 installed.
|
||||
Note: for platform-specific changes, see wx/docs/XXX/changes.txt
|
||||
where XXX is one of msw, motif, xt, gtk, mac.
|
||||
|
||||
Alpha 11, July 3rd 1998
|
||||
-----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added thread.h, thread.cpp.
|
||||
- Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu,
|
||||
wxMenuBar.
|
||||
- Changed wxMenuItem::SetBackColor to SetBackgroundColour,
|
||||
SetTextColor to SetTextColour, and added or made public several
|
||||
wxMenuItem accessors.
|
||||
- Added two overloads to wxRegion::Contains. Added
|
||||
wxRegion::IsEmpty for a more consistent naming convention.
|
||||
- Added Vadim's wxDataObject and wxDropSource.
|
||||
- ENTER/LEAVE events now work.
|
||||
- Cured wxMemoryDC bug where the DC wasn't being deleted.
|
||||
- Cured wxGauge SetSize major bugginess.
|
||||
- Cured problem where if a GDI object was created on the stack,
|
||||
then went out of scope, then another object was selected into
|
||||
the DC, GDI objects would leak. This is because the assignment
|
||||
to e.g. wxDC::m_pen would delete the GDI object without it first
|
||||
being selected out of the DC. Cured by selecting the old DC object
|
||||
first, then doing the assignment.
|
||||
- Split up wxGaugeMSW, wxGauge95, wxSliderMSW, wxSlider95
|
||||
- Various other bug fixes and additions.
|
||||
|
||||
Generic:
|
||||
|
||||
- Major work on Dialog Editor (still plenty to go).
|
||||
- Expanded documentation a bit more.
|
||||
|
||||
Alpha 10, May 7th 1998
|
||||
----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added desiredWidth, desiredHeight parameters to wxBitmapHandler
|
||||
and wxIcon functions so that you can specify what size of
|
||||
icon should be loaded. Probably will remain a Windows-specific thing.
|
||||
- wxStatusBar95 now works for MDI frames.
|
||||
- Toolbars in MDI frames now behave normally. They still
|
||||
require application-supplied positioning code though.
|
||||
- Changed installation instructions, makefiles and batch files
|
||||
for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp
|
||||
change to support Mingw32/EGCS. Bison now used by default.
|
||||
|
||||
Alpha 9, April 27th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Cured bug in wxStatusBar95 that caused a crash if multiple
|
||||
fields were used.
|
||||
- Added Gnu-Win32 b19/Mingw32 support by changing resource
|
||||
compilation and pragmas.
|
||||
- Cured wxMenu bug introduced in alpha 8 - didn't respond to
|
||||
commands because VZ changed the id setting in wxMenu::MSWCommand.
|
||||
|
||||
Generic:
|
||||
|
||||
- Corrected some bugs, such as the wxModule compilation problem.
|
||||
- Added Gnu-Win32 b19/Mingw32 support by changing resource
|
||||
compilation and pragmas.
|
||||
@@ -416,32 +21,6 @@ Generic:
|
||||
Alpha 8, April 17th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added IsNull to wxGDIObject to check if the ref data is present or not.
|
||||
- Added PNG handler and sample - doesn't work for 16-bit PNGs for
|
||||
some reason :-(
|
||||
- Added wxJoystick class and event handling, and simple demo.
|
||||
- Added simple wxWave class. Needs Stop() function.
|
||||
- Added wxModule (module.h/module.cpp) to allow definition
|
||||
of modules to be initialized and cleaned up on wxWindows
|
||||
startup/exit.
|
||||
- Start of Mingw32 compatibility (see minimal and dialogs samples
|
||||
makefile.m95 files, and install.txt).
|
||||
- Note: Windows printing has stopped working... will investigate.
|
||||
VADIM'S CHANGES:
|
||||
- Updated wxString: bug fixes, added wxArrayString, some
|
||||
compatibility functions.
|
||||
- Updated log.h/cpp, added wxApp::CreateLogTarget.
|
||||
- file.h: new wxTempFile class.
|
||||
- defs.h: added wxSB_SIZE_GRIP for wxStatusBar95
|
||||
- statbr95: wxStatusBar95 control.
|
||||
- registry.h/cpp: wxRegKey class for Win95 registry.
|
||||
- listbox.cpp: corrected some bugs with owner-drawn listboxes.
|
||||
- wxConfig and wxFileConfig classes.
|
||||
|
||||
Generic:
|
||||
|
||||
- Added src/other/png, src/other/zlib directories.
|
||||
- Added samples/png.
|
||||
- IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros.
|
||||
@@ -452,27 +31,6 @@ Generic:
|
||||
Alpha 7, March 30th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added tab classes, tab sample.
|
||||
- Now can return FALSE from OnInit and windows will be
|
||||
cleaned up properly before exit.
|
||||
- Improved border handling so panels don't get borders
|
||||
automatically.
|
||||
- Debugged MDI activation from Window menu.
|
||||
- Changes to memory debug handling, including checking for
|
||||
memory leaks on application exit - but see issues.txt for
|
||||
unresolved issues.
|
||||
- Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar)
|
||||
to allow maintenance of an icon in the Windows 95 taskbar
|
||||
tray area.
|
||||
- Got MFC sample working (MFC and wxWindows in the same
|
||||
application), partly by tweaking ntwxwin.mak settings.
|
||||
- Got DLL compilation working again (VC++).
|
||||
- Changed wxProp/Dialog Editor filenames.
|
||||
|
||||
Generic:
|
||||
|
||||
- Added tab classes, tab sample.
|
||||
- Revised memory.cpp, memory.h slightly; memory.h now #defines
|
||||
new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp
|
||||
@@ -490,36 +48,6 @@ Generic:
|
||||
Alpha 6, March 10th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Found stack error bug - stopped unwanted OnIdle recursion.
|
||||
- Removed bug in wxTreeCtrl::InsertItem I added in alpha 5.
|
||||
- Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will
|
||||
check if the number of top-level windows is zero before
|
||||
exiting. Also, wxApp::GetTopWindow will return either
|
||||
m_topWindow or the first member of wxTopLevelWindows, so you
|
||||
don't have to call wxApp::SetTopWindow.
|
||||
- Added dynarray.h/dynarray.cpp (from Vadim).
|
||||
- Added first cut at OLE drag and drop (from Vadim). dnd sample
|
||||
added. Drop target only at this stage. See src/msw/ole/*.cpp,
|
||||
wx/include/msw/ole/*.h. WIN32 only because of UUID usage.
|
||||
Doesn't work with GnuWin32 - no appropriate headers e.g. for
|
||||
IUnknown.
|
||||
Doesn't work with BC++ either - crashes on program startup.
|
||||
- Added Vadim's owner-draw modifications - will probably remain
|
||||
Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample.
|
||||
- Added wxLB_OWNERDRAW for owner-draw listboxes.
|
||||
- Vadim's wxCheckListBox derives from wxListBox. See checklst sample.
|
||||
Doesn't entirely work for WIN16.
|
||||
- Vadim has added wxMenuItem as a separate file menuitem.cpp. It
|
||||
can also be used as an argument to wxMenu::Append, not just for
|
||||
internal implementation.
|
||||
- Some #ifdefs done for MINGW32 compilation (just alter OPTIONS
|
||||
in makeg95.env, together with mingw32.bat). However, resource
|
||||
binding is not working yet so most apps with dialogs crash.
|
||||
|
||||
Generic:
|
||||
|
||||
- Added Vadim's dynarray.h, dynarray.cpp.
|
||||
- Added Vadim's menuitem.cpp.
|
||||
- Added Windows-specific wxCheckListBox,
|
||||
@@ -529,23 +57,6 @@ Generic:
|
||||
Alpha 5, 14th February 1998
|
||||
--------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
|
||||
DISTRIBUTIONS. This change log will therefore now refer to
|
||||
the Windows-specific code only. See docs/changes.txt for generic
|
||||
changes.
|
||||
- Removed Windows-specific reference counting system (GDI
|
||||
resources were cleaned up in idle time) - minimal
|
||||
advantages now we have a wxWin reference counting system.
|
||||
- Added missing WXDLLEXPORT keywords so DLL compilation works
|
||||
again.
|
||||
- Removed most warnings for GnuWin32 compilation.
|
||||
- Added wxRegion/wxRegionIterator, but haven't yet used it in
|
||||
e.g. wxDC.
|
||||
|
||||
Generic:
|
||||
|
||||
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
|
||||
DISTRIBUTIONS. This change log will therefore now refer to
|
||||
the generic code only. See docs/msw/changes.txt for Windows-specific
|
||||
@@ -578,8 +89,6 @@ Generic:
|
||||
Alpha 4, 31st January 1998
|
||||
--------------------------
|
||||
|
||||
All:
|
||||
|
||||
- Changed wxDC functions to take longs instead of floats. GetSize now takes
|
||||
integer pointers, plus a version that returns a wxSize.
|
||||
- const keyword added to various wxDC functions.
|
||||
@@ -633,8 +142,6 @@ All:
|
||||
Alpha 3, September 1997
|
||||
-----------------------
|
||||
|
||||
All:
|
||||
|
||||
- wxListCtrl, wxTreeCtrl, wxImageList classes done.
|
||||
- Instigated new file hierarchy, split files and classes up more logically.
|
||||
- PrologIO and some other utils now put into core library.
|
||||
@@ -644,8 +151,6 @@ All:
|
||||
Alpha 2, 30th April 1997
|
||||
------------------------
|
||||
|
||||
All:
|
||||
|
||||
- EVT_... macros now have at least one argument, for conformance
|
||||
with MetroWerks compiler.
|
||||
- Added ids to .wxr file format.
|
||||
@@ -665,8 +170,6 @@ All:
|
||||
Alpha 1, 5th April 1997
|
||||
-----------------------
|
||||
|
||||
Generic:
|
||||
|
||||
At this point, the following has been achieved:
|
||||
|
||||
- A lot, but not all, of the code has been revamped for better
|
||||
|
339
docs/gpl.txt
339
docs/gpl.txt
@@ -1,339 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
@@ -1,484 +0,0 @@
|
||||
* The most simple case
|
||||
-----------------------
|
||||
|
||||
If you compile wxWindows on Unix for the first time and don't
|
||||
like to read install instructions just do (in the base dir):
|
||||
|
||||
./configure
|
||||
make
|
||||
su <type root password>
|
||||
make install
|
||||
ldconfig
|
||||
exit
|
||||
|
||||
|
||||
* The most simple errors
|
||||
------------------------
|
||||
|
||||
configure reports, that you don't have GTK 1.X installed
|
||||
although you are certainly sure you have. Well, you have
|
||||
installed it, but you also have another version of the
|
||||
GTK installed, which you may need to removed including
|
||||
other versions of glib (and its headers).
|
||||
|
||||
You get errors during compilation. The reason is that you
|
||||
probably have a broken compiler, which includes almost
|
||||
everything that is called gcc. If there is just any way
|
||||
for you to use egcs, use egcs. We are sorry, but we cannot
|
||||
fix gcc.
|
||||
|
||||
* The most simple program
|
||||
-------------------------
|
||||
|
||||
Now create your super-application myfoo.app and compile anywhere
|
||||
with
|
||||
|
||||
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
|
||||
|
||||
* General
|
||||
-----------------------
|
||||
|
||||
The Unix variants of wxWindows use GNU configure. If you have
|
||||
problems with your make use GNU make instead.
|
||||
|
||||
If you have general problems with installation, read my
|
||||
homepage at
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
for newest information. If you still don't have any success,
|
||||
please send a bug report to one of our mailing lists (see
|
||||
my homepage) INCLUDING A DESCRIPTION OF YOUR SYSTEM AND
|
||||
YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT
|
||||
DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know
|
||||
this has no effect, but I tried...
|
||||
|
||||
* GUI libraries
|
||||
-----------------------
|
||||
|
||||
wxWindows/GTK requires the GTK+ library to be installed on your system.
|
||||
It has to be a stable version, preferebly version 1.2.3. You can use
|
||||
GTK 1.0.X in connection with wxWindows, but we don't support Drag'n'Drop
|
||||
for GTK 1.0.X so you have to "configure --without-dnd". wxWindows does
|
||||
NOT work with the 1.1.X versions of the GTK+ library.
|
||||
|
||||
You can get the newest version of the GTK+ from the GTK homepage
|
||||
at
|
||||
http://www.gtk.org
|
||||
|
||||
We also mirror GTK+ 1.2.1 at my ftp site soon. You'll find information
|
||||
about downloading at my homepage.
|
||||
|
||||
* Additional libraries
|
||||
-----------------------
|
||||
|
||||
wxWindows/Gtk requires a thread library and X libraries
|
||||
known to work with threads. This is the case on all
|
||||
commercial Unix-Variants and all Linux-Versions that
|
||||
are based on glibc 2 except RedHat 5.0 which is broken
|
||||
in many aspects. As of writing this, these Linux
|
||||
distributions have correct glibc 2 support:
|
||||
|
||||
- RedHat 5.1
|
||||
- Debian 2.0
|
||||
- Stampede
|
||||
- DLD 6.0
|
||||
- SuSE 6.0
|
||||
|
||||
You can enable thread support by running
|
||||
|
||||
./configure "--with-threads"
|
||||
make clean
|
||||
make
|
||||
su <type root password>
|
||||
make install
|
||||
ldconfig
|
||||
exit
|
||||
|
||||
NB: DO NOT COMPILE WXGTK WITH GCC AND THREADS, SINCE
|
||||
ALL PROGRAMS WILL CRASH UPON START-UP! Just always
|
||||
use egcs and be happy.
|
||||
|
||||
* Create your configuration
|
||||
-----------------------------
|
||||
|
||||
Usage:
|
||||
./configure options
|
||||
|
||||
If you want to use system's C and C++ compiler,
|
||||
set environment variables CC and CCC as
|
||||
|
||||
% setenv CC cc
|
||||
% setenv CCC CC
|
||||
% ./configure options
|
||||
|
||||
Using the SGI native compilers, it is recommended that you
|
||||
also set CFLAGS and CXXFLAGS before running configure. These
|
||||
should be set to :
|
||||
|
||||
CFLAGS="-mips3 -n32"
|
||||
CXXFLAGS="-mips3 -n32"
|
||||
|
||||
This is essential if you want to use the resultant binaries
|
||||
on any other machine than the one it was compiled on. If you
|
||||
have a 64bit machine (Octane) you should also do this to ensure
|
||||
you don't accidently build the libraries as 64bit (which is
|
||||
untested).
|
||||
|
||||
The SGI native compiler support has only been tested on Irix 6.5.
|
||||
|
||||
to see all the options please use:
|
||||
|
||||
./configure --help
|
||||
|
||||
The basic philosophy is that if you want to use different
|
||||
configurations, like a debug and a release version,
|
||||
or use the same source tree on different systems,
|
||||
you have only to change the environment variable OSTYPE.
|
||||
(Sadly this variable is not set by default on some systems
|
||||
in some shells - on SGI's for example). So you will have to
|
||||
set it there. This variable HAS to be set before starting
|
||||
configure, so that it knows which system it tries to
|
||||
configure for.
|
||||
|
||||
Configure will complain if the system variable OSTYPE has
|
||||
not been defined. And Make in some circumstances as well...
|
||||
|
||||
|
||||
* General options
|
||||
-------------------
|
||||
|
||||
Normally, you won't have to choose a toolkit, because when
|
||||
you download wxGTK, it will default to --with-gtk etc. But
|
||||
if you use all of our CVS repository you have to choose a
|
||||
toolkit. You must do this by running configure with either of:
|
||||
|
||||
--with-gtk Use the GIMP ToolKit (GTK)
|
||||
|
||||
--with-motif Use either Motif or Lesstif
|
||||
Configure will look for both.
|
||||
|
||||
The following options handle the kind of library you want to build.
|
||||
|
||||
--with-threads Compile with thread support. Threads
|
||||
support is also required for the
|
||||
socket code to work.
|
||||
|
||||
--without-shared Do not create shared libraries.
|
||||
|
||||
--without-optimise Do not optimise the code. Can
|
||||
sometimes be useful for debugging
|
||||
and is required on some architectures
|
||||
such as Sun with gcc 2.8.X which
|
||||
would otherwise produce segvs.
|
||||
|
||||
--with-profile Add profiling info to the object
|
||||
files. Currently broken, I think.
|
||||
|
||||
--with-mem_tracing Add built-in memory tracing.
|
||||
|
||||
--with-dmalloc Use the dmalloc memory debugger.
|
||||
Read more at www.letters.com/dmalloc/
|
||||
|
||||
--with-debug_info Add debug info to object files and
|
||||
executables for use with debuggers
|
||||
such as gdb (or its many frontends).
|
||||
|
||||
--with-debug_flag Define __DEBUG__ and __WXDEBUG__ when
|
||||
compiling. This enable wxWindows' very
|
||||
useful internal debugging tricks (such
|
||||
as automatically reporting illegal calls)
|
||||
to work. Note that program and library
|
||||
must be compiled with the same debug
|
||||
options.
|
||||
|
||||
* Feature Options
|
||||
-------------------
|
||||
|
||||
When producing an executable that is linked statically with wxGTK
|
||||
you'll be surprised at its immense size. This can sometimes be
|
||||
drastically reduced by removing features from wxWindows that
|
||||
are not used in your program. The most relevant such features
|
||||
are
|
||||
|
||||
--without-libpng Disables PNG image format code.
|
||||
|
||||
--without-libjpeg Disables JPEG image format code.
|
||||
|
||||
--without-odbc Disables ODBC code.
|
||||
|
||||
--without-wxresources Disables the use of *.wxr type
|
||||
resources.
|
||||
|
||||
--without-threads Disables threads. Will also
|
||||
disable sockets.
|
||||
|
||||
--without-sockets Disables sockets.
|
||||
|
||||
--without-dnd Disables Drag'n'Drop.
|
||||
|
||||
--without-clipboard Disables Clipboard.
|
||||
|
||||
--without-serial Disables object instance serialiasation.
|
||||
|
||||
--without-streams Disables the wxStream classes.
|
||||
|
||||
Apart from disabling certain features you can very often "strip"
|
||||
the program of its debugging information resulting in a significant
|
||||
reduction in size.
|
||||
|
||||
* Compiling
|
||||
-------------
|
||||
|
||||
The following must be done in the base directory (e.g. ~/wxGTK
|
||||
or ~/wxWin or whatever)
|
||||
|
||||
Now the makefiles are created (by configure) and you can compile
|
||||
the library by typing:
|
||||
|
||||
make
|
||||
|
||||
make yourself some coffee, as it will take some time. On an old
|
||||
386SX possibly week. During compilation, you'll get a few
|
||||
warning messages depending in your compiler.
|
||||
|
||||
if you want to be more selective:
|
||||
|
||||
make will build only the base libraries
|
||||
make samples will build the samples
|
||||
make user will build everything in user
|
||||
|
||||
Then you may install the library and it's header files under
|
||||
/usr/local/include/wx and /usr/local/lib respectively. You
|
||||
have to log in as root (i.e. run "su" and enter the root
|
||||
password) and type
|
||||
|
||||
make install
|
||||
|
||||
Depending on the configuration of some files, the libraries
|
||||
and binaries will be placed in different directories.
|
||||
The "global" binaries and libraries will be placed in:
|
||||
|
||||
bin/$(OSTYPE) and
|
||||
lib/$(OSTYPE) respectively
|
||||
|
||||
"local" binaries and libraries will be placed in:
|
||||
|
||||
(basedir of that application)/$(OSTYPE).
|
||||
|
||||
This is also the place where all the object-files will go.
|
||||
(Currently there arent any global binaries).
|
||||
|
||||
If you want to save disk space by removing unnecessary
|
||||
object-files:
|
||||
|
||||
make clean
|
||||
|
||||
in the various directories will do the work for you.
|
||||
|
||||
* Creating a new Project
|
||||
--------------------------
|
||||
|
||||
There are two ways to create your own project:
|
||||
|
||||
1) The first way uses the installed libraries and header files
|
||||
automatically using wx-config
|
||||
|
||||
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
|
||||
|
||||
Using this way, a make file for the minimal sample would look
|
||||
like this
|
||||
|
||||
CC = g++
|
||||
|
||||
minimal: minimal.o
|
||||
$(CC) -o minimal minimal.o `wx-config --libs`
|
||||
|
||||
minimal.o: minimal.cpp mondrian.xpm
|
||||
$(CC) `wx-config --cflags` -c minimal.cpp -o minimal.o
|
||||
|
||||
clean:
|
||||
rm -f *.o minimal
|
||||
|
||||
This is certain to become the standard way unless we decide
|
||||
to sitch to tmake.
|
||||
|
||||
2) The other way creates a project within the source code
|
||||
directories of wxWindows: In this case I propose to put
|
||||
all contributed programs in the directory "/user", with a
|
||||
directory of its own.
|
||||
|
||||
This directory then should include the following files:
|
||||
|
||||
Makefile (You can copy this one from any application in samples
|
||||
probably you will not need to edit this one. There is
|
||||
only one case where you might be interested in changing
|
||||
this file, but about that see later.)
|
||||
Makefile.in (This is the base application-Makefile template, from
|
||||
which the actual Makefile for each system is created.
|
||||
More about this later)
|
||||
|
||||
put ALL your source code along with all the other stuff you need for
|
||||
your application in this directory (subdirectories are welcome).
|
||||
|
||||
|
||||
** Something about Makefiles
|
||||
------------------------------
|
||||
|
||||
On general principle it should only contain ONE line, which is as follows:
|
||||
|
||||
include ../../setup/general/makeapp
|
||||
|
||||
this will include all the necessary definitions for creating the applications
|
||||
|
||||
the only case where you might want to add another line is the following:
|
||||
this version of configure also supports creation of source archives of the
|
||||
application for easy distribution and updates to newer version of wxWindows.
|
||||
For this purpose all files in the application-directory will be put into
|
||||
a gziped tar-file in the full notation user/<your application>/*
|
||||
if you want to include some other files that you want "more visible", like
|
||||
a README.<yourApp> or a shell script for easy
|
||||
compilation/installation/distribution, then you have to add a variable
|
||||
|
||||
DISTRIBUTE_ADDITIONAL=<your files>
|
||||
|
||||
to the Makefile.
|
||||
So it would look like this:
|
||||
|
||||
DISTRIBUTE_ADDITIONAL=README.TheApp
|
||||
include ../../setup/general/makeapp
|
||||
|
||||
As we have already talked about distribution the command to create a
|
||||
distribution is:
|
||||
|
||||
make distrib
|
||||
|
||||
NOTE: If you are in the base directory of wxWindows it will create
|
||||
distribution packages for wxWindows as well as for all packages in the
|
||||
user directory.
|
||||
So if you want to create only packages for the files in user,
|
||||
then go to the directory other and type:
|
||||
|
||||
make distrib
|
||||
|
||||
or if you only want one application to be created then
|
||||
enter the specific directory and type there:
|
||||
make distrib
|
||||
|
||||
All the distribution files will be put in the directory
|
||||
distrib at the base of the wxWindows-tree (where also configure
|
||||
and template.mak can be found).
|
||||
|
||||
** Something about Makefile.in
|
||||
--------------------------------
|
||||
|
||||
As you have already seen with Makefile, configure makes a lot of use
|
||||
if the include statement in make to keep the Makefiles as simple as
|
||||
possible.
|
||||
|
||||
So basically there are only variables to define and then a include command.
|
||||
Exception to this rule is if you have special rules for some stuff...
|
||||
These rules should go AFTER the include statement!!!
|
||||
|
||||
so the general header looks like this:
|
||||
|
||||
# wxWindows base directory
|
||||
WXBASEDIR=@WXBASEDIR@
|
||||
# set the OS type for compilation
|
||||
OS=@OS@
|
||||
# compile a library only
|
||||
RULE=bin
|
||||
|
||||
and the general footer will look like this:
|
||||
|
||||
# include the definitions now
|
||||
include ../../../template.mak
|
||||
|
||||
the key variable is RULE, which defines what make should create
|
||||
in this directory.
|
||||
|
||||
here are some examples:
|
||||
|
||||
RULE description
|
||||
===========================================================================
|
||||
bin creates a local binary (for a global binary prefix bin with g)
|
||||
additional variables needed:
|
||||
BIN_TARGET this gives the name of your application
|
||||
BIN_OBJ this gives the object files needed to
|
||||
link the application
|
||||
optional variables are:
|
||||
BIN_SRC this gives the list of c/c++ files for
|
||||
which dependencies will be checked.
|
||||
(This can be achieved with: make depend)
|
||||
BIN_LINK this gives commands for additional
|
||||
libraries needed to link the application
|
||||
---------------------------------------------------------------------------
|
||||
bin2 creates two local binaries (for global binaries prefix bin2 with g)
|
||||
in addition to the variables specified above you MUST also
|
||||
provide the same variables with BIN2_ instead of BIN_
|
||||
---------------------------------------------------------------------------
|
||||
lib creates a local library (for a global binary prefix bin with g)
|
||||
additional variables needed:
|
||||
LIB_TARGET this gives the name of your library
|
||||
LIB_OBJ this gives the object files needed for
|
||||
the library to be build.
|
||||
optional variables are:
|
||||
LIB_SRC this gives the list of c/c++ files for
|
||||
which dependencies will be checked.
|
||||
libbin and libgbin are also possible and will need in addition
|
||||
the variables from bin
|
||||
---------------------------------------------------------------------------
|
||||
gslib is similar to lib, but it creates a shared library if the system
|
||||
supports it.
|
||||
additional variables needed:
|
||||
LIB_MAJOR major number of the shared library
|
||||
LIB_MINOR minor number of the shared library
|
||||
---------------------------------------------------------------------------
|
||||
other additional variables:
|
||||
|
||||
ADD_COMPILE define additional includes/defines that
|
||||
are needed to compile the object files
|
||||
(if you need to reference some directory
|
||||
utils - like wxGrid -, then please
|
||||
reference them with the variables defined
|
||||
in template.mak - e.g.: $(SRCDIR),$(UTILS),
|
||||
$(SAMPLES),$(OTHERS))
|
||||
|
||||
NEEDED_DEFINES lists all the defines that HAVE to be set in
|
||||
/include/wx/setup.h to compile correctly.
|
||||
|
||||
SRC_DIR lists all directories that are needed to
|
||||
compile. (i.e: lists all the directories,
|
||||
where there are source-files.) But it is
|
||||
also needed to clean an object and for
|
||||
machines, for which make does not support
|
||||
VPATH
|
||||
|
||||
currently there are the following compiling rules provided:
|
||||
object files are created for the following file extensions:
|
||||
.c .cc .cpp
|
||||
|
||||
Please have a closer look at the Makefiles in this distribution.
|
||||
|
||||
* Platforms configure is working with
|
||||
---------------------------------------
|
||||
|
||||
Please report build succes on any machine. Especially non-
|
||||
Linux operating systems (which I don't have).
|
||||
|
||||
Original author of the autoconf system for wxxt-1.66 and for this INSTALL
|
||||
file:
|
||||
|
||||
Martin Sperl sperl@dsn.ast.univie.ac.at
|
||||
|
||||
Ported to wxGTK 0.1:
|
||||
|
||||
Wolfram Gloger wmglo@dent.med.uni-muenchen.de
|
||||
|
||||
Thanks alot to both of them.
|
||||
|
||||
In the hope that it will be useful,
|
||||
|
||||
Robert Roebling roebling@sun2.ruf.uni-freiburg.de
|
||||
|
||||
|
@@ -1,56 +0,0 @@
|
||||
|
||||
|
||||
wxWindows Library License, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 1998 Julian Smart, Robert Roebling et al.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
WXWINDOWS LIBRARY LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
|
||||
TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licensed under the wxWindows Library License, applying
|
||||
either version 3 of the License, or (at your option) any later version of
|
||||
the License as published by the copyright holders of version 3 of the
|
||||
License document.
|
||||
|
||||
2. The exception is that you may create binary object code versions of any
|
||||
works using this library or based on this library, and use, copy, modify,
|
||||
link and distribute such binary object code files unrestricted under terms
|
||||
of your choice.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public License or the GNU Library General Public License into a
|
||||
copy of this library, as this license permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
|
||||
|
@@ -1,11 +0,0 @@
|
||||
# makewxgtk
|
||||
# Sets permissions (in case we extracted wxGTK from zip files)
|
||||
# and makes wxGTK.
|
||||
# Call from top-level wxWindows directory.
|
||||
# Note that this uses standard (but commonly-used) configure options;
|
||||
# if you're feeling brave, you may wish to compile with threads.
|
||||
# -- Julian Smart
|
||||
chmod a+x configure config.sub config.guess setup/general/* setup/shared/*
|
||||
./configure --with-shared --with-gtk --with-debug_flag --with-debug_info --without-threads
|
||||
make makefiles
|
||||
make
|
@@ -1,68 +0,0 @@
|
||||
|
||||
Welcome to wxWindows/Gtk 2.1 snapshot 5,
|
||||
|
||||
you have downloaded version 2.1 of the GTK+ 1.2 port of
|
||||
the wxWindows GUI library. This is a developers release
|
||||
and is it not suited for production development. Beware
|
||||
that major changes can happen before a final release -
|
||||
Particularly the makefile system will change entirly.
|
||||
|
||||
More information is available from my homepage at:
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
and about the wxWindows project as a whole (and the
|
||||
Windows and Motif ports in particular) can be found
|
||||
at Julian Smart's homepage at:
|
||||
|
||||
http://web.ukonline.co.uk/julian.smart/wxwin
|
||||
|
||||
Information on how to install can be found in the file
|
||||
INSTALL.txt, but if you cannot wait, this should work on
|
||||
many systems (when using GTK 1.0 read the INSTALL.txt):
|
||||
|
||||
./configure
|
||||
make
|
||||
su <type root password>
|
||||
make install
|
||||
ldconfig
|
||||
exit
|
||||
|
||||
Type the following to make the samples
|
||||
|
||||
make samples
|
||||
|
||||
To start the samples, change into the directory that
|
||||
corresponds to the sample and your system, e.g on a
|
||||
linux-gnu machine the minimal sample would get started
|
||||
from the wxWindows base dir with
|
||||
|
||||
./samples/minimal/linux-gnu/minimal
|
||||
|
||||
When you run into problems, please read the INSTALL.txt and
|
||||
follow those instructions. If you still don't have any success,
|
||||
please send a bug report to one of our mailing lists (see
|
||||
my homepage) INCLUDING A DESCRIPTION OF YOUR SYSTEM AND
|
||||
YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT
|
||||
DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know
|
||||
this has no effect, but I tried...
|
||||
|
||||
The library produced by the install process will be called
|
||||
libwx_gtk2.a (static) and libwx_gtk2.so.1.0 (shared) so that
|
||||
once a binary incompatible version of wxWindows/Gtk comes out
|
||||
we'll augment the library version number to avoid linking problems.
|
||||
|
||||
Please send problems concerning installation, feature requests,
|
||||
bug reports or comments to the wxWindows users Information on
|
||||
how to subscribe is available from my homepage.
|
||||
|
||||
wxWindows/Gtk doesn't come with any guarantee whatsoever. It might
|
||||
crash your harddisk or destroy your monitor. It doesn't claim to be
|
||||
suitable for any special or general purpose.
|
||||
|
||||
Regards,
|
||||
|
||||
Robert Roebling
|
||||
|
||||
|
||||
|
Binary file not shown.
292
docs/gtk/welcome.html
Normal file
292
docs/gtk/welcome.html
Normal file
@@ -0,0 +1,292 @@
|
||||
<html>
|
||||
<head><title>wxGTK Homepage</title>
|
||||
</head>
|
||||
<body bgcolor=#FFFFFF text=#000000 link=#0020FF vlink=#800000 alink=#007777>
|
||||
<h1>"wxWindows for the GTK" Homepage</h1>
|
||||
|
||||
<hr>
|
||||
<h3>Current version</h3>
|
||||
15th May '98: wxGTK v0.12 (alpha-)
|
||||
<p>
|
||||
This release is hardly more stable than the one before, but it
|
||||
has many new features. It's main purpose is actually to prepare
|
||||
the final merge of the Windows port and the GTK port source
|
||||
trees into a common tree, developed using CVS. The growing
|
||||
number of demos which compile and run with wxGTK "although"
|
||||
being written for wxMSW shows that we seem to be on the right
|
||||
track. One nice new feature for many potential users is that
|
||||
wxGTK no longer needs any extra libraries to be installed,
|
||||
other than the GTK.
|
||||
<p>
|
||||
If you have a compiler
|
||||
better than gcc 2.7.2.2 then you can uncomment a line in src/common/prntbase.cpp
|
||||
which defines __GOOD_COMPILER__. This should make the printing demo work.
|
||||
I haven't got such a compiler, so I actually don't know. Somebody reported
|
||||
problems with version 2.7.2.3 as well.
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Acknowledgements</h3>
|
||||
I'd like to thank the
|
||||
<a href="http://www.freiburg.linux.de">Freiburg Linux User Group</a>
|
||||
for kindly providing
|
||||
this site and Christian Wetzel in particular for helping me with
|
||||
this site's administration.
|
||||
<p>
|
||||
|
||||
<hr>
|
||||
<h3>What is wxWindows?</h3>
|
||||
wxWindows is a C++ cross-platform GUI toolkit written mainly by Julian Smart.
|
||||
More information about wxWindows can be found at the
|
||||
<a href="http://web.ukonline.co.uk/julian.smart/wxwin">wxWindows Homepage</a>.
|
||||
|
||||
<p>
|
||||
The current version of wxWindows (v1.68) supports Windows ('95 and NT), Motif and
|
||||
XView (aka OpenLook). There is another port (wxXt) available, which uses the
|
||||
free-ware widget set from the Free Widget Foundation (FSF). Ports have been
|
||||
started for the Mac, OS/2 and NextStep.
|
||||
<p>
|
||||
For different reasons, it was decided to start a complete rewrite of wxWindows,
|
||||
which will then be called wxWindows 2.0. For a list of new features and changes
|
||||
from the current version, you may read the wxWindows Homepage (see above).
|
||||
<p>
|
||||
Currently, work is being done on four ports of wxWindows 2.0:
|
||||
<dl>
|
||||
<li> Windows (wxMSW, main author Julian Smart)
|
||||
<li> Unix, Motif (wxMotif, main author Markus Holzhem)
|
||||
<li> Unix, GIMP Toolkit (wxGTK, main author Robert Roebling)
|
||||
<li> Macintosh (wxMac, main author Greg Whitehead)
|
||||
</dl>
|
||||
<p>
|
||||
wxWindows provides a rich set of classes which help to make cross-platform
|
||||
GUI programming easy. In many aspect, it is modelled after MFC, making transition
|
||||
from MFC to wxWindows relatively painless. The main technical
|
||||
difference between most other free or commercial cross platform libraries is
|
||||
that wxWindows is a wrapper around existing widget sets, whereas the other
|
||||
toolkits (Qt, Tk, Java, Amulet, OPaC, JX, Fresko) draw their widgets themselves,
|
||||
which results in applications having a different look than native applications
|
||||
for that specific platform.
|
||||
<p>
|
||||
There are classes for the following categories
|
||||
<dl>
|
||||
<li> Window classes: wxWindow, wxFrame, wxDialogBox, wxPanel, wxCanvas etc.
|
||||
<li> Widget classes: wxButton, wxCheckbox, wxChoice, wxListBox, wxListCtrl, wxText, wxGauge etc.
|
||||
<li> Data structures: wxList, wxString, wxHashTable, wxDate etc.
|
||||
<li> Layout/constraint system
|
||||
<li> GDI classes: wxPen, wxBrush, wxFont, wxBitmap etc.
|
||||
<li> Events: wxCommandEvent, wxMouseEvent, wxKeyEvent etc.
|
||||
<li> Devices contexts: wxCanvasDC, wxPostScriptDC, wxMemoryDC, wxPrinterDC
|
||||
<li> Base classes for runtime-type information: wxObject
|
||||
<li> Interprocess communication: wxClient, wxConnection, wxSocket, wxServer etc.
|
||||
<li> Document-view architecture: wxDocument, wxView, wxDocManager etc.
|
||||
<li> Printing framework: wxPreviewFrame, wxPrintDialog, wxPrinter etc.
|
||||
<li> Many helper classes, wxApplication, wxTypeTree, wxPathList etc.
|
||||
<li> Classes for internationalization
|
||||
<li> Built-in memory leak checking, log-files
|
||||
<li> A multitude of functions and macros
|
||||
</dl>
|
||||
|
||||
<hr>
|
||||
<h3>Copyright</h3>
|
||||
The choice of a suitable copyright has been subject to endless discussions. It
|
||||
has always been the aim, to put wxWindows under a copyright, which protects
|
||||
the work of its authors while at the same time encouraging the use of wxWindows
|
||||
in as many projects as possible.
|
||||
<p>
|
||||
The (so far) last decision has been to put the whole of wxWindows
|
||||
under a modified (less restrictive) version of the GNU library general
|
||||
public license.
|
||||
<p>
|
||||
The only exception is that wxGTK now contains code (gdk_imlib) which is
|
||||
under the GNU library general public license. When you make changes to
|
||||
this part of wxGTK, you'll have to make these changes public (in contrast
|
||||
to changes to the rest).
|
||||
<p>
|
||||
It is obviously encouraged that anybody who uses wxWindows and who
|
||||
makes any improvements to it will make these changes available to
|
||||
wxWindows' authors.
|
||||
<p>
|
||||
<hr>
|
||||
<h3>What can I do with wxWindows 2.0?</h3>
|
||||
wxWindows is still in alpha stage, which means that there are still bugs
|
||||
waiting for you and several features are not yet (fully) implemented, but
|
||||
you can expect the interface to be more or less stable, so no major
|
||||
modifications will have to be made to your source code. wxGTK is already
|
||||
used in a number of medium sized projects and is it being developped
|
||||
in close cooperation with the authors of these applications.
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Can I write a GNOME application with wxGTK 2.0?</h3>
|
||||
Good question. The idea to use wxGTK for the GNOME desktop environment is
|
||||
quite obvious. When this topic came up on the GNOME mailing list, the GNOME
|
||||
people have shown an amazingly negative opinion about wxWindows. One reason
|
||||
might be that several of the main authors of the GNOME-project consider
|
||||
C++ a "broken language". I don't share that view and I am sure many people
|
||||
find C++ easier to handle and better suited for GUI programming than C.
|
||||
<p>
|
||||
Just recently, the topic of C++ in general and wxGTK in particular appeared
|
||||
again on the GNOME list. It has shown that - at least - the opinion on C++
|
||||
on the GNOME list is split.
|
||||
<p>
|
||||
There is already a C++ wrapper for the GTK called GTK-- written by Tero Pulkkinen.
|
||||
It is very small and adds very little overhead to the GTK. If platform
|
||||
independence is no issue for you and you want to write a small tool
|
||||
for Linux, you should probably use GTK--. Of course you can use wxGTK
|
||||
for that, too :-)
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Screenshots</h3>
|
||||
What would a home page of a GUI be without a screenshot? Well, as wxWindows
|
||||
is a wrapper around existing widget/item sets, a wxWindows application will
|
||||
look like any other native Windows, Motif, GTK or Mac application.
|
||||
<p>
|
||||
But for those of you, who wouldn't download wxGTK only because there
|
||||
is no screenshot,
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/sshot.jpg">here it comes</a>.
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Download 1.68</h3>
|
||||
Go to the
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">FTP</a>
|
||||
section directly.
|
||||
<p>
|
||||
There is documentation for version 1.68 in html available.
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet.
|
||||
<p>
|
||||
You can download current wxWindows version 1.68 for Windows, Motif and
|
||||
XView from
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet.
|
||||
<p>
|
||||
You can download wxXt 1.66d from
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxxt166d.tgz">here</a>.
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Download 2.0 alpha</h3>
|
||||
There is documentation for version 2.0 in html available.
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK_doc.tgz">here</a>.
|
||||
<p>
|
||||
You can download the first alpha for wxWindows 2.0 for Windows from
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/">here</a>. Not yet.
|
||||
<p>
|
||||
You can download the current alpha for wxWindows 2.0 for GTK from
|
||||
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK-0.12.tgz">here</a>.
|
||||
<p>
|
||||
|
||||
<hr>
|
||||
<h3>News from wxGTK 0.12</h3>
|
||||
<p>
|
||||
PNG, zlib and gdk_imlib code included.
|
||||
<p>
|
||||
MDI implementation. More a basis for further testing
|
||||
than of real value.
|
||||
<p>
|
||||
Split "--with-debug" option into two options: "--with-debug_info"
|
||||
and "--with-debug_flag". The first one sets the "-g" flag when
|
||||
compiling, the second defines "DEBUG" in setup.h (which is included
|
||||
from defs.h).
|
||||
<p>
|
||||
Merged DocView framework. The sample doesn't compile yet, because
|
||||
it uses features from wxTextCtrl, which I haven't implemented yet.
|
||||
<p>
|
||||
Merged TabCtrl. Doesn't look perfect, but it seems to work.
|
||||
<p>
|
||||
Merged remaining classes from the newest wxMSW alpha. (wxDynArray,
|
||||
wxModule etc.).
|
||||
<p>
|
||||
Further updates, bug fixes or additions:
|
||||
<p>
|
||||
<dl>
|
||||
<li> wxYield() (again)
|
||||
<li> postscript support for bitmaps
|
||||
<li> spline code merged
|
||||
<li> several bug fixes
|
||||
<li> new samples
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Known problems</h3>
|
||||
|
||||
Missing implementation of:
|
||||
<dl>
|
||||
<li>Impossible to set new font in GTK's widgets
|
||||
<li>Items containing bitmaps
|
||||
<li>Masks, bitmap handlers (partially done)
|
||||
<li>Gauge
|
||||
<li>Combobox
|
||||
<li>Palettes (colormaps)
|
||||
<li>Keyboard accelerators for menus
|
||||
<li>Validation
|
||||
<li>Clipboard functions
|
||||
<li>Resources (for use with wxIDE-to-be)
|
||||
<li>Drag and Drop
|
||||
<li>Threads, Interprocess communication
|
||||
<li>Sockets
|
||||
<li>Database classes
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<h3>Installation of wxGTK under Linux</h3>
|
||||
|
||||
GTK requires an up-to-date version of the
|
||||
<dl>
|
||||
<li> GTK (GIMP ToolKit)
|
||||
</dl>
|
||||
to be installed as a shared lib on your system. wxGTK is being developped with
|
||||
version 1.0.1 and it is known not to work with earlier versions.
|
||||
The GTK library is available from
|
||||
<a href="ftp://ftp.gtk.org/pub/">somewhere here (gtk.org).</a>
|
||||
After having typed "make install" the GTK header files should be
|
||||
in "/usr/local/include". Correct me, if I am wrong.
|
||||
<p>
|
||||
Compilation itself works as usual with autoconf:
|
||||
<dl>
|
||||
<li> Unpack it to a suitable subdirectory, let's say ~/wxGTK
|
||||
<li> Type "cd wxGTK"
|
||||
<li> Type "configure"
|
||||
<li> Type "make"
|
||||
</dl>
|
||||
Some demos use files stored in the source directory of those demos
|
||||
(e.g. internat uses files in samples/internat) whereas the binaries
|
||||
will end up in samples/internat/linux. You'll have to copy the binaries
|
||||
down or call them like "linux/test" from samples/internat. This is
|
||||
also the case for wxTest (which should display a horse).
|
||||
<p>
|
||||
You can create a shared library by adding the option "--with-shared" to
|
||||
the "configure" command. Afterwards, you'll have to copy the library
|
||||
~/wxGTK/lib/linux (if you have Linux) to a directory in your LDPATH (e.g. /usr/X11R6/lib)
|
||||
and run "ldconfig".
|
||||
<p>
|
||||
|
||||
<hr>
|
||||
<h3>Mailing list for wxGTK</h3>
|
||||
The mailing list (as well as this page) is called wxxt for more
|
||||
or less historical reasons.
|
||||
<p>
|
||||
You can subsribe to the mailing list by sending a mail to
|
||||
<a href="mailto:majordomo@wesley.informatik.uni-freiburg.de">majordomo@wesley.informatik.uni-freiburg.de</a>.
|
||||
This mail must contain the text "subscribe wxxt" in the body (not the subject) of the
|
||||
mail. You will then get a confirmation that somebody asked majordomo to put you
|
||||
on the list and you will have to confirm this once again by sending back
|
||||
the authentisation, which comes in the confirmation mail. The last step
|
||||
is also described in the actual confirmation mail (I think).
|
||||
<p>
|
||||
You can send a mail to the mailing list to the address
|
||||
<a href="mailto:wxxt@www.freiburg.linux.de">wxxt@www.freiburg.linux.de</a>.
|
||||
|
||||
<p>
|
||||
Unsubscribe by sending "unsubscribe wxxt" to majordomo (see above). Not to
|
||||
the actual mailing list.
|
||||
<p>
|
||||
<hr>
|
||||
<address>
|
||||
<br>This page is maintained by <a href="mailto:roebling@sun2.ruf.uni-freiburg.de">Robert Roebling</a>.
|
||||
Comments, in contrast to junk and flames, welcome.
|
||||
<p>
|
||||
Last changed 15th Mai '98.
|
||||
</address>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
@@ -1,43 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
Welcome to the wxWindows FAQ. Please select a category:<P>
|
||||
|
||||
<ul>
|
||||
<li><a href="faqgen.htm">General questions</a>
|
||||
<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
|
||||
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
|
||||
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
|
||||
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
For further information, please see the <a href="http://www.wxwindows.org" target=_top>wxWindows Web site</a>,
|
||||
plus install.txt (per port), todo.txt (per port), and bugs.txt (all ports).
|
||||
<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,232 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 FAQ: General</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 FAQ: General
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<H3><a name="whatis">What is wxWindows?</a></H3>
|
||||
|
||||
wxWindows is a class library that allows you to compile graphical C++ programs on a range of
|
||||
different platforms. wxWindows defines a common API across platforms, but uses the native graphical user interface (GUI) on each platform,
|
||||
so your program will take on the native 'look and feel' that users are familiar with.<P>
|
||||
|
||||
Although GUI applications are mostly built programmatically, there is a dialog editor to help
|
||||
build attractive dialogs and panels.<P>
|
||||
|
||||
You don't have to use C++ to use wxWindows: wxWindows 1 has been interfaced to several interpreted languages,
|
||||
such as CLIPS, Python, Scheme, XLisp and Perl, and there is a Python interface for wxWindows 2.
|
||||
<P>
|
||||
|
||||
<h3>Can I use wxWindows 2 for both proprietary (commercial) projects, and GPL'ed projects?</h3>
|
||||
|
||||
Yes. Please see the <a href="newlicen.htm">licence</a> for details, but basically
|
||||
you can distribute proprietary binaries without distributing any source code, and neither will wxWindows
|
||||
conflict with GPL code you may be using or developing with it.
|
||||
<P>
|
||||
The conditions for using wxWindows 2 are the same whether you are a personal, academic
|
||||
or commercial developer.
|
||||
<P>
|
||||
|
||||
<h3>Is there support?</h3>
|
||||
|
||||
No official support, but the mailing list is very helpful and some people say that
|
||||
wxWindows support is better than for much commercial software. The developers are
|
||||
keen to fix bugs as soon as possible, though obviously there are no guarantees.
|
||||
<P>
|
||||
|
||||
<H3><a name="users">Who uses wxWindows?</a></H3>
|
||||
|
||||
Many organisations - commercial, government, and academic - across the
|
||||
world. It's impossible to estimate the true number of users, since
|
||||
wxWindows is obtained by many different means, and we cannot monitor
|
||||
distribution. The mailing list contains around 300-400 entries which is
|
||||
quite large for a list of this type.<P>
|
||||
|
||||
<H3>I am about to start a wxWindows 1.xx project. Should I use 2 instead?</H3>
|
||||
|
||||
wxWindows 2 is still in beta but it's actually pretty useable (Windows, GTK, Motif).<P>
|
||||
|
||||
Porting to wxWindows 2 from 1.xx will not be too painful; see the next question
|
||||
for ways in which you can make it easier.<P>
|
||||
|
||||
<H3>Why would I want to use wxWindows 2 in preference to wxWindows 1.xx?</H3>
|
||||
|
||||
Some reasons:
|
||||
|
||||
<ul>
|
||||
<li>In 2 there is far more flexibility, for example in the way windows can be
|
||||
nested, and the way events are intercepted.
|
||||
<li>There is more functionality for producing sophisticated applications,
|
||||
for example using the wxTreeCtrl and wxListCtrl classes.
|
||||
<li>There is better C++-conformance (such as usage of wxString and const) which
|
||||
will make your applications more reliable and easier to maintain.
|
||||
<li>wxWindows 2 will be better supported than 1.xx.
|
||||
<li>The GTK version is attractive for people interested in writing Linux and GNOME
|
||||
applications.
|
||||
<li>The Mac version will be one of the best frameworks available on that platform.
|
||||
</ul>
|
||||
|
||||
<H3>How can I prepare for wxWindows 2?</H3>
|
||||
|
||||
To make porting to wxWindows 2 easier in the future, take a look at some
|
||||
<a href="http://web.ukonline.co.uk/julian.smart/wxwin/prepare.htm">tips</a> for writing existing code in a 2-compatible way.<P>
|
||||
|
||||
<H3>How much has the API changed since 1.xx?</H3>
|
||||
|
||||
It's difficult to summarize, but some aspects haven't changed very much. For example, if you have some
|
||||
complex drawing code, you will mostly need to make sure it's parameterised with a device
|
||||
context (instead of obtaining one from a window or storing it). You won't have
|
||||
to completely rewrite the drawing code.<P>
|
||||
|
||||
The way that events are handled has changed, so for example, where you overrode
|
||||
OnSize before, you now have a non-virtual OnSize with a single event class argument.
|
||||
To make this function known to wxWindows, you add an entry in an 'event table' using macros. Addition of these macros
|
||||
will eventually be made easier by a tool which will allow selection from a list
|
||||
and copy-and-paste into your editor. This is extended to button presses, listbox selection
|
||||
etc. so callbacks have gone (they may be added back for limited backward compatibility).<P>
|
||||
|
||||
The class hierarchy has changed to allow greater flexibility but it probably won't affect your
|
||||
existing application. One exception to this is MDI applications which now use separate MDI classes instead of style
|
||||
flags. As a result, it won't be possible to switch between MDI and SDI operation at run-time
|
||||
without further coding, but a benefit is less interdependence between areas of code,
|
||||
and therefore smaller executable size.<P>
|
||||
|
||||
Panel items (now called controls) no longer have labels associated with most of them,
|
||||
and default panel layout has been removed. The idea is that you make greater use
|
||||
of dialog resources, for better-looking dialogs.<P>
|
||||
|
||||
<H3>What classes have disappeared?</H3>
|
||||
|
||||
wxForm, wxTextWindow (subsumed into wxTextCtrl).
|
||||
|
||||
<H3>Does wxWindows 2 mean that wxWindows 1.xx is dead?</H3>
|
||||
|
||||
While wxWindows 2 is being developed, there will be further patches to wxWindows 1.xx.
|
||||
Obviously we are investing most of our energy into the new code, but we're also trying
|
||||
to fix bugs in the current version.<P>
|
||||
|
||||
<H3>What platforms will be supported by wxWindows 2?</H3>
|
||||
|
||||
<ul>
|
||||
<li>Windows 3.1, Windows 95/98, Windows NT;
|
||||
<li>Linux and other Unix platforms with GTK+;
|
||||
<li>Unix with Motif or the free Motif clone Lesstif;
|
||||
<li>Mac (coming later in 1999);
|
||||
<li>A BeOS port is being investigated.
|
||||
<li>A Windows CE port is being investigated.
|
||||
<li>There are no plans to support OS/2 or XView. However,
|
||||
you may be able to compile the GTK and Motif versions under OS/2 with X and GTK
|
||||
installed, or the Windows version with IBM's Open32 extensions.
|
||||
</ul>
|
||||
<P>
|
||||
|
||||
<H3>How does wxWindows 2 support platform-specific features?</H3>
|
||||
|
||||
This is a hotly-debated topic amongst the developers. My own philosophy
|
||||
is to make wxWindows as platform-independent as possible, but allow in a
|
||||
few classes (functions, window styles) that are platform-specific.
|
||||
For example, Windows metafiles and Windows 95 taskbar icons have
|
||||
their own classes on Windows, but nowhere else. Because these classes
|
||||
are provided and are wxWindows-compatible, it doesn't take much
|
||||
coding effort for an application programmer to add support for
|
||||
some functionality that the user on a particular platform might otherwise
|
||||
miss. Also, some classes that started off as platform-specific, such
|
||||
as the MDI classes, have been emulated on other platforms. I can imagine
|
||||
that even wxTaskBarIcon may be implemented for Unix desktops one day.
|
||||
<P>
|
||||
|
||||
In other words, wxWindows is not a 'lowest common denominator' approach,
|
||||
but it will still be possible to write portable programs using the
|
||||
core API. Forbidding some platform-specific classes would be a stupid
|
||||
approach that would alienate many potential users, and encourage
|
||||
the perception that toolkits such as wxWindows are not up to the demands
|
||||
of today's sophisticated applications.<P>
|
||||
|
||||
Currently resources such as bitmaps and icons are handled in a platform-specific
|
||||
way, but it is hoped to reduce this dependence in due course.<P>
|
||||
|
||||
Another reason why wxWindows 2 is not a 'lowest common denominator' toolkit is that
|
||||
some functionality missing on some platform has been provided using generic,
|
||||
platform-independent code, such as the wxTreeCtrl and wxListCtrl classes.<P>
|
||||
|
||||
<H3>Does wxWindows use STL? or the standard string class?</H3>
|
||||
|
||||
No. This is a much-discussed topic that has (many times) ended with the conclusion that it is in
|
||||
wxWindows' best interests to avoid use of templates. Not all compilers can handle
|
||||
templates adequately so it would dramatically reduce the number of compilers
|
||||
and platforms that could be supported. It would also be undersirable to make
|
||||
wxWindows dependent on another large library that may have to be downloaded and installed.
|
||||
In addition, use of templates can lead to executable bloat, which is something
|
||||
wxWindows 2 is strenously trying to avoid.<P>
|
||||
|
||||
The standard C++ string class is not used, again because it is not available to all compilers,
|
||||
and it is not necessarily a very efficient implementation. Also, we retain more flexibility
|
||||
by being able to modify our own string class. Some compatibility with the string class
|
||||
has been built into wxString.<P>
|
||||
|
||||
There is nothing to stop an application using templates or the string class for its own
|
||||
purposes.<P>
|
||||
|
||||
<H3>How is wxWindows 2 being developed?</H3>
|
||||
|
||||
We are using the <a href="cvs.htm">CVS</a> system to develop and maintain wxWindows. This allows
|
||||
us to make alterations and upload them instantly to the server in Edinburgh, from
|
||||
which others can update their source.<P>
|
||||
|
||||
<H3>How is wxWindows 2 distributed?</H3>
|
||||
|
||||
By ftp, and via the <a href="cdrom2.htm">wxWindows CD-ROM</a>.<P>
|
||||
|
||||
<H3>What are the plans for the future?</H3>
|
||||
|
||||
Currently we're working too hard on getting wxWindows 2 finished (are GUI toolkits ever
|
||||
finished?) to think very far ahead. However, we know we want to make wxWindows as robust
|
||||
and well-publicised as possible. We also want to aim for better platform-independence of
|
||||
resources such as icons and bitmaps, standardising on the PNG for all platforms.<P>
|
||||
|
||||
Other possibilities include: DCOM/CORBA compatibility; a wxWindows book; an
|
||||
<a href="http://web.ukonline.co.uk/julian.smart/wxwin/wxide.htm">IDE</a>;
|
||||
other platforms; other interface abilities such as speech output.<P>
|
||||
|
||||
We will investigate the possibility of compiler or operating system vendors bundling wxWindows with
|
||||
their product.<P>
|
||||
|
||||
The high-level goal of wxWindows is to be thought of as the number one C++ framework,
|
||||
for virtually any platform. Move over, MFC!<P>
|
||||
|
||||
<H3>What about Java?</H3>
|
||||
|
||||
The Java honeymoon period is over :-) and people are realising that it cannot
|
||||
meet all their cross-platform development needs. We don't anticipate a major threat
|
||||
from Java, and the level of interest in wxWindows is as high as ever.<P>
|
||||
|
||||
<H3>How can I help the project?</H3>
|
||||
|
||||
Please check out the <a href="http://web.ukonline.co.uk/julian.smart/wxwin/develop.htm" target=main>Backroom</a> pages,
|
||||
in particular the <a href="http://web.ukonline.co.uk/julian.smart/wxwin/projects.htm">suggested projects</a>, and
|
||||
mail <a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a> or the developers' mailing list with your own suggestions.<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,47 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for GTK FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for GTK FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>What is wxWindows 2 for GTK?</h3>
|
||||
|
||||
wxWindows 2 for GTK is a port of wxWindows to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
|
||||
which is freely available for most flavours of Unix with X. wxWindows 2 for GTK is
|
||||
often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
|
||||
<P>
|
||||
|
||||
<h3>Does wxGTK have GNOME support?</h3>
|
||||
|
||||
Currently wxGTK does not have any features that would involve dependence on any desktop
|
||||
environment's libraries, so it can work on GNOME, KDE and with other window managers
|
||||
without installation hassles. Some GNOME and KDE integration features are file based, and
|
||||
so may be added without dependence on libraries. Other features may be supported in the
|
||||
future, probably as a separate library.
|
||||
<P>
|
||||
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,37 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for Mac FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for Mac FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>When is wxMac 2 due to be released?</h3>
|
||||
|
||||
There is a <a href="http://web.ukonline.co.uk/julian.smart/wxwin/dl_mac2.htm">preview</a> available.
|
||||
A beta release can be expected by early Q2 1999. The author of this port
|
||||
is Stefan Csomor (csomor@advancedconcepts.ch).
|
||||
<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,90 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for Motif FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for Motif FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>What version of Motif do I need?</h3>
|
||||
|
||||
You will need version 1.2 or above. Version 2 should also be fine. Some people
|
||||
have had a positive experience with <a href="www.lesstif.org" target=_top>Lesstif</a>,
|
||||
a free Motif clone. (Note from Julian Smart - I use the Linux version of MetroLink Motif 1.2.4).
|
||||
|
||||
<P>
|
||||
|
||||
<h3>What features are missing or partially implemented?</h3>
|
||||
|
||||
The following classes are not yet implemented: wxSpinButton, wxCheckListBox, wxJoyStick,
|
||||
wxGLCanvas.<P>
|
||||
|
||||
The following classes are not likely to be implemented because there is no sensible
|
||||
equivalent on Motif: wxMiniFrame, wxTaskBar.<P>
|
||||
|
||||
These features are not yet implemented:<P>
|
||||
|
||||
<ul>
|
||||
<li>Clipboard and drag and drop support are currently under development.
|
||||
<li>Support for selection of specific visuals.
|
||||
<li>Wide character support (but when Unicode is supported under Windows, this support will
|
||||
be relatively easy to add).
|
||||
<li>Configurable colour/font settings (they are currently hard-wired in wxSystemSettings).
|
||||
<li>A help system (please use wxHelpController and Netscape instead). An HTML widget and help
|
||||
system is in preparation.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
<h3>Does Dialog Editor work with wxWindows for Motif?</h3>
|
||||
|
||||
Suport for Dialog Editor is almost there, but there are some wrinkles to iron
|
||||
out. You may find it's useful though: compile it and see.
|
||||
<P>
|
||||
|
||||
<h3>How do I switch between debugging and release compilation modes?</h3>
|
||||
|
||||
Unfortunately the makefile system doesn't currently allow you to compile
|
||||
for both simultaneously: you need
|
||||
to recompile wxWindows and your application having adjusted make.env. However,
|
||||
you could rename the binary and release library archives, and adjust your makefiles
|
||||
to use the appropriate one (or change a symbolic link).
|
||||
<P>
|
||||
|
||||
<h3>Why are windows are not refreshed properly until I resize them?</h3>
|
||||
|
||||
Very occasionally you can experience this glitch, probably because sometimes the
|
||||
window tries to resize and repaint itself before the final size is known. The workaround
|
||||
is to add code like this after window creation and initialization:<P>
|
||||
|
||||
<PRE>
|
||||
#ifdef __WXMOTIF__
|
||||
wxNoOptimize noOptimize;
|
||||
window->SetSize(-1, -1, w, h);
|
||||
#endif
|
||||
</PRE>
|
||||
<P>
|
||||
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,174 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for Windows FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for Windows FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>Which Windows platforms are supported?</h3>
|
||||
|
||||
wxWindows 2 can be used to develop and deliver applications on Windows 3.1, Win32s,
|
||||
Windows 95, Windows 98, and Windows NT. A Windows CE version is being looked into (see below).<P>
|
||||
|
||||
wxWindows 2 is designed to make use of WIN32 features and controls. However, unlike Microsoft,
|
||||
we have not forgotten users of 16-bit Windows. Most features
|
||||
work under Windows 3.1, including wxTreeCtrl and wxListCtrl using the generic implementation.
|
||||
However, don't expect very Windows-95-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
|
||||
class doesn't work either because the Windows 3.1 registry is very simplistic. Check out the 16-bit
|
||||
makefiles to see what other files have been left out.
|
||||
<P>
|
||||
16-bit compilation is supported under Visual C++ 1.5, and Borland BC++ 4 to 5.
|
||||
<P>
|
||||
|
||||
wxWindows 2 for Windows will also compile on Unix with gcc using TWIN32 from <a href="http://www.willows.com" target=_top>Willows</a>,
|
||||
although TWIN32 is still in a preliminary state. The resulting executables are
|
||||
Unix binaries that work with the TWIN32 Windows API emulator.<P>
|
||||
|
||||
You can also compile wxWindows 2 for Windows on Unix with Cygwin or Mingw32, resulting
|
||||
in executables that will run on Windows. So in theory you could write your applications
|
||||
using wxGTK or wxMotif, then check/debug your wxWindows for Windows
|
||||
programs with TWIN32, and finally produce an ix86 Windows executable using Cygwin/Mingw32,
|
||||
without ever needing a copy of Microsoft Windows. See the Technical Note on the Web site detailing cross-compilation.<P>
|
||||
|
||||
<h3>What about Windows CE?</h3>
|
||||
|
||||
This is under consideration, though we need to get wxWindows Unicode-aware first.
|
||||
There are other interesting issues, such as how to combine the menubar and toolbar APIs
|
||||
as Windows CE requires. But there's no doubt that it will be possible, albeit
|
||||
by mostly cutting down wxWindows 2 API functionality, and adding a few classes here
|
||||
and there. Since wxWindows for 2 produces small binaries (less than 300K for
|
||||
the statically-linked 'minimal' sample), shoehorning wxWindows 2 into a Windows CE device's limited
|
||||
storage should not be a problem.<P>
|
||||
|
||||
<h3>What compilers are supported?</h3>
|
||||
|
||||
Please see the wxWindows 2 for Windows install.txt file for up-to-date information, but
|
||||
currently the following are known to work:<P>
|
||||
|
||||
<ul>
|
||||
<li>Visual C++ 1.5, 4.0, 5.0, 6.0
|
||||
<li>Borland C++ 4.5, 5.0
|
||||
<li>Borland C++Builder 1.0, 3.0
|
||||
<li>Watcom C++ 10.6 (WIN32)
|
||||
<li>Cygwin b20
|
||||
<li>Mingw32
|
||||
<li>MetroWerks CodeWarrior 4
|
||||
</ul>
|
||||
<P>
|
||||
|
||||
There is a linking problem with Symantec C++ which I hope someone can help solve.
|
||||
<P>
|
||||
|
||||
<h3>Which is the best compiler to use with wxWindows 2?</h3>
|
||||
|
||||
It's partly a matter of taste, but I (JACS) prefer Visual C++ since the debugger is very
|
||||
good, it's very stable, the documentation is extensive, and it generates small executables.
|
||||
Since project files are plain text, it's easy for me to generate appropriate project files
|
||||
for wxWindows samples.<P>
|
||||
|
||||
Borland C++ is fine - and very fast - but it's hard (impossible?) to use the debugger without using project files, and
|
||||
the debugger is nowhere near up to VC++'s quality. The IDE isn't great.<P>
|
||||
|
||||
C++Builder's power isn't really used with wxWindows since it needs integration with its
|
||||
own class library (VCL). For wxWindows, I've only used it with makefiles, in which case
|
||||
it's almost identical to BC++ 5.0 (the same makefiles can be used).<P>
|
||||
|
||||
You can't beat Cygwin's price (free), and you can debug adequately using gdb. However, it's
|
||||
quite slow to compile since it does not use precompiled headers.<P>
|
||||
|
||||
CodeWarrior is cross-platform - you can debug and generate Windows executables from a Mac, but not
|
||||
the other way around I think - but the IDE is, to my mind, a bit primitive.<P>
|
||||
|
||||
Watcom C++ is a little slow and the debugger is not really up to today's standards.<P>
|
||||
|
||||
<h3>Is Unicode supported?</h3>
|
||||
|
||||
Not yet, although there are other internationalisation features.<P>
|
||||
|
||||
However, the issues surrounding Unicode support have been looked into so we know
|
||||
what we need to do, and have some header files ready to use containing appropriate
|
||||
type definitions. Just about every file in wxWindows will need changes, due to the
|
||||
pervasive nature of characters and character arrays. Unicode support is needed
|
||||
for the port to Windows CE (see above), and will probably be added in time for version 2.1.<P>
|
||||
|
||||
<h3>Can you compile wxWindows 2 as a DLL?</h3>
|
||||
|
||||
Yes (using the Visual C++ or Borland C++ makefile), but be aware that distributing DLLs is a thorny issue
|
||||
and you may be better off compiling statically-linked applications, unless you're
|
||||
delivering a suite of separate programs, or you're compiling a lot of wxWindows applications
|
||||
and have limited hard disk space.<P>
|
||||
|
||||
With a DLL approach, and with different versions and configurations of wxWindows
|
||||
needing to be catered for, the end user may end up with a host of large DLLs in his or her Windows system directory,
|
||||
negating the point of using DLLs. Of course, this is not a problem just associated with
|
||||
wxWindows!
|
||||
<P>
|
||||
|
||||
<H3>How can I reduce executable size?</H3>
|
||||
|
||||
You can compile wxWindows as a DLL (see above, VC++/BC++ only at present). You should also
|
||||
compile your programs for release using non-debugging and space-optimisation options, but
|
||||
take with VC++ 5/6 space optimisation: it can sometimes cause problems.<P>
|
||||
|
||||
Statically-linked wxWindows 2 programs are smaller than wxWindows 1.xx programs, because of the way
|
||||
wxWindows 2 has been designed to reduce dependencies between classes, and other
|
||||
techniques. The linker will not include code from the library that is not (directly or
|
||||
indirectly) referenced
|
||||
by your application. So for example, the 'minimal' sample is less than 300KB using VC++ 6.<P>
|
||||
|
||||
If you want to distribute really small executables, you can
|
||||
use <a href="http://www.icl.ndirect.co.uk/petite/" target=_top>Petite</a>
|
||||
by Ian Luck. This nifty utility compresses Windows executables by around 50%, so your 500KB executable
|
||||
will shrink to a mere 250KB. With this sort of size, there is reduced incentive to
|
||||
use DLLs.<P>
|
||||
|
||||
<H3>Is wxWindows compatible with MFC?</H3>
|
||||
|
||||
There is a sample which demonstrates MFC and wxWindows code co-existing in the same
|
||||
application. However, don't expect to be able to enable wxWindows windows with OLE-2
|
||||
functionality using MFC.<P>
|
||||
|
||||
<H3>Why do I sometimes get bizarre crash problems using VC++ 5/6?</H3>
|
||||
|
||||
Some crash problems can be due to inconsistent compiler
|
||||
options (and of course this isn't limited to wxWindows).
|
||||
If strange/weird/impossible things start to happen please
|
||||
check (dumping IDE project file as makefile and doing text comparison
|
||||
if necessary) that the project settings, especially the list of defined
|
||||
symbols, struct packing, etc. are exactly the same for all items in
|
||||
the project. After this, delete everything (including PCH) and recompile.<P>
|
||||
|
||||
VC++ 5's optimization code seems to be broken and can
|
||||
cause problems: this can be seen when deleting an object Dialog
|
||||
Editor, in Release mode with optimizations on. If in doubt,
|
||||
switch off optimisations, although this will result in much
|
||||
larger executables. It seems possible that the library can be created with
|
||||
strong optimization, so long as the application is not strongly
|
||||
optimized. For example, in wxWindows project, set to 'Minimum
|
||||
Size'. In Dialog Editor project, set to 'Customize: Favor Small
|
||||
Code' (and no others). This will then work.<P>
|
||||
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
File diff suppressed because it is too large
Load Diff
@@ -1,222 +0,0 @@
|
||||
<!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
|
||||
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>msgfmt(1) manual page</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<A HREF="#toc">Table of Contents</A><P>
|
||||
|
||||
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
|
||||
msgfmt - create a message object from a message file
|
||||
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
|
||||
</A></H2>
|
||||
<B>msgfmt</B> [ <B>-v</B> ] [ <B>-o</B><I> output-file</I> ] ...
|
||||
<H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
|
||||
<P>
|
||||
<B>msgfmt</B> creates message
|
||||
object files from portable object files (<I>filename<B>.po </B></I>), without changing
|
||||
the portable object files. <P>
|
||||
The <B>.po </B> file contains messages displayed to
|
||||
users by system commands or by application programs. <B>.po</B> files can be edited,
|
||||
and the messages in them can be rewritten in any language supported by
|
||||
the system. <P>
|
||||
The <B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
|
||||
command can be used to create <B>.po</B> files from
|
||||
script or programs. <P>
|
||||
<B>msgfmt</B> interprets data as characters according to the
|
||||
current setting of the <FONT SIZE=-1><B>LC_CTYPE </B></FONT>
|
||||
locale category.
|
||||
<H3><A NAME="sect3" HREF="#toc3">Portable Object Files
|
||||
</A></H3>
|
||||
<P>
|
||||
Formats for all <B>.po</B> files are the same. Each <B>.po</B> file contains one or
|
||||
more lines, with each line containing either a comment or a statement.
|
||||
Comments start the line with a hash mark (#) and end with the newline
|
||||
character. All comments are ignored. The format of a statement is:
|
||||
<DL>
|
||||
|
||||
<DT><I>directive</I>
|
||||
value </DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
Each directive starts at the beginning of the line and is separated
|
||||
from <I>value</I> by white space (such as one or more space or tab characters).
|
||||
<I>value</I> consists of one or more quoted strings separated by white space.
|
||||
Use any of the following types of directives: <P>
|
||||
<blockquote><B>domain</B> <I>domainname</I> <BR>
|
||||
<B>msgid</B>
|
||||
<I>message_identifier</I> <BR>
|
||||
<B>msgstr</B> <I>message_string</I> </blockquote>
|
||||
<P>
|
||||
The behavior of the <B>domain</B>
|
||||
directive is affected by the options used. See <FONT SIZE=-1>OPTIONS</FONT>
|
||||
for the behavior
|
||||
when the <B>-o</B> option is specified. If the <B>-o</B> option is not specified, the
|
||||
behavior of the <B>domain</B> directive is as follows: <blockquote>
|
||||
<UL>
|
||||
·<LI>All <I>msgids</I> from the beginning
|
||||
of each <B>.po</B> file to the first domain directive are put into a default
|
||||
message object file, <B>messages.mo</B>. </LI>·<LI>When <B>msgfmt</B> encounters a <B>domain</B><I> domainname</I>
|
||||
directive in the <B>.po</B> file, all following <I>msgids</I> until the next <B>domain</B> directive
|
||||
are put into the message object file </LI>·<LI>Duplicate <I>msgids</I> are defined in
|
||||
the scope of each domain. That is, a <I>msgid</I> is considered a duplicate only
|
||||
if the identical <I>msgid</I> exists in the same domain. </LI>·<LI>All duplicate <I>msgids</I>
|
||||
are ignored. </LI>
|
||||
</UL>
|
||||
</blockquote>
|
||||
<P>
|
||||
The <B>msgid</B> directive specifies the value of a message identifier
|
||||
associated with the directive that follows it. The <I>message_identifier</I> string
|
||||
identifies a target string to be used at retrieval time. Each statement
|
||||
containing a <B>msgid</B> directive must be followed by a statement containing
|
||||
a <B>msgstr</B> directive. <P>
|
||||
The <B>msgstr</B> directive specifies the target string associated
|
||||
with the <I>message_identifier</I> string declared in the immediately preceding
|
||||
<B>msgid</B> directive. <P>
|
||||
Message strings can contain the escape sequences <B>\n</B> for
|
||||
newline, <B>\t</B> for tab, <B>\v</B> for vertical tab, <B>\b</B> for backspace, <B>\r</B> for carriage
|
||||
return, <B>\f</B> for formfeed, <B>\\</B> for backslash, \" for double quote, <B>\ddd</B> for octal
|
||||
bit pattern, and <B>\xDD</B> for hexadecimal bit pattern.
|
||||
<H2><A NAME="sect4" HREF="#toc4">OPTIONS </A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>-v</B> </DT>
|
||||
<DD>Verbose.
|
||||
List duplicate message identifiers. Message strings are not redefined.
|
||||
</DD>
|
||||
|
||||
<DT><B>-o</B><I> output-file</I> </DT>
|
||||
<DD>Specify output file name as <I>output-file</I>. All <B>domain</B> directives
|
||||
and duplicate <I>msgids</I> in the <B>.po</B> file are ignored. </DD>
|
||||
</DL>
|
||||
|
||||
<H2><A NAME="sect5" HREF="#toc5">EXAMPLES </A></H2>
|
||||
In this example
|
||||
<B>module1.po</B> and <B>module2.po</B> are portable message objects files. <P>
|
||||
<blockquote> example%
|
||||
cat module1.po <BR>
|
||||
# default domain "messages.mo" <BR>
|
||||
msgid "msg 1" <BR>
|
||||
msgstr "msg
|
||||
1 translation" <BR>
|
||||
# <BR>
|
||||
domain "help_domain" <BR>
|
||||
msgid "help 2" <BR>
|
||||
msgstr "help
|
||||
2 translation" <BR>
|
||||
# <BR>
|
||||
domain "error_domain" <BR>
|
||||
msgid "error 3" <BR>
|
||||
msgstr "error
|
||||
3 translation" <BR>
|
||||
<P>
|
||||
example% cat module2.po <BR>
|
||||
# default domain "messages.mo"
|
||||
<BR>
|
||||
msgid "mesg 4" <BR>
|
||||
msgstr "mesg 4 translation" <BR>
|
||||
# <BR>
|
||||
domain "error_domain"
|
||||
<BR>
|
||||
msgid "error 5" <BR>
|
||||
msgstr "error 5 translation" <BR>
|
||||
# <BR>
|
||||
domain "window_domain"
|
||||
<BR>
|
||||
msgid "window 6" <BR>
|
||||
msgstr "window 6 translation" <BR>
|
||||
</blockquote>
|
||||
<P>
|
||||
The following command
|
||||
will produce the output files, <B>messages.mo</B>, <B>help_domain.mo</B>, and <B>error_domain.mo</B>.
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>example% msgfmt module1.po</B> </DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
The following command will produce the output
|
||||
files, <B>messages.mo</B>, <B>help_domain.mo</B>, <B>error_domain.mo</B>, and <B>window_domain.mo</B>.
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>example% msgfmt module1.po module2.po</B> </DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
The following example will produce
|
||||
the output file <B>hello.mo</B>.
|
||||
<DL>
|
||||
|
||||
<DT><B>example% msgfmt -o hello.mo module1.po module2.po</B>
|
||||
</DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
Install message object files in <B>/usr/lib/locale/</B><I>locale</I><B><FONT SIZE=-1>/LC_MESSAGES/</FONT>
|
||||
</B><I>domain</I><B>.mo</B>
|
||||
where <I>locale</I> is the message locale as set by <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
|
||||
, and <I>domain</I>
|
||||
is text domain as set by <B>textdomain()</B>. The <B>/usr/lib/locale</B> portion can
|
||||
optionally be changed by calling <B>bindtextdomain()</B>. See <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
.
|
||||
<H2><A NAME="sect6" HREF="#toc6">ENVIRONMENT
|
||||
</A></H2>
|
||||
See <B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
|
||||
for descriptions of the following environmental variables
|
||||
that affect the execution of <B>msgfmt</B>: <FONT SIZE=-1><B>LC_CTYPE</FONT>
|
||||
</B>, <FONT SIZE=-1><B>LC_MESSAGES</FONT>
|
||||
</B>, <FONT SIZE=-1><B>NLSPATH</FONT>
|
||||
|
||||
</B>.
|
||||
<H2><A NAME="sect7" HREF="#toc7">ATTRIBUTES </A></H2>
|
||||
See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
for descriptions of the following attributes:
|
||||
<P>
|
||||
<TABLE BORDER=0>
|
||||
<TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE VALUE</B> </TD> </TR>
|
||||
<TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
|
||||
<TR> <TD ALIGN=LEFT>CSI
|
||||
</TD> <TD ALIGN=LEFT>Enabled </TD> </TR>
|
||||
</TABLE>
|
||||
|
||||
<H2><A NAME="sect8" HREF="#toc8">SEE ALSO </A></H2>
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
,
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
|
||||
|
||||
<H2><A NAME="sect9" HREF="#toc9">NOTES </A></H2>
|
||||
<P>
|
||||
Neither <B>msgfmt</B> nor any <B>gettext()</B> routine imposes a limit
|
||||
on the total length of a message. However, each line in the <B>*.po</B> file is
|
||||
limited to <FONT SIZE=-1><B>MAX_INPUT </B></FONT>
|
||||
(512) bytes. <P>
|
||||
Installing message catalogs under the
|
||||
C locale is pointless, since they are ignored for the sake of efficiency.
|
||||
<P>
|
||||
|
||||
<HR><P>
|
||||
<A NAME="toc"><B>Table of Contents</B></A><P>
|
||||
<UL>
|
||||
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
|
||||
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
|
||||
<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
|
||||
<UL>
|
||||
<LI><A NAME="toc3" HREF="#sect3">Portable Object Files</A></LI>
|
||||
</UL>
|
||||
<LI><A NAME="toc4" HREF="#sect4">OPTIONS</A></LI>
|
||||
<LI><A NAME="toc5" HREF="#sect5">EXAMPLES</A></LI>
|
||||
<LI><A NAME="toc6" HREF="#sect6">ENVIRONMENT</A></LI>
|
||||
<LI><A NAME="toc7" HREF="#sect7">ATTRIBUTES</A></LI>
|
||||
<LI><A NAME="toc8" HREF="#sect8">SEE ALSO</A></LI>
|
||||
<LI><A NAME="toc9" HREF="#sect9">NOTES</A></LI>
|
||||
</UL>
|
||||
</BODY></HTML>
|
@@ -1,144 +0,0 @@
|
||||
<!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
|
||||
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>xgettext(1) manual page</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<A HREF="#toc">Table of Contents</A><P>
|
||||
|
||||
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
|
||||
xgettext - extract gettext call strings from C programs
|
||||
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
|
||||
</A></H2>
|
||||
<B>xgettext</B> [ <B>-ns</B> ] [ <B>-a</B> [ <B>-x</B><I> exclude-file</I> ] ] [ <B>-c</B><I> comment-tag</I> ] [ <B>-d</B><I> default-domain</I>
|
||||
] [ <B>-j</B> ] [ <B>-m</B><I> prefix</I> ] [ <B>-M</B><I> suffix</I> ] [ <B>-p</B><I> pathname</I> ] <B>-</B>| <I>filename</I> ... <BR>
|
||||
<B>xgettext</B>
|
||||
<B>-h</B>
|
||||
<H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
|
||||
<P>
|
||||
<B>xgettext</B> is used to automate the creation of portable
|
||||
message files (<B>.po</B>). A <B>.po</B> file contains copies of `C' strings that are found
|
||||
in ANSI C source code in <I>filename</I> or the standard input if `<B>-</B>' is specified
|
||||
on the command line. The <B>.po</B> file can be used as input to the <B><A HREF="http://hoth.stsci.edu/man/man1/msgfmt.html">msgfmt</B>(1)</A>
|
||||
|
||||
utility, which produces a binary form of the message file that can be
|
||||
used by application during run-time. <P>
|
||||
<B>xgettext</B> writes <I>msgid</I> strings from
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
calls in <I>filename</I> to the default output file <B>messages.po</B>. The
|
||||
default output file name can be changed by <B>-d</B> option. <I>msgid</I> strings in
|
||||
<B>dgettext()</B> calls are written to the output file where <I>domainname</I> is the
|
||||
first parameter to the <B>dgettext()</B> call. <P>
|
||||
By default, <B>xgettext</B> creates a
|
||||
<B>.po</B> file in the current working directory, and each entry is in the same
|
||||
order the strings are extracted from <I>filenames</I>. When the <B>-p</B> option is specified,
|
||||
the <B>.po</B> file is created in the <I>pathname</I> directory. An existing <B>.po</B> file
|
||||
is overwritten. <P>
|
||||
Duplicate <I>msgid</I>s are written to the <B>.po</B> file as comment
|
||||
lines. When the <B>-s </B> option is specified, the <B>.po</B> is sorted by the <I>msgid</I>
|
||||
string, and all duplicated <I>msgid</I>s are removed. All <I>msgstr</I> directives in
|
||||
the <B>.po</B> file are empty unless the <B>-m </B> option is used.
|
||||
<H2><A NAME="sect3" HREF="#toc3">OPTIONS </A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>-n</B> </DT>
|
||||
<DD>Add comment
|
||||
lines to the output file indicating file name and line number in the source
|
||||
file where each extracted string is encountered. These lines appear before
|
||||
each <I>msgid</I> in the following format: <blockquote><B>#</B> <B># File: </B><I>filename</I><B>, line: </DD>
|
||||
</DL>
|
||||
</B><I>line-number</I>
|
||||
</blockquote>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>-s</B> </DT>
|
||||
<DD>Generate output sorted by <I>msgid</I>s with all duplicate <I>msgid</I>s removed.
|
||||
</DD>
|
||||
|
||||
<DT><B>-a</B> </DT>
|
||||
<DD>Extract all strings, not just those found in <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
, and <B>dgettext
|
||||
()</B> calls. Only one <B>.po</B> file is created. </DD>
|
||||
|
||||
<DT><B>-c</B><I> comment-tag</I> </DT>
|
||||
<DD>The comment block
|
||||
beginning with <I>comment-tag</I> as the first token of the comment block is
|
||||
added to the output <B>.po</B> file as <I>#</I> delimited comments. For multiple domains,
|
||||
<B>xgettext</B> directs comments and messages to the prevailing text domain. </DD>
|
||||
|
||||
<DT><B>-d</B><I>
|
||||
default-domain</I> </DT>
|
||||
<DD>Rename default output file from <B>messages.po</B> to <I>default-domain</I>
|
||||
<B>.po</B>. </DD>
|
||||
|
||||
<DT><B>-j</B> </DT>
|
||||
<DD>Join messages with existing message files. If a <B>.po</B> file does not
|
||||
exist, it is created. If a <B>.po</B> file does exist, new messages are appended.
|
||||
Any duplicate <B>msgid</B>s are commented out in the resulting <B>.po</B> file. Domain
|
||||
directives in the existing <B>.po</B> file are ignored. Results not guaranteed
|
||||
if the existing message file has been edited. </DD>
|
||||
|
||||
<DT><B>-m</B><I> prefix</I> </DT>
|
||||
<DD>Fill in the <I>msgstr</I>
|
||||
with <I>prefix</I>. This is useful for debugging purposes. To make <I>msgstr</I> identical
|
||||
to <I>msgid</I>, use an empty string (<B>"" </B>) for <I>prefix</I>. </DD>
|
||||
|
||||
<DT><B>-M</B><I> suffix</I> </DT>
|
||||
<DD>Fill in the
|
||||
<I>msgstr</I> with <I>suffix</I>. This is useful for debugging purposes. </DD>
|
||||
|
||||
<DT><B>-p</B><I> pathname</I>
|
||||
</DT>
|
||||
<DD>Specify the directory where the output files will be placed. This option
|
||||
overrides the current working directory. <BR>
|
||||
</DD>
|
||||
|
||||
<DT><B>-x</B><I> exclude-file</I> </DT>
|
||||
<DD>Specify a <B>.po</B>
|
||||
file that contains a list of <I>msgid</I>s that are not to be extracted from
|
||||
the input files. The format of <I>exclude-file</I> is identical to the <B>.po</B> file.
|
||||
However, only the <I>msgid</I> directive line in <I>exclude-file</I> is used. All other
|
||||
lines are simply ignored. The <B>-x</B> option can only be used with the <B>-a</B> option.
|
||||
</DD>
|
||||
|
||||
<DT><B>-h</B> </DT>
|
||||
<DD>Print a help message on the standard output. </DD>
|
||||
</DL>
|
||||
|
||||
<H2><A NAME="sect4" HREF="#toc4">ATTRIBUTES </A></H2>
|
||||
See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
|
||||
for descriptions of the following attributes: <P>
|
||||
<TABLE BORDER=0>
|
||||
<TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE
|
||||
VALUE</B> </TD> </TR>
|
||||
<TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
|
||||
</TABLE>
|
||||
|
||||
<H2><A NAME="sect5" HREF="#toc5">SEE ALSO </A></H2>
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man1/msgfmt.html">msgfmt</B>(1)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
|
||||
|
||||
<H2><A NAME="sect6" HREF="#toc6">NOTES </A></H2>
|
||||
<B>xgettext</B> is not able to extract cast strings, for example ANSI
|
||||
C casts of literal strings to <B>(const char *)</B>. This is unnecessary anyway,
|
||||
since the prototypes in <B><libintl.h></B> already specify this type. <P>
|
||||
|
||||
<HR><P>
|
||||
<A NAME="toc"><B>Table of Contents</B></A><P>
|
||||
<UL>
|
||||
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
|
||||
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
|
||||
<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
|
||||
<LI><A NAME="toc3" HREF="#sect3">OPTIONS</A></LI>
|
||||
<LI><A NAME="toc4" HREF="#sect4">ATTRIBUTES</A></LI>
|
||||
<LI><A NAME="toc5" HREF="#sect5">SEE ALSO</A></LI>
|
||||
<LI><A NAME="toc6" HREF="#sect6">NOTES</A></LI>
|
||||
</UL>
|
||||
</BODY></HTML>
|
@@ -1,267 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows Documentation</TITLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<!BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
<BODY BGCOLOR="#CCDDDFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<a name="top"></a>
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
<IMG src="logo.gif" align=right>
|
||||
<!-- wxWindows Documentation -->
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
Welcome to wxWindows 2, the première cross-platform GUI C++ framework. This is an index of
|
||||
the plain text, HTML, Windows Help and Acrobat documentation: availability depends on what you've
|
||||
downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P>
|
||||
|
||||
<CENTER>
|
||||
<FONT size=-1>
|
||||
[<a href="#install">Install</a>]
|
||||
[<a href="#manuals">Manuals</a>]
|
||||
[<a href="#thirdparty">3rd party tools</a>]
|
||||
[<a href="#samples">Samples</a>]
|
||||
</FONT>
|
||||
</CENTER>
|
||||
|
||||
<h3 align=center><a name="install"><hr>Installation and release notes<hr></a></h3>
|
||||
|
||||
<ul>
|
||||
<li>ReadMe: <a href="../readme.txt"><b>General ReadMe</b></a>,
|
||||
<a href="../gtk/readme.txt">wxGTK</a>,
|
||||
<a href="../motif/readme.txt">wxMotif</a>,
|
||||
<a href="../msw/readme.txt">wxMSW</a>
|
||||
<li>Installation: <a href="../gtk/install.txt">wxGTK</a>,
|
||||
<a href="../motif/install.txt">wxMotif</a>,
|
||||
<a href="../msw/install.txt">wxMSW</a>
|
||||
<li><a href="../changes.txt"><b>Change log</b></a>
|
||||
<li><a href="../bugs.txt"><b>Buglist</b></a>
|
||||
<li>Licence: <a href="../preamble.txt">Preamble</a>,
|
||||
<a href="../licence.txt">Licence</a>,
|
||||
<a href="../licendoc.txt">Documentation Licence</a>,
|
||||
<a href="../lgpl.txt">L-GPL</a>,
|
||||
<a href="../gpl.txt">GPL</a>
|
||||
<li><a href="faq.htm"><B>FAQ</B></a>:
|
||||
<ul>
|
||||
<li><a href="faqgen.htm">General questions</a>
|
||||
<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
|
||||
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
|
||||
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
|
||||
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
|
||||
</ul>
|
||||
<li>ToDo: <a href="../todo.txt"><b>General ToDo</b></a>,
|
||||
<a href="../gtk/todo.txt">wxGTK</a>,
|
||||
<a href="../motif/todo.txt">wxMotif</a>,
|
||||
<a href="../msw/todo.txt">wxMSW</a>
|
||||
<li>List of <a href="../symbols.txt">preprocessor symbols</a> used in wxWindows
|
||||
</ul>
|
||||
|
||||
<h3 align=center><a name="manuals"><hr>wxWindows manuals<hr></a></h3>
|
||||
|
||||
<table border=1 align=center>
|
||||
|
||||
<tr>
|
||||
<td align=center bgcolor="#FFFF00">
|
||||
<B>HTML</B>
|
||||
</td>
|
||||
<td align=center bgcolor="#FFFF00">
|
||||
<B>WinHelp</B>
|
||||
</td>
|
||||
<td align=center bgcolor="#FFFF00">
|
||||
<B>PDF</B>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align=center>
|
||||
<a href="wx/wx.htm">Reference Manual</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../winhelp/wx.hlp">Reference Manual</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../pdf/wx.pdf">Reference Manual</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align=center>
|
||||
<a href="porting/port.htm">Porting Guide</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../winhelp/porting.hlp">Porting Guide</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../pdf/porting.pdf">Porting Guide</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align=center>
|
||||
<a href="dialoged/dlged.htm">Dialog Editor Manual</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../winhelp/dialoged.hlp">Dialog Editor Manual</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../pdf/dialoged.pdf">Dialog Editor Manual</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align=center>
|
||||
<a href="proplist/prop.htm">Property List Classes</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../winhelp/proplist.hlp">Propert List Classes</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../pdf/proplist.pdf">Property List Classes</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align=center>
|
||||
<a href="wxtree/tree.htm">wxTreeLayout Class</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../winhelp/wxtree.hlp">wxTreeLayout Class</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../pdf/wxtree.pdf">wxTreeLayout Class</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align=center>
|
||||
<a href="odbc/odbc.htm">Remstar ODBC Classes</a>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<BR><BR>
|
||||
</td>
|
||||
|
||||
<td align=center>
|
||||
<a href="../pdf/odbc.pdf">Remstar ODBC Classes</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<h3 align=center><a name="thirdparty"><hr>Third-party tools<hr></a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="gettext/gettext.htm">gettext Manual</a>
|
||||
<li><a href="gettext/xgettext.htm">xgettext Manual</a>
|
||||
<li><a href="gettext/msgfmt.htm">msgfmt Manual</a>
|
||||
</ul>
|
||||
|
||||
<h3 align=center><a name="samples"><hr>Samples<hr></a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="../../samples/bombs">bombs</a>: minesweeper-like game.
|
||||
<li><a href="../../samples/checklst">checklst</a>: demonstrates wxCheckListBox on
|
||||
supported platforms (currently Windows and GTK only).
|
||||
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
|
||||
defaults to wxRegConfig on WIN32, wxIniConfig on WIN16, and wxFileConfig on other platforms.
|
||||
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
|
||||
wxNotebook.
|
||||
<li><a href="../../samples/db">db</a>: wxDB ODBC sample.
|
||||
<li><a href="../../samples/dde">dde</a>: shows the DDE protocol in action, both using real
|
||||
DDE on Windows, and TCP/IP on all platforms. Edit <a href="../../samples/dde/ddesetup.h">ddesetup.h</a>
|
||||
to switch between compilation modes. Currently the TCP/IP mode needs a bit of work.
|
||||
<li><a href="../../samples/dialogs">dialogs</a>: shows some of the common dialogs available -- wxFontDialog,
|
||||
wxColourDialog, wxFileDialog, wxDirDialog, wxMessageBox, wxTextEntryDialog, wxSingleChoiceDialog.
|
||||
For printing-related dialogs, see the printing sample.
|
||||
<li><a href="../../samples/dnd">dnd</a>: demonstrates drag and drop on supported platforms.
|
||||
<li><a href="../../samples/docview">docview</a>: demonstrates use of the document view classes,
|
||||
using wxFrame.
|
||||
<li><a href="../../samples/docvwmdi">docvwmdi</a>: : demonstrates use of the document view classes,
|
||||
using wxMDIParentFrame, wxMDIChildFrame.
|
||||
<li><a href="../../samples/dynamic">dynamic</a>: shows how to connect events to member functions
|
||||
dynamically.
|
||||
<li><a href="../../samples/forty">forty</a>: a great little card game by Chris Breeze. A
|
||||
fully-fledged application!
|
||||
<li><a href="../../samples/fractal">fractal</a>: fractal mountains by Andrew Davison.
|
||||
<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class.
|
||||
<li><a href="../../samples/help">help</a>: shows how to use wxHelpController.
|
||||
<li><a href="../../samples/image">image</a>: shows off the cross-platform wxImage class.
|
||||
<li><a href="../../samples/internat">internat</a>: use of wxWindows' internationalization support.
|
||||
<li><a href="../../samples/joytest">joytest</a>: tests the wxJoystick class (currently Windows and GTK only).
|
||||
<li><a href="../../samples/layout">layout</a>: shows the constraint layout system in action.
|
||||
<li><a href="../../samples/listctrl">listctrl</a>: demonstrates the wxListCtrl (implemented natively on
|
||||
WIN32, and using a generic version on other platforms).
|
||||
<li><a href="../../samples/mdi">mdi</a>: shows off the MDI (Multiple Document Interface) classes. On Windows, the regular MDI
|
||||
scheme is used whereby child windows have full sizing and moving rights within the main
|
||||
window. On other platforms, tabbed windows are used, where the children are always maximized.
|
||||
<li><a href="../../samples/memcheck">memcheck</a>: demonstrates the memory checking/debugging facilities.
|
||||
<li><a href="../../samples/mfc">mfc</a>: shows how to use MFC and wxWindows code in the same application (Windows only).
|
||||
To compile this, you must edit include/wx/wxprec.h, comment out the windows.h inclusion, and recompile wxWindows.
|
||||
<li><a href="../../samples/minifram">minifram</a>: demonstrates a frame with a small title bar. On
|
||||
platforms that don't support it, a normal-sized title bar is displayed.
|
||||
<li><a href="../../samples/minimal">minimal</a>: just shows a frame, a menubar, and a statusbar. About as
|
||||
small a wxWindows application as you can get.
|
||||
<li><a href="../../samples/nativdlg">nativdlg</a>: shows how wxWindows can load a standard Windows
|
||||
dialog resource, translating the controls into wxWindows controls (Windows only).
|
||||
<li><a href="../../samples/notebook">notebook</a>: shows the wxNotebook (tabbed window) control.
|
||||
<li><a href="../../samples/oleauto">oleauto</a>: a little OLE automation controller (Windows only; requires
|
||||
Excel to be present).
|
||||
<li><a href="../../samples/ownerdrw">ownerdrw</a>: demonstrates owner-draw menus and controls (Windows only).
|
||||
<li><a href="../../samples/png">png</a>: demonstrates PNG loading.
|
||||
<li><a href="../../samples/printing">printing</a>: shows printing and previewing.
|
||||
<li><a href="../../samples/proplist">proplist</a>: demonstrates the property list classes (a VB-style property editor).
|
||||
<li><a href="../../samples/regtest">regtest</a>: tests the low-level Windows registry functions (Windows only).
|
||||
<li><a href="../../samples/resource">resource</a>: shows how to use wxWindows resources (.wxr files).
|
||||
<li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow
|
||||
the user to resize subwindows.
|
||||
<li><a href="../../samples/splitter">splitter</a>: demonstrates the wxSplitterWindow class.
|
||||
<li><a href="../../samples/tab">tab</a>: demonstrates the generic tab window class. You should
|
||||
normally use wxNotebook instead, but the generic code is sometimes useful, for example for
|
||||
implementing wxNotebook on platforms with no native support.
|
||||
<li><a href="../../samples/taskbar">taskbar</a>: demonstrates the wxTaskBarIcon class, for
|
||||
adding icons to the system tray. Windows only, but may eventually be implemented for other desktop
|
||||
environments that use this metaphor.
|
||||
<li><a href="../../samples/thread">thread</a>: tests the family of classes for doing thread
|
||||
programming.
|
||||
<li><a href="../../samples/toolbar">toolbar</a>: demonstrates wxToolBar.
|
||||
<li><a href="../../samples/treectrl">treectrl</a>: demonstrates wxTreeCtrl.
|
||||
<li><a href="../../samples/typetest">typetest</a>: tests various data type classes, including
|
||||
wxTime, wxDate and wxVariant.
|
||||
<li><a href="../../samples/validate">validate</a>: shows simple use of validation.
|
||||
<li><a href="../../samples/wxpoem">wxpoem</a>: a little poetry display program.
|
||||
<li><a href="../../samples/wxsocket">wxsocket</a>: demonstrates the TCP/IP family of classes.
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 4.5 KiB |
@@ -1,37 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Welcome to wxWindows 2</TITLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<a name="top"></a>
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
Welcome to wxWindows 2
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
Welcome to wxWindows 2, the premiere cross-platform GUI C++ framework.<P>
|
||||
|
||||
Please click on <a href="html/index.htm">docs/html/index.htm</a> to view the main document index.<P>
|
||||
|
||||
Have fun!<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
|
@@ -1,4 +1,5 @@
|
||||
[OPTIONS]
|
||||
BMROOT=d:\wx2\wxwind~1\docs\latex\porting ; Assume that bitmaps are where the source is
|
||||
TITLE=wxWindows Porting Guide
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
@@ -14,7 +14,7 @@
|
||||
\parindent=0pt
|
||||
\title{Guide to porting applications from wxWindows 1.xx to 2.0}
|
||||
\author{Julian Smart}
|
||||
\date{March 1999}
|
||||
\date{October 1997}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
\maketitle
|
||||
@@ -40,10 +40,13 @@ how you can modify your application to be 2.0-compliant.
|
||||
You may be worrying that porting to 2.0 will be a lot of work,
|
||||
particularly if you have only recently started using 1.xx. In fact,
|
||||
the wxWindows 2.0 API has far more in common with 1.xx than it has differences.
|
||||
The main challenges are using the new event system, doing without the default
|
||||
With backward compatibility mode on, much of the conversion can be
|
||||
done gradually. The main challenges are doing without the default
|
||||
panel item layout, and the lack of automatic labels in some controls.
|
||||
However, if you already use resource files (.wxr), or application-specific positioning,
|
||||
or constraints, then even this will be quite painless.
|
||||
|
||||
Please don't be freaked out by the jump to 2.0! For one thing, 1.xx is still available
|
||||
So please don't be freaked out by the jump to 2.0! For one thing, 1.xx is still available
|
||||
and will be supported by the user community for some time. And when you have
|
||||
changed to 2.0, we hope that you will appreciate the benefits in terms
|
||||
of greater flexibility, better user interface aesthetics, improved C++ conformance,
|
||||
@@ -97,7 +100,7 @@ void MyFrame::OnOK(wxCommandEvent& event)
|
||||
|
||||
You may find that writing the extra code to call a member function isn't worth it at this stage,
|
||||
but the option is there.
|
||||
\item {\bf Use wxString wherever possible.} 2.0 replaces char * with wxString
|
||||
\item {\bf Use wxString wherever possible.} 2.0 will replace char * with wxString
|
||||
in most cases, and if you use wxString to receive strings returned from
|
||||
wxWindows functions (except when you need to save the pointer if deallocation is required), there should
|
||||
be no conversion problems later on.
|
||||
@@ -109,7 +112,7 @@ Windows and X under wxWindows 1.66. Yes, this is not easy... but I think it's be
|
||||
standards of each platform, and currently the size difference makes it difficult to
|
||||
conform to Windows UI standards. You may eventually wish to build in a global 'fudge-factor' to compensate
|
||||
for size differences. The old font sizing will still be available via wx\_setup.h, so do not panic...
|
||||
\item {\bf Consider dropping wxForm usage}:
|
||||
\item {\bf Consider dropping wxForm usage}: an alternative is to be found in utils/wxprop.
|
||||
wxPropertyFormView can be used in a wxForm-like way, except that you specify a pre-constructed panel
|
||||
or dialog; or you can use a wxPropertyListView to show attributes in a scrolling list - you don't even need
|
||||
to lay panel items out.
|
||||
@@ -177,8 +180,7 @@ See \helpref{Device contexts and painting}{dc}.
|
||||
These objects - instances of classes such as wxPen, wxBrush, wxBitmap (but not wxColour) -
|
||||
are now implemented with reference-counting. This makes assignment a very cheap operation,
|
||||
and also means that management of the resource is largely automatic. You now pass {\it references} to
|
||||
objects to functions such as wxDC::SetPen, not pointers, so you will need to derefence your pointers.
|
||||
The device context does not store a copy of the pen
|
||||
objects to functions such as wxDC::SetPen. The device context does not store a copy of the pen
|
||||
itself, but takes a copy of it (via reference counting), and the object's data gets freed up
|
||||
when the reference count goes to zero. The application does not have to worry so much about
|
||||
who the object belongs to: it can pass the reference, then destroy the object without
|
||||
@@ -189,8 +191,11 @@ pointers to GDI objects, and using the FindOrCreate... functions. However, it is
|
||||
keep this explicit management to a minimum, instead creating objects on the fly as needed, on the stack,
|
||||
unless this causes too much of an overhead in your application.
|
||||
|
||||
At a minimum, you will have to make sure that calls to SetPen, SetBrush etc. work. Also, where you pass NULL to these
|
||||
functions, you will need to use an identifier such as wxNullPen or wxNullBrush.
|
||||
At a minimum, you will have to make sure that calls to SetPen, SetBrush etc. work. Some compilers
|
||||
will do the conversion from pointer to reference automatically (via a constructor in the GDI
|
||||
class) but you cannot rely on this being true for all compilers. Also, where you pass NULL to these
|
||||
functions, you will need to either cast to the appropriate reference type, or instead
|
||||
use an identifier such as wxNullPen or wxNullBrush.
|
||||
|
||||
\chapter{Dialogs and controls}\label{dialogscontrols}
|
||||
|
||||
@@ -208,7 +213,8 @@ properties.
|
||||
|
||||
All window constructors have two main changes, apart from the label issue mentioned above.
|
||||
Windows now have integer identifiers; and position and size are now passed as wxPoint and
|
||||
wxSize objects. In addition, some windows have a wxValidator argument.
|
||||
wxSize objects. In addition, some windows have a wxValidator argument. wxWindows 2.0 may provide
|
||||
old-style constructors in WXWIN\_COMPATIBILITY mode for limited backward compatibility.
|
||||
|
||||
\wxheading{Show versus ShowModal}
|
||||
|
||||
@@ -247,7 +253,7 @@ wxGroupBox is renamed wxStaticBox.
|
||||
|
||||
\wxheading{wxForm}
|
||||
|
||||
Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyFormView class
|
||||
Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyForm class
|
||||
instead, which takes standard dialogs and panels and associates controls with property objects.
|
||||
You may also find that the new validation method, combined with dialog resources, is easier
|
||||
and more flexible than using wxForm.
|
||||
@@ -272,8 +278,6 @@ If you used device context functions with wxPoint or wxIntPoint before, please n
|
||||
that wxPoint now contains integer members, and there is a new class wxRealPoint. wxIntPoint
|
||||
no longer exists.
|
||||
|
||||
wxMetaFile and wxMetaFileDC have been renamed to wxMetafile and wxMetafileDC.
|
||||
|
||||
\chapter{Miscellaneous}
|
||||
|
||||
\section{Strings}
|
||||
@@ -321,178 +325,66 @@ Try to use the {\bf const} keyword in your own code where possible.
|
||||
\chapter{Backward compatibility}\label{compat}
|
||||
|
||||
Some wxWindows 1.xx functionality has been left to ease the transition to 2.0. This functionality
|
||||
(usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1 in setup.h.
|
||||
(usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1.
|
||||
|
||||
Mostly this defines old names to be the new names (e.g. wxRectangle is defined to be wxRect).
|
||||
TODO
|
||||
|
||||
OnMenuCommand, OnSize, OnActivate, OnPaint, others?? can all be prefixed with Old (e.g. OldOnMenuCommand)
|
||||
and will work as before. You are encouraged to convert your code to the new forms, but
|
||||
this will allow you to get your applications up and running a little more quickly.
|
||||
|
||||
OnClose can be used as-is without an 'Old' prefix, but officially the OnCloseWindow event table handler should be
|
||||
used instead.
|
||||
|
||||
\chapter{Quick reference}\label{quickreference}
|
||||
|
||||
This section allows you to quickly find features that
|
||||
need to be converted.
|
||||
|
||||
\section{Include files}
|
||||
|
||||
Use the form:
|
||||
|
||||
\begin{verbatim}
|
||||
#include <wx/wx.h>
|
||||
#include <wx/button.h>
|
||||
\end{verbatim}
|
||||
|
||||
For precompiled header support, use this form:
|
||||
|
||||
\begin{verbatim}
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include <wx/wxprec.h>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
// Any files you want to include if not precompiling by including
|
||||
// the whole of <wx/wx.h>
|
||||
#ifndef WX_PRECOMP
|
||||
#include <stdio.h>
|
||||
#include <wx/setup.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/brush.h>
|
||||
#endif
|
||||
|
||||
// Any files you want to include regardless of precompiled headers
|
||||
#include <wx/toolbar.h>
|
||||
\end{verbatim}
|
||||
|
||||
\section{IPC classes}
|
||||
|
||||
These are now separated out into wxDDEServer/Client/Connection (Windows only) and wxTCPServer/Client/Connection
|
||||
(Windows and Unix). Take care to use wxString for your overridden function arguments, instead of char*, as per
|
||||
the documentation.
|
||||
|
||||
\section{MDI style frames}
|
||||
|
||||
MDI is now implemented as a family of separate classes, so you can't switch to MDI just by
|
||||
using a different frame style. Please see the documentation for the MDI frame classes, and the MDI
|
||||
sample may be helpful too.
|
||||
TODO
|
||||
|
||||
\section{OnActivate}
|
||||
|
||||
Replace the arguments with one wxActivateEvent\& argument, make sure the function isn't virtual,
|
||||
and add an EVT\_ACTIVATE event table entry.
|
||||
Rename to OldOnActivate, or replace arguments with one wxActivateEvent\& argument.
|
||||
|
||||
\section{OnChar}
|
||||
\wxheading{See also}
|
||||
|
||||
This is now a non-virtual function, with the same wxKeyEvent\& argument as before.
|
||||
Add an EVT\_CHAR macro to the event table
|
||||
for your window, and the implementation of your function will need very few changes.
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{OnClose}
|
||||
|
||||
The old virtual function OnClose is now obsolete.
|
||||
Add an OnCloseWindow event handler using an EVT\_CLOSE event table entry. For details
|
||||
about window destruction, see the Windows Deletion Overview in the manual. This is a subtle
|
||||
topic so please read it very carefully. Basically, OnCloseWindow is now responsible for
|
||||
destroying a window with Destroy(), but the default implementation (for example for wxDialog) may not
|
||||
destroy the window, so to be sure, always provide this event handler so it's obvious what's going on.
|
||||
This can either remain the same as before, or you can add an OnCloseWindow event
|
||||
handler using an EVT\_CLOSE event table entry.
|
||||
|
||||
\section{OnEvent}
|
||||
\wxheading{See also}
|
||||
|
||||
This is now a non-virtual function, with the same wxMouseEvent\& argument as before. However
|
||||
you may wish to rename it OnMouseEvent. Add an EVT\_MOUSE\_EVENTS macro to the event table
|
||||
for your window, and the implementation of your function will need very few changes.
|
||||
However, if you wish to intercept different events using different functions, you can
|
||||
specify specific events in your event table, such as EVT\_LEFT\_DOWN.
|
||||
|
||||
Your OnEvent function is likely to have references to GetDC(), so make sure you create
|
||||
a wxClientDC instead. See \helpref{Device contexts}{dc}.
|
||||
|
||||
If you are using a wxScrolledWindow (formerly wxCanvas), you should call
|
||||
PrepareDC(dc) to set the correct translation for the current scroll position.
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{OnMenuCommand}
|
||||
|
||||
You need to replace this virtual function with a series of non-virtual functions, one for
|
||||
each case of your old switch statement. Each function takes a wxCommandEvent\& argument.
|
||||
Create an event table for your frame
|
||||
containing EVT\_MENU macros, and insert DECLARE\_EVENT\_TABLE() in your frame class, as
|
||||
per the samples.
|
||||
Rename to OldOnMenuCommand, or replace with a series of functions, one for
|
||||
each case of your old switch statement. Create an event table for your frame
|
||||
containing EVT\_MENU macros, and insert DECLARE\_EVENT\_TABLE() in your frame class.
|
||||
|
||||
\section{OnPaint}
|
||||
\wxheading{See also}
|
||||
|
||||
This is now a non-virtual function, with a wxPaintEvent\& argument.
|
||||
Add an EVT\_PAINT macro to the event table
|
||||
for your window.
|
||||
|
||||
Your function {\it must} create a wxPaintDC object, instead of using GetDC to
|
||||
obtain the device context.
|
||||
|
||||
If you are using a wxScrolledWindow (formerly wxCanvas), you should call
|
||||
PrepareDC(dc) to set the correct translation for the current scroll position.
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{OnSize}
|
||||
|
||||
Replace the arguments with one wxSizeEvent\& argument, make it non-virtual, and add to your
|
||||
event table using EVT\_SIZE.
|
||||
Rename to OldOnSize, or replace arguments with one wxSizeEvent\& argument.
|
||||
|
||||
\section{wxApp definition}
|
||||
\wxheading{See also}
|
||||
|
||||
The definition of OnInit has changed. Return a bool value, not a wxFrame.
|
||||
|
||||
Also, do {\it not} declare a global application object. Instead, use the macros
|
||||
DECLARE\_APP and IMPLEMENT\_APP as per the samples. Remove any occurrences of IMPLEMENT\_WXWIN\_MAIN:
|
||||
this is subsumed in IMPLEMENT\_APP.
|
||||
|
||||
\section{wxButton}
|
||||
|
||||
For bitmap buttons, use wxBitmapButton.
|
||||
|
||||
\section{wxCanvas}
|
||||
|
||||
Change the name to wxScrolledWindow.
|
||||
|
||||
\section{wxDialogBox}
|
||||
|
||||
Change the name to wxDialog, and for modal dialogs, use ShowModal instead of Show.
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{wxDialog::Show}
|
||||
|
||||
If you used {\bf Show} to show a modal dialog or to override the standard
|
||||
If you used {\bf Show} to show a modal dialog, or to override the standard
|
||||
modal dialog {\bf Show}, use {\bf ShowModal} instead.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Dialogs and controls}{dialogscontrols}
|
||||
|
||||
\section{wxForm}
|
||||
|
||||
Sorry, this class is no longer available. Try using the wxPropertyListView or wxPropertyFormView class
|
||||
instead, or use .wxr files and validators.
|
||||
|
||||
\section{wxPoint}
|
||||
|
||||
The old wxPoint is called wxRealPoint, and wxPoint now uses integers.
|
||||
|
||||
\section{wxRectangle}
|
||||
|
||||
This is now called wxRect.
|
||||
|
||||
\section{wxScrollBar}
|
||||
|
||||
The function names have changed for this class: please refer to the documentation for wxScrollBar. Instead
|
||||
of setting properties individually, you will call SetScrollbar with several parameters.
|
||||
|
||||
\section{wxText, wxMultiText, wxTextWindow}
|
||||
|
||||
Change all these to wxTextCtrl. Add the window style wxTE\_MULTILINE if you
|
||||
wish to have a multi-line text control.
|
||||
|
||||
\section{wxToolBar}
|
||||
|
||||
This name is an alias for the most popular form of toolbar for your platform. There is now a family
|
||||
of toolbar classes, with for example wxToolBar95, wxToolBarMSW and wxToolBarSimple classes existing
|
||||
under Windows 95.
|
||||
|
||||
Toolbar management is supported by frames, so calling wxFrame::CreateToolBar and adding tools is usually
|
||||
enough, and the SDI or MDI frame will manage the positioning for you. The client area of the frame is the space
|
||||
left over when the menu bar, toolbar and status bar have been taken into account.
|
||||
|
||||
\end{document}
|
||||
|
@@ -11,7 +11,7 @@ headerRule = yes
|
||||
footerRule = yes
|
||||
useHeadingStyles = yes
|
||||
listItemIndent=40
|
||||
generateHPJ = no
|
||||
generateHPJ = yes
|
||||
htmlBrowseButtons = bitmap
|
||||
winHelpContents = yes
|
||||
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 226 B |
Binary file not shown.
Before Width: | Height: | Size: 164 B |
Binary file not shown.
Before Width: | Height: | Size: 3.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 137 B |
@@ -1,13 +0,0 @@
|
||||
WX.GID
|
||||
WX.HLP
|
||||
wx.ref
|
||||
wx.cnt
|
||||
Wx.rtf
|
||||
Wx.con
|
||||
minimald.hpj
|
||||
minimald.ref
|
||||
minimald.con
|
||||
MINIMALD.HLP
|
||||
minimald.GID
|
||||
minimald.cnt
|
||||
minimald.rtf
|
@@ -1,198 +0,0 @@
|
||||
\section{\class{wxAcceleratorEntry}}\label{wxacceleratorentry}
|
||||
|
||||
An object used by an application wishing to create an \helpref{accelerator table}{wxacceleratortable}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/accel.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorTable}{wxacceleratortable}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorEntry::wxAcceleratorEntry}\label{wxacceleratorentryconstr}
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetCommand}\label{wxacceleratorentrygetcommand}
|
||||
|
||||
\constfunc{int}{GetCommand}{\void}
|
||||
|
||||
Returns the command identifier for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetFlags}\label{wxacceleratorentrygetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetKeyCode}\label{wxacceleratorentrygetkeycode}
|
||||
|
||||
\constfunc{int}{GetKeyCode}{\void}
|
||||
|
||||
Returns the keycode for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::Set}\label{wxacceleratorentryset}
|
||||
|
||||
\func{void}{Set}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Sets the accelerator entry parameters.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\section{\class{wxAcceleratorTable}}\label{wxacceleratortable}
|
||||
|
||||
An accelerator table allows the application to specify a table of keyboard shortcuts for
|
||||
menus or other commands. On Windows, menu or button commands are supported; on GTK,
|
||||
only menu commands are supported.
|
||||
|
||||
The object {\bf wxNullAcceleratorTable} is defined to be a table with no data, and is the
|
||||
initial accelerator table for a window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/accel.h>
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
{\small%
|
||||
\begin{verbatim}
|
||||
wxAcceleratorEntry entries[4];
|
||||
entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
|
||||
entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
|
||||
entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
|
||||
entries[3].Set(wxACCEL_NONE, WXK_DELETE, wxID_CUT);
|
||||
wxAcceleratorTable accel(4, entries);
|
||||
frame->SetAcceleratorTable(accel);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
An accelerator takes precedence over normal processing and can be a convenient way to program some event handling.
|
||||
For example, you can use an accelerator table to enable a dialog with a multi-line text control to
|
||||
accept CTRL-Enter as meaning 'OK' (but not in GTK at present).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorEntry}{wxacceleratorentry}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorTable::wxAcceleratorTable}\label{wxacceleratortableconstr}
|
||||
|
||||
\func{}{wxAcceleratorTable}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{int}{ n}, \param{wxAcceleratorEntry}{ entries[]}}
|
||||
|
||||
Creates from an array of \helpref{wxAcceleratorEntry}{wxacceleratorentry} objects.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxString\&}{ resource}}
|
||||
|
||||
Loads the accelerator table from a Windows resource (Windows only).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{Number of accelerator entries.}
|
||||
|
||||
\docparam{entries}{The array of entries.}
|
||||
|
||||
\docparam{resource}{Name of a Windows accelerator.}
|
||||
|
||||
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
|
||||
|
||||
\func{}{\destruct{wxAcceleratorTable}}{\void}
|
||||
|
||||
Destroys the wxAcceleratorTable object.
|
||||
|
||||
\membersection{wxAcceleratorTable::Ok}\label{wxacceleratortableok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the accelerator table is valid.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $=$}
|
||||
|
||||
\func{wxAcceleratorTable\& }{operator $=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Assignment operator. This operator does not copy any data, but instead
|
||||
passes a pointer to the data in {\it accel} and increments a reference
|
||||
counter. It is a fast operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to assign.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 'this' object.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $==$}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Equality operator. This operator tests whether the internal data pointers are
|
||||
equal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were effectively equal, FALSE otherwise.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $!=$}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Inequality operator. This operator tests whether the internal data pointers are
|
||||
unequal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were unequal, FALSE otherwise.
|
||||
|
||||
|
@@ -8,10 +8,6 @@ or deactivated.
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/event.h>
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process an activate event, use these event handler macros to direct input to a member
|
||||
@@ -42,7 +38,7 @@ or a frame becomes inactivate resulting in all application frames being inactive
|
||||
|
||||
\membersection{wxActivateEvent::wxActivateEvent}
|
||||
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{bool}{ active = TRUE}, \param{int }{id = 0}}
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{int }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
|
@@ -22,10 +22,6 @@ a reference to your application object) to be visible to other files.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/app.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp overview}{wxappoverview}
|
||||
@@ -34,13 +30,15 @@ a reference to your application object) to be visible to other files.
|
||||
|
||||
\membersection{wxApp::wxApp}
|
||||
|
||||
\func{void}{wxApp}{\void}
|
||||
\func{void}{wxApp}{\param{int}{ language = wxLANGUAGE\_ENGLISH}}
|
||||
|
||||
Constructor. Called implicitly with a definition of a wxApp object.
|
||||
|
||||
The argument is a language identifier; this is an experimental
|
||||
feature and will be expanded and documented in future versions.
|
||||
|
||||
TODO: completely rewrite the language stuff.
|
||||
|
||||
\membersection{wxApp::\destruct{wxApp}}
|
||||
|
||||
\func{void}{\destruct{wxApp}}{\void}
|
||||
@@ -131,17 +129,18 @@ otherwise.
|
||||
|
||||
\helpref{wxApp::SetExitOnDelete}{wxappsetexitondelete}
|
||||
|
||||
\membersection{wxApp::GetPrintMode}\label{wxappgetprintmode}
|
||||
|
||||
\constfunc{bool}{GetPrintMode}{\void}
|
||||
|
||||
Returns the print mode: see \helpref{wxApp::SetPrintMode}{wxappsetprintmode}.
|
||||
|
||||
\membersection{wxApp::GetTopWindow}\label{wxappgettopwindow}
|
||||
|
||||
\constfunc{wxWindow *}{GetTopWindow}{\void}
|
||||
|
||||
Returns a pointer to the top window.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
If the top window hasn't been set using \helpref{wxApp::SetTopWindow}{wxappsettopwindow}, this
|
||||
function will find the first top-level window (frame or dialog) and return that.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::SetTopWindow}{wxappsettopwindow}
|
||||
@@ -230,7 +229,7 @@ application have all been processed, wxWindows sends an OnIdle event to the appl
|
||||
sends an OnIdle event to each application window, allowing windows to do idle processing such as updating
|
||||
their appearance. If either wxApp::OnIdle or a window OnIdle function requested more time, by
|
||||
caling \helpref{wxIdleEvent::ReqestMore}{wxidleeventrequestmore}, wxWindows will send another OnIdle
|
||||
event to the application object. This will occur in a loop until either a user event is found to be
|
||||
event to the application event. This will occur in a loop until either a user event is found to be
|
||||
pending, or OnIdle requests no more time. Then all pending user events are processed until the system
|
||||
goes idle again, when OnIdle is called, and so on.
|
||||
|
||||
@@ -239,76 +238,25 @@ goes idle again, when OnIdle is called, and so on.
|
||||
\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
|
||||
\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
|
||||
|
||||
\membersection{wxApp::OnEndSession}\label{wxapponendsession}
|
||||
|
||||
\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. The application has a chance to silently save information,
|
||||
and can optionally close itself.
|
||||
|
||||
Use the EVT\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
|
||||
(forcing the application to close itself silently).
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnEndSession is called in response to the 'die' event.
|
||||
|
||||
Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
|
||||
|
||||
\membersection{wxApp::OnInit}\label{wxapponinit}
|
||||
|
||||
\func{bool}{OnInit}{\void}
|
||||
|
||||
This must be provided by the application, and will usually create the
|
||||
application's main window, optionally calling \helpref{wxApp::SetTopWindow}{wxappsettopwindow}.
|
||||
application's main window, calling \helpref{wxApp::SetTopWindow}{wxappsettopwindow}.
|
||||
|
||||
Return TRUE to continue processing, FALSE to exit the application.
|
||||
|
||||
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
|
||||
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
\func{bool}{Pending}{\void}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. Typically, an application will try to save unsaved documents
|
||||
at this point.
|
||||
|
||||
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
|
||||
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
|
||||
The application might veto the shutdown after prompting for documents to be saved, and the
|
||||
user has cancelled the save.
|
||||
|
||||
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
You should check whether the application is forcing the deletion of the window
|
||||
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
|
||||
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
|
||||
If not, it is up to you whether you respond by destroying the window.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
|
||||
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnQueryEndSession is called in response to the 'save session' event.
|
||||
|
||||
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession}
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
|
||||
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
|
||||
|
||||
@@ -334,17 +282,6 @@ BOOL CTheApp::PreTranslateMessage(MSG *msg)
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
|
||||
\func{bool}{Pending}{\void}
|
||||
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
|
||||
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
|
||||
|
||||
\func{bool}{SendIdleEvents}{\void}
|
||||
@@ -422,16 +359,31 @@ deleted. If FALSE, the application will continue to run.}
|
||||
|
||||
Currently, setting this to FALSE only has an effect under Windows.
|
||||
|
||||
\membersection{wxApp::SetPrintMode}\label{wxappsetprintmode}
|
||||
|
||||
\func{void}{SetPrintMode}{\param{int}{ mode}}
|
||||
|
||||
Sets the print mode determining what printing facilities will be
|
||||
used by the printing framework.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{mode}{This can be one of:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf wxPRINT\_WINDOWS}}{Under Windows, use Windows printing (wxPrinterDC). This is the
|
||||
default under Windows.}
|
||||
\twocolitem{{\bf wxPRINT\_POSTSCRIPT}}{Use PostScript printing (wxPostScriptDC). This is the
|
||||
default for non-Windows platforms.}
|
||||
\end{twocollist}
|
||||
}%
|
||||
|
||||
\membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
|
||||
|
||||
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
|
||||
|
||||
Sets the `top' window. You can call this from within \helpref{wxApp::OnInit}{wxapponinit} to
|
||||
let wxWindows know which is the main window. You don't have to set the top window;
|
||||
it's only a convenience so that (for example) certain dialogs without parents can use a
|
||||
specific window as the top window. If no top window is specified by the application,
|
||||
wxWindows just uses the first frame or dialog in its top-level window list, when it
|
||||
needs to use the top window.
|
||||
Sets the `top' window. You should normally call this from within \helpref{wxApp::OnInit}{wxapponinit} to
|
||||
let wxWindows know which is the main window.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
|
@@ -1,540 +0,0 @@
|
||||
\section{\class{wxArray}}\label{wxarray}
|
||||
|
||||
This section describes the so called {\it dynamic arrays}. This is a C
|
||||
array-like data structure i.e. the member access time is constant (and not
|
||||
linear according to the number of container elements as for linked lists). However, these
|
||||
arrays are dynamic in the sense that they will automatically allocate more
|
||||
memory if there is not enough of it for adding a new element. They also perform
|
||||
range checking on the index values but in debug mode only, so please be sure to
|
||||
compile your application in debug mode to use it (see \helpref{debugging overview}{debuggingoverview} for
|
||||
details). So, unlike the arrays in some other
|
||||
languages, attempt to access an element beyond the arrays bound doesn't
|
||||
automatically expand the array but provokes an assertion failure instead in
|
||||
debug build and does nothing (except possibly crashing your program) in the
|
||||
release build.
|
||||
|
||||
The array classes were designed to be reasonably efficient, both in terms of
|
||||
run-time speed and memory consumption and the executable size. The speed of
|
||||
array item access is, of course, constant (independent of the number of elements)
|
||||
making them much more efficient than linked lists (\helpref{wxList}{wxlist}).
|
||||
Adding items to the arrays is also implemented in more or less constant time -
|
||||
but the price is preallocating the memory in advance. In the \helpref{memory management}{wxarraymemorymanagement} section
|
||||
you may find some useful hints about optimizing wxArray memory usage. As for executable size, all
|
||||
wxArray functions are inline, so they do not take {\it any space at all}.
|
||||
|
||||
wxWindows has three different kinds of array. All of them derive from
|
||||
wxBaseArray class which works with untyped data and can not be used directly.
|
||||
The standard macros WX\_DEFINE\_ARRAY(), WX\_DEFINE\_SORTED\_ARRAY() and
|
||||
WX\_DEFINE\_OBJARRAY() are used to define a new class deriving from it. The
|
||||
classes declared will be called in this documentation wxArray, wxSortedArray and
|
||||
wxObjArray but you should keep in mind that no classes with such names actually
|
||||
exist, each time you use one of WX\_DEFINE\_XXXARRAY macro you define a class
|
||||
with a new name. In fact, these names are "template" names and each usage of one
|
||||
of the macros mentioned above creates a template specialization for the given
|
||||
element type.
|
||||
|
||||
wxArray is suitable for storing integer types and pointers which it does not
|
||||
treat as objects in any way, i.e. the element pointed to by the pointer is not
|
||||
deleted when the element is removed from the array. It should be noted that
|
||||
all of wxArray's functions are inline, so it costs strictly nothing to define as
|
||||
many array types as you want (either in terms of the executable size or the
|
||||
speed) as long as at least one of them is defined and this is always the case
|
||||
because wxArrays are used by wxWindows internally. This class has one serious
|
||||
limitation: it can only be used for storing integral types (bool, char, short,
|
||||
int, long and their unsigned variants) or pointers (of any kind). An attempt
|
||||
to use with objects of sizeof() greater than sizeof(long) will provoke a
|
||||
runtime assertion failure, however declaring a wxArray of floats will not (on
|
||||
the machines where sizeof(float) <= sizeof(long)), yet it will {\bf not} work,
|
||||
please use wxObjArray for storing floats and doubles (NB: a more efficient
|
||||
wxArrayDouble class is scheduled for the next release of wxWindows).
|
||||
|
||||
wxSortedArray is a wxArray variant which should be used when searching in the
|
||||
array is a frequently used operation. It requires you to define an additional
|
||||
function for comparing two elements of the array element type and always stores
|
||||
its items in the sorted order (according to this function). Thus, it's
|
||||
\helpref{Index()}{wxarrayindex} function execution time is $O(log(N))$ instead of
|
||||
$O(N)$ for the usual arrays but the \helpref{Add()}{wxarrayadd} method is
|
||||
slower: it is $O(log(N))$ instead of constant time (neglecting time spent in
|
||||
memory allocation routine). However, in a usual situation elements are added to
|
||||
an array much less often than searched inside it, so wxSortedArray may lead to
|
||||
huge performance improvements compared to wxArray. Finally, it should be
|
||||
noticed that, as wxArray, wxSortedArray can be only used for storing integral
|
||||
types or pointers.
|
||||
|
||||
wxObjArray class treats its elements like "objects". It may delete them when
|
||||
they are removed from the array (invoking the correct destructor) and copies
|
||||
them using the objects copy constructor. In order to implement this behaviour
|
||||
the definition of the wxObjArray arrays is split in two parts: first, you should
|
||||
declare the new wxObjArray class using WX\_DECLARE\_OBJARRAY() macro and then
|
||||
you must include the file defining the implementation of template type:
|
||||
<wx/arrimpl.cpp> and define the array class with WX\_DEFINE\_OBJARRAY() macro
|
||||
from a point where the full (as opposed to `forward') declaration of the array
|
||||
elements class is in scope. As it probably sounds very complicated here is an
|
||||
example:
|
||||
|
||||
\begin{verbatim}
|
||||
#include <wx/dynarray.h>
|
||||
|
||||
// we must forward declare the array because it's used inside the class
|
||||
// declaration
|
||||
class MyDirectory;
|
||||
class MyFile;
|
||||
|
||||
// this defines two new types: ArrayOfDirectories and ArrayOfFiles which can be
|
||||
// now used as shown below
|
||||
WX_DECLARE_OBJARRAY(MyDirectory, ArrayOfDirectories);
|
||||
WX_DECLARE_OBJARRAY(MyFile, ArrayOfFiles);
|
||||
|
||||
class MyDirectory
|
||||
{
|
||||
...
|
||||
ArrayOfDirectories m_subdirectories; // all subdirectories
|
||||
ArrayOfFiles m_files; // all files in this directory
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
// now that we have MyDirectory declaration in scope we may finish the
|
||||
// definition of ArrayOfDirectories
|
||||
#include <wx/arrimpl.cpp> // this is a magic incantation which must be done!
|
||||
WX_DEFINE_OBJARRAY(ArrayOfDirectories);
|
||||
|
||||
// that's all!
|
||||
\end{verbatim}
|
||||
|
||||
It is not as elegant as writing
|
||||
|
||||
\begin{verbatim}
|
||||
typedef std::vector<MyDirectory> ArrayOfDirectories;
|
||||
\end{verbatim}
|
||||
|
||||
but is not that complicated and allows the code to be compiled with any, however
|
||||
dumb, C++ compiler in the world.
|
||||
|
||||
Things are much simpler for wxArray and wxSortedArray however: it is enough
|
||||
just to write
|
||||
|
||||
\begin{verbatim}
|
||||
WX_DEFINE_ARRAY(MyDirectory *, ArrayOfDirectories);
|
||||
WX_DEFINE_SORTED_ARRAY(MyFile *, ArrayOfFiles);
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{See also:}
|
||||
|
||||
\helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist}
|
||||
|
||||
\wxheading{Required headers:}
|
||||
|
||||
<wx/dynarray.h> for wxArray and wxSortedArray and additionally <wx/arrimpl.cpp>
|
||||
for wxObjArray.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Macros for template array definition}
|
||||
|
||||
To use an array you must first define the array class. This is done with the
|
||||
help of the macros in this section. The class of array elements must be (at
|
||||
least) forward declared for WX\_DEFINE\_ARRAY, WX\_DEFINE\_SORTED\_ARRAY and
|
||||
WX\_DECLARE\_OBJARRAY macros and must be fully declared before you use
|
||||
WX\_DEFINE\_OBJARRAY macro.
|
||||
|
||||
\helpref{WX\_DEFINE\_ARRAY}{wxdefinearray}\\
|
||||
\helpref{WX\_DEFINE\_SORTED\_ARRAY}{wxdefinesortedarray}\\
|
||||
\helpref{WX\_DECLARE\_OBJARRAY}{wxdeclareobjarray}\\
|
||||
\helpref{WX\_DEFINE\_OBJARRAY}{wxdefineobjarray}
|
||||
|
||||
\membersection{Constructors and destructors}
|
||||
|
||||
Array classes are 100\% C++ objects and as such they have the appropriate copy
|
||||
constructors and assignment operators. Copying wxArray just copies the elements
|
||||
but copying wxObjArray copies the arrays items. However, for memory-efficiency
|
||||
sake, neither of these classes has virtual destructor. It is not very important
|
||||
for wxArray which has trivial destructor anyhow, but it does mean that you
|
||||
should avoid deleting wxObjArray through a wxBaseArray pointer (as you would
|
||||
never use wxBaseArray anyhow it shouldn't be a problem) and that you should not
|
||||
derive your own classes from the array classes.
|
||||
|
||||
\helpref{wxArray default constructor}{wxarrayctordef}\\
|
||||
\helpref{wxArray copy constructors and assignment operators}{wxarrayctorcopy}\\
|
||||
\helpref{\destruct{wxArray}}{wxarraydtor}
|
||||
|
||||
\membersection{Memory management}\label{wxarraymemorymanagement}
|
||||
|
||||
Automatic array memory management is quite trivial: the array starts by
|
||||
preallocating some minimal amount of memory (defined by
|
||||
WX\_ARRAY\_DEFAULT\_INITIAL\_SIZE) and when further new items exhaust already
|
||||
allocated memory it reallocates it adding 50\% of the currently allocated
|
||||
amount, but no more than some maximal number which is defined by
|
||||
ARRAY\_MAXSIZE\_INCREMENT constant. Of course, this may lead to some memory
|
||||
being wasted (ARRAY\_MAXSIZE\_INCREMENT in the worst case, i.e. 4Kb in the
|
||||
current implementation), so the \helpref{Shrink()}{wxarrayshrink} function is
|
||||
provided to unallocate the extra memory. The \helpref{Alloc()}{wxarrayalloc}
|
||||
function can also be quite useful if you know in advance how many items you are
|
||||
going to put in the array and will prevent the array code from reallocating the
|
||||
memory more times than needed.
|
||||
|
||||
\helpref{Alloc}{wxarrayalloc}\\
|
||||
\helpref{Shrink}{wxarrayshrink}
|
||||
|
||||
\membersection{Number of elements and simple item access}
|
||||
|
||||
Functions in this section return the total number of array elements and allow to
|
||||
retrieve them - possibly using just the C array indexing $[]$ operator which
|
||||
does exactly the same as \helpref{Item()}{wxarrayitem} method.
|
||||
|
||||
\helpref{Count}{wxarraycount}\\
|
||||
\helpref{GetCount}{wxarraygetcount}\\
|
||||
\helpref{IsEmpty}{wxarrayisempty}\\
|
||||
\helpref{Item}{wxarrayitem}\\
|
||||
\helpref{Last}{wxarraylast}
|
||||
|
||||
\membersection{Adding items}
|
||||
|
||||
\helpref{Add}{wxarrayadd}\\
|
||||
\helpref{Insert}{wxarrayinsert}
|
||||
|
||||
\membersection{Removing items}
|
||||
|
||||
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray}\\
|
||||
\helpref{Empty}{wxarrayempty}\\
|
||||
\helpref{Clear}{wxarrayclear}\\
|
||||
\helpref{Remove}{wxarrayremove}
|
||||
|
||||
\membersection{Searching and sorting}
|
||||
|
||||
\helpref{Index}{wxarrayindex}\\
|
||||
\helpref{Sort}{wxarraysort}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{WX\_DEFINE\_ARRAY}\label{wxdefinearray}
|
||||
|
||||
\func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{}{name}}
|
||||
|
||||
This macro defines a new array class named {\it name} and containing the
|
||||
elements of type {\it T}. Example:
|
||||
|
||||
\begin{verbatim}
|
||||
WX_DEFINE_ARRAY(int, wxArrayInt);
|
||||
|
||||
class MyClass;
|
||||
WX_DEFINE_ARRAY(MyClass *, wxArrayOfMyClass);
|
||||
\end{verbatim}
|
||||
|
||||
Note that wxWindows predefines the following standard array classes: wxArrayInt,
|
||||
wxArrayLong and wxArrayPtrVoid.
|
||||
|
||||
\membersection{WX\_DEFINE\_SORTED\_ARRAY}\label{wxdefinesortedarray}
|
||||
|
||||
\func{}{WX\_DEFINE\_SORTED\_ARRAY}{\param{}{T}, \param{}{name}}
|
||||
|
||||
This macro defines a new sorted array class named {\it name} and containing
|
||||
the elements of type {\it T}. Example:
|
||||
|
||||
\begin{verbatim}
|
||||
WX_DEFINE_SORTED_ARRAY(int, wxArrayInt);
|
||||
|
||||
class MyClass;
|
||||
WX_DEFINE_SORTED_ARRAY(MyClass *, wxArrayOfMyClass);
|
||||
\end{verbatim}
|
||||
|
||||
You will have to initialize the objects of this class by passing a comparaison
|
||||
function to the array object constructor like this:
|
||||
\begin{verbatim}
|
||||
int CompareInts(int n1, int n2)
|
||||
{
|
||||
return n1 - n2;
|
||||
}
|
||||
|
||||
wxArrayInt sorted(CompareInts);
|
||||
|
||||
int CompareMyClassObjects(MyClass *item1, MyClass *item2)
|
||||
{
|
||||
// sort the items by their address...
|
||||
return Stricmp(item1->GetAddress(), item2->GetAddress());
|
||||
}
|
||||
|
||||
wxArrayOfMyClass another(CompareMyClassObjects);
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{WX\_DECLARE\_OBJARRAY}\label{wxdeclareobjarray}
|
||||
|
||||
\func{}{WX\_DECLARE\_OBJARRAY}{\param{}{T}, \param{}{name}}
|
||||
|
||||
This macro declares a new object array class named {\it name} and containing
|
||||
the elements of type {\it T}. Example:
|
||||
|
||||
\begin{verbatim}
|
||||
class MyClass;
|
||||
WX_DEFINE_OBJARRAY(MyClass, wxArrayOfMyClass); // note: not "MyClass *"!
|
||||
\end{verbatim}
|
||||
|
||||
You must use \helpref{WX\_DEFINE\_OBJARRAY()}{wxdefineobjarray} macro to define
|
||||
the array class - otherwise you would get link errors.
|
||||
|
||||
\membersection{WX\_DEFINE\_OBJARRAY}\label{wxdefineobjarray}
|
||||
|
||||
\func{}{WX\_DEFINE\_OBJARRAY}{\param{}{name}}
|
||||
|
||||
This macro defines the methods of the array class {\it name} not defined by the
|
||||
\helpref{WX\_DECLARE\_OBJARRAY()}{wxdeclareobjarray} macro. You must include the
|
||||
file <wx/arrimpl.cpp> before using this macro and you must have the full
|
||||
declaration of the class of array elements in scope! If you forget to do the
|
||||
first, the error will be caught by the compiler, but, unfortunately, many
|
||||
compilers will not give any warnings if you forget to do the second - but the
|
||||
objects of the class will not be copied correctly and their real destructor will
|
||||
not be called.
|
||||
|
||||
Example of usage:
|
||||
|
||||
\begin{verbatim}
|
||||
// first declare the class!
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass(const MyClass&);
|
||||
|
||||
...
|
||||
|
||||
virtual ~MyClass();
|
||||
};
|
||||
|
||||
#include <wx/arrimpl.cpp>
|
||||
WX_DEFINE_OBJARRAY(wxArrayOfMyClass);
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{WX\_CLEAR\_ARRAY}\label{wxcleararray}
|
||||
|
||||
\func{void}{WX\_CLEAR\_ARRAY}{\param{wxArray\& }{array}}
|
||||
|
||||
This macro may be used to delete all elements of the array before emptying it.
|
||||
It can not be used with wxObjArrays - but they will delete their elements anyhow
|
||||
when you call Empty().
|
||||
|
||||
\membersection{Default constructors}\label{wxarrayctordef}
|
||||
|
||||
\func{}{wxArray}{\void}
|
||||
|
||||
\func{}{wxObjArray}{\void}
|
||||
|
||||
Default constructor initializes an empty array object.
|
||||
|
||||
\func{}{wxSortedArray}{\param{int (*)(T first, T second)}{compareFunction}}
|
||||
|
||||
There is no default constructor for wxSortedArray classes - you must initialize it
|
||||
with a function to use for item comparaison. It is a function which is passed
|
||||
two arguments of type {\it T} where {\it T} is the array element type and which
|
||||
should return a negative, zero or positive value according to whether the first
|
||||
element passed to it is less than, equal to or greater than the second one.
|
||||
|
||||
\membersection{wxArray copy constructor and assignment operator}\label{wxarrayctorcopy}
|
||||
|
||||
\func{}{wxArray}{\param{const wxArray\& }{array}}
|
||||
|
||||
\func{}{wxSortedArray}{\param{const wxSortedArray\& }{array}}
|
||||
|
||||
\func{}{wxObjArray}{\param{const wxObjArray\& }{array}}
|
||||
|
||||
\func{wxArray\&}{operator$=$}{\param{const wxArray\& }{array}}
|
||||
|
||||
\func{wxSortedArray\&}{operator$=$}{\param{const wxSortedArray\& }{array}}
|
||||
|
||||
\func{wxObjArray\&}{operator$=$}{\param{const wxObjArray\& }{array}}
|
||||
|
||||
The copy constructors and assignment operators perform a shallow array copy
|
||||
(i.e. they don't copy the objects pointed to even if the source array contains
|
||||
the items of pointer type) for wxArray and wxSortedArray and a deep copy (i.e.
|
||||
the array element are copied too) for wxObjArray.
|
||||
|
||||
\membersection{wxArray::\destruct{wxArray}}\label{wxarraydtor}
|
||||
|
||||
\func{}{\destruct{wxArray}}{\void}
|
||||
|
||||
\func{}{\destruct{wxSortedArray}}{\void}
|
||||
|
||||
\func{}{\destruct{wxObjArray}}{\void}
|
||||
|
||||
The wxObjArray destructor deletes all the items owned by the array. This is not
|
||||
done by wxArray and wxSortedArray versions - you may use
|
||||
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro for this.
|
||||
|
||||
\membersection{wxArray::Add}\label{wxarrayadd}
|
||||
|
||||
\func{void}{Add}{\param{T }{item}}
|
||||
|
||||
\func{void}{Add}{\param{T *}{item}}
|
||||
|
||||
\func{void}{Add}{\param{T \&}{item}}
|
||||
|
||||
Appends a new element to the array (where {\it T} is the type of the array
|
||||
elements.)
|
||||
|
||||
The first version is used with wxArray and wxSortedArray. The second and the
|
||||
third are used with wxObjArray. There is an important difference between
|
||||
them: if you give a pointer to the array, it will take ownership of it, i.e.
|
||||
will delete it when the item is deleted from the array. If you give a reference
|
||||
to the array, however, the array will make a copy of the item and will not take
|
||||
ownership of the original item. Once again, it only makes sense for wxObjArrays
|
||||
because the other array types never take ownership of their elements.
|
||||
|
||||
\membersection{wxArray::Alloc}\label{wxarrayalloc}
|
||||
|
||||
\func{void}{Alloc}{\param{size\_t }{count}}
|
||||
|
||||
Preallocates memory for a given number of array elements. It is worth calling
|
||||
when the number of items which are going to be added to the array is known in
|
||||
advance because it will save unneeded memory reallocation. If the array already
|
||||
has enough memory for the given number of items, nothing happens.
|
||||
|
||||
\membersection{wxArray::Clear}\label{wxarrayclear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
This function does the same as \helpref{Empty()}{wxarrayempty} and additionally
|
||||
frees the memory allocated to the array.
|
||||
|
||||
\membersection{wxArray::Count}\label{wxarraycount}
|
||||
|
||||
\constfunc{size\_t}{Count}{\void}
|
||||
|
||||
Same as \helpref{GetCount()}{wxarraygetcount}. This function is deprecated -
|
||||
it exists only for compatibility.
|
||||
|
||||
\membersection{wxObjArray::Detach}\label{wxobjarraydetach}
|
||||
|
||||
\func{T *}{Detach}{\param{size\_t }{index}}
|
||||
|
||||
Removes the element from the array, but, unlike,
|
||||
|
||||
\helpref{Remove()}{wxarrayremove} doesn't delete it. The function returns the
|
||||
pointer to the removed element.
|
||||
|
||||
\membersection{wxArray::Empty}\label{wxarrayempty}
|
||||
|
||||
\func{void}{Empty}{\void}
|
||||
|
||||
Empties the array. For wxObjArray classes, this destroys all of the array
|
||||
elements. For wxArray and wxSortedArray this does nothing except marking the
|
||||
array of being empty - this function does not free the allocated memory, use
|
||||
\helpref{Clear()}{wxarrayclear} for this.
|
||||
|
||||
\membersection{wxArray::GetCount}\label{wxarraygetcount}
|
||||
|
||||
\constfunc{size\_t}{GetCount}{\void}
|
||||
|
||||
Return the number of items in the array.
|
||||
|
||||
\membersection{wxArray::Index}\label{wxarrayindex}
|
||||
|
||||
\func{int}{Index}{\param{T\& }{item}, \param{bool }{searchFromEnd = FALSE}}
|
||||
|
||||
\func{int}{Index}{\param{T\& }{item}}
|
||||
|
||||
The first version of the function is for wxArray and wxObjArray, the second is
|
||||
for wxSortedArray only.
|
||||
|
||||
Searches the element in the array, starting from either beginning or the end
|
||||
depending on the value of {\it searchFromEnd} parameter. wxNOT\_FOUND is
|
||||
returned if the element is not found, otherwise the index of the element is
|
||||
returned.
|
||||
|
||||
Linear search is used for the wxArray and wxObjArray classes but binary search
|
||||
in the sorted array is used for wxSortedArray (this is why searchFromEnd
|
||||
parameter doesn't make sense for it).
|
||||
|
||||
\membersection{wxArray::Insert}\label{wxarrayinsert}
|
||||
|
||||
\func{void}{Insert}{\param{T }{item}, \param{size\_t }{n}}
|
||||
|
||||
\func{void}{Insert}{\param{T *}{item}, \param{size\_t }{n}}
|
||||
|
||||
\func{void}{Insert}{\param{T \&}{item}, \param{size\_t }{n}}
|
||||
|
||||
Insert a new item into the array before the item {\it n} - thus, {\it Insert(something, 0u)} will
|
||||
insert an item in such way that it will become the
|
||||
first array element.
|
||||
|
||||
Please see \helpref{Add()}{wxarrayadd} for explanation of the differences
|
||||
between the overloaded versions of this function.
|
||||
|
||||
\membersection{wxArray::IsEmpty}\label{wxarrayisempty}
|
||||
|
||||
\constfunc{bool}{IsEmpty}{\void}
|
||||
|
||||
Returns TRUE if the array is empty, FALSE otherwise.
|
||||
|
||||
\membersection{wxArray::Item}\label{wxarrayitem}
|
||||
|
||||
\constfunc{T\&}{Item}{\param{size\_t }{index}}
|
||||
|
||||
Returns the item at the given position in the array. If {\it index} is out of
|
||||
bounds, an assert failure is raised in the debug builds but nothing special is
|
||||
done in the release build.
|
||||
|
||||
The returned value is of type "reference to the array element type" for all of
|
||||
the array classes.
|
||||
|
||||
\membersection{wxArray::Last}\label{wxarraylast}
|
||||
|
||||
\constfunc{T\&}{Last}{\void}
|
||||
|
||||
Returns the last element in the array, i.e. is the same as Item(GetCount() - 1).
|
||||
An assert failure is raised in the debug mode if the array is empty.
|
||||
|
||||
The returned value is of type "reference to the array element type" for all of
|
||||
the array classes.
|
||||
|
||||
\membersection{wxArray::Remove}\label{wxarrayremove}
|
||||
|
||||
\func{\void}{Remove}{\param{size\_t }{index}}
|
||||
|
||||
\func{\void}{Remove}{\param{T }{item}}
|
||||
|
||||
Removes the element from the array either by index or by value. When an element
|
||||
is removed from wxObjArray it is deleted by the array - use
|
||||
\helpref{Detach()}{wxobjarraydetach} if you don't want this to happen. On the
|
||||
other hand, when an object is removed from a wxArray nothing happens - you
|
||||
should delete the it manually if required:
|
||||
|
||||
\begin{verbatim}
|
||||
T *item = array[n];
|
||||
delete item;
|
||||
array.Remove(n)
|
||||
\end{verbatim}
|
||||
|
||||
See also \helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro which deletes all
|
||||
elements of a wxArray (supposed to contain pointers).
|
||||
|
||||
\membersection{wxArray::Shrink}\label{wxarrayshrink}
|
||||
|
||||
\func{void}{Shrink}{\void}
|
||||
|
||||
Frees all memory unused by the array. If the program knows that no new items
|
||||
will be added to the array it may call Shrink() to reduce its memory usage.
|
||||
However, if a new item is added to the array, some extra memory will be
|
||||
allocated again.
|
||||
|
||||
\membersection{wxArray::Sort}\label{wxarraysort}
|
||||
|
||||
\func{void}{Sort}{\param{CMPFUNC<T> }{compareFunction}}
|
||||
|
||||
The notation CMPFUNC<T> should be read as if we had the following declaration:
|
||||
|
||||
\begin{verbatim}
|
||||
template int CMPFUNC(T *first, T *second);
|
||||
\end{verbatim}
|
||||
|
||||
where {\it T} is the type of the array elements. I.e. it is a function returning
|
||||
{\it int} which is passed two arguments of type {\it T *}.
|
||||
|
||||
Sorts the array using the specified compare function: this function should
|
||||
return a negative, zero or positive value according to whether the first element
|
||||
passed to it is less than, equal to or greater than the second one.
|
||||
|
||||
wxSortedArray doesn't have this function because it is always sorted.
|
||||
|
@@ -1,249 +0,0 @@
|
||||
\section{\class{wxArrayString}}\label{wxarraystring}
|
||||
|
||||
wxArrayString is an efficient container for storing
|
||||
\helpref{wxString}{wxstring} objects. It has the same features as all
|
||||
\helpref{wxArray}{wxarray} classes, i.e. it dynamically expands when new items
|
||||
are added to it (so it is as easy to use as a linked list), but the access
|
||||
time to the elements is constant, instead of being linear in number of
|
||||
elements as in the case of linked lists. It is also very size efficient and
|
||||
doesn't take more space than a C array {\it wxString[]} type. wxArrayString
|
||||
uses its knowledge of internals of wxString class to achieve this.
|
||||
|
||||
This class is used in the same way as other dynamic \helpref{arrays}{wxarray},
|
||||
except that no {\it WX\_DEFINE\_ARRAY} declaration is needed for it. When a
|
||||
string is added or inserted in the array, a copy of the string is created, so
|
||||
the original string may be safely deleted (e.g. if it was a {\it char *}
|
||||
pointer the memory it was using can be freed immediately after this). In
|
||||
general, there is no need to worry about string memory deallocation when using
|
||||
this class - it will always free the memory it uses itself.
|
||||
|
||||
The references returned by \helpref{Item}{wxarraystringitem},
|
||||
\helpref{Last}{wxarraystringlast} or
|
||||
\helpref{operator[]}{wxarraystringoperatorindex} are not constant, so the
|
||||
array elements may be modified in place like this
|
||||
|
||||
\begin{verbatim}
|
||||
array.Last().MakeUpper();
|
||||
\end{verbatim}
|
||||
|
||||
Finally, none of the methods of this class is virtual including its
|
||||
destructor, so this class should not be derived from.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
Although this is not true strictly speaking, this class may be considered as a
|
||||
specialization of \helpref{wxArray}{wxarray} class for the wxString member
|
||||
data: it is not implemented like this, but it does have all of the wxArray
|
||||
functions.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/string.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxArray}{wxarray}, \helpref{wxString}{wxstring}, \helpref{wxString overview}{wxstringoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxArrayString::wxArrayString}\label{wxarraystringctor}
|
||||
|
||||
\func{}{wxArrayString}{\void}
|
||||
|
||||
\func{}{wxArrayString}{\param{const wxArrayString\&}{ array}}
|
||||
|
||||
Default and copy constructors.
|
||||
|
||||
\membersection{wxArrayString::\destruct{wxArrayString}}\label{wxarraystringdtor}
|
||||
|
||||
\func{}{\destruct{wxArrayString}}{}
|
||||
|
||||
Destructor frees memory occupied by the array strings. For the performance
|
||||
reasons it is not virtual, so this class should not be derived from.
|
||||
|
||||
\membersection{wxArrayString::operator=}\label{wxarraystringoperatorassign}
|
||||
|
||||
\func{wxArrayString \&}{operator $=$}{\param{const wxArrayString\&}{ array}}
|
||||
|
||||
Assignment operator.
|
||||
|
||||
\membersection{wxArrayString::operator[]}\label{wxarraystringoperatorindex}
|
||||
|
||||
\func{wxString\&}{operatorp[]}{\param{size\_t }{nIndex}}
|
||||
|
||||
Return the array element at position {\it nIndex}. An assert failure will
|
||||
result from an attempt to access an element beyond the end of array in debug
|
||||
mode, but no check is done in release mode.
|
||||
|
||||
This is the operator version of \helpref{Item}{wxarraystringitem} method.
|
||||
|
||||
\membersection{wxArrayString::Add}\label{wxarraystringadd}
|
||||
|
||||
\func{void}{Add}{\param{const wxString\& }{str}}
|
||||
|
||||
Appends a new item to the array.
|
||||
|
||||
See also: \helpref{Insert}{wxarraystringinsert}
|
||||
|
||||
\membersection{wxArrayString::Alloc}\label{wxarraystringalloc}
|
||||
|
||||
\func{void}{Alloc}{\param{size\_t }{nCount}}
|
||||
|
||||
Preallocates enough memory to store {\it nCount} items. This function may be
|
||||
used to improve array class performance before adding a known number of items
|
||||
consecutively.
|
||||
|
||||
See also: \helpref{Dynamic array memory management}{wxarraymemorymanagement}
|
||||
|
||||
\membersection{wxArrayString::Clear}\label{wxarraystringclear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Clears the array contents and frees memory.
|
||||
|
||||
See also: \helpref{Empty}{wxarraystringempty}
|
||||
|
||||
\membersection{wxArrayString::Count}\label{wxarraystringcount}
|
||||
|
||||
\constfunc{size\_t}{Count}{\void}
|
||||
|
||||
Returns the number of items in the array. This function is deprecated and is
|
||||
for backwards compatibility only, please use
|
||||
\helpref{GetCount}{wxarraystringgetcount} instead.
|
||||
|
||||
\membersection{wxArrayString::Empty}\label{wxarraystringempty}
|
||||
|
||||
\func{void}{Empty}{\void}
|
||||
|
||||
Empties the array: after a call to this function
|
||||
\helpref{GetCount}{wxarraystringgetcount} will return $0$. However, this
|
||||
function does not free the memory used by the array and so should be used when
|
||||
the array is going to be reused for storing other strings. Otherwise, you
|
||||
should use \helpref{Clear}{wxarraystringclear} to empty the array and free
|
||||
memory.
|
||||
|
||||
\membersection{wxArrayString::GetCount}\label{wxarraystringgetcount}
|
||||
|
||||
\constfunc{size\_t}{GetCount}{\void}
|
||||
|
||||
Returns the number of items in the array.
|
||||
|
||||
\membersection{wxArrayString::Index}\label{wxarraystringindex}
|
||||
|
||||
\func{int}{Index}{\param{const char *}{ sz}, \param{bool}{ bCase = TRUE}, \param{bool}{ bFromEnd = FALSE}}
|
||||
|
||||
Search the element in the array, starting from the beginning if
|
||||
{\it bFromEnd} is FALSE or from end otherwise. If {\it bCase}, comparison is
|
||||
case sensitive (default), otherwise the case is ignored.
|
||||
|
||||
Returns index of the first item matched or wxNOT\_FOUND if there is no match.
|
||||
|
||||
\membersection{wxArrayString::Insert}\label{wxarraystringinsert}
|
||||
|
||||
\func{void}{Insert}{\param{const wxString\& }{str}, \param{size\_t}{ nIndex}}
|
||||
|
||||
Insert a new element in the array before the position {\it nIndex}. Thus, for
|
||||
example, to insert the string in the beginning of the array you would write
|
||||
|
||||
\begin{verbatim}
|
||||
Insert("foo", 0);
|
||||
\end{verbatim}
|
||||
|
||||
If {\it nIndex} is equal to {\it GetCount() + 1} this function behaves as
|
||||
\helpref{Add}{wxarraystringadd}.
|
||||
|
||||
\membersection{wxArrayString::IsEmpty}\label{wxarraystringisempty}
|
||||
|
||||
\func{}{IsEmpty}{}
|
||||
|
||||
Returns TRUE if the array is empty, FALSE otherwise. This function returns the
|
||||
same result as {\it GetCount() == 0} but is probably easier to read.
|
||||
|
||||
\membersection{wxArrayString::Item}\label{wxarraystringitem}
|
||||
|
||||
\constfunc{wxString\&}{Item}{\param{size\_t }{nIndex}}
|
||||
|
||||
Return the array element at position {\it nIndex}. An assert failure will
|
||||
result from an attempt to access an element beyond the end of array in debug
|
||||
mode, but no check is done in release mode.
|
||||
|
||||
See also \helpref{operator[]}{wxarraystringoperatorindex} for the operator
|
||||
version.
|
||||
|
||||
\membersection{wxArrayString::Last}\label{wxarraystringlast}
|
||||
|
||||
\func{}{Last}{}
|
||||
|
||||
Returns the last element of the array. Attempt to access the last element of
|
||||
an empty array will result in assert failure in debug build, however no checks
|
||||
are done in release mode.
|
||||
|
||||
\membersection{wxArrayString::Remove (by value)}\label{wxarraystringremoveval}
|
||||
|
||||
\func{void}{Remove}{\param{const char *}{ sz}}
|
||||
|
||||
Removes the first item matching this value. An assert failure is provoked by
|
||||
an attempt to remove an element which does not exist in debug build.
|
||||
|
||||
See also: \helpref{Index}{wxarraystringindex}, \helpref{Remove}{wxarraystringremove}
|
||||
|
||||
\membersection{wxArrayString::Remove (by index)}\label{wxarraystringremove}
|
||||
|
||||
\func{void}{Remove}{\param{size\_t }{nIndex}}
|
||||
|
||||
Removes the item at given position.
|
||||
|
||||
See also: \helpref{Remove}{wxarraystringremoveval}
|
||||
|
||||
\membersection{wxArrayString::Shrink}\label{wxarraystringshrink}
|
||||
|
||||
\func{void}{Shrink}{\void}
|
||||
|
||||
Releases the extra memory allocated by the array. This function is useful to
|
||||
minimize the array memory consumption.
|
||||
|
||||
See also: \helpref{Alloc}{wxarraystringalloc}, \helpref{Dynamic array memory management}{wxarraymemorymanagement}
|
||||
|
||||
\membersection{wxArrayString::Sort (alphabetically)}\label{wxarraystringsort}
|
||||
|
||||
\func{void}{Sort}{\param{bool}{ reverseOrder = FALSE}}
|
||||
|
||||
Sorts the array in alphabetical order or in reverse alphabetical order if
|
||||
{\it reverseOrder} is TRUE.
|
||||
|
||||
See also: \helpref{Sort}{wxarraystringsortcallback}
|
||||
|
||||
\membersection{wxArrayString::Sort (user defined)}\label{wxarraystringsortcallback}
|
||||
|
||||
\func{void}{Sort}{\param{CompareFunction }{compareFunction}}
|
||||
|
||||
Sorts the array using the specified {\it compareFunction} for item comparison.
|
||||
{\it CompareFunction} is defined as a function taking two {\it const
|
||||
wxString\&} parameters and returning {\it int} value less than, equal to or
|
||||
greater than 0 if the first string is less than, equal to or greater than the
|
||||
second one.
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
The following example sorts strings by their length.
|
||||
|
||||
\begin{verbatim}
|
||||
static int CompareStringLen(const wxString& first, const wxString& second)
|
||||
{
|
||||
return first.length() - second.length();
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
wxArrayString array;
|
||||
|
||||
array.Add("one");
|
||||
array.Add("two");
|
||||
array.Add("three");
|
||||
array.Add("four");
|
||||
|
||||
array.Sort(CompareStringLen);
|
||||
\end{verbatim}
|
||||
|
||||
See also: \helpref{Sort}{wxarraystringsort}
|
||||
|
@@ -1,201 +0,0 @@
|
||||
\section{\class{wxAutomationObject}}\label{wxautomationobject}
|
||||
|
||||
The {\bf wxAutomationObject} class represents an OLE automation object containing a single data member,
|
||||
an IDispatch pointer. It contains a number of functions that make it easy to perform
|
||||
automation operations, and set and get properties. The class makes heavy use of the \helpref{wxVariant}{wxvariant} class.
|
||||
|
||||
The usage of these classes is quite close to OLE automation usage in Visual Basic. The API is
|
||||
high-level, and the application can specify multiple properties in a single string. The following example
|
||||
gets the current Excel instance, and if it exists, makes the active cell bold.
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxAutomationObject excelObject;
|
||||
if (excelObject.GetInstance("Excel.Application"))
|
||||
excelObject.PutProperty("ActiveCell.Font.Bold", TRUE);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that this class works under Windows only, and currently only for Visual C++.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/msw/ole/automtn.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxVariant}{wxvariant}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAutomationObject::wxAutomationObject}\label{wxautomationobjectctor}
|
||||
|
||||
\func{}{wxAutomationObject}{\param{WXIDISPATCH*}{ dispatchPtr = NULL}}
|
||||
|
||||
Constructor, taking an optional IDispatch pointer which will be released when the
|
||||
object is deleted.
|
||||
|
||||
\membersection{wxAutomationObject::\destruct{wxAutomationObject}}\label{wxautomationobjectdtor}
|
||||
|
||||
\func{}{\destruct{wxAutomationObject}}{\void}
|
||||
|
||||
Destructor. If the internal IDispatch pointer is non-null, it will be released.
|
||||
|
||||
\membersection{wxAutomationObject::CallMethod}\label{wxautomationobjectcallmethod}
|
||||
|
||||
\constfunc{wxVariant}{CallMethod}{\param{const wxString\&}{ method}, \param{int}{ noArgs},
|
||||
\param{wxVariant }{args[]}}
|
||||
|
||||
\constfunc{wxVariant}{CallMethod}{\param{const wxString\&}{ method}, \param{...}{}}
|
||||
|
||||
Calls an automation method for this object. The first form takes a method name, number of
|
||||
arguments, and an array of variants. The second form takes a method name and zero to six
|
||||
constant references to variants. Since the variant class has constructors for the basic
|
||||
data types, and C++ provides temporary objects automatically, both of the following lines
|
||||
are syntactically valid:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxVariant res = obj.CallMethod("Sum", wxVariant(1.2), wxVariant(3.4));
|
||||
wxVariant res = obj.CallMethod("Sum", 1.2, 3.4);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that {\it method} can contain dot-separated property names, to save the application
|
||||
needing to call GetProperty several times using several temporary objects. For example:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
object.CallMethod("ActiveCell.Font.ShowDialog", "My caption");
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\membersection{wxAutomationObject::CreateInstance}\label{wxautomationobjectcreateinstance}
|
||||
|
||||
\constfunc{bool}{CreateInstance}{\param{const wxString\&}{ classId}}
|
||||
|
||||
Creates a new object based on the class id, returning TRUE if the object was successfully created,
|
||||
or FALSE if not.
|
||||
|
||||
\membersection{wxAutomationObject::GetDispatchPtr}\label{wxautomationobjectgetdispatchptr}
|
||||
|
||||
\constfunc{IDispatch*}{GetDispatchPtr}{\void}
|
||||
|
||||
Gets the IDispatch pointer.
|
||||
|
||||
\membersection{wxAutomationObject::GetInstance}\label{wxautomationobjectgetinstance}
|
||||
|
||||
\constfunc{bool}{GetInstance}{\param{const wxString\&}{ classId}}
|
||||
|
||||
Retrieves the current object associated with a class id, and attaches the IDispatch pointer
|
||||
to this object. Returns TRUE if a pointer was succesfully retrieved, FALSE otherwise.
|
||||
|
||||
Note that this cannot cope with two instances of a given OLE object being active simultaneously,
|
||||
such as two copies of Excel running. Which object is referenced cannot currently be specified.
|
||||
|
||||
\membersection{wxAutomationObject::GetObject}\label{wxautomationobjectgetobject}
|
||||
|
||||
\constfunc{bool}{GetObject}{\param{wxAutomationObject\&}{obj} \param{const wxString\&}{ property},
|
||||
\param{int}{ noArgs = 0}, \param{wxVariant }{args[] = NULL}}
|
||||
|
||||
Retrieves a property from this object, assumed to be a dispatch pointer, and initialises {\it obj} with it.
|
||||
To avoid having to deal with IDispatch pointers directly, use this function in preference
|
||||
to \helpref{wxAutomationObject::GetProperty}{wxautomationobjectgetproperty} when retrieving objects
|
||||
from other objects.
|
||||
|
||||
Note that an IDispatch pointer is stored as a void* pointer in wxVariant objects.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAutomationObject::GetProperty}{wxautomationobjectgetproperty}
|
||||
|
||||
\membersection{wxAutomationObject::GetProperty}\label{wxautomationobjectgetproperty}
|
||||
|
||||
\constfunc{wxVariant}{GetProperty}{\param{const wxString\&}{ property}, \param{int}{ noArgs},
|
||||
\param{wxVariant }{args[]}}
|
||||
|
||||
\constfunc{wxVariant}{GetProperty}{\param{const wxString\&}{ property}, \param{...}{}}
|
||||
|
||||
Gets a property value from this object. The first form takes a property name, number of
|
||||
arguments, and an array of variants. The second form takes a property name and zero to six
|
||||
constant references to variants. Since the variant class has constructors for the basic
|
||||
data types, and C++ provides temporary objects automatically, both of the following lines
|
||||
are syntactically valid:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxVariant res = obj.GetProperty("Range", wxVariant("A1"));
|
||||
wxVariant res = obj.GetProperty("Range", "A1");
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that {\it property} can contain dot-separated property names, to save the application
|
||||
needing to call GetProperty several times using several temporary objects.
|
||||
|
||||
\membersection{wxAutomationObject::Invoke}\label{wxautomationobjectinvoke}
|
||||
|
||||
\constfunc{bool}{Invoke}{\param{const wxString\&}{ member}, \param{int}{ action},
|
||||
\param{wxVariant\& }{retValue}, \param{int}{ noArgs}, \param{wxVariant}{ args[]},
|
||||
\param{const wxVariant*}{ ptrArgs[] = 0}}
|
||||
|
||||
This function is a low-level implementation that allows access to the IDispatch Invoke function.
|
||||
It is not meant to be called directly by the application, but is used by other convenience functions.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{member}{The member function or property name.}
|
||||
|
||||
\docparam{action}{Bitlist: may contain DISPATCH\_PROPERTYPUT, DISPATCH\_PROPERTYPUTREF,
|
||||
DISPATCH\_METHOD.}
|
||||
|
||||
\docparam{retValue}{Return value (ignored if there is no return value)}.
|
||||
|
||||
\docparam{noArgs}{Number of arguments in {\it args} or {\it ptrArgs}.}
|
||||
|
||||
\docparam{args}{If non-null, contains an array of variants.}
|
||||
|
||||
\docparam{ptrArgs}{If non-null, contains an array of constant pointers to variants.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the operation was successful, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Two types of argument array are provided, so that when possible pointers are used for efficiency.
|
||||
|
||||
\membersection{wxAutomationObject::PutProperty}\label{wxautomationobjectputproperty}
|
||||
|
||||
\constfunc{bool}{PutProperty}{\param{const wxString\&}{ property}, \param{int}{ noArgs},
|
||||
\param{wxVariant }{args[]}}
|
||||
|
||||
\func{bool}{PutProperty}{\param{const wxString\&}{ property}, \param{...}{}}
|
||||
|
||||
Puts a property value into this object. The first form takes a property name, number of
|
||||
arguments, and an array of variants. The second form takes a property name and zero to six
|
||||
constant references to variants. Since the variant class has constructors for the basic
|
||||
data types, and C++ provides temporary objects automatically, both of the following lines
|
||||
are syntactically valid:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
obj.PutProperty("Value", wxVariant(23));
|
||||
obj.PutProperty("Value", 23);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that {\it property} can contain dot-separated property names, to save the application
|
||||
needing to call GetProperty several times using several temporary objects.
|
||||
|
||||
\membersection{wxAutomationObject::SetDispatchPtr}\label{wxautomationobjectsetdispatchptr}
|
||||
|
||||
\func{void}{SetDispatchPtr}{\param{WXIDISPATCH*}{ dispatchPtr}}
|
||||
|
||||
Sets the IDispatch pointer. This function does not check if there is already an IDispatch pointer.
|
||||
|
||||
You may need to cast from IDispatch* to WXIDISPATCH* when calling this function.
|
||||
|
@@ -12,10 +12,6 @@ almost any other window.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/bmpbuttn.h>
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
A bitmap button can be supplied with a single bitmap, and wxWindows will draw
|
||||
@@ -34,14 +30,6 @@ provided bitmaps.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton}{wxbutton}
|
||||
|
@@ -10,23 +10,9 @@ either monochrome or colour.
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/bitmap.h>
|
||||
|
||||
\wxheading{Predefined objects}
|
||||
|
||||
Objects:
|
||||
|
||||
{\bf wxNullBitmap}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap overview}{wxbitmapoverview},
|
||||
\helpref{supported bitmap file formats}{supportedbitmapformats},
|
||||
\helpref{wxDC::Blit}{wxdcblit},
|
||||
\helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxBitmap}{wxbitmap},
|
||||
\helpref{wxMemoryDC}{wxmemorydc}
|
||||
\helpref{wxBitmap overview}{wxbitmapoverview}, \helpref{wxDC::Blit}{wxdcblit}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxMemoryDC}{wxmemorydc}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -38,7 +24,9 @@ Default constructor.
|
||||
|
||||
\func{}{wxBitmap}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Copy constructor.
|
||||
\func{}{wxBitmap}{\param{const wxBitmap* }{bitmap}}
|
||||
|
||||
Copy constructors.
|
||||
|
||||
\func{}{wxBitmap}{\param{void*}{ data}, \param{int}{ type}, \param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
||||
|
||||
@@ -73,7 +61,7 @@ Loads a bitmap from a file or resource.
|
||||
screen is used.}
|
||||
|
||||
\docparam{name}{This can refer to a resource name under MS Windows, or a filename under MS Windows and X.
|
||||
Its meaning is determined by the {\it type} parameter.}
|
||||
Its meaning is determined by the {\it flags} parameter.}
|
||||
|
||||
\docparam{type}{May be one of the following:
|
||||
|
||||
@@ -88,9 +76,8 @@ Its meaning is determined by the {\it type} parameter.}
|
||||
\end{twocollist}
|
||||
|
||||
The validity of these flags depends on the platform and wxWindows configuration.
|
||||
If all possible wxWindows settings are used, the Windows platform supports BMP file, BMP resource,
|
||||
XPM data, and XPM. Under wxGTK, the available formats are BMP file, XPM data, XPM file, and PNG file.
|
||||
Under wxMotif, the available formats are XBM data, XBM file, XPM data, XPM file.}
|
||||
If all possible wxWindows settings are used, the Windows platform supports BMP, BMP\_RESOURCE,
|
||||
XPM\_DATA, and XPM. Under X, the available formats are BMP, GIF, XBM, and XPM.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
@@ -128,23 +115,12 @@ The eighth form constructs a bitmap from a file or resource. {\it name} can refe
|
||||
to a resource name under MS Windows, or a filename under MS Windows and X.
|
||||
|
||||
Under Windows, {\it type} defaults to wxBITMAP\_TYPE\_BMP\_RESOURCE.
|
||||
Under X, {\it type} defaults to wxBITMAP\_TYPE\_XPM.
|
||||
Under X, {\it type} defaults to wxBITMAP\_TYPE\_XBM.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::LoadFile}{wxbitmaploadfile}
|
||||
|
||||
\pythonnote{Constructors supported by wxPython are:\par
|
||||
\indented{2cm}{\begin{twocollist}
|
||||
\twocolitem{\bf{wxBitmap(name, flag)}}{Loads a bitmap from a file}
|
||||
\twocolitem{\bf{wxNoRefBitmap(name, flag)}}{This one won't own the
|
||||
reference, so Python won't call the destructor, this is good for toolbars
|
||||
and such where the parent will manage the bitmap.}
|
||||
\twocolitem{\bf{wxEmptyBitmap(width, height, depth = -1)}}{Creates an
|
||||
empty bitmap with the given specifications}
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
\membersection{wxBitmap::\destruct{wxBitmap}}
|
||||
|
||||
\func{}{\destruct{wxBitmap}}{\void}
|
||||
@@ -283,7 +259,7 @@ or set for the bitmap.
|
||||
|
||||
\constfunc{wxMask*}{GetMask}{\void}
|
||||
|
||||
Gets the associated mask (if any) which may have been loaded from a file
|
||||
Gets the associated mask if any) which may have been loaded from a file
|
||||
or set for the bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
@@ -409,9 +385,8 @@ Saves a bitmap in the named file.
|
||||
|
||||
The validity of these flags depends on the platform and wxWindows configuration.}
|
||||
|
||||
\docparam{palette}{An optional palette used for saving the bitmap.}
|
||||
% TODO: this parameter should
|
||||
%probably be eliminated; instead the app should set the palette before saving.
|
||||
\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
|
||||
probably be eliminated; instead the app should set the palette before saving.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
@@ -560,10 +535,6 @@ application initialisation.
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/bitmap.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap}{wxbitmap}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}
|
||||
@@ -666,7 +637,8 @@ Saves a bitmap in the named file.
|
||||
|
||||
\docparam{type}{See \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for values this can take.}
|
||||
|
||||
\docparam{palette}{An optional palette used for saving the bitmap.}
|
||||
\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
|
||||
probably be eliminated; instead the app should set the palette before saving.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
|
@@ -1,116 +0,0 @@
|
||||
\section{\class{wxBitmapDataObject}}\label{wxbitmapdataobject}
|
||||
|
||||
wxBitmapDataObject is a specialization of wxDataObject for bitmap data. It can be
|
||||
used without change to paste data into the \helpref{wxClipboard}{wxclipboard}
|
||||
or a \helpref{wxDropSource}{wxdropsource}. A user may wish to derive a new class
|
||||
from this class for providing a bitmap on-demand in order to minimize memory consumption
|
||||
when offering data in several formats, such as a bitmap and GIF.
|
||||
|
||||
In order to offer bitmap data on-demand \helpref{GetSize}{wxbitmapdataobjectgetsize}
|
||||
and \helpref{WriteData}{wxbitmapdataobjectwritedata} will have to be overridden.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxDataObject}{wxdataobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dataobj.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDataObject}{wxdataobject}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBitmapDataObject::wxBitmapDataObject}\label{wxbitmapdataobjectwxbitmapdataobject}
|
||||
|
||||
\func{}{wxBitmapDataObject}{\void}
|
||||
|
||||
Default constructor. Call \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap} later
|
||||
or override \helpref{WriteData}{wxbitmapdataobjectwritedata} and
|
||||
\helpref{GetSize}{wxbitmapdataobjectgetsize} for providing data on-demand.
|
||||
|
||||
\func{}{wxBitmapDataObject}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Constructor, passing a bitmap.
|
||||
|
||||
\membersection{wxBitmapDataObject::GetSize}\label{wxbitmapdataobjectgetsize}
|
||||
|
||||
\constfunc{virtual size\_t}{GetSize}{\void}
|
||||
|
||||
Returns the data size. By default, returns the size of the bitmap data
|
||||
set in the constructor or using \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap}.
|
||||
This can be overridden to provide size data on-demand. Note that you'd
|
||||
have to call the inherited GetSize method as this is the only way
|
||||
to get to know the transfer size of the bitmap in a platform dependent
|
||||
way - a bitmap has different size under GTK and Windows. In practice,
|
||||
this would look like this:
|
||||
|
||||
\begin{verbatim}
|
||||
size_t MyBitmapDataObject::GetSize()
|
||||
{
|
||||
// Get bitmap from global container. This container
|
||||
// should be able to "produce" data in all formats
|
||||
// offered by the application but store it only in
|
||||
// one format to reduce memory consumption.
|
||||
|
||||
wxBitmap my_bitmap = my_global_container->GetBitmap();
|
||||
|
||||
// temporarily set bitmap
|
||||
|
||||
SetBitmap( my_bitmap );
|
||||
|
||||
size_t ret = wxBitmapDataObject::GetSize();
|
||||
|
||||
// unset bitmap again
|
||||
|
||||
SetBitmap( wxNullBitmap );
|
||||
|
||||
retrun ret;
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
TODO: Offer a nicer way to do this. Maybe by providing a platform
|
||||
dependent function in this class like
|
||||
|
||||
\begin{verbatim}
|
||||
size_t GetBitmapSize( const wxBitmap &bitmap )
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgettext}
|
||||
|
||||
\constfunc{virtual wxBitmap}{GetBitmap}{\void}
|
||||
|
||||
Returns the bitmap associated with the data object. You may wish to override
|
||||
this method when offering data on-demand, but this is not required by
|
||||
wxWindows' internals. Use this method to get data in bitmap form from
|
||||
the \helpref{wxClipboard}{wxclipboard}.
|
||||
|
||||
\membersection{wxBitmapDataObject::SetBitmap}\label{wxbitmapdataobjectsetbitmap}
|
||||
|
||||
\func{virtual void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Sets the bitmap associated with the data object. This method is called
|
||||
internally when retrieving data from the \helpref{wxClipboard}{wxclipboard}
|
||||
and may be used to paste data to the clipboard directly (instead of
|
||||
on-demand).
|
||||
|
||||
\membersection{wxBitmapDataObject::WriteData}\label{wxbitmapdataobjectwritedata}
|
||||
|
||||
\constfunc{virtual void}{WriteData}{\param{void}{*dest} }
|
||||
|
||||
Write the data owned by this class to {\it dest}. By default, this
|
||||
calls \helpref{WriteBitmap}{wxbitmapdataobjectwritebitmap} with the bitmap
|
||||
set in the constructor or using \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap}.
|
||||
This can be overridden to provide bitmap data on-demand; in this case
|
||||
\helpref{WriteBitmap}{wxbitmapdataobjectwritebitmap} must be called from
|
||||
within th overriding WriteData() method.
|
||||
|
||||
\membersection{wxBitmapDataObject::WriteBitmap}\label{wxbitmapdataobjectwritebitmap}
|
||||
|
||||
\constfunc{void}{WriteBitmap}{\param{const wxBitmap\& }{bitmap}\param{void}{*dest} }
|
||||
|
||||
Writes the the bitmap {\it bitmap} to {\it dest}. This method must be called
|
||||
from \helpref{WriteData}{wxbitmapdataobjectwritedata}.
|
||||
|
@@ -6,15 +6,14 @@
|
||||
\section{What is wxWindows?}
|
||||
|
||||
wxWindows is a C++ framework providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.0 currently
|
||||
supports MS Windows (16-bit, Windows 95 and Windows NT), Unix with GTK+, and Unix with Motif.
|
||||
A Mac port is in an advanced state.
|
||||
Interface) and other facilities on more than one platform. It currently
|
||||
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
|
||||
|
||||
wxWindows was originally developed at the Artificial Intelligence
|
||||
Applications Institute, University of Edinburgh, for internal use.
|
||||
wxWindows has been released into the public domain in the hope
|
||||
that others will also find it useful. Version 2.0 is written and
|
||||
maintained by Julian Smart, Robert Roebling and others.
|
||||
maintained by Julian Smart and Markus Holzem, with support from users.
|
||||
|
||||
This manual discusses wxWindows in the context of multi-platform
|
||||
development.\helpignore{For more detail on the wxWindows version 2.0 API
|
||||
@@ -29,7 +28,7 @@ variants, unless otherwise stated. All trademarks are acknowledged.
|
||||
|
||||
wxWindows was developed to provide a cheap and flexible way to maximize
|
||||
investment in GUI application development. While a number of commercial
|
||||
class libraries already existed for cross-platform development,
|
||||
class libraries already exist for cross-platform development,
|
||||
none met all of the following criteria:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
@@ -39,24 +38,25 @@ none met all of the following criteria:
|
||||
\item support for a wide range of compilers.
|
||||
\end{enumerate}
|
||||
|
||||
Since wxWindows was started, several other free or almost-free GUI frameworks have
|
||||
emerged. However, none has the range of features, flexibility, documentation and the
|
||||
well-established development team that wxWindows has.
|
||||
|
||||
As public domain software and a project open to everyone, wxWindows has
|
||||
benefited from comments, ideas, bug fixes, enhancements and the sheer
|
||||
enthusiasm of users, especially via the Internet. This gives wxWindows a
|
||||
certain advantage over its commercial competitors (and over free libraries
|
||||
without an independent development team), plus a robustness against
|
||||
certain advantage over its commercial brothers, and a robustness against
|
||||
the transience of one individual or company. This openness and
|
||||
availability of source code is especially important when the future of
|
||||
thousands of lines of application code may depend upon the longevity of
|
||||
the underlying class library.
|
||||
|
||||
Version 2.0 goes much further than previous versions in terms of generality and features,
|
||||
In writing wxWindows, completeness has sometimes been traded for
|
||||
portability and simplicity of programming. Version 2.0 goes much
|
||||
further than previous versions in terms of generality and features,
|
||||
allowing applications to be produced
|
||||
that are often indistinguishable from those produced using single-platform
|
||||
toolkits such as Motif and MFC.
|
||||
toolkits
|
||||
such as Motif and MFC.
|
||||
|
||||
wxWindows 2.0 currently maps to two native APIs: Motif and
|
||||
MS Windows. An Xt port is also in preparation.
|
||||
|
||||
The importance of using a platform-independent class library cannot be
|
||||
overstated, since GUI application development is very time-consuming,
|
||||
@@ -64,9 +64,10 @@ and sustained popularity of particular GUIs cannot be guaranteed.
|
||||
Code can very quickly become obsolete if it addresses the wrong
|
||||
platform or audience. wxWindows helps to insulate the programmer from
|
||||
these winds of change. Although wxWindows may not be suitable for
|
||||
every application (such as an OLE-intensive program), it provides access to most of the functionality a
|
||||
GUI program normally requires, plus some extras such as network programming
|
||||
and PostScript output, and can of course be extended as needs dictate. As a bonus, it provides
|
||||
every application, it provides access to most of the functionality a
|
||||
GUI program normally requires, plus some extras such as form
|
||||
construction, interprocess communication and PostScript output, and
|
||||
can of course be extended as needs dictate. As a bonus, it provides
|
||||
a cleaner programming interface than the native
|
||||
APIs. Programmers may find it worthwhile to use wxWindows even if they
|
||||
are developing on only one platform.
|
||||
@@ -77,28 +78,24 @@ here are some of the benefits:
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Low cost (free, in fact!)
|
||||
\item You get the source.
|
||||
\item Available on a variety of popular platforms.
|
||||
\item Works with almost all popular C++ compilers.
|
||||
\item Several example programs.
|
||||
\item Over 900 pages of printable and on-line documentation.
|
||||
\item Includes Tex2RTF, to allow you to produce your own documentation
|
||||
in Windows Help, HTML and Word RTF formats.
|
||||
\item Over 200 pages of printable and on-line documentation.
|
||||
\item Simple-to-use, object-oriented API.
|
||||
\item Flexible event system.
|
||||
\item Graphics calls include lines, rounded rectangles, splines, polylines, etc.
|
||||
\item Graphics calls include splines, polylines, rounded rectangles, etc.
|
||||
\item Constraint-based layout option.
|
||||
\item Print/preview and document/view architectures.
|
||||
\item Toolbar, notebook, tree control, advanced list control classes.
|
||||
\item PostScript generation under Unix, normal MS Windows printing on the
|
||||
\item Status line facility, toolbar
|
||||
\item Easy, object-oriented interprocess comms (DDE subset) under UNIX and
|
||||
MS Windows.
|
||||
\item Encapsulated PostScript generation under UNIX, normal MS Windows printing on the
|
||||
PC.
|
||||
\item MDI (Multiple Document Interface) support.
|
||||
\item Can be used to create DLLs under Windows, dynamic libraries on Unix.
|
||||
\item MDI support under Windows.
|
||||
\item Can be used to create DLLs under Windows, dynamic libraries on the Sun.
|
||||
\item Common dialogs for file browsing, printing, colour selection, etc.
|
||||
\item Under MS Windows, support for creating metafiles and copying
|
||||
them to the clipboard.
|
||||
\item An API for invoking help from applications.
|
||||
\item Hypertext help facility, with an API for invocation from applications.
|
||||
\item Dialog Editor for building dialogs.
|
||||
\item Network support via a family of socket and protocol classes.
|
||||
\end{itemize}
|
||||
|
||||
\section{Changes from version 1.xx}\label{versionchanges}
|
||||
@@ -109,8 +106,9 @@ Removals:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item XView is no longer supported;
|
||||
\item Mac is not yet supported;
|
||||
\item all controls (panel items) no longer have labels attached to them;
|
||||
\item wxForm has been removed;
|
||||
\item wxForm removed;
|
||||
\item wxCanvasDC, wxPanelDC removed (replaced by wxClientDC, wxWindowDC, wxPaintDC which
|
||||
can be used for any window);
|
||||
\item wxMultiText, wxTextWindow, wxText removed and replaced by wxTextCtrl;
|
||||
@@ -148,7 +146,7 @@ same API;
|
||||
temporarily with the window as an argument;
|
||||
\item events from sliders and scrollbars can be handled more flexibly;
|
||||
\item the handling of window close events has been changed in line with the new
|
||||
event system;
|
||||
event system, but backward {\bf OnClose} compatibility has been retained;
|
||||
\item the concept of {\it validator} has been added to allow much easier coding of
|
||||
the relationship between controls and application data;
|
||||
\item the documentation has been revised, with more cross-referencing.
|
||||
@@ -173,18 +171,18 @@ following setups.
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item A 486 or higher PC running MS Windows.
|
||||
\item A Windows compiler: most are supported, but please see {\tt install.txt} for
|
||||
details. Supported compilers include Microsoft Visual C++ 4.0 or higher, Borland C++, Cygwin,
|
||||
Metrowerks CodeWarrior.
|
||||
\item At least 60 MB of disk space.
|
||||
\item One of Microsoft Visual C++, Borland C++, Watcom C++, MetroWerks C++,
|
||||
Symantec C++, GNU-WIN32.
|
||||
\item At least 30 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
(b) Unix:
|
||||
(b) UNIX:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Almost any C++ compiler, including GNU C++.
|
||||
\item Almost any Unix workstation, and one of: GTK+ 1.0, Motif 1.2 or higher, Lesstif.
|
||||
\item At least 60 MB of disk space.
|
||||
\item Almost any UNIX workstation (VMS is supported too) and Motif 1.2 or higher (not necessary
|
||||
for the Xt version)
|
||||
\item At least 30 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
\section{Availability and location of wxWindows}
|
||||
@@ -193,32 +191,41 @@ wxWindows is currently available from the Artificial Intelligence
|
||||
Applications Institute by anonymous FTP and World Wide Web:
|
||||
|
||||
\begin{verbatim}
|
||||
ftp://www.remstar.com/pub/wxwin
|
||||
http://www.wxwindows.org
|
||||
ftp://ftp.aiai.ed.ac.uk/pub/packages/wxwin
|
||||
http://web.ukonline.co.uk/julian.smart/wxwin
|
||||
\end{verbatim}
|
||||
|
||||
\section{Acknowledgments}
|
||||
|
||||
Thanks are due to AIAI for being willing to release the original version of
|
||||
wxWindows into the public domain, and to our patient partners.
|
||||
Thanks are due to the AIAI for being willing to release wxWindows into
|
||||
the public domain, and to our patient wives Harriet and Tanja.
|
||||
|
||||
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
|
||||
the project over the years. Apologies for any unintentional omissions from this list.
|
||||
|
||||
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
|
||||
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
|
||||
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
|
||||
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
|
||||
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
|
||||
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
||||
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
|
||||
The Internet has been an essential prop when coming up against tricky
|
||||
problems. Thanks to those who answered our
|
||||
queries or submitted bug fixes and enhancements; wxWindows is very
|
||||
much a team effort.
|
||||
|
||||
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
|
||||
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
|
||||
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
|
||||
wxExtend library.
|
||||
|
||||
Markus Holzem write the Xt port. Jonathan Tonberg, Bill Hale,
|
||||
Cecil Coupe, Thomaso Paoletti, Thomas Fettig, and others slaved away
|
||||
writing the Mac port. Keith Gary Boyce ported wxWindows to the free
|
||||
GNU-WIN32 compiler, refusing to give up when shortcuts were suggested.
|
||||
|
||||
Many thanks also to: Timothy Peters, Jamshid Afshar, Patrick Albert, C. Buckley,
|
||||
Robin Corbet, Harco de Hilster, Josep Fortiana, Torsten Liermann, Tatu
|
||||
M\"{a}nnist\"{o}, Ian Perrigo, Giordano Pezzoli, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Jyrki Tuomi, Edward Zimmermann, Ian Brown, and many
|
||||
others.
|
||||
|
||||
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
||||
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
||||
been used in wxGraphLayout with his permission.
|
||||
|
||||
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
|
||||
We also acknowledge the author of XFIG, the excellent UNIX drawing tool,
|
||||
from the source of which we have borrowed some spline drawing code.
|
||||
His copyright is included below.
|
||||
|
||||
@@ -243,7 +250,7 @@ changes.txt for differences between versions.
|
||||
|
||||
\section{Include files}
|
||||
|
||||
The main include file is {\tt "wx/wx.h"}; this includes the most commonly
|
||||
The main include file is {\tt "wx.h"}; this includes the most commonly
|
||||
used modules of wxWindows.
|
||||
|
||||
To save on compilation time, include only those header files relevant to the
|
||||
@@ -252,26 +259,25 @@ the following section before any other includes:
|
||||
|
||||
\begin{verbatim}
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include <wx/wxprec.h>
|
||||
#include "wx_prec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
// Include your minimal set of headers here, or wx.h
|
||||
#include <wx/wx.h>
|
||||
... include minimum set of files necessary here ...
|
||||
#endif
|
||||
|
||||
... now your other include files ...
|
||||
\end{verbatim}
|
||||
|
||||
The file {\tt "wx/wxprec.h"} includes {\tt "wx/wx.h"}. Although this incantation
|
||||
The file {\tt "wx\_prec.h"} includes {\tt "wx.h"}. Although this incantation
|
||||
may seem quirky, it is in fact the end result of a lot of experimentation,
|
||||
and several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
|
||||
and Watcom C++).
|
||||
|
||||
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx/wxprec.h"} as
|
||||
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx\_prec.h"} as
|
||||
the file to use for precompilation. Watcom C++ is automatic apart from the specification of
|
||||
the .pch file. Watcom C++ is strange in requiring the precompiled header to be used only for
|
||||
object files compiled in the same directory as that in which the precompiled header was created.
|
||||
@@ -281,33 +287,133 @@ multi-megabyte .pch files.
|
||||
|
||||
\section{Libraries}
|
||||
|
||||
Please the wxGTK or wxMotif documentation for use of the Unix version of wxWindows.
|
||||
Under Windows, use the library wx.lib for stand-alone Windows
|
||||
Under UNIX, use the library libwx\_motif.a
|
||||
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
|
||||
applications, or wxdll.lib for creating DLLs.
|
||||
|
||||
\section{Configuration}
|
||||
|
||||
Options are configurable in the file
|
||||
\rtfsp{\tt "wx/XXX/setup.h"} where XXX is the required platform (such as msw, motif, gtk, mac). Some settings are a matter
|
||||
The following lists the options configurable in the file
|
||||
\rtfsp{\tt include/base/wx\_setup.h.} Some settings are a matter
|
||||
of taste, some help with platform-specific problems, and
|
||||
others can be set to minimize the size of the library. Please see the setup.h file
|
||||
and {\tt install.txt} files for details on configuration.
|
||||
others can be set to minimize the size of the library.
|
||||
|
||||
\subsection{General features}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{USE\_CLIPBOARD}{If 1, clipboard code is compiled (Windows only).}
|
||||
\twocolitem{USE\_CONSTRAINTS}{If 1, the constaint-based window layout system is compiled.}
|
||||
\twocolitem{USE\_DOC\_VIEW\_ARCHITECTURE}{If 1, wxDocument, wxView and related classes are compiled.}
|
||||
\twocolitem{USE\_DYNAMIC\_CLASSES}{If 1, the run-time class macros and classes are compiled. Recommended,
|
||||
and necessary for the document/view framework.}
|
||||
\twocolitem{USE\_EXTENDED\_STATICS}{If 1, wxStaticItem code is compiled for enhanced panel decorative items.
|
||||
Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_HELP}{If 1, interface to help system is compiled.}
|
||||
\twocolitem{USE\_GAUGE}{If 1, the wxGauge class compiled.}
|
||||
\twocolitem{USE\_GLOBAL\_MEMORY\_OPERATORS}{If 1, redefines global new and delete operators to be compatible
|
||||
with the extended arguments of the debugging wxObject new and delete operators. If this causes problems
|
||||
for your compiler, set to 0.}
|
||||
\twocolitem{USE\_GNU\_WXSTRING}{If 1, the enhanced GNU wxString and regular expression class are compiled
|
||||
in place of the normal wxString class. See contrib/wxstring for details.}
|
||||
\twocolitem{USE\_IMAGE\_LOADING\_IN\_MSW}{Use code to allow dynamic .BMP loading
|
||||
under MS Windows.}
|
||||
\twocolitem{USE\_IMAGE\_LOADING\_IN\_X}{Use code in utils/image to allow dynamic .BMP/.GIF loading
|
||||
under X.}
|
||||
\twocolitem{USE\_RESOURCE\_LOADING\_IN\_MSW}{Use code to allow dynamic .ICO/.CUR loading
|
||||
under MS Windows.}
|
||||
\twocolitem{USE\_IPC}{If 1, interprocess communication code is compiled.}
|
||||
\twocolitem{USE\_MEMORY\_TRACING}{If 1, enables debugging versions of wxObject::new and wxObject::delete
|
||||
if the value of DEBUG is defined to more than 0.}
|
||||
\twocolitem{USE\_METAFILE}{If 1, Windows Metafile code is compiled.}
|
||||
\twocolitem{USE\_PANEL\_IN\_PANEL}{If 1, experimental panel-in-panel code is used
|
||||
for common dialog boxes. Not recommended, since tab traversal can suffer.}
|
||||
\twocolitem{USE\_POSTSCRIPT}{If 1, PostScript code is compiled.}
|
||||
\twocolitem{USE\_POSTSCRIPT\_ARCHITECTURE\_IN\_MSW}{Set to 1 to enable the printing architecture
|
||||
to make use of either native Windows printing facilities, or the wxPostScriptDC class depending
|
||||
on the wxApp::SetPrintMode setting.}
|
||||
\twocolitem{USE\_PRINTING\_ARCHITECTURE}{If 1, wxPrinter, wxPrintout and related classes are compiled
|
||||
for the print/preview framework.}
|
||||
\twocolitem{USE\_RESOURCES}{If 1, win.ini or .Xdefaults-style resource read/write code is compiled.}
|
||||
\twocolitem{USE\_SCROLLBAR}{If 1, wxScrollBar class is compiled. Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_SPLINES}{If 1, spline code is compiled.}
|
||||
\twocolitem{USE\_TOOLBAR}{If 1, the wxToolBar class is compiled.}
|
||||
\twocolitem{USE\_TYPEDEFS}{If 1, a typedef will be used for wxPoint instead of
|
||||
a class declaration, to reduce overhead and avoid a Microsoft C++ memory bug.}
|
||||
\twocolitem{USE\_VLBOX}{If 1, wxVirtListBox code is compiled for a virtual listbox item.
|
||||
Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_WX\_RESOURCES}{If 1, wxWindows resource file (.WXR) code is compiled.}
|
||||
\twocolitem{USE\_XFIG\_SPLINE\_CODE}{If 1, XFig-derived code is used for spline
|
||||
drawing. If 0, AIAI code is used, which is slower.}
|
||||
\twocolitem{USE\_XPM\_IN\_X}{If 1, XPM (colour pixmap) facilities will be compiled and used
|
||||
in wxBitmap under X.}
|
||||
\twocolitem{USE\_XPM\_IN\_MSW}{If 1, XPM (colour pixmap) facilities will be compiled and used
|
||||
in wxBitmap under MS Windows.}
|
||||
\end{twocollist}
|
||||
|
||||
\subsection{X features}
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{DEFAULT\_FILE\_SELECTOR\_SIZE}{Let Motif choose the size of
|
||||
XmFileSelectionBox. Otherwise, size is 500x600.}
|
||||
\twocolitem{PIXEL0\_DISABLE}{Define to disallow allocation of pixel 0 (wxXOR problem).}
|
||||
\twocolitem{USE\_GADGETS}{Use gadgets where possible rather than Widgets for items.
|
||||
Default is to use Gadgets.}
|
||||
\twocolitem{USE\_BUTTON\_GADGET}{Use gadgets for buttons. This can intefere with
|
||||
default button selection, so the default is zero.}
|
||||
\end{twocollist}
|
||||
|
||||
\subsection{Windows and NT features}
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{CTL3D}{CTL3D should only be used for 16-bit Windows programs.
|
||||
On Windows 95 and NT, native 3D effects are used. If you want to
|
||||
use it and don't already have CTL3D installed, copy the files in
|
||||
contrib/ctl3d to appropriate places (ctl3dv2.lib/ctl3d32.lib into your compiler lib
|
||||
directory, ctl3d.h into an include directory, and ctl3dv2.dll into
|
||||
windows/system). You may need to find a compiler-specific version of ctl3dv2.lib
|
||||
or ctl3d32.lib. Define CTL3D to be 1 in wx\_setup.h and link your executables with ctl3dv2.lib
|
||||
or ctl3d32.lib.}
|
||||
\twocolitem{USE\_ITSY\_BITSY}{If 1, compiles in code to support tiny window titlebars.}
|
||||
\twocolitem{USE\_ODBC}{If 1, compiles wxDatabase and wxRecordSet classes for ODBC
|
||||
access. Requires sql.h, sqlext.h files if set to 1 (see topic on database support).}
|
||||
\end{twocollist}
|
||||
|
||||
\section{Makefiles}
|
||||
|
||||
At the moment there is no attempt to make Unix makefiles and
|
||||
At the moment there is no attempt to make UNIX makefiles and
|
||||
PC makefiles compatible, i.e. one makefile is required for
|
||||
each environment. wxGTK has its own configure system which can also
|
||||
be used with wxMotif, although wxMotif has a simple makefile system of its own.
|
||||
each environment.
|
||||
|
||||
Sample makefiles for Unix (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
C++ (.BCC and .B32) and Symantec C++ (.SC) are included for the library, demos
|
||||
and utilities.
|
||||
Sample makefiles for UNIX (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
C++ (.BCC) and Symantec C++ (.SC) are included for the library, demos
|
||||
and utilities. The NT, Borland and Symantec makefiles cannot be
|
||||
guaranteed to be up-to-date since the author does not have
|
||||
these compilers.
|
||||
|
||||
The controlling makefile for wxWindows is in the platform-specific
|
||||
directory, such as {\tt src/msw} or {\tt src/motif}.
|
||||
directory, such as {\tt src/msw} or {\tt src/x}. This makefile will
|
||||
recursively execute the makefile in {\tt src/base}.
|
||||
|
||||
Please see the platform-specific {\tt install.txt} file for further details.
|
||||
\subsection{Windows makefiles}
|
||||
|
||||
For Microsoft C++, normally it is only necessary to type {\tt nmake -f
|
||||
makefile.dos} (or an alias or batch file which does this). By default,
|
||||
binaries are made with debugging information, and no optimization. Use
|
||||
FINAL=1 on the command line to remove debugging information (this only
|
||||
really necessary at the link stage), and DLL=1 to make a DLL version of
|
||||
the library, if building a library.
|
||||
|
||||
\subsection{UNIX makefiles}
|
||||
|
||||
TODO.
|
||||
|
||||
Debugging information is included by default; you may add DEBUG= as an
|
||||
argument to make to compile without it, or use the UNIX {\bf strip}
|
||||
command to remove debugging information from an executable.
|
||||
|
||||
\normalbox{{\it Important note:} Most compiler flags are kept centrally in
|
||||
src/make.env, which is included by all other makefiles. This is the
|
||||
file to edit to tailor wxWindows compilation to your environment.}
|
||||
|
||||
\section{Windows-specific files}
|
||||
|
||||
@@ -320,7 +426,7 @@ The least that must be defined in the Windows resource file (extension RC)
|
||||
is the following statement:
|
||||
|
||||
\begin{verbatim}
|
||||
rcinclude "wx/msw/wx.rc"
|
||||
rcinclude wx.rc
|
||||
\end{verbatim}
|
||||
|
||||
which includes essential internal wxWindows definitions. The resource script
|
||||
@@ -339,8 +445,7 @@ as the Program Manager) find your application icon first.}
|
||||
|
||||
\subsection{Module definition file}
|
||||
|
||||
A module definition file (extension DEF) is required for 16-bit applications, and
|
||||
looks like the following:
|
||||
A module definition file (extension DEF) looks like the following:
|
||||
|
||||
\begin{verbatim}
|
||||
NAME Hello
|
||||
@@ -356,6 +461,46 @@ STACKSIZE 8192
|
||||
The only lines which will usually have to be changed per application are
|
||||
NAME and DESCRIPTION.
|
||||
|
||||
\section{Memory models and memory allocation}\label{memorymodels}
|
||||
|
||||
Under UNIX, memory allocation isn't a problem. Under Windows, the only
|
||||
really viable way to go is to use the large model, which uses the global
|
||||
heap instead of the local heap for memory allocation. Unless more than
|
||||
one read-write data segment is used,% (see \helpref{large data}{largedata}
|
||||
large model programs may still have multiple instances under MS
|
||||
C/C++ 7. Microsoft give the following guidelines for producing
|
||||
multiple-instance large model programs:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Do not use {\tt /ND} to name extra data segments unless the segment is READONLY.
|
||||
\item Use the .DEF file to mark extra data segments READONLY.
|
||||
\item Do not use \_\_far or FAR to mark data items.
|
||||
\item Use {\tt /PACKDATA} to combine data segments.
|
||||
\item Use {\tt /Gt65500 /Gx} to force all data into the default data segment.
|
||||
\end{itemize}
|
||||
|
||||
Even with the single-instance limitation, the productivity benefit is
|
||||
worth it in the majority of cases. Note that some other multi-platform
|
||||
class libraries also have this restriction. (If more than one instance
|
||||
really is required, create several copies of the program with different
|
||||
names.)
|
||||
|
||||
Having chosen the large model, just use C++ `new', `delete' (and if
|
||||
necessary `malloc' and `free') in the normal way. The only restrictions
|
||||
now encountered are a maximum of 64 KB for a single program segment and
|
||||
for a single data item, unless huge model is selected.
|
||||
|
||||
For Borland users, use the data threshold switch, and the following is
|
||||
also recommended:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Check ``Automatic Far Data Segments"
|
||||
\item Check ``Put Constant Strings into Code Segment"
|
||||
\end{itemize}
|
||||
|
||||
See also the Frequently Asked Questions document for further details
|
||||
on using Borland with wxWindows.
|
||||
|
||||
\subsection{Allocating and deleting wxWindows objects}
|
||||
|
||||
In general, classes derived from wxWindow must dynamically allocated
|
||||
@@ -363,13 +508,17 @@ with {\it new} and deleted with {\it delete}. If you delete a window,
|
||||
all of its children and descendants will be automatically deleted,
|
||||
so you don't need to delete these descendants explicitly.
|
||||
|
||||
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
|
||||
that the wxWindows delayed deletion can take effect. This waits until idle time
|
||||
(when all messages have been processed) to actually delete the window, to avoid
|
||||
problems associated with the GUI sending events to deleted windows.
|
||||
Don't statically create a window unless you know that the window
|
||||
cannot be deleted dynamically. Modal dialogs, such as those used
|
||||
in the {\tt dialogs} sample, can usually be created statically,
|
||||
if you know that the OK or Cancel button does not destroy the dialog.
|
||||
|
||||
Don't create a window on the stack, because this will interfere
|
||||
with delayed deletion.
|
||||
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
|
||||
created dynamically. They are cleaned up automatically on program exit.
|
||||
wxColourMap is an exception to this rule (currently). In particular,
|
||||
do not attempt to create these objects globally before OnInit() has a chance
|
||||
to be called, because wxWindows might not have done essential internal initialisation
|
||||
(including creation of lists containing all instances of wxPen, wxBrush etc.)
|
||||
|
||||
If you decide to allocate a C++ array of objects (such as wxBitmap) that may
|
||||
be cleaned up by wxWindows, make sure you delete the array explicitly
|
||||
@@ -382,53 +531,95 @@ enough for copies to be made.
|
||||
|
||||
Beware of deleting objects such as a wxPen or wxBitmap if they are still in use.
|
||||
Windows is particularly sensitive to this: so make sure you
|
||||
make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before deleting
|
||||
make calls like wxDC::SetPen(NULL) or wxDC::SelectObject(NULL) before deleting
|
||||
a drawing object that may be in use. Code that doesn't do this will probably work
|
||||
fine on some platforms, and then fail under Windows.
|
||||
|
||||
\section{Dynamic Link Libraries}
|
||||
|
||||
wxWindows may be used to produce DLLs which run under MS Windows. Note that
|
||||
this is not the same thing as having wxWindows as a DLL, which is not
|
||||
currently possible. For Microsoft C++, use the makefile with the argument DLL=1 to produce
|
||||
a version of the wxWindows library which may be used in a DLL application.
|
||||
There is a bug in Microsoft C++ which makes the compiler complain about returned floats,
|
||||
which goes away when the {\tt /Os} option is used, which is why that flag is
|
||||
set in the makefile.
|
||||
|
||||
For making wxWindows as a Sun dynamic library, there are comments in the
|
||||
UNIX makefile for the appropriate flags for AT\&T C++. Sorry, I haven't
|
||||
investigated the flags needed for other compilers.
|
||||
|
||||
\section{Conditional compilation}
|
||||
|
||||
One of the purposes of wxWindows is to reduce the need for conditional
|
||||
compilation in source code, which can be messy and confusing to follow.
|
||||
However, sometimes it is necessary to incorporate platform-specific
|
||||
features (such as metafile use under MS Windows). The symbols
|
||||
listed in the file {\tt symbols.txt} may be used for this purpose,
|
||||
along with any user-supplied ones.
|
||||
features (such as metafile use under MS Windows). The following identifiers
|
||||
may be used for this purpose, along with any user-supplied ones:
|
||||
|
||||
\begin{itemize}
|
||||
\item {\tt wx\_x} - for code which should work under any X toolkit
|
||||
\item {\tt wx\_motif} - for code which should work under Motif only
|
||||
\item {\tt wx\_msw} - for code which should work under Microsoft Windows only
|
||||
\item {\tt wx\_xt} - for code which should work under Xt only
|
||||
\end{itemize}
|
||||
|
||||
For example:
|
||||
|
||||
\begin{verbatim}
|
||||
...
|
||||
#ifdef wx_x
|
||||
(void)wxMessageBox("Sorry, metafiles not available under X.");
|
||||
#endif
|
||||
#ifdef wx_msw
|
||||
wxMetaFileDC dc;
|
||||
DrawIt(dc);
|
||||
wxMetaFile *mf = dc.Close();
|
||||
mf->SetClipboard();
|
||||
delete mf;
|
||||
#endif
|
||||
...
|
||||
\end{verbatim}
|
||||
|
||||
\section{Building on-line help}
|
||||
|
||||
wxWindows has its own help system from version 1.30: wxHelp. It can be
|
||||
used to view the wxWindows class library reference, and also to provide
|
||||
on-line help for your wxWindows applications. The API, made accessible
|
||||
by including {\tt wx\_help.h}, allows you to load files and display
|
||||
specific sections, using DDE to communicate between the application and
|
||||
wxHelp.
|
||||
|
||||
wxHelp files can be marked up by hand from ASCII files within wxHelp,
|
||||
or may be generated from other files, as is the case with the wxWindows
|
||||
documentation.
|
||||
|
||||
It is possible to use the platform-specific help
|
||||
system (e.g. WinHelp) instead of wxHelp.
|
||||
|
||||
See {\tt install.txt}, the wxHelp documentation (in {\tt
|
||||
utils/wxhelp/docs}) and \helpref{wxHelp}{wxhelp} for further details.
|
||||
|
||||
\section{C++ issues}
|
||||
|
||||
The following documents some miscellaneous C++ issues.
|
||||
There are cases where a C++ program will compile and run fine under one
|
||||
environment, and then fail to compile using a different compiler. Some
|
||||
caveats are given below, from experience with the GNU C++ compiler (GCC)
|
||||
and MS C/C++ compiler version 7.
|
||||
|
||||
\subsection{Templates}
|
||||
|
||||
wxWindows does not use templates since it is a notoriously unportable feature.
|
||||
|
||||
\subsection{RTTI}
|
||||
|
||||
wxWindows does not use run-time type information since wxWindows provides
|
||||
its own run-time type information system, implemented using macros.
|
||||
|
||||
\subsection{Type of NULL}
|
||||
|
||||
Some compilers (e.g. the native IRIX cc) define NULL to be 0L so that
|
||||
no conversion to pointers is allowed. Because of that, all these
|
||||
occurences of NULL in the GTK port use an explicit conversion such
|
||||
as
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxWindow *my_window = (wxWindow*) NULL;
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
It is recommended to adhere to this in all code using wxWindows as
|
||||
this make the code (a bit) more portable.
|
||||
wxWindows does not use templates for two main reasons: one, it is a
|
||||
notoriously unportable feature, and two, the author is irrationally
|
||||
suspicious of them and prefers to use casts. More compilers are
|
||||
now implementing templates, and so it will probably be safe to use
|
||||
them soon without fear of portability problems.
|
||||
|
||||
\subsection{Precompiled headers}
|
||||
|
||||
Some compilers, such as Borland C++ and Microsoft C++, support
|
||||
precompiled headers. This can save a great deal of compiling time. The
|
||||
recommended approach is to precompile {\tt "wx.h"}, using this
|
||||
recommended approach is to precompile {\tt ``wx.h''}, using this
|
||||
precompiled header for compiling both wxWindows itself and any
|
||||
wxWindows applications. For Windows compilers, two dummy source files
|
||||
are provided (one for normal applications and one for creating DLLs)
|
||||
@@ -438,13 +629,14 @@ However, there are several downsides to using precompiled headers. One
|
||||
is that to take advantage of the facility, you often need to include
|
||||
more header files than would normally be the case. This means that
|
||||
changing a header file will cause more recompilations (in the case of
|
||||
wxWindows, everything needs to be recompiled since everything includes {\tt "wx.h"}!)
|
||||
wxWindows, everything needs to be recompiled since everything includes
|
||||
{\tt ``wx.h''}!)
|
||||
|
||||
A related problem is that for compilers that don't have precompiled
|
||||
headers, including a lot of header files slows down compilation
|
||||
considerably. For this reason, you will find (in the common
|
||||
X and Windows parts of the library) conditional
|
||||
compilation that under Unix, includes a minimal set of headers;
|
||||
compilation that under UNIX, includes a minimal set of headers;
|
||||
and when using Visual C++, includes {\tt wx.h}. This should help provide
|
||||
the optimal compilation for each compiler, although it is
|
||||
biassed towards the precompiled headers facility available
|
||||
@@ -460,27 +652,26 @@ approach is to store filenames on their own, with no directory
|
||||
information. The application searches through a number of locally
|
||||
defined directories to find the file. To support this, the class {\bf
|
||||
wxPathList} makes adding directories and searching for files easy, and
|
||||
the global function {\bf wxFileNameFromPath} allows the application to
|
||||
the global function {\bf FileNameFromPath} allows the application to
|
||||
strip off the filename from the path if the filename must be stored.
|
||||
This has undesirable ramifications for people who have documents of the
|
||||
same name in different directories.
|
||||
|
||||
As regards the limitations of DOS 8+3 single-case filenames versus
|
||||
unrestricted Unix filenames, the best solution is to use DOS filenames
|
||||
unrestricted UNIX filenames, the best solution is to use DOS filenames
|
||||
for your application, and also for document filenames {\it if} the user
|
||||
is likely to be switching platforms regularly. Obviously this latter
|
||||
choice is up to the application user to decide. Some programs (such as
|
||||
YACC and LEX) generate filenames incompatible with DOS; the best
|
||||
solution here is to have your Unix makefile rename the generated files
|
||||
solution here is to have your UNIX makefile rename the generated files
|
||||
to something more compatible before transferring the source to DOS.
|
||||
Transferring DOS files to Unix is no problem, of course, apart from EOL
|
||||
Transferring DOS files to UNIX is no problem, of course, apart from EOL
|
||||
conversion for which there should be a utility available (such as
|
||||
dos2unix).
|
||||
|
||||
See also the File Functions section of the reference manual for
|
||||
descriptions of miscellaneous file handling functions.
|
||||
|
||||
\begin{comment}
|
||||
\chapter{Utilities supplied with wxWindows}\label{utilities}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
@@ -488,9 +679,8 @@ descriptions of miscellaneous file handling functions.
|
||||
A number of `extras' are supplied with wxWindows, to complement
|
||||
the GUI functionality in the main class library. These are found
|
||||
below the utils directory and usually have their own source, library
|
||||
and documentation directories. For other user-contributed packages,
|
||||
see the directory ftp://www.remstar.com/pub/wxwin/contrib, which is
|
||||
more easily accessed via the Contributions page on the Web site.
|
||||
and documentation directories. For larger user-contributed packages,
|
||||
see the directory /pub/packages/wxwin/contrib.
|
||||
|
||||
\section{wxHelp}\label{wxhelp}
|
||||
|
||||
@@ -503,8 +693,7 @@ text to suit the size of window, as WinHelp does, and its input files
|
||||
are uncompressed ASCII with some embedded font commands and an .xlp
|
||||
extension. Most wxWindows documentation (user manuals and class
|
||||
references) is supplied in wxHelp format, and also in Windows Help
|
||||
format. The wxWindows 2.0 project will presently use an HTML widget
|
||||
in a new and improved wxHelp implementation, under X.
|
||||
format.
|
||||
|
||||
Note that an application can be programmed to use Windows Help under
|
||||
MS Windows, and wxHelp under X. An alternative help viewer under X is
|
||||
@@ -575,6 +764,18 @@ first attempt.
|
||||
|
||||
See the separate manual and the directory utils/wxgraph.
|
||||
|
||||
\section{wxImage}\label{wximage}
|
||||
|
||||
This is a collection of GIF/BMP/XBM bitmap loading and displaying
|
||||
routines for X.
|
||||
|
||||
\section{MFUTILS}\label{mfutils}
|
||||
|
||||
A very modest step towards reading Windows metafiles on the
|
||||
any platform. Julian Smart's ClockWorks program demonstrates
|
||||
how extremely simple metafiles may be read and displayed (in this
|
||||
case, to be used as clock hands).
|
||||
|
||||
\section{Colours}\label{coloursampler}
|
||||
|
||||
A colour sampler for viewing colours and their names on each
|
||||
@@ -586,7 +787,6 @@ platform.
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
To be written.
|
||||
\end{comment}
|
||||
|
||||
\chapter{Programming strategies}\label{strategies}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
@@ -625,7 +825,8 @@ The same goes for other data types: use classes wherever possible.
|
||||
|
||||
Don't use absolute panel item positioning if you can avoid it. Different GUIs have
|
||||
very differently sized panel items. Consider using the constraint system, although this
|
||||
can be complex to program.
|
||||
can be complex to program. If you needs are simple, the default relative positioning
|
||||
behaviour may be adequate (using default position values and wxPanel::NewLine).
|
||||
|
||||
Alternatively, you could use alternative .wrc (wxWindows resource files) on different
|
||||
platforms, with slightly different dimensions in each. Or space your panel items out
|
||||
@@ -637,7 +838,7 @@ Use .wrc (wxWindows resource files) where possible, because they can be easily c
|
||||
independently of source code. Bitmap resources can be set up to load different
|
||||
kinds of bitmap depending on platform (see the section on resource files).
|
||||
|
||||
\section{Strategies for debugging}\label{debugstrategies}
|
||||
\section{Strategies for debugging}
|
||||
|
||||
\subsection{Positive thinking}
|
||||
|
||||
@@ -666,35 +867,49 @@ to go from functioning to non-functioning state. This should give a clue
|
||||
to the problem. In some cases though, such as memory leaks or wrong
|
||||
deallocation, this can still give totally spurious results!
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
||||
\subsection{Use a debugger}
|
||||
|
||||
This sounds like facetious advice, but it's surprising how often people
|
||||
don't use a debugger. Often it's an overhead to install or learn how to
|
||||
use a debugger, but it really is essential for anything but the most
|
||||
trivial programs.
|
||||
trivial programs. Some platforms don't allow for debugging, such
|
||||
as WIN32s under Windows 3.x. In this case, you might be advised to
|
||||
debug under 16-bit Windows and when you're confident, compile for
|
||||
WIN32s. In fact WIN32s can be very strict about bad memory handling,
|
||||
so testing out under WIN32s is a good thing to do even if you're
|
||||
not going to distribute this version. (Unless you've got a good memory checking,
|
||||
utility, of course!) Tracking bugs under WIN32s can involve a lot of debug message
|
||||
insertion and relinking, so make sure your compiler has a fast linker
|
||||
(e.g. Watcom, Symantec).
|
||||
|
||||
\subsection{Use logging functions}
|
||||
\subsection{Use tracing code}
|
||||
|
||||
There is a variety of logging functions that you can use in your program:
|
||||
see \helpref{Logging functions}{logfunctions}.
|
||||
You can use wxDebugMsg statements (or the wxDebugStreamBuf class) to
|
||||
output to a debugging window such as DBWIN under Windows, or standard
|
||||
error under X. If compiling in DEBUG mode, you can use TRACE statements
|
||||
that will be compiled out of the final build of your application.
|
||||
|
||||
Using tracing statements may be more convenient than using the debugger
|
||||
in some circumstances (such as when your debugger doesn't support a lot
|
||||
of debugging code, or you wish to print a bunch of variables).
|
||||
|
||||
\subsection{Use the wxWindows debugging facilities}
|
||||
\subsection{Use wxObject::Dump and the wxDebugContext class}
|
||||
|
||||
You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory: in fact in debugging mode, wxWindows will
|
||||
automatically check for memory leaks at the end of the program if wxWindows is suitably
|
||||
configured. Depending on the operating system and compiler, more or less
|
||||
specific information about the problem will be logged.
|
||||
|
||||
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
|
||||
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
|
||||
will save a surprising amount of time in the long run.
|
||||
|
||||
See the \helpref{debugging overview}{debuggingoverview} for further information.
|
||||
It's good practice to implement the Dump member function for all
|
||||
classes derived from wxObject. You can then make use of wxDebugContext
|
||||
to dump out information on all objects in the program, if DEBUG is
|
||||
defined to be more than zero. You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory. See the debugging topic in the
|
||||
reference manual for more information.
|
||||
|
||||
\subsection{Check Windows debug messages}
|
||||
|
||||
@@ -707,13 +922,3 @@ more problems. However, I doubt it's worth the hassle for most
|
||||
applications. wxWindows is designed to minimize the possibility of such
|
||||
errors, but they can still happen occasionally, slipping through unnoticed
|
||||
because they are not severe enough to cause a crash.
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
||||
|
@@ -9,29 +9,6 @@ style.
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/brush.h>
|
||||
|
||||
\wxheading{Predefined objects}
|
||||
|
||||
Objects:
|
||||
|
||||
{\bf wxNullBrush}
|
||||
|
||||
Pointers:
|
||||
|
||||
{\bf wxBLUE\_BRUSH\\
|
||||
wxGREEN\_BRUSH\\
|
||||
wxWHITE\_BRUSH\\
|
||||
wxBLACK\_BRUSH\\
|
||||
wxGREY\_BRUSH\\
|
||||
wxMEDIUM\_GREY\_BRUSH\\
|
||||
wxLIGHT\_GREY\_BRUSH\\
|
||||
wxTRANSPARENT\_BRUSH\\
|
||||
wxCYAN\_BRUSH\\
|
||||
wxRED\_BRUSH}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
On a monochrome display, wxWindows shows
|
||||
@@ -51,11 +28,12 @@ list of brushes {\bf wxTheBrushList}, and calling the member function
|
||||
|
||||
wxBrush uses a reference counting system, so assignments between brushes are very
|
||||
cheap. You can therefore use actual wxBrush objects instead of pointers without
|
||||
efficiency problems. Once one wxBrush object changes its data it will create its
|
||||
own brush data internally so that other brushes, which previously shared the
|
||||
data using the reference counting, are not affected.
|
||||
efficiency problems. Bear in mind, though, that changing a brush's properties may
|
||||
affect another brush which has been involved in an assignment with the first brush,
|
||||
because of the way internal brush data is shared.
|
||||
|
||||
TODO: an overview for wxBrush.
|
||||
|
||||
%TODO: an overview for wxBrush.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrushList}{wxbrushlist}, \helpref{wxDC}{wxdc}, \helpref{wxDC::SetBrush}{wxdcsetbrush}
|
||||
@@ -85,6 +63,10 @@ Constructs a stippled brush using a bitmap.
|
||||
|
||||
Copy constructor. This uses reference counting so is a cheap operation.
|
||||
|
||||
\func{}{wxBrush}{\param{const wxBrush*}{ brush}}
|
||||
|
||||
Copy constructor. This uses reference counting so is a cheap operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{colour}{Colour object.}
|
||||
@@ -282,10 +264,6 @@ A brush list is a list containing all brushes which have been created.
|
||||
\helpref{wxList}{wxlist}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/gdicmn.h>
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
There is only one instance of this class: {\bf wxTheBrushList}. Use
|
||||
|
@@ -1,44 +0,0 @@
|
||||
\section{\class{wxBusyCursor}}\label{wxbusycursor}
|
||||
|
||||
This class makes it easy to tell your user that the program is temporarily busy.
|
||||
Just create a wxBusyCursor object on the stack, and within the current scope,
|
||||
the hourglass will be shown.
|
||||
|
||||
For example:
|
||||
|
||||
\begin{verbatim}
|
||||
wxBusyCursor wait;
|
||||
|
||||
for (int i = 0; i < 100000; i++)
|
||||
DoACalculation();
|
||||
\end{verbatim}
|
||||
|
||||
It works by calling \helpref{wxBeginBusyCursor}{wxbeginbusycursor} in the constructor,
|
||||
and \helpref{wxEndBusyCursor}{wxendbusycursor} in the destructor.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/utils.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBeginBusyCursor}{wxbeginbusycursor}, \helpref{wxEndBusyCursor}{wxendbusycursor}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBusyCursor::wxBusyCursor}
|
||||
|
||||
\func{}{wxBusyCursor}{\param{wxCursor*}{ cursor = wxHOURGLASS\_CURSOR}}
|
||||
|
||||
Constructs a busy cursor object, calling \helpref{wxBeginBusyCursor}{wxbeginbusycursor}.
|
||||
|
||||
\membersection{wxBusyCursor::\destruct{wxBusyCursor}}
|
||||
|
||||
\func{}{\destruct{wxBusyCursor}}{\void}
|
||||
|
||||
Destroys the busy cursor object, calling \helpref{wxEndBusyCursor}{wxendbusycursor}.
|
||||
|
@@ -12,24 +12,12 @@ almost any other window.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/button.h>
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no special styles for wxButton.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton}{wxbitmapbutton}
|
||||
@@ -111,7 +99,7 @@ box.
|
||||
Under Windows, only dialog box buttons respond to this function. As
|
||||
normal under Windows and Motif, pressing return causes the default button to
|
||||
be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items,\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items, \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
|
||||
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
|
||||
|
||||
Note that under Motif, calling this function immediately after
|
||||
|
@@ -1,64 +0,0 @@
|
||||
\section{\class{wxCalculateLayoutEvent}}\label{wxcalculatelayoutevent}
|
||||
|
||||
This event is sent by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} to
|
||||
calculate the amount of the remaining client area that the window should
|
||||
occupy.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/laywin.h>
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
|
||||
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::wxCalculateLayoutEvent}
|
||||
|
||||
\func{}{wxCalculateLayoutEvent}{\param{wxWindowID }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetFlags}\label{wxcalculatelayouteventgetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetRect}\label{wxcalculatelayouteventgetrect}
|
||||
|
||||
\constfunc{wxRect}{GetRect}{\void}
|
||||
|
||||
Before the event handler is entered, returns the remaining parent client area that the window
|
||||
could occupy. When the event handler returns, this should contain the remaining parent client rectangle,
|
||||
after the event handler has subtracted the area that its window occupies.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetFlags}\label{wxcalculatelayouteventsetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{int }{flags}}
|
||||
|
||||
Sets the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetRect}\label{wxcalculatelayouteventsetrect}
|
||||
|
||||
\func{void}{SetRect}{\param{const wxRect\& }{rect}}
|
||||
|
||||
Call this to specify the new remaining parent client area, after the space occupied by the
|
||||
window has been subtracted.
|
||||
|
@@ -29,14 +29,24 @@ The following are a variety of windows that are derived from wxWindow.
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
|
||||
\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
|
||||
\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
|
||||
\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
|
||||
\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
|
||||
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
|
||||
\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
|
||||
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
|
||||
%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
|
||||
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
|
||||
\twocolitem{\helpref{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
|
||||
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Toolbar classes}}
|
||||
|
||||
\overview{Overview}{wxtoolbaroverview}
|
||||
|
||||
These are the toolbar classes.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxToolBarBase}{wxtoolbarbase}}{Toolbar base class}
|
||||
\twocolitem{\helpref{wxToolBarSimple}{wxtoolbarsimple}}{A simple, cross-platform toolbar class}
|
||||
\twocolitem{\helpref{wxToolBarMSW}{wxtoolbarmsw}}{A Windows-only toolbar class}
|
||||
\twocolitem{\helpref{wxToolBar95}{wxtoolbar95}}{A Windows 95-only toolbar class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Common dialogs}}
|
||||
@@ -57,7 +67,6 @@ in an application.
|
||||
\twocolitem{\helpref{wxFontDialog}{wxfontdialog}}{Font chooser dialog}
|
||||
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
|
||||
\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
|
||||
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
|
||||
\twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog}
|
||||
\end{twocollist}
|
||||
|
||||
@@ -124,7 +133,7 @@ by passing different device contexts.
|
||||
\twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen}
|
||||
\twocolitem{\helpref{wxDC}{wxdc}}{The device context base class}
|
||||
\twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps}
|
||||
\twocolitem{\helpref{wxMetafileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
|
||||
\twocolitem{\helpref{wxMetaFileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
|
||||
\twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files}
|
||||
\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers}
|
||||
\end{twocollist}
|
||||
@@ -144,7 +153,6 @@ These classes are related to drawing on device contexts and windows.
|
||||
\twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts}
|
||||
\twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts}
|
||||
\twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts}
|
||||
\twocolitem{\helpref{wxImage}{wximage}}{A platform-independent image class}
|
||||
\twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls}
|
||||
\twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing}
|
||||
\twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context}
|
||||
@@ -162,7 +170,6 @@ An event object contains information about a specific event. Event handlers
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
|
||||
\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
|
||||
\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
|
||||
\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
|
||||
\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
|
||||
@@ -177,12 +184,9 @@ An event object contains information about a specific event. Event handlers
|
||||
\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
|
||||
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
|
||||
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
|
||||
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
|
||||
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
|
||||
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
|
||||
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
|
||||
%\twocolitem{\helpref{wxSessionEvent}{wxsessionevent}}{A session ending event}
|
||||
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
|
||||
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
|
||||
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
|
||||
\twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event}
|
||||
\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
|
||||
@@ -191,15 +195,12 @@ An event object contains information about a specific event. Event handlers
|
||||
|
||||
{\large {\bf Validators}}
|
||||
|
||||
\overview{Overview}{validatoroverview}
|
||||
|
||||
These are the window validators, used for filtering and validating
|
||||
user input.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class}
|
||||
\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class}
|
||||
\twocolitem{\helpref{wxGenericValidator}{wxgenericvalidator}}{Generic control validator class}
|
||||
\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class.}
|
||||
\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class.}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Data structures}}
|
||||
@@ -223,8 +224,6 @@ These are the data structure classes supported by wxWindows.
|
||||
\twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers}
|
||||
\twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size}
|
||||
\twocolitem{\helpref{wxTime}{wxtime}}{A class for time manipulation}
|
||||
\twocolitem{\helpref{wxVariant}{wxvariant}}{A class for storing arbitrary types
|
||||
that may change at run-time}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Run-time class information system}}
|
||||
@@ -248,16 +247,14 @@ wxWindows supports some aspects of debugging an application through
|
||||
classes, functions and macros.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
|
||||
%\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxLog}{wxlog}}{Logging facility}
|
||||
\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
|
||||
\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
|
||||
%\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
%\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides various debugging facilities}
|
||||
\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxObject}{wxobject}}{Provides optional debugging versions of {\bf new} and {\bf delete}}
|
||||
\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
|
||||
%\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
%\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Interprocess communication}}
|
||||
@@ -271,12 +268,6 @@ based on DDE.
|
||||
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
|
||||
\twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxTCPClient}{wxtcpclient}}{Represents a client}
|
||||
\twocolitem{\helpref{wxTCPConnection}{wxtcpconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxTCPServer}{wxtcpserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
|
||||
\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
|
||||
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Document/view framework}}
|
||||
@@ -286,6 +277,9 @@ based on DDE.
|
||||
wxWindows supports a document/view framework which provides
|
||||
housekeeping for a document-centric application.
|
||||
|
||||
TODO: MDI frame classes for documents; make it unnecessary to convert
|
||||
between streams and files (overridable method that uses filenames instead of streams).
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
|
||||
\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
|
||||
@@ -293,8 +287,6 @@ housekeeping for a document-centric application.
|
||||
\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
|
||||
\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
|
||||
\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
|
||||
%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
|
||||
%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Printing framework}}
|
||||
@@ -309,24 +301,20 @@ facilities.
|
||||
\twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview}
|
||||
\twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview}
|
||||
\twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview}
|
||||
\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
|
||||
\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
|
||||
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
|
||||
\twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer}
|
||||
\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context}
|
||||
\twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout}
|
||||
\twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview}
|
||||
\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
|
||||
\twocolitem{\helpref{wxPrintDialogData}{wxprintdialogdata}}{Represents information about the print dialog}
|
||||
\twocolitem{\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}}{Represents information about the page setup dialog}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Database classes}}
|
||||
|
||||
\overview{Database classes overview}{odbcoverview}
|
||||
|
||||
wxWindows provides two alternative sets of classes for accessing Microsoft's ODBC (Open Database Connectivity)
|
||||
product. The new version by Remstar is documented in a separate manual.
|
||||
The older classes are as follows:
|
||||
wxWindows provides a set of classes for accessing Microsoft's ODBC (Open Database Connectivity)
|
||||
product.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class}
|
||||
@@ -335,67 +323,14 @@ The older classes are as follows:
|
||||
\twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Drag and drop and clipboard classes}}
|
||||
|
||||
\overview{Drag and drop and clipboard overview}{wxdndoverview}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class}
|
||||
\twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class}
|
||||
\twocolitem{\helpref{wxFileDataObject}{wxtextdataobject}}{File data object class}
|
||||
\twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class}
|
||||
\twocolitem{\helpref{wxPrivateDataObject}{wxprivatedataobject}}{Private data object class}
|
||||
\twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class}
|
||||
\twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class}
|
||||
\twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class}
|
||||
\twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class}
|
||||
\twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf File related classes}}
|
||||
|
||||
wxWindows has several small classes to work with disk files, see \helpref{file classes
|
||||
overview}{wxfileoverview} for more details.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output}
|
||||
\twocolitem{\helpref{wxTempFile}{wxtempfile}}{Class to safely replace an existing file}
|
||||
\twocolitem{\helpref{wxTextFile}{wxtextfile}}{Class for working with text files as with arrays of lines}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Stream classes}}
|
||||
|
||||
wxWindows has its own set of stream classes, as an alternative to often buggy standard stream
|
||||
libraries, and to provide enhanced functionality.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxStreamBase}{wxstreambase}}{Stream base class}
|
||||
\twocolitem{\helpref{wxStreamBuffer}{wxstreambuffer}}{Stream buffer class}
|
||||
\twocolitem{\helpref{wxInputStream}{wxinputstream}}{Input stream class}
|
||||
\twocolitem{\helpref{wxOutputStream}{wxoutputstream}}{Output stream class}
|
||||
\twocolitem{\helpref{wxFilterInputStream}{wxfilterinputstream}}{Filtered input stream class}
|
||||
\twocolitem{\helpref{wxFilterOutputStream}{wxfilteroutputstream}}{Filtered output stream class}
|
||||
\twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent data input stream class}
|
||||
\twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent data output stream class}
|
||||
\twocolitem{\helpref{wxFileInputStream}{wxfileinputstream}}{File input stream class}
|
||||
\twocolitem{\helpref{wxFileOutputStream}{wxfileoutputstream}}{File output stream class}
|
||||
\twocolitem{\helpref{wxZlibInputStream}{wxzlibinputstream}}{Zlib (compression) input stream class}
|
||||
\twocolitem{\helpref{wxZlibOutputStream}{wxzliboutputstream}}{Zlib (compression) output stream class}
|
||||
\twocolitem{\helpref{wxSocketInputStream}{wxsocketinputstream}}{Socket input stream class}
|
||||
\twocolitem{\helpref{wxSocketOutputStream}{wxsocketoutputstream}}{Socket output stream class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Miscellaneous}}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
|
||||
\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
|
||||
\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
|
||||
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
|
||||
\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
|
||||
\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
|
||||
\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
|
||||
\twocolitem{\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}}{Base class for help controllers}
|
||||
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
||||
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
||||
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
|
@@ -10,27 +10,15 @@ or off (no checkmark).
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/checkbox.h>
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no special styles for wxCheckBox.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHECKBOX(id, func)}}{Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED event,
|
||||
when the checkbox is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxRadioButton}{wxradiobutton}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -1,107 +0,0 @@
|
||||
\section{\class{wxCheckListBox}}\label{wxchecklistbox}
|
||||
|
||||
A checklistbox is like a listbox, but allows items to be checked or unchecked.
|
||||
|
||||
This class is currently implemented under Windows and GTK. When using this
|
||||
class under Windows wxWindows must be compiled with USE\_OWNER\_DRAWN set to 1.
|
||||
|
||||
Only the new functions for this class are documented; see also \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/checklst.h>
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHECKLISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_CHECKLISTBOX\_TOGGLE event,
|
||||
when an item in the check list box is checked or unchecked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCheckListBox::wxCheckListBox}\label{wxchecklistboxconstr}
|
||||
|
||||
\func{}{wxCheckListBox}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxCheckListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
|
||||
\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
|
||||
|
||||
Constructor, creating and showing a list box.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
|
||||
appropriately.}
|
||||
|
||||
\docparam{n}{Number of strings with which to initialise the control.}
|
||||
|
||||
\docparam{choices}{An array of strings with which to initialise the control.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxCheckListBox}{wxchecklistbox}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\pythonnote{The wxCheckListBox constructor in wxPython reduces the \tt{n}
|
||||
and \tt{choices} arguments are to a single argument, which is
|
||||
a list of strings.}
|
||||
|
||||
\membersection{wxCheckListBox::\destruct{wxCheckListBox}}
|
||||
|
||||
\func{void}{\destruct{wxCheckListBox}}{\void}
|
||||
|
||||
Destructor, destroying the list box.
|
||||
|
||||
\membersection{wxCheckListBox::Check}\label{wxchecklistboxcheck}
|
||||
|
||||
\func{void}{Check}{\param{int }{item}, \param{bool}{ check = TRUE}}
|
||||
|
||||
Checks the given item.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item to check.}
|
||||
|
||||
\docparam{check}{TRUE if the item is to be checked, FALSE otherwise.}
|
||||
|
||||
\membersection{wxCheckListBox::IsChecked}\label{wxchecklistboxischecked}
|
||||
|
||||
\constfunc{bool}{IsChecked}{\param{int}{ item}}
|
||||
|
||||
Returns TRUE if the given item is checked, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item whose check status is to be returned.}
|
||||
|
||||
|
@@ -11,28 +11,15 @@ menu of choices.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/choice.h>
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no special styles for wxChoice.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHOICE(id, func)}}{Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxListBox}{wxlistbox}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -74,10 +61,6 @@ appropriately.}
|
||||
|
||||
\helpref{wxChoice::Create}{wxchoicecreate}, \helpref{wxValidator}{wxvalidator}
|
||||
|
||||
\pythonnote{The wxChoice constructor in wxPython reduces the \tt{n}
|
||||
and \tt{choices} arguments are to a single argument, which is
|
||||
a list of strings.}
|
||||
|
||||
\membersection{wxChoice::\destruct{wxChoice}}
|
||||
|
||||
\func{}{\destruct{wxChoice}}{\void}
|
||||
|
@@ -8,13 +8,10 @@ of macros such as {\bf DECLARE\_DYNAMIC\_CLASS} and {\bf IMPLEMENT\_DYNAMIC\_CLA
|
||||
|
||||
No parent class.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/object.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
|
||||
\overview{Overview}{wxclassinfooverview}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -2,22 +2,38 @@
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
\pagenumbering{arabic}%
|
||||
%
|
||||
\begin{comment}
|
||||
\helpignore{\section{Class hierarchy}%
|
||||
|
||||
The GUI-specific wxWindows class hierarchy is shown in Figure 5.1.
|
||||
Many other, non-GUI classes have been omitted.
|
||||
|
||||
\vskip 1cm
|
||||
$$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\vskip 1cm
|
||||
\centerline{Figure 5.1: wxWindows class hierarchy}
|
||||
|
||||
\newpage}%
|
||||
|
||||
\overview{Writing a wxWindows application: a rough guide}{roughguide}
|
||||
|
||||
\helponly{
|
||||
\sethotspotcolour{off}%
|
||||
\large{
|
||||
\helpref{Notes on using the reference}{referencenotes}\\
|
||||
\helpref{Guide to functions}{functions}
|
||||
\sethotspotcolour{on}%
|
||||
}}
|
||||
\end{comment}
|
||||
|
||||
\input accel.tex
|
||||
\input activevt.tex
|
||||
\input app.tex
|
||||
\input array.tex
|
||||
\input arrstrng.tex
|
||||
\input autoobj.tex
|
||||
\input busycurs.tex
|
||||
\input button.tex
|
||||
\input bitmap.tex
|
||||
\input bbutton.tex
|
||||
\input bmpdatob.tex
|
||||
\input brush.tex
|
||||
\input calclevt.tex
|
||||
\input checkbox.tex
|
||||
\input checklst.tex
|
||||
\input choice.tex
|
||||
\input clasinfo.tex
|
||||
\input clientdc.tex
|
||||
@@ -30,15 +46,11 @@
|
||||
\input cmdevent.tex
|
||||
\input cmdproc.tex
|
||||
\input conditn.tex
|
||||
\input config.tex
|
||||
\input control.tex
|
||||
\input critsect.tex
|
||||
\input crtslock.tex
|
||||
\input cursor.tex
|
||||
\input database.tex
|
||||
\input dataobj.tex
|
||||
\input datstrm.tex
|
||||
\input date.tex
|
||||
\input datstream.tex
|
||||
\input dc.tex
|
||||
\input ddeclint.tex
|
||||
\input ddeconn.tex
|
||||
@@ -46,85 +58,58 @@
|
||||
\input debugcxt.tex
|
||||
\input dialog.tex
|
||||
\input dirdlg.tex
|
||||
\input document.tex
|
||||
\input docchfrm.tex
|
||||
\input docmanag.tex
|
||||
\input docmdich.tex
|
||||
\input docmdipr.tex
|
||||
\input docprfrm.tex
|
||||
\input doctempl.tex
|
||||
\input document.tex
|
||||
\input dropevt.tex
|
||||
\input dropsrc.tex
|
||||
\input droptrgt.tex
|
||||
\input eraseevt.tex
|
||||
\input event.tex
|
||||
\input evthand.tex
|
||||
\input expr.tex
|
||||
\input file.tex
|
||||
\input fildatob.tex
|
||||
\input filedlg.tex
|
||||
\input fildrptg.tex
|
||||
\input filehist.tex
|
||||
\input strmfile.tex
|
||||
\input filetype.tex
|
||||
\input fltinstr.tex
|
||||
\input fltoutst.tex
|
||||
\input focusevt.tex
|
||||
\input font.tex
|
||||
\input fontdlg.tex
|
||||
\input fontlist.tex
|
||||
\input frame.tex
|
||||
\input ftp.tex
|
||||
\input gauge.tex
|
||||
\input gdiobj.tex
|
||||
\input valgen.tex
|
||||
\input grid.tex
|
||||
\input hash.tex
|
||||
\input helpinst.tex
|
||||
\input http.tex
|
||||
\input idleevt.tex
|
||||
\input icon.tex
|
||||
\input image.tex
|
||||
\input imaglist.tex
|
||||
\input ilayout.tex
|
||||
\input indlgevt.tex
|
||||
\input inputstr.tex
|
||||
\input ipvaddr.tex
|
||||
\input joystick.tex
|
||||
\input joyevent.tex
|
||||
\input keyevent.tex
|
||||
\input layalgor.tex
|
||||
\input layout.tex
|
||||
\input list.tex
|
||||
\input listbox.tex
|
||||
\input listctrl.tex
|
||||
\input listevt.tex
|
||||
\input locale.tex
|
||||
\input log.tex
|
||||
\input longlong.tex
|
||||
\input mask.tex
|
||||
\input mdi.tex
|
||||
\input memorydc.tex
|
||||
\input strmmem.tex
|
||||
\input menu.tex
|
||||
\input menuitem.tex
|
||||
\input menuevt.tex
|
||||
\input memorydc.tex
|
||||
\input msgdlg.tex
|
||||
\input metafile.tex
|
||||
\input mimetype.tex
|
||||
\input minifram.tex
|
||||
\input module.tex
|
||||
\input mouseevt.tex
|
||||
\input moveevt.tex
|
||||
\input mltchdlg.tex
|
||||
\input mutex.tex
|
||||
\input mutexlck.tex
|
||||
\input node.tex
|
||||
\input notebook.tex
|
||||
\input noteevt.tex
|
||||
\input notifevt.tex
|
||||
\input object.tex
|
||||
\input outptstr.tex
|
||||
\input pagedlg.tex
|
||||
\input paintdc.tex
|
||||
\input paintevt.tex
|
||||
@@ -134,26 +119,17 @@
|
||||
\input pathlist.tex
|
||||
\input pen.tex
|
||||
\input point.tex
|
||||
\input postscpt.tex
|
||||
\input prevwin.tex
|
||||
\input print.tex
|
||||
\input prvdatob.tex
|
||||
\input prvtdrpt.tex
|
||||
\input process.tex
|
||||
\input progdlg.tex
|
||||
\input procevt.tex
|
||||
\input protocol.tex
|
||||
\input postscpt.tex
|
||||
\input query.tex
|
||||
\input qylayevt.tex
|
||||
\input radiobox.tex
|
||||
\input radiobut.tex
|
||||
\input realpoin.tex
|
||||
\input rect.tex
|
||||
\input recrdset.tex
|
||||
\input region.tex
|
||||
\input sashevt.tex
|
||||
\input sashlayw.tex
|
||||
\input sashwin.tex
|
||||
\input screendc.tex
|
||||
\input scrolbar.tex
|
||||
\input scrolevt.tex
|
||||
@@ -162,52 +138,37 @@
|
||||
\input size.tex
|
||||
\input sizeevt.tex
|
||||
\input slider.tex
|
||||
\input sckaddr.tex
|
||||
\input socket.tex
|
||||
\input splitevt.tex
|
||||
\input strmsock.tex
|
||||
\input spinbutt.tex
|
||||
\input splitter.tex
|
||||
\input statbmp.tex
|
||||
\input statbox.tex
|
||||
\input stattext.tex
|
||||
\input statusbr.tex
|
||||
\input strmbase.tex
|
||||
\input stream.tex
|
||||
\input wxstring.tex
|
||||
%\input wxstring.tex
|
||||
\input strlist.tex
|
||||
\input tokenizr.tex
|
||||
\input sysclevt.tex
|
||||
\input settings.tex
|
||||
\input tab.tex
|
||||
\input tabctrl.tex
|
||||
\input tabevent.tex
|
||||
\input taskbar.tex
|
||||
\input tcpclint.tex
|
||||
\input tcpconn.tex
|
||||
\input tcpservr.tex
|
||||
\input tempfile.tex
|
||||
\input text.tex
|
||||
\input txtdatob.tex
|
||||
\input textdlg.tex
|
||||
\input txtdrptg.tex
|
||||
\input valtext.tex
|
||||
\input textfile.tex
|
||||
\input thread.tex
|
||||
\input time.tex
|
||||
\input timer.tex
|
||||
\input toolbar.tex
|
||||
\input treectrl.tex
|
||||
\input treeevt.tex
|
||||
\input upditer.tex
|
||||
\input upduievt.tex
|
||||
\input url.tex
|
||||
\input validatr.tex
|
||||
\input variant.tex
|
||||
\input view.tex
|
||||
\input wave.tex
|
||||
\input window.tex
|
||||
\input windowdc.tex
|
||||
\input strmzlib.tex
|
||||
\input function.tex
|
||||
\input keycode.tex
|
||||
\input winhelp.tex
|
||||
|
||||
\input function.tex
|
||||
|
||||
|
@@ -14,10 +14,6 @@ To draw on the whole window including decorations, construct a \helpref{wxWindow
|
||||
|
||||
\helpref{wxDC}{wxdc}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dcclient.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDC}{wxdc}, \helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxPaintDC}{wxpaintdc},\rtfsp
|
||||
|
@@ -1,116 +1,103 @@
|
||||
\section{\class{wxClipboard}}\label{wxclipboard}
|
||||
|
||||
A class for manipulating the clipboard. Note that this is not compatible with the
|
||||
clipboard class from wxWindows 1.xx, which has the same name but a different implementation.
|
||||
There is one wxClipboard object referenced by the pointer
|
||||
wxTheClipboard, initialized by calling \helpref{wxInitClipboard}{wxinitclipboard}.
|
||||
Under X, clipboard manipulation must be done by using this class, and
|
||||
such code will work under MS Windows also. Under MS Windows, you have the
|
||||
alternative of using the normal clipboard functions.
|
||||
|
||||
To use the clipboard, you call member functions of the global {\bf wxTheClipboard} object.
|
||||
|
||||
Call \helpref{wxClipboard::Open}{wxclipboardopen} to get ownership of the clipboard. If this operation returns TRUE, you
|
||||
now own the clipboard. Call \helpref{wxClipboard::AddData}{wxclipboardadddata} to put data
|
||||
on the clipboard (one or more times), or \helpref{wxClipboard::GetData}{wxclipboardgetdata} to
|
||||
retrieve data from the clipboard. Call \helpref{wxClipboard::Close}{wxclipboardclose} to close
|
||||
the clipboard and relinquish ownership. You should keep the clipboard open only momentarily.
|
||||
|
||||
For example:
|
||||
|
||||
\begin{verbatim}
|
||||
// Write some text to the clipboard
|
||||
if (wxTheClipboard->Open())
|
||||
{
|
||||
// This data objects are held by the clipboard,
|
||||
// so do not delete them in the app.
|
||||
wxTheClipboard->AddData( new wxTextDataObject("Some text") );
|
||||
wxTheClipboard->Close();
|
||||
}
|
||||
|
||||
// Read some text
|
||||
if (wxTheClipboard->Open())
|
||||
{
|
||||
wxTextDataObject data;
|
||||
if (wxTheClipboard->IsSupported(data))
|
||||
{
|
||||
wxTheClipboard->GetData(data);
|
||||
wxMessageBox(data.GetText());
|
||||
}
|
||||
wxTheClipboard->Close();
|
||||
}
|
||||
\end{verbatim}
|
||||
The documentation for this class will be expanded in due course. At present,
|
||||
wxClipboard is only used in the wxMediaWindow add-on library.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/clipbrd.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDataObject}{wxdataobject}
|
||||
\helpref{wxClipboardClient}{wxclipboardclient}, \helpref{wxInitClipboard}{wxinitclipboard}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxClipboard::wxClipboard}
|
||||
\membersection{wxClipboard::GetClipboardClient}
|
||||
|
||||
\func{}{wxClipboard}{\void}
|
||||
\func{wxClipboardClient *}{GetClipboardClient}{\void}
|
||||
|
||||
Constructor.
|
||||
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.
|
||||
|
||||
\membersection{wxClipboard::\destruct{wxClipboard}}
|
||||
\membersection{wxClipboard::GetClipboardData}
|
||||
|
||||
\func{}{\destruct{wxClipboard}}{\void}
|
||||
\func{char*}{GetClipboardData}{\param{const wxString\& }{format}, \param{long *}{length}, \param{long}{ time}}
|
||||
|
||||
Destructor.
|
||||
Get data from the clipboard.
|
||||
|
||||
\membersection{wxClipboard::AddData}\label{wxclipboardadddata}
|
||||
\membersection{wxClipboard::GetClipboardString}
|
||||
|
||||
\func{bool}{AddData}{\param{wxDataObject*}{ data}}
|
||||
\func{wxString}{GetClipboardString}{\param{long}{ time}}
|
||||
|
||||
Call this function to add a data object to the clipboard. This function can be called several times
|
||||
to put different formats on the clipboard.
|
||||
Get the data from the clipboard in the format ``TEXT".
|
||||
|
||||
\membersection{wxClipboard::Clear}\label{wxclipboardclear}
|
||||
\membersection{wxClipboard::SetClipboardClient}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
\func{void}{SetClipboardClient}{\param{wxClipboardClient *}{client}, \param{long}{ time}}
|
||||
|
||||
Clears the global clipboard object and the system's clipboard if possible.
|
||||
Set the clipboard data owner.
|
||||
|
||||
\membersection{wxClipboard::Close}\label{wxclipboardclose}
|
||||
\membersection{wxClipboard::SetClipboardString}
|
||||
|
||||
\func{bool}{Close}{\void}
|
||||
\func{void}{SetClipboardString}{\param{const wxString\& }{data}, \param{long}{ time}}
|
||||
|
||||
Call this function to close the clipboard, having opened it with \helpref{wxClipboard::Open}{wxclipboardopen}.
|
||||
Set the clipboard string; does not require a client.
|
||||
|
||||
\membersection{wxClipboard::GetData}\label{wxclipboardgetdata}
|
||||
\section{\class{wxClipboardClient}}\label{wxclipboardclient}
|
||||
|
||||
\func{bool}{GetData}{\param{wxDataObject\&}{ data}}
|
||||
Implemented under X and MS Windows, a clipboard client holds data
|
||||
belonging to the clipboard. For plain text, a client is not necessary.
|
||||
|
||||
Call this function to fill {\it data} with data on the clipboard, if available in the required
|
||||
format. Returns TRUE on success.
|
||||
wxClipboardClient is an abstract class for which the virtual functions
|
||||
BeingReplaced and GetData must be overridden.
|
||||
|
||||
\membersection{wxClipboard::IsSupported}\label{wxclipboardissupported}
|
||||
\wxheading{Derived from}
|
||||
|
||||
\func{bool}{IsSupported}{\param{wxDataObject\&}{ data}}
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
Returns TRUE if the format of the given data object is available on the clipboard.
|
||||
\wxheading{See also}
|
||||
|
||||
\membersection{wxClipboard::Open}\label{wxclipboardopen}
|
||||
\helpref{wxClipboard}{wxclipboard}, \helpref{wxInitClipboard}{wxinitclipboard}.
|
||||
|
||||
\func{bool}{Open}{\void}
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
Call this function to open the clipboard before calling \helpref{wxClipboard::SetData}{wxclipboardsetdata}
|
||||
and \helpref{wxClipboard::GetData}{wxclipboardgetdata}.
|
||||
\membersection{wxClipboardClient::formats}
|
||||
|
||||
Call \helpref{wxClipboard::Close}{wxclipboardclose} when you have finished with the clipboard. You
|
||||
should keep the clipboard open for only a very short time.
|
||||
\member{wxStringList}{formats}
|
||||
|
||||
Returns TRUE on success. This should be tested (as in the sample shown above).
|
||||
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.
|
||||
|
||||
\membersection{wxClipboard::SetData}\label{wxclipboardsetdata}
|
||||
\membersection{wxClipboardClient::BeingReplaced}
|
||||
|
||||
\func{bool}{SetData}{\param{wxDataObject*}{ data}}
|
||||
\func{void}{BeingReplaced}{\void}
|
||||
|
||||
This method is called when the client is losing the selection.
|
||||
|
||||
\membersection{wxClipboardClient::GetData}
|
||||
|
||||
\func{char*}{GetData}{\param{const wxString\& }{format}, \param{long *}{size}}
|
||||
|
||||
This method is called when someone wants the data this client is
|
||||
supplying to the clipboard.
|
||||
|
||||
{\it format} is a string indicating the
|
||||
format of the data - one of the strings from the ``formats"
|
||||
list.
|
||||
|
||||
{\it size} should be filled with the size of the resulting
|
||||
data. In the case of text, {\it size} does not count the
|
||||
NULL terminator.
|
||||
|
||||
Call this function to set the data object to the clipboard. This function will
|
||||
clear all previous contents in the clipboard, so calling it several times
|
||||
does not make any sense.
|
||||
|
||||
|
@@ -6,10 +6,6 @@ This event class contains information about window and session close events.
|
||||
|
||||
\helpref{wxEvent}{wxevent}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/event.h>
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a close event, use these event handler macros to direct input to member
|
||||
@@ -17,20 +13,13 @@ functions that take a wxCloseEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function. This
|
||||
event applies to wxFrame and wxDialog classes.}
|
||||
\twocolitem{{\bf EVT\_QUERY\_END\_SESSION(func)}}{Process a query end session event, supplying the member function.
|
||||
This event applies to wxApp only.}
|
||||
\twocolitem{{\bf EVT\_END\_SESSION(func)}}{Process an end session event, supplying the member function.
|
||||
This event applies to wxApp only.}
|
||||
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession},\rtfsp
|
||||
\helpref{Window deletion overview}{windowdeletionoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
@@ -41,14 +30,6 @@ This event applies to wxApp only.}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCloseEvent::CanVeto}\label{wxcloseeventcanveto}
|
||||
|
||||
\func{bool}{CanVeto}{\void}
|
||||
|
||||
Returns TRUE if you can veto a system shutdown or a window close event.
|
||||
Vetoing a window close event is not possible if the calling code wishes to
|
||||
force the application to exit, and so this function must be called to check this.
|
||||
|
||||
\membersection{wxCloseEvent::GetLoggingOff}\label{wxcloseeventgetloggingoff}
|
||||
|
||||
\constfunc{bool}{GetLoggingOff}{\void}
|
||||
@@ -63,37 +44,14 @@ Returns TRUE if the session is ending.
|
||||
|
||||
\membersection{wxCloseEvent::GetForce}\label{wxcloseeventgetforce}
|
||||
|
||||
\constfunc{bool}{GetForce}{\void}
|
||||
\constfunc{void}{GetForce}{\void}
|
||||
|
||||
Returns TRUE if the application wishes to force the window to close.
|
||||
This will shortly be obsolete, replaced by CanVeto.
|
||||
|
||||
\membersection{wxCloseEvent::SetCanVeto}\label{wxcloseeventsetcanveto}
|
||||
|
||||
\func{void}{SetCanVeto}{\param{bool}{ canVeto}}
|
||||
|
||||
Sets the 'can veto' flag.
|
||||
|
||||
\membersection{wxCloseEvent::SetForce}\label{wxcloseeventsetforce}
|
||||
|
||||
\constfunc{void}{SetForce}{\param{bool}{ force}}
|
||||
|
||||
Sets the 'force' flag.
|
||||
|
||||
\membersection{wxCloseEvent::SetLoggingOff}\label{wxcloseeventsetloggingoff}
|
||||
|
||||
\constfunc{void}{SetLoggingOff}{\param{bool}{ loggingOff}}
|
||||
|
||||
Sets the 'logging off' flag.
|
||||
|
||||
\membersection{wxCloseEvent::Veto}\label{wxcloseeventveto}
|
||||
|
||||
\func{void}{Veto}{\param{bool}{ veto = TRUE}}
|
||||
\func{void}{Veto}{\void}
|
||||
|
||||
Call this from your event handler to veto a system shutdown or to signal
|
||||
to the calling application that a window close did not happen.
|
||||
|
||||
You can only veto a shutdown if \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns
|
||||
TRUE.
|
||||
Call this from your event handler to veto a system shutdown.
|
||||
|
||||
|
||||
|
@@ -7,10 +7,6 @@ simple controls. More complex controls, such as \helpref{wxTreeCtrl}{wxtreectrl}
|
||||
|
||||
\helpref{wxEvent}{wxevent}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/event.h>
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a menu command event, use these event handler macros to direct input to member
|
||||
@@ -18,9 +14,9 @@ functions that take a wxCommandEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_COMMAND(id, event, func)}}{Process a command, supplying the window identifier,
|
||||
\twocolitem{{\bf EVT\_COMMAND(id, cmd, func)}}{Process a command, supplying the window identifier,
|
||||
command event identifier, and member function.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_RANGE(id1, id2, event, func)}}{Process a command for a range
|
||||
\twocolitem{{\bf EVT\_COMMAND\_RANGE(id1, id2, cmd, func)}}{Process a command for a range
|
||||
of window identifiers, supplying the minimum and maximum window identifiers,
|
||||
command event identifier, and member function.}
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED command,
|
||||
@@ -31,7 +27,7 @@ which is generated by a wxCheckBox control.}
|
||||
which is generated by a wxChoice control.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
|
||||
which is generated by a wxListBox control.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
|
||||
\twocolitem{{\bf EVT\_LISTBOX_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
|
||||
which is generated by a wxListBox control.}
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
|
||||
which is generated by a wxTextCtrl control.}
|
||||
@@ -52,16 +48,12 @@ which is generated by a wxScrollBar control. This is provided for compatibility
|
||||
more specific scrollbar event macros should be used instead (see \helpref{wxScrollEvent}{wxscrollevent}).}
|
||||
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED command,
|
||||
which is generated by a wxComboBox control.}
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
for a range id identifiers. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
||||
Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
|
||||
for a range of ids. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
|
||||
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_CLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_CLICK command,
|
||||
which is generated by a control (Windows 95 and NT only).}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_DCLICK command,
|
||||
|
@@ -8,10 +8,6 @@ if you want different behaviour.
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/docview.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxCommandProcessor overview}{wxcommandprocessoroverview}, \helpref{wxCommand}{wxcommand}
|
||||
|
@@ -9,10 +9,6 @@ This class represents the colour chooser dialog.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/colordlg.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxColourDialog Overview}{wxcolourdialogoverview}, \helpref{wxColour}{wxcolour}, \helpref{wxColourData}{wxcolourdata}
|
||||
|
@@ -11,26 +11,6 @@ Valid RGB values are in the range 0 to 255.
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/colour.h>
|
||||
|
||||
\wxheading{Predefined objects}
|
||||
|
||||
Objects:
|
||||
|
||||
{\bf wxNullColour}
|
||||
|
||||
Pointers:
|
||||
|
||||
{\bf wxBLACK\\
|
||||
wxWHITE\\
|
||||
wxRED\\
|
||||
wxBLUE\\
|
||||
wxGREEN\\
|
||||
wxCYAN\\
|
||||
wxLIGHT\_GREY}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxColourDatabase}{wxcolourdatabase}, \helpref{wxPen}{wxpen}, \helpref{wxBrush}{wxbrush},\rtfsp
|
||||
@@ -53,10 +33,6 @@ Constructs a colour from red, green and blue values.
|
||||
Constructs a colour object using a colour name
|
||||
listed in {\bf wxTheColourDatabase}.
|
||||
|
||||
\func{}{wxColour}{\param{const wxColour\&}{ colour}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{red}{The red value.}
|
||||
@@ -67,20 +43,10 @@ Copy constructor.
|
||||
|
||||
\docparam{colourName}{The colour name.}
|
||||
|
||||
\docparam{colour}{The colour to copy.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxColourDatabase}{wxcolourdatabase}
|
||||
|
||||
\pythonnote{Constructors supported by wxPython are:\par
|
||||
\indented{2cm}{\begin{twocollist}
|
||||
\twocolitem{\bf{wxColour(red=0, green=0, blue=0)}}{}
|
||||
\twocolitem{\bf{wxNamedColour(name)}}{}
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
|
||||
\membersection{wxColour::Blue}\label{wxcolourblue}
|
||||
|
||||
\constfunc{unsigned char}{Blue}{\void}
|
||||
@@ -140,12 +106,18 @@ Assignment operator, using a colour name to be found in the colour database.
|
||||
|
||||
Tests the equality of two colours by comparing individual red, green blue colours.
|
||||
|
||||
TODO: this may be different on platforms other than Windows - no reference counting
|
||||
is done on Windows.
|
||||
|
||||
\membersection{wxColour::operator $!=$}\label{wxcolourinequality}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxColour\&}{ colour}}
|
||||
|
||||
Tests the inequality of two colours by comparing individual red, green blue colours.
|
||||
|
||||
TODO: this may be different on platforms other than Windows - no reference counting
|
||||
is done on Windows.
|
||||
|
||||
\section{\class{wxColourData}}\label{wxcolourdata}
|
||||
|
||||
This class holds a variety of information related to colour dialogs.
|
||||
@@ -154,10 +126,6 @@ This class holds a variety of information related to colour dialogs.
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/cmndata.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxColour}{wxcolour}, \helpref{wxColourDialog}{wxcolourdialog}, \helpref{wxColourDialog overview}{wxcolourdialogoverview}
|
||||
@@ -247,10 +215,6 @@ is only one instance of this class: {\bf wxTheColourDatabase}.
|
||||
\helpref{wxList}{wxlist}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/gdicmn.h>
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The colours in the standard database are as follows:
|
||||
|
@@ -14,10 +14,6 @@ A combobox permits a single selection only. Combobox items are numbered from zer
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/combo.h>
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
@@ -30,20 +26,9 @@ displaying the current selection.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
|
||||
when the combobox text changes.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -85,11 +70,6 @@ appropriately.}
|
||||
|
||||
\helpref{wxComboBox::Create}{wxcomboboxcreate}, \helpref{wxValidator}{wxvalidator}
|
||||
|
||||
\pythonnote{The wxComboBox constructor in wxPython reduces the \tt{n}
|
||||
and \tt{choices} arguments are to a single argument, which is
|
||||
a list of strings.}
|
||||
|
||||
|
||||
\membersection{wxComboBox::\destruct{wxComboBox}}
|
||||
|
||||
\func{}{\destruct{wxComboBox}}{\void}
|
||||
@@ -229,7 +209,8 @@ Returns the current value in the combobox text field.
|
||||
\constfunc{int}{Number}{\void}
|
||||
|
||||
Returns the number of items in the combobox list.
|
||||
%TODO: make this GetNumber or GetCount?
|
||||
|
||||
TODO: make this GetNumber or GetCount?
|
||||
|
||||
\membersection{wxComboBox::Paste}\label{wxcomboboxpaste}
|
||||
|
||||
|
@@ -9,10 +9,6 @@ change the data or view.
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/docview.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Overview}{wxcommandoverview}
|
||||
|
@@ -6,10 +6,6 @@ TODO
|
||||
|
||||
None.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/thread.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxThread}{wxthread}, \helpref{wxMutex}{wxmutex}
|
||||
|
@@ -1,711 +0,0 @@
|
||||
\section{\class{wxConfigBase}}\label{wxconfigbase}
|
||||
|
||||
wxConfigBase class defines the basic interface of all config classes. It can
|
||||
not be used by itself (it's an abstract base class) and you'll always use one
|
||||
of its derivations: wxIniConfig, wxFileConfig, wxRegConfig or any other.
|
||||
|
||||
However, usually you don't even need to know the precise nature of the class
|
||||
you're working with but you would just use the wxConfigBase methods. This
|
||||
allows you to write the same code regardless of whether you're working with
|
||||
the registry under Win32 or text-based config files under Unix (or even
|
||||
Windows 3.1 .INI files if you're really unlucky). To make writing the portable
|
||||
code even easier, wxWindows provides a typedef wxConfig
|
||||
which is mapped onto the native wxConfigBase implementation on the given
|
||||
platform: i.e. wxRegConfig under Win32, wxIniConfig under Win16 and
|
||||
wxFileConfig otherwise.
|
||||
|
||||
See \helpref{config overview}{wxconfigoverview} for the descriptions of all
|
||||
features of this class.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/config.h> (to let wxWindows choose a wxConfig class for your platform)\\
|
||||
<wx/confbase.h> (base config class)\\
|
||||
<wx/fileconf.h> (wxFileconfig class)\\
|
||||
<wx/msw/regconf.h> (wxRegConfig class)\\
|
||||
<wx/msw/iniconf.h> (wxIniConfig class)
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
Here is how you would typically use this class:
|
||||
|
||||
\begin{verbatim}
|
||||
// using wxConfig instead of writing wxFileConfig or wxRegConfig enhances
|
||||
// portability of the code
|
||||
wxConfig *config = new wxConfig("MyAppName");
|
||||
|
||||
wxString str;
|
||||
if ( config->Read("LastPrompt", &str) ) {
|
||||
// last prompt was found in the config file/registry and its value is now
|
||||
// in str
|
||||
...
|
||||
}
|
||||
else {
|
||||
// no last prompt...
|
||||
}
|
||||
|
||||
// another example: using default values and the full path instead of just
|
||||
// key name: if the key is not found , the value 17 is returned
|
||||
long value = config->Read("/LastRun/CalculatedValues/MaxValue", -1);
|
||||
...
|
||||
...
|
||||
...
|
||||
// at the end of the program we would save everything back
|
||||
config->Write("LastPrompt", str);
|
||||
config->Write("/LastRun/CalculatedValues/MaxValue", value);
|
||||
|
||||
// the changes will be written back automatically
|
||||
delete config;
|
||||
\end{verbatim}
|
||||
|
||||
This basic example, of course, doesn't show all wxConfig features, such as
|
||||
enumerating, testing for existence and deleting the entries and groups of
|
||||
entries in the config file, its abilities to automatically store the default
|
||||
values or expand the environment variables on the fly. However, the main idea
|
||||
is that using this class is easy and that it should normally do what you
|
||||
expect it to.
|
||||
|
||||
NB: in the documentation of this class, the words "config file" also mean
|
||||
"registry hive" for wxRegConfig and, generally speaking, might mean any
|
||||
physical storage where a wxConfigBase-derived class stores its data.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Static functions}
|
||||
|
||||
These functions deal with the "default" config object. Although its usage is
|
||||
not at all mandatory it may be convenient to use a global config object
|
||||
instead of creating and deleting the local config objects each time you need
|
||||
one (especially because creating a wxFileConfig object might be a time
|
||||
consuming operation). In this case, you may create this global config object
|
||||
in the very start of the program and {\it Set()} it as the default. Then, from
|
||||
anywhere in your program, you may access it using the {\it Get()} function. Of
|
||||
course, you should delete it on the program termination (otherwise, not only a
|
||||
memory leak will result, but even more importantly the changes won't be
|
||||
written back!).
|
||||
|
||||
As it happens, you may even further simplify the procedure described above:
|
||||
you may forget about calling {\it Set()}. When {\it Get()} is called and there
|
||||
is no current object, it will create one using {\it Create()} function. To
|
||||
disable this behaviour {\it DontCreateOnDemand()} is provided.
|
||||
|
||||
\helpref{Set}{wxconfigbaseset}\\
|
||||
\helpref{Get}{wxconfigbaseget}\\
|
||||
\helpref{Create}{wxconfigbasecreate}\\
|
||||
\helpref{DontCreateOnDemand}{wxconfigbasedontcreateondemand}
|
||||
|
||||
\membersection{Constructor and destructor}
|
||||
|
||||
\helpref{wxConfigBase}{wxconfigbasector}\\
|
||||
\helpref{\destruct{wxConfigBase}}{wxconfigbasedtor}
|
||||
|
||||
\membersection{Path management}
|
||||
|
||||
As explained in \helpref{config overview}{wxconfigoverview}, the config classes
|
||||
support a file system-like hierarchy of keys (files) and groups (directories).
|
||||
As in the file system case, to specify a key in the config class you must use
|
||||
a path to it. Config classes also support the notion of the current group,
|
||||
which makes it possible to use the relative paths. To clarify all this, here
|
||||
is an example (it's only for the sake of demonstration, it doesn't do anything
|
||||
sensible!):
|
||||
|
||||
\begin{verbatim}
|
||||
wxConfig *config = new wxConfig("FooBarApp");
|
||||
|
||||
// right now the current path is '/'
|
||||
conf->Write("RootEntry", 1);
|
||||
|
||||
// go to some other place: if the group(s) don't exist, they will be created
|
||||
conf->SetPath("/Group/Subgroup");
|
||||
|
||||
// create an entry in subgroup
|
||||
conf->Write("SubgroupEntry", 3);
|
||||
|
||||
// '..' is understood
|
||||
conf->Write("../GroupEntry", 2);
|
||||
conf->SetPath("..");
|
||||
|
||||
wxASSERT( conf->Read("Subgroup/SubgroupEntry", 0l) == 3 );
|
||||
|
||||
// use absolute path: it's allowed, too
|
||||
wxASSERT( conf->Read("/RootEntry", 0l) == 1 );
|
||||
\end{verbatim}
|
||||
|
||||
{\it Warning}: it's probably a good idea to always restore the path to its
|
||||
old value on function exit:
|
||||
|
||||
\begin{verbatim}
|
||||
void foo(wxConfigBase *config)
|
||||
{
|
||||
wxString strOldPath = config->GetPath();
|
||||
|
||||
config->SetPath("/Foo/Data");
|
||||
...
|
||||
|
||||
config->SetPath(strOldPath);
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
because otherwise the assert in the following example will surely fail
|
||||
(we suppose here that {\it foo()} function is the same as above except that it
|
||||
doesn't save and restore the path):
|
||||
|
||||
\begin{verbatim}
|
||||
void bar(wxConfigBase *config)
|
||||
{
|
||||
config->Write("Test", 17);
|
||||
|
||||
foo(config);
|
||||
|
||||
// we're reading "/Foo/Data/Test" here! -1 will probably be returned...
|
||||
wxASSERT( config->Read("Test", -1) == 17 );
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
Finally, the path separator in wxConfigBase and derived classes is always '/',
|
||||
regardless of the platform (i.e. it's {\bf not} '$\backslash\backslash$' under Windows).
|
||||
|
||||
\helpref{SetPath}{wxconfigbasesetpath}\\
|
||||
\helpref{GetPath}{wxconfigbasegetpath}
|
||||
|
||||
\membersection{Enumeration}
|
||||
|
||||
The functions in this section allow to enumerate all entries and groups in the
|
||||
config file. All functions here return FALSE when there are no more items.
|
||||
|
||||
You must pass the same index to GetNext and GetFirst (don't modify it).
|
||||
Please note that it's {\bf not} the index of the current item (you will have
|
||||
some great surprizes with wxRegConfig if you assume this) and you shouldn't
|
||||
even look at it: it's just a "cookie" which stores the state of the
|
||||
enumeration. It can't be stored inside the class because it would prevent you
|
||||
from running several enumerations simultaneously, that's why you must pass it
|
||||
explicitly.
|
||||
|
||||
Having said all this, enumerating the config entries/groups is very simple:
|
||||
|
||||
\begin{verbatim}
|
||||
wxArrayString aNames;
|
||||
|
||||
// enumeration variables
|
||||
wxString str;
|
||||
long dummy;
|
||||
|
||||
// first enum all entries
|
||||
bool bCont = config->GetFirstEntry(str, dummy);
|
||||
while ( bCont ) {
|
||||
aNames.Add(str);
|
||||
|
||||
bCont = GetConfig()->GetNextEntry(str, dummy);
|
||||
}
|
||||
|
||||
... we have all entry names in aNames...
|
||||
|
||||
// now all groups...
|
||||
bCont = GetConfig()->GetFirstGroup(str, dummy);
|
||||
while ( bCont ) {
|
||||
aNames.Add(str);
|
||||
|
||||
bCont = GetConfig()->GetNextGroup(str, dummy);
|
||||
}
|
||||
|
||||
... we have all group (and entry) names in aNames...
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
There are also functions to get the number of entries/subgroups without
|
||||
actually enumerating them, but you will probably never need them.
|
||||
|
||||
\helpref{GetFirstGroup}{wxconfigbasegetfirstgroup}\\
|
||||
\helpref{GetNextGroup}{wxconfigbasegetnextgroup}\\
|
||||
\helpref{GetFirstEntry}{wxconfigbasegetfirstentry}\\
|
||||
\helpref{GetNextEntry}{wxconfigbasegetnextentry}\\
|
||||
\helpref{GetNumberOfEntries}{wxconfigbasegetnumberofentries}\\
|
||||
\helpref{GetNumberOfGroups}{wxconfigbasegetnumberofgroups}
|
||||
|
||||
\membersection{Tests of existence}
|
||||
|
||||
\helpref{HasGroup}{wxconfigbasehasgroup}\\
|
||||
\helpref{HasEntry}{wxconfigbasehasentry}\\
|
||||
\helpref{Exists}{wxconfigbaseexists}\\
|
||||
\helpref{GetEntryType}{wxconfigbasegetentrytype}
|
||||
|
||||
\membersection{Miscellaneous accessors}
|
||||
|
||||
\helpref{GetAppName}{wxconfigbasegetappname}\\
|
||||
\helpref{GetVendorName}{wxconfigbasegetvendorname}
|
||||
|
||||
\membersection{Key access}
|
||||
|
||||
These function are the core of wxConfigBase class: they allow you to read and
|
||||
write config file data. All {\it Read} function take a default value which
|
||||
will be returned if the specified key is not found in the config file.
|
||||
|
||||
Currently, only two types of data are supported: string and long (but it might
|
||||
change in the near future). To work with other types: for {\it int} or {\it
|
||||
bool} you can work with function taking/returning {\it long} and just use the
|
||||
casts. Better yet, just use {\it long} for all variables which you're going to
|
||||
save in the config file: chances are that \verb$sizeof(bool) == sizeof(int) == sizeof(long)$ anyhow on your system. For {\it float}, {\it double} and, in
|
||||
general, any other type you'd have to translate them to/from string
|
||||
representation and use string functions.
|
||||
|
||||
Try not to read long values into string variables and vice versa: although it
|
||||
just might work with wxFileConfig, you will get a system error with
|
||||
wxRegConfig because in the Windows registry the different types of entries are
|
||||
indeed used.
|
||||
|
||||
Final remark: the {\it szKey} parameter for all these functions can contain an
|
||||
arbitrary path (either relative or absolute), not just the key name.
|
||||
|
||||
\helpref{Read}{wxconfigbaseread}\\
|
||||
\helpref{Write}{wxconfigbasewrite}\\
|
||||
\helpref{Flush}{wxconfigbaseflush}
|
||||
|
||||
\membersection{Rename entries/groups}
|
||||
|
||||
The functions in this section allow to rename entries or subgroups of the
|
||||
current group. They will return FALSE on error. typically because either the
|
||||
entry/group with the original name doesn't exist, because the entry/group with
|
||||
the new name already exists or because the function is not supported in this
|
||||
wxConfig implementation.
|
||||
|
||||
\helpref{RenameEntry}{wxconfigbaserenameentry}\\
|
||||
\helpref{RenameGroup}{wxconfigbaserenamegroup}
|
||||
|
||||
\membersection{Delete entries/groups}
|
||||
|
||||
The functions in this section delete entries and/or groups of entries from the
|
||||
config file. {\it DeleteAll()} is especially useful if you want to erase all
|
||||
traces of your program presence: for example, when you uninstall it.
|
||||
|
||||
\helpref{DeleteEntry}{wxconfigbasedeleteentry}\\
|
||||
\helpref{DeleteGroup}{wxconfigbasedeletegroup}\\
|
||||
\helpref{DeleteAll}{wxconfigbasedeleteall}
|
||||
|
||||
\membersection{Options}
|
||||
|
||||
Some aspects of wxConfigBase behaviour can be changed during run-time. The
|
||||
first of them is the expansion of environment variables in the string values
|
||||
read from the config file: for example, if you have the following in your
|
||||
config file:
|
||||
|
||||
\begin{verbatim}
|
||||
# config file for my program
|
||||
UserData = $HOME/data
|
||||
|
||||
# the following syntax is valud only under Windows
|
||||
UserData = %windir%\\data.dat
|
||||
\end{verbatim}
|
||||
|
||||
the call to \verb$config->Read("UserData")$ will return something like
|
||||
\verb$"/home/zeitlin/data"$ if you're lucky enough to run a Linux system ;-)
|
||||
|
||||
Although this feature is very useful, it may be annoying if you read a value
|
||||
which containts '\$' or '\%' symbols (\% is used for environment variables
|
||||
expansion under Windows) which are not used for environment variable
|
||||
expansion. In this situation you may call SetExpandEnvVars(FALSE) just before
|
||||
reading this value and SetExpandEnvVars(TRUE) just after. Another solution
|
||||
would be to prefix the offending symbols with a backslash.
|
||||
|
||||
The following functions control this option:
|
||||
|
||||
\helpref{IsExpandingEnvVars}{wxconfigbaseisexpandingenvvars}\\
|
||||
\helpref{SetExpandingEnvVars}{wxconfigbasesetexpandingenvvars}\\
|
||||
\helpref{SetRecordDefaults}{wxconfigbasesetrecorddefaults}\\
|
||||
\helpref{IsRecordingDefaults}{wxconfigbaseisrecordingdefaults}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{wxConfigBase::wxConfigBase}\label{wxconfigbasector}
|
||||
|
||||
\func{}{wxConfigBase}{\param{const wxString\& }{appName = wxEmptyString},
|
||||
\param{const wxString\& }{vendorName = wxEmptyString},
|
||||
\param{const wxString\& }{localFilename = wxEmptyString},
|
||||
\param{const wxString\& }{globalFilename = wxEmptyString},
|
||||
\param{long}{ style = 0}}
|
||||
|
||||
This is the default and only constructor of the wxConfigBase class, and
|
||||
derived classes.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{appName}{The application name. If this is empty, the class will
|
||||
normally use \helpref{wxApp::GetAppName}{wxappgetappname} to set it. The
|
||||
application name is used in the registry key on Windows, and can be used to
|
||||
deduce the local filename parameter if that is missing.}
|
||||
|
||||
\docparam{vendorName}{The vendor name. If this is empty, it is assumed that
|
||||
no vendor name is wanted, if this is optional for the current config class.
|
||||
The vendor name is appended to the application name for wxRegConfig.}
|
||||
|
||||
\docparam{localFilename}{Some config classes require a local filename. If this
|
||||
is not present, but required, the application name will be used instead.}
|
||||
|
||||
\docparam{globalFilename}{Some config classes require a global filename. If
|
||||
this is not present, but required, the application name will be used instead.}
|
||||
|
||||
\docparam{style}{Can be one of wxCONFIG\_USE\_LOCAL\_FILE and
|
||||
wxCONFIG\_USE\_GLOBAL\_FILE. The style interpretation depends on the config
|
||||
class and is ignored by some. For wxFileConfig, these styles determine whether
|
||||
a local or global config file is created or used. If the flag is present but
|
||||
the parameter is empty, the parameter will be set to a default. If the
|
||||
parameter is present but the style flag not, the relevant flag will be added
|
||||
to the style. For wxFileConfig you can also add wxCONFIG\_USE\_RELATIVE\_PATH
|
||||
by logicaly or'ing it to either of the _FILE options to tell wxFileConfig to
|
||||
use relative instead of absolute paths. }
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
By default, environment variable expansion is on and recording defaults is
|
||||
off.
|
||||
|
||||
\membersection{wxConfigBase::\destruct{wxConfigBase}}\label{wxconfigbasedtor}
|
||||
|
||||
\func{}{\destruct{wxConfigBase}}{\void}
|
||||
|
||||
Empty but ensures that dtor of all derived classes is virtual.
|
||||
|
||||
\membersection{wxConfigBase::Create}\label{wxconfigbasecreate}
|
||||
|
||||
\func{static wxConfigBase *}{Create}{\void}
|
||||
|
||||
Create a new config object: this function will create the "best"
|
||||
implementation of wxConfig available for the current platform, see comments
|
||||
near the definition of wxCONFIG\_WIN32\_NATIVE for details. It returns the
|
||||
created object and also sets it as the current one.
|
||||
|
||||
\membersection{wxConfigBase::DontCreateOnDemand}\label{wxconfigbasedontcreateondemand}
|
||||
|
||||
\func{void}{DontCreateOnDemand}{\void}
|
||||
|
||||
Calling this function will prevent {\it Get()} from automatically creating a
|
||||
new config object if the current one is NULL. It might be useful to call it
|
||||
near the program end to prevent new config object "accidental" creation.
|
||||
|
||||
\membersection{wxConfigBase::DeleteAll}\label{wxconfigbasedeleteall}
|
||||
|
||||
\func{bool}{DeleteAll}{\void}
|
||||
|
||||
Delete the whole underlying object (disk file, registry key, ...). Primarly
|
||||
for use by desinstallation routine.
|
||||
|
||||
\membersection{wxConfigBase::DeleteEntry}\label{wxconfigbasedeleteentry}
|
||||
|
||||
\func{bool}{DeleteEntry}{\param{const wxString\& }{ key}, \param{bool}{
|
||||
bDeleteGroupIfEmpty = TRUE}}
|
||||
|
||||
Deletes the specified entry and the group it belongs to if it was the last key
|
||||
in it and the second parameter is true.
|
||||
|
||||
\membersection{wxConfigBase::DeleteGroup}\label{wxconfigbasedeletegroup}
|
||||
|
||||
\func{bool}{DeleteGroup}{\param{const wxString\& }{ key}}
|
||||
|
||||
Delete the group (with all subgroups)
|
||||
|
||||
\membersection{wxConfigBase::Exists}\label{wxconfigbaseexists}
|
||||
|
||||
\constfunc{bool}{Exists}{\param{wxString\& }{strName}}
|
||||
|
||||
returns TRUE if either a group or an entry with a given name exists
|
||||
|
||||
\membersection{wxConfigBase::Flush}\label{wxconfigbaseflush}
|
||||
|
||||
\func{bool}{Flush}{\param{bool }{bCurrentOnly = FALSE}}
|
||||
|
||||
permanently writes all changes (otherwise, they're only written from object's
|
||||
destructor)
|
||||
|
||||
\membersection{wxConfigBase::Get}\label{wxconfigbaseget}
|
||||
|
||||
\func{wxConfigBase *}{Get}{\void}
|
||||
|
||||
Get the current config object. If there is no current object, creates one
|
||||
(using {\it Create}) unless DontCreateOnDemand was called previously.
|
||||
|
||||
\membersection{wxConfigBase::GetAppName}\label{wxconfigbasegetappname}
|
||||
|
||||
\constfunc{wxString}{GetAppName}{\void}
|
||||
|
||||
Returns the application name.
|
||||
|
||||
\membersection{wxConfigBase::GetEntryType}\label{wxconfigbasegetentrytype}
|
||||
|
||||
\constfunc{enum wxConfigBase::EntryType}{GetEntryType}{\param{const wxString\& }{name}}
|
||||
|
||||
Returns the type of the given entry or {\it Unknown} if the entry doesn't
|
||||
exist. This function should be used to decide which version of Read() should
|
||||
be used because some of wxConfig implementations will complain about type
|
||||
mismatch otherwise: e.g., an attempt to read a string value from an integer
|
||||
key with wxRegConfig will fail.
|
||||
|
||||
The result is an element of enum EntryType:
|
||||
|
||||
\begin{verbatim}
|
||||
enum EntryType
|
||||
{
|
||||
Unknown,
|
||||
String,
|
||||
Boolean,
|
||||
Integer,
|
||||
Float
|
||||
};
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxConfigBase::GetFirstGroup}\label{wxconfigbasegetfirstgroup}
|
||||
|
||||
\constfunc{bool}{GetFirstGroup}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the first group.
|
||||
|
||||
\pythonnote{The wxPython version of this method returns a 3-tuple
|
||||
consisting of the continue flag, the value string, and the index for
|
||||
the next call.}
|
||||
|
||||
\membersection{wxConfigBase::GetFirstEntry}\label{wxconfigbasegetfirstentry}
|
||||
|
||||
\constfunc{bool}{GetFirstEntry}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the first entry.
|
||||
|
||||
\pythonnote{The wxPython version of this method returns a 3-tuple
|
||||
consisting of the continue flag, the value string, and the index for
|
||||
the next call.}
|
||||
|
||||
\membersection{wxConfigBase::GetNextGroup}\label{wxconfigbasegetnextgroup}
|
||||
|
||||
\constfunc{bool}{GetNextGroup}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the next group.
|
||||
|
||||
\pythonnote{The wxPython version of this method returns a 3-tuple
|
||||
consisting of the continue flag, the value string, and the index for
|
||||
the next call.}
|
||||
|
||||
\membersection{wxConfigBase::GetNextEntry}\label{wxconfigbasegetnextentry}
|
||||
|
||||
\constfunc{bool}{GetNextEntry}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the next entry.
|
||||
|
||||
\pythonnote{The wxPython version of this method returns a 3-tuple
|
||||
consisting of the continue flag, the value string, and the index for
|
||||
the next call.}
|
||||
|
||||
\membersection{wxConfigBase::GetNumberOfEntries}\label{wxconfigbasegetnumberofentries}
|
||||
|
||||
\constfunc{uint }{GetNumberOfEntries}{\param{bool }{bRecursive = FALSE}}
|
||||
|
||||
\membersection{wxConfigBase::GetNumberOfGroups}\label{wxconfigbasegetnumberofgroups}
|
||||
|
||||
\constfunc{uint}{GetNumberOfGroups}{\param{bool }{bRecursive = FALSE}}
|
||||
|
||||
Get number of entries/subgroups in the current group, with or without its
|
||||
subgroups.
|
||||
|
||||
\membersection{wxConfigBase::GetPath}\label{wxconfigbasegetpath}
|
||||
|
||||
\constfunc{const wxString\&}{GetPath}{\void}
|
||||
|
||||
Retrieve the current path (always as absolute path).
|
||||
|
||||
\membersection{wxConfigBase::GetVendorName}\label{wxconfigbasegetvendorname}
|
||||
|
||||
\constfunc{wxString}{GetVendorName}{\void}
|
||||
|
||||
Returns the vendor name.
|
||||
|
||||
\membersection{wxConfigBase::HasEntry}\label{wxconfigbasehasentry}
|
||||
|
||||
\constfunc{bool}{HasEntry}{\param{wxString\& }{strName}}
|
||||
|
||||
returns TRUE if the entry by this name exists
|
||||
|
||||
\membersection{wxConfigBase::HasGroup}\label{wxconfigbasehasgroup}
|
||||
|
||||
\constfunc{bool}{HasGroup}{\param{const wxString\& }{strName}}
|
||||
|
||||
returns TRUE if the group by this name exists
|
||||
|
||||
\membersection{wxConfigBase::IsExpandingEnvVars}\label{wxconfigbaseisexpandingenvvars}
|
||||
|
||||
\constfunc{bool}{IsExpandingEnvVars}{\void}
|
||||
|
||||
Returns TRUE if we are expanding environment variables in key values.
|
||||
|
||||
\membersection{wxConfigBase::IsRecordingDefaults}\label{wxconfigbaseisrecordingdefaults}
|
||||
|
||||
\func{bool}{IsRecordingDefaults}{\void} const
|
||||
|
||||
Returns TRUE if we are writing defaults back to the config file.
|
||||
|
||||
\membersection{wxConfigBase::Read}\label{wxconfigbaseread}
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
|
||||
str}}
|
||||
|
||||
Read a string from the key, returning TRUE if the value was read. If the key
|
||||
was not found, {\it str} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
|
||||
str}, \param{const wxString\& }{defaultVal}}
|
||||
|
||||
Read a string from the key. The default value is returned if the key was not
|
||||
found.
|
||||
|
||||
Returns TRUE if value was really read, FALSE if the default was used.
|
||||
|
||||
\constfunc{wxString}{Read}{\param{const wxString\& }{key}, \param{const
|
||||
wxString\& }{defaultVal}}
|
||||
|
||||
Another version of {\it Read()}, returning the string value directly.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l}}
|
||||
|
||||
Reads a long value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it l} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l},
|
||||
\param{long}{ defaultVal}}
|
||||
|
||||
Reads a long value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\constfunc{long }{Read}{\param{const wxString\& }{key}, \param{long}{
|
||||
defaultVal}}
|
||||
|
||||
Reads a long value from the key and returns it. {\it defaultVal} is returned
|
||||
if the key is not found.
|
||||
|
||||
NB: writing
|
||||
|
||||
{\small \begin{verbatim} conf->Read("key", 0); \end{verbatim} }
|
||||
|
||||
won't work because the call is ambiguous: compiler can not choose between two
|
||||
{\it Read} functions. Instead, write:
|
||||
|
||||
{\small \begin{verbatim} conf->Read("key", 0l); \end{verbatim} }
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d}}
|
||||
|
||||
Reads a double value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it d} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d},
|
||||
\param{double}{ defaultVal}}
|
||||
|
||||
Reads a double value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ b}}
|
||||
|
||||
Reads a bool value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it b} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ d},
|
||||
\param{bool}{ defaultVal}}
|
||||
|
||||
Reads a bool value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\pythonnote{In place of a single overloaded method name, wxPython
|
||||
implements the following methods:\par
|
||||
\indented{2cm}{\begin{twocollist}
|
||||
\twocolitem{\bf{Read(key, default="")}}{Returns a string.}
|
||||
\twocolitem{\bf{ReadInt(key, default=0)}}{Returns an int.}
|
||||
\twocolitem{\bf{ReadFloat(key, default=0.0)}}{Returns a floating point number.}
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
\membersection{wxConfigBase::RenameEntry}\label{wxconfigbaserenameentry}
|
||||
|
||||
\func{bool}{RenameEntry}{\param{const wxString\& }{ oldName}, \param{const wxString\& }{ newName}}
|
||||
|
||||
Renames an entry in the current group. The entries names (both the old and
|
||||
the new one) shouldn't contain backslashes, i.e. only simple names and not
|
||||
arbitrary paths are accepted by this function.
|
||||
|
||||
Returns FALSE if the {\it oldName} doesn't exist or if {\it newName} already
|
||||
exists.
|
||||
|
||||
\membersection{wxConfigBase::RenameGroup}\label{wxconfigbaserenamegroup}
|
||||
|
||||
\func{bool}{RenameGroup}{\param{const wxString\& }{ oldName}, \param{const wxString\& }{ newName}}
|
||||
|
||||
Renames a subgroup of the current group. The subgroup names (both the old and
|
||||
the new one) shouldn't contain backslashes, i.e. only simple names and not
|
||||
arbitrary paths are accepted by this function.
|
||||
|
||||
Returns FALSE if the {\it oldName} doesn't exist or if {\it newName} already
|
||||
exists.
|
||||
|
||||
\membersection{wxConfigBase::Set}\label{wxconfigbaseset}
|
||||
|
||||
\func{wxConfigBase *}{Set}{\param{wxConfigBase *}{pConfig}}
|
||||
|
||||
Sets the config object as the current one, returns the pointer to the previous
|
||||
current object (both the parameter and returned value may be NULL)
|
||||
|
||||
\membersection{wxConfigBase::SetExpandingEnvVars}\label{wxconfigbasesetexpandingenvvars}
|
||||
|
||||
\func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = TRUE}}
|
||||
|
||||
Determine whether we wish to expand environment variables in key values.
|
||||
|
||||
\membersection{wxConfigBase::SetPath}\label{wxconfigbasesetpath}
|
||||
|
||||
\func{void}{SetPath}{\param{const wxString\& }{strPath}}
|
||||
|
||||
Set current path: if the first character is '/', it's the absolute path,
|
||||
otherwise it's a relative path. '..' is supported. If the strPath doesn't
|
||||
exist it is created.
|
||||
|
||||
\membersection{wxConfigBase::SetRecordDefaults}\label{wxconfigbasesetrecorddefaults}
|
||||
|
||||
\func{void}{SetRecordDefaults}{\param{bool }{bDoIt = TRUE}}
|
||||
|
||||
Sets whether defaults are written back to the config file.
|
||||
|
||||
If on (default is off) all default values are written back to the config file.
|
||||
This allows the user to see what config options may be changed and is probably
|
||||
useful only for wxFileConfig.
|
||||
|
||||
\membersection{wxConfigBase::Write}\label{wxconfigbasewrite}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{const wxString\& }{
|
||||
value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{long}{ value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{double}{ value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{bool}{ value}}
|
||||
|
||||
These functions write the specified value to the config file and return TRUE
|
||||
on success.
|
||||
|
||||
\pythonnote{In place of a single overloaded method name, wxPython
|
||||
implements the following methods:\par
|
||||
\indented{2cm}{\begin{twocollist}
|
||||
\twocolitem{\bf{Write(key, value)}}{Writes a string.}
|
||||
\twocolitem{\bf{WriteInt(key, value)}}{Writes an int.}
|
||||
\twocolitem{\bf{WriteFloat(key, value)}}{Writes a floating point number.}
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -11,10 +11,6 @@ of data.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/control.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxValidator}{wxvalidator}
|
||||
|
@@ -1,58 +0,0 @@
|
||||
\section{\class{wxCriticalSection}}\label{wxcriticalsection}
|
||||
|
||||
A critical section object is used exactly for the same purpose as
|
||||
\helpref{mutexes}{wxMutex}. The only difference is that under Windows platform
|
||||
critical sections are only visible inside one process, while mutexes may be
|
||||
shared between processes, so using critical sections is slightly more
|
||||
efficient. The terminology is also slightly different: mutex may be locked (or
|
||||
acquired) and unlocked (or released) while critical section is entered and left
|
||||
by the program.
|
||||
|
||||
Finally, you should try to use
|
||||
\helpref{wxCriticalSectionLocker}{wxcriticalsectionlocker} class whenever
|
||||
possible instead of directly using wxCriticalSection for the same reasons
|
||||
\helpref{wxMutexLocker}{wxmutexlocker} is preferrable to
|
||||
\helpref{wxMutex}{wxmutex} - please see wxMutex for an example.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/thread.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxThread}{wxthread}, \helpref{wxCondition}{wxcondition},
|
||||
\helpref{wxMutexLocker}{wxmutexlocker}, \helpref{wxCriticalSection}{wxcriticalsection}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCriticalSection::wxCriticalSection}\label{wxcriticalsectionctor}
|
||||
|
||||
\func{}{wxCriticalSection}{\void}
|
||||
|
||||
Default constructor initializes critical section object.
|
||||
|
||||
\membersection{wxCriticalSection::\destruct{wxCriticalSection}}\label{wxcriticalsectiondtor}
|
||||
|
||||
\func{}{\destruct{wxCriticalSection}}{\void}
|
||||
|
||||
Destructor frees the ressources.
|
||||
|
||||
\membersection{wxCriticalSection::Enter}\label{wxcriticalsectionenter}
|
||||
|
||||
\func{void }{Enter}{\void}
|
||||
|
||||
Enter the critical section (same as locking a mutex). There is no error return
|
||||
for this function. After entering the critical section protecting some global
|
||||
data the thread running in critical section may safely use/modify it.
|
||||
|
||||
\membersection{wxCriticalSection::Leave}\label{wxcriticalsectionleave}
|
||||
|
||||
\func{void }{Leave}{\void}
|
||||
|
||||
Leave the critical section allowing other threads use the global data protected
|
||||
by it. There is no error return for this function.
|
||||
|
@@ -1,36 +0,0 @@
|
||||
\section{\class{wxCriticalSectionLocker}}\label{wxcriticalsectionlocker}
|
||||
|
||||
This is a small helper class to be used with \helpref{wxCriticalSection}{wxcriticalsection}
|
||||
objects. A wxCriticalSectionLocker enters the critical section in the
|
||||
constructor and leaves it in the destructor making it much more difficult to
|
||||
forget to leave a critical section (which, in general, will lead to serious
|
||||
and difficult to debug problems).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/thread.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxCriticalSection}{wxcriticalsection},
|
||||
\helpref{wxMutexLocker}{wxmutexlocker}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCriticalSectionLocker::wxCriticalSectionLocker}\label{wxcriticalsectionlockerctor}
|
||||
|
||||
\func{}{wxCriticalSectionLocker}{\param{wxCriticalSection *}{criticalsection}}
|
||||
|
||||
Constructs a wxCriticalSectionLocker object associated with given
|
||||
criticalsection which must be non NULL and enters it.
|
||||
|
||||
\membersection{wxCriticalSectionLocker::\destruct{wxCriticalSectionLocker}}\label{wxcriticalsectionlockerdtor}
|
||||
|
||||
\func{}{\destruct{wxCriticalSectionLocker}}{\void}
|
||||
|
||||
Destuctor leaves the criticalsection.
|
||||
|
@@ -20,22 +20,6 @@ global \helpref{::wxSetCursor}{wxsetcursor} is also available for MS Windows use
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/cursor.h>
|
||||
|
||||
\wxheading{Predefined objects}
|
||||
|
||||
Objects:
|
||||
|
||||
{\bf wxNullCursor}
|
||||
|
||||
Pointers:
|
||||
|
||||
{\bf wxSTANDARD\_CURSOR\\
|
||||
wxHOURGLASS\_CURSOR\\
|
||||
wxCROSS\_CURSOR}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap}{wxbitmap}, \helpref{wxIcon}{wxicon}, \helpref{wxWindow::SetCursor}{wxwindowsetcursor},\rtfsp
|
||||
@@ -71,6 +55,10 @@ Constructs a cursor using a cursor identifier.
|
||||
|
||||
Copy constructor. This uses reference counting so is a cheap operation.
|
||||
|
||||
\func{}{wxCursor}{\param{const wxCursor*}{ cursor}}
|
||||
|
||||
Copy constructor. This uses reference counting so is a cheap operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bits}{An array of bits.}
|
||||
@@ -100,10 +88,10 @@ Under Windows, the permitted types are:
|
||||
\twocolwidtha{6cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxBITMAP\_TYPE\_CUR}}{Load a cursor from a .cur cursor file (only if USE\_RESOURCE\_LOADING\_IN\_MSW
|
||||
is enabled in setup.h).}
|
||||
is enabled in wx\_setup.h).}
|
||||
\twocolitem{\windowstyle{wxBITMAP\_TYPE\_CUR\_RESOURCE}}{Load a Windows resource (as specified in the .rc file).}
|
||||
\twocolitem{\windowstyle{wxBITMAP\_TYPE\_ICO}}{Load a cursor from a .ico icon file (only if USE\_RESOURCE\_LOADING\_IN\_MSW
|
||||
is enabled in setup.h). Specify {\it hotSpotX} and {\it hotSpotY}.}
|
||||
is enabled in wx\_setup.h). Specify {\it hotSpotX} and {\it hotSpotY}.}
|
||||
\end{twocollist}}
|
||||
|
||||
\docparam{cursorId}{A stock cursor identifier. May be one of:
|
||||
@@ -140,14 +128,6 @@ Note that not all cursors are available on all platforms.}
|
||||
|
||||
\docparam{cursor}{Pointer or reference to a cursor to copy.}
|
||||
|
||||
\pythonnote{Constructors supported by wxPython are:\par
|
||||
\indented{2cm}{\begin{twocollist}
|
||||
\twocolitem{\bf{wxCursor(name, flags, hotSpotX=0,
|
||||
hotSpotY=0)}}{Constructs a cursor from a filename}
|
||||
\twocolitem{\bf{wxStockCursor(id)}}{Constructs a stock cursor }
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
\membersection{wxCursor::\destruct{wxCursor}}
|
||||
|
||||
\func{}{\destruct{wxCursor}}{\void}
|
||||
|
@@ -1,16 +1,11 @@
|
||||
\section{\class{wxDatabase}}\label{wxdatabase}
|
||||
|
||||
Every database object represents an ODBC connection.
|
||||
The connection may be closed and reopened.
|
||||
Every database object represents an ODBC connection. The connection may be closed and reopened.
|
||||
|
||||
\wxheading{Derived from}
|
||||
\wxheading{Derivation}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/odbc.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{wxDatabase overview}{wxdatabaseoverview}, \helpref{wxRecordSet}{wxrecordset}
|
||||
@@ -96,7 +91,7 @@ Returns the name of the database associated with the current connection.
|
||||
\func{wxString}{GetDataSource}{\void}
|
||||
|
||||
Returns the name of the connected data source.
|
||||
|
||||
|
||||
\membersection{wxDatabase::GetErrorClass}
|
||||
|
||||
\func{wxString}{GetErrorClass}{\void}
|
||||
@@ -146,7 +141,7 @@ Returns the current ODBC database handle.
|
||||
\func{HENV}{GetHENV}{\void}
|
||||
|
||||
Returns the ODBC environment handle.
|
||||
|
||||
|
||||
\membersection{wxDatabase::GetInfo}
|
||||
|
||||
\func{bool}{GetInfo}{\param{long}{ infoType}, \param{long *}{buf}}
|
||||
@@ -224,7 +219,7 @@ source. The parameters exclusive and readOnly are not used.
|
||||
\func{void}{OnSetOptions}{\param{wxRecordSet *}{recordSet}}
|
||||
|
||||
Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::OnWaitForDataSource}
|
||||
|
||||
\func{void}{OnWaitForDataSource}{\param{bool}{ stillExecuting}}
|
||||
@@ -242,13 +237,13 @@ Sends a rollback to the ODBC driver. Not implemented.
|
||||
\func{void}{SetDataSource}{\param{const wxString\& }{s}}
|
||||
|
||||
Sets the name of the data source. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetLoginTimeout}
|
||||
|
||||
\func{void}{SetLoginTimeout}{\param{long}{ seconds}}
|
||||
|
||||
Sets the time to wait for an user login. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetPassword}
|
||||
|
||||
\func{void}{SetPassword}{\param{const wxString\& }{s}}
|
||||
@@ -267,7 +262,7 @@ mode is supported, so this function has no effect.
|
||||
\func{void}{SetQueryTimeout}{\param{long}{ seconds}}
|
||||
|
||||
Sets the time to wait for a response to a query. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetUsername}
|
||||
|
||||
\func{void}{SetUsername}{\param{const wxString\& }{s}}
|
||||
|
@@ -1,88 +0,0 @@
|
||||
\section{\class{wxDataObject}}\label{wxdataobject}
|
||||
|
||||
A wxDataObject represents data that can be copied to or from the clipboard, or
|
||||
dragged and dropped.
|
||||
|
||||
There are several predefined data object classes, such as \helpref{wxFileDataObject}{wxfiledataobject},
|
||||
\helpref{wxTextDataObject}{wxtextdataobject}, and \helpref{wxBitmapDataObject}{wxbitmapdataobject} which
|
||||
can be used without change or can be altered (by deriving a new class from them) in order to deliver
|
||||
data and data size on-demand. There is no need to ever use wxDataObject itself or derive directly from it.
|
||||
|
||||
You may also derive your own data object classes from \helpref{wxPrivateDataObject}{wxprivatedataobject}
|
||||
for user-defined types. The format of user-defined data is given as mime-type string literal,
|
||||
such as "application/word" or "image/png". These strings are used as they are under Unix (so
|
||||
far only GTK) to identify a format and are translated into their Windows equivalent under
|
||||
Win32 (using the OLE IDataObject for data exchange to and from the clipboard and for Drag'n'Drop).
|
||||
Note that the format string translation under Windows is not yet finnished.
|
||||
|
||||
As mentioned above, data may be placed into the \helpref{wxClipboard}{wxclipboard}
|
||||
or a \helpref{wxDropSource}{wxdropsource} instance either directly or on-demand.
|
||||
As long as only one format is offerred, putting data directly into the clipboard may
|
||||
be sufficient. But imagine that you paste a large piece of text to the clipboard and
|
||||
offer it in "text/plain", "text/rtf", "text/html", "application/word" and your own
|
||||
format for internal use - here offering data on-demand is required to minimize memory
|
||||
consumption. This would generally get implemented using a central object that
|
||||
contains clipboard information in the format with the maximum of information. Note
|
||||
that neither the GTK data transfer mechanisms for the clipboard and Drag'n'Drop
|
||||
nor the OLE data transfer copies any data until another application actually
|
||||
requests the data. This is in contrast to the "feel" offered to the user of a
|
||||
program who would normally think that the data resides in the clipboard after
|
||||
having pressed "Copy" - in reality it is only declared to be available.
|
||||
|
||||
Let's assume that you have written an HTML editor and want it to paste contents
|
||||
in the formats "text/plain" and "text/html" to the clipboard. For offering
|
||||
data on-demand in "text/plain" you would derive your class from \helpref{wxTextDataObject}{wxtextdataobject}
|
||||
and for offering data on-demand in "text/html" you would derive your own class from
|
||||
\helpref{wxPrivateDataObject}{wxprivatedataobject} and set its ID string
|
||||
identifying the format to "text/html" using \helpref{wxPrivateDataObject::SetId}{wxprivatedataobjectsetid}.
|
||||
In your two derived classed you'd then have a pointer or reference to the central
|
||||
data container and you'd override the methods returning the size of the
|
||||
available data and the WriteData() methods in both classes.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dataobj.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFileDataObject}{wxfiledataobject},
|
||||
\helpref{wxTextDataObject}{wxtextdataobject},
|
||||
\helpref{wxBitmapDataObject}{wxbitmapdataobject},
|
||||
\helpref{wxPrivateDataObject}{wxprivatedataobject},
|
||||
\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropTarget}{wxdroptarget},
|
||||
\helpref{wxDropSource}{wxdropsource},
|
||||
\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxDataObject::wxDataObject}\label{wxdataobjectwxdataobject}
|
||||
|
||||
\func{}{wxDataObject}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxDataObject::\destruct{wxDataObject}}\label{wxdataobjectdtor}
|
||||
|
||||
\func{}{\destruct{wxDataObject}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxDataObject::WriteData}\label{wxdataobjectwritedata}
|
||||
|
||||
\constfunc{virtual void}{WriteData}{\param{void}{*dest} }
|
||||
|
||||
Write the data owned by this class to {\it dest}. This method is a pure
|
||||
virtual function and must be overridden.
|
||||
|
||||
\membersection{wxDataObject::GetSize}\label{wxdataobjectgetdatasize}
|
||||
|
||||
\constfunc{virtual size\_t}{GetSize}{\void}
|
||||
|
||||
Returns the data size. This method is a pure
|
||||
virtual function and must be overridden.
|
||||
|
||||
|
@@ -2,18 +2,10 @@
|
||||
|
||||
A class for manipulating dates.
|
||||
|
||||
{\bf NOTE:} this class should be
|
||||
used with caution, since it is not fully tested. It will be replaced
|
||||
with a new wxDateTime class in the near future.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/date.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTime}{wxtime}
|
||||
|
@@ -1,136 +1,109 @@
|
||||
\section{\class{wxDataInputStream}}\label{wxdatainputstream}
|
||||
\section{\class{wxDataStream}}\label{wxdatastream}
|
||||
|
||||
This class provides functions that read data types in a
|
||||
This class provides functions that read and write integers or double in a
|
||||
portable way. So, a file written by an Intel processor can be read by a
|
||||
Sparc or anything else.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxFilterInputStream}{wxfilterinputstream}\\
|
||||
\helpref{wxInputStream}{wxinputstream}\\
|
||||
\helpref{wxStreamBase}{wxstreambase}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/datstrm.h>
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxDataInputStream::wxDataInputStream}\label{wxdatainputstreamconstr}
|
||||
\membersection{wxDataStream::wxDataStream}\label{wxwaveconstr}
|
||||
|
||||
\func{}{wxDataInputStream}{\param{wxInputStream\&}{ stream}}
|
||||
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
||||
|
||||
Constructs a datastream object from an input stream. Only read methods will
|
||||
Constructs a datastream object from a C++ input stream. Only read methods will
|
||||
be available.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{stream}{The input stream.}
|
||||
\docparam{stream}{The C++ input stream.}
|
||||
|
||||
\membersection{wxDataInputStream::\destruct{wxDataInputStream}}
|
||||
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
||||
|
||||
\func{}{\destruct{wxDataInputStream}}{\void}
|
||||
Constructs a datastream object from a C++ input stream. Only read methods will
|
||||
be available.
|
||||
|
||||
Destroys the wxDataInputStream object.
|
||||
\wxheading{Parameters}
|
||||
|
||||
\membersection{wxDataInputStream::Read8}
|
||||
\docparam{stream}{The C++ input stream.}
|
||||
|
||||
\membersection{wxDataStream::\destruct{wxDataStream}}
|
||||
|
||||
\func{}{\destruct{wxDataStream}}{\void}
|
||||
|
||||
Destroys the wxDataStream object.
|
||||
|
||||
\membersection{wxDataStream::Read8}
|
||||
|
||||
\func{unsigned char}{Read8}{\void}
|
||||
|
||||
Reads a single byte from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::Read16}
|
||||
\membersection{wxDataStream::Read16}
|
||||
|
||||
\func{unsigned short}{Read16}{\void}
|
||||
|
||||
Reads a 16 bit integer from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::Read32}
|
||||
\membersection{wxDataStream::Read32}
|
||||
|
||||
\func{unsigned long}{Read32}{\void}
|
||||
|
||||
Reads a 32 bit integer from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::ReadDouble}
|
||||
\membersection{wxDataStream::ReadDouble}
|
||||
|
||||
\func{double}{ReadDouble}{\void}
|
||||
|
||||
Reads a double (IEEE encoded) from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::ReadLine}
|
||||
\membersection{wxDataStream::ReadString}
|
||||
|
||||
\func{wxString}{wxDataInputStream::ReadLine}{\void}
|
||||
\func{wxString}{wxDataStream::ReadString}{\void}
|
||||
|
||||
Reads a line from the stream. A line is a string which ends with \\n or \\r\\n.
|
||||
|
||||
\membersection{wxDataInputStream::ReadString}
|
||||
|
||||
\func{wxString}{wxDataInputStream::ReadString}{\void}
|
||||
|
||||
Reads a string from a stream. Actually, this function first reads a long integer
|
||||
Reads a string from a stream. Actually, this function first reads a byte
|
||||
specifying the length of the string (without the last null character) and then
|
||||
reads the string.
|
||||
|
||||
\section{\class{wxDataOutputStream}}\label{wxdataoutputstream}
|
||||
\membersection{wxDataStream::ReadLine}
|
||||
|
||||
This class provides functions that write data types in a
|
||||
portable way. So, a file written by an Intel processor can be read by a
|
||||
Sparc or anything else.
|
||||
\func{wxString}{wxDataStream::ReadLine}{\void}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
Reads a line from the stream. A line is a string which ends with \\n or \\r\\n.
|
||||
|
||||
\membersection{wxDataOutputStream::wxDataOutputStream}\label{wxdataoutputstreamconstr}
|
||||
\membersection{wxDataStream::Write8}
|
||||
|
||||
\func{}{wxDataInputStream}{\param{wxOutputStream\&}{ stream}}
|
||||
|
||||
Constructs a datastream object from an output stream. Only read 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::Write8}
|
||||
|
||||
\func{void}{wxDataOutputStream::Write8}{{\param unsigned char }{i8}}
|
||||
\func{void}{wxDataStream::Write8}{{\param unsigned char }{i8}}
|
||||
|
||||
Writes the single byte {\it i8} to the stream.
|
||||
|
||||
\membersection{wxDataOutputStream::Write16}
|
||||
\membersection{wxDataStream::Write16}
|
||||
|
||||
\func{void}{wxDataOutputStream::Write16}{{\param unsigned short }{i16}}
|
||||
\func{void}{wxDataStream::Write16}{{\param unsigned short }{i16}}
|
||||
|
||||
Writes the 16 bit integer {\it i16} to the stream.
|
||||
|
||||
\membersection{wxDataOutputStream::Write32}
|
||||
\membersection{wxDataStream::Write32}
|
||||
|
||||
\func{void}{wxDataOutputStream::Write32}{{\param unsigned long }{i32}}
|
||||
\func{void}{wxDataStream::Write32}{{\param unsigned long }{i32}}
|
||||
|
||||
Writes the 32 bit integer {\it i32} to the stream.
|
||||
|
||||
\membersection{wxDataOutputStream::WriteDouble}
|
||||
\membersection{wxDataStream::WriteDouble}
|
||||
|
||||
\func{void}{wxDataOutputStream::WriteDouble}{{\param double }{f}}
|
||||
\func{void}{wxDataStream::WriteDouble}{{\param double }{f}}
|
||||
|
||||
Writes the double {\it f} to the stream using the IEEE format.
|
||||
|
||||
\membersection{wxDataOutputStream::WriteLine}
|
||||
\membersection{wxDataStream::WriteString}
|
||||
|
||||
\func{void}{wxDataOutputStream::WriteLine}{{\param const wxString\& }{string}}
|
||||
|
||||
Writes {\it string} as a line. Depending on the operating system, it adds
|
||||
$\backslash$n or $\backslash$r$\backslash$n.
|
||||
|
||||
\membersection{wxDataOutputStream::WriteString}
|
||||
|
||||
\func{void}{wxDataOutputStream::WriteString}{{\param const wxString\& }{string}}
|
||||
\func{void}{wxDataStream::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.
|
||||
|
||||
\membersection{wxDataStream::WriteLine}
|
||||
|
||||
\func{void}{wxDataStream::WriteLine}{{\param const wxString& }{string}}
|
||||
|
||||
Writes {\it string} as a line. Depending on the operating system, it adds
|
||||
\\n or \\r\\n.
|
||||
|
@@ -13,10 +13,6 @@ only, so refer to this section for most device context information.
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dc.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Overview}{dcoverview}
|
||||
@@ -161,19 +157,10 @@ mapping mode. Use this function for converting a height, for example.
|
||||
|
||||
\func{void}{DrawArc}{\param{long}{ x1}, \param{long}{ y1}, \param{long}{ x2}, \param{long}{ y2}, \param{double}{ xc}, \param{double}{ yc}}
|
||||
|
||||
Draws an arc of a circle, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
|
||||
Draws an arc, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
|
||||
and ending at ({\it x2, y2}). The current pen is used for the outline
|
||||
and the current brush for filling the shape.
|
||||
|
||||
The arc is drawn in an anticlockwise direction from the start point to the end point.
|
||||
|
||||
\membersection{wxDC::DrawBitmap}\label{wxdcdrawbitmap}
|
||||
|
||||
\func{void}{DrawBitmap}{\param{const wxBitmap\&}{ bitmap}, \param{long}{ x}, \param{long}{ y}, \param{bool}{ transparent}}
|
||||
|
||||
Draw a bitmap on the device context at the specified point. If {\it transparent} is TRUE and the bitmap has
|
||||
a transparency mask, the bitmap will be drawn transparently.
|
||||
|
||||
\membersection{wxDC::DrawEllipse}\label{wxdcdrawellipse}
|
||||
|
||||
\func{void}{DrawEllipse}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
|
||||
@@ -187,14 +174,14 @@ filling the shape.
|
||||
\func{void}{DrawEllipticArc}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height},
|
||||
\param{double}{ start}, \param{double}{ end}}
|
||||
|
||||
Draws an arc of an ellipse. The current pen is used for drawing the arc and
|
||||
Draws an arc of an ellipse. The current pen is used for drawing the arc and
|
||||
the current brush is used for drawing the pie. This function is currently only available for
|
||||
X window and PostScript device contexts.
|
||||
|
||||
{\it x} and {\it y} specify the x and y coordinates of the upper-left corner of the rectangle that contains
|
||||
the ellipse.
|
||||
|
||||
{\it width} and {\it height} specify the width and height of the rectangle that contains
|
||||
{\it width} and {\it height} specify the width and height of the rectangle that contains
|
||||
the ellipse.
|
||||
|
||||
{\it start} and {\it end} specify the start and end of the arc relative to the three-o'clock
|
||||
@@ -228,9 +215,6 @@ pointers to points, adding the optional offset coordinate. The current
|
||||
pen is used for drawing the lines. The programmer is responsible for
|
||||
deleting the list of points.
|
||||
|
||||
\pythonnote{The wxPython version of this method accepts a Python list
|
||||
of wxPoint objects.}
|
||||
|
||||
\membersection{wxDC::DrawPolygon}\label{wxdcdrawpolygon}
|
||||
|
||||
\func{void}{DrawPolygon}{\param{int}{ n}, \param{wxPoint}{ points[]}, \param{long}{ xoffset = 0}, \param{long}{ yoffset = 0},\\
|
||||
@@ -251,9 +235,6 @@ The programmer is responsible for deleting the list of points.
|
||||
|
||||
Note that wxWindows automatically closes the first and last points.
|
||||
|
||||
\pythonnote{The wxPython version of this method accepts a Python list
|
||||
of wxPoint objects.}
|
||||
|
||||
\membersection{wxDC::DrawPoint}\label{wxdcdrawpoint}
|
||||
|
||||
\func{void}{DrawPoint}{\param{long}{ x}, \param{long}{ y}}
|
||||
@@ -298,9 +279,6 @@ program `XFIG'.
|
||||
|
||||
Draws a three-point spline using the current pen.
|
||||
|
||||
\pythonnote{The wxPython version of this method accepts a Python list
|
||||
of wxPoint objects.}
|
||||
|
||||
\membersection{wxDC::DrawText}\label{wxdcdrawtext}
|
||||
|
||||
\func{void}{DrawText}{\param{const wxString\& }{text}, \param{long}{ x}, \param{long}{ y}}
|
||||
@@ -349,13 +327,13 @@ and using a style:
|
||||
|
||||
\membersection{wxDC::GetBackground}\label{wxdcgetbackground}
|
||||
|
||||
\func{wxBrush\&}{GetBackground}{\void}
|
||||
\func{wxBrush *}{GetBackground}{\void}
|
||||
|
||||
Gets the brush used for painting the background (see \helpref{wxDC::SetBackground}{wxdcsetbackground}).
|
||||
|
||||
\membersection{wxDC::GetBrush}\label{wxdcgetbrush}
|
||||
|
||||
\func{wxBrush\&}{GetBrush}{\void}
|
||||
\func{wxBrush *}{GetBrush}{\void}
|
||||
|
||||
Gets the current brush (see \helpref{wxDC::SetBrush}{wxdcsetbrush}).
|
||||
|
||||
@@ -377,12 +355,9 @@ Gets the average character width of the currently set font.
|
||||
|
||||
Gets the rectangle surrounding the current clipping region.
|
||||
|
||||
\pythonnote{No arguments are required and the four values defining the
|
||||
rectangle are returned as a tuple.}
|
||||
|
||||
\membersection{wxDC::GetFont}\label{wxdcgetfont}
|
||||
|
||||
\func{wxFont\&}{GetFont}{\void}
|
||||
\func{wxFont *}{GetFont}{\void}
|
||||
|
||||
Gets the current font (see \helpref{wxDC::SetFont}{wxdcsetfont}).
|
||||
|
||||
@@ -407,7 +382,7 @@ See \helpref{wxDC::SetOptimization}{wxsetoptimization} for details.
|
||||
|
||||
\membersection{wxDC::GetPen}\label{wxdcgetpen}
|
||||
|
||||
\func{wxPen\&}{GetPen}{\void}
|
||||
\func{wxPen *}{GetPen}{\void}
|
||||
|
||||
Gets the current pen (see \helpref{wxDC::SetPen}{wxdcsetpen}).
|
||||
|
||||
@@ -416,7 +391,7 @@ Gets the current pen (see \helpref{wxDC::SetPen}{wxdcsetpen}).
|
||||
\func{bool}{GetPixel}{\param{long}{ x}, \param{long}{ y}, \param{wxColour *}{colour}}
|
||||
|
||||
Sets {\it colour} to the colour at the specified location. Windows only; an X implementation
|
||||
is being worked on. Not available for wxPostScriptDC or wxMetafileDC.
|
||||
is being worked on. Not available for wxPostScriptDC or wxMetaFileDC.
|
||||
|
||||
\membersection{wxDC::GetSize}\label{wxdcgetsize}
|
||||
|
||||
@@ -440,9 +415,6 @@ printer page:
|
||||
dc.SetUserScale(min(scaleX,scaleY),min(scaleX,scaleY));
|
||||
\end{verbatim}
|
||||
|
||||
\pythonnote{No arguments are required and the two values defining the
|
||||
size are returned as a tuple.}
|
||||
|
||||
\membersection{wxDC::GetTextBackground}\label{wxdcgettextbackground}
|
||||
|
||||
\func{wxColour\&}{GetTextBackground}{\void}
|
||||
@@ -468,14 +440,6 @@ the device context first.
|
||||
|
||||
See also \helpref{wxFont}{wxfont}, \helpref{wxDC::SetFont}{wxdcsetfont}.
|
||||
|
||||
\pythonnote{The following methods are implemented in wxPython:\par
|
||||
\indented{2cm}{\begin{twocollist}
|
||||
\twocolitem{\bf{GetTextExtent(string)}}{Returns a 2-tuple, (width, height)}
|
||||
\twocolitem{\bf{GetFullTextExtent(string, font=NULL)}}{Returns a
|
||||
4-tuple, (width, height, descent, externalLeading) }
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
\membersection{wxDC::GetTextForeground}\label{wxdcgettextforeground}
|
||||
|
||||
\func{wxColour\&}{GetTextForeground}{\void}
|
||||
@@ -567,15 +531,11 @@ whether text will be drawn with a background colour or not.
|
||||
|
||||
\func{void}{SetClippingRegion}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
|
||||
|
||||
\func{void}{SetClippingRegion}{\param{const wxRegion\&}{ region}}
|
||||
|
||||
Sets the clipping region for the DC. The clipping region is an area
|
||||
to which drawing is restricted. Possible uses for the clipping region are for clipping text
|
||||
Sets the clipping region for the DC. The clipping region is a rectangular area
|
||||
to which drawing is restricted. Possible uses for the clipping region are for clipping text
|
||||
or for speeding up window redraws when only a known area of the screen is damaged.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDC::DestroyClippingRegion}{wxdcdestroyclippingregion}, \helpref{wxRegion}{wxregion}
|
||||
See also \helpref{wxDC::DestroyClippingRegion}{wxdcdestroyclippingregion}.
|
||||
|
||||
\membersection{wxDC::SetPalette}\label{wxdcsetpalette}
|
||||
|
||||
@@ -646,7 +606,7 @@ wxXOR src XOR dst
|
||||
|
||||
The default is wxCOPY, which simply draws with the current colour.
|
||||
The others combine the current colour and the background using a
|
||||
logical operation. wxINVERT is commonly used for drawing rubber bands or
|
||||
logical operation. wxXOR is commonly used for drawing rubber bands or
|
||||
moving outlines, since drawing twice reverts to the original colour.
|
||||
|
||||
\membersection{wxDC::SetMapMode}\label{wxdcsetmapmode}
|
||||
@@ -671,12 +631,12 @@ PostScript output.
|
||||
The mapping mode can be one of the following:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{wxMM\_TWIPS}{Each logical unit is 1/20 of a point, or 1/1440 of
|
||||
\twocolitem{MM\_TWIPS}{Each logical unit is 1/20 of a point, or 1/1440 of
|
||||
an inch.}
|
||||
\twocolitem{wxMM\_POINTS}{Each logical unit is a point, or 1/72 of an inch.}
|
||||
\twocolitem{wxMM\_METRIC}{Each logical unit is 1 mm.}
|
||||
\twocolitem{wxMM\_LOMETRIC}{Each logical unit is 1/10 of a mm.}
|
||||
\twocolitem{wxMM\_TEXT}{Each logical unit is 1 pixel.}
|
||||
\twocolitem{MM\_POINTS}{Each logical unit is a point, or 1/72 of an inch.}
|
||||
\twocolitem{MM\_METRIC}{Each logical unit is 1 mm.}
|
||||
\twocolitem{MM\_LOMETRIC}{Each logical unit is 1/10 of a mm.}
|
||||
\twocolitem{MM\_TEXT}{Each logical unit is 1 pixel.}
|
||||
\end{twocollist}
|
||||
|
||||
\membersection{wxDC::SetOptimization}\label{wxsetoptimization}
|
||||
|
@@ -1,7 +1,10 @@
|
||||
\section{\class{wxDDEClient}}\label{wxddeclient}
|
||||
|
||||
\overview{Interprocess communications overview}{ipcoverview}
|
||||
|
||||
A wxDDEClient object represents the client part of a client-server DDE
|
||||
(Dynamic Data Exchange) conversation.
|
||||
(Dynamic Data Exchange) conversation (available in {\it both}\/
|
||||
Windows and UNIX).
|
||||
|
||||
To create a client which can communicate with a suitable server,
|
||||
you need to derive a class from wxDDEConnection and another from wxDDEClient.
|
||||
@@ -10,23 +13,15 @@ a `conversation' with a server, and the custom wxDDEServer is required
|
||||
so that a user-overriden \helpref{wxDDEClient::OnMakeConnection}{wxddeclientonmakeconnection} member can return
|
||||
a wxDDEConnection of the required class, when a connection is made.
|
||||
|
||||
This DDE-based implementation is
|
||||
available on Windows only, but a platform-independent, socket-based version
|
||||
of this API is available using \helpref{wxTCPClient}{wxtcpclient}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxClientBase\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dde.h>
|
||||
wxDDEObject
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDDEServer}{wxddeserver}, \helpref{wxDDEConnection}{wxddeconnection},
|
||||
\helpref{Interprocess communications overview}{ipcoverview}
|
||||
\helpref{wxDDEServer}{wxddeserver}, \helpref{wxDDEConnection}{wxddeconnection},
|
||||
the chapter on interprocess communication in the user manual, and
|
||||
the programs in {\tt samples/ipc}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -38,7 +33,7 @@ Constructs a client object.
|
||||
|
||||
\membersection{wxDDEClient::MakeConnection}\label{wxddeclientmakeconnection}
|
||||
|
||||
\func{wxConnectionBase *}{MakeConnection}{\param{const wxString\& }{host}, \param{const wxString\& }{service}, \param{const wxString\& }{topic}}
|
||||
\func{wxDDEConnection *}{MakeConnection}{\param{const wxString\& }{host}, \param{const wxString\& }{service}, \param{const wxString\& }{topic}}
|
||||
|
||||
Tries to make a connection with a server specified by the host
|
||||
(machine name under UNIX, ignored under Windows), service name (must
|
||||
@@ -50,11 +45,11 @@ derived connection object.
|
||||
|
||||
\membersection{wxDDEClient::OnMakeConnection}\label{wxddeclientonmakeconnection}
|
||||
|
||||
\func{wxConnectionBase *}{OnMakeConnection}{\void}
|
||||
\func{wxDDEConnection *}{OnMakeConnection}{\void}
|
||||
|
||||
The type of \helpref{wxDDEConnection}{wxddeconnection} returned from a \helpref{wxDDEClient::MakeConnection}{wxddeclientmakeconnection} call can
|
||||
be altered by deriving the {\bf OnMakeConnection} member to return your
|
||||
own derived connection object. By default, a wxDDEConnection
|
||||
own derived connection object. By default, an ordinary wxDDEConnection
|
||||
object is returned.
|
||||
|
||||
The advantage of deriving your own connection class is that it will
|
||||
|
@@ -4,7 +4,7 @@ A wxDDEConnection object represents the connection between a client and a
|
||||
server. It can be created by making a connection using a\rtfsp
|
||||
\helpref{wxDDEClient}{wxddeclient} object, or by the acceptance of a connection by a\rtfsp
|
||||
\helpref{wxDDEServer}{wxddeserver} object. The bulk of a DDE (Dynamic Data Exchange)
|
||||
conversation is controlled by
|
||||
conversation (available in both Windows and UNIX) is controlled by
|
||||
calling members in a {\bf wxDDEConnection} object or by overriding its
|
||||
members.
|
||||
|
||||
@@ -12,47 +12,10 @@ An application should normally derive a new connection class from
|
||||
wxDDEConnection, in order to override the communication event handlers
|
||||
to do something interesting.
|
||||
|
||||
This DDE-based implementation is available on Windows only,
|
||||
but a platform-independent, socket-based version
|
||||
of this API is available using \helpref{wxTCPConnection}{wxtcpconnection}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxConnectionBase\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dde.h>
|
||||
|
||||
\wxheading{Types}
|
||||
|
||||
\index{wxIPCFormat}wxIPCFormat is defined as follows:
|
||||
|
||||
\begin{verbatim}
|
||||
enum wxIPCFormat
|
||||
{
|
||||
wxIPC_INVALID = 0,
|
||||
wxIPC_TEXT = 1, /* CF_TEXT */
|
||||
wxIPC_BITMAP = 2, /* CF_BITMAP */
|
||||
wxIPC_METAFILE = 3, /* CF_METAFILEPICT */
|
||||
wxIPC_SYLK = 4,
|
||||
wxIPC_DIF = 5,
|
||||
wxIPC_TIFF = 6,
|
||||
wxIPC_OEMTEXT = 7, /* CF_OEMTEXT */
|
||||
wxIPC_DIB = 8, /* CF_DIB */
|
||||
wxIPC_PALETTE = 9,
|
||||
wxIPC_PENDATA = 10,
|
||||
wxIPC_RIFF = 11,
|
||||
wxIPC_WAVE = 12,
|
||||
wxIPC_UNICODETEXT = 13,
|
||||
wxIPC_ENHMETAFILE = 14,
|
||||
wxIPC_FILENAME = 15, /* CF_HDROP */
|
||||
wxIPC_LOCALE = 16,
|
||||
wxIPC_PRIVATE = 20
|
||||
};
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDDEClient}{wxddeclient}, \helpref{wxDDEServer}{wxddeserver}, \helpref{Interprocess communications overview}{ipcoverview}
|
||||
@@ -79,7 +42,7 @@ transactions.
|
||||
|
||||
\membersection{wxDDEConnection::Advise}
|
||||
|
||||
\func{bool}{Advise}{\param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size = -1}, \param{wxIPCFormat}{ format = wxCF\_TEXT}}
|
||||
\func{bool}{Advise}{\param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size = -1}, \param{int}{ format = wxCF\_TEXT}}
|
||||
|
||||
Called by the server application to advise the client of a change in
|
||||
the data associated with the given item. Causes the client
|
||||
@@ -88,7 +51,8 @@ member to be called. Returns TRUE if successful.
|
||||
|
||||
\membersection{wxDDEConnection::Execute}
|
||||
|
||||
\func{bool}{Execute}{\param{char* }{data}, \param{int}{ size = -1}, \param{wxIPCFormat}{ format = wxCF\_TEXT}}
|
||||
\func{bool}{Execute}{\param{char* }{data}, \param{int}{ size = -1},
|
||||
\param{int}{ format = wxCF\_TEXT}}
|
||||
|
||||
Called by the client application to execute a command on the server. Can
|
||||
also be used to transfer arbitrary data to the server (similar
|
||||
@@ -110,14 +74,14 @@ successful.
|
||||
|
||||
\membersection{wxDDEConnection::OnAdvise}\label{wxddeconnectiononadvise}
|
||||
|
||||
\func{virtual bool}{OnAdvise}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size}, \param{wxIPCFormat}{ format}}
|
||||
\func{bool}{OnAdvise}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size}, \param{int}{ format}}
|
||||
|
||||
Message sent to the client application when the server notifies it of a
|
||||
change in the data associated with the given item.
|
||||
|
||||
\membersection{wxDDEConnection::OnDisconnect}\label{wxddeconnectionondisconnect}
|
||||
|
||||
\func{virtual bool}{OnDisconnect}{\void}
|
||||
\func{bool}{OnDisconnect}{\void}
|
||||
|
||||
Message sent to the client or server application when the other
|
||||
application notifies it to delete the connection. Default behaviour is
|
||||
@@ -125,7 +89,7 @@ to delete the connection object.
|
||||
|
||||
\membersection{wxDDEConnection::OnExecute}\label{wxddeconnectiononexecute}
|
||||
|
||||
\func{virtual bool}{OnExecute}{\param{const wxString\& }{topic}, \param{char* }{data}, \param{int}{ size}, \param{wxIPCFormat}{ format}}
|
||||
\func{bool}{OnExecute}{\param{const wxString\& }{topic}, \param{char* }{data}, \param{int}{ size}, \param{int}{ format}}
|
||||
|
||||
Message sent to the server application when the client notifies it to
|
||||
execute the given data. Note that there is no item associated with
|
||||
@@ -133,14 +97,14 @@ this message.
|
||||
|
||||
\membersection{wxDDEConnection::OnPoke}\label{wxddeconnectiononpoke}
|
||||
|
||||
\func{virtual bool}{OnPoke}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size}, \param{wxIPCFormat}{ format}}
|
||||
\func{bool}{OnPoke}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size}, \param{int}{ format}}
|
||||
|
||||
Message sent to the server application when the client notifies it to
|
||||
accept the given data.
|
||||
|
||||
\membersection{wxDDEConnection::OnRequest}\label{wxddeconnectiononrequest}
|
||||
|
||||
\func{virtual char*}{OnRequest}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}, \param{int *}{size}, \param{wxIPCFormat}{ format}}
|
||||
\func{char*}{OnRequest}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}, \param{int *}{size}, \param{int}{ format}}
|
||||
|
||||
Message sent to the server application when the client
|
||||
calls \helpref{wxDDEConnection::Request}{wxddeconnectionrequest}. The server
|
||||
@@ -149,7 +113,7 @@ or NULL to indicate no data.
|
||||
|
||||
\membersection{wxDDEConnection::OnStartAdvise}\label{wxddeconnectiononstartadvise}
|
||||
|
||||
\func{virtual bool}{OnStartAdvise}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}}
|
||||
\func{bool}{OnStartAdvise}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}}
|
||||
|
||||
Message sent to the server application by the client, when the client
|
||||
wishes to start an `advise loop' for the given topic and item. The
|
||||
@@ -157,7 +121,7 @@ server can refuse to participate by returning FALSE.
|
||||
|
||||
\membersection{wxDDEConnection::OnStopAdvise}\label{wxddeconnectiononstopadvise}
|
||||
|
||||
\func{virtual bool}{OnStopAdvise}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}}
|
||||
\func{bool}{OnStopAdvise}{\param{const wxString\& }{topic}, \param{const wxString\& }{item}}
|
||||
|
||||
Message sent to the server application by the client, when the client
|
||||
wishes to stop an `advise loop' for the given topic and item. The
|
||||
@@ -166,7 +130,7 @@ this doesn't have much meaning in practice.
|
||||
|
||||
\membersection{wxDDEConnection::Poke}\label{wxddeconnectionpoke}
|
||||
|
||||
\func{bool}{Poke}{\param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size = -1}, \param{wxIPCFormat}{ format = wxCF\_TEXT}}
|
||||
\func{bool}{Poke}{\param{const wxString\& }{item}, \param{char* }{data}, \param{int}{ size = -1}, \param{int}{ format = wxCF\_TEXT}}
|
||||
|
||||
Called by the client application to poke data into the server. Can be
|
||||
used to transfer arbitrary data to the server. Causes the server
|
||||
@@ -175,7 +139,7 @@ to be called. Returns TRUE if successful.
|
||||
|
||||
\membersection{wxDDEConnection::Request}\label{wxddeconnectionrequest}
|
||||
|
||||
\func{char*}{Request}{\param{const wxString\& }{item}, \param{int *}{size}, \param{wxIPCFormat}{ format = wxIPC\_TEXT}}
|
||||
\func{char*}{Request}{\param{const wxString\& }{item}, \param{int *}{size}, \param{int}{ format = wxCF\_TEXT}}
|
||||
|
||||
Called by the client application to request data from the server. Causes
|
||||
the server connection's \helpref{wxDDEConnection::OnRequest}{wxddeconnectiononrequest} member to be called. Returns a
|
||||
|
@@ -1,23 +1,16 @@
|
||||
\section{\class{wxDDEServer}}\label{wxddeserver}
|
||||
|
||||
A wxDDEServer object represents the server part of a client-server DDE
|
||||
(Dynamic Data Exchange) conversation.
|
||||
|
||||
This DDE-based implementation is
|
||||
available on Windows only, but a platform-independent, socket-based version
|
||||
of this API is available using \helpref{wxTCPServer}{wxtcpserver}.
|
||||
(Dynamic Data Exchange) conversation (available under both Windows
|
||||
and UNIX).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxServerBase
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dde.h>
|
||||
wxDDEObject
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDDEClient}{wxddeclient}, \helpref{wxDDEConnection}{wxddeconnection}, \helpref{IPC overview}{ipcoverview}
|
||||
\helpref{IPC overview}{ipcoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -38,7 +31,7 @@ number is already in use).
|
||||
|
||||
\membersection{wxDDEServer::OnAcceptConnection}\label{wxddeserveronacceptconnection}
|
||||
|
||||
\func{virtual wxConnectionBase *}{OnAcceptConnection}{\param{const wxString\& }{topic}}
|
||||
\func{wxDDEConnection *}{OnAcceptConnection}{\param{const wxString\& }{topic}}
|
||||
|
||||
When a client calls {\bf MakeConnection}, the server receives the
|
||||
message and this member is called. The application should derive a
|
||||
|
@@ -5,16 +5,12 @@ operations. Full functionality (such as printing out objects
|
||||
currently allocated) is only present in a debugging build of wxWindows,
|
||||
i.e. if the DEBUG symbol is defined and non-zero. wxDebugContext
|
||||
and related functions and macros can be compiled out by setting
|
||||
wxUSE\_DEBUG\_CONTEXT to 0 is setup.h
|
||||
USE\_DEBUG\_CONTEXT to 0 is wx\_setup.h
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No parent class.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/memory.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Overview}{wxdebugcontextoverview}
|
||||
@@ -78,8 +74,6 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
|
||||
a different level will only have an effect if trace statements in the application
|
||||
specify a value other than one.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetLevel}{wxdebugcontextsetlevel}
|
||||
@@ -90,8 +84,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
Returns the output stream associated with the debug context.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}
|
||||
@@ -104,8 +96,6 @@ Returns a pointer to the output stream buffer associated with the debug context.
|
||||
There may not necessarily be a stream buffer if the stream has been set
|
||||
by the user.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\membersection{wxDebugContext::HasStream}\label{wxdebugcontexthasstream}
|
||||
|
||||
\func{bool}{HasStream}{\void}
|
||||
@@ -113,8 +103,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
Returns TRUE if there is a stream currently associated
|
||||
with the debug context.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}, \helpref{wxDebugContext::GetStream}{wxdebugcontextgetstream}
|
||||
@@ -207,8 +195,6 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
|
||||
a different level will only have an effect if trace statements in the application
|
||||
specify a value other than one.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::GetLevel}{wxdebugcontextgetlevel}
|
||||
@@ -220,8 +206,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
Sets the debugging stream to be the debugger (Windows) or standard error (other platforms).
|
||||
This is the default setting. The existing stream will be flushed and deleted.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\membersection{wxDebugContext::SetStream}\label{wxdebugcontextsetstream}
|
||||
|
||||
\func{void}{SetStream}{\param{ostream* }{stream}, \param{streambuf* }{streamBuf = NULL}}
|
||||
@@ -229,8 +213,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
Sets the stream and optionally, stream buffer associated with the debug context.
|
||||
This operation flushes and deletes the existing stream (and stream buffer if any).
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{stream}{Stream to associate with the debug context. Do not set this to NULL.}
|
||||
@@ -249,16 +231,10 @@ Windows, an ostream constructed with this buffer outputs
|
||||
to the debugger, or other program that intercepts debugging
|
||||
output. On other platforms, the output goes to standard error (cerr).
|
||||
|
||||
This is soon to be obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
streambuf
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/memory.h>
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
\begin{verbatim}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user