Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
37a3ddb5b7 This commit was manufactured by cvs2svn to create tag 'wxPy_2_4_0_2'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/wxPy_2_4_0_2@18882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-23 05:55:04 +00:00
556 changed files with 32490 additions and 14152 deletions

1148
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1697,41 +1697,53 @@ if test "$wxUSE_ZLIB" != "no" ; then
AC_DEFINE(wxUSE_ZLIB) AC_DEFINE(wxUSE_ZLIB)
if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is known dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we
dnl to not work) and although I don't know which is the minimal dnl should still use it because hopefully (can someone confirm this?)
dnl required version it's safer to test for 1.1.4 as it fixes a dnl Apple did fix the security problem in it and not using the system
dnl security problem in 1.1.3 -- and hopefully nobody has anything dnl library results in a whole bunch of warnings when linking with
dnl more ancient (1.1.3 was released in July 1998) anyow dnl Carbon framework
AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h, if test "$USE_DARWIN" = 1; then
AC_TRY_RUN( system_zlib_h_ok="yes"
[ else
dnl zlib.h defines ZLIB_VERSION="x.y.z" dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is
#include <zlib.h> dnl known to not work) and although I don't know which is
#include <stdio.h> dnl the minimal required version it's safer to test for 1.1.4 as
dnl it fixes a security problem in 1.1.3 -- and hopefully nobody
dnl has anything more ancient (1.1.3 was released in July 1998)
dnl anyhow
AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
AC_TRY_RUN(
[
dnl zlib.h defines ZLIB_VERSION="x.y.z"
#include <zlib.h>
#include <stdio.h>
dnl don't use the brackets as quotes, we need them dnl don't use the brackets as quotes, we need them
changequote(,) changequote(,)
int main() int main()
{ {
FILE *f=fopen("conftestval", "w"); FILE *f=fopen("conftestval", "w");
if (!f) exit(1); if (!f) exit(1);
fprintf(f, "%s", fprintf(f, "%s",
ZLIB_VERSION[0] == '1' && ZLIB_VERSION[0] == '1' &&
(ZLIB_VERSION[2] > '1' || (ZLIB_VERSION[2] > '1' ||
(ZLIB_VERSION[2] == '1' && (ZLIB_VERSION[2] == '1' &&
ZLIB_VERSION[4] >= '4')) ? "yes" : "no"); ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
exit(0); exit(0);
} }
changequote([,]) changequote([,])
], ],
ac_cv_header_zlib_h=`cat conftestval`, ac_cv_header_zlib_h=`cat conftestval`,
ac_cv_header_zlib_h=no, ac_cv_header_zlib_h=no,
dnl cross-compiling: test if we have any zlib.h dnl cross-compiling: test if we have any zlib.h
AC_CHECK_HEADER(zlib.h) AC_CHECK_HEADER(zlib.h)
)
) )
)
if test "$ac_cv_header_zlib_h" = "yes"; then system_zlib_h_ok=$ac_cv_header_zlib_h
fi
if test "$system_zlib_h_ok" = "yes"; then
AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz") AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz")
fi fi
@@ -2142,36 +2154,52 @@ equivalent variable and GTK+ is version 1.2.3 or above.
AC_MSG_RESULT($MGL_ROOT) AC_MSG_RESULT($MGL_ROOT)
fi fi
AC_MSG_CHECKING(for libmgl location)
dnl Find MGL library that we want dnl Find MGL library that we want
dnl FIXME_MGL - test for MGL variants for freebsd etc. dnl FIXME_MGL - test for MGL variants for freebsd etc.
case "${host}" in case "${host}" in
*-*-linux* ) *-*-linux* )
mgl_os="linux/gcc/glibc*" if test "x$wxUSE_SHARED" = xyes ; then
mgl_os_candidates="linux/gcc/glibc.so linux/gcc/glibc"
else
mgl_os_candidates="linux/gcc/glibc linux/gcc/glibc.so"
fi
;; ;;
*-pc-msdosdjgpp ) *-pc-msdosdjgpp )
mgl_os=dos32/dj2 mgl_os_candidates="dos32/dj2"
;; ;;
*) *)
AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.) AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
esac esac
mgl_lib_type="" mgl_lib_type=""
mgl_os=""
if test "$wxUSE_DEBUG_FLAG" = yes ; then for mgl_os_i in $mgl_os_candidates ; do
if test -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.a -o \ if test "x$mgl_os" = x ; then
-f $MGL_ROOT/lib/debug/$mgl_os/libmgl.so; then if test "$wxUSE_DEBUG_FLAG" = yes ; then
mgl_lib_type=debug if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \
-f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then
mgl_lib_type=debug
mgl_os=$mgl_os_i
fi
fi
if test "x$mgl_lib_type" = x ; then
if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \
-f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then
mgl_lib_type=release
mgl_os=$mgl_os_i
fi
fi
fi fi
fi done
if test "x$mgl_lib_type" = x ; then
if test -f $MGL_ROOT/lib/release/$mgl_os/libmgl.a -o \
-f $MGL_ROOT/lib/release/$mgl_os/libmgl.so; then
mgl_lib_type=release
else
AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
fi
fi
if test "x$mgl_os" = x ; then
AC_MSG_RESULT(not found)
AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
fi
AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os")
wxUSE_UNIVERSAL="yes" wxUSE_UNIVERSAL="yes"
TOOLKIT_INCLUDE="-I$MGL_ROOT/include" TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
@@ -2529,10 +2557,10 @@ equivalent variable and GTK+ is version 1.2.3 or above.
TOOLKIT=PM TOOLKIT=PM
GUIDIST=GTK_DIST GUIDIST=GTK_DIST
AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled]) AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled])
wxUSE_PROLOGIO="yes" wxUSE_PROLOGIO="yes"
wxUSE_RESOURCES="yes" wxUSE_RESOURCES="yes"
AC_MSG_WARN([OS/2 threads are not yet supported... disabled]) AC_MSG_WARN([OS/2 threads are not yet supported... disabled])
wxUSE_THREADS="no" wxUSE_THREADS="no"
fi fi
dnl the name of the directory where the files for this toolkit live dnl the name of the directory where the files for this toolkit live
@@ -2755,12 +2783,24 @@ case "${host}" in
;; ;;
*-*-darwin* ) *-*-darwin* )
dnl Under Mac OS X, the naming conventions for shared libraries
dnl are different: the number precedes the suffix.
WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${WX_CURRENT}.${SO_SUFFIX}"
WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${SO_SUFFIX}"
WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
dnl Under Mac OS X, we should build real frameworks instead of simple dnl Under Mac OS X, we should build real frameworks instead of simple
dnl dynamic shared libraries (in order to embed the resources) dnl dynamic shared libraries (in order to embed the resources)
if test "$wxUSE_MAC" = 1; then if test "$wxUSE_MAC" = 1; then
dnl the name of the resources file for wxMac dnl base name of the resource file for wxMac must be the same
WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r" dnl as library installation base name (-install_name)
WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.rsrc" WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.${WX_CURRENT}.r"
WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc"
fi fi
;; ;;
esac esac
@@ -2891,8 +2931,11 @@ if test "$wxUSE_SHARED" = "yes"; then
dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
SHARED_LD="\${top_srcdir}/distrib/mac/shared-ld-sh -undefined suppress -flat_namespace -o" SHARED_LD="\${top_srcdir}/distrib/mac/shared-ld-sh -undefined suppress -flat_namespace -o"
PIC_FLAG="-dynamic -fPIC" PIC_FLAG="-dynamic -fPIC"
SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION}" dnl library installation base name and wxMac resources file base name
SONAME_FLAGS_GL=${SONAME_FLAGS} dnl must be identical in order for the resource file to be found at
dnl run time in src/mac/app.cpp
SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION} -install_name \$(libdir)/${WX_LIBRARY_LINK1}"
SONAME_FLAGS_GL="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION} -install_name \$(libdir)/${WX_LIBRARY_LINK1_GL}"
;; ;;
*-*-aix* ) *-*-aix* )
@@ -2915,12 +2958,12 @@ if test "$wxUSE_SHARED" = "yes"; then
PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1" PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
dnl install shared libs without symlinks dnl Don't build seperate GL library
WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
if test "$wxUSE_OPENGL" = "yes"; then if test "$wxUSE_OPENGL" = "yes"; then
WX_ALL_INSTALLED="preinstall_gl" LIBS="${LIBS} ${OPENGL_LIBS}"
WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
else
WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
fi fi
;; ;;
@@ -5458,6 +5501,10 @@ echo " Should wxWindows be compiled in debug mode? ${wxUSE_DEBUG:-n
echo " Should wxWindows be linked as a shared library? ${wxUSE_SHARED:-no}" echo " Should wxWindows be linked as a shared library? ${wxUSE_SHARED:-no}"
echo " Should wxWindows be compiled in Unicode mode? ${wxUSE_UNICODE:-no}" echo " Should wxWindows be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
echo " What level of wxWindows compatibility should be enabled?"
echo " wxWindows 2.0 ${WXWIN_COMPATIBILITY_2:-no}"
echo " wxWindows 2.2 ${WXWIN_COMPATIBILITY_2_2:-yes}"
echo " Which libraries should wxWindows use?" echo " Which libraries should wxWindows use?"
echo " jpeg ${wxUSE_LIBJPEG-none}" echo " jpeg ${wxUSE_LIBJPEG-none}"
echo " png ${wxUSE_LIBPNG-none}" echo " png ${wxUSE_LIBPNG-none}"

View File

@@ -0,0 +1,11 @@
aaaa ICON "mondrian.ico"
/* Useful if PROVIDE_DEFAULT_ICONS is set in wx_setup.h */
#define IHaveMDIParentIcon
#define IHaveMDIChildIcon
mondrian ICON "mondrian.ico"
#include "wx/msw/wx.rc"
svgbitmap BITMAP "SVGlogo24.bmp"

View File

@@ -301,7 +301,8 @@ bool wxMapiSession::Send(wxMailMessage& message)
//Setup the "To" recipients //Setup the "To" recipients
int nRecipIndex = 0; int nRecipIndex = 0;
int nToSize = message.m_to.GetCount(); int nToSize = message.m_to.GetCount();
for (int i=0; i<nToSize; i++) int i;
for (i=0; i<nToSize; i++)
{ {
MapiRecipDesc& recip = mapiMessage.lpRecips[nRecipIndex]; MapiRecipDesc& recip = mapiMessage.lpRecips[nRecipIndex];
ZeroMemory(&recip, sizeof(MapiRecipDesc)); ZeroMemory(&recip, sizeof(MapiRecipDesc));

View File

@@ -30,12 +30,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#endif
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>
@@ -607,7 +601,8 @@ void wxShape::FormatText(wxDC& dc, const wxString& s, int i)
return; return;
wxShapeRegion *region = (wxShapeRegion *)node->Data(); wxShapeRegion *region = (wxShapeRegion *)node->Data();
region->SetText(s); // region->SetText(s); // don't set the formatted text yet, it will be done below
region->m_regionText = s;
dc.SetFont(* region->GetFont()); dc.SetFont(* region->GetFont());
region->GetSize(&w, &h); region->GetSize(&w, &h);

View File

@@ -30,12 +30,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#endif
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>

View File

@@ -30,12 +30,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#endif
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>
#include <stdlib.h> #include <stdlib.h>

View File

@@ -31,12 +31,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#endif
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>

View File

@@ -32,11 +32,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#endif
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>
#include <stdlib.h> #include <stdlib.h>

View File

@@ -30,17 +30,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#include <fstream.h>
#else
#include <iostream>
#include <fstream>
#ifdef _MSC_VER
//using namespace std;
#endif
#endif
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>
#include <stdlib.h> #include <stdlib.h>

View File

@@ -32,11 +32,6 @@
#undef new #undef new
#endif #endif
#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#endif
#include <ctype.h> #include <ctype.h>
#include <math.h> #include <math.h>
#include <stdlib.h> #include <stdlib.h>

View File

@@ -430,9 +430,11 @@ int SurfaceImpl::WidthText(Font &font, const char *s, int len) {
void SurfaceImpl::MeasureWidths(Font &font, const char *s, int len, int *positions) { void SurfaceImpl::MeasureWidths(Font &font, const char *s, int len, int *positions) {
wxString str = stc2wx(s, len); wxString str = stc2wx(s, len);
SetFont(font); SetFont(font);
#ifndef __WXMAC__
// Calculate the position of each character based on the widths of // Calculate the position of each character based on the widths of
// the previous characters // the previous characters
int* tpos = new int[len]; int* tpos = new int[len];
@@ -444,9 +446,26 @@ void SurfaceImpl::MeasureWidths(Font &font, const char *s, int len, int *positio
totalWidth += w; totalWidth += w;
tpos[i] = totalWidth; tpos[i] = totalWidth;
} }
#else
// Instead of a running total, remeasure from the begining of the
// text for each character's position. This is because with AA fonts
// on OS X widths can be fractions of pixels wide when more than one
// are drawn together, so the sum of all character widths is not necessariy
// (and probably not) the same as the whole string width.
int* tpos = new int[len];
size_t i;
for (i=0; i<str.Length(); i++) {
int w, h;
hdc->GetTextExtent(str.Left(i+1), &w, &h);
tpos[i] = w;
}
#endif
#if wxUSE_UNICODE #if wxUSE_UNICODE
// Map the widths for UCS-2 characters back to the UTF-8 input string // Map the widths for UCS-2 characters back to the UTF-8 input string
// NOTE: I don't think this is right for when sizeof(wxChar) > 2, ie wxGTK2
// so figure it out and fix it!
i = 0; i = 0;
size_t ui = 0; size_t ui = 0;
while (i < len) { while (i < len) {

View File

@@ -407,6 +407,11 @@ void ScintillaWX::AddToPopUp(const char *label, int cmd, bool enabled) {
// This is called by the Editor base class whenever something is selected // This is called by the Editor base class whenever something is selected
void ScintillaWX::ClaimSelection() { void ScintillaWX::ClaimSelection() {
#if 0
// Until wxGTK is able to support using both the primary selection and the
// clipboard at the same time I think it causes more problems than it is
// worth to implement this method. Selecting text should not clear the
// clipboard. --Robin
#ifdef __WXGTK__ #ifdef __WXGTK__
// Put the selected text in the PRIMARY selection // Put the selected text in the PRIMARY selection
if (currentPos != anchor) { if (currentPos != anchor) {
@@ -421,6 +426,7 @@ void ScintillaWX::ClaimSelection() {
} }
} }
#endif #endif
#endif
} }
@@ -573,6 +579,8 @@ void ScintillaWX::DoMouseWheel(int rotation, int delta,
} }
} }
else { // otherwise just scroll the window else { // otherwise just scroll the window
if ( !delta )
delta = 120;
wheelRotation += rotation; wheelRotation += rotation;
lines = wheelRotation / delta; lines = wheelRotation / delta;
wheelRotation -= lines * delta; wheelRotation -= lines * delta;
@@ -678,7 +686,9 @@ int ScintillaWX::DoKeyDown(int key, bool shift, bool ctrl, bool alt, bool* cons
case WXK_RIGHT: key = SCK_RIGHT; break; case WXK_RIGHT: key = SCK_RIGHT; break;
case WXK_HOME: key = SCK_HOME; break; case WXK_HOME: key = SCK_HOME; break;
case WXK_END: key = SCK_END; break; case WXK_END: key = SCK_END; break;
case WXK_PAGEUP: // fall through
case WXK_PRIOR: key = SCK_PRIOR; break; case WXK_PRIOR: key = SCK_PRIOR; break;
case WXK_PAGEDOWN: // fall through
case WXK_NEXT: key = SCK_NEXT; break; case WXK_NEXT: key = SCK_NEXT; break;
case WXK_DELETE: key = SCK_DELETE; break; case WXK_DELETE: key = SCK_DELETE; break;
case WXK_INSERT: key = SCK_INSERT; break; case WXK_INSERT: key = SCK_INSERT; break;

View File

@@ -1182,10 +1182,21 @@ static XRCID_record *XRCID_Records[XRCID_TABLE_SIZE] = {NULL};
XRCID_record **rec_var = (oldrec == NULL) ? XRCID_record **rec_var = (oldrec == NULL) ?
&XRCID_Records[index] : &oldrec->next; &XRCID_Records[index] : &oldrec->next;
*rec_var = new XRCID_record; *rec_var = new XRCID_record;
(*rec_var)->id = ++XRCID_LastID;
(*rec_var)->key = wxStrdup(str_id); (*rec_var)->key = wxStrdup(str_id);
(*rec_var)->next = NULL; (*rec_var)->next = NULL;
wxChar *end;
int asint = wxStrtol(str_id, &end, 10);
if (*str_id && *end == 0)
{
// if str_id was integer, keep it verbosely:
(*rec_var)->id = asint;
}
else
{
(*rec_var)->id = ++XRCID_LastID;
}
return (*rec_var)->id; return (*rec_var)->id;
} }

View File

@@ -8,6 +8,9 @@
#include <wx/ffile.h> #include <wx/ffile.h>
#include "wx/resource.h" #include "wx/resource.h"
#if !wxUSE_WX_RESOURCES
#error "convertc requires wxUSE_WX_RESOURCES"
#endif // wxUSE_WX_RESOURCES
class wxr2xml : public wxObject class wxr2xml : public wxObject
{ {

View File

@@ -488,14 +488,14 @@ void EditorFrame::OnTreeSel(wxTreeEvent& event)
if (node) if (node)
PropertiesFrame::Get()->ShowProps(node); PropertiesFrame::Get()->ShowProps(node);
if (m_TreeCtrl->GetParent(event.GetItem()) == m_TreeCtrl->GetRootItem()) if (m_TreeCtrl->GetItemParent(event.GetItem()) == m_TreeCtrl->GetRootItem())
{ {
wxTreeItemId it = event.GetOldItem(); wxTreeItemId it = event.GetOldItem();
if (it.IsOk() && m_TreeCtrl->GetRootItem() != it) if (it.IsOk() && m_TreeCtrl->GetRootItem() != it)
{ {
while (m_TreeCtrl->GetParent(it) != m_TreeCtrl->GetRootItem()) while (m_TreeCtrl->GetItemParent(it) != m_TreeCtrl->GetRootItem())
it = m_TreeCtrl->GetParent(it); it = m_TreeCtrl->GetItemParent(it);
m_TreeCtrl->Collapse(it); m_TreeCtrl->Collapse(it);
} }
RecursivelyExpand(m_TreeCtrl, event.GetItem()); RecursivelyExpand(m_TreeCtrl, event.GetItem());
@@ -563,7 +563,7 @@ void EditorFrame::OnToolbar(wxCommandEvent& event)
void EditorFrame::DeleteSelectedNode() void EditorFrame::DeleteSelectedNode()
{ {
XmlTreeData *dt = (XmlTreeData*) XmlTreeData *dt = (XmlTreeData*)
(m_TreeCtrl->GetItemData(m_TreeCtrl->GetParent(m_TreeCtrl->GetSelection()))); (m_TreeCtrl->GetItemData(m_TreeCtrl->GetItemParent(m_TreeCtrl->GetSelection())));
wxXmlNode *n = (dt) ? dt->Node : NULL; wxXmlNode *n = (dt) ? dt->Node : NULL;
m_SelectedNode->GetParent()->RemoveChild(m_SelectedNode); m_SelectedNode->GetParent()->RemoveChild(m_SelectedNode);
@@ -579,7 +579,7 @@ void EditorFrame::OnNewNode(wxCommandEvent& event)
{ {
XmlTreeData *pardt = XmlTreeData *pardt =
(XmlTreeData*)(m_TreeCtrl->GetItemData( (XmlTreeData*)(m_TreeCtrl->GetItemData(
m_TreeCtrl->GetParent(m_TreeCtrl->GetSelection()))); m_TreeCtrl->GetItemParent(m_TreeCtrl->GetSelection())));
if (pardt && pardt->Node && pardt->Node != m_Resource->GetRoot()) if (pardt && pardt->Node && pardt->Node != m_Resource->GetRoot())
{ {
@@ -683,7 +683,7 @@ void EditorFrame::OnRightClickTree(wxPoint pos)
XmlTreeData *pardt = XmlTreeData *pardt =
(XmlTreeData*)(m_TreeCtrl->GetItemData( (XmlTreeData*)(m_TreeCtrl->GetItemData(
m_TreeCtrl->GetParent(m_TreeCtrl->GetSelection()))); m_TreeCtrl->GetItemParent(m_TreeCtrl->GetSelection())));
if (pardt && pardt->Node && pardt->Node != m_Resource->GetRoot()) if (pardt && pardt->Node && pardt->Node != m_Resource->GetRoot())
{ {
wxXmlNode *nd = pardt->Node; wxXmlNode *nd = pardt->Node;
@@ -748,7 +748,7 @@ void EditorFrame::OnClipboardAction(wxCommandEvent& event)
{ {
XmlTreeData *pardt = XmlTreeData *pardt =
(XmlTreeData*)(m_TreeCtrl->GetItemData( (XmlTreeData*)(m_TreeCtrl->GetItemData(
m_TreeCtrl->GetParent(m_TreeCtrl->GetSelection()))); m_TreeCtrl->GetItemParent(m_TreeCtrl->GetSelection())));
if (pardt && pardt->Node && pardt->Node != m_Resource->GetRoot()) if (pardt && pardt->Node && pardt->Node != m_Resource->GetRoot())
{ {

View File

@@ -172,7 +172,7 @@ class PropEditCtrlCoordXY : public PropEditCtrlInt
wxString prev = XmlReadValue(GetNode(), m_PropInfo->Name); wxString prev = XmlReadValue(GetNode(), m_PropInfo->Name);
if (prev[prev.Len()-1] == _T('d')) s << _T('d'); if (prev[prev.Len()-1] == _T('d')) s << _T('d');
XmlWriteValue(GetNode(), m_PropInfo->Name, s); XmlWriteValue(GetNode(), m_PropInfo->Name, s);
m_TreeCtrl->SetItemBold(m_TreeCtrl->GetParent(m_TreeItem), TRUE); m_TreeCtrl->SetItemBold(m_TreeCtrl->GetItemParent(m_TreeItem), TRUE);
} }
virtual wxString GetValueAsText(wxTreeItemId ti) virtual wxString GetValueAsText(wxTreeItemId ti)
@@ -228,7 +228,7 @@ class PropEditCtrlCoordDlg : public PropEditCtrlBool
wxString s = XmlReadValue(GetNode(), m_PropInfo->Name).BeforeFirst(_T('d')); wxString s = XmlReadValue(GetNode(), m_PropInfo->Name).BeforeFirst(_T('d'));
if (m_Choice->GetSelection() == 1) s << _T('d'); if (m_Choice->GetSelection() == 1) s << _T('d');
XmlWriteValue(GetNode(), m_PropInfo->Name, s); XmlWriteValue(GetNode(), m_PropInfo->Name, s);
m_TreeCtrl->SetItemBold(m_TreeCtrl->GetParent(m_TreeItem), TRUE); m_TreeCtrl->SetItemBold(m_TreeCtrl->GetItemParent(m_TreeItem), TRUE);
} }
virtual wxString GetValueAsText(wxTreeItemId ti) virtual wxString GetValueAsText(wxTreeItemId ti)
@@ -309,7 +309,7 @@ class PropEditCtrlDimX : public PropEditCtrlInt
s = m_c; s = m_c;
if (dlg) s << _T('d'); if (dlg) s << _T('d');
XmlWriteValue(GetNode(), m_PropInfo->Name, s); XmlWriteValue(GetNode(), m_PropInfo->Name, s);
m_TreeCtrl->SetItemBold(m_TreeCtrl->GetParent(m_TreeItem), TRUE); m_TreeCtrl->SetItemBold(m_TreeCtrl->GetItemParent(m_TreeItem), TRUE);
} }
virtual wxString GetValueAsText(wxTreeItemId ti) virtual wxString GetValueAsText(wxTreeItemId ti)

View File

@@ -27,12 +27,12 @@ wxwin-i18n message catalogs for native language support
The following three can be built from the source package The following three can be built from the source package
with the mingw32 cross compiler, but are not currently with the mingw32 cross compiler, but are not currently
distributed by Debian. If you feel that should change, distributed by Debian. If you feel that should change,
please file a bug against the wxwindows2.2 package, or please file a bug against the wxwindows2.4 package, or
append your views to a report already there if you're not append your views to a report already there if you're not
the first to do so. the first to do so.
[ you can check the current state of affairs at: [ you can check the current state of affairs at:
http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=wxwindows2.2 ] http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=wxwindows2.4 ]
Oh and, please do *not* file bug reports for these packages Oh and, please do *not* file bug reports for these packages
to the Debian bts. But do feel free to email me personally to the Debian bts. But do feel free to email me personally
@@ -44,7 +44,9 @@ libwxbase-msw-dev mingw32-cross wxBase libs.
libwxbase-msw-dbg mingw32-cross wxBase (debug) libs. libwxbase-msw-dbg mingw32-cross wxBase (debug) libs.
wxwin-headers-msw extra headers needed for wxMSW. wxwin-headers-msw extra headers needed for wxMSW.
libwxgtk-univ wxUniversal for Gtk. libwxgtk-univ wxUniversal for Gtk. NOTE this package is obsolete
and will be replaced by wxX11 and wxX11-univ at
some future time.
-- Ron Lee <ron@debian.org>, Sun, 13 Feb 2000 18:40:00 +1030 -- Ron Lee <ron@debian.org>, Sun, 13 Feb 2000 18:40:00 +1030

22
debian/changelog vendored
View File

@@ -1,6 +1,28 @@
wxwindows2.4 (2.4.1) unstable; urgency=low
* Removed unnecessary -dev deps.
* move wxwin.m4 &c out of the runtime package and conflict with earlier
versions that didn't. Also nuke some empty dir cruft that slipped by.
Thanks for noticing the latter Josip. Closes: #176033
* dinstall won't close bugs from earlier unreleased versions :(
see below for explanations. Closes: #162948, #171258, #168148
Closes: #170748, #168250, #164557, #172390, #172447, #168887
Closes: #155476, #155478
-- Ron Lee <ron@debian.org> Thu, 16 Jan 2003 16:46:31 -0800
wxwindows2.4 (2.4.0) unstable; urgency=low wxwindows2.4 (2.4.0) unstable; urgency=low
* The fingers crossed release. * The fingers crossed release.
* de.po typo fix. Closes: #174084
* tr.po stable tree patch. Closes: #174667
* Add a manpage for the wxPython scripts pointing to the pydoc docs.
* Disabled generation of gtk-univ, it is a rather insensible combination
now and should be replaced by x11-univ instead.
* There had to be some payoff to all the delays -- a clean gcc3.2
transition :-) This package certainly obsoletes 2.3.3.2 and I'll
be seeking to finally have 2.2.9.2 removed as well once Audacity
is updated.
-- Ron Lee <ron@debian.org> Thu, 19 Dec 2002 00:50:48 -0800 -- Ron Lee <ron@debian.org> Thu, 19 Dec 2002 00:50:48 -0800

60
debian/control.in vendored
View File

@@ -1,9 +1,9 @@
Source: wxwindows=V Source: wxwindows=V
Section: libs Section: libs
Priority: optional Priority: optional
Build-Depends: debhelper (>=2.0), flex, bison, gettext, libgtk1.2-dev, python (>=2.2), python (<<2.3), python2.2-dev, zlib1g-dev, libjpeg62-dev, libpng3-dev, libtiff3g-dev, libgl-dev, libesd0-dev Build-Depends: debhelper (>=2.0), flex, bison, gettext, libgtk1.2-dev, python (>=2.2), python (<<2.3), python2.2-dev, zlib1g-dev, libjpeg62-dev, libpng12-0-dev, libtiff3g-dev, libgl-dev, libglu-dev, libesd0-dev
Maintainer: Ron Lee <ron@debian.org> Maintainer: Ron Lee <ron@debian.org>
Standards-Version: 3.5.7.0 Standards-Version: 3.5.8.0
Package: libwxbase=V Package: libwxbase=V
Architecture: any Architecture: any
@@ -18,14 +18,14 @@ Description: wxBase library (runtime) - non-GUI support classes of wxWindows too
wxBase currently supports the following platforms: Generic Unix (Linux, FreeBSD, wxBase currently supports the following platforms: Generic Unix (Linux, FreeBSD,
Solaris, HP-UX, ...), win32, and BeOS. Solaris, HP-UX, ...), win32, and BeOS.
. .
This package is only useful for non-gui apps. It offers a subset of the This package is only useful for non-GUI apps. It offers a subset of the
classes in libwx_gtk=V for use in console apps and daemons. It is currently classes in libwx_gtk=V for use in console apps and daemons. You do not need
under development and may not be as stable as the gui version. this package to build or use wxWindows GUI apps.
Package: libwxbase=V-dev Package: libwxbase=V-dev
Architecture: any Architecture: any
Section: devel Section: devel
Depends: wxwin=V-headers (= ${Source-Version}), libwxbase=V (= ${Source-Version}), zlib1g-dev, libc6-dev Depends: wxwin=V-headers (= ${Source-Version}), libwxbase=V (= ${Source-Version}), libc6-dev
Suggests: wxwin=V-doc, gettext Suggests: wxwin=V-doc, gettext
Conflicts: libwxbase-dev Conflicts: libwxbase-dev
Replaces: libwxbase-dev Replaces: libwxbase-dev
@@ -81,7 +81,7 @@ Description: wxWindows Cross-platform C++ GUI toolkit (GTK+ runtime)
Package: libwxgtk=V-dev Package: libwxgtk=V-dev
Architecture: any Architecture: any
Section: devel Section: devel
Depends: wxwin=V-headers (= ${Source-Version}), libwxgtk=V (= ${Source-Version}), libgtk1.2-dev, zlib1g-dev, libjpeg62-dev, libpng-dev, libtiff3g-dev, libc6-dev Depends: wxwin=V-headers (= ${Source-Version}), libwxgtk=V (= ${Source-Version}), libc6-dev
Suggests: wxwin=V-doc, libstdc++-dev, gettext, libgl-dev Suggests: wxwin=V-doc, libstdc++-dev, gettext, libgl-dev
Conflicts: libwxgtk-dev Conflicts: libwxgtk-dev
Replaces: libwxgtk-dev, wxgtk2.1-dev Replaces: libwxgtk-dev, wxgtk2.1-dev
@@ -117,16 +117,18 @@ Package: libwxgtk=V-python
Architecture: any Architecture: any
Section: interpreters Section: interpreters
Depends: python (>=2.2), python (<<2.3), ${shlibs:Depends} Depends: python (>=2.2), python (<<2.3), ${shlibs:Depends}
Suggests: wxwin=V-doc, wxwin=V-examples Suggests: wxwin=V-doc, wxwin=V-examples, python2.2-xml
Conflicts: libwxgtk=V-python-contrib, python-wxwin, libwxgtk2.2-python Conflicts: libwxgtk-python, python-wxwin, libwxgtk2.2-python-contrib, libwxgtk2.2-python, libwxgtk2.3-python
Replaces: libwxgtk=V-python-contrib, python-wxwin, libwxgtk2.2-python Replaces: libwxgtk-python, python-wxwin, libwxgtk2.2-python-contrib, libwxgtk2.2-python, libwxgtk2.3-python
Provides: libwxgtk-python
Description: wxWindows Cross-platform C++ GUI toolkit (wxPython binding) Description: wxWindows Cross-platform C++ GUI toolkit (wxPython binding)
wxWindows is a class library for C++ providing GUI (Graphical User wxWindows is a class library for C++ providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version =V Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows. currently supports subsets of GTK+, Motif, and MS Windows.
. .
This package provides a Python binding to the wxGTK library and it's This package provides a Python binding to the wxGTK library and it's
contrib libs. contrib libs. If you wish to use xrced you'll also need the python-xml
package installed.
Package: libwxgtk=V-contrib Package: libwxgtk=V-contrib
Architecture: any Architecture: any
@@ -137,21 +139,7 @@ Description: wxWindows Cross-platform C++ GUI toolkit (runtime contrib libs)
Interface) and other facilities on more than one platform. Version =V Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows. currently supports subsets of GTK+, Motif, and MS Windows.
. .
This package provides the contrib libs of the wxWindows source tree This package provides the contrib libs from the wxWindows source tree
(mmedia, ogl, stc)
Package: libwxgtk=V-univ
Architecture: any
Section: libs
Depends: wxwin=V-headers (= ${Source-Version}), libwxgtk=V (= ${Source-Version}), libgtk1.2-dev, zlib1g-dev, libjpeg62-dev, libpng-dev, libtiff3g-dev, libc6-dev, ${shlibs:Depends}
Suggests: wxwin=V-doc, libstdc++-dev, gettext, libgl-dev
Description: wxWindows Cross-platform C++ GUI toolkit (wxUNIVERSAL widgets)
wxWindows is a class library for C++ providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows.
.
This package is built to use the wxUNIVERSAL widget set instead of
native gtk widgets.
Package: libwxgtk=V-contrib-dev Package: libwxgtk=V-contrib-dev
Architecture: any Architecture: any
@@ -166,12 +154,12 @@ Description: wxWindows Cross-platform C++ GUI toolkit (development contrib libs)
currently supports subsets of GTK+, Motif, and MS Windows. currently supports subsets of GTK+, Motif, and MS Windows.
. .
Install this package if you wish to compile applications that use the Install this package if you wish to compile applications that use the
contrib libs from the wxWindows source tree (mmedia, ogl, stc) contrib libs from the wxWindows source tree.
Package: wxwin=V-headers Package: wxwin=V-headers
Architecture: any Architecture: any
Section: devel Section: devel
Conflicts: wxwin-headers Conflicts: wxwin-headers, libwxgtk2.3
Replaces: wxwin-headers, wxgtk2.1-dev Replaces: wxwin-headers, wxgtk2.1-dev
Provides: wxwin-headers Provides: wxwin-headers
Description: wxWindows Cross-platform C++ GUI toolkit (header files) Description: wxWindows Cross-platform C++ GUI toolkit (header files)
@@ -215,7 +203,21 @@ Description: wxWindows Cross-platform C++ GUI toolkit (examples)
Interface) and other facilities on more than one platform. Version =V Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows. currently supports subsets of GTK+, Motif, and MS Windows.
. .
This package contains examples of using the wxWindows toolkit. This package contains examples of using the wxWindows toolkit in
C++ and with the wxPython language binding.
Package: libwxgtk=V-univ
Architecture: any
Section: libs
Depends: wxwin=V-headers (= ${Source-Version}), libwxgtk=V (= ${Source-Version}), libc6-dev, ${shlibs:Depends}
Suggests: wxwin=V-doc, libstdc++-dev, gettext, libgl-dev
Description: wxWindows Cross-platform C++ GUI toolkit (wxUNIVERSAL widgets)
wxWindows is a class library for C++ providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows.
.
This package is built to use the wxUNIVERSAL widget set instead of
native gtk widgets.
Package: libwxbase-msw=V-dev Package: libwxbase-msw=V-dev
Architecture: i386 Architecture: i386

3
debian/copyright vendored
View File

@@ -29,7 +29,8 @@ alters the actual terms of the authorative licence detailed below, it is
intended to be purely informative of the fact that the Debian binary packages intended to be purely informative of the fact that the Debian binary packages
will be built primarily with features useful to Free Software developers and will be built primarily with features useful to Free Software developers and
may not be suitable "as is" for compiling software for distribution that is may not be suitable "as is" for compiling software for distribution that is
licenced incompatibly with the LGPL. licenced incompatibly with the LGPL. See /usr/share/common-licenses for
the full text of the LGPL.
Modifications and additions to the Library itself are encouraged to be Modifications and additions to the Library itself are encouraged to be
placed under the wxWindows Library Licence. We hope you find it useful. placed under the wxWindows Library Licence. We hope you find it useful.

View File

@@ -1,4 +0,0 @@
usr/bin/wxbase-=V-config
usr/lib/wx/include/base-=V/wx/setup.h
usr/lib/libwx_base*.so

View File

@@ -1,3 +1,2 @@
usr/bin
usr/lib usr/lib

View File

@@ -1,12 +0,0 @@
usr/include/wx/
usr/lib/libwx_gtk_canvas-*.so
usr/lib/libwx_gtk_dcsvg-*.so
usr/lib/libwx_gtk_fl-*.so
usr/lib/libwx_gtk_gizmos-*.so
usr/lib/libwx_gtk_mmedia-*.so
usr/lib/libwx_gtk_net-*.so
usr/lib/libwx_gtk_ogl-*.so
usr/lib/libwx_gtk_plot-*.so
usr/lib/libwx_gtk_stc-*.so
usr/lib/libwx_gtk_xrc-*.so

View File

@@ -1,4 +0,0 @@
usr/bin/wxgtk-=V-config
usr/lib/wx/include/gtk-=V/wx/setup.h
usr/lib/libwx_gtk*.so

View File

@@ -1,4 +0,0 @@
usr/lib/=PY/site-packages/wxPython
usr/lib/libwxPyHelpers*.so
usr/lib/libwxPyHelpers*.so.*

View File

@@ -1,7 +1,7 @@
?package(libwxgtk2.3-python):needs=X11 section=Apps/Programming\ ?package(libwxgtk=V-python):needs=X11 section=Apps/Programming\
title="pycrust" command="/usr/bin/pycrust" title="pycrust" command="/usr/bin/pycrust"
?package(libwxgtk2.3-python):needs=X11 section=Apps/Programming\ ?package(libwxgtk=V-python):needs=X11 section=Apps/Programming\
title="pyshell" command="/usr/bin/pyshell" title="pyshell" command="/usr/bin/pyshell"
?package(libwxgtk2.3-python):needs=X11 section=Apps/Programming\ ?package(libwxgtk=V-python):needs=X11 section=Apps/Programming\
title="xrced" command="/usr/bin/xrced" title="xrced" command="/usr/bin/xrced"

View File

@@ -1,3 +1,2 @@
usr/lib usr/lib
usr/share/wx/afm usr/share
usr/share/wx/gs_afm

View File

@@ -1,4 +1,3 @@
libwxgtk2.3-dbg: non-dev-pkg-with-shlib-symlink libwxgtk2.4-dbg: non-dev-pkg-with-shlib-symlink
libwxbase2.3-dbg: non-dev-pkg-with-shlib-symlink libwxbase2.4-dbg: non-dev-pkg-with-shlib-symlink
libwxgtk2.3-univ: non-dev-pkg-with-shlib-symlink

288
debian/rules vendored
View File

@@ -49,6 +49,8 @@ objdir_wxbase_debug=objs_wxbase_d
objdir_gtk_shared=objs_gtk_sh objdir_gtk_shared=objs_gtk_sh
objdir_gtk_static=objs_gtk_st objdir_gtk_static=objs_gtk_st
objdir_gtk_debug=objs_gtk_d objdir_gtk_debug=objs_gtk_d
objdir_gtk_install=objs_gtk_install
objdir_gtk_contrib_install=objs_gtk_contrib_install
objdir_doc_cruft=objs_doc_con objdir_doc_cruft=objs_doc_con
objdir_doc=docs/wxWindows-manual.html objdir_doc=docs/wxWindows-manual.html
objdir_examples=docs/examples objdir_examples=docs/examples
@@ -65,10 +67,13 @@ objdir_msw_static=objs_msw_st
objdir_msw_dbg=objs_msw_d objdir_msw_dbg=objs_msw_d
objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \ objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \
$(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) $(objdir_gtk_univ) \ $(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) \
$(objdir_univ_install) $(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \ $(objdir_gtk_install) $(objdir_gtk_contrib_install) $(objdir_gtk_univ) \
$(objdir_wxbase_msw_shared) $(objdir_wxbase_msw_static) $(objdir_wxbase_msw_dbg) \ $(objdir_univ_install) $(objdir_doc_cruft) $(objdir_doc) \
$(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) $(objdir_examples) \
$(objdir_wxbase_msw_shared) $(objdir_wxbase_msw_static) \
$(objdir_wxbase_msw_dbg) $(objdir_msw_shared) $(objdir_msw_static) \
$(objdir_msw_dbg)
# note that the i18n package is actually arch indep (once built) # note that the i18n package is actually arch indep (once built)
# but must be built (and installed) during the arch any phase as # but must be built (and installed) during the arch any phase as
@@ -78,10 +83,12 @@ objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \
build_arch_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \ build_arch_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \
build-wxbase-debug-stamp build-gtk-shared-stamp \ build-wxbase-debug-stamp build-gtk-shared-stamp \
build-gtk-static-stamp build-gtk-debug-stamp \ build-gtk-static-stamp build-gtk-debug-stamp \
build-gtk-univ-stamp \
build-contrib-shared-stamp build-contrib-static-stamp \ build-contrib-shared-stamp build-contrib-static-stamp \
build-gtk-py-stamp build-i18n-stamp build-gtk-py-stamp build-i18n-stamp
# disable gtk-univ build, we'll replace it with x11-univ later.
# build-gtk-univ-stamp
build_indep_stamps=build-examples-stamp build-doc-stamp build_indep_stamps=build-examples-stamp build-doc-stamp
build_cross_stamps=build-wxbase-msw-shared-stamp build-wxbase-msw-static-stamp \ build_cross_stamps=build-wxbase-msw-shared-stamp build-wxbase-msw-static-stamp \
@@ -95,10 +102,12 @@ build_stamps=$(build_stamps_native) $(build_cross_stamps)
# Install targets: # Install targets:
install_all_arch=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \ install_all_arch=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \ install-gtk-lib install-gtk-dev install-gtk-dbg \
install-gtk-univ \
install-gtk-contrib install-gtk-contrib-dev install-gtk-py \ install-gtk-contrib install-gtk-contrib-dev install-gtk-py \
install-headers install-i18n install-headers install-i18n
# disable gtk-univ build, we'll replace it with x11-univ later.
# install-gtk-univ
install_all_indep=install-examples install-doc install_all_indep=install-examples install-doc
install_all_cross=install-wxbase-msw-dev install-wxbase-msw-dbg install-msw-dev install-msw-dbg install-headers-msw install_all_cross=install-wxbase-msw-dev install-wxbase-msw-dbg install-msw-dev install-msw-dbg install-headers-msw
@@ -124,7 +133,7 @@ control-files-stamp: debian/control
echo "generating control file $(package_wxbase_lib).$$f"; \ echo "generating control file $(package_wxbase_lib).$$f"; \
cp debian/libwxbase.$$f debian/$(package_wxbase_lib).$$f; \ cp debian/libwxbase.$$f debian/$(package_wxbase_lib).$$f; \
done; done;
@for f in dirs files links postinst prerm; do \ @for f in dirs links postinst prerm; do \
echo "generating control file $(package_wxbase_dev).$$f"; \ echo "generating control file $(package_wxbase_dev).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxbase-dev.$$f \ sed -e 's/=V/$(release)/g' < debian/libwxbase-dev.$$f \
> debian/$(package_wxbase_dev).$$f; \ > debian/$(package_wxbase_dev).$$f; \
@@ -138,7 +147,7 @@ control-files-stamp: debian/control
echo "generating control file $(package_gtk_lib).$$f"; \ echo "generating control file $(package_gtk_lib).$$f"; \
cp debian/libwxgtk.$$f debian/$(package_gtk_lib).$$f; \ cp debian/libwxgtk.$$f debian/$(package_gtk_lib).$$f; \
done; done;
@for f in dirs files links postinst prerm; do \ @for f in dirs links postinst prerm; do \
echo "generating control file $(package_gtk_dev).$$f"; \ echo "generating control file $(package_gtk_dev).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxgtk-dev.$$f \ sed -e 's/=V/$(release)/g' < debian/libwxgtk-dev.$$f \
> debian/$(package_gtk_dev).$$f; \ > debian/$(package_gtk_dev).$$f; \
@@ -148,12 +157,7 @@ control-files-stamp: debian/control
sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \ sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \
> debian/$(package_gtk_dbg).$$f; \ > debian/$(package_gtk_dbg).$$f; \
done; done;
@for f in dirs links postinst prerm; do \ @for f in dirs docs menu postinst prerm; do \
echo "generating control file $(package_gtk_univ).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxgtk-univ.$$f \
> debian/$(package_gtk_univ).$$f; \
done;
@for f in dirs docs files postinst prerm; do \
echo "generating control file $(package_gtk_py).$$f"; \ echo "generating control file $(package_gtk_py).$$f"; \
sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python.$$f \ sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python.$$f \
> debian/$(package_gtk_py).$$f; \ > debian/$(package_gtk_py).$$f; \
@@ -162,15 +166,15 @@ control-files-stamp: debian/control
echo "generating control file $(package_gtk_contrib).$$f"; \ echo "generating control file $(package_gtk_contrib).$$f"; \
cp debian/libwxgtk-contrib.$$f debian/$(package_gtk_contrib).$$f; \ cp debian/libwxgtk-contrib.$$f debian/$(package_gtk_contrib).$$f; \
done; done;
@for f in dirs files; do \ @for f in dirs; do \
echo "generating control file $(package_gtk_contrib_dev).$$f"; \ echo "generating control file $(package_gtk_contrib_dev).$$f"; \
cp debian/libwxgtk-contrib-dev.$$f debian/$(package_gtk_contrib_dev).$$f; \ cp debian/libwxgtk-contrib-dev.$$f debian/$(package_gtk_contrib_dev).$$f; \
done; done;
@for f in dirs files; do \ @for f in dirs; do \
echo "generating control file $(package_headers).$$f"; \ echo "generating control file $(package_headers).$$f"; \
cp debian/wxwin-headers.$$f debian/$(package_headers).$$f; \ cp debian/wxwin-headers.$$f debian/$(package_headers).$$f; \
done; done;
@for f in dirs files; do \ @for f in dirs; do \
echo "generating control file $(package_i18n).$$f"; \ echo "generating control file $(package_i18n).$$f"; \
cp debian/wxwin-i18n.$$f debian/$(package_i18n).$$f; \ cp debian/wxwin-i18n.$$f debian/$(package_i18n).$$f; \
done; done;
@@ -208,6 +212,11 @@ control-files-stamp: debian/control
sed -e 's/=H/$(cross_host)/g' < debian/wxwin-headers-msw.$$f \ sed -e 's/=H/$(cross_host)/g' < debian/wxwin-headers-msw.$$f \
> debian/$(package_headers_msw).$$f; \ > debian/$(package_headers_msw).$$f; \
done; done;
@for f in dirs links postinst prerm; do \
echo "generating control file $(package_gtk_univ).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxgtk-univ.$$f \
> debian/$(package_gtk_univ).$$f; \
done;
touch $@ touch $@
build_arch: control-files-stamp $(build_arch_stamps) build_arch: control-files-stamp $(build_arch_stamps)
@@ -222,7 +231,7 @@ build_all: control-files-stamp $(build_stamps_native)
build: build_arch build: build_arch
build-wxbase-shared-stamp: configure-wxbase-shared-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_wxbase_shared) mkdir -p $(objdir_wxbase_shared)
cd $(objdir_wxbase_shared) \ cd $(objdir_wxbase_shared) \
@@ -230,11 +239,15 @@ build-wxbase-shared-stamp:
--cache-file=$(config_cache) \ --cache-file=$(config_cache) \
--disable-gui \ --disable-gui \
--enable-soname \ --enable-soname \
--with-zlib=sys \ --with-zlib=sys
&& $(MAKE)
touch $@ touch $@
build-wxbase-static-stamp: build-wxbase-shared-stamp: configure-wxbase-shared-stamp
dh_testdir
cd $(objdir_wxbase_shared) && $(MAKE)
touch $@
configure-wxbase-static-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_wxbase_static) mkdir -p $(objdir_wxbase_static)
cd $(objdir_wxbase_static) \ cd $(objdir_wxbase_static) \
@@ -242,11 +255,15 @@ build-wxbase-static-stamp:
--cache-file=$(config_cache) \ --cache-file=$(config_cache) \
--disable-gui \ --disable-gui \
--disable-shared \ --disable-shared \
--with-zlib=sys \ --with-zlib=sys
&& $(MAKE)
touch $@ touch $@
build-wxbase-debug-stamp: build-wxbase-static-stamp: configure-wxbase-static-stamp
dh_testdir
cd $(objdir_wxbase_static) && $(MAKE)
touch $@
configure-wxbase-debug-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_wxbase_debug) mkdir -p $(objdir_wxbase_debug)
cd $(objdir_wxbase_debug) \ cd $(objdir_wxbase_debug) \
@@ -255,11 +272,15 @@ build-wxbase-debug-stamp:
--disable-gui \ --disable-gui \
--enable-debug \ --enable-debug \
--enable-soname \ --enable-soname \
--with-zlib=sys \ --with-zlib=sys
&& $(MAKE)
touch $@ touch $@
build-gtk-shared-stamp: build-wxbase-debug-stamp: configure-wxbase-debug-stamp
dh_testdir
cd $(objdir_wxbase_debug) && $(MAKE)
touch $@
configure-gtk-shared-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_gtk_shared) mkdir -p $(objdir_gtk_shared)
cd $(objdir_gtk_shared) \ cd $(objdir_gtk_shared) \
@@ -272,11 +293,15 @@ build-gtk-shared-stamp:
--with-libjpeg=sys \ --with-libjpeg=sys \
--with-libpng=sys \ --with-libpng=sys \
--with-libtiff=sys \ --with-libtiff=sys \
--enable-dynamic-loader \ --enable-dynamic-loader
&& $(MAKE)
touch $@ touch $@
build-gtk-static-stamp: build-gtk-shared-stamp: configure-gtk-shared-stamp
dh_testdir
cd $(objdir_gtk_shared) && $(MAKE)
touch $@
configure-gtk-static-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_gtk_static) mkdir -p $(objdir_gtk_static)
cd $(objdir_gtk_static) \ cd $(objdir_gtk_static) \
@@ -289,11 +314,15 @@ build-gtk-static-stamp:
--with-libjpeg=sys \ --with-libjpeg=sys \
--with-libpng=sys \ --with-libpng=sys \
--with-libtiff=sys \ --with-libtiff=sys \
--enable-dynamic-loader \ --enable-dynamic-loader
&& $(MAKE)
touch $@ touch $@
build-gtk-debug-stamp: build-gtk-static-stamp: configure-gtk-static-stamp
dh_testdir
cd $(objdir_gtk_static) && $(MAKE)
touch $@
configure-gtk-debug-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_gtk_debug) mkdir -p $(objdir_gtk_debug)
cd $(objdir_gtk_debug) \ cd $(objdir_gtk_debug) \
@@ -307,11 +336,15 @@ build-gtk-debug-stamp:
--with-libjpeg=sys \ --with-libjpeg=sys \
--with-libpng=sys \ --with-libpng=sys \
--with-libtiff=sys \ --with-libtiff=sys \
--enable-dynamic-loader \ --enable-dynamic-loader
&& $(MAKE)
touch $@ touch $@
build-gtk-univ-stamp: build-gtk-debug-stamp: configure-gtk-debug-stamp
dh_testdir
cd $(objdir_gtk_debug) && $(MAKE)
touch $@
configure-gtk-univ-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_gtk_univ) mkdir -p $(objdir_gtk_univ)
cd $(objdir_gtk_univ) \ cd $(objdir_gtk_univ) \
@@ -325,8 +358,12 @@ build-gtk-univ-stamp:
--with-libjpeg=sys \ --with-libjpeg=sys \
--with-libpng=sys \ --with-libpng=sys \
--with-libtiff=sys \ --with-libtiff=sys \
--enable-dynamic-loader \ --enable-dynamic-loader
&& $(MAKE) touch $@
build-gtk-univ-stamp: configure-gtk-univ-stamp
dh_testdir
cd $(objdir_gtk_univ) && $(MAKE)
touch $@ touch $@
build-contrib-shared-stamp: build-gtk-shared-stamp build-contrib-shared-stamp: build-gtk-shared-stamp
@@ -399,7 +436,7 @@ build-i18n-stamp: build-gtk-shared-stamp
&& $(MAKE) allmo && $(MAKE) allmo
touch $@ touch $@
build-wxbase-msw-shared-stamp: configure-wxbase-msw-shared-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_wxbase_msw_shared) mkdir -p $(objdir_wxbase_msw_shared)
cd $(objdir_wxbase_msw_shared) \ cd $(objdir_wxbase_msw_shared) \
@@ -407,11 +444,15 @@ build-wxbase-msw-shared-stamp:
--cache-file=$(config_cache_cross) \ --cache-file=$(config_cache_cross) \
--host=$(cross_host) \ --host=$(cross_host) \
--build=$(cross_build) \ --build=$(cross_build) \
--disable-gui \ --disable-gui
&& $(MAKE)
touch $@ touch $@
build-wxbase-msw-static-stamp: build-wxbase-msw-shared-stamp: configure-wxbase-msw-shared-stamp
dh_testdir
cd $(objdir_wxbase_msw_shared) && $(MAKE)
touch $@
configure-wxbase-msw-static-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_wxbase_msw_static) mkdir -p $(objdir_wxbase_msw_static)
cd $(objdir_wxbase_msw_static) \ cd $(objdir_wxbase_msw_static) \
@@ -420,12 +461,16 @@ build-wxbase-msw-static-stamp:
--host=$(cross_host) \ --host=$(cross_host) \
--build=$(cross_build) \ --build=$(cross_build) \
--disable-gui \ --disable-gui \
--disable-shared \ --disable-shared
&& $(MAKE) touch $@
build-wxbase-msw-static-stamp: configure-wxbase-msw-static-stamp
dh_testdir
cd $(objdir_wxbase_msw_static) && $(MAKE)
touch $@ touch $@
# Note this builds dll only, since wxmsw static debug is > 130MB ! # Note this builds dll only, since wxmsw static debug is > 130MB !
build-wxbase-msw-dbg-stamp: configure-wxbase-msw-dbg-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_wxbase_msw_dbg) mkdir -p $(objdir_wxbase_msw_dbg)
cd $(objdir_wxbase_msw_dbg) \ cd $(objdir_wxbase_msw_dbg) \
@@ -434,22 +479,30 @@ build-wxbase-msw-dbg-stamp:
--host=$(cross_host) \ --host=$(cross_host) \
--build=$(cross_build) \ --build=$(cross_build) \
--disable-gui \ --disable-gui \
--enable-debug \ --enable-debug
&& $(MAKE)
touch $@ touch $@
build-msw-shared-stamp: build-wxbase-msw-dbg-stamp: configure-wxbase-msw-dbg-stamp
dh_testdir
cd $(objdir_wxbase_msw_dbg) && $(MAKE)
touch $@
configure-msw-shared-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_msw_shared) mkdir -p $(objdir_msw_shared)
cd $(objdir_msw_shared) \ cd $(objdir_msw_shared) \
&& ../configure --prefix=/usr/$(cross_host) \ && ../configure --prefix=/usr/$(cross_host) \
--cache-file=$(config_cache_cross) \ --cache-file=$(config_cache_cross) \
--host=$(cross_host) \ --host=$(cross_host) \
--build=$(cross_build) \ --build=$(cross_build)
&& $(MAKE)
touch $@ touch $@
build-msw-static-stamp: build-msw-shared-stamp: configure-msw-shared-stamp
dh_testdir
cd $(objdir_msw_shared) && $(MAKE)
touch $@
configure-msw-static-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_msw_static) mkdir -p $(objdir_msw_static)
cd $(objdir_msw_static) \ cd $(objdir_msw_static) \
@@ -457,11 +510,15 @@ build-msw-static-stamp:
--cache-file=$(config_cache_cross) \ --cache-file=$(config_cache_cross) \
--host=$(cross_host) \ --host=$(cross_host) \
--build=$(cross_build) \ --build=$(cross_build) \
--disable-shared \ --disable-shared
&& $(MAKE)
touch $@ touch $@
build-msw-dbg-stamp: build-msw-static-stamp: configure-msw-static-stamp
dh_testdir
cd $(objdir_msw_static) && $(MAKE)
touch $@
configure-msw-dbg-stamp:
dh_testdir dh_testdir
mkdir -p $(objdir_msw_dbg) mkdir -p $(objdir_msw_dbg)
cd $(objdir_msw_dbg) \ cd $(objdir_msw_dbg) \
@@ -469,8 +526,12 @@ build-msw-dbg-stamp:
--cache-file=$(config_cache_cross) \ --cache-file=$(config_cache_cross) \
--host=$(cross_host) \ --host=$(cross_host) \
--build=$(cross_build) \ --build=$(cross_build) \
--enable-debug \ --enable-debug
&& $(MAKE) touch $@
build-msw-dbg-stamp: configure-msw-dbg-stamp
dh_testdir
cd $(objdir_msw_dbg) && $(MAKE)
touch $@ touch $@
@@ -478,13 +539,12 @@ clean: debian/control
dh_testdir dh_testdir
dh_testroot dh_testroot
rm -rf config_deb.cache config_deb_cross.cache control-files-stamp $(build_stamps) $(objdirs) rm -rf config_deb.cache config_deb_cross.cache *-stamp $(objdirs)
rm -f docs/lgpl.txt rm -f docs/lgpl.txt
rm -f docs/latex/wx/manual.bb rm -f docs/latex/wx/manual.bb
rm -f $(objdir_i18n)/*.mo rm -f $(objdir_i18n)/*.mo
cd wxPython \ cd wxPython \
&& ./setup.py clean \
&& rm -rf licence \ && rm -rf licence \
&& rm -rf build \ && rm -rf build \
&& rm -rf contrib/gizmos/contrib \ && rm -rf contrib/gizmos/contrib \
@@ -493,6 +553,10 @@ clean: debian/control
&& rm -rf contrib/xrc/contrib \ && rm -rf contrib/xrc/contrib \
&& rm -rf *.pyc && rm -rf *.pyc
# We do the equivalent of this above by removing build, unfortunately
# its not enough by itself to get the tree properly clean again.
# && ./setup.py clean
dh_clean dh_clean
rm -f debian/$(package_wxbase_lib).* rm -f debian/$(package_wxbase_lib).*
rm -f debian/$(package_wxbase_dev).* rm -f debian/$(package_wxbase_dev).*
@@ -500,7 +564,6 @@ clean: debian/control
rm -f debian/$(package_gtk_lib).* rm -f debian/$(package_gtk_lib).*
rm -f debian/$(package_gtk_dev).* rm -f debian/$(package_gtk_dev).*
rm -f debian/$(package_gtk_dbg).* rm -f debian/$(package_gtk_dbg).*
rm -f debian/$(package_gtk_univ).*
rm -f debian/$(package_gtk_py).* rm -f debian/$(package_gtk_py).*
rm -f debian/$(package_gtk_contrib).* rm -f debian/$(package_gtk_contrib).*
rm -f debian/$(package_gtk_contrib_dev).* rm -f debian/$(package_gtk_contrib_dev).*
@@ -508,6 +571,7 @@ clean: debian/control
rm -f debian/$(package_i18n).* rm -f debian/$(package_i18n).*
rm -f debian/$(package_doc).* rm -f debian/$(package_doc).*
rm -f debian/$(package_examples).* rm -f debian/$(package_examples).*
rm -f debian/$(package_gtk_univ).*
rm -f debian/$(package_wxbase_msw_dev).* rm -f debian/$(package_wxbase_msw_dev).*
rm -f debian/$(package_wxbase_msw_dbg).* rm -f debian/$(package_wxbase_msw_dbg).*
rm -f debian/$(package_msw_dev).* rm -f debian/$(package_msw_dev).*
@@ -524,17 +588,17 @@ install-wxbase-lib: build-wxbase-shared-stamp
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cp -a $(objdir_wxbase_shared)/lib/* debian/$(package_wxbase_lib)/usr/lib dh_install $(objdir_wxbase_shared)/lib/*.so.* usr/lib
cp $(objdir_wxbase_shared)/wxbase-$(release)-config debian/$(package_wxbase_lib)/usr/bin/
install-wxbase-dev: DH_OPTIONS=-p$(package_wxbase_dev) install-wxbase-dev: DH_OPTIONS=-p$(package_wxbase_dev)
install-wxbase-dev: build-wxbase-static-stamp install-wxbase-lib install-wxbase-dev: build-wxbase-static-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
dh_movefiles --sourcedir=debian/$(package_wxbase_lib) dh_install $(objdir_wxbase_shared)/wxbase-$(release)-config usr/bin
cp $(objdir_wxbase_static)/lib/*.a debian/$(package_wxbase_dev)/usr/lib dh_install $(objdir_wxbase_shared)/lib/{wx,*.so} usr/lib
dh_install $(objdir_wxbase_static)/lib/*.a usr/lib
install-wxbase-dbg: DH_OPTIONS=-p$(package_wxbase_dbg) install-wxbase-dbg: DH_OPTIONS=-p$(package_wxbase_dbg)
install-wxbase-dbg: build-wxbase-debug-stamp install-wxbase-dbg: build-wxbase-debug-stamp
@@ -542,29 +606,35 @@ install-wxbase-dbg: build-wxbase-debug-stamp
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cp -a $(objdir_wxbase_debug)/lib/* debian/$(package_wxbase_dbg)/usr/lib dh_install $(objdir_wxbase_debug)/wxbased-$(release)-config usr/bin
cp $(objdir_wxbase_debug)/wxbased-$(release)-config debian/$(package_wxbase_dbg)/usr/bin/ dh_install $(objdir_wxbase_debug)/lib usr
cp debian/lintian-override debian/$(package_wxbase_dbg)/usr/share/lintian/overrides/$(package_wxbase_dbg) cp debian/lintian-override debian/$(package_wxbase_dbg)/usr/share/lintian/overrides/$(package_wxbase_dbg)
install-gtk-shared-stamp:
dh_testdir
mkdir -p $(objdir_gtk_install)
cd $(objdir_gtk_shared) \
&& $(MAKE) install prefix=`pwd`/../$(objdir_gtk_install)
touch $@
install-gtk-lib: DH_OPTIONS=-p$(package_gtk_lib) install-gtk-lib: DH_OPTIONS=-p$(package_gtk_lib)
install-gtk-lib: build-gtk-shared-stamp install-gtk-lib: build-gtk-shared-stamp install-gtk-shared-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cd $(objdir_gtk_shared) \ dh_install $(objdir_gtk_install)/share/wx usr/share
&& $(MAKE) install prefix=`pwd`/../debian/$(package_gtk_lib)/usr dh_install $(objdir_gtk_install)/lib/*.so.* usr/lib
rm -f debian/$(package_gtk_lib)/usr/bin/wx-config
install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev) install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev)
install-gtk-dev: build-gtk-static-stamp install-gtk-lib install-gtk-dev: build-gtk-static-stamp install-gtk-shared-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_lib) dh_install $(objdir_gtk_install)/bin/wxgtk-$(release)-config usr/bin
cp $(objdir_gtk_static)/lib/libwx_gtk-*.a debian/$(package_gtk_dev)/usr/lib dh_install $(objdir_gtk_install)/lib/{wx,*.so} usr/lib
cp $(objdir_gtk_static)/lib/libwx_gtk_gl-*.a debian/$(package_gtk_dev)/usr/lib dh_install $(objdir_gtk_static)/lib/libwx_gtk{-,_gl}*.a usr/lib
install-gtk-dbg: DH_OPTIONS=-p$(package_gtk_dbg) install-gtk-dbg: DH_OPTIONS=-p$(package_gtk_dbg)
install-gtk-dbg: build-gtk-debug-stamp install-gtk-dbg: build-gtk-debug-stamp
@@ -572,8 +642,8 @@ install-gtk-dbg: build-gtk-debug-stamp
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cp -a $(objdir_gtk_debug)/lib/* debian/$(package_gtk_dbg)/usr/lib dh_install $(objdir_gtk_debug)/wxgtkd-$(release)-config usr/bin
cp $(objdir_gtk_debug)/wxgtkd-$(release)-config debian/$(package_gtk_dbg)/usr/bin/ dh_install $(objdir_gtk_debug)/lib usr
cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg) cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg)
install-gtk-univ: DH_OPTIONS=-p$(package_gtk_univ) install-gtk-univ: DH_OPTIONS=-p$(package_gtk_univ)
@@ -582,29 +652,35 @@ install-gtk-univ: build-gtk-univ-stamp
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cp -a $(objdir_gtk_univ)/lib/* debian/$(package_gtk_univ)/usr/lib dh_install $(objdir_gtk_univ)/wxgtkuniv-$(release)-config usr/bin
cp $(objdir_gtk_univ)/wxgtkuniv-$(release)-config debian/$(package_gtk_univ)/usr/bin/ dh_install $(objdir_gtk_univ)/lib usr
cp debian/lintian-override debian/$(package_gtk_univ)/usr/share/lintian/overrides/$(package_gtk_univ) cp debian/lintian-override debian/$(package_gtk_univ)/usr/share/lintian/overrides/$(package_gtk_univ)
install-gtk-contrib-stamp:
dh_testdir
mkdir -p $(objdir_gtk_contrib_install)/lib
cd $(objdir_gtk_shared)/contrib/src \
&& $(MAKE) install prefix=`pwd`/../../../$(objdir_gtk_contrib_install)
touch $@
install-gtk-contrib: DH_OPTIONS=-p$(package_gtk_contrib) install-gtk-contrib: DH_OPTIONS=-p$(package_gtk_contrib)
install-gtk-contrib: build-contrib-shared-stamp install-gtk-contrib: build-contrib-shared-stamp install-gtk-contrib-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cd $(objdir_gtk_shared)/contrib/src \ dh_install $(objdir_gtk_contrib_install)/lib/*.so.* usr/lib
&& $(MAKE) install prefix=`pwd`/../../../debian/$(package_gtk_contrib)/usr
install-gtk-contrib-dev: DH_OPTIONS=-p$(package_gtk_contrib_dev) install-gtk-contrib-dev: DH_OPTIONS=-p$(package_gtk_contrib_dev)
install-gtk-contrib-dev: build-contrib-static-stamp install-gtk-dev install-gtk-contrib-dev: build-contrib-static-stamp install-gtk-contrib-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_contrib) dh_install $(objdir_gtk_contrib_install)/include usr
cp $(objdir_gtk_static)/lib/*.a debian/$(package_gtk_contrib_dev)/usr/lib dh_install $(objdir_gtk_contrib_install)/lib/*.so usr/lib
rm -f debian/$(package_gtk_contrib_dev)/usr/lib/libwx_gtk-*.a dh_install -Xlibwx_gtk- -Xlibwx_gtk_gl- \
rm -f debian/$(package_gtk_contrib_dev)/usr/lib/libwx_gtk_gl-*.a $(objdir_gtk_static)/lib/*.a usr/lib
install-gtk-py: DH_OPTIONS=-p$(package_gtk_py) install-gtk-py: DH_OPTIONS=-p$(package_gtk_py)
install-gtk-py: build-gtk-py-stamp install-gtk-py: build-gtk-py-stamp
@@ -613,12 +689,23 @@ install-gtk-py: build-gtk-py-stamp
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
cd wxPython \ cd wxPython \
&& ./setup.py install --prefix=`pwd`/../debian/$(package_gtk_py)/usr && ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_py)/usr \
WX_CONFIG='$(wxconfig)'
find debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython \ find debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython \
-name '*.py?' -exec rm '{}' ';' -name '*.py?' -exec rm '{}' ';'
dh_installman debian/wxPython-tools.1
dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2xpm.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2png.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pycrust.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyshell.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/xrced.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1
install-headers: DH_OPTIONS=-p$(package_headers) install-headers: DH_OPTIONS=-p$(package_headers)
install-headers: install-gtk-lib install-headers: install-gtk-shared-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
@@ -628,27 +715,22 @@ install-headers: install-gtk-lib
# them. Do that in a scratch dirs, and move the gtk ones last, so at least # them. Do that in a scratch dirs, and move the gtk ones last, so at least
# they win in the result of any uncaught conflict. # they win in the result of any uncaught conflict.
cd $(objdir_gtk_univ) \ # cd $(objdir_gtk_univ) \
&& $(MAKE) install prefix=`pwd`/../$(objdir_univ_install)/usr # && $(MAKE) install prefix=`pwd`/../$(objdir_univ_install)/usr
dh_movefiles --sourcedir=$(objdir_univ_install) # dh_movefiles --sourcedir=$(objdir_univ_install)
dh_movefiles --sourcedir=debian/$(package_gtk_lib) dh_install $(objdir_gtk_install)/include usr
dh_install $(objdir_gtk_install)/share/aclocal usr/share
dh_installmanpages \ dh_installman debian/wx-config.1
ansi2knr.1 \
jpegtran.1 \
libpng.3 \
libpngpf.3 \
zlib.3 \
png.5
install-i18n: DH_OPTIONS=-p$(package_i18n) install-i18n: DH_OPTIONS=-p$(package_i18n)
install-i18n: build-i18n-stamp install-gtk-lib install-i18n: build-i18n-stamp install-gtk-shared-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_lib) dh_install $(objdir_gtk_install)/share/locale usr/share
install-doc: DH_OPTIONS=-p$(package_doc) install-doc: DH_OPTIONS=-p$(package_doc)
install-doc: build-doc-stamp install-doc: build-doc-stamp
@@ -756,13 +838,13 @@ binary-common:
# building the arch specific package files needed to create them. # building the arch specific package files needed to create them.
binary-indep: build_all install binary-indep: build_all install
$(MAKE) -f debian/rules \ $(MAKE) -f debian/rules \
DH_OPTIONS="-i -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \ DH_OPTIONS="-i -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw) -N$(package_gtk_univ)" \
binary-common binary-common
# Build just the architecture-dependent files here. # Build just the architecture-dependent files here.
binary-arch: build_arch install_arch binary-arch: build_arch install_arch
$(MAKE) -f debian/rules \ $(MAKE) -f debian/rules \
DH_OPTIONS="-a -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \ DH_OPTIONS="-a -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw) -N$(package_gtk_univ)" \
binary-common binary-common
# Build all packages target. # Build all packages target.

32
debian/wx-config.1 vendored
View File

@@ -1,31 +1,31 @@
.TH wx-config 1 "15 Feb 2000" "Debian GNU/Linux" "wxWindows 2.2" .TH wx\-config 1 "15 Feb 2000" "Debian GNU/Linux" "wxWindows"
.SH NAME .SH NAME
wx-config - generate compile time info for wxWindows wx-config \- generate compile time info for wxWindows
.SH SYNOPSIS .SH SYNOPSIS
.nh .nh
.B wxbase-config .B wxbase\-config
.br .br
.B wxgtk-config .B wxgtk\-config
.HP .HP
.B wx-config .B wx\-config
[\-\-version] [\-\-libs] [\-\-cflags] [\-\-cc] [\-\-cxx] [\-\-ld] [\-\-version] [\-\-libs] [\-\-cflags] [\-\-cc] [\-\-cxx] [\-\-ld]
[\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP] [\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP]
.SH DESCRIPTION .SH DESCRIPTION
\fIwx-config\fP is a tool to determine the compiler and linker \fIwx\-config\fP is a tool to determine the compiler and linker
flags required for applications using the \fIwxWindows\fP toolkit(s). flags required for applications using the \fIwxWindows\fP toolkit(s).
.PP .PP
\fIwx-config\fP is normally a symlink to one of the port-specific \fIwx\-config\fP is normally a symlink to one of the port\-specific
versions like \fIwxbase-config\fP or \fIwxgtk-config\fP which versions like \fIwxbase\-config\fP or \fIwxgtk\-config\fP which
designates the default port to compile applications with. designates the default port to compile applications with.
You can override this default either by using one of the specific You can override this default either by using one of the specific
versions directly, or by changing which version the symlink points to. versions directly, or by changing which version the symlink points to.
On Debian systems this can be done using the On Debian systems this can be done using the
.BR update-alternatives (8) .BR update\-alternatives (8)
mechanism. mechanism.
.hy .hy
.SH OPTIONS .SH OPTIONS
.l .l
\fIwx-config\fP accepts the following options: \fIwx\-config\fP accepts the following options:
.TP 8 .TP 8
.B \-\-version .B \-\-version
What to What to
@@ -58,7 +58,7 @@ before any \-\-libs or \-\-cflags options.
.br .br
.nh .nh
.HP .HP
(Translation: this is the root path to the \fIwxWindows\fP headers -- [Ron]) (Translation: this is the root path to the \fIwxWindows\fP headers \-\- [Ron])
.hy .hy
.TP 8 .TP 8
.B \-\-exec\-prefix=PREFIX .B \-\-exec\-prefix=PREFIX
@@ -69,18 +69,18 @@ and \-\-libs options. This option must be specified before any
.br .br
.nh .nh
.HP .HP
(Translation: this is the root path to the \fIwxWindows\fP library -- [Ron]) (Translation: this is the root path to the \fIwxWindows\fP library \-\- [Ron])
.hy .hy
.SH SEE ALSO .SH SEE ALSO
.BR gtk-config (1), .BR gtk\-config (1),
.BR update-alternatives (8) .BR update\-alternatives (8)
.SH COPYRIGHT .SH COPYRIGHT
This manpage was copied whole-heartedly from the \fBgtk-config\fP(1) manpage This manpage was copied whole\-heartedly from the \fBgtk\-config\fP(1) manpage
by Brian Bassett <brianb@debian.org> for the Debian GNU/Linux distribution of by Brian Bassett <brianb@debian.org> for the Debian GNU/Linux distribution of
wxGTK. It was then updated to include new options and otherwise bastardised wxGTK. It was then updated to include new options and otherwise bastardised
generally by Ron Lee <ron@debian.org> generally by Ron Lee <ron@debian.org>
The original gtk-config manpage copyright: The original gtk\-config manpage copyright:
Copyright \(co 1995 Spencer Kimball and Peter Mattis Copyright \(co 1995 Spencer Kimball and Peter Mattis

27
debian/wxPython-tools.1 vendored Normal file
View File

@@ -0,0 +1,27 @@
.TH wxPython\-tools 1 "3 Jan 2003" "Debian GNU/Linux" "wxWindows"
.SH NAME
img2py \- wxPython tools.
.br
img2png \- wxPython tools.
.br
img2xpm \- wxPython tools.
.br
pycrust \- wxPython tools.
.br
pyshell \- wxPython tools.
.br
xrced \- wxPython tools.
.br
helpviewer \- wxPython tools.
.SH DESCRIPTION
The real documentation for these tools is available in pydoc format.
.SH SEE ALSO
.BR pydoc (1)
.SH COPYRIGHT
This manpage was written by Ron Lee <ron@debian.org> for the Debian GNU/Linux
distribution of wxWindows. It may be freely distributed by anyone insane enough
to find it useful.

View File

@@ -1 +0,0 @@
usr/include/wx/

View File

@@ -1,2 +0,0 @@
/usr/share/locale/

View File

@@ -40,7 +40,7 @@ bool AppClass::OnInit()
level=IDM_EASY; level=IDM_EASY;
BombsFrame = BombsFrame =
new BombsFrameClass(NULL, "wxBombs", wxPoint(155, 165), wxSize(300, 300), wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION); new BombsFrameClass(NULL, _T("wxBombs"), wxPoint(155, 165), wxSize(300, 300), wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION);
int xmax=BombsFrame->BombsCanvas->field_width*BombsFrame->BombsCanvas->x_cell*X_UNIT; int xmax=BombsFrame->BombsCanvas->field_width*BombsFrame->BombsCanvas->x_cell*X_UNIT;
int ymax=BombsFrame->BombsCanvas->field_height*BombsFrame->BombsCanvas->y_cell*Y_UNIT; int ymax=BombsFrame->BombsCanvas->field_height*BombsFrame->BombsCanvas->y_cell*Y_UNIT;
@@ -72,17 +72,17 @@ BombsFrameClass::BombsFrameClass(wxFrame *parent, const wxString& title, const w
// Create a menu bar for the frame // Create a menu bar for the frame
wxMenuBar *menuBar1 = new wxMenuBar; wxMenuBar *menuBar1 = new wxMenuBar;
wxMenu *menu1 = new wxMenu; wxMenu *menu1 = new wxMenu;
menu1->Append(IDM_EXIT, "E&xit"); // , "Quit the program"); menu1->Append(IDM_EXIT, _T("E&xit")); // , "Quit the program");
menu1->AppendSeparator(); menu1->AppendSeparator();
menu1->Append(IDM_ABOUT, "&About..."); // , "Infos on wxBombs"); menu1->Append(IDM_ABOUT, _T("&About...")); // , "Infos on wxBombs");
menuBar1->Append(menu1, "&File"); menuBar1->Append(menu1, _T("&File"));
wxMenu *menu2 = new wxMenu; wxMenu *menu2 = new wxMenu;
menu2->Append(IDM_RESTART, "&Restart"); // , "Clear the play field"); menu2->Append(IDM_RESTART, _T("&Restart")); // , "Clear the play field");
menu2->AppendSeparator(); menu2->AppendSeparator();
menu2->Append(IDM_EASY, "&Easy", wxEmptyString, TRUE); // "10x10 play field", TRUE); menu2->Append(IDM_EASY, _T("&Easy"), wxEmptyString, TRUE); // "10x10 play field", TRUE);
menu2->Append(IDM_MEDIUM, "&Medium", wxEmptyString, TRUE); // "15x15 play field", TRUE); menu2->Append(IDM_MEDIUM, _T("&Medium"), wxEmptyString, TRUE); // "15x15 play field", TRUE);
menu2->Append(IDM_DIFFICULT, "&Difficult", wxEmptyString, TRUE); // "25x20 play field", TRUE); menu2->Append(IDM_DIFFICULT, _T("&Difficult"), wxEmptyString, TRUE); // "25x20 play field", TRUE);
menuBar1->Append(menu2, "&Game"); menuBar1->Append(menu2, _T("&Game"));
SetMenuBar(menuBar1); SetMenuBar(menuBar1);
menuBar=menuBar1; menuBar=menuBar1;
menuBar->Check(wxGetApp().level, TRUE); menuBar->Check(wxGetApp().level, TRUE);
@@ -124,7 +124,7 @@ void BombsFrameClass::OnRestart(wxCommandEvent& event)
void BombsFrameClass::OnAbout(wxCommandEvent& event) void BombsFrameClass::OnAbout(wxCommandEvent& event)
{ {
wxMessageBox("wxBombs (c) 1996 by P. Foggia\n<foggia@amalfi.dis.unina.it>", "About wxBombs"); wxMessageBox(_T("wxBombs (c) 1996 by P. Foggia\n<foggia@amalfi.dis.unina.it>"), _T("About wxBombs"));
} }
void BombsFrameClass::OnEasy(wxCommandEvent& event) void BombsFrameClass::OnEasy(wxCommandEvent& event)
@@ -162,7 +162,7 @@ BombsCanvasClass::BombsCanvasClass(wxFrame *parent, const wxPoint& pos, const wx
dc.SetFont(font); dc.SetFont(font);
long chw, chh; long chw, chh;
char buf[]="M"; wxChar buf[]=_T("M");
dc.GetTextExtent(buf, &chw, &chh); dc.GetTextExtent(buf, &chw, &chh);
dc.SetFont(wxNullFont); dc.SetFont(wxNullFont);

View File

@@ -33,15 +33,15 @@
/*---------------------------------------------------------------------*/ /*---------------------------------------------------------------------*/
void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2) void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
{ int x,y,xmax,ymax; { int x,y,xmax,ymax;
char buf[2]; wxChar buf[2];
long chw, chh; long chw, chh;
wxColour *wxBlack = wxTheColourDatabase->FindColour("BLACK"); wxColour *wxBlack = wxTheColourDatabase->FindColour(_T("BLACK"));
wxColour *wxWhite = wxTheColourDatabase->FindColour("WHITE"); wxColour *wxWhite = wxTheColourDatabase->FindColour(_T("WHITE"));
wxColour *wxRed = wxTheColourDatabase->FindColour("RED"); wxColour *wxRed = wxTheColourDatabase->FindColour(_T("RED"));
wxColour *wxBlue = wxTheColourDatabase->FindColour("BLUE"); wxColour *wxBlue = wxTheColourDatabase->FindColour(_T("BLUE"));
wxColour *wxGrey = wxTheColourDatabase->FindColour("LIGHT GREY"); wxColour *wxGrey = wxTheColourDatabase->FindColour(_T("LIGHT GREY"));
wxColour *wxGreen = wxTheColourDatabase->FindColour("GREEN"); wxColour *wxGreen = wxTheColourDatabase->FindColour(_T("GREEN"));
wxPen *blackPen = wxThePenList->FindOrCreatePen(*wxBlack, 1, wxSOLID); wxPen *blackPen = wxThePenList->FindOrCreatePen(*wxBlack, 1, wxSOLID);
wxPen *redPen = wxThePenList->FindOrCreatePen(*wxRed, 1, wxSOLID); wxPen *redPen = wxThePenList->FindOrCreatePen(*wxRed, 1, wxSOLID);
@@ -64,7 +64,7 @@ void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
wxFont font= BOMBS_FONT; wxFont font= BOMBS_FONT;
dc->SetFont(font); dc->SetFont(font);
buf[1]='\0'; buf[1]=_T('\0');
for(x=xc1; x<=xc2; x++) for(x=xc1; x<=xc2; x++)
for(y=yc1; y<=yc2; y++) for(y=yc1; y<=yc2; y++)
{ if (wxGetApp().Game.IsMarked(x,y)) { if (wxGetApp().Game.IsMarked(x,y))
@@ -72,7 +72,7 @@ void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
dc->SetBrush(* greyBrush); dc->SetBrush(* greyBrush);
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT, dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
x_cell*X_UNIT+1, y_cell*Y_UNIT+1); x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
*buf='M'; *buf=_T('M');
if (!wxGetApp().Game.IsHidden(x,y) && wxGetApp().Game.IsBomb(x,y)) if (!wxGetApp().Game.IsHidden(x,y) && wxGetApp().Game.IsBomb(x,y))
dc->SetTextForeground(*wxBlue); dc->SetTextForeground(*wxBlue);
else else
@@ -102,7 +102,7 @@ void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
dc->SetBrush(* redBrush); dc->SetBrush(* redBrush);
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT, dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
x_cell*X_UNIT+1, y_cell*Y_UNIT+1); x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
*buf='B'; *buf=_T('B');
dc->SetTextForeground(* wxBlack); dc->SetTextForeground(* wxBlack);
dc->SetTextBackground(* wxRed); dc->SetTextBackground(* wxRed);
dc->GetTextExtent(buf, &chw, &chh); dc->GetTextExtent(buf, &chw, &chh);
@@ -123,11 +123,11 @@ void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
dc->SetBrush(* whiteBrush); dc->SetBrush(* whiteBrush);
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT, dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
x_cell*X_UNIT+1, y_cell*Y_UNIT+1); x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
*buf = (wxGetApp().Game.Get(x,y) & BG_MASK) + '0'; *buf = (wxGetApp().Game.Get(x,y) & BG_MASK) + _T('0');
dc->GetTextExtent(buf, &chw, &chh); dc->GetTextExtent(buf, &chw, &chh);
switch(*buf) switch(*buf)
{ case '0': dc->SetTextForeground(* wxGreen); break; { case _T('0'): dc->SetTextForeground(* wxGreen); break;
case '1': dc->SetTextForeground(* wxBlue); break; case _T('1'): dc->SetTextForeground(* wxBlue); break;
default: dc->SetTextForeground(* wxBlack); break; default: dc->SetTextForeground(* wxBlack); break;
} }
dc->SetTextBackground(* wxWhite); dc->SetTextBackground(* wxWhite);
@@ -140,9 +140,10 @@ void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
dc->SetFont(wxNullFont); dc->SetFont(wxNullFont);
if (wxGetApp().BombsFrame) if (wxGetApp().BombsFrame)
{ char buf[80]; { wxString buf;
sprintf(buf, "%d bombs %d remaining cells", buf.Printf(_T("%d bombs %d remaining cells"),
wxGetApp().Game.GetBombs(), wxGetApp().Game.GetRemainingCells()); wxGetApp().Game.GetBombs(),
wxGetApp().Game.GetRemainingCells());
wxGetApp().BombsFrame->SetStatusText(buf, 0); wxGetApp().BombsFrame->SetStatusText(buf, 0);
} }
} }
@@ -172,7 +173,7 @@ void BombsCanvasClass::Uncover(int x, int y)
if (wxGetApp().Game.IsBomb(x,y) || wxGetApp().Game.GetRemainingCells()==0) if (wxGetApp().Game.IsBomb(x,y) || wxGetApp().Game.GetRemainingCells()==0)
{ wxBell(); { wxBell();
if (!wxGetApp().Game.IsBomb(x,y)) if (!wxGetApp().Game.IsBomb(x,y))
{ wxMessageBox("Nice! You found all the bombs!", "wxWin Bombs", { wxMessageBox(_T("Nice! You found all the bombs!"), _T("wxWin Bombs"),
wxOK|wxCENTRE, wxGetApp().BombsFrame); wxOK|wxCENTRE, wxGetApp().BombsFrame);
} }
else // x,y is a bomb else // x,y is a bomb

View File

@@ -56,7 +56,7 @@ FortyCanvas::FortyCanvas(wxWindow* parent, int x, int y, int w, int h) :
m_arrowCursor = new wxCursor(wxCURSOR_ARROW); m_arrowCursor = new wxCursor(wxCURSOR_ARROW);
wxString name = wxTheApp->GetAppName(); wxString name = wxTheApp->GetAppName();
if (name.Length() <= 0) name = "forty"; if (name.Length() <= 0) name = _T("forty");
m_scoreFile = new ScoreFile(name); m_scoreFile = new ScoreFile(name);
m_game = new Game(0, 0, 0); m_game = new Game(0, 0, 0);
m_game->Deal(); m_game->Deal();
@@ -159,8 +159,8 @@ Called when the main frame is closed
bool FortyCanvas::OnCloseCanvas() bool FortyCanvas::OnCloseCanvas()
{ {
if (m_game->InPlay() && if (m_game->InPlay() &&
wxMessageBox("Are you sure you want to\nabandon the current game?", wxMessageBox(_T("Are you sure you want to\nabandon the current game?"),
"Warning", wxYES_NO | wxICON_QUESTION) == wxNO) _T("Warning"), wxYES_NO | wxICON_QUESTION) == wxNO)
{ {
return FALSE; return FALSE;
} }

View File

@@ -67,25 +67,25 @@ Card::Card(int value, WayUp way_up) :
if (!m_symbolBmap) if (!m_symbolBmap)
{ {
#ifdef __WXMSW__ #ifdef __WXMSW__
m_symbolBmap = new wxBitmap("CardSymbols", wxBITMAP_TYPE_BMP_RESOURCE); m_symbolBmap = new wxBitmap(_T("CardSymbols"), wxBITMAP_TYPE_BMP_RESOURCE);
#else #else
m_symbolBmap = new wxBitmap(Symbols_bits, Symbols_width, Symbols_height); m_symbolBmap = new wxBitmap(Symbols_bits, Symbols_width, Symbols_height);
#endif #endif
if (!m_symbolBmap->Ok()) if (!m_symbolBmap->Ok())
{ {
::wxMessageBox("Failed to load bitmap CardSymbols", "Error"); ::wxMessageBox(_T("Failed to load bitmap CardSymbols"), _T("Error"));
} }
} }
if (!m_pictureBmap) if (!m_pictureBmap)
{ {
#ifdef __WXMSW__ #ifdef __WXMSW__
m_pictureBmap = new wxBitmap("CardPictures", wxBITMAP_TYPE_BMP_RESOURCE); m_pictureBmap = new wxBitmap(_T("CardPictures"), wxBITMAP_TYPE_BMP_RESOURCE);
#else #else
m_pictureBmap = new wxBitmap(Pictures); m_pictureBmap = new wxBitmap(Pictures);
#endif #endif
if (!m_pictureBmap->Ok()) if (!m_pictureBmap->Ok())
{ {
::wxMessageBox("Failed to load bitmap CardPictures", "Error"); ::wxMessageBox(_T("Failed to load bitmap CardPictures"), _T("Error"));
} }
} }
@@ -196,7 +196,7 @@ void Card::Draw(wxDC& dc, int x, int y)
dc.SetBackground(* wxRED_BRUSH); dc.SetBackground(* wxRED_BRUSH);
dc.SetBackgroundMode(wxSOLID); dc.SetBackgroundMode(wxSOLID);
wxBrush* brush = wxTheBrushList->FindOrCreateBrush( wxBrush* brush = wxTheBrushList->FindOrCreateBrush(
"BLACK", wxCROSSDIAG_HATCH _T("BLACK"), wxCROSSDIAG_HATCH
); );
dc.SetBrush(* brush); dc.SetBrush(* brush);

View File

@@ -76,7 +76,7 @@ bool FortyApp::OnInit()
bool largecards = FALSE; bool largecards = FALSE;
wxSize size(668,510); wxSize size(668,510);
if ((argc > 1) && (!wxStrcmp(argv[1],"-L"))) if ((argc > 1) && (!wxStrcmp(argv[1],_T("-L"))))
{ {
largecards = TRUE; largecards = TRUE;
size = wxSize(1000,750); size = wxSize(1000,750);
@@ -84,7 +84,7 @@ bool FortyApp::OnInit()
FortyFrame* frame = new FortyFrame( FortyFrame* frame = new FortyFrame(
0, 0,
"Forty Thieves", _T("Forty Thieves"),
-1, -1, size.x, size.y,largecards -1, -1, size.x, size.y,largecards
); );
@@ -120,14 +120,14 @@ const wxColour& FortyApp::TextColour()
{ {
if (!m_textColour) if (!m_textColour)
{ {
m_textColour = new wxColour("BLACK"); m_textColour = new wxColour(_T("BLACK"));
} }
return *m_textColour; return *m_textColour;
} }
// My frame constructor // My frame constructor
FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,bool largecards): FortyFrame::FortyFrame(wxFrame* frame, const wxString& title, int x, int y, int w, int h,bool largecards):
wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)) wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
{ {
#ifdef __WXMAC__ #ifdef __WXMAC__
@@ -136,7 +136,7 @@ FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,b
#endif #endif
// set the icon // set the icon
#ifdef __WXMSW__ #ifdef __WXMSW__
SetIcon(wxIcon("CardsIcon")); SetIcon(wxIcon(_T("CardsIcon")));
#else #else
#ifdef GTK_TBD #ifdef GTK_TBD
SetIcon(wxIcon(Cards_bits, Cards_width, Cards_height)); SetIcon(wxIcon(Cards_bits, Cards_width, Cards_height));
@@ -145,28 +145,28 @@ FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,b
// Make a menu bar // Make a menu bar
wxMenu* gameMenu = new wxMenu; wxMenu* gameMenu = new wxMenu;
gameMenu->Append(NEW_GAME, "&New", "Start a new game"); gameMenu->Append(NEW_GAME, _T("&New"), _T("Start a new game"));
gameMenu->Append(SCORES, "&Scores...", "Displays scores"); gameMenu->Append(SCORES, _T("&Scores..."), _T("Displays scores"));
gameMenu->Append(EXIT, "E&xit", "Exits Forty Thieves"); gameMenu->Append(EXIT, _T("E&xit"), _T("Exits Forty Thieves"));
wxMenu* editMenu = new wxMenu; wxMenu* editMenu = new wxMenu;
editMenu->Append(UNDO, "&Undo", "Undo the last move"); editMenu->Append(UNDO, _T("&Undo"), _T("Undo the last move"));
editMenu->Append(REDO, "&Redo", "Redo a move that has been undone"); editMenu->Append(REDO, _T("&Redo"), _T("Redo a move that has been undone"));
wxMenu* optionsMenu = new wxMenu; wxMenu* optionsMenu = new wxMenu;
optionsMenu->Append(RIGHT_BUTTON_UNDO, optionsMenu->Append(RIGHT_BUTTON_UNDO,
"&Right button undo", _T("&Right button undo"),
"Enables/disables right mouse button undo and redo", _T("Enables/disables right mouse button undo and redo"),
TRUE TRUE
); );
optionsMenu->Append(HELPING_HAND, optionsMenu->Append(HELPING_HAND,
"&Helping hand", _T("&Helping hand"),
"Enables/disables hand cursor when a card can be moved", _T("Enables/disables hand cursor when a card can be moved"),
TRUE TRUE
); );
optionsMenu->Append(LARGE_CARDS, optionsMenu->Append(LARGE_CARDS,
"&Large cards", _T("&Large cards"),
"Enables/disables large cards for high resolution displays", _T("Enables/disables large cards for high resolution displays"),
TRUE TRUE
); );
optionsMenu->Check(HELPING_HAND, TRUE); optionsMenu->Check(HELPING_HAND, TRUE);
@@ -174,13 +174,13 @@ FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,b
optionsMenu->Check(LARGE_CARDS, largecards ? TRUE : FALSE); optionsMenu->Check(LARGE_CARDS, largecards ? TRUE : FALSE);
wxMenu* helpMenu = new wxMenu; wxMenu* helpMenu = new wxMenu;
helpMenu->Append(ABOUT, "&About...", "Displays information about the game"); helpMenu->Append(ABOUT, _T("&About..."), _T("Displays information about the game"));
m_menuBar = new wxMenuBar; m_menuBar = new wxMenuBar;
m_menuBar->Append(gameMenu, "&Game"); m_menuBar->Append(gameMenu, _T("&Game"));
m_menuBar->Append(editMenu, "&Edit"); m_menuBar->Append(editMenu, _T("&Edit"));
m_menuBar->Append(optionsMenu, "&Options"); m_menuBar->Append(optionsMenu, _T("&Options"));
m_menuBar->Append(helpMenu, "&Help"); m_menuBar->Append(helpMenu, _T("&Help"));
SetMenuBar(m_menuBar); SetMenuBar(m_menuBar);
@@ -243,14 +243,14 @@ FortyFrame::About(wxCommandEvent&)
#endif #endif
{ {
wxMessageBox( wxMessageBox(
"Forty Thieves\n\n" _T("Forty Thieves\n\n")
"A freeware program using the wxWindows\n" _T("A freeware program using the wxWindows\n")
"portable C++ GUI toolkit.\n" _T("portable C++ GUI toolkit.\n")
"http://www.wxwindows.org\n" _T("http://www.wxwindows.org\n")
"http://www.freiburg.linux.de/~wxxt\n\n" _T("http://www.freiburg.linux.de/~wxxt\n\n")
"Author: Chris Breeze (c) 1992-1998\n" _T("Author: Chris Breeze (c) 1992-1998\n")
"email: chris.breeze@iname.com", _T("email: chris.breeze@iname.com"),
"About Forty Thieves", _T("About Forty Thieves"),
wxOK, this wxOK, this
); );
} }
@@ -331,7 +331,7 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
wxFile file; wxFile file;
file.Open(htmlFile, wxFile::read); file.Open(htmlFile, wxFile::read);
long len = file.Length(); long len = file.Length();
char* buf = htmlText.GetWriteBuf(len + 1); wxChar* buf = htmlText.GetWriteBuf(len + 1);
file.Read(buf, len); file.Read(buf, len);
buf[len] = 0; buf[len] = 0;
htmlText.UngetWriteBuf(); htmlText.UngetWriteBuf();
@@ -349,7 +349,7 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
verString.Printf("%.2f", stVERSION_NUMBER); verString.Printf("%.2f", stVERSION_NUMBER);
htmlText.Replace(wxT("$VERSION$"), verString); htmlText.Replace(wxT("$VERSION$"), verString);
#endif #endif
htmlText.Replace(wxT("$DATE$"), __DATE__); htmlText.Replace(wxT("$DATE$"), _T(__DATE__));
wxSize htmlSize(400, 290); wxSize htmlSize(400, 290);
@@ -373,7 +373,7 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
wxASSERT( item1 ); wxASSERT( item1 );
item0->Add( item1, 0, wxALIGN_CENTRE|wxALL, 5 ); item0->Add( item1, 0, wxALIGN_CENTRE|wxALL, 5 );
wxButton *item2 = new wxButton( parent, wxID_CANCEL, "&Close", wxDefaultPosition, wxDefaultSize, 0 ); wxButton *item2 = new wxButton( parent, wxID_CANCEL, _T("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
item2->SetDefault(); item2->SetDefault();
item2->SetFocus(); item2->SetFocus();

View File

@@ -34,7 +34,7 @@ class FortyCanvas;
class FortyFrame: public wxFrame class FortyFrame: public wxFrame
{ {
public: public:
FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,bool largecards); FortyFrame(wxFrame* frame, const wxString& title, int x, int y, int w, int h,bool largecards);
virtual ~FortyFrame(); virtual ~FortyFrame();
void OnCloseWindow(wxCloseEvent& event); void OnCloseWindow(wxCloseEvent& event);

View File

@@ -163,7 +163,7 @@ void Game::DoMove(wxDC& dc, Pile* src, Pile* dest)
{ {
if (src == dest) if (src == dest)
{ {
wxMessageBox("Game::DoMove() src == dest", "Debug message", wxMessageBox(_T("Game::DoMove() src == dest"), _T("Debug message"),
wxOK | wxICON_EXCLAMATION); wxOK | wxICON_EXCLAMATION);
} }
m_moves[m_moveIndex].src = src; m_moves[m_moveIndex].src = src;
@@ -175,7 +175,7 @@ void Game::DoMove(wxDC& dc, Pile* src, Pile* dest)
} }
else else
{ {
wxMessageBox("Game::DoMove() Undo buffer full", "Debug message", wxMessageBox(_T("Game::DoMove() Undo buffer full"), _T("Debug message"),
wxOK | wxICON_EXCLAMATION); wxOK | wxICON_EXCLAMATION);
} }
@@ -203,8 +203,8 @@ void Game::DoMove(wxDC& dc, Pile* src, Pile* dest)
// Redraw the score box to update games won // Redraw the score box to update games won
DisplayScore(dc); DisplayScore(dc);
if (wxMessageBox("Do you wish to play again?", if (wxMessageBox(_T("Do you wish to play again?"),
"Well Done, You have won!", wxYES_NO | wxICON_QUESTION) == wxYES) _T("Well Done, You have won!"), wxYES_NO | wxICON_QUESTION) == wxYES)
{ {
Deal(); Deal();
canvas->Refresh(); canvas->Refresh();
@@ -241,25 +241,25 @@ void Game::DisplayScore(wxDC& dc)
int w, h; int w, h;
{ {
long width, height; long width, height;
dc.GetTextExtent("Average score:m_x", &width, &height); dc.GetTextExtent(_T("Average score:m_x"), &width, &height);
w = width; w = width;
h = height; h = height;
} }
dc.DrawRectangle(x + w, y, 20, 4 * h); dc.DrawRectangle(x + w, y, 20, 4 * h);
char str[80]; wxString str;
sprintf(str, "%d", m_currentScore); str.Printf(_T("%d"), m_currentScore);
dc.DrawText("Score:", x, y); dc.DrawText(_T("Score:"), x, y);
dc.DrawText(str, x + w, y); dc.DrawText(str, x + w, y);
y += h; y += h;
sprintf(str, "%d", m_numGames); str.Printf(_T("%d"), m_numGames);
dc.DrawText("Games played:", x, y); dc.DrawText(_T("Games played:"), x, y);
dc.DrawText(str, x + w, y); dc.DrawText(str, x + w, y);
y += h; y += h;
sprintf(str, "%d", m_numWins); str.Printf(_T("%d"), m_numWins);
dc.DrawText("Games won:", x, y); dc.DrawText(_T("Games won:"), x, y);
dc.DrawText(str, x + w, y); dc.DrawText(str, x + w, y);
y += h; y += h;
@@ -268,8 +268,8 @@ void Game::DisplayScore(wxDC& dc)
{ {
average = (2 * (m_currentScore + m_totalScore) + m_numGames ) / (2 * m_numGames); average = (2 * (m_currentScore + m_totalScore) + m_numGames ) / (2 * m_numGames);
} }
sprintf(str, "%d", average); str.Printf(_T("%d"), average);
dc.DrawText("Average score:", x, y); dc.DrawText(_T("Average score:"), x, y);
dc.DrawText(str, x + w, y); dc.DrawText(str, x + w, y);
} }
@@ -798,8 +798,8 @@ void Pack::Redraw(wxDC& dc)
{ {
Pile::Redraw(dc); Pile::Redraw(dc);
char str[10]; wxString str;
sprintf(str, "%d ", m_topCard + 1); str.Printf(_T("%d "), m_topCard + 1);
dc.SetBackgroundMode( wxSOLID ); dc.SetBackgroundMode( wxSOLID );
dc.SetTextBackground(FortyApp::BackgroundColour()); dc.SetTextBackground(FortyApp::BackgroundColour());
@@ -816,7 +816,7 @@ void Pack::AddCard(Card* card)
} }
else else
{ {
wxMessageBox("Pack::AddCard() Undo error", "Forty Thieves: Warning", wxMessageBox(_T("Pack::AddCard() Undo error"), _T("Forty Thieves: Warning"),
wxOK | wxICON_EXCLAMATION); wxOK | wxICON_EXCLAMATION);
} }
card->TurnCard(facedown); card->TurnCard(facedown);

View File

@@ -44,7 +44,7 @@ PlayerSelectionDialog::PlayerSelectionDialog(
wxWindow* parent, wxWindow* parent,
ScoreFile* file ScoreFile* file
) : ) :
wxDialog(parent, -1, "Player Selection", wxDialog(parent, -1, _T("Player Selection"),
wxDefaultPosition, wxSize(320, 200), wxDefaultPosition, wxSize(320, 200),
wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE), wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE),
m_scoreFile(file) m_scoreFile(file)
@@ -52,7 +52,7 @@ PlayerSelectionDialog::PlayerSelectionDialog(
// enable constraints // enable constraints
SetAutoLayout (TRUE); SetAutoLayout (TRUE);
wxStaticText* msg = new wxStaticText(this, -1, "Please select a name or type a new one:"); wxStaticText* msg = new wxStaticText(this, -1, _T("Please select a name or type a new one:"));
wxListBox* list = new wxListBox( wxListBox* list = new wxListBox(
this, ID_LISTBOX, this, ID_LISTBOX,
@@ -68,10 +68,10 @@ PlayerSelectionDialog::PlayerSelectionDialog(
list->Append(players[i]); list->Append(players[i]);
} }
m_textField = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxDefaultSize, 0); m_textField = new wxTextCtrl(this, -1, _T(""), wxDefaultPosition, wxDefaultSize, 0);
m_OK = new wxButton(this, wxID_OK, "OK"); m_OK = new wxButton(this, wxID_OK, _T("OK"));
m_cancel = new wxButton(this, wxID_CANCEL, "Cancel"); m_cancel = new wxButton(this, wxID_CANCEL, _T("Cancel"));
wxLayoutConstraints* layout; wxLayoutConstraints* layout;
@@ -149,7 +149,7 @@ const wxString& PlayerSelectionDialog::GetPlayersName()
void PlayerSelectionDialog::OnCloseWindow(wxCloseEvent& event) void PlayerSelectionDialog::OnCloseWindow(wxCloseEvent& event)
{ {
m_player = ""; m_player = _T("");
EndModal(wxID_CANCEL); EndModal(wxID_CANCEL);
} }
@@ -169,9 +169,9 @@ void PlayerSelectionDialog::ButtonCallback(wxCommandEvent& event)
wxString name = m_textField->GetValue(); wxString name = m_textField->GetValue();
if (!name.IsNull() && name.Length() > 0) if (!name.IsNull() && name.Length() > 0)
{ {
if (name.Contains('@')) if (name.Contains(_T('@')))
{ {
wxMessageBox("Names should not contain the '@' character", "Forty Thieves"); wxMessageBox(_T("Names should not contain the '@' character"), _T("Forty Thieves"));
} }
else else
{ {
@@ -181,12 +181,12 @@ void PlayerSelectionDialog::ButtonCallback(wxCommandEvent& event)
} }
else else
{ {
wxMessageBox("Please enter your name", "Forty Thieves"); wxMessageBox(_T("Please enter your name"), _T("Forty Thieves"));
} }
} }
else else
{ {
m_player = ""; m_player = _T("");
EndModal(wxID_CANCEL); EndModal(wxID_CANCEL);
} }
} }

View File

@@ -27,16 +27,6 @@
#include "wx/wx.h" #include "wx/wx.h"
#endif #endif
#if wxUSE_IOSTREAMH
#if defined(__WXMSW__) && !defined(__GNUWIN32__) && !defined(__MWERKS__)
#include <strstrea.h>
#else
#include <strstream.h>
#endif
#else
#include <strstream>
//using namespace std;
#endif
#include "scorefil.h" #include "scorefil.h"
#include "scoredg.h" #include "scoredg.h"
@@ -66,9 +56,9 @@ ScoreCanvas::ScoreCanvas(wxWindow* parent, ScoreFile* scoreFile) :
wxArrayString players; wxArrayString players;
scoreFile->GetPlayerList( players); scoreFile->GetPlayerList( players);
ostrstream os; wxString os;
os << "Player\tWins\tGames\tScore\n"; os << wxT("Player\tWins\tGames\tScore\n");
for (unsigned int i = 0; i < players.Count(); i++) for (unsigned int i = 0; i < players.Count(); i++)
{ {
int wins, games, score; int wins, games, score;
@@ -79,15 +69,13 @@ ScoreCanvas::ScoreCanvas(wxWindow* parent, ScoreFile* scoreFile) :
average = (2 * score + games) / (2 * games); average = (2 * score + games) / (2 * games);
} }
os << players[i] << '\t' os << players[i] << wxT('\t')
<< wins << '\t' << wins << wxT('\t')
<< games << '\t' << games << wxT('\t')
<< average << '\n'; << average << wxT('\n');
} }
os << '\0'; os << wxT('\0');
char* str = os.str(); m_text = os;
m_text = str;
delete str;
} }
ScoreCanvas::~ScoreCanvas() ScoreCanvas::~ScoreCanvas()
@@ -98,7 +86,7 @@ void ScoreCanvas::OnDraw(wxDC& dc)
{ {
dc.SetFont(* m_font); dc.SetFont(* m_font);
const char* str = m_text; const wxChar* str = m_text;
unsigned int tab = 0; unsigned int tab = 0;
unsigned int tabstops[] = { 5, 100, 150, 200 }; unsigned int tabstops[] = { 5, 100, 150, 200 };
@@ -106,29 +94,29 @@ void ScoreCanvas::OnDraw(wxDC& dc)
int lineSpacing; int lineSpacing;
{ {
long w, h; long w, h;
dc.GetTextExtent("Testing", &w, &h); dc.GetTextExtent(_T("Testing"), &w, &h);
lineSpacing = (int)h; lineSpacing = (int)h;
} }
int y = 0; int y = 0;
while (*str) while (*str)
{ {
char text[256]; wxChar text[256];
char* dest = text; wxChar* dest = text;
while (*str && *str >= ' ') *dest++ = *str++; while (*str && *str >= _T(' ')) *dest++ = *str++;
*dest = '\0'; *dest = _T('\0');
dc.DrawText(text, tabstops[tab], y); dc.DrawText(text, tabstops[tab], y);
if (*str == '\t') if (*str == _T('\t'))
{ {
if (tab < sizeof(tabstops) / sizeof(tabstops[0]) - 1) if (tab < sizeof(tabstops) / sizeof(tabstops[0]) - 1)
{ {
tab++; tab++;
} }
} }
else if (*str == '\n') else if (*str == _T('\n'))
{ {
tab = 0; tab = 0;
y += lineSpacing; y += lineSpacing;
@@ -145,7 +133,7 @@ ScoreDialog::ScoreDialog(
wxWindow* parent, wxWindow* parent,
ScoreFile* file ScoreFile* file
) : ) :
wxDialog(parent, -1, "Scores", wxDialog(parent, -1, _T("Scores"),
wxDefaultPosition, wxSize(310, 200), wxDefaultPosition, wxSize(310, 200),
wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE), wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE),
m_scoreFile(file) m_scoreFile(file)
@@ -154,7 +142,7 @@ ScoreDialog::ScoreDialog(
SetAutoLayout (TRUE); SetAutoLayout (TRUE);
ScoreCanvas* list = new ScoreCanvas(this, m_scoreFile); ScoreCanvas* list = new ScoreCanvas(this, m_scoreFile);
m_OK = new wxButton(this, wxID_OK, "OK"); m_OK = new wxButton(this, wxID_OK, _T("OK"));
wxLayoutConstraints* layout; wxLayoutConstraints* layout;

View File

@@ -38,7 +38,7 @@
#include "scorefil.h" #include "scorefil.h"
ScoreFile::ScoreFile(const char* appName) ScoreFile::ScoreFile(const wxString& appName)
{ {
#if 0 #if 0
wxString filename; wxString filename;
@@ -68,7 +68,8 @@ ScoreFile::ScoreFile(const char* appName)
} }
#endif #endif
m_config = new wxConfig(appName, "wxWindows", appName, "", wxCONFIG_USE_LOCAL_FILE); // only local m_config = new wxConfig(appName, _T("wxWindows"), appName, _T(""),
wxCONFIG_USE_LOCAL_FILE); // only local
} }
ScoreFile::~ScoreFile() ScoreFile::~ScoreFile()
@@ -84,7 +85,7 @@ ScoreFile::~ScoreFile()
void ScoreFile::GetPlayerList( wxArrayString &list ) void ScoreFile::GetPlayerList( wxArrayString &list )
{ {
m_config->SetPath("/Players"); m_config->SetPath(_T("/Players"));
int length = m_config->GetNumberOfGroups(); int length = m_config->GetNumberOfGroups();
if (length <= 0) return; if (length <= 0) return;
@@ -106,12 +107,14 @@ void ScoreFile::GetPlayerList( wxArrayString &list )
// Calculate an encrypted check number to prevent tampering with // Calculate an encrypted check number to prevent tampering with
// score file // score file
long ScoreFile::CalcCheck(const char* name, int p1, int p2, int p3) long ScoreFile::CalcCheck(const wxString& name, int p1, int p2, int p3)
{ {
long check = 0; long check = 0;
while (*name) size_t i, max = name.length();
for(i = 0; i < max; ++i )
{ {
check = (check << 1) ^ (long)*name++; check = (check << 1) ^ (long)name[i];
check = ((check >> 23) ^ check) & 0xFFFFFF; check = ((check >> 23) ^ check) & 0xFFFFFF;
} }
check = (check << 1) ^ (long)p1; check = (check << 1) ^ (long)p1;
@@ -126,13 +129,13 @@ long ScoreFile::CalcCheck(const char* name, int p1, int p2, int p3)
wxString ScoreFile::GetPreviousPlayer() const wxString ScoreFile::GetPreviousPlayer() const
{ {
wxString result; wxString result;
m_config->SetPath("/General"); m_config->SetPath(_T("/General"));
m_config->Read("LastPlayer", &result); m_config->Read(_T("LastPlayer"), &result);
return result; return result;
} }
void ScoreFile::ReadPlayersScore( void ScoreFile::ReadPlayersScore(
const char* player, const wxString& player,
int& wins, int& wins,
int& games, int& games,
int& score) int& score)
@@ -142,17 +145,17 @@ void ScoreFile::ReadPlayersScore(
games = wins = score = 0; games = wins = score = 0;
m_config->SetPath("/Players"); m_config->SetPath(_T("/Players"));
m_config->SetPath(player); m_config->SetPath(player);
if (m_config->Read("Score", &myScore, 0L) && if (m_config->Read(_T("Score"), &myScore, 0L) &&
m_config->Read("Games", &myGames, 0L) && m_config->Read(_T("Games"), &myGames, 0L) &&
m_config->Read("Wins", &myWins, 0L) && m_config->Read(_T("Wins"), &myWins, 0L) &&
m_config->Read("Check", &check, 0L)) m_config->Read(_T("Check"), &check, 0L))
{ {
if (check != CalcCheck(player, myGames, myWins, myScore)) if (check != CalcCheck(player, myGames, myWins, myScore))
{ {
wxMessageBox("Score file corrupted", "Warning", wxMessageBox(_T("Score file corrupted"), _T("Warning"),
wxOK | wxICON_EXCLAMATION); wxOK | wxICON_EXCLAMATION);
} }
else else
{ {
@@ -165,18 +168,18 @@ void ScoreFile::ReadPlayersScore(
} }
void ScoreFile::WritePlayersScore(const char* player, int wins, int games, int score) void ScoreFile::WritePlayersScore(const wxString& player, int wins, int games, int score)
{ {
if (player) if (player)
{ {
m_config->SetPath("/General"); m_config->SetPath(_T("/General"));
m_config->Write("LastPlayer", wxString(player)); // Without wxString tmp, thinks it's bool in VC++ m_config->Write(_T("LastPlayer"), wxString(player)); // Without wxString tmp, thinks it's bool in VC++
m_config->SetPath("/Players"); m_config->SetPath(_T("/Players"));
m_config->SetPath(player); m_config->SetPath(player);
m_config->Write("Score", (long)score); m_config->Write(_T("Score"), (long)score);
m_config->Write("Games", (long)games); m_config->Write(_T("Games"), (long)games);
m_config->Write("Wins", (long)wins); m_config->Write(_T("Wins"), (long)wins);
m_config->Write("Check", CalcCheck(player, games, wins, score)); m_config->Write(_T("Check"), CalcCheck(player, games, wins, score));
} }
} }

View File

@@ -24,17 +24,17 @@
class ScoreFile { class ScoreFile {
public: public:
ScoreFile(const char* appName); ScoreFile(const wxString& appName);
virtual ~ScoreFile(); virtual ~ScoreFile();
void GetPlayerList( wxArrayString &list ); void GetPlayerList( wxArrayString &list );
wxString GetPreviousPlayer() const; wxString GetPreviousPlayer() const;
void ReadPlayersScore(const char* player, int& wins, int& games, int &score); void ReadPlayersScore(const wxString& player, int& wins, int& games, int &score);
void WritePlayersScore(const char* player, int wins, int games, int score); void WritePlayersScore(const wxString& player, int wins, int games, int score);
private: private:
long CalcCheck(const char* name, int p1, int p2, int p3); long CalcCheck(const wxString& name, int p1, int p2, int p3);
wxString m_configFilename; wxString m_configFilename;
wxConfig* m_config; wxConfig* m_config;
}; };

View File

@@ -90,13 +90,13 @@ DECLARE_EVENT_TABLE()
bool MyApp::OnInit() bool MyApp::OnInit()
{ {
// Create the main frame window // Create the main frame window
MyFrame *frame = new MyFrame(NULL, "Fractal Mountains for wxWindows", wxPoint(-1, -1), wxSize(640, 480)); MyFrame *frame = new MyFrame(NULL, _T("Fractal Mountains for wxWindows"), wxPoint(-1, -1), wxSize(640, 480));
// Make a menubar // Make a menubar
wxMenu *file_menu = new wxMenu; wxMenu *file_menu = new wxMenu;
file_menu->Append(wxID_EXIT, "E&xit"); file_menu->Append(wxID_EXIT, _T("E&xit"));
menuBar = new wxMenuBar; menuBar = new wxMenuBar;
menuBar->Append(file_menu, "&File"); menuBar->Append(file_menu, _T("&File"));
frame->SetMenuBar(menuBar); frame->SetMenuBar(menuBar);
int width, height; int width, height;

View File

@@ -58,9 +58,18 @@ public:
m_name = name; m_name = name;
m_description = description; m_description = description;
m_rules = _(""); m_rules = _("");
m_shape.Add( wxString::Format("%i %i", -width/2, -height/2) ); m_shape.Add( wxString::Format(_T("%i %i"), -width/2, -height/2) );
for(int j = 0; j < height; j++) for(int j = 0; j < height; j++)
m_shape.Add( wxString(shape + (j * width), (size_t) width) ); {
wxString tmp;
for(int i = 0; i < width; i++)
{
tmp += wxChar(shape[j * width + i]);
}
m_shape.Add( tmp );
}
}; };
wxString m_name; wxString m_name;

View File

@@ -194,9 +194,9 @@ LifeFrame::LifeFrame() : wxFrame((wxFrame *)0, -1, _("Life!"), wxPoint(200, 200)
SetIcon(wxICON(mondrian)); SetIcon(wxICON(mondrian));
// menu bar // menu bar
wxMenu *menuFile = new wxMenu("", wxMENU_TEAROFF); wxMenu *menuFile = new wxMenu(_T(""), wxMENU_TEAROFF);
wxMenu *menuView = new wxMenu("", wxMENU_TEAROFF); wxMenu *menuView = new wxMenu(_T(""), wxMENU_TEAROFF);
wxMenu *menuGame = new wxMenu("", wxMENU_TEAROFF); wxMenu *menuGame = new wxMenu(_T(""), wxMENU_TEAROFF);
menuFile->Append(ID_NEW, _("&New"), _("Start a new game")); menuFile->Append(ID_NEW, _("&New"), _("Start a new game"));
menuFile->Append(ID_OPEN, _("&Open..."), _("Open an existing Life pattern")); menuFile->Append(ID_OPEN, _("&Open..."), _("Open an existing Life pattern"));

View File

@@ -206,7 +206,7 @@ void MainWindow::ScanBuffer(wxDC *dc, bool DrawIt, int *max_x, int *max_y)
dc->SetFont(* NormalFont); dc->SetFont(* NormalFont);
long xx; long xx;
long yy; long yy;
dc->GetTextExtent("X", &xx, &yy); dc->GetTextExtent(_T("X"), &xx, &yy);
char_height = (int)yy; char_height = (int)yy;
if (current_page == 0) if (current_page == 0)
@@ -844,9 +844,11 @@ int GetIndex()
// Read preferences // Read preferences
void ReadPreferences() void ReadPreferences()
{ {
#if wxUSE_RESOURCES
wxGetResource("wxPoem", "FontSize", &pointSize); wxGetResource("wxPoem", "FontSize", &pointSize);
wxGetResource("wxPoem", "X", &XPos); wxGetResource("wxPoem", "X", &XPos);
wxGetResource("wxPoem", "Y", &YPos); wxGetResource("wxPoem", "Y", &YPos);
#endif
} }
// Write preferences to disk // Write preferences to disk
@@ -854,10 +856,12 @@ void WritePreferences()
{ {
#ifdef __WXMSW__ #ifdef __WXMSW__
TheMainWindow->GetPosition(&XPos, &YPos); TheMainWindow->GetPosition(&XPos, &YPos);
#if wxUSE_RESOURCES
wxWriteResource("wxPoem", "FontSize", pointSize); wxWriteResource("wxPoem", "FontSize", pointSize);
wxWriteResource("wxPoem", "X", XPos); wxWriteResource("wxPoem", "X", XPos);
wxWriteResource("wxPoem", "Y", YPos); wxWriteResource("wxPoem", "Y", YPos);
#endif #endif
#endif
} }
// Load a poem from given file, at given point in file. // Load a poem from given file, at given point in file.

View File

@@ -21,7 +21,7 @@ while test $# -gt 0; do
verbose=1 verbose=1
;; ;;
-o|-compatibility_version|-current_version|-framework|-undefined) -o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
# collect these options and values # collect these options and values
args="$args $1 $2" args="$args $1 $2"
shift shift

View File

@@ -120,6 +120,19 @@ contrib/samples/gizmos/dynsash_switch/*.rc
contrib/samples/gizmos/dynsash_switch/dynsash_switch.dsp contrib/samples/gizmos/dynsash_switch/dynsash_switch.dsp
contrib/samples/gizmos/dynsash_switch/dynsash_switch.dsw contrib/samples/gizmos/dynsash_switch/dynsash_switch.dsw
contrib/samples/gizmos/led/*.cpp
contrib/samples/gizmos/led/*.h
contrib/samples/gizmos/led/*.def
contrib/samples/gizmos/led/makefile*
contrib/samples/gizmos/led/*.xbm
contrib/samples/gizmos/led/*.xpm
contrib/samples/gizmos/led/*.txt
contrib/samples/gizmos/led/*.ico
contrib/samples/gizmos/led/*.bmp
contrib/samples/gizmos/led/*.rc
contrib/samples/gizmos/led/led.dsp
contrib/samples/gizmos/led/led.dsw
contrib/samples/animate/*.cpp contrib/samples/animate/*.cpp
contrib/samples/animate/*.h contrib/samples/animate/*.h
contrib/samples/animate/*.def contrib/samples/animate/*.def

View File

@@ -3,7 +3,7 @@
rem VZ: this is quick and _very_ dirty, to be replaced by a script directly rem VZ: this is quick and _very_ dirty, to be replaced by a script directly
rem parsing the files.txt and include/wx/version.h... rem parsing the files.txt and include/wx/version.h...
set VER=2.3.4 set VER=2.4.0
set DEST=t:\wxBase-%VER% set DEST=t:\wxBase-%VER%
mkdir %DEST% mkdir %DEST%

View File

@@ -629,6 +629,7 @@ samples/image/*.ico
samples/image/*.cur samples/image/*.cur
samples/image/*.txt samples/image/*.txt
samples/image/*.pro samples/image/*.pro
samples/image/*.ani
samples/internat/*.cpp samples/internat/*.cpp
samples/internat/*.h samples/internat/*.h

View File

@@ -15,6 +15,7 @@
[INI] [INI]
[Registry] [Registry]
Root: HKCU; SubKey: Software\Environment\; ValueName: WXWIN; ValueType: string; ValueData: {app}; Flags: createvalueifdoesntexist
[UninstallDelete] [UninstallDelete]
@@ -31,7 +32,7 @@
; DO NOT DELETE THEM or you may be unable to reload the script ; DO NOT DELETE THEM or you may be unable to reload the script
;[ScriptSetup] ;[ScriptSetup]
;VerNum=2.3.4 ;VerNum=2.4.0
;InnoVer=1.3 ;InnoVer=1.3
;AddVerTo=AppVerName ;AddVerTo=AppVerName
;SetupFilename=setup.exe ;SetupFilename=setup.exe

View File

@@ -121,6 +121,7 @@ contrib/samples/gizmos/splittree/Makefile.in
contrib/samples/gizmos/editlbox/Makefile.in contrib/samples/gizmos/editlbox/Makefile.in
contrib/samples/gizmos/dynsash/Makefile.in contrib/samples/gizmos/dynsash/Makefile.in
contrib/samples/gizmos/dynsash_switch/Makefile.in contrib/samples/gizmos/dynsash_switch/Makefile.in
contrib/samples/gizmos/led/Makefile.in
contrib/samples/ogl/Makefile.in contrib/samples/ogl/Makefile.in
contrib/samples/ogl/ogledit/Makefile.in contrib/samples/ogl/ogledit/Makefile.in
contrib/samples/ogl/studio/Makefile.in contrib/samples/ogl/studio/Makefile.in

273
distrib/msw/makerpm Executable file
View File

@@ -0,0 +1,273 @@
#!/bin/sh
# Makes the wxWindows RPMs
doupdatecvs()
{
cd $WXSRC
echo Updating from CVS...
cvswx update -d -P
}
dospinwxgtk()
{
echo Making wxGTK RPMs...
RPM_ROOT=$WXDEST/wxgtk/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxgtk
mkdir $WXDEST/wxgtk
mkdir $WXDEST/wxgtk/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxgtk/release
echo Configuring...
$WXSRC/configure --no-recursion
echo Making...
make -j1 dist bzip-dist-only
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxGTK-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxGTK-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxGTK.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxGTK.spec $RPM_ROOT/SPECS
echo Starting wxGTK RPM build...
cd $RPM_ROOT
rpmbuild -ba SPECS/wxGTK.spec 2>&1 | tee wxGTK.out
echo Finished wxBase RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
cp $RPM_ROOT/RPMS/*.rpm $WXDEST
cp $WXDEST/wxgtk/release/*.tar.gz $WXDEST
cp $WXDEST/wxgtk/release/*.tar.bz2 $WXDEST
echo Now try the RPMs with rpm -i.
}
dospinwxbase()
{
echo Making wxBase RPMs...
RPM_ROOT=$WXDEST/wxbase/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxbase
mkdir $WXDEST/wxbase
mkdir $WXDEST/wxbase/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxbase/release
echo Configuring...
$WXSRC/configure --disable-gui --no-recursion
echo Making...
make -j1 dist bzip-dist-only
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxBase-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxBase-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxBase.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxBase.spec $RPM_ROOT/SPECS
echo Starting wxBase RPM build...
cd $RPM_ROOT
rpmbuild -ba SPECS/wxBase.spec 2>&1 | tee wxBase.out
echo Finished wxBase RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
cp $RPM_ROOT/RPMS/*.rpm $WXDEST
cp $WXDEST/wxbase/release/*.tar.gz $WXDEST
cp $WXDEST/wxbase/release/*.tar.bz2 $WXDEST
echo Now try the RPMs with rpm -i.
}
dospinwxx11()
{
echo Making wxX11 RPMs...
RPM_ROOT=$WXDEST/wxx11/rpm-root
if [ ! -d $WXDEST ]; then
mkdir $WXDEST
fi
rm -f -r $WXDEST/wxx11
mkdir $WXDEST/wxx11
mkdir $WXDEST/wxx11/release
mkdir $RPM_ROOT
cd $WXSRC
cd locale
make allmo
cd $WXDEST/wxx11/release
echo Configuring...
$WXSRC/configure --with-x11 --no-recursion
echo Making...
make -j1 dist bzip-dist-only
echo Setting up RPM build dir $RPM_ROOT...
rm -f -r $RPM_ROOT
mkdir $RPM_ROOT
mkdir $RPM_ROOT/BUILD
mkdir $RPM_ROOT/RPMS
mkdir $RPM_ROOT/RPMS/i386
mkdir $RPM_ROOT/RPMS/i686
mkdir $RPM_ROOT/RPMS/noarch
mkdir $RPM_ROOT/SOURCES
mkdir $RPM_ROOT/SPECS
mkdir $RPM_ROOT/SRPMS
echo %_topdir $RPM_ROOT > ~/.rpmmacros
echo Copying wxX11-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
cp wxX11-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
echo Copying wxX11.spec to $RPM_ROOT/SPECS...
cp $WXSRC/wxX11.spec $RPM_ROOT/SPECS
echo Starting wxX11 RPM build...
cd $RPM_ROOT
rpmbuild -ba SPECS/wxX11.spec 2>&1 | tee wxX11.out
echo Finished wxX11 RPM build, in $RPM_ROOT.
echo "SRPMS:"
ls SRPMS
echo "RPMS/i386:"
ls RPMS/i386
cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
cp $RPM_ROOT/RPMS/*.rpm $WXDEST
cp $WXDEST/wxx11/release/*.tar.gz $WXDEST
cp $WXDEST/wxx11/release/*.tar.bz2 $WXDEST
echo Now try the RPMs with rpm -i.
}
init=""
if [ "$1" = "" ]
then
echo Usage: makerpm wx-dir output-dir version
exit
fi
if [ "$2" = "" ]
then
echo Usage: makerpm wx-dir output-dir version
exit
fi
if [ "$3" = "" ]
then
echo Usage: makerpm wx-dir output-dir version
exit
fi
PROGNAME=$0
WXSRC=$1
WXDEST=$2
WXVER=$3
SPINWXX11=0
SPINWXGTK=0
SPINWXBASE=0
SPINEVERYTHING=0
UPDATECVS=0
usage()
{
echo Usage: $PROGNAME "src-dir dest-dir version-number [ options ]"
echo Options:
echo " --help Display this help message"
echo " --wxgtk Spin wxGTK RPMs"
echo " --wxbase Spin wxBase RPMs"
echo " --wxx11 Spin wxX11 RPMs"
echo " --all Spin EVERYTHING"
echo " --updatecvs Update from CVS"
exit 1
}
# Process command line options.
shift 3
for i in "$@"; do
case "$i" in
--wxx11) SPINWXX11=1 ;;
--wxgtk) SPINWXGTK=1 ;;
--wxbase) SPINWXBASE=1 ;;
--all) SPINEVERYTHING=1 ;;
--updatecvs) UPDATECVS=1 ;;
*)
usage
exit
;;
esac
done
echo About to make wxWindows RPMs:
echo From $WXSRC
echo To $WXDEST
echo Version $WXVER
echo CTRL-C if this is not correct.
read dummy
if [ "$UPDATECVS" = "1" ]; then
doupdatecvs
fi
if [ "$SPINWXX11" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
dospinwxx11
fi
if [ "$SPINWXGTK" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
dospinwxgtk
fi
if [ "$SPINWXBASE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
dospinwxbase
fi

View File

@@ -43,7 +43,6 @@ contrib/samples/stc/*.rc
contrib/samples/stc/*.def contrib/samples/stc/*.def
contrib/samples/stc/*.xbm contrib/samples/stc/*.xbm
contrib/samples/stc/make*.* contrib/samples/stc/make*.*
contrib/samples/stc/Makefile
contrib/samples/stc/*.txt contrib/samples/stc/*.txt
contrib/samples/stc/*.ico contrib/samples/stc/*.ico
contrib/samples/stc/*.bmp contrib/samples/stc/*.bmp

View File

@@ -66,7 +66,7 @@ dospinwxgtk()
echo Tarring wxGTK... echo Tarring wxGTK...
cd $WXSRC cd $WXSRC
cat $WXSRC/distrib/msw/generic.rsp $WXSRC/distrib/msw/contrib.rsp $WXSRC/distrib/msw/xml.rsp $WXSRC/distrib/msw/utils.rsp $WXSRC/distrib/msw/ogl.rsp $WXSRC/distrib/msw/tex2rtf.rsp $WXSRC/distrib/msw/dialoged.rsp $WXSRC/distrib/msw/gtk.rsp $WXSRC/distrib/msw/makefile.rsp $WXSRC/distrib/msw/tiff.rsp $WXSRC/distrib/msw/jpeg.rsp > /tmp/wxgtk_in.txt cat $WXSRC/distrib/msw/generic.rsp $WXSRC/distrib/msw/contrib.rsp $WXSRC/distrib/msw/stc.rsp $WXSRC/distrib/msw/xml.rsp $WXSRC/distrib/msw/utils.rsp $WXSRC/distrib/msw/ogl.rsp $WXSRC/distrib/msw/tex2rtf.rsp $WXSRC/distrib/msw/dialoged.rsp $WXSRC/distrib/msw/gtk.rsp $WXSRC/distrib/msw/makefile.rsp $WXSRC/distrib/msw/tiff.rsp $WXSRC/distrib/msw/jpeg.rsp > /tmp/wxgtk_in.txt
expandlines /tmp/wxgtk_in.txt /tmp/wxgtk.txt expandlines /tmp/wxgtk_in.txt /tmp/wxgtk.txt
$TAR cf $WXDEST/wxGTK-${WXVER}.tar -T /tmp/wxgtk.txt $TAR cf $WXDEST/wxGTK-${WXVER}.tar -T /tmp/wxgtk.txt
@@ -87,7 +87,7 @@ dospinwxmotif()
echo Tarring wxMotif... echo Tarring wxMotif...
cd $WXSRC cd $WXSRC
cat $WXSRC/distrib/msw/generic.rsp $WXSRC/distrib/msw/motif.rsp $WXSRC/distrib/msw/contrib.rsp $WXSRC/distrib/msw/xml.rsp $WXSRC/distrib/msw/ogl.rsp $WXSRC/distrib/msw/makefile.rsp $WXSRC/distrib/msw/tiff.rsp $WXSRC/distrib/msw/jpeg.rsp > /tmp/wxmotif_in.txt cat $WXSRC/distrib/msw/generic.rsp $WXSRC/distrib/msw/motif.rsp $WXSRC/distrib/msw/contrib.rsp $WXSRC/distrib/msw/stc.rsp $WXSRC/distrib/msw/xml.rsp $WXSRC/distrib/msw/ogl.rsp $WXSRC/distrib/msw/makefile.rsp $WXSRC/distrib/msw/tiff.rsp $WXSRC/distrib/msw/jpeg.rsp > /tmp/wxmotif_in.txt
expandlines /tmp/wxmotif_in.txt /tmp/wxmotif.txt expandlines /tmp/wxmotif_in.txt /tmp/wxmotif.txt
$TAR cf $WXDEST/wxMotif-${WXVER}.tar -T /tmp/wxmotif.txt $TAR cf $WXDEST/wxMotif-${WXVER}.tar -T /tmp/wxmotif.txt
@@ -109,7 +109,7 @@ echo Tarring wxX11...
### wxX11: combined wxMotif and wxX11 distributions ### wxX11: combined wxMotif and wxX11 distributions
cd $WXSRC cd $WXSRC
cat $WXSRC/distrib/msw/generic.rsp $WXSRC/distrib/msw/motif.rsp $WXSRC/distrib/msw/x11.rsp $WXSRC/distrib/msw/univ.rsp $WXSRC/distrib/msw/contrib.rsp $WXSRC/distrib/msw/utils.rsp $WXSRC/distrib/msw/xml.rsp $WXSRC/distrib/msw/dialoged.rsp $WXSRC/distrib/msw/ogl.rsp $WXSRC/distrib/msw/makefile.rsp $WXSRC/distrib/msw/tiff.rsp $WXSRC/distrib/msw/jpeg.rsp > /tmp/wxx11_in.txt cat $WXSRC/distrib/msw/generic.rsp $WXSRC/distrib/msw/motif.rsp $WXSRC/distrib/msw/x11.rsp $WXSRC/distrib/msw/univ.rsp $WXSRC/distrib/msw/contrib.rsp $WXSRC/distrib/msw/stc.rsp $WXSRC/distrib/msw/utils.rsp $WXSRC/distrib/msw/xml.rsp $WXSRC/distrib/msw/dialoged.rsp $WXSRC/distrib/msw/ogl.rsp $WXSRC/distrib/msw/makefile.rsp $WXSRC/distrib/msw/tiff.rsp $WXSRC/distrib/msw/jpeg.rsp > /tmp/wxx11_in.txt
expandlines /tmp/wxx11_in.txt /tmp/wxx11.txt expandlines /tmp/wxx11_in.txt /tmp/wxx11.txt
$TAR cf $WXDEST/wxX11-${WXVER}.tar -T /tmp/wxx11.txt $TAR cf $WXDEST/wxX11-${WXVER}.tar -T /tmp/wxx11.txt

View File

@@ -283,7 +283,7 @@ dcprint.cpp MSW LowLevel
dcscreen.cpp MSW LowLevel dcscreen.cpp MSW LowLevel
dde.cpp MSW LowLevel,Base dde.cpp MSW LowLevel,Base
dialog.cpp MSW dialog.cpp MSW
dialup.cpp MSW dialup.cpp MSW LowLevel
dib.cpp MSW LowLevel dib.cpp MSW LowLevel
dibutils.cpp MSW dibutils.cpp MSW
dir.cpp MSW Base dir.cpp MSW Base
@@ -307,13 +307,13 @@ gauge95.cpp MSW Win32Only
gaugemsw.cpp MSW NotWin32 gaugemsw.cpp MSW NotWin32
gdiimage.cpp MSW LowLevel gdiimage.cpp MSW LowLevel
gdiobj.cpp MSW LowLevel gdiobj.cpp MSW LowLevel
glcanvas.cpp MSW glcanvas.cpp MSW LowLevel
helpchm.cpp MSW Win32Only,LowLevel helpchm.cpp MSW Win32Only,LowLevel
helpwin.cpp MSW LowLevel helpwin.cpp MSW LowLevel
icon.cpp MSW LowLevel icon.cpp MSW LowLevel
imaglist.cpp MSW Win32Only imaglist.cpp MSW Win32Only
iniconf.cpp MSW iniconf.cpp MSW
joystick.cpp MSW joystick.cpp MSW LowLevel
listbox.cpp MSW listbox.cpp MSW
listctrl.cpp MSW Win32Only listctrl.cpp MSW Win32Only
main.cpp MSW LowLevel,Base main.cpp MSW LowLevel,Base
@@ -353,21 +353,21 @@ statbr95.cpp MSW Win32Only
statline.cpp MSW statline.cpp MSW
stattext.cpp MSW stattext.cpp MSW
tabctrl.cpp MSW tabctrl.cpp MSW
taskbar.cpp MSW Win32Only taskbar.cpp MSW Win32Only,LowLevel
tbar95.cpp MSW Win32Only tbar95.cpp MSW Win32Only
tbarmsw.cpp MSW NotWin32 tbarmsw.cpp MSW NotWin32
textctrl.cpp MSW textctrl.cpp MSW
tglbtn.cpp MSW tglbtn.cpp MSW
thread.cpp MSW Win32Only,Base,LowLevel thread.cpp MSW Win32Only,Base,LowLevel
timer.cpp MSW LowLevel timer.cpp MSW LowLevel
tooltip.cpp MSW Win32Only tooltip.cpp MSW Win32Only,LowLevel
toplevel.cpp MSW LowLevel toplevel.cpp MSW LowLevel
treectrl.cpp MSW Win32Only treectrl.cpp MSW Win32Only
utils.cpp MSW Base,LowLevel utils.cpp MSW Base,LowLevel
utilsexc.cpp MSW Base,LowLevel utilsexc.cpp MSW Base,LowLevel
uuid.cpp MSW OLE uuid.cpp MSW OLE
volume.cpp MSW Base volume.cpp MSW Base
wave.cpp MSW wave.cpp MSW LowLevel
window.cpp MSW LowLevel window.cpp MSW LowLevel
dialup.cpp Unix NotMac dialup.cpp Unix NotMac

View File

@@ -294,7 +294,7 @@ $(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
$(link) @<< $(link) @<<
$(LINKFLAGS) $(INCREMENTAL) $(LINKFLAGS) $(INCREMENTAL)
-out:$(WXDIR)\lib\$(WXLIBNAME).dll -out:$(WXDIR)\lib\$(WXLIBNAME).dll
$(DUMMYOBJ) $(OBJECTS) $(MSLU_LIBS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib $(WXDIR)\lib\regex$(LIBEXT).lib $(DELAY_LOAD) $(DUMMYOBJ) $(OBJECTS) $(MSLU_LIBS) $(guilibsdll) shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib $(WXDIR)\lib\regex$(LIBEXT).lib $(DELAY_LOAD)
<< <<
!endif !endif
@@ -608,11 +608,11 @@ $(DOCDIR)\html\wx\wx.htm: $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex
$(DOCDIR)\htmlhelp\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\mshtml\wx\wx.htm $(DOCDIR)\mshtml\wx\wx.hhp $(DOCDIR)\htmlhelp\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\mshtml\wx\wx.htm $(DOCDIR)\mshtml\wx\wx.hhp
cd $(DOCDIR)\mshtml\wx cd $(DOCDIR)\mshtml\wx
copy $(DOCDIR)\latex\wx\wx.css . copy $(DOCDIR)\latex\wx\wx.css .
-hhc wx.hhp -hhc wx.hhp
-mkdir ..\..\htmlhelp -mkdir ..\..\htmlhelp
-erase $(DOCDIR)\htmlhelp\wx.chm -erase $(DOCDIR)\htmlhelp\wx.chm
move wx.chm ..\..\htmlhelp move wx.chm ..\..\htmlhelp
cd $(THISDIR) cd $(THISDIR)
$(WXDIR)\docs\latex\wx\manual.dvi: $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex $(WXDIR)\docs\latex\wx\manual.dvi: $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex

View File

@@ -336,6 +336,37 @@ SOURCE=.\common\dosyacc.c
SOURCE=.\msw\dummy.cpp SOURCE=.\msw\dummy.cpp
# ADD CPP /Yc"wx/wxprec.h" # ADD CPP /Yc"wx/wxprec.h"
# End Source File
# Begin Source File
SOURCE=.\msw\version.rc
!IF "$(CFG)" == "wxWindows - Win32 Release Unicode DLL"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode DLL"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release Unicode"
# PROP Exclude_From_Build 1
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode"
# PROP Exclude_From_Build 1
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release DLL"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug DLL"
!ELSEIF "$(CFG)" == "wxWindows - Win32 Release"
# PROP Exclude_From_Build 1
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
# PROP Exclude_From_Build 1
!ENDIF
# End Source File # End Source File
#$ ExpandGlue("WXMSWSRCS", "# Begin Source File\n\nSOURCE=.\\msw\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\msw\\", "\n# End Source File\n"); #$ ExpandGlue("WXMSWSRCS", "# Begin Source File\n\nSOURCE=.\\msw\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\msw\\", "\n# End Source File\n");
#$ ExpandGlue("WXMSWCSRCS", "# Begin Source File\n\nSOURCE=.\\msw\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n# Begin Source File\n\nSOURCE=.\\msw\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n"); #$ ExpandGlue("WXMSWCSRCS", "# Begin Source File\n\nSOURCE=.\\msw\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n# Begin Source File\n\nSOURCE=.\\msw\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n");

Binary file not shown.

View File

@@ -25,20 +25,22 @@ threads, sockets and much more. Some of the other utility classes allow you to
parse the command line, limit the number of instances of your program parse the command line, limit the number of instances of your program
executing simultaneously (portably!) and so on. executing simultaneously (portably!) and so on.
1. Requirements and supported platforms 1. Requirements and supported platforms
-------------------------------------- --------------------------------------
wxBase can be compiled and used under Win32, mostly any modern Unix system wxBase can be compiled and used under Win32, mostly any modern Unix system
(probably including Mac OS X but it wasn't tested there), VMS and BeOS (this (including Mac OS X), VMS and BeOS (this release couldn't be tested under
release couldn't be tested under these platforms neither so you might these platforms so you might encounter some problems but they should be easy
encounter some problems but they should be easy to solve - please contact us to solve -- please contact us in this case!)
in this case!)
It is written without using any modern C++ features (such as templates, It is written without using any modern C++ features (such as templates,
exceptions, namespaces) for maximal portability and so you shouldn't have exceptions, namespaces) for maximal portability and so you shouldn't have
problems compiling it with any C++ compiler at all. However, we only provide problems compiling it with any C++ compiler at all. However, we only provide
the project files for Microsoft Visual C++ 6.0 for Win32 (any contributions the project files for Microsoft Visual C++ 6.0 and make files for Borland C++
are welcome!) - but our Unix makefiles will work with any compiler. for Win32 (any contributions are welcome!) -- but our Unix makefiles should
work with any compiler.
2. Installing under Win32 2. Installing under Win32
------------------------- -------------------------
@@ -58,6 +60,7 @@ b) Cygwin
Please refer to the Unix section below Please refer to the Unix section below
c) Borland c) Borland
Please refer to the docs/msw/install.txt. The console sample compiles and runs Please refer to the docs/msw/install.txt. The console sample compiles and runs
but does not pass all tests (04 sept 02) but does not pass all tests (04 sept 02)
@@ -67,6 +70,7 @@ d) Other compilers
Please contact us if you would like to help us with creating one for the Please contact us if you would like to help us with creating one for the
compiler you use. compiler you use.
3. Installing under Unix/BeOS 3. Installing under Unix/BeOS
----------------------------- -----------------------------
@@ -74,12 +78,13 @@ NB: If you're building wxBase from the wxWindows distribution and not from a
separate wxBase one you will need to add "--disable-gui" to configure separate wxBase one you will need to add "--disable-gui" to configure
arguments below! arguments below!
Please note that GNU make is required to build wxBase! Please note that GNU make may be required to build wxBase, please use it if
you get any errors from the native Unix make.
The recommended way to build wxBase is: The recommended way to build wxBase is:
% cd ..../wxWindows % cd ..../wxWindows
% mkdir base-release % mkdir base-release # or any other directory of your liking
% cd base-release % cd base-release
% ../configure % ../configure
# ignore the error messages about missing samples # ignore the error messages about missing samples
@@ -120,6 +125,6 @@ namely:
Vadim Zeitlin Vadim Zeitlin
This file is accurate for the version 2.3.2 of wxBase. It was last modified on This file is accurate for the version 2.4.0 of wxBase. It was last modified on
Dec 11, 2001. Dec 24, 2002.

View File

@@ -115,13 +115,13 @@ All (GUI):
wxMSW: wxMSW:
! build system changed: setup.h is not a static file in include/wx any more ! build system changed: setup.h is not a static file in include/wx any more
but is created as part of the build process under lib/<toolkit>/wx/include but is created as part of the build process under lib/<toolkit>/wx
where <toolkit> is of the form (msw|univ)[dll][u][d]. You'll need to update where <toolkit> is of the form (msw|univ)[dll][u][d]. You'll need to update
the include path in your make/project files appropriately. Furthermore, the include path in your make/project files appropriately. Furthermore,
xpm.lib is no longer used by wxMSW, it was superseded by the wxXPMDecoder xpm.lib is no longer used by wxMSW, it was superseded by the wxXPMDecoder
class. You'll need to remove all references to xpm.lib from your class. You'll need to remove all references to xpm.lib from your
make/project files. Finally, the library names have changed as well and now make/project files. Finally, the library names have changed as well and now
use the following consistent naming convention: wxmsw[u][d][ver].(lib|dll) use the following consistent naming convention: wxmsw[ver][u][d].(lib|dll)
where 'u' appears for Unicode version, 'd' -- for the debug one and version where 'u' appears for Unicode version, 'd' -- for the debug one and version
is only present for the DLLs builds. is only present for the DLLs builds.

View File

@@ -37,6 +37,7 @@ See also <a href="faq.htm">top-level FAQ page</a>.
<li><a href="#settings">What important settings are required in the CodeWarrior Project Preferences?</a></li> <li><a href="#settings">What important settings are required in the CodeWarrior Project Preferences?</a></li>
<li><a href="#smarterrors">What are the smart preprocessing errors with the Apple Developer Tools?</a></li> <li><a href="#smarterrors">What are the smart preprocessing errors with the Apple Developer Tools?</a></li>
<li><a href="#aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></li> <li><a href="#aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></li>
<li><a href="#findericon">How do I add an icon to my application?</a></li>
</ul> </ul>
<hr> <hr>
@@ -204,6 +205,15 @@ Because wxWindows does not have a specific API for the <i>About</i> menu item or
</ul> </ul>
<P> <P>
<h3><a name="findericon">How do I add an icon to my application?</a></h3>
If you have Mac OS X, you have the icns editor somewhere in the
Utilities folder. Create an icon using this tool and DeRez it, so that you have a .r
file with a 'icns' resource with id (-16455). Include this .r file in
your project and in the CodeWarrior Settings add a check mark under Linker:Output
Flags/Finder Flags/Has Custom Icon.
<P>
</font> </font>
</BODY> </BODY>

View File

@@ -305,7 +305,7 @@ creation of objects given class names.
\twocolitem{\helpref{RTTI macros}{rttimacros}}{Macros for manipulating run-time information} \twocolitem{\helpref{RTTI macros}{rttimacros}}{Macros for manipulating run-time information}
\end{twocollist} \end{twocollist}
{\large {\bf Debugging features}} {\large {\bf Logging features}}
\overview{Overview}{wxlogoverview} \overview{Overview}{wxlogoverview}

View File

@@ -358,6 +358,12 @@ followed by a file selector.
This function is used in wxDocManager::CreateDocument. This function is used in wxDocManager::CreateDocument.
\perlnote{In wxPerl {\tt templates} is a reference to a list of templates.
If you override this method in your document manager it must return
two values, eg:\par
(doctemplate, path) = My::DocManager->SelectDocumentPath( ... );
}
\membersection{wxDocManager::SelectDocumentType} \membersection{wxDocManager::SelectDocumentType}
\func{wxDocTemplate *}{SelectDocumentType}{\param{wxDocTemplate **}{templates}, \func{wxDocTemplate *}{SelectDocumentType}{\param{wxDocTemplate **}{templates},
@@ -375,6 +381,8 @@ then this parameter indicates whether the list of templates that the user
will have to choose from is sorted or not when shown the choice box dialog. will have to choose from is sorted or not when shown the choice box dialog.
Default is FALSE.} Default is FALSE.}
\perlnote{In wxPerl {\tt templates} is a reference to a list of templates.}
\membersection{wxDocManager::SelectViewType} \membersection{wxDocManager::SelectViewType}
\func{wxDocTemplate *}{SelectViewType}{\param{wxDocTemplate **}{templates}, \func{wxDocTemplate *}{SelectViewType}{\param{wxDocTemplate **}{templates},
@@ -394,6 +402,8 @@ then this parameter indicates whether the list of templates that the user
will have to choose from is sorted or not when shown the choice box dialog. will have to choose from is sorted or not when shown the choice box dialog.
Default is FALSE.} Default is FALSE.}
\perlnote{In wxPerl {\tt templates} is a reference to a list of templates.}
\membersection{wxDocManager::SetLastDirectory}\label{wxdocmanagersetlastdirectory} \membersection{wxDocManager::SetLastDirectory}\label{wxdocmanagersetlastdirectory}
\func{void}{SetLastDirectory}{\param{const wxString\&}{ dir}} \func{void}{SetLastDirectory}{\param{const wxString\&}{ dir}}

View File

@@ -121,6 +121,24 @@ member to return a new view instance on demand.
\item wxDEFAULT\_TEMPLATE\_FLAGS Defined as wxTEMPLATE\_VISIBLE. \item wxDEFAULT\_TEMPLATE\_FLAGS Defined as wxTEMPLATE\_VISIBLE.
\end{itemize} \end{itemize}
\perlnote{In wxPerl {\tt docClassInfo} and {\tt viewClassInfo} can be
either {\tt Wx::ClassInfo} objects or strings which contain the name
of the perl packages which are to be used as {\tt Wx::Document} and
{\tt Wx::View} classes (they must have a constructor named {\tt
new}):\par
\indented{2cm}{\begin{twocollist}
\twocolitem{{\bf Wx::DocTemplate->new( docmgr, descr, filter, dir,
ext, docTypeName, viewTypeName, docClassInfo, viewClassInfo, flags
)}}{ will construct document and view objects from the class information}
\twocolitem{{\bf Wx::DocTemplate->new( docmgr, descr, filter, dir,
ext, docTypeName, viewTypeName, docClassName, viewClassName, flags
)}}{ will construct document and view objects from perl packages}
\twocolitem{{\bf Wx::DocTemplate->new( docmgr, descr, filter, dir,
ext, docTypeName, viewTypeName )}}{
{\tt Wx::DocTemplate::CreateDocument()} and
{\tt Wx::DocTemplate::CreateView()} must be overridden}
\end{twocollist}}}
\membersection{wxDocTemplate::\destruct{wxDocTemplate}} \membersection{wxDocTemplate::\destruct{wxDocTemplate}}
\func{void}{\destruct{wxDocTemplate}}{\void} \func{void}{\destruct{wxDocTemplate}}{\void}

View File

@@ -57,7 +57,7 @@ situations because it may easily lead to a loss of messages.
\membersection{Logging functions} \membersection{Logging functions}
There are two functions which must be implemented by any derived class to There are two functions which must be implemented by any derived class to
actually process the log messages: \helpref{DoLog}{wxlogdolog} and actually process the log messages: \helpref{DoLog}{wxlogdolog} and
\helpref{DoLogString}{wxlogdologstring}. The second function receives a string \helpref{DoLogString}{wxlogdologstring}. The second function receives a string
which just has to be output in some way and the easiest way to write a new log which just has to be output in some way and the easiest way to write a new log
target is to override just this function in the derived class. If more control target is to override just this function in the derived class. If more control
@@ -72,7 +72,7 @@ night in the current time zone).
There also functions to support message buffering. Why are they needed? There also functions to support message buffering. Why are they needed?
Some of wxLog implementations, most notably the standard wxLogGui class, Some of wxLog implementations, most notably the standard wxLogGui class,
buffer the messages (for example, to avoid showing the user a zillion of modal buffer the messages (for example, to avoid showing the user a zillion of modal
message boxes one after another - which would be really annoying). message boxes one after another - which would be really annoying).
\helpref{Flush()}{wxlogflush} shows them all and clears the buffer contents. \helpref{Flush()}{wxlogflush} shows them all and clears the buffer contents.
Although this function doesn't do anything if the buffer is already empty, Although this function doesn't do anything if the buffer is already empty,
\helpref{HasPendingMessages()}{wxloghaspendingmessages} is also provided which \helpref{HasPendingMessages()}{wxloghaspendingmessages} is also provided which
@@ -96,9 +96,9 @@ problem.
As for the (real) trace messages, their handling depends on the settings of As for the (real) trace messages, their handling depends on the settings of
the (application global) {\it trace mask}. There are two ways to specify it: the (application global) {\it trace mask}. There are two ways to specify it:
either by using \helpref{SetTraceMask}{wxlogsettracemask} and either by using \helpref{SetTraceMask}{wxlogsettracemask} and
\helpref{GetTraceMask}{wxloggettracemask} and using \helpref{GetTraceMask}{wxloggettracemask} and using
\helpref{wxLogTrace}{wxlogtrace} which takes an integer mask or by using \helpref{wxLogTrace}{wxlogtrace} which takes an integer mask or by using
\helpref{AddTraceMask}{wxlogaddtracemask} for string trace masks. \helpref{AddTraceMask}{wxlogaddtracemask} for string trace masks.
The difference between bit-wise and string trace masks is that a message using The difference between bit-wise and string trace masks is that a message using
@@ -112,7 +112,7 @@ For example,
// wxTraceOleCalls is one of standard bit masks // wxTraceOleCalls is one of standard bit masks
wxLogTrace(wxTraceRefCount | wxTraceOleCalls, "Active object ref count: %d", nRef); wxLogTrace(wxTraceRefCount | wxTraceOleCalls, "Active object ref count: %d", nRef);
\end{verbatim} \end{verbatim}
will do something only if the current trace mask contains both will do something only if the current trace mask contains both
{\tt wxTraceRefCount} and {\tt wxTraceOle}, but {\tt wxTraceRefCount} and {\tt wxTraceOle}, but
\begin{verbatim} \begin{verbatim}
@@ -131,7 +131,7 @@ the preferred way of working with trace messages. The integer trace mask is
kept for compatibility and for additional (but very rarely needed) flexibility kept for compatibility and for additional (but very rarely needed) flexibility
only. only.
The standard trace masks are given in \helpref{wxLogTrace}{wxlogtrace} The standard trace masks are given in \helpref{wxLogTrace}{wxlogtrace}
documentation. documentation.
Finally, the {\it wxLog::DoLog()} function automatically prepends a time stamp Finally, the {\it wxLog::DoLog()} function automatically prepends a time stamp
@@ -145,7 +145,7 @@ format disables timestamping of the messages completely.
{\bf NB:} Timestamping is disabled for Visual C++ users in debug builds by {\bf NB:} Timestamping is disabled for Visual C++ users in debug builds by
default because otherwise it would be impossible to directly go to the line default because otherwise it would be impossible to directly go to the line
from which the log message was generated by simply clicking in the debugger from which the log message was generated by simply clicking in the debugger
window on the corresponding error message. If you wish to enable it, please use window on the corresponding error message. If you wish to enable it, please use
\helpref{SetTimestamp}{wxlogsettimestamp} explicitly. \helpref{SetTimestamp}{wxlogsettimestamp} explicitly.
\helpref{AddTraceMask}{wxlogaddtracemask}\\ \helpref{AddTraceMask}{wxlogaddtracemask}\\
@@ -171,7 +171,7 @@ window on the corresponding error message. If you wish to enable it, please use
\func{static void}{AddTraceMask}{\param{const wxString\& }{mask}} \func{static void}{AddTraceMask}{\param{const wxString\& }{mask}}
Add the {\it mask} to the list of allowed masks for Add the {\it mask} to the list of allowed masks for
\helpref{wxLogTrace}{wxlogtrace}. \helpref{wxLogTrace}{wxlogtrace}.
\wxheading{See also} \wxheading{See also}
@@ -182,7 +182,7 @@ Add the {\it mask} to the list of allowed masks for
\func{static void}{ClearTraceMasks}{\void} \func{static void}{ClearTraceMasks}{\void}
Removes all trace masks previously set with Removes all trace masks previously set with
\helpref{AddTraceMask}{wxlogaddtracemask}. \helpref{AddTraceMask}{wxlogaddtracemask}.
\wxheading{See also} \wxheading{See also}
@@ -240,7 +240,7 @@ flushed, so Suspend() works as expected with it).
\func{static void}{Resume}{\void} \func{static void}{Resume}{\void}
Resumes logging previously suspended by a call to Resumes logging previously suspended by a call to
\helpref{Suspend}{wxlogsuspend}. All messages logged in the meanwhile will be \helpref{Suspend}{wxlogsuspend}. All messages logged in the meanwhile will be
flushed soon. flushed soon.
@@ -253,7 +253,7 @@ of the message as specified in the call of {\it wxLogXXX()} function which
generated it and {\it timestamp} is the moment when the message was generated. generated it and {\it timestamp} is the moment when the message was generated.
The base class version prepends the timestamp to the message, adds a prefix The base class version prepends the timestamp to the message, adds a prefix
corresponding to the log level and then calls corresponding to the log level and then calls
\helpref{DoLogString}{wxlogdologstring} with the resulting string. \helpref{DoLogString}{wxlogdologstring} with the resulting string.
\membersection{wxLog::DoLogString}\label{wxlogdologstring} \membersection{wxLog::DoLogString}\label{wxlogdologstring}
@@ -263,7 +263,7 @@ corresponding to the log level and then calls
Called to log the specified string. The timestamp is already included into the Called to log the specified string. The timestamp is already included into the
string but still passed to this function. string but still passed to this function.
A simple implementation may just send the string to {\tt stdout} or, better, A simple implementation may just send the string to {\tt stdout} or, better,
{\tt stderr}. {\tt stderr}.
\membersection{wxLog::DontCreateOnDemand}\label{wxlogdontcreateondemand} \membersection{wxLog::DontCreateOnDemand}\label{wxlogdontcreateondemand}
@@ -274,7 +274,7 @@ Instructs wxLog to not create new log targets on the fly if there is none
currently. (Almost) for internal use only: it is supposed to be called by the currently. (Almost) for internal use only: it is supposed to be called by the
application shutdown code. application shutdown code.
Note that this function also calls Note that this function also calls
\helpref{ClearTraceMasks}{wxlogcleartracemasks}. \helpref{ClearTraceMasks}{wxlogcleartracemasks}.
\membersection{wxLog::Flush}\label{wxlogflush} \membersection{wxLog::Flush}\label{wxlogflush}
@@ -314,6 +314,19 @@ logged as the normal ones instead of being silently dropped.
Returns whether the verbose mode is currently active. Returns whether the verbose mode is currently active.
\membersection{wxLog::SetLogLevel}\label{wxlogsetloglevel}
\func{static void}{SetLogLevel}{\param{wxLogLevel }{ logLevel}}
Specifies that log messages with $level > logLevel$ should be ignored
and not sent to the active log target.
\membersection{wxLog::GetLogLevel}\label{wxloggetloglevel}
\func{static wxLogLevel}{GetLogLevel}{\void}
Returns the current log level limit.
\membersection{wxLog::SetTimestamp}\label{wxlogsettimestamp} \membersection{wxLog::SetTimestamp}\label{wxlogsettimestamp}
\func{void}{SetTimestamp}{\param{const char * }{ format}} \func{void}{SetTimestamp}{\param{const char * }{ format}}
@@ -345,17 +358,17 @@ for details.
\func{static bool}{IsAllowedTraceMask}{\param{const wxChar *}{mask}} \func{static bool}{IsAllowedTraceMask}{\param{const wxChar *}{mask}}
Returns TRUE if the {\it mask} is one of allowed masks for Returns TRUE if the {\it mask} is one of allowed masks for
\helpref{wxLogTrace}{wxlogtrace}. \helpref{wxLogTrace}{wxlogtrace}.
See also: \helpref{AddTraceMask}{wxlogaddtracemask}, See also: \helpref{AddTraceMask}{wxlogaddtracemask},
\helpref{RemoveTraceMask}{wxlogremovetracemask} \helpref{RemoveTraceMask}{wxlogremovetracemask}
\membersection{wxLog::RemoveTraceMask}\label{wxlogremovetracemask} \membersection{wxLog::RemoveTraceMask}\label{wxlogremovetracemask}
\func{static void}{RemoveTraceMask}{\param{const wxString\& }{mask}} \func{static void}{RemoveTraceMask}{\param{const wxString\& }{mask}}
Remove the {\it mask} from the list of allowed masks for Remove the {\it mask} from the list of allowed masks for
\helpref{wxLogTrace}{wxlogtrace}. \helpref{wxLogTrace}{wxlogtrace}.
See also: \helpref{AddTraceMask}{wxlogaddtracemask} See also: \helpref{AddTraceMask}{wxlogaddtracemask}
@@ -365,7 +378,7 @@ See also: \helpref{AddTraceMask}{wxlogaddtracemask}
\section{\class{wxLogChain}}\label{wxlogchain} \section{\class{wxLogChain}}\label{wxlogchain}
This simple class allows to chain log sinks, that is to install a new sink but This simple class allows to chain log sinks, that is to install a new sink but
keep passing log messages to the old one instead of replacing it completely as keep passing log messages to the old one instead of replacing it completely as
\helpref{SetActiveTarget}{wxlogsetactivetarget} does. \helpref{SetActiveTarget}{wxlogsetactivetarget} does.
It is especially useful when you want to divert the logs somewhere (for It is especially useful when you want to divert the logs somewhere (for
@@ -421,7 +434,7 @@ NULL}).
\constfunc{bool}{IsPassingMessages}{\void} \constfunc{bool}{IsPassingMessages}{\void}
Returns {\tt TRUE} if the messages are passed to the previously active log Returns {\tt TRUE} if the messages are passed to the previously active log
target (default) or {\tt FALSE} if \helpref{PassMessages}{wxlogchainpassmessages} target (default) or {\tt FALSE} if \helpref{PassMessages}{wxlogchainpassmessages}
had been called. had been called.
\membersection{wxLogChain::PassMessages}\label{wxlogchainpassmessages} \membersection{wxLogChain::PassMessages}\label{wxlogchainpassmessages}
@@ -549,7 +562,7 @@ forwards the log messages to the previously installed one in addition to
processing them itself. processing them itself.
Unlike \helpref{wxLogChain}{wxlogchain} which is usually used directly as is, Unlike \helpref{wxLogChain}{wxlogchain} which is usually used directly as is,
this class must be derived from to implement \helpref{DoLog}{wxlogdolog} this class must be derived from to implement \helpref{DoLog}{wxlogdolog}
and/or \helpref{DoLogString}{wxlogdologstring} methods. and/or \helpref{DoLogString}{wxlogdologstring} methods.
\wxheading{Derived from} \wxheading{Derived from}
@@ -592,7 +605,7 @@ wxWindows applications which send all the output to {\tt stderr}.
\func{}{wxLogStderr}{\param{FILE }{*fp = NULL}} \func{}{wxLogStderr}{\param{FILE }{*fp = NULL}}
Constructs a log target which sends all the log messages to the given Constructs a log target which sends all the log messages to the given
{\tt FILE}. If it is {\tt NULL}, the messages are sent to {\tt stderr}. {\tt FILE}. If it is {\tt NULL}, the messages are sent to {\tt stderr}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogStream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogStream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -623,7 +636,7 @@ the standard iostream library support ({\tt wxUSE\_STD\_IOSTREAM} must be on).
\func{}{wxLogStream}{\param{std::ostream }{*ostr = NULL}} \func{}{wxLogStream}{\param{std::ostream }{*ostr = NULL}}
Constructs a log target which sends all the log messages to the given Constructs a log target which sends all the log messages to the given
output stream. If it is {\tt NULL}, the messages are sent to {\tt cerr}. output stream. If it is {\tt NULL}, the messages are sent to {\tt cerr}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogTextCtrl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogTextCtrl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -692,7 +705,7 @@ Creates the log frame window and starts collecting the messages in it.
\docparam{title}{The title for the log frame} \docparam{title}{The title for the log frame}
\docparam{show}{{\tt TRUE} to show the frame initially (default), otherwise \docparam{show}{{\tt TRUE} to show the frame initially (default), otherwise
\helpref{wxLogWindow::Show}{wxlogwindowshow} must be called later.} \helpref{wxLogWindow::Show}{wxlogwindowshow} must be called later.}
\docparam{passToOld}{{\tt TRUE} to process the log messages normally in addition to \docparam{passToOld}{{\tt TRUE} to process the log messages normally in addition to

View File

@@ -32,7 +32,7 @@
}} }}
\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin, \winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin,
Robin Dunn, et al} Robin Dunn, et al}
\date{December 2002} \date{January 2003}
} }
\makeindex \makeindex
\begin{document} \begin{document}

View File

@@ -23,10 +23,10 @@ None.
\membersection{wxMutexLocker::wxMutexLocker}\label{wxmutexlockerctor} \membersection{wxMutexLocker::wxMutexLocker}\label{wxmutexlockerctor}
\func{}{wxMutexLocker}{\param{wxMutex *}{mutex}} \func{}{wxMutexLocker}{\param{wxMutex\&}{ mutex}}
Constructs a wxMutexLocker object associated with mutex which must be non-NULL Constructs a wxMutexLocker object associated with mutex and locks it.
and locks it. Call \helpref{IsLocked}{wxmutexlockerisok} to check if the mutex was Call \helpref{IsLocked}{wxmutexlockerisok} to check if the mutex was
successfully locked. successfully locked.
\membersection{wxMutexLocker::\destruct{wxMutexLocker}}\label{wxmutexlockerdtor} \membersection{wxMutexLocker::\destruct{wxMutexLocker}}\label{wxmutexlockerdtor}

View File

@@ -66,7 +66,7 @@ enum wxSashEdgePosition {
Default constructor. Default constructor.
\func{}{wxSashWindow}{\param{wxSashWindow*}{ parent}, \param{wxSashWindowID }{id}, \func{}{wxSashWindow}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxPoint\& }{pos = wxDefaultPosition},
\param{const wxSize\& }{size = wxDefaultSize}, \param{const wxSize\& }{size = wxDefaultSize},
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D}, \param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},

View File

@@ -1,4 +1,4 @@
\section{wxScopedArray}\label{wxscopedarray} \section{\class{wxScopedArray}}\label{wxscopedarray}
This is a simple scoped smart pointer array implementation that is similar to This is a simple scoped smart pointer array implementation that is similar to
the \urlref{Boost}{http://www.boost.org} smart pointers but rewritten to the \urlref{Boost}{http://www.boost.org} smart pointers but rewritten to

View File

@@ -1,4 +1,4 @@
\section{wxScopedPtr}\label{wxscopedptr} \section{\class{wxScopedPtr}}\label{wxscopedptr}
This is a simple scoped smart pointer implementation that is similar to This is a simple scoped smart pointer implementation that is similar to
the \urlref{Boost}{http://www.boost.org} smart pointers but rewritten to the \urlref{Boost}{http://www.boost.org} smart pointers but rewritten to

View File

@@ -17,7 +17,7 @@ An additional method of manual control, which requires a little less
computation of your own, is to set the total size of the scrolling area by computation of your own, is to set the total size of the scrolling area by
calling either \helpref{wxWindow::SetVirtualSize}{wxwindowsetvirtualsize}, calling either \helpref{wxWindow::SetVirtualSize}{wxwindowsetvirtualsize},
or \helpref{wxWindow::FitInside}{wxwindowfitinside}, and setting the or \helpref{wxWindow::FitInside}{wxwindowfitinside}, and setting the
scrolling increments for it by calling scrolling increments for it by calling
\helpref{wxScrolledWindow::SetScrollRate}{wxscrolledwindowsetscrollrate}. \helpref{wxScrolledWindow::SetScrollRate}{wxscrolledwindowsetscrollrate}.
Scrolling in some orientation is enabled by setting a non zero increment Scrolling in some orientation is enabled by setting a non zero increment
for it. for it.
@@ -435,7 +435,7 @@ adjusting the scrollbars appropriately.
\membersection{wxScrolledWindow::SetScrollRate}\label{wxscrolledwindowsetscrollrate} \membersection{wxScrolledWindow::SetScrollRate}\label{wxscrolledwindowsetscrollrate}
\func{void}{SetScrollRate}{\param{int}{xstep}, \param{int}{ystep}} \func{void}{SetScrollRate}{\param{int}{ xstep}, \param{int}{ ystep}}
Set the horizontal and vertical scrolling increment only. See the pixelsPerUnit Set the horizontal and vertical scrolling increment only. See the pixelsPerUnit
parameter in SetScrollbars. parameter in SetScrollbars.
@@ -445,5 +445,5 @@ parameter in SetScrollbars.
\func{void}{SetTargetWindow}{\param{wxWindow* }{window}} \func{void}{SetTargetWindow}{\param{wxWindow* }{window}}
Call this function to tell wxScrolledWindow to perform the actual scrolling on Call this function to tell wxScrolledWindow to perform the actual scrolling on
a different window (not on itself). a different window (and not on itself).

View File

@@ -18,18 +18,16 @@ version of the graphic which appears on the main window.
See \helpref{wxMemoryDC}{wxmemorydc} for an example of drawing onto a bitmap. See \helpref{wxMemoryDC}{wxmemorydc} for an example of drawing onto a bitmap.
The following shows the conditional compilation required to load a All wxWindows platforms support XPMs for small bitmaps and icons.
bitmap under Unix and in Windows. The alternative is to use the string You may include the XPM inline as below, since it's C code, or you
version of the bitmap constructor, which loads a file under Unix and a can load it at run-time.
resource or file under Windows, but has the disadvantage of requiring the
XPM icon file to be available at run-time.
\begin{verbatim} \begin{verbatim}
#if defined(__WXGTK__) || defined(__WXMOTIF__)
#include "mondrian.xpm" #include "mondrian.xpm"
#endif
\end{verbatim} \end{verbatim}
Sometimes you wish to use a .ico resource on Windows, and XPMs on
other platforms (for example to take advantage of Windows' support for multiple icon resolutions).
A macro, \helpref{wxICON}{wxiconmacro}, is available which creates an icon using an XPM A macro, \helpref{wxICON}{wxiconmacro}, is available which creates an icon using an XPM
on the appropriate platform, or an icon resource on Windows. on the appropriate platform, or an icon resource on Windows.
@@ -68,8 +66,9 @@ wxBitmap bmp(wxBITMAP(bmpname));
\end{verbatim} \end{verbatim}
You should always use wxICON and wxBITMAP macros because they work for any You should always use wxICON and wxBITMAP macros because they work for any
platform (unlike the code above which doesn't deal with wxMac, wxBe, ...) and platform (unlike the code above which doesn't deal with wxMac, wxX11, ...) and
are more short and clear than versions with {\tt \#ifdef}s. are more short and clear than versions with {\tt \#ifdef}s. Even better,
use the same XPMs on all platforms.
\subsection{Supported bitmap file formats}\label{supportedbitmapformats} \subsection{Supported bitmap file formats}\label{supportedbitmapformats}
@@ -101,7 +100,7 @@ Under wxGTK, wxBitmap may load the following formats:
\item All formats that are supported by the \helpref{wxImage}{wximage} class. \item All formats that are supported by the \helpref{wxImage}{wximage} class.
\end{itemize} \end{itemize}
Under wxMotif, wxBitmap may load the following formats: Under wxMotif and wxX11, wxBitmap may load the following formats:
\begin{itemize}\itemsep=0pt \begin{itemize}\itemsep=0pt
\item XBM data and file (wxBITMAP\_TYPE\_XBM) \item XBM data and file (wxBITMAP\_TYPE\_XBM)
@@ -126,12 +125,12 @@ Under wxGTK, wxIcon may load the following formats:
\item All formats that are supported by the \helpref{wxImage}{wximage} class. \item All formats that are supported by the \helpref{wxImage}{wximage} class.
\end{itemize} \end{itemize}
Under wxMotif, wxIcon may load the following formats: Under wxMotif and wxX11, wxIcon may load the following formats:
\begin{itemize}\itemsep=0pt \begin{itemize}\itemsep=0pt
\item XBM data and file (wxBITMAP\_TYPE\_XBM) \item XBM data and file (wxBITMAP\_TYPE\_XBM)
\item XPM data and file (wxBITMAP\_TYPE\_XPM) \item XPM data and file (wxBITMAP\_TYPE\_XPM)
\item All formats that are supported by the \helpref{wxImage}{wximage} class (?). \item All formats that are supported by the \helpref{wxImage}{wximage} class.
\end{itemize} \end{itemize}
\wxheading{wxCursor} \wxheading{wxCursor}
@@ -152,7 +151,7 @@ to stock cursors):
\item None (stock cursors only). \item None (stock cursors only).
\end{itemize} \end{itemize}
Under wxMotif, wxCursor may load the following formats: Under wxMotif and wxX11, wxCursor may load the following formats:
\begin{itemize}\itemsep=0pt \begin{itemize}\itemsep=0pt
\item XBM data and file (wxBITMAP\_TYPE\_XBM) \item XBM data and file (wxBITMAP\_TYPE\_XBM)
@@ -168,27 +167,8 @@ have special requirements, you may wish to initialise the wxBitmap class with
some extra handlers which you write yourself or receive from a third party. some extra handlers which you write yourself or receive from a third party.
To add a handler object to wxBitmap, your application needs to include the header which implements it, and To add a handler object to wxBitmap, your application needs to include the header which implements it, and
then call the static function \helpref{wxBitmap::AddHandler}{wxbitmapaddhandler}. For example: then call the static function \helpref{wxBitmap::AddHandler}{wxbitmapaddhandler}.
{\small {\bf Note:} bitmap handlers are not implemented on all platforms, and new ones rarely need
\begin{verbatim} to be implemented since wxImage can be used for loading most formats, as noted earlier.
#include <wx/xpmhand.h>
...
// Initialisation
wxBitmap::AddHandler(new wxXPMFileHandler);
wxBitmap::AddHandler(new wxXPMDataHandler);
...
\end{verbatim}
}
Assuming the handlers have been written correctly, you should now be able to load and save
XPM files using the usual wxBitmap API.
{\bf Note:} bitmap handlers are not implemented on all platforms. Currently, the above is only necessary on
Windows, to save the extra overhead of formats that may not be necessary (if you don't use them, they
are not linked into the executable). Unix platforms have XPM capability built-in (where supported).
Also, just because a handler (such as a PNG handler) is not present does not mean that
wxBitmap does not support that file format. If wxBitmap fails to find a suitable handler,
the file-loading capabilities of wxImage are used instead.

View File

@@ -62,6 +62,15 @@ class, to provide multi-page document facilities.
Note that to activate framework functionality, you need to use some or all of Note that to activate framework functionality, you need to use some or all of
the wxWindows \helpref{predefined command identifiers}{predefinedids} in your menus. the wxWindows \helpref{predefined command identifiers}{predefinedids} in your menus.
\perlnote{The document/view framework is available in wxPerl. To use it,
you will need the following statements in your application code:\par
{\small
\begin{verbatim}
use Wx::DocView;
use Wx ':docview'; # import constants (optional)
\end{verbatim}
}}
\subsection{wxDocument overview}\label{wxdocumentoverview} \subsection{wxDocument overview}\label{wxdocumentoverview}
\overview{Document/view framework overview}{docviewoverview} \overview{Document/view framework overview}{docviewoverview}

View File

@@ -1,4 +1,4 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: datespan.tex %% Name: datespan.tex
%% Purpose: wxDateSpan documentation %% Purpose: wxDateSpan documentation
%% Author: Vadim Zeitlin %% Author: Vadim Zeitlin
@@ -30,17 +30,48 @@ No base class
\membersection{Static functions} \membersection{Static functions}
\helpref{Seconds}{wxtimespanseconds}\\
\helpref{Second}{wxtimespansecond}\\
\helpref{Minutes}{wxtimespanminutes}\\
\helpref{Minute}{wxtimespanminute}\\
\helpref{Hours}{wxtimespanhours}\\
\helpref{Hour}{wxtimespanhour}\\
\helpref{Days}{wxtimespandays}\\
\helpref{Day}{wxtimespanday}\\
\helpref{Weeks}{wxtimespanweeks}\\
\helpref{Week}{wxtimespanweek}
\membersection{Constructors} \membersection{Constructors}
wxTimeSpan()\\ \helpref{wxTimeSpan}{wxtimespanctor}
\helpref{wxTimeSpan(hours, min, sec, msec)}{wxtimespan}
\membersection{Accessors} \membersection{Accessors}
\helpref{GetSeconds}{wxtimespangetseconds}\\
\helpref{GetMinutes}{wxtimespangetminutes}\\
\helpref{GetHours}{wxtimespangethours}\\
\helpref{GetDays}{wxtimespangetdays}\\
\helpref{GetWeeks}{wxtimespangetweeks}\\
\helpref{GetValue}{wxtimespangetvalue}
\membersection{Operations} \membersection{Operations}
\helpref{Add}{wxtimespanadd}\\
\helpref{Substract}{wxtimespansubstract}\\
\helpref{Multiply}{wxtimespanmultiply}\\
\helpref{Negate}{wxtimespannegate}\\
\helpref{Neg}{wxtimespanneg}\\
\helpref{Abs}{wxtimespanabs}
\membersection{Tests} \membersection{Tests}
\helpref{IsNull}{wxtimespanisnull}\\
\helpref{IsPositive}{wxtimespanispositive}\\
\helpref{IsNegative}{wxtimespanisnegative}\\
\helpref{IsEqualTo}{wxtimespanisequalto}\\
\helpref{IsLongerThan}{wxtimespanislongerthan}\\
\helpref{IsShorterThan}{wxtimespanisshorterthan}
\membersection{Formatting time spans} \membersection{Formatting time spans}
\helpref{Format}{wxtimespanformat} \helpref{Format}{wxtimespanformat}
@@ -53,6 +84,35 @@ wxTimeSpan()\\
\wxheading{Members} \wxheading{Members}
}} }}
\membersection{wxTimeSpan::Abs}\label{wxtimespanabs}
\constfunc{wxTimeSpan}{Abs}{\void}
Returns the absolute value of the timespan: does not modify the
object.
\membersection{wxTimeSpan::Add}\label{wxtimespanadd}
\constfunc{wxTimeSpan}{Add}{\param{const wxTimeSpan\& }{diff}}
\func{wxTimeSpan\&}{Add}{\param{const wxTimeSpan\& }{diff}}
\func{wxTimeSpan\&}{operator$+=$}{\param{const wxTimeSpan\&}{diff}}
Returns the sum of two timespans.
\membersection{wxTimeSpan::Days}\label{wxtimespandays}
\func{static wxTimespan}{Days}{\param{long }{days}}
Returns the timespan for the given number of days.
\membersection{wxTimeSpan::Day}\label{wxtimespanday}
\func{static wxTimespan}{Day}{\void}
Returns the timespan for one day.
\membersection{wxTimeSpan::Format}\label{wxtimespanformat} \membersection{wxTimeSpan::Format}\label{wxtimespanformat}
\func{wxString}{Format}{\param{const wxChar * }{format = "\%H:\%M:\%S"}} \func{wxString}{Format}{\param{const wxChar * }{format = "\%H:\%M:\%S"}}
@@ -84,3 +144,179 @@ interpreted as $2$. Otherwise, it is $50$.
The same applies to all other format specifiers: if they follow a specifier of The same applies to all other format specifiers: if they follow a specifier of
larger unit, only the rest part is taken, otherwise the full value is used. larger unit, only the rest part is taken, otherwise the full value is used.
\membersection{wxTimeSpan::GetDays}\label{wxtimespangetdays}
\constfunc{int}{GetDays}{\void}
Returns the difference in number of days.
\membersection{wxTimeSpan::GetHours}\label{wxtimespangethours}
\constfunc{int}{GetHours}{\void}
Returns the difference in number of hours.
\membersection{wxTimeSpan::GetMilliseconds}\label{wxtimespangetmilliseconds}
\constfunc{wxLongLong}{GetMilliseconds}{\void}
Returns the difference in number of milliseconds.
\membersection{wxTimeSpan::GetMinutes}\label{wxtimespangetminutes}
\constfunc{int}{GetMinutes}{\void}
Returns the difference in number of minutes.
\membersection{wxTimeSpan::GetSeconds}\label{wxtimespangetseconds}
\constfunc{wxLongLong}{GetSeconds}{\void}
Returns the difference in number of seconds.
\membersection{wxTimeSpan::GetValue}\label{wxtimespangetvalue}
\constfunc{wxLongLong}{GetValue}{\void}
Returns the internal representation of timespan.
\membersection{wxTimeSpan::GetWeeks}\label{wxtimespangetweeks}
\constfunc{int}{GetWeeks}{\void}
Returns the difference in number of weeks.
\membersection{wxTimeSpan::Hours}\label{wxtimespanhours}
\func{static wxTimespan}{Hours}{\param{long }{hours}}
Returns the timespan for the given number of hours.
\membersection{wxTimeSpan::Hour}\label{wxtimespanhour}
\func{static wxTimespan}{Hour}{\void}
Returns the timespan for one hour.
\membersection{wxTimeSpan::IsEqualTo}\label{wxtimespanisequalto}
\constfunc{bool}{IsEqualTo}{\param{const wxTimeSpan\& }{ts}}
Returns {\tt TRUE} if two timespans are equal.
\membersection{wxTimeSpan::IsLongerThan}\label{wxtimespanislongerthan}
\constfunc{bool}{IsLongerThan}{\param{const wxTimeSpan\& }{ts}}
Compares two timespans: works with the absolute values, i.e. -2
hours is longer than 1 hour. Also, it will return {\tt FALSE} if
the timespans are equal in absolute value.
\membersection{wxTimeSpan::IsNegative}\label{wxtimespanisnegative}
\constfunc{bool}{IsNegative}{\void}
Returns {\tt TRUE} if the timespan is negative.
\membersection{wxTimeSpan::IsNull}\label{wxtimespanisnull}
\constfunc{bool}{IsNull}{\void}
Returns {\tt TRUE} if the timespan is empty.
\membersection{wxTimeSpan::IsPositive}\label{wxtimespanispositive}
\constfunc{bool}{IsPositive}{\void}
Returns {\tt TRUE} if the timespan is positive.
\membersection{wxTimeSpan::IsShorterThan}\label{wxtimespanisshorterthan}
\constfunc{bool}{IsShorterThan}{\param{const wxTimeSpan\& }{ts}}
Compares two timespans: works with the absolute values, i.e. 1
hour is shorter than -2 hours. Also, it will return {\tt FALSE} if
the timespans are equal in absolute value.
\membersection{wxTimeSpan::Minutes}\label{wxtimespanminutes}
\func{static wxTimespan}{Minutes}{\param{long }{min}}
Returns the timespan for the given number of minutes.
\membersection{wxTimeSpan::Minute}\label{wxtimespanminute}
\func{static wxTimespan}{Minute}{\void}
Returns the timespan for one minute.
\membersection{wxTimeSpan::Multiply}\label{wxtimespanmultiply}
\constfunc{wxTimeSpan}{Multiply}{\param{int }{n}}
\func{wxTimeSpan\&}{Multiply}{\param{int }{n}}
\func{wxTimeSpan\&}{operator$*=$}{\param{int }{n}}
Multiplies timespan by a scalar.
\membersection{wxTimeSpan::Negate}\label{wxtimespannegate}
\constfunc{wxTimeSpan}{Negate}{\void}
Returns timespan with inversed sign.
\membersection{wxTimeSpan::Neg}\label{wxtimespanneg}
\func{wxTimeSpan\&}{Neg}{\void}
\func{wxTimeSpan\&}{operator$-$}{\void}
Negate the value of the timespan.
\membersection{wxTimeSpan::Seconds}\label{wxtimespanseconds}
\func{static wxTimespan}{Seconds}{\param{long }{sec}}
Returns the timespan for the given number of seconds.
\membersection{wxTimeSpan::Second}\label{wxtimespansecond}
\func{static wxTimespan}{Second}{\void}
Returns the timespan for one second.
\membersection{wxTimeSpan::Substract}\label{wxtimespansubstract}
\constfunc{wxTimeSpan}{Substract}{\param{const wxTimeSpan\&}{diff}}
\func{wxTimeSpan\&}{Substract}{\param{const wxTimeSpan\& }{diff}}
\func{wxTimeSpan\&}{operator$-=$}{\param{const wxTimeSpan\&}{diff}}
Returns the difference of two timespans.
\membersection{wxTimeSpan::Weeks}\label{wxtimespanweeks}
\func{static wxTimespan}{Weeks}{\param{long }{weeks}}
Returns the timespan for the given number of weeks.
\membersection{wxTimeSpan::Week}\label{wxtimespanweek}
\func{static wxTimespan}{Week}{\void}
Returns the timespan for one week.
\membersection{wxTimeSpan::wxTimeSpan}\label{wxtimespanctor}
\func{}{wxTimeSpan}{\void}
Default constructor, constructs a zero timespan.
\func{}{wxTimeSpan}{\param{long }{hours}, \param{long }{min}, \param{long }{sec}, \param{long }{msec}}
Constructs timespan from separate values for each component, with the date
set to 0. Hours are not restricted to 0..24 range, neither are
minutes, seconds or milliseconds.

View File

@@ -505,10 +505,19 @@ Returns an invalid tree item if there are no further siblings.
Returns the next visible item. Returns the next visible item.
\membersection{wxTreeCtrl::GetItemParent}\label{wxtreectrlgetitemparent}
\constfunc{wxTreeItemId}{GetItemParent}{\param{const wxTreeItemId\&}{ item}}
Returns the item's parent.
\membersection{wxTreeCtrl::GetParent}\label{wxtreectrlgetparent} \membersection{wxTreeCtrl::GetParent}\label{wxtreectrlgetparent}
\constfunc{wxTreeItemId}{GetParent}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetParent}{\param{const wxTreeItemId\&}{ item}}
{\bf NOTE:} This function is deprecated and will only work if {\tt WXWIN\_COMPATIBILITY\_2\_2}
is defined. Use \helpref{wxTreeCtrl::GetItemParent}{wxtreectrlgetitemparent} instead.
Returns the item's parent. Returns the item's parent.
\pythonnote{This method is named {\tt GetItemParent} to avoid a name \pythonnote{This method is named {\tt GetItemParent} to avoid a name

View File

@@ -3,7 +3,7 @@ Installing wxWindows 2.4.0
-------------------------- --------------------------
This is wxWindows 2.4.0 for Microsoft Windows 9x/ME, Windows NT, This is wxWindows 2.4.0 for Microsoft Windows 9x/ME, Windows NT,
Windows 2000 and Windows XP. This is an unstable development release. Windows 2000 and Windows XP. This is an official release.
Please note that the library naming conventions for VC++ Please note that the library naming conventions for VC++
compilation have changed after 2.3.1. This means that compilation have changed after 2.3.1. This means that
@@ -79,11 +79,16 @@ compiler.
Visual C++ 6.0 compilation Visual C++ 6.0 compilation
--------------------------- ---------------------------
Please note that the VC++ 6.0 project files will work for Please note that the VC++ 6.0 project files will work for VC++ .NET also, but
VC++ .NET also, but you must open the .dsp files and not the .dsw you must open the .dsp files and not the .dsw files and in this case you will
files. need to manually build the other .dsp on which wxWindows.dsp depends: jpeg,
png, regex, tiff and zlib.
Using project files (VC++ 6 only): Also note that you can make the project files work with VC++ 5.0 but you'll
need to edit .dsp file by hand before this is possible (change the version in
the .dsp file header from 6.0 to 5.0).
Using project files (VC++ 6.0 and later):
1. Unarchive wxWindows-x.y.z-vc.zip, the VC++ 6 project 1. Unarchive wxWindows-x.y.z-vc.zip, the VC++ 6 project
makefiles (already included in wxMSW-x.y.z.zip and the setup version). makefiles (already included in wxMSW-x.y.z.zip and the setup version).
@@ -599,6 +604,7 @@ For example:
cd build-debug cd build-debug
../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared ../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared
make make
make install % This step is optional, see note (8) below.
cd samples/minimal cd samples/minimal
make make
./minimal.exe ./minimal.exe
@@ -652,6 +658,16 @@ Notes:
and similarly for glu[32].def. and similarly for glu[32].def.
8. The 'make install' step is optional, and copies files
as follows:
/usr/local/lib - wxmswXYZd.dll.a and wxmswXYZd.dll
/usr/local/include/wx - wxWindows header files
/usr/local/bin - wx-config
You may need to do this if using wx-config with the
default root path.
OLD VERSIONS: OLD VERSIONS:
- If using Mingw32 2.95 and below with wxWindows 2.1 or above, you - If using Mingw32 2.95 and below with wxWindows 2.1 or above, you

View File

@@ -1,33 +1,53 @@
Announcing wxWindows 2.3.4: a cross-platform GUI toolkit Announcing wxWindows 2.4.0: a cross-platform GUI toolkit
---------------------------------------------------------------- ----------------------------------------------------------------
September 15th, 2002 -- the wxWindows team is pleased to January 7th, 2003 -- the wxWindows team is pleased to announce
announce the release of a development snapshot of the mature an official 2.4.0 release of the mature cross-platform C++
cross-platform C++ application framework. application framework.
The following platforms are supported: The following platforms are supported:
- Windows 95/98/ME, Windows NT, Windows 2000, Windows XP - Windows 95/98/ME, Windows NT, Windows 2000, Windows XP
- Unix with GTK+ 1.x and 2.0 - Linux/Unix with GTK+ 1.x and 2.0
- Unix with X11 - Linux/Unix with X11
- Unix with Motif/Lesstif - Linux/Unix with Motif/Lesstif
- VMS with GTK+ 1.x - VMS with GTK+ 1.x
- MacOS 8.6, 9.x and 10.x - MacOS 8.6, 9.x and 10.x
- OS/2 (alpha) - OS/2 (alpha release)
A non-GUI subset of wxWindows called wxBase is also supported
on most of these platforms.
To get wxWindows, go to the Download page at: To get wxWindows, go to the Download page at:
http://www.wxwindows.org http://www.wxwindows.org
This is likely to be the last development snapshot in the This is the first official release to support the many
2.3.x series, before the release of the stable 2.4.x series. enhancements to wxWindows since the 2.2.x series.
Improvements have been made to many areas, including:
- better support for Windows XP
- a much fuller Mac port
- additional platforms (OS/2 and bare X11)
- further type-safe container classes
- improved build system
- Unicode support for GTK+ and WIN32
- improved wxBase support
- wxArtProvider class allows tailoring of standard
wxWindows images
- translations for more languages
- mousewheel support
- support for more ODBC databases
- numerous bug fixes
*** About wxWindows *** About wxWindows
wxWindows is a comprehensive open-source, multi-platform C++ wxWindows is a comprehensive open-source, multi-platform C++ GUI
GUI framework, that can be used to build commercial and free framework, that can be used to build commercial and free
software. It's used by many organisations all over the world, software. First released in 1992, it's increasingly used by
including the company that invented the GUI. organisations and individuals all over the world due to its
winning combination of sophistication, wide platform coverage,
ease of use, unrestrictive licence and vibrant user community.
For most ports, wxWindows adopts the native look and feel of For most ports, wxWindows adopts the native look and feel of
each platform since it uses the native widget sets. There is also each platform since it uses the native widget sets. There is also
@@ -44,9 +64,9 @@ handlers for eading and writing many image types, resizeable panels
and dialogs on all platforms, document/view, OpenGL support, and dialogs on all platforms, document/view, OpenGL support,
HTML-based and context-sensitive help, wizards, drag and drop, HTML-based and context-sensitive help, wizards, drag and drop,
a grid class, ODBC support, threads, sockets, container classes, a grid class, ODBC support, threads, sockets, container classes,
and much more. An 1800-page reference manual is provided in HTML, a styled text control, and much more. An 1800-page reference manual
MS HTML Help, WinHelp, wxWindows Help and PDF, and there are over is provided in HTML, MS HTML Help, WinHelp, wxWindows Help and PDF
70 samples and demos. formats, and there are over 70 samples and demos.
If you're an MFC user, you'll find many wxWindows concepts If you're an MFC user, you'll find many wxWindows concepts
reassuringly familiar, while often clearer and more consistent. reassuringly familiar, while often clearer and more consistent.

View File

@@ -4,7 +4,7 @@ Publicity notes and ideas
Release announcments can be made to the following Release announcments can be made to the following
newsgroups. newsgroups.
Microsoft: Windows:
comp.os.ms-windows.programmer.misc comp.os.ms-windows.programmer.misc
comp.os.ms-windows.programmer.tools comp.os.ms-windows.programmer.tools
@@ -14,8 +14,11 @@ comp.os.ms-windows.programmer.win32
comp.windows.ms.programmer comp.windows.ms.programmer
microsoft.public.win32.programmer.tools microsoft.public.win32.programmer.tools
microsoft.public.win32.programmer.ui microsoft.public.win32.programmer.ui
microsoft.public.vc.3rdparty
Non-Microsoft: borland.public.cppbuilder.thirdpartytools (newsgroups.borland.com)
Non-Windows:
comp.programming comp.programming
comp.os.linux.development.apps comp.os.linux.development.apps
@@ -28,7 +31,7 @@ comp.windows.x
comp.windows.x.announce comp.windows.x.announce
comp.windows.x.motif comp.windows.x.motif
Note: submissions to comp.windows.linux.announce must be Note: submissions to comp.os.linux.announce must be
sent to cola@stump.algebra.com, with short descr sent to cola@stump.algebra.com, with short descr
of software and location. See http://stump.algebra.com/~cola/ of software and location. See http://stump.algebra.com/~cola/
NO CROSSPOSTING when sending to this address. NO CROSSPOSTING when sending to this address.
@@ -65,6 +68,51 @@ http://sal.kachinatech.com/index.shtml: SAL (Scientific Applications on Linux)
is a collection of information and links to software that will be of interest is a collection of information and links to software that will be of interest
to scientists and engineers. to scientists and engineers.
MacDev developers list
To submit a posting to MacDev-1, mailto:press_releases@mactech.com. To
subscribe to MacDev-1, send mail to listserv@listmail.xplain.com with
the SUBJECT line reading "SUBSCRIBE MACDEV-1". To unsubscribe, the
SUBJECT line should read "UNSUBSCRIBE MACDEV-1".
ct-Newsticker : mailto:presse@ct.heise.de
List of sites and addresses from tn0013.txt:
a) FreshMeat:
- http://freshmeat.net/projects/wxwindowsgtk/
- username and password are "wxgtk" for logging in
- hit "new release" at the top
- follow the step by step
b) wx-announce mailing list: mailto:wx-announce@lists.wxwindows.org
[where is the announcement text? TODO]
c) update www.wxwindows.org
d) GNOME (very effective, stays on front page for days):
- http://www.gnome.org/applist
- Search for wxWindows
- Update the version number
- Ignore the error message
e) MacNN:
- http://www.macnn.com
- Contact or Contribute or something
- email news@macnn.com <news@macnn.com>
f) MacRumors:
- http://www.macrumors.com
- Contact or Contribute or something
g) Apple Developer Connection:
mailto: adcnews@apple.com
h) LinuxDevices.com:
Interesting for wxUniversal.
Shareware sites Shareware sites
---------------- ----------------
@@ -88,4 +136,30 @@ PC Magazines:
CD-ROM distributions for PC Plus, PCW CD-ROM distributions for PC Plus, PCW
PUBLICITY RECORD
================
The 2.4.0 release has been publicised at
the following places:
wx-users@lists.wxwindows.org
comp.os.ms-windows.programmer.misc
comp.os.ms-windows.programmer.tools.mfc
comp.os.ms-windows.programmer.tools.misc
comp.os.ms-windows.programmer.win32
comp.windows.ms.programmer
comp.os.linux.announce (pending acceptance)
comp.sys.mac.programmer.tools
comp.lang.c++
comp.windows.x.announce
microsoft.public.win32.programmer.tools
microsoft.public.win32.programmer.ui
microsoft.public.vc.3rdparty
borland.public.cppbuilder.thirdpartytools
news@macnn.com
adcnews@apple.com
presse@ct.heise.de
press_releases@mactech.com

View File

@@ -200,5 +200,5 @@ web site.
Have fun! Have fun!
The wxWindows Team, December 2002 The wxWindows Team, January 2003

View File

@@ -12,10 +12,10 @@
/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
/* /*
this global setting determintes what should we do if the setting FOO this global setting determines what should we do if the setting FOO
requires BAR and BAR is not set: we can either silently define BAR requires BAR and BAR is not set: we can either silently define BAR
(default, recommended) or give an error and abort (mainly useful for (default, recommended) or give an error and abort (mainly useful for
developpers only) developers only)
*/ */
#define wxABORT_ON_CONFIG_ERROR #define wxABORT_ON_CONFIG_ERROR
@@ -1061,7 +1061,7 @@
#endif /* wxUSE_RADIOBTN */ #endif /* wxUSE_RADIOBTN */
#if wxUSE_WXHTML_HELP #if wxUSE_WXHTML_HELP
# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
# ifdef wxABORT_ON_CONFIG_ERROR # ifdef wxABORT_ON_CONFIG_ERROR
# error "Built in help controller can't be compiled" # error "Built in help controller can't be compiled"
# else # else
@@ -1071,6 +1071,8 @@
# define wxUSE_HTML 1 # define wxUSE_HTML 1
# undef wxUSE_COMBOBOX # undef wxUSE_COMBOBOX
# define wxUSE_COMBOBOX 1 # define wxUSE_COMBOBOX 1
# undef wxUSE_NOTEBOOK
# define wxUSE_NOTEBOOK 1
# endif # endif
# endif # endif
#endif /* wxUSE_WXHTML_HELP */ #endif /* wxUSE_WXHTML_HELP */

View File

@@ -1800,10 +1800,10 @@ enum wxPrintMode
// macro to specify "All Files" on different platforms // macro to specify "All Files" on different platforms
#if defined(__WXMSW__) || defined(__WXPM__) #if defined(__WXMSW__) || defined(__WXPM__)
# define wxALL_FILES_PATTERN wxT("*.*") # define wxALL_FILES_PATTERN wxT("*.*")
# define wxALL_FILES gettext_noop(wxT("All files (*.*)|*.*")) # define wxALL_FILES gettext_noop("All files (*.*)|*.*")
#else #else
# define wxALL_FILES_PATTERN wxT("*") # define wxALL_FILES_PATTERN wxT("*")
# define wxALL_FILES gettext_noop(wxT("All files (*)|*")) # define wxALL_FILES gettext_noop("All files (*)|*")
#endif #endif
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

View File

@@ -202,7 +202,16 @@ public:
size_t GetSelections(wxArrayTreeItemIds&) const; size_t GetSelections(wxArrayTreeItemIds&) const;
// get the parent of this item (may return NULL if root) // get the parent of this item (may return NULL if root)
wxTreeItemId GetParent(const wxTreeItemId& item) const; wxTreeItemId GetItemParent(const wxTreeItemId& item) const;
#if WXWIN_COMPATIBILITY_2_2
// deprecated: Use GetItemParent instead.
wxTreeItemId GetParent(const wxTreeItemId& item) const
{ return GetItemParent( item ); }
// Expose the base class method hidden by the one above.
wxWindow *GetParent() const { return wxScrolledWindow::GetParent(); }
#endif // WXWIN_COMPATIBILITY_2_2
// for this enumeration function you must pass in a "cookie" parameter // for this enumeration function you must pass in a "cookie" parameter
// which is opaque for the application but is necessary for the library // which is opaque for the application but is necessary for the library

View File

@@ -251,7 +251,7 @@ public:
wxTreeItemId GetSelection() const; wxTreeItemId GetSelection() const;
// get the parent of this item (may return NULL if root) // get the parent of this item (may return NULL if root)
wxTreeItemId GetParent(const wxTreeItemId& item) const; wxTreeItemId GetItemParent(const wxTreeItemId& item) const;
// for this enumeration function you must pass in a "cookie" parameter // for this enumeration function you must pass in a "cookie" parameter
// which is opaque for the application but is necessary for the library // which is opaque for the application but is necessary for the library

View File

@@ -251,7 +251,7 @@ public:
wxTreeItemId GetSelection() const; wxTreeItemId GetSelection() const;
// get the parent of this item (may return NULL if root) // get the parent of this item (may return NULL if root)
wxTreeItemId GetParent(const wxTreeItemId& item) const; wxTreeItemId GetItemParent(const wxTreeItemId& item) const;
// for this enumeration function you must pass in a "cookie" parameter // for this enumeration function you must pass in a "cookie" parameter
// which is opaque for the application but is necessary for the library // which is opaque for the application but is necessary for the library

View File

@@ -328,7 +328,7 @@ protected: \
\ \
CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, \ CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, \
this, (_wxHashTable_NodeBase**)m_table, \ this, (_wxHashTable_NodeBase**)m_table, \
(BucketFromNode)&GetBucketForNode,\ (BucketFromNode)GetBucketForNode,\
(ProcessNode)&DummyProcessNode ); \ (ProcessNode)&DummyProcessNode ); \
free(srcTable); \ free(srcTable); \
} \ } \
@@ -340,8 +340,8 @@ protected: \
CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets,\ CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets,\
(_wxHashTableBase2*)this, \ (_wxHashTableBase2*)this, \
(_wxHashTable_NodeBase**)m_table, \ (_wxHashTable_NodeBase**)m_table, \
(BucketFromNode)&GetBucketForNode, \ (BucketFromNode)GetBucketForNode, \
(ProcessNode)&CopyNode ); \ (ProcessNode)CopyNode ); \
} \ } \
}; };

View File

@@ -44,6 +44,14 @@ typedef unsigned long wxLogLevel;
#include "wx/dynarray.h" #include "wx/dynarray.h"
#ifndef wxUSE_LOG_DEBUG
# ifdef __WXDEBUG__
# define wxUSE_LOG_DEBUG 1
# else // !__WXDEBUG__
# define wxUSE_LOG_DEBUG 0
# endif
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// constants // constants
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -55,12 +63,13 @@ enum
wxLOG_Error, // a serious error, user must be informed about it wxLOG_Error, // a serious error, user must be informed about it
wxLOG_Warning, // user is normally informed about it but may be ignored wxLOG_Warning, // user is normally informed about it but may be ignored
wxLOG_Message, // normal message (i.e. normal output of a non GUI app) wxLOG_Message, // normal message (i.e. normal output of a non GUI app)
wxLOG_Info, // informational message (a.k.a. 'Verbose')
wxLOG_Status, // informational: might go to the status line of GUI app wxLOG_Status, // informational: might go to the status line of GUI app
wxLOG_Info, // informational message (a.k.a. 'Verbose')
wxLOG_Debug, // never shown to the user, disabled in release mode wxLOG_Debug, // never shown to the user, disabled in release mode
wxLOG_Trace, // trace messages are also only enabled in debug mode wxLOG_Trace, // trace messages are also only enabled in debug mode
wxLOG_Progress, // used for progress indicator (not yet) wxLOG_Progress, // used for progress indicator (not yet)
wxLOG_User = 100 // user defined levels start here wxLOG_User = 100, // user defined levels start here
wxLOG_Max = 10000
}; };
// symbolic trace masks - wxLogTrace("foo", "some trace message...") will be // symbolic trace masks - wxLogTrace("foo", "some trace message...") will be
@@ -120,7 +129,7 @@ public:
// derived classes // derived classes
static void OnLog(wxLogLevel level, const wxChar *szString, time_t t) static void OnLog(wxLogLevel level, const wxChar *szString, time_t t)
{ {
if ( IsEnabled() ) { if ( IsEnabled() && ms_logLevel >= level ) {
wxLog *pLogger = GetActiveTarget(); wxLog *pLogger = GetActiveTarget();
if ( pLogger ) if ( pLogger )
pLogger->DoLog(level, szString, t); pLogger->DoLog(level, szString, t);
@@ -165,6 +174,10 @@ public:
// verbose mode is activated by standard command-line '-verbose' // verbose mode is activated by standard command-line '-verbose'
// option // option
static void SetVerbose(bool bVerbose = TRUE) { ms_bVerbose = bVerbose; } static void SetVerbose(bool bVerbose = TRUE) { ms_bVerbose = bVerbose; }
// Set log level. Log messages with level > logLevel will not be logged.
static void SetLogLevel(wxLogLevel logLevel) { ms_logLevel = logLevel; }
// should GetActiveTarget() try to create a new log object if the // should GetActiveTarget() try to create a new log object if the
// current is NULL? // current is NULL?
static void DontCreateOnDemand(); static void DontCreateOnDemand();
@@ -185,6 +198,7 @@ public:
// to NULL to disable time stamping completely. // to NULL to disable time stamping completely.
static void SetTimestamp(const wxChar *ts) { ms_timestamp = ts; } static void SetTimestamp(const wxChar *ts) { ms_timestamp = ts; }
// accessors // accessors
// gets the verbose status // gets the verbose status
static bool GetVerbose() { return ms_bVerbose; } static bool GetVerbose() { return ms_bVerbose; }
@@ -193,10 +207,13 @@ public:
// is this trace mask in the list? // is this trace mask in the list?
static bool IsAllowedTraceMask(const wxChar *mask) static bool IsAllowedTraceMask(const wxChar *mask)
{ return ms_aTraceMasks.Index(mask) != wxNOT_FOUND; } { return ms_aTraceMasks.Index(mask) != wxNOT_FOUND; }
// return the current loglevel limit
static wxLogLevel GetLogLevel() { return ms_logLevel; }
// get the current timestamp format string (may be NULL) // get the current timestamp format string (may be NULL)
static const wxChar *GetTimestamp() { return ms_timestamp; } static const wxChar *GetTimestamp() { return ms_timestamp; }
// helpers // helpers
// put the time stamp into the string if ms_timestamp != NULL (don't // put the time stamp into the string if ms_timestamp != NULL (don't
// change it otherwise) // change it otherwise)
@@ -225,6 +242,8 @@ private:
static bool ms_bAutoCreate; // create new log targets on demand? static bool ms_bAutoCreate; // create new log targets on demand?
static bool ms_bVerbose; // FALSE => ignore LogInfo messages static bool ms_bVerbose; // FALSE => ignore LogInfo messages
static wxLogLevel ms_logLevel; // limit logging to levels <= ms_logLevel
static size_t ms_suspendCount; // if positive, logs are not flushed static size_t ms_suspendCount; // if positive, logs are not flushed
// format string for strftime(), if NULL, time stamping log messages is // format string for strftime(), if NULL, time stamping log messages is
@@ -539,7 +558,7 @@ DECLARE_LOG_FUNCTION(SysError);
DECLARE_LOG_FUNCTION2(SysError, long lErrCode); DECLARE_LOG_FUNCTION2(SysError, long lErrCode);
// debug functions do nothing in release mode // debug functions do nothing in release mode
#ifdef __WXDEBUG__ #if wxUSE_LOG_DEBUG
DECLARE_LOG_FUNCTION(Debug); DECLARE_LOG_FUNCTION(Debug);
// first kind of LogTrace is unconditional: it doesn't check the level, // first kind of LogTrace is unconditional: it doesn't check the level,

View File

@@ -162,7 +162,7 @@ public:
long GetNextItem(long item, int code) const; long GetNextItem(long item, int code) const;
bool ItemHasChildren(long item) const; bool ItemHasChildren(long item) const;
long GetChild(long item) const; long GetChild(long item) const;
long GetParent(long item) const; long GetItemParent(long item) const;
long GetFirstVisibleItem() const; long GetFirstVisibleItem() const;
long GetNextVisibleItem(long item) const; long GetNextVisibleItem(long item) const;
long GetSelection() const; long GetSelection() const;

View File

@@ -10,6 +10,10 @@
#define HAVE_W32API_H #define HAVE_W32API_H
#endif #endif
#endif #endif
#elif defined( __CYGWIN__ ) && !defined( HAVE_W32API_H )
#if ( __GNUC__ > 2 )
#define HAVE_W32API_H
#endif
#endif #endif
// check for MinGW/Cygwin w32api version ( releases >= 0.5, only ) // check for MinGW/Cygwin w32api version ( releases >= 0.5, only )

View File

@@ -159,7 +159,7 @@ typedef struct tagNMLVDISPINFOW {
#endif #endif
#endif #endif
#if defined(__GNUWIN32__) && !defined(HDN_GETDISPINFOW) #if (defined(__GNUWIN32__) || defined __BORLANDC__) && !defined(HDN_GETDISPINFOW)
#define HDN_GETDISPINFOW (HDN_FIRST-29) #define HDN_GETDISPINFOW (HDN_FIRST-29)
typedef struct { typedef struct {
NMHDR hdr; NMHDR hdr;

View File

@@ -344,7 +344,7 @@ class MemoryHDC
{ {
public: public:
MemoryHDC() { m_hdc = ::CreateCompatibleDC(NULL); } MemoryHDC() { m_hdc = ::CreateCompatibleDC(NULL); }
~MemoryHDC() { ::DeleteObject(m_hdc); } ~MemoryHDC() { ::DeleteDC(m_hdc); }
operator HDC() const { return m_hdc; } operator HDC() const { return m_hdc; }

View File

@@ -222,7 +222,16 @@ public:
size_t GetSelections(wxArrayTreeItemIds& selections) const; size_t GetSelections(wxArrayTreeItemIds& selections) const;
// get the parent of this item (may return NULL if root) // get the parent of this item (may return NULL if root)
wxTreeItemId GetParent(const wxTreeItemId& item) const; wxTreeItemId GetItemParent(const wxTreeItemId& item) const;
#if WXWIN_COMPATIBILITY_2_2
// deprecated: Use GetItemParent instead.
wxTreeItemId GetParent(const wxTreeItemId& item) const
{ return GetItemParent( item ); }
// Expose the base class method hidden by the one above.
wxWindow *GetParent() const { return wxControl::GetParent(); }
#endif // WXWIN_COMPATIBILITY_2_2
// for this enumeration function you must pass in a "cookie" parameter // for this enumeration function you must pass in a "cookie" parameter
// which is opaque for the application but is necessary for the library // which is opaque for the application but is necessary for the library

View File

@@ -32,9 +32,7 @@ public:
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = wxBU_AUTODRAW ,long lStyle = wxBU_AUTODRAW
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxButtonNameStr ,const wxString& rsName = wxButtonNameStr
) )
{ {
@@ -44,9 +42,7 @@ public:
,rPos ,rPos
,rSize ,rSize
,lStyle ,lStyle
#if wxUSE_VALIDATORS
,rValidator ,rValidator
#endif
,rsName ,rsName
); );
} }
@@ -57,9 +53,7 @@ public:
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = wxBU_AUTODRAW ,long lStyle = wxBU_AUTODRAW
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxButtonNameStr ,const wxString& rsName = wxButtonNameStr
); );

View File

@@ -25,9 +25,7 @@ class WXDLLEXPORT wxButton: public wxButtonBase
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxButtonNameStr ,const wxString& rsName = wxButtonNameStr
) )
{ {
@@ -37,9 +35,7 @@ class WXDLLEXPORT wxButton: public wxButtonBase
,rPos ,rPos
,rSize ,rSize
,lStyle ,lStyle
#if wxUSE_VALIDATORS
,rValidator ,rValidator
#endif
,rsName ,rsName
); );
} }
@@ -50,9 +46,7 @@ class WXDLLEXPORT wxButton: public wxButtonBase
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxButtonNameStr ,const wxString& rsName = wxButtonNameStr
); );

View File

@@ -26,9 +26,7 @@ class WXDLLEXPORT wxCheckBox : public wxCheckBoxBase
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxCheckBoxNameStr ,const wxString& rsName = wxCheckBoxNameStr
) )
{ {
@@ -38,9 +36,7 @@ class WXDLLEXPORT wxCheckBox : public wxCheckBoxBase
,rPos ,rPos
,rSize ,rSize
,lStyle ,lStyle
#if wxUSE_VALIDATORS
,rValidator ,rValidator
#endif
,rsName ,rsName
); );
} }
@@ -51,9 +47,7 @@ class WXDLLEXPORT wxCheckBox : public wxCheckBoxBase
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxCheckBoxNameStr ,const wxString& rsName = wxCheckBoxNameStr
); );
@@ -83,9 +77,7 @@ class WXDLLEXPORT wxBitmapCheckBox: public wxCheckBox
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxCheckBoxNameStr ,const wxString& rsName = wxCheckBoxNameStr
) )
{ {
@@ -106,9 +98,7 @@ class WXDLLEXPORT wxBitmapCheckBox: public wxCheckBox
,const wxPoint& rPos = wxDefaultPosition ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize ,const wxSize& rSize = wxDefaultSize
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxCheckBoxNameStr ,const wxString& rsName = wxCheckBoxNameStr
); );

View File

@@ -35,9 +35,7 @@ public:
,int nStrings = 0 ,int nStrings = 0
,const wxString asChoices[] = NULL ,const wxString asChoices[] = NULL
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxListBoxNameStr ,const wxString& rsName = wxListBoxNameStr
); );

View File

@@ -28,9 +28,7 @@ public:
,int n = 0 ,int n = 0
,const wxString asChoices[] = NULL ,const wxString asChoices[] = NULL
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxChoiceNameStr ,const wxString& rsName = wxChoiceNameStr
) )
{ {
@@ -41,9 +39,7 @@ public:
,n ,n
,asChoices ,asChoices
,lStyle ,lStyle
#if wxUSE_VALIDATORS
,rValidator ,rValidator
#endif
,rsName ,rsName
); );
} }
@@ -55,9 +51,7 @@ public:
,int n = 0 ,int n = 0
,const wxString asChoices[] = NULL ,const wxString asChoices[] = NULL
,long lStyle = 0 ,long lStyle = 0
#if wxUSE_VALIDATORS
,const wxValidator& rValidator = wxDefaultValidator ,const wxValidator& rValidator = wxDefaultValidator
#endif
,const wxString& rsName = wxChoiceNameStr ,const wxString& rsName = wxChoiceNameStr
); );

Some files were not shown because too many files have changed in this diff Show More