This commit was manufactured by cvs2svn to create tag

'DEBIAN_2_4_3_1_SARGE_v_2_4_2_4'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/DEBIAN_2_4_3_1_SARGE_v_2_4_2_4@34395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Bryan Petty
2005-05-29 09:56:16 +00:00
parent 86118733af
commit cfd794784f
4010 changed files with 349688 additions and 169530 deletions

View File

@@ -1,18 +1,21 @@
TN0001 How to add a new sample
TN0002 wxWindows translator guide
TN0003 Adding wxWindows class documentation
TN0004 Compiling a sample in the C++Builder IDE
TN0005 Adding a wxWindows contribution
TN0006 Making and installing RPMs for wxWindows
TN0007 Using and modifying the BC++ IDE files
TN0008 How to learn wxWindows programming
TN0009 Creating and converting icons
TN0010 Compiling wxWindows applications in the VC++ IDE
TN0011 All about version numbers
TN0012 wxWindows platform, toolkit and library names
TN0013 how to make a wxGTK distribution
TN0014 XRC resources format specification
TN0015 how to add new bitmaps to wxWindows UI elements
All wxWidgets techincal notes at a glance
=========================================
tn0001.txt How to add a new sample
tn0002.txt wxWidgets translator guide
tn0003.txt Adding wxWidgets class documentation
tn0004.htm Compiling a sample in the C++Builder IDE
tn0005.txt Adding a wxWidgets contribution
tn0006.txt *** REMOVED *** (obsoleted by tn0013.txt)
tn0007.txt Using and modifying the BC++ IDE files
tn0008.htm How to learn wxWidgets programming
tn0009.htm Creating and converting icons
tn0010.htm Compiling wxWidgets applications in the VC++ IDE
tn0011.txt All about version numbers
tn0012.txt wxWidgets platform, toolkit and library names
tn0013.txt how to make a wxGTK distribution
tn0014.txt XRC resources format specification
tn0015.txt how to add new bitmaps to wxWidgets UI elements
Version: $Id$

View File

@@ -1,4 +1,4 @@
How to add a new sample to wxWindows.
How to add a new sample to wxWidgets.
=====================================
To add a new sample "foo" under directory "samples/foo" you need to do
@@ -30,7 +30,7 @@ samples/ with demos/ where needed).
by running "autoconf" on a Unix system in the corresponding directory.
5. Add a short description of what the sample does and how does it work
to the "samples overview" section in the wxWindows manual. That section
to the "samples overview" section in the wxWidgets manual. That section
lives in docs/latex/wx/tsamples.tex; look at the descriptions for other
samples, if you are not familiar with LaTeX.

View File

@@ -1,7 +1,7 @@
wxWindows translator guide
wxWidgets translator guide
==========================
This note is addressed to wxWindows translators.
This note is addressed to wxWidgets translators.
First of all, here is what you will need:
@@ -12,7 +12,7 @@ First of all, here is what you will need:
mirror (RPMs and DEBs are also available from the usual places)
b) for Windows you can download the precompiled binaries from
www.wxwindows.org
www.wxwidgets.org
2. A way to run a program recursively on an entire directory from the command
line:
@@ -37,7 +37,7 @@ gettext documentation for more details). It happens in several steps:
program into a wxstd.po file which is a "text message catalog"
2. this new wxstd.po file (recreated each time some new text messages are added
to wxWindows) is merged with existing translations in another .po file (for
to wxWidgets) is merged with existing translations in another .po file (for
example, de.po) and replaces this file (this is done using the program
msgmerge)
@@ -63,6 +63,9 @@ Author: VZ
Version: $Id$
$Log$
Revision 1.2.2.1 2004/05/04 08:52:32 JS
Name change replacements
Revision 1.2 2002/07/03 15:01:26 VZ
typos and other doc corrections from Olly Betts (patch 573738)

View File

@@ -1,15 +1,15 @@
Adding wxWindows class documentation
Adding wxWidgets class documentation
====================================
This note is aimed at people wishing to add documentation for a
class to either the main wxWindows manual, or to their own
class to either the main wxWidgets manual, or to their own
manual.
wxWindows uses Tex2RTF to process Latex-like input files (.tex)
wxWidgets uses Tex2RTF to process Latex-like input files (.tex)
and output in HTML, WinHelp RTF and Word RTF. Tex2RTF is provided
in the wxWindows distribution and in the CVS archive, under
in the wxWidgets distribution and in the CVS archive, under
utils/tex2rtf. Please start by perusing the Tex2RTF manual.
See http://www.wxwindows.org/tex2rtf/index.htm for a browseable
See http://www.wxwidgets.org/tex2rtf/index.htm for a browseable
manual and binaries for specific platforms.
If adding to the existing manual in docs/latex/wx, you need to
@@ -20,7 +20,7 @@ and add the entry to topics.tex. If applicable, also add an entry
to category.tex.
If compiling a separate manual, copy an existing set of files from the
wxWindows manual or a contribution. Contribution documentation
wxWidgets manual or a contribution. Contribution documentation
normally goes in the contrib/docs hierarchy, with the source
going in a latex/mycontrib subdirectory.
@@ -55,12 +55,12 @@ parameter, and then choose FILE|GO from the menu. For example:
tex2rtf manual.tex manual.rtf -rtf -twice -interactive
NOTE: You must be using the latest tex2rtf which was released with
v2.2.0 of wxWindows to use the -interactive switch
v2.2.0 of wxWidgets to use the -interactive switch
If you wish to generate documentation for wxHTML Help Viewer
(or Windows HTML Help), set htmlWorkshopFiles to true in your
tex2rtf.ini file. See also the wxHTML Notes section in the
wxWindows manual. To further speed-up HTML help books loading
wxWidgets manual. To further speed-up HTML help books loading
in your application, you may use hhp2cached (utils/hhp2cached).
src/msw/makefile.vc contains targets for generating various

View File

@@ -9,13 +9,13 @@
<body>
<h2>
Compiling wxWindows samples with the Borland CBuilder</h2>
Compiling wxWidgets samples with the Borland CBuilder</h2>
This document is available online <a href="http://biolpc22.york.ac.uk/wx/bc/ide.html">here</a>.<P>
<h2>
Before you begin</h2>
This refers to the <b>2.1.16</b> and 2.1.15 wxWindows distribution. It
This refers to the <b>2.1.16</b> and 2.1.15 wxWidgets distribution. It
is my account of trying to compile the samples so I can use the Borland
IDE to edit/compile/debug. I have used CBuilder 1.00 (2 patches, nice and
fast), CBuilder 3 (slower), and CBuilder 4 (more recently).
@@ -169,7 +169,7 @@ Solution 3</h3>
<ul>
<li>
download the wxWindows-2.1.16-bcb.zip file,</li>
download the wxWidgets-2.1.16-bcb.zip file,</li>
<li>
extract it</li>

View File

@@ -1,4 +1,4 @@
Adding a wxWindows contribution
Adding a wxWidgets contribution
===============================
Here are some different kinds of contribution:
@@ -6,15 +6,15 @@ Here are some different kinds of contribution:
1. Bug fixes. You can send these to the wx-devel list.
2. New classes. New classes normally go in the contrib hierarchy:
please see below for more details. They may be promoted to
the main wxWindows hierarchy if they are deemed to be 'core'.
the main wxWidgets hierarchy if they are deemed to be 'core'.
3. A utility application, such as a new dialog editor or
file format conversion utility. If adding to the CVS
archive, you may put it under the utils hierarchy,
preferably with further src and docs directories.
You may or may not wish to add your code to the main wxWindows CVS
You may or may not wish to add your code to the main wxWidgets CVS
archive. Whether your code is appropriate for this archive
should first be ascertained by discussing it on wx-devel@wxwindows.org.
should first be ascertained by discussing it on wx-devel@wxwidgets.org.
The contrib hierarchy
---------------------
@@ -23,7 +23,7 @@ When contributing a new class or set of classes, please
organise your files in the following hierarchy, so that
when a user unarchives your contribution, it
slots neatly into the existing source hierarchy.
It also simplifies compilation for users, since wxWindows
It also simplifies compilation for users, since wxWidgets
makefiles and project files are set up to search in
contrib/include/wx and contrib/lib. For example, to
include yourclass.h, the following directive is used:
@@ -57,8 +57,8 @@ site in the 'Backroom' section. Include as many makefiles as
possible for different compilers.
Your archive can be in .tgz or .zip format. For inclusion on
the wxWindows ftp site and CD-ROM, please send your submission to
Julian Smart <julian@wxwindows.org> as a binary attachment.
the wxWidgets ftp site and CD-ROM, please send your submission to
Julian Smart <julian@wxwidgets.org> as a binary attachment.
An entry will be added to the Contributions web page.
Author: Julian Smart

View File

@@ -1,41 +0,0 @@
How to make RPMs of the wxWindows sources
=========================================
This is just a short description. It is assumed that you know what you are
doing. I do not take any responsibility for damaged systems, use at your own
risk!
1. Extract the archive in a temporary directory. Since you are
reading this text, you already have done this.
2. Copy the .spec file to
(rpm-dir)/SPECS
3. Copy the .tgz file to
(rpm-dir)/SOURCES
4. Start the RPM manager with
rpm -bb (rpm-dir)/SPECS/(.spec-file)
or with
rpm -ba (rpm-dir)/SPECS/(.spec-file)
(the latter also builds the .src.rpm-file)
5. You now have a nice set of RPMs in (rpm-dir)/RPMS
Example
=======
Here's how to install e.g. wxMotif 2.1.14:
cp wxMotif.spec /usr/src/packages/SPECS
cp wxMotif-2.1.14.tgz /usr/src/packages/SOURCES
rpm -bb /usr/src/packages/SPECS/wxMotif.spec
Install the resulting packages with
rpm --install /usr/src/packages/RPMS/i386/wxMotif-2.1.14-0.i386.rpm
rpm --install /usr/src/packages/RPMS/i386/wxMotif-devel-2.1.14-0.i386.rpm
rpm --install /usr/src/packages/RPMS/i386/wxMotif-gl-2.1.14-0.i386.rpm
That's all. You should now have a working wxWindows library.
Regards,
Robert Fendt

View File

@@ -1,19 +1,19 @@
Using and modifying the BC++ IDE files
======================================
Readme for wxWindows 2.0 Ide-files
Readme for wxWidgets 2.0 Ide-files
First release Feb. 1999, detlev@reymann-online.de
1. What you can do with the BC++ IDE files
2. Where to install the files
3. How to modify them for your own needs
4. How to create IDE files for your own wxWindows-programs
4. How to create IDE files for your own wxWidgets-programs
1. What you can do with the IDE files
=====================================
There are two IDE files. src\bc32.ide should help you to
create the wxWindows libraries from within the Ide of Borland's
create the wxWidgets libraries from within the Ide of Borland's
C++, v. 5.x. Note that this doesn't include debugging code: you
need to change the settings if you wish to include debug
information. Previously, bc32d.ide was supplied with debug
@@ -23,7 +23,7 @@ settings, but this proved to time-consuming to maintain.
=============================
You should copy the files for the libraries into the
src-directory of your wxWindows-Installation (e.g. C:\wxwin\src).
src-directory of your wxWidgets-Installation (e.g. C:\wxwin\src).
And the other file for the samples should be copied into the
samples-directory (e.g. C:\wxwin\samples).
@@ -34,7 +34,7 @@ automatically).
3. How to modify them for your own needs
========================================
If your wxWindows-Installation resides on the same drive as your
If your wxWidgets-Installation resides on the same drive as your
Borland-Compiler and additionally the Borland-Installation is
the default (e.g. C:\BC5) then there should be no need to change
anything. Otherwise please change the path from within the ide
@@ -59,10 +59,10 @@ To add a new sample to samples\bc32.ide, follow these steps:
Intermediate: .\newsample
Final: .\newsample
4. How to create IDE files for your own wxWindows-programs
4. How to create IDE files for your own wxWidgets-programs
==========================================================
If you want to create an IDE file for your own wxWindows program,
If you want to create an IDE file for your own wxWidgets program,
please follow these steps.
1. Create a new project from the menu file->new->project.
@@ -71,12 +71,12 @@ please follow these steps.
the checkbox OLE (you can leave this checkbox unchecked,
but then you have to add the library \bc5\lib\ole2w32.lib
to your project), and the Multithread checkbox.
3. Add the include-path of wxWindows to the include-path in the
3. Add the include-path of wxWidgets to the include-path in the
options-dialog (options->project->directories->include). The
result should be something like:
path_of_my_program;\bc5\include;\wxwin2\include;
4. Add the libraries to the project. Open the project-view and
activate your program. Then right-click and choose "add" and
select the wxWindows library (e.g. \wxwin\lib\wx32.lib). Also
select the wxWidgets library (e.g. \wxwin\lib\wx32.lib). Also
add the xpm library.

View File

@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<TITLE>How to learn wxWindows programming</TITLE>
<TITLE>How to learn wxWidgets programming</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
@@ -14,7 +14,7 @@
<tr>
<td bgcolor="#660000" align=left colspan=2>
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
How to learn wxWindows programming
How to learn wxWidgets programming
</font>
</td>
</tr>
@@ -23,13 +23,13 @@ How to learn wxWindows programming
<P>
The following is a response by Edward Ream to a common question,
"What's the best way to learn wxWindows [and C++]?".<P>
"What's the best way to learn wxWidgets [and C++]?".<P>
Date: Sun, 04 Jun 2000 14:37:06 -0500<BR>
From: "Edward K. Ream" <edream@tds.net> <BR>
To: wx-users@wxwindows.org<BR>
To: wx-users@wxwidgets.org<BR>
Subject: Re: [wx-users] How to learn using wx-windows <BR>
Reply-To: wx-users@wxwindows.org<P>
Reply-To: wx-users@wxwidgets.org<P>
&gt; Reading the Linux Journal article on wxpython, and having used wxclips<BR>
&gt; I got interested in wxwindows as a development interface. However, the<BR>
@@ -37,7 +37,7 @@ Reply-To: wx-users@wxwindows.org<P>
&gt; tran). I'd like to refresh my experience and start in C++. Will<BR>
&gt; wx-windows be a very high step to take?<P>
I'm new to wxWindows myself, but I'd like to answer this question
I'm new to wxWidgets myself, but I'd like to answer this question
anyway. In the past two years I've learned two similar frameworks
(Apple's Yellow Box, aka NextStep/OpenStep and Borland's C++
Builder/Delphi) and last year I became a C++ enthusiast after 20 years
@@ -47,7 +47,7 @@ of using C.<P>
The major Aha for me was that the complexity of C++ doesn't matter in
practice. What _does_ matter is that C++ allows you to do simple things
simply, more simply than C. With a system like wxWindows you will be
simply, more simply than C. With a system like wxWidgets you will be
creating objects and then using those objects to call methods. So don't
be afraid of C++: you'll only be using the easy tip of the
iceberg.<P>
@@ -61,7 +61,7 @@ Lippman's book is the cure.<P>
<B>About applications frameworks.</B><P>
Application frameworks such as wxWindows are organized around a set of
Application frameworks such as wxWidgets are organized around a set of
cooperating classes. Take a look at the main application class, wxApp,
some frame and panel classes, graphics classes, menu classes, control
classes, etc. In general, to do anything in a framework involves
@@ -117,7 +117,7 @@ and then calling methods using those objects.<P>
Learn as much as you can about the String class; after using a good
String class you'll never want to use C's string functions again.
wxWindows contains other nifty utility classes as well.<P>
wxWidgets contains other nifty utility classes as well.<P>
The application class, wxApp, contains the main event loop. Learn about
event handling and event tables (reading sample code will help). Almost
@@ -127,8 +127,8 @@ events. Having the event loop written for you is a major, major
benefit.<P>
I hope this helps. Perhaps we can work together in learning about
wxWindows. Please feel free to ask me any questions you might have. If
I've made any blunders in this posting I hope the wxWindows experts will
wxWidgets. Please feel free to ask me any questions you might have. If
I've made any blunders in this posting I hope the wxWidgets experts will
correct me gently.<P>
Edward<BR>

View File

@@ -40,7 +40,7 @@ is no icon editor so you must obtain one separately, such as <a href="http://hot
To convert from XPM to BMP (which can be loaded or pasted into an icon editor to save as an ICO file),
you can use Vadim Zeitlin's <a href="ftp://biolpc22.york.ac.uk/pub/support/xpm2bmp.exe">xpm2bmp.exe</a> utility.
To convert from BMP to XPM, you can use <a href="ftp://biolpc22.york.ac.uk/pub/support/bmp2xpm.exe">bmp2xpm.exe</a>
which is actually the old wxWindows 1.68 utility, xpmshow. You will have to edit the resulting
which is actually the old wxWidgets 1.68 utility, xpmshow. You will have to edit the resulting
file since the full path is used as the variable name, plus you may wish to specify a transparent colour e.g.:<P>
<pre>

View File

@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<TITLE>Compiling wxWindows applications in the VC++ IDE</TITLE>
<TITLE>Compiling wxWidgets applications in the VC++ IDE</TITLE>
</HEAD>
@@ -15,7 +15,7 @@
<tr>
<td bgcolor="#C4ECF9">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
Compiling wxWindows applications in the VC++ IDE
Compiling wxWidgets applications in the VC++ IDE
</font>
</td>
</tr>
@@ -24,12 +24,12 @@ Compiling wxWindows applications in the VC++ IDE
<P>
<CENTER>
<a href="#wxwin2">Settings for wxWindows 2</a> / <a href="#wxwin1">Settings for wxWindows 1.68</a>
<a href="#wxwin2">Settings for wxWidgets 2.2</a> / <a href="#wxwin1">Settings for wxWidgets 1.68</a>
</CENTER>
<P>
To compile wxWindows samples and applications using the VC++ 5.0 or 6.0 IDE (having compiled wxWindows
To compile wxWidgets samples and applications using the VC++ 5.0 or 6.0 IDE (having compiled wxWidgets
using the makefile or project file provided), the following
steps and settings should be used.<P>
@@ -38,15 +38,16 @@ steps and settings should be used.<P>
<ol>
<li>Create a new WIN32 Application project.
<li>Add the .cpp and .rc files for your project.
<li>Apply the settings listed below to the project, replacing c:\wx2 with your wxWindows
<li>Apply the settings listed below to the project, replacing c:\wx2 with your wxWidgets
installation path.
</ol>
<P>
<H2><a name="wxwin2">Settings for wxWindows 2</a></H2>
<H2><a name="wxwin2">Settings for wxWidgets 2.2</a></H2>
These settings apply to wxWindows 2.1.14 and above.<P>
These settings apply to wxWidgets 2.1.14 and above but most of them are not
necessary any longer for wxWidgets 2.3+.<P>
<DL>
<DT><B>General</B><DD>
@@ -94,7 +95,7 @@ The <B>Object/library modules</B> field should contain:
<PRE>
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
winmm.lib wxd.lib xpmd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib
winmm.lib wxmswd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib
</PRE>
for the Debug configuration and
@@ -102,7 +103,7 @@ for the Debug configuration and
<PRE>
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib
winmm.lib wxmsw.lib png.lib zlib.lib jpeg.lib tiff.lib
</PRE>
for the Release configuration.<P>
@@ -143,7 +144,7 @@ c:\wx2\include;c:\wx2\contrib\include
<HR>
<H2><a name="wxwin1">Settings for wxWindows 1.68</a></H2>
<H2><a name="wxwin1">Settings for wxWidgets 1.68</a></H2>
Note: these have not yet been checked.<P>
@@ -171,12 +172,12 @@ The <B>Additional include directories</B> field should contain the following:<P>
<DT><B>C/C++: Precompiled Headers</B><DD>
The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
button should be selected (I can't find a way of using the wxWindows PCH file).<P>
button should be selected (I can't find a way of using the wxWidgets PCH file).<P>
<DT><B>C/C++: Code Generation</B><DD>
The <B>Use run-time library</B> control should be set to <B>Multithreaded DLL</B>. This
sets the compiler switch to /MD to match the wxWindows makefile.<P>
sets the compiler switch to /MD to match the wxWidgets makefile.<P>
<DT><B>Link: Input</B><DD>
@@ -206,77 +207,6 @@ Select your .rc file. The <B>Additional resource include directories</B> field s
</DL>
<P>
<!--
<PRE>
From: "Chris Breeze" <chris@hel.co.uk>
To: <wxwin-users@wx.dent.med.uni-muenchen.de>
Subject: Re: Compiling 2.0 wxWin Apps in the VC IDE
Date: Wed, 20 May 1998 14:18:02 +0100
First the apology: the description below is for wx1.68
not for wx2.0 - sorry if I confused everybody.
Anyway, third time lucky I hope! The settings for
VC++ 5.0, wx2.0 beta 8, NT Workstation 4.0 sp3
are:
In project / settings / C/C++:
Add "__WINDOWS__" to the pre-processor definitions
Add "{wx}\include" to the additional include directories
where {wx} is the directory in which wx is installed
In project / settings / Resources:
add "{wx}\include" to the additional resource include directories
In project / settings / Link:
Add "wx.lib comctl32.lib dummy.obj" to the Object/Library modules
Add "libcd.lib,libcid.lib" to ignore libraries (under the "input" category)
Add "{wx}\lib,{wx}\src\msw" to the additional library path
I have tested these settings on samples/minimal and can
build exes which can be debugged using Developer Studio.
I hope I've finally answered the original question. (Next time
I'll read the question more carefully!).
Regards,
Chris
Original message (settings for wx1.68c):
) Try the following (tested with VC++ 5 on NT4):
)
) Create a new Win32 Application project and insert the source files
) (including .rc files).
)
) In project / settings / C/C++:
) Add wx_msw to the pre-processor definitions
) add {wx}\include\base,{wx}\include\msw to the additional include
directories
) where {wx} is the directory in which wx is installed
)
) In project / settings / Resources:
) add {wx}\include\msw;{wx}\contrib\fafa to the additional resource include
) directories
)
) In project / settings / Link:
) Add comctl32.lib wx.lib dummy.obj ctl3d32.lib to the Object/Library modules
)
) Add libc to ignore libraries (under the "input" category)
)
) Add {wx}\lib,{wx}\src\msw to the additional library path
)
) These settings are for a debug build. You can use the same settings for
) a release build apart from ignoring libc.
</PRE>
-->
</font>
</BODY>
</HTML>

View File

@@ -1,9 +1,9 @@
All about wxWindows Version Numbers
All about wxWidgets Version Numbers
===================================
1. Where to update the version numbers:
There are several places in the wxWindows source tree that
There are several places in the wxWidgets source tree that
define the version number for the library. When updating the
version number all of these places need edited:
@@ -30,6 +30,9 @@ All about wxWindows Version Numbers
Version: $Id$
$Log$
Revision 1.1.2.1 2004/05/04 08:52:33 JS
Name change replacements
Revision 1.1 2001/06/08 04:26:35 RD
move the tech note to a correctly named file

View File

@@ -1,14 +1,14 @@
wxWindows naming conventions
wxWidgets naming conventions
============================
Being a cross platform development library, it is naturally desirable
(at least to me ;) for wxWindows to be exploited in a fully cross
(at least to me ;) for wxWidgets to be exploited in a fully cross
platform development environment -- a single invocation of make should
be sufficient to build target executables for a variety of host platforms
when desired.
Since this is now in fact possible for at least the most commonly used
platforms, wxWindows has been structured to allow multiple, simultaneous
platforms, wxWidgets has been structured to allow multiple, simultaneous
installations of the library. Common files are shared, platform and port
specific files and libraries are arranged so as to be unambiguous when
installed together.
@@ -18,7 +18,7 @@ labelling convention for file and install path names -- this document (at
least at its time of writing) describes the system we have adopted.
It is not fine grained enough to include every possible build configuration
for wxWindows, but is encompassing enough to maintain a relatively complete
for wxWidgets, but is encompassing enough to maintain a relatively complete
set of cross platform build tools on a single machine and to provide an
obvious slot for new ports to slip into.
@@ -61,7 +61,7 @@ or empty if the widget set is the same as the toolkit.
$version is a string encoding the full version (major, minor, release)
for MSW, or just the major and minor number for UNIX.
eg. for wxWindows 2.3.2, $version = 232 for MSW or 2.3 for UNIX.
eg. for wxWidgets 2.3.2, $version = 232 for MSW or 2.3 for UNIX.
The rationale for this is that under UNIX-like systems it is desirable
that differently 'minor numbered' releases can be installed together,

View File

@@ -5,26 +5,34 @@
---------------
This note explains what should be done, step by step, to prepare the packages
for a wxGTK distribution.
for a wxGTK distribution. Note that the same instructions should be used for
the other Unix-based ports including wxMotif, wxX11 and wxBase.
1. Preparing the sources
------------------------
a) Do a fresh checkout using the command
cvs -d :pserver:anoncvs@cvs.wxwindows.org:/home/wxcvs co wxGTK
cvs -d :pserver:anoncvs@cvs.wxwidgets.org:/packs/cvsroots/wxwindows co wxGTK
NB: if you realize later that some needed files were not checked out
by this command, please modify CVSROOT/modules to include the missing
files so that it works for the next release!
You also need the samples, demos and contrib directories, so change to
wxWindows directory created by the first cvs command and do "cvs up -d"
wxWidgets directory created by the first cvs command and do "cvs up -d"
for each of them.
b) Create a build directory under wxWindows, e.g. I use "gtk-release",
"cd" to it and type "make -j1 dist bzip-dist-only". This should create
the following files;
b) Create a build directory under wxWidgets, e.g. I use "gtk-release",
"cd" to it and run configure: the options don't really matter, you can use
something like
../configure --no-recursion
to make it run a bit faster.
c) Then type "make -j1 dist bzip-dist-only". This should create the
following files;
wxGTK-${version}.tar.bz2
wxGTK-demos-${version}.tar.bz2
@@ -39,7 +47,7 @@ b) Create a build directory under wxWindows, e.g. I use "gtk-release",
allow parallelizing, if your make is aliased to "make -j4" (like
mine), it simply won't work.
Note 2; there are also dist-only and bzip-dist targets, the "-only" suffix
Note 2: there are also dist-only and bzip-dist targets, the "-only" suffix
means to just create the archive supposing that the files
themselves are already under _dist_dir/wxGTK-${version} where
"make dist" creates them
@@ -47,10 +55,10 @@ b) Create a build directory under wxWindows, e.g. I use "gtk-release",
2. Building the RPMs
--------------------
Note that we didn't check if the library actually could be built - this is
Note that we didn't check if the library actually could be built -- this is
because it is done during this step, during the RPM generation. If, for
whatever reason, you don't build the RPMs, you must have checked previously
that the library could be built - nothing worse than a release which doesn't
that the library could be built -- nothing worse than a release which doesn't
even compile!
The rest of this section applies to a system with RPM installed (Redhat in my
@@ -62,16 +70,17 @@ a) Setting up the RPM tree: you should have the RPM tree set up properly
Otherwise you may do it (without root rights) in any directory RPM_ROOT.
RPM_ROOT should have the following subdirectories: BUILD, RPMS, SOURCES,
SPECS and SRPMS. RPMS should contain i386, i686 and noarch. You should
also create the file ~/.rpmmacros containing at least the following line:
"%_topdir /biton/zeitlin/rpm".
also create the file ~/.rpmmacros containing at least a line like this:
"%_topdir /biton/zeitlin/rpm" (replace the directory with $RPM_ROOT, of
course)
In either case, put the file wxGTK-${version}.tar.bz2 in SOURCES
subdirectory and wxGTK.spec in SPECS one (hint: you can just link them from
there - like this you won't forget to update them after redoing "make
there -- like this you won't forget to update them after redoing "make
dist").
b) Start RPM build by going to RPM_ROOT directory and typing "rpm -bb
SPECS/wxGTK.spec". It may be a good idea to append "2&>1 | tee wxGTK.out"
b) Start RPM build by going to RPM_ROOT directory and typing "rpm -ba
SPECS/wxGTK.spec". It may be a good idea to append "2>&1 | tee wxGTK.out"
(or "|& tee" if you're using the one true shell ;-) as it might be not
easy to detect errors in the verbose rpm output if anything goes wrong.
@@ -87,6 +96,15 @@ b) Start RPM build by going to RPM_ROOT directory and typing "rpm -bb
RPMS/i386/wxGTK-gl-${version}-1.i386.rpm
RPMS/i386/wxGTK-static-${version}-1.i386.rpm
Note: you may want to set the environment variable SMP to 3 or 4 on an
SMP machine to speed up the build (it uses "make -j$SMP" if the
variable is set)
c) Test the resulting RPMs: install them using "rpm -i" (or "rpm -U) as usual
and try to build some samples using makefile.unx ("make -f makefile.unx")
so that they use wx-config in the PATH and not from the build tree
3. Building the DEBs
--------------------
@@ -111,18 +129,18 @@ a) FreshMeat:
- hit "new release" at the top
- follow the step by step
b) wx-announce mailing list: mailto:wx-announce@lists.wxwindows.org
b) wx-announce mailing list: mailto:wx-announce@lists.wxwidgets.org
[where is the announcement text? TODO]
c) update www.wxwindows.org
c) update www.wxwidgets.org
d) GNOME (very effective, stays on front page for days):
- http://www.gnome.org/applist
- Search for wxWindows
- Search for wxWidgets
- Update the version number
- Ignore the error message
e) MacNN:
- http://www.macnn.com
- Contact or Contribute or something
@@ -133,7 +151,7 @@ f) MacRumors:
g) Apple Developers Connection:
mailto: adcnews@apple.com
h) LinuxDevices.com:
Interesting for wxUniversal.

View File

@@ -4,7 +4,7 @@
!!!!! NOT YET FINISHED !!!!!
0. Introduction
---------------
===============
This note describes the file format used for storing XRC resources that are
used by wxXmlResource class. It is probably only useful for those implementing
@@ -20,34 +20,44 @@ The XRC format is based on XML 1.0 (please consult W3C's specification). There
is no DTD available since it is not possible to fully describe the format with
the limited expressive power of DTDs.
1. Terminology
--------------
==============
The usual XML terminology applies. In particular, we shall use the terms
"node", "property" and "value" in the XML sense:
NODE, PROPERTY and VALUE in the XML sense:
<node property1="value1" property2="value2">...</node>
The term "attribute" is specific to XRC and refers to a property-less subnode
of an <object> or <object_ref> node. In the example bellow, <pos>, <label> and
<style> are attributes, while neither <resource> nor either of <object>s is:
The term ATTRIBUTE is specific to XRC and refers to a subnode
of an <object> or <object_ref> node that is itself not <object> or <object_ref>.
In the example bellow, <pos>, <label> and <style> are attributes, while neither
<resource> nor either of <object>s is:
<?xml version="1.0" encoding="utf-8">
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.3.0.1">
<object class="wxPanel">
<style>wxSUNKEN_BORDER</style>
<style>wxSUNKEN_BORDER</style> <!-- attr -->
<object class="wxStaticText">
<label>A label</label>
<pos>10,10</pos>
<label>A label</label> <!-- attr -->
<pos>10,10</pos> <!-- attr -->
</object>
</object>
</resource>
ATTRIBUTE VALUE is the content of all text elements within attribute tag. In the
above example, "wxSUNKEN_BORDER", "A label" and "10,10" are attribute values.
ATTRIBUTE TYPE defines what attribute values are valid for given attribute (you
can think of it as attribute value syntax definition).
2. Elementary description
-------------------------
=========================
XRC resource file is a well-formed XML 1.0 document. All elements of XRC file are
from the http://www.wxwindows.org/wxxrc namespace.
from the http://www.wxwidgets.org/wxxrc namespace.
The root node of XRC document must be <resource>. The <resource> node has
optional "version" property. Default version (in absence of the version
@@ -55,35 +65,269 @@ property) is "0.0.0.0". The version consists of four integers separated by
periods. Version of XRC format changes only if there was an incompatible
change introduced (i.e. either the library cannot understand old resource
files or older versions of the library wouldn't understand the new format).
The first three integers are major, minor and release number of the wxWindows
The first three integers are major, minor and release number of the wxWidgets
release when the change was introduced, the last one is revision number and
is 0 for the first incompatible change in given wxWindows release, 1 for
is 0 for the first incompatible change in given wxWidgets release, 1 for
the second etc.
Differences between versions are described within this document in paragraphs
entitled "Version Note".
entitled "Version Note".
The <resource> node contains namespace declaration, too:
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.3.0.1">
The <resource> node is only allowed to have <object> and <object_ref>
subnodes, all of which must have the "name" property.
<object> - TODO (name, class, subclass)
The <object> node represents a single object (GUI element) and it usually maps
directly to a wxWidgets class instance. It three properties: "name", "class"
and "subclass". "class" must always be present, it tells XRC what wxWidgets
object should be created in this place. The other two are optional.
"name" is ID used to identify the object. It is the value passed to the XRCID() macro
and is also used to construct wxWindow's id and name attributes and must be unique
among all children of the neareset container object (wxDialog, wxFrame, wxPanel,
wxNotebook) upside from the object in XML nodes hiearchy (two distinct containers
may contain objects with same "name", though). "subclass" is
optional name of class whose constructor will be called instead of the constructor
for "class". Subclass must be available in the program that loads the resource,
must be derived from "class" and must be registered within wxWidgets' RTTI system.
<object_ref> - TODO (name, ref, subclass)
Example:
<object name="MyList1" class="wxListCtrl" subclass="MyListCtrlClass">
...
</object>
<object> node may have arbitrary child nodes. What child nodes and their semantics
are class-dependent and are defined later in this document. The user is allowed
to register new object handlers within XRC and extend it to accept new <object>
classes (and therefore different <object>'s child nodes).
<object_ref> node is identical to <object>, except that it does _not_ have "class"
property and has additonal required property "ref". It's concept is similar to Unix
symlinks: value of the "ref" property is equal to the value of "name" property of
some existing node (called referred node) in the resources (not neccessary top-level).
Referred node's "class" property and all subnodes are copied in place of the referee
<object_ref> node which is then processed as regular <object> node. If the <object_ref>
node itself has child nodes, then these nodes _override_ any nodes from the referred node.
Example:
<object name="foo" class="wxTextCtrl">
<value>hello</value>
<size>100,-1d</size>
</object>
<object_ref name="bar" ref="foo">
<value>bar</value> <!-- override! -->
</object_ref>
is identical to:
<object name="foo" class="wxTextCtrl">
<value>hello</value>
<size>100,-1d</size>
</object>
<object name="bar" class="wxTextCtrl">
<value>bar</value>
<size>100,-1d</size>
</object>
3. Common attributes
--------------------
TODO
3. Common attribute types
=========================
There are several attribute types (see section 1. Terminology) that are common
to many attributes of different classes:
String
------
Any text. Some characters have special interpretation and are translated
by XRC parser according to this table:
"_" -> "&" ('&' is used to underline e.g. menu items in wxWidgets)
"__" -> "_"
"\n" -> line break (C character '\n')
"\r" -> carriage return (C character '\r')
"\t" -> tabelator (C character '\t')
Version Note:
'$' was used instead of '_' prior to version 2.3.0.1.
I18nString
----------
Like String, but the value is translated to native language using wxLocale
at runtime (unless it was disabled by not passing wxXRC_USE_LOCALE flag to
wxXmlResource constructor). Used for strings that are "visible" in the GUI.
UnsignedInteger
---------------
This is obvious. Only digits 0-9 may be present and there must be at least
one digit.
Integer
-------
Like UnsignedInteger but may be prefixed with '-' (ints less than zero).
Position
--------
Specifies (window's) position in 2D space. Syntax is <integer>,<integer>[d]
where <integer> is valid value of Integer type.
Size
----
Syntax is same as Position's syntax, but the values are interpreted as window
size (wxSize type) and not position (wxPosition type).
Style[wxSomeClass]
------------------
List of style flags that can be passed to wxSomeClass' constructor. Flags are
written in same way as in C++ code (e.g. "wxSUNKEN_BORDER", "wxHW_SCROLLBAR_NEVER")
and are delimined with any combination of whitespaces and '|'. Possible flags
are class-dependent and are not described in this technote. Please refer to wxWidgets
manual for all styles that given class can accept; if XRC does not accept a flag
listed in wxWidgets documentation, it is a bug.
Bitmap
------
Attribute value is interpreted as filename (either absolute or relative to
the location of XRC resource file). In addition, attribute node may have
"stock_id" and "stock_client" properties. Their values may be any of wxArtID (or
wxArtClient respectively) values as used by wxArtProvider (because the user may
define own constants, efectively any string is legal here). Examples are
"wxART_FILE_OPEN" (id) or "wxART_MENU" (client).
Any of "stock_id" or "stock_client" properties or the filename may be omitted. XRC
determines the bitmap to use according to this algorithm:
1. If there is non-empty "stock_id" property, query wxArtProvider for the bitmap
(if there is no "stock_client", use default one, which is usually wxART_OTHER;
exceptions are noted in class-specific sections bellow). If the query fails,
continue to 2.
2. Load the bitmap from the file in attribute value.
Boolean
-------
Boolean value, either "0" (false) or "1" (true).
4. Supported classes
--------------------
====================
Attributes are listed in tables in the following format:
attribute name attribute type default value, if any
[(optional remarks....................
...................................)]
wxBitmap
--------
This is a special case, because it does not create a wxWindow instance but
creates wxBitmap instead. Another exceptional thing is that it does not have
any attributes. Instead, the node itself is interpreted as if it were attribute
of type Bitmap.
Example: <object class="wxBitmap">bitmaps/foo.gif</object>
wxIcon
------
Identical to wxBitmap class, except that it creates wxIcon instead of wxBitmap.
wxButton
--------
position Position -1,-1
size Size -1,-1
style Style[wxButton]
label I18nString
default Boolean false
(Is the button default button?)
wxCalendarCtrl
--------------
position Position -1,-1
size Size -1,-1
style Style[wxCalendarCtrl]
wxCheckBox
----------
position Position -1,-1
size Size -1,-1
style Style[wxCheckBox]
checked Boolean false
wxCheckList
-----------
position Position -1,-1
size Size -1,-1
style Style[wxCheckList]
content (see bellow) (empty)
Optional "content" attribute does not have attribute value. Instead,
arbitrary number of <item> nodes may be rooted under it (the control
is filled with strings contained in these nodes). Each <item>
node must contain I18nString value and may have "checked" property
with possible values "0" or "1" indicating the the item is initially
checked.
Example:
<object class="wxCheckList">
<content>
<item>One</item>
<item checked="1">Two</item>
<item checked="1">Three</item>
<item>Four</item>
</content>
</object>
wxScrolledWindow
----------------
position Position -1,-1
size Size -1,-1
style Style[wxScrolledWindow] wxHSCROLL | wxVSCROLL
wxSplitterWindow
----------------
position Position -1,-1
size Size -1,-1
style Style[wxSplitterWindow] wxSP_3D
sashpos Integer 0
(Initial sash position)
minsize Integer -1
(Minimal panel size)
orientation "horizontal"|"vertical" horizontal
wxSplitterWindow must have at least one and at most two children objects.
If there's only one child object, it is passed to wxSplitterWindow::Initialize
and the splitter is created unsplitted. If there are two children, the
splitter is created splitted, either horizontally or vertically depending
on the value of "orientation" attribute.
wxStatusBar
-----------
fields Integer number of fields
widths Width1, Width2, Width3, ...
5. More features
================
FIXME -- "platform" property handling
TODO
=== EOF ===

View File

@@ -1,4 +1,4 @@
How to add new bitmaps to wxWindows UI elements
How to add new bitmaps to wxWidgets UI elements
===============================================
0. Introduction
@@ -10,7 +10,7 @@ code. This was previously done either by including the bitmap in win32
resource file (include/wx/msw/wx.rc) or by including XPM files in the code.
wxArtProvider should be used instead, to allow users to customize the look of
their wxWindows app. This technote is a detailed description of steps needed
their wxWidgets app. This technote is a detailed description of steps needed
when adding new bitmap/icon.
1. Adding new resource
@@ -78,7 +78,7 @@ client is wxART_OTHER you may write only
-------------------
It is highly desirable to let the users know what stock bitmaps are available
in wxWindows. The "artprov" sample serves this purpose: it contains a browser
in wxWidgets. The "artprov" sample serves this purpose: it contains a browser
dialog that displays all available art resources.
It has to be updated to accomodate for new bitmaps. Fortunately, this is