diff -ur wxWidgets-2.6.3/build/aclocal/bakefile.m4 wxWidgets-2.6.3.3/build/aclocal/bakefile.m4
--- wxWidgets-2.6.3/build/aclocal/bakefile.m4 2006-02-12 03:50:55.000000000 -0500
+++ wxWidgets-2.6.3.3/build/aclocal/bakefile.m4 2006-07-12 04:59:53.000000000 -0400
@@ -421,6 +421,7 @@
powerpc-apple-macos* | \
*-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
+ *-*-mirbsd* | \
*-*-sunos4* | \
*-*-osf* | \
*-*-dgux5* | \
diff -ur wxWidgets-2.6.3/configure wxWidgets-2.6.3.3/configure
--- wxWidgets-2.6.3/configure 2006-03-21 14:33:33.000000000 -0500
+++ wxWidgets-2.6.3.3/configure 2006-05-23 14:08:19.000000000 -0400
@@ -892,6 +892,7 @@
--enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)
--enable-compat22 enable wxWidgets 2.2 compatibility
--disable-compat24 disable wxWidgets 2.4 compatibility
+ --disable-reserved_virtual do not create unused vtable entries
--disable-rpath disable use of rpath for uninstalled builds
--enable-intl use internationalization system
--enable-config use wxConfig (and derived) classes
@@ -1669,7 +1670,7 @@
wx_major_version_number=2
wx_minor_version_number=6
wx_release_number=3
-wx_subrelease_number=1
+wx_subrelease_number=3
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -4241,6 +4242,49 @@
fi
+DEFAULT_WX_USE_RESERVED_VIRTUALS=yes
+
+ enablestring=
+ echo "$as_me:$LINENO: checking for --${enablestring:-enable}-reserved_virtual" >&5
+echo $ECHO_N "checking for --${enablestring:-enable}-reserved_virtual... $ECHO_C" >&6
+ no_cache=0
+ # Check whether --enable-reserved_virtual or --disable-reserved_virtual was given.
+if test "${enable_reserved_virtual+set}" = set; then
+ enableval="$enable_reserved_virtual"
+
+ if test "$enableval" = yes; then
+ ac_cv_use_reserved_virtual='WX_USE_RESERVED_VIRTUALS=yes'
+ else
+ ac_cv_use_reserved_virtual='WX_USE_RESERVED_VIRTUALS=no'
+ fi
+
+else
+
+ LINE=`grep "WX_USE_RESERVED_VIRTUALS" ${wx_arg_cache_file}`
+ if test "x$LINE" != x ; then
+ eval "DEFAULT_$LINE"
+ else
+ no_cache=1
+ fi
+
+ ac_cv_use_reserved_virtual='WX_USE_RESERVED_VIRTUALS='$DEFAULT_WX_USE_RESERVED_VIRTUALS
+
+fi;
+
+ eval "$ac_cv_use_reserved_virtual"
+ if test "$no_cache" != 1; then
+ echo $ac_cv_use_reserved_virtual >> ${wx_arg_cache_file}.tmp
+ fi
+
+ if test "$WX_USE_RESERVED_VIRTUALS" = yes; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ fi
+
+
enablestring=
echo "$as_me:$LINENO: checking for --${enablestring:-enable}-rpath" >&5
@@ -38289,6 +38333,13 @@
fi
+if test "x$WX_USE_RESERVED_VIRTUALS" != "xno"; then
+ cat >>confdefs.h <<\_ACEOF
+#define WX_USE_RESERVED_VIRTUALS 1
+_ACEOF
+
+fi
+
if test "$wxUSE_GUI" = "yes"; then
cat >>confdefs.h <<\_ACEOF
@@ -42353,11 +42404,6 @@
echo "$as_me: WARNING: Toggle button not yet supported under Mac OS X... disabled" >&2;}
wxUSE_TOGGLEBTN=no
fi
- if test "$wxUSE_UNIVERSAL" = "yes"; then
- { echo "$as_me:$LINENO: WARNING: Toggle button not yet supported under wxUniversal... disabled" >&5
-echo "$as_me: WARNING: Toggle button not yet supported under wxUniversal... disabled" >&2;}
- wxUSE_TOGGLEBTN=no
- fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
cat >>confdefs.h <<\_ACEOF
diff -ur wxWidgets-2.6.3/configure.in wxWidgets-2.6.3.3/configure.in
--- wxWidgets-2.6.3/configure.in 2006-03-21 14:33:57.000000000 -0500
+++ wxWidgets-2.6.3.3/configure.in 2006-07-12 04:59:50.000000000 -0400
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_REVISION($Id: configure.in,v 1.1063.2.15 2006/03/21 19:33:57 KO Exp $)dnl
+AC_REVISION($Id: configure.in,v 1.1063.2.23 2006/07/12 08:59:50 SN Exp $)dnl
dnl ---------------------------------------------------------------------------
dnl
@@ -8,7 +8,7 @@
dnl
dnl This script is under the wxWidgets licence.
dnl
-dnl Version: $Id: configure.in,v 1.1063.2.15 2006/03/21 19:33:57 KO Exp $
+dnl Version: $Id: configure.in,v 1.1063.2.23 2006/07/12 08:59:50 SN Exp $
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
@@ -33,7 +33,7 @@
wx_major_version_number=2
wx_minor_version_number=6
wx_release_number=3
-wx_subrelease_number=1
+wx_subrelease_number=3
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -185,7 +185,7 @@
AC_DEFINE(__BSD__)
DEFAULT_DEFAULT_wxUSE_GTK=1
;;
- *-*-openbsd*)
+ *-*-openbsd*|*-*-mirbsd*)
USE_BSD=1
USE_OPENBSD=1
AC_DEFINE(__OPENBSD__)
@@ -857,6 +857,9 @@
WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
+DEFAULT_WX_USE_RESERVED_VIRTUALS=yes
+WX_ARG_ENABLE(reserved_virtual, [ --disable-reserved_virtual do not create unused vtable entries], WX_USE_RESERVED_VIRTUALS)
+
WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH)
@@ -5073,6 +5076,10 @@
AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
fi
+if test "x$WX_USE_RESERVED_VIRTUALS" != "xno"; then
+ AC_DEFINE(WX_USE_RESERVED_VIRTUALS)
+fi
+
dnl ---------------------------------------------------------------------------
dnl the library may be built without GUI classes at all
dnl ---------------------------------------------------------------------------
@@ -6311,10 +6318,6 @@
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
wxUSE_TOGGLEBTN=no
fi
- if test "$wxUSE_UNIVERSAL" = "yes"; then
- AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
- wxUSE_TOGGLEBTN=no
- fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
AC_DEFINE(wxUSE_TOGGLEBTN)
diff -ur wxWidgets-2.6.3/contrib/src/gizmos/editlbox.cpp wxWidgets-2.6.3.3/contrib/src/gizmos/editlbox.cpp
--- wxWidgets-2.6.3/contrib/src/gizmos/editlbox.cpp 2005-01-14 08:06:52.000000000 -0500
+++ wxWidgets-2.6.3.3/contrib/src/gizmos/editlbox.cpp 2006-05-23 15:30:03.000000000 -0400
@@ -2,7 +2,7 @@
// Name: editlbox.cpp
// Purpose: ListBox with editable items
// Author: Vaclav Slavik
-// RCS-ID: $Id: editlbox.cpp,v 1.21 2005/01/14 13:06:52 ABX Exp $
+// RCS-ID: $Id: editlbox.cpp,v 1.21.2.1 2006/05/23 19:30:03 ABX Exp $
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -228,6 +228,12 @@
// add new empty line here so that adding one more line is still
// possible:
m_listCtrl->InsertItem(m_listCtrl->GetItemCount(), wxEmptyString);
+
+ // Simulate a wxEVT_COMMAND_LIST_ITEM_SELECTED event for the new item,
+ // so that the buttons are enabled/disabled properly
+ wxListEvent selectionEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED, m_listCtrl->GetId());
+ selectionEvent.m_itemIndex = event.GetIndex();
+ m_listCtrl->GetEventHandler()->ProcessEvent(selectionEvent);
}
}
diff -ur wxWidgets-2.6.3/contrib/src/stc/scintilla/src/Editor.cxx wxWidgets-2.6.3.3/contrib/src/stc/scintilla/src/Editor.cxx
--- wxWidgets-2.6.3/contrib/src/stc/scintilla/src/Editor.cxx 2006-03-12 01:03:37.000000000 -0500
+++ wxWidgets-2.6.3.3/contrib/src/stc/scintilla/src/Editor.cxx 2006-06-28 15:32:14.000000000 -0400
@@ -213,7 +213,7 @@
}
void LineLayoutCache::AllocateForLevel(int linesOnScreen, int linesInDoc) {
- PLATFORM_ASSERT(useCount == 0);
+// PLATFORM_ASSERT(useCount == 0);
int lengthForLevel = 0;
if (level == llcCaret) {
lengthForLevel = 1;
@@ -239,7 +239,7 @@
}
void LineLayoutCache::Deallocate() {
- PLATFORM_ASSERT(useCount == 0);
+// PLATFORM_ASSERT(useCount == 0);
for (int i = 0; i < length; i++)
delete cache[i];
delete []cache;
diff -ur wxWidgets-2.6.3/contrib/src/stc/ScintillaWX.cpp wxWidgets-2.6.3.3/contrib/src/stc/ScintillaWX.cpp
--- wxWidgets-2.6.3/contrib/src/stc/ScintillaWX.cpp 2006-03-12 01:03:52.000000000 -0500
+++ wxWidgets-2.6.3.3/contrib/src/stc/ScintillaWX.cpp 2006-06-28 15:32:18.000000000 -0400
@@ -9,7 +9,7 @@
// Author: Robin Dunn
//
// Created: 13-Jan-2000
-// RCS-ID: $Id: ScintillaWX.cpp,v 1.85.2.1 2006/03/12 06:03:52 RD Exp $
+// RCS-ID: $Id: ScintillaWX.cpp,v 1.85.2.3 2006/06/28 19:32:18 RD Exp $
// Copyright: (c) 2000 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
@@ -483,7 +483,10 @@
if (gotData) {
wxString text = wxTextBuffer::Translate(data.GetText(),
wxConvertEOLMode(pdoc->eolMode));
+ data.SetText(wxEmptyString); // free the data object content
wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
+ text = wxEmptyString; // free text
+
int len = strlen(buf);
pdoc->InsertString(currentPos, buf, len);
SetEmptySelection(currentPos + len);
@@ -827,13 +830,15 @@
}
void ScintillaWX::DoLeftButtonUp(Point pt, unsigned int curTime, bool ctrl) {
+ ButtonUp(pt, curTime, ctrl);
#if wxUSE_DRAG_AND_DROP
if (startDragTimer->IsRunning()) {
startDragTimer->Stop();
+ SetDragPosition(invalidPosition);
SetEmptySelection(PositionFromLocation(pt));
+ ShowCaretAtCurrentPosition();
}
#endif // wxUSE_DRAG_AND_DROP
- ButtonUp(pt, curTime, ctrl);
}
void ScintillaWX::DoLeftButtonMove(Point pt) {
diff -ur wxWidgets-2.6.3/contrib/src/stc/stc.cpp wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp
--- wxWidgets-2.6.3/contrib/src/stc/stc.cpp 2006-03-12 01:03:51.000000000 -0500
+++ wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp 2006-06-28 15:32:18.000000000 -0400
@@ -10,7 +10,7 @@
// Author: Robin Dunn
//
// Created: 13-Jan-2000
-// RCS-ID: $Id: stc.cpp,v 1.97.2.1 2006/03/12 06:03:51 RD Exp $
+// RCS-ID: $Id: stc.cpp,v 1.97.2.2 2006/06/28 19:32:18 RD Exp $
// Copyright: (c) 2000 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
@@ -3186,12 +3186,7 @@
size_t length) {
if(!text) return;
- // The unicode conversion MUST have a null byte to terminate the
- // string so move it into a buffer first and give it one.
- wxMemoryBuffer buf(length+1);
- buf.AppendData((void*)text, length);
- buf.AppendByte(0);
- evt.SetText(stc2wx(buf));
+ evt.SetText(stc2wx(text, length));
}
diff -ur wxWidgets-2.6.3/contrib/src/stc/stc.cpp.in wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp.in
--- wxWidgets-2.6.3/contrib/src/stc/stc.cpp.in 2006-03-12 01:03:51.000000000 -0500
+++ wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp.in 2006-06-28 15:32:17.000000000 -0400
@@ -10,7 +10,7 @@
// Author: Robin Dunn
//
// Created: 13-Jan-2000
-// RCS-ID: $Id: stc.cpp.in,v 1.66.2.1 2006/03/12 06:03:51 RD Exp $
+// RCS-ID: $Id: stc.cpp.in,v 1.66.2.2 2006/06/28 19:32:17 RD Exp $
// Copyright: (c) 2000 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
@@ -854,12 +854,7 @@
size_t length) {
if(!text) return;
- // The unicode conversion MUST have a null byte to terminate the
- // string so move it into a buffer first and give it one.
- wxMemoryBuffer buf(length+1);
- buf.AppendData((void*)text, length);
- buf.AppendByte(0);
- evt.SetText(stc2wx(buf));
+ evt.SetText(stc2wx(text, length));
}
diff -ur wxWidgets-2.6.3/include/wx/control.h wxWidgets-2.6.3.3/include/wx/control.h
--- wxWidgets-2.6.3/include/wx/control.h 2005-06-26 11:46:07.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/control.h 2006-04-19 05:33:32.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 26.07.99
-// RCS-ID: $Id: control.h,v 1.45 2005/06/26 15:46:07 RR Exp $
+// RCS-ID: $Id: control.h,v 1.45.2.1 2006/04/19 09:33:32 RL Exp $
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -66,6 +66,7 @@
virtual void SetLabel( const wxString &label );
virtual bool SetFont(const wxFont& font);
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedControlFunc1() {}
virtual void ReservedControlFunc2() {}
@@ -76,6 +77,7 @@
virtual void ReservedControlFunc7() {}
virtual void ReservedControlFunc8() {}
virtual void ReservedControlFunc9() {}
+#endif
protected:
// creates the control (calls wxWindowBase::CreateBase inside) and adds it
diff -ur wxWidgets-2.6.3/include/wx/dc.h wxWidgets-2.6.3.3/include/wx/dc.h
--- wxWidgets-2.6.3/include/wx/dc.h 2005-06-26 11:46:07.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/dc.h 2006-04-19 05:33:32.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 05/25/99
-// RCS-ID: $Id: dc.h,v 1.69 2005/06/26 15:46:07 RR Exp $
+// RCS-ID: $Id: dc.h,v 1.69.2.1 2006/04/19 09:33:32 RL Exp $
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -631,6 +631,7 @@
if (h) *h = hh;
}
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedDCFunc1() {}
virtual void ReservedDCFunc2() {}
@@ -641,6 +642,7 @@
virtual void ReservedDCFunc7() {}
virtual void ReservedDCFunc8() {}
virtual void ReservedDCFunc9() {}
+#endif
protected:
// the pure virtual functions which should be implemented by wxDC
diff -ur wxWidgets-2.6.3/include/wx/defs.h wxWidgets-2.6.3.3/include/wx/defs.h
--- wxWidgets-2.6.3/include/wx/defs.h 2006-01-26 08:15:47.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/defs.h 2006-05-29 13:34:40.000000000 -0400
@@ -4,7 +4,7 @@
* Author: Julian Smart and others
* Modified by: Ryan Norton (Converted to C)
* Created: 01/02/97
-* RCS-ID: $Id: defs.h,v 1.513.2.4 2006/01/26 13:15:47 JS Exp $
+* RCS-ID: $Id: defs.h,v 1.513.2.5 2006/05/29 17:34:40 MW Exp $
* Copyright: (c) Julian Smart
* Licence: wxWindows licence
*/
@@ -78,6 +78,12 @@
# pragma warning(disable:4305) /* truncation of long to near ptr */
#endif
+ /* For VC++ 5.0 for release mode, the warning 'C4702: unreachable code */
+ /* is buggy, and occurs for code that does actually get executed */
+# if !defined __WXDEBUG__ && __VISUALC__ <= 1100
+# pragma warning(disable:4702) /* unreachable code */
+# endif
+
/* Deprecated functions such as sprintf, localtime */
#if __VISUALC__ >= 1400
#define _CRT_SECURE_NO_DEPRECATE 1
diff -ur wxWidgets-2.6.3/include/wx/dlimpexp.h wxWidgets-2.6.3.3/include/wx/dlimpexp.h
--- wxWidgets-2.6.3/include/wx/dlimpexp.h 2005-06-22 16:58:47.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/dlimpexp.h 2006-06-25 20:03:33.000000000 -0400
@@ -4,7 +4,7 @@
* Author: Vadim Zeitlin
* Modified by:
* Created: 16.10.2003 (extracted from wx/defs.h)
- * RCS-ID: $Id: dlimpexp.h,v 1.13 2005/06/22 20:58:47 MW Exp $
+ * RCS-ID: $Id: dlimpexp.h,v 1.13.2.1 2006/06/26 00:03:33 VZ Exp $
* Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
* Licence: wxWindows licence
*/
@@ -77,6 +77,7 @@
# define WXMAKINGDLL_NET
# define WXMAKINGDLL_CORE
# define WXMAKINGDLL_ADV
+# define WXMAKINGDLL_QA
# define WXMAKINGDLL_ODBC
# define WXMAKINGDLL_DBGRID
# define WXMAKINGDLL_HTML
diff -ur wxWidgets-2.6.3/include/wx/generic/fontdlgg.h wxWidgets-2.6.3.3/include/wx/generic/fontdlgg.h
--- wxWidgets-2.6.3/include/wx/generic/fontdlgg.h 2006-03-02 07:57:18.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/generic/fontdlgg.h 2006-05-23 07:16:34.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
-// RCS-ID: $Id: fontdlgg.h,v 1.18.2.1 2006/03/02 12:57:18 JS Exp $
+// RCS-ID: $Id: fontdlgg.h,v 1.18.2.2 2006/05/23 11:16:34 JS Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -52,6 +52,10 @@
{
public:
wxGenericFontDialog() { Init(); }
+#if wxABI_VERSION >= 20604
+ wxGenericFontDialog(wxWindow *parent)
+ : wxFontDialogBase(parent) { Init(); }
+#endif
wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
: wxFontDialogBase(parent, data) { Init(); }
virtual ~wxGenericFontDialog();
diff -ur wxWidgets-2.6.3/include/wx/generic/grid.h wxWidgets-2.6.3.3/include/wx/generic/grid.h
--- wxWidgets-2.6.3/include/wx/generic/grid.h 2005-09-25 16:46:22.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/generic/grid.h 2006-05-29 13:34:45.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Michael Bedward (based on code by Julian Smart, Robin Dunn)
// Modified by:
// Created: 1/08/1999
-// RCS-ID: $Id: grid.h,v 1.147.2.1 2005/09/25 20:46:22 MW Exp $
+// RCS-ID: $Id: grid.h,v 1.147.2.2 2006/05/29 17:34:45 MW Exp $
// Copyright: (c) Michael Bedward
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -105,7 +105,7 @@
// calling DecRef() once will delete it. Calling IncRef() allows to lock
// it until the matching DecRef() is called
void IncRef() { m_nRef++; }
- void DecRef() { if ( !--m_nRef ) delete this; }
+ void DecRef() { if ( --m_nRef == 0 ) delete this; }
// interpret renderer parameters: arbitrary string whose interpretatin is
// left to the derived classes
@@ -660,7 +660,7 @@
// calling DecRef() once will delete it. Calling IncRef() allows to lock
// it until the matching DecRef() is called
void IncRef() { m_nRef++; }
- void DecRef() { if ( !--m_nRef ) delete this; }
+ void DecRef() { if ( --m_nRef == 0 ) delete this; }
// setters
void SetTextColour(const wxColour& colText) { m_colText = colText; }
diff -ur wxWidgets-2.6.3/include/wx/gtk/scrolwin.h wxWidgets-2.6.3.3/include/wx/gtk/scrolwin.h
--- wxWidgets-2.6.3/include/wx/gtk/scrolwin.h 2005-03-17 16:21:42.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/gtk/scrolwin.h 2006-06-04 13:00:09.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Robert Roebling
// Modified by:
// Created: 01/02/97
-// RCS-ID: $Id: scrolwin.h,v 1.22 2005/03/17 21:21:42 JS Exp $
+// RCS-ID: $Id: scrolwin.h,v 1.22.2.2 2006/06/04 17:00:09 PC Exp $
// Copyright: (c) Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -154,17 +154,9 @@
void OnPaint(wxPaintEvent& event);
void OnChar(wxKeyEvent& event);
- void GtkVScroll( float value, unsigned int scroll_type );
- void GtkHScroll( float value, unsigned int scroll_type );
- void GtkVConnectEvent();
- void GtkHConnectEvent();
- void GtkVDisconnectEvent();
- void GtkHDisconnectEvent();
-
// Calculate scroll increment
virtual int CalcScrollInc(wxScrollWinEvent& event);
- // Overridden from wxWidgets due callback being static
virtual void SetScrollPos( int orient, int pos, bool refresh = TRUE );
#if WXWIN_COMPATIBILITY_2_2
@@ -192,6 +184,13 @@
double m_scaleY,m_scaleX;
private:
+ void DoScroll(int orient, int pos, int* posOld, int pixelsPerLine);
+ void DoAdjustScrollbars(GtkAdjustment* adj,
+ int pixelsPerLine,
+ int winSize,
+ int virtSize,
+ int *linesPerPage);
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxScrolledWindow)
};
diff -ur wxWidgets-2.6.3/include/wx/gtk/window.h wxWidgets-2.6.3.3/include/wx/gtk/window.h
--- wxWidgets-2.6.3/include/wx/gtk/window.h 2006-03-18 08:59:33.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/gtk/window.h 2006-05-29 03:31:23.000000000 -0400
@@ -2,7 +2,7 @@
// Name: wx/gtk/window.h
// Purpose:
// Author: Robert Roebling
-// Id: $Id: window.h,v 1.128.2.1 2006/03/18 13:59:33 RR Exp $
+// Id: $Id: window.h,v 1.128.2.2 2006/05/29 07:31:23 PC Exp $
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -276,6 +276,8 @@
virtual void DoSetToolTip( wxToolTip *tip );
#endif // wxUSE_TOOLTIPS
+ void HandleScrollEvent(GtkAdjustment* adj);
+
protected:
// common part of all ctors (not virtual because called from ctor)
void Init();
diff -ur wxWidgets-2.6.3/include/wx/list.h wxWidgets-2.6.3.3/include/wx/list.h
--- wxWidgets-2.6.3/include/wx/list.h 2006-01-18 03:33:59.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/list.h 2006-07-01 21:27:37.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by: VZ at 16/11/98: WX_DECLARE_LIST() and typesafe lists added
// Created: 29/01/98
-// RCS-ID: $Id: list.h,v 1.93.2.2 2006/01/18 08:33:59 JS Exp $
+// RCS-ID: $Id: list.h,v 1.93.2.3 2006/07/02 01:27:37 VZ Exp $
// Copyright: (c) 1998 Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -178,7 +178,9 @@
const compatibility_iterator* operator->() const { return this; } \
\
bool operator==(const compatibility_iterator& i) const \
- { return (m_list == i.m_list) && (m_iter == i.m_iter); } \
+ { return (m_list == i.m_list) && (m_iter == i.m_iter) \
+ || !m_list && (i.m_iter == i.m_list->end()) \
+ || !i.m_list && (m_iter == m_list->end()); } \
bool operator!=(const compatibility_iterator& i) const \
{ return !( operator==( i ) ); } \
operator bool() const \
@@ -199,7 +201,8 @@
compatibility_iterator GetPrevious() const \
{ \
iterator i = m_iter; \
- return compatibility_iterator( m_list, --i ); \
+ i != m_list->begin() ? --i : i = m_list->end(); \
+ return compatibility_iterator( m_list, i ); \
} \
int IndexOf() const \
{ \
diff -ur wxWidgets-2.6.3/include/wx/metafile.h wxWidgets-2.6.3.3/include/wx/metafile.h
--- wxWidgets-2.6.3/include/wx/metafile.h 2005-08-19 09:48:19.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/metafile.h 2006-06-26 10:37:34.000000000 -0400
@@ -4,7 +4,7 @@
// Author: wxWidgets team
// Modified by:
// Created: 13.01.00
-// RCS-ID: $Id: metafile.h,v 1.14 2005/08/19 13:48:19 MW Exp $
+// RCS-ID: $Id: metafile.h,v 1.14.2.1 2006/06/26 14:37:34 VZ Exp $
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -28,16 +28,19 @@
#if defined(__WXPALMOS__)
#include "wx/palmos/enhmeta.h"
#else
- #include "wx/msw/enhmeta.h"
+ #include "wx/msw/enhmeta.h"
#endif
- // map all metafile classes to enh metafile
- #if !wxUSE_WIN_METAFILES_ALWAYS
+ #if wxUSE_WIN_METAFILES_ALWAYS
+ // use normal metafiles as well
+ #include "wx/msw/metafile.h"
+ #else // also map all metafile classes to enh metafile
typedef wxEnhMetaFile wxMetafile;
typedef wxEnhMetaFileDC wxMetafileDC;
-#if wxUSE_DRAG_AND_DROP
- typedef wxEnhMetaFileDataObject wxMetafileDataObject;
-#endif
+ #if wxUSE_DRAG_AND_DROP
+ typedef wxEnhMetaFileDataObject wxMetafileDataObject;
+ #endif
+
// this flag will be set if wxMetafile class is wxEnhMetaFile
#define wxMETAFILE_IS_ENH
#endif // wxUSE_WIN_METAFILES_ALWAYS
@@ -45,8 +48,8 @@
#if defined(__WXPALMOS__)
#include "wx/palmos/metafile.h"
#else
- #include "wx/msw/metafile.h"
- #endif
+ #include "wx/msw/metafile.h"
+ #endif
#endif
#elif defined(__WXPM__)
#include "wx/os2/metafile.h"
@@ -55,5 +58,5 @@
#endif
#endif // wxUSE_METAFILE
-#endif
- // _WX_METAFILE_H_BASE_
+
+#endif // _WX_METAFILE_H_BASE_
diff -ur wxWidgets-2.6.3/include/wx/notebook.h wxWidgets-2.6.3.3/include/wx/notebook.h
--- wxWidgets-2.6.3/include/wx/notebook.h 2005-06-26 11:46:08.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/notebook.h 2006-04-19 05:33:32.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 01.02.01
-// RCS-ID: $Id: notebook.h,v 1.53 2005/06/26 15:46:08 RR Exp $
+// RCS-ID: $Id: notebook.h,v 1.53.2.1 2006/04/19 09:33:32 RL Exp $
// Copyright: (c) 1996-2000 Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -95,12 +95,14 @@
virtual wxColour GetThemeBackgroundColour() const { return wxNullColour; }
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedNotebookFunc1() {}
virtual void ReservedNotebookFunc2() {}
virtual void ReservedNotebookFunc3() {}
virtual void ReservedNotebookFunc4() {}
virtual void ReservedNotebookFunc5() {}
+#endif
protected:
DECLARE_NO_COPY_CLASS(wxNotebookBase)
diff -ur wxWidgets-2.6.3/include/wx/object.h wxWidgets-2.6.3.3/include/wx/object.h
--- wxWidgets-2.6.3/include/wx/object.h 2005-07-22 12:56:23.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/object.h 2006-04-19 05:33:33.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by: Ron Lee
// Created: 01/02/97
-// RCS-ID: $Id: object.h,v 1.119 2005/07/22 16:56:23 ABX Exp $
+// RCS-ID: $Id: object.h,v 1.119.2.1 2006/04/19 09:33:33 RL Exp $
// Copyright: (c) 1997 Julian Smart
// (c) 2001 Ron Lee <ron@debian.org>
// Licence: wxWindows licence
@@ -469,6 +469,7 @@
void UnRef();
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedObjectFunc1() {}
virtual void ReservedObjectFunc2() {}
@@ -479,6 +480,7 @@
virtual void ReservedObjectFunc7() {}
virtual void ReservedObjectFunc8() {}
virtual void ReservedObjectFunc9() {}
+#endif
protected:
// ensure that our data is not shared with anybody else: if we have no
diff -ur wxWidgets-2.6.3/include/wx/platform.h wxWidgets-2.6.3.3/include/wx/platform.h
--- wxWidgets-2.6.3/include/wx/platform.h 2006-01-18 05:25:00.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/platform.h 2006-05-19 12:57:07.000000000 -0400
@@ -4,7 +4,7 @@
* Author: Vadim Zeitlin
* Modified by:
* Created: 29.10.01 (extracted from wx/defs.h)
-* RCS-ID: $Id: platform.h,v 1.81.2.3 2006/01/18 10:25:00 JS Exp $
+* RCS-ID: $Id: platform.h,v 1.81.2.4 2006/05/19 16:57:07 PC Exp $
* Copyright: (c) 1997-2001 Vadim Zeitlin
* Licence: wxWindows licence
*/
@@ -513,10 +513,13 @@
... no gcc at all or gcc < 3.1 ...
# endif
*/
-#define wxCHECK_GCC_VERSION( major, minor ) \
- ( defined(__GNUC__) && defined(__GNUC_MINOR__) \
- && ( ( __GNUC__ > (major) ) \
- || ( __GNUC__ == (major) && __GNUC_MINOR__ >= (minor) ) ) )
+#if defined(__GNUC__) && defined(__GNUC_MINOR__)
+ #define wxCHECK_GCC_VERSION( major, minor ) \
+ ( ( __GNUC__ > (major) ) \
+ || ( __GNUC__ == (major) && __GNUC_MINOR__ >= (minor) ) )
+#else
+ #define wxCHECK_GCC_VERSION( major, minor ) 0
+#endif
/*
This macro can be used to check that the version of mingw32 compiler is
diff -ur wxWidgets-2.6.3/include/wx/prntbase.h wxWidgets-2.6.3.3/include/wx/prntbase.h
--- wxWidgets-2.6.3/include/wx/prntbase.h 2005-07-28 18:20:05.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/prntbase.h 2006-06-28 08:56:04.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
-// RCS-ID: $Id: prntbase.h,v 1.45 2005/07/28 22:20:05 VZ Exp $
+// RCS-ID: $Id: prntbase.h,v 1.45.2.1 2006/06/28 12:56:04 JS Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -571,6 +571,9 @@
virtual void AdjustScrollbars(wxPreviewCanvas *canvas);
virtual bool RenderPage(int pageNum);
virtual void SetZoom(int percent);
+#if wxABI_VERSION >= 20604
+ virtual int GetZoom() const;
+#endif
virtual bool Print(bool interactive);
virtual void DetermineScaling();
diff -ur wxWidgets-2.6.3/include/wx/rawbmp.h wxWidgets-2.6.3.3/include/wx/rawbmp.h
--- wxWidgets-2.6.3/include/wx/rawbmp.h 2006-01-26 07:26:37.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/rawbmp.h 2006-05-29 13:54:54.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Eric Kidd, Vadim Zeitlin
// Modified by:
// Created: 10.03.03
-// RCS-ID: $Id: rawbmp.h,v 1.30.2.1 2006/01/26 12:26:37 RR Exp $
+// RCS-ID: $Id: rawbmp.h,v 1.30.2.2 2006/05/29 17:54:54 MW Exp $
// Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -71,7 +71,7 @@
}
*/
-#ifdef __VISUALC__
+#if defined __VISUALC__ && __VISUALC__ >= 1200
// VC++ gives an absolutely harmless warning for wxPixelData<wxBitmap> ctor
#pragma warning(push)
#pragma warning(disable: 4355) // 'this' used in initializer list
@@ -717,7 +717,7 @@
{
};
-#ifdef __VISUALC__
+#if defined __VISUALC__ && __VISUALC__ >= 1200
#pragma warning(pop)
#endif
diff -ur wxWidgets-2.6.3/include/wx/setup_inc.h wxWidgets-2.6.3.3/include/wx/setup_inc.h
--- wxWidgets-2.6.3/include/wx/setup_inc.h 2005-07-29 20:36:30.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/setup_inc.h 2006-04-19 10:36:49.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created:
-// RCS-ID: $Id: setup_inc.h,v 1.24 2005/07/30 00:36:30 VZ Exp $
+// RCS-ID: $Id: setup_inc.h,v 1.24.2.1 2006/04/19 14:36:49 RL Exp $
// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -41,6 +41,14 @@
// Recommended setting: 0 (please update your code)
#define WXWIN_COMPATIBILITY_2_4 1
+// This setting controls the inclusion of reserved virtual functions
+// that were introduced just prior to the 2.6 freeze but have been
+// removed again for 2.7+
+//
+// Default is 1, typically you should not change it unless you know
+// exactly why you don't want them included.
+#define WX_USE_RESERVED_VIRTUALS 1
+
// MSW-only: Set to 0 for accurate dialog units, else 1 for old behaviour when
// default system font is used for wxWindow::GetCharWidth/Height() instead of
// the current font.
diff -ur wxWidgets-2.6.3/include/wx/stream.h wxWidgets-2.6.3.3/include/wx/stream.h
--- wxWidgets-2.6.3/include/wx/stream.h 2005-06-26 11:46:08.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/stream.h 2006-04-19 05:33:33.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Guilhem Lavaux, Guillermo Rodriguez Garcia, Vadim Zeitlin
// Modified by:
// Created: 11/07/98
-// RCS-ID: $Id: stream.h,v 1.71 2005/06/26 15:46:08 RR Exp $
+// RCS-ID: $Id: stream.h,v 1.71.2.1 2006/04/19 09:33:33 RL Exp $
// Copyright: (c) Guilhem Lavaux
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -95,6 +95,7 @@
#endif // WXWIN_COMPATIBILITY_2_2
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedStreamFunc1() {}
virtual void ReservedStreamFunc2() {}
@@ -105,6 +106,7 @@
virtual void ReservedStreamFunc7() {}
virtual void ReservedStreamFunc8() {}
virtual void ReservedStreamFunc9() {}
+#endif
protected:
virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
diff -ur wxWidgets-2.6.3/include/wx/string.h wxWidgets-2.6.3.3/include/wx/string.h
--- wxWidgets-2.6.3/include/wx/string.h 2005-12-15 14:26:27.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/string.h 2006-07-06 06:29:58.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 29/01/98
-// RCS-ID: $Id: string.h,v 1.206.2.3 2005/12/15 19:26:27 VZ Exp $
+// RCS-ID: $Id: string.h,v 1.206.2.4 2006/07/06 10:29:58 ABX Exp $
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -299,6 +299,53 @@
typedef value_type *iterator;
typedef const value_type *const_iterator;
+#if wxABI_VERSION >= 20604
+
+#define wxSTRING_REVERSE_ITERATOR(name, const_or_not) \
+ class name \
+ { \
+ public: \
+ typedef wxChar value_type; \
+ typedef const_or_not value_type& reference; \
+ typedef const_or_not value_type *pointer; \
+ typedef const_or_not value_type *iterator_type; \
+ \
+ name(iterator_type i) : m_cur(i) { } \
+ name(const name& ri) : m_cur(ri.m_cur) { } \
+ \
+ iterator_type base() const { return m_cur; } \
+ \
+ reference operator*() const { return *(m_cur - 1); } \
+ \
+ name& operator++() { --m_cur; return *this; } \
+ name operator++(int) { name tmp = *this; --m_cur; return tmp; } \
+ name& operator--() { ++m_cur; return *this; } \
+ name operator--(int) { name tmp = *this; ++m_cur; return tmp; } \
+ \
+ bool operator==(name ri) const { return m_cur == ri.m_cur; } \
+ bool operator!=(name ri) const { return !(*this == ri); } \
+ \
+ private: \
+ iterator_type m_cur; \
+ }
+
+ wxSTRING_REVERSE_ITERATOR(const_reverse_iterator, const);
+
+ #define wxSTRING_CONST
+ wxSTRING_REVERSE_ITERATOR(reverse_iterator, wxSTRING_CONST);
+ #undef wxSTRING_CONST
+
+ #undef wxSTRING_REVERSE_ITERATOR
+
+ // first element of the reversed string
+ const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
+ reverse_iterator rbegin() { return reverse_iterator(end()); }
+ // one beyond the end of the reversed string
+ const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
+ reverse_iterator rend() { return reverse_iterator(begin()); }
+
+#endif // ABI >= 2.6.4
+
// constructors and destructor
// ctor for an empty string
wxStringBase() { Init(); }
diff -ur wxWidgets-2.6.3/include/wx/tglbtn.h wxWidgets-2.6.3.3/include/wx/tglbtn.h
--- wxWidgets-2.6.3/include/wx/tglbtn.h 2005-05-04 14:52:05.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/tglbtn.h 2006-05-23 13:53:50.000000000 -0400
@@ -5,7 +5,7 @@
// Author: John Norris, minor changes by Axel Schlueter
// Modified by:
// Created: 08.02.01
-// RCS-ID: $Id: tglbtn.h,v 1.11 2005/05/04 18:52:05 JS Exp $
+// RCS-ID: $Id: tglbtn.h,v 1.11.2.1 2006/05/23 17:53:50 JS Exp $
// Copyright: (c) 2000 Johnny C. Norris II
// License: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
@@ -27,7 +27,9 @@
#define EVT_TOGGLEBUTTON(id, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, id, wxCommandEventHandler(fn))
-#if defined(__WXMSW__)
+#if defined(__WXUNIVERSAL__)
+ #include "wx/univ/tglbtn.h"
+#elif defined(__WXMSW__)
#include "wx/msw/tglbtn.h"
#elif defined(__WXGTK__)
#include "wx/gtk/tglbtn.h"
diff -ur wxWidgets-2.6.3/include/wx/toplevel.h wxWidgets-2.6.3.3/include/wx/toplevel.h
--- wxWidgets-2.6.3/include/wx/toplevel.h 2005-06-26 11:46:08.000000000 -0400
+++ wxWidgets-2.6.3.3/include/wx/toplevel.h 2006-04-19 05:33:33.000000000 -0400
@@ -5,7 +5,7 @@
// Author: Vadim Zeitlin, Vaclav Slavik
// Modified by:
// Created: 06.08.01
-// RCS-ID: $Id: toplevel.h,v 1.53 2005/06/26 15:46:08 RR Exp $
+// RCS-ID: $Id: toplevel.h,v 1.53.2.1 2006/04/19 09:33:33 RL Exp $
// Copyright: (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Vaclav Slavik <vaclav@wxwidgets.org>
// Licence: wxWindows licence
@@ -206,6 +206,7 @@
// do the window-specific processing after processing the update event
virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedTopLevelWindowFunc1() {}
virtual void ReservedTopLevelWindowFunc2() {}
@@ -216,6 +217,7 @@
virtual void ReservedTopLevelWindowFunc7() {}
virtual void ReservedTopLevelWindowFunc8() {}
virtual void ReservedTopLevelWindowFunc9() {}
+#endif
protected:
// the frame client to screen translation should take account of the
diff -ur wxWidgets-2.6.3/include/wx/version.h wxWidgets-2.6.3.3/include/wx/version.h
--- wxWidgets-2.6.3/include/wx/version.h 2006-01-18 05:25:00.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/version.h 2006-05-02 22:25:43.000000000 -0400
@@ -4,7 +4,7 @@
* Author: Julian Smart
* Modified by: Ryan Norton (Converted to C)
* Created: 29/01/98
-* RCS-ID: $Id: version.h,v 1.69.2.2 2006/01/18 10:25:00 JS Exp $
+* RCS-ID: $Id: version.h,v 1.69.2.4 2006/05/03 02:25:43 RD Exp $
* Copyright: (c) 1998 Julian Smart
* Licence: wxWindows licence
*/
@@ -22,7 +22,7 @@
#define wxMAJOR_VERSION 2
#define wxMINOR_VERSION 6
#define wxRELEASE_NUMBER 3
-#define wxSUBRELEASE_NUMBER 0
+#define wxSUBRELEASE_NUMBER 3
#define wxVERSION_STRING _T("wxWidgets 2.6.3")
/* nothing to update below this line when updating the version */
diff -ur wxWidgets-2.6.3/include/wx/window.h wxWidgets-2.6.3.3/include/wx/window.h
--- wxWidgets-2.6.3/include/wx/window.h 2006-01-30 23:02:41.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/window.h 2006-04-19 05:33:34.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by: Ron Lee
// Created: 01/02/97
-// RCS-ID: $Id: window.h,v 1.189.2.2 2006/01/31 04:02:41 RD Exp $
+// RCS-ID: $Id: window.h,v 1.189.2.3 2006/04/19 09:33:34 RL Exp $
// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -1073,6 +1073,7 @@
// behaviour in the most common case
virtual bool ShouldInheritColours() const { return false; }
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
virtual void ReservedWindowFunc1() {}
virtual void ReservedWindowFunc2() {}
@@ -1083,6 +1084,7 @@
virtual void ReservedWindowFunc7() {}
virtual void ReservedWindowFunc8() {}
virtual void ReservedWindowFunc9() {}
+#endif
protected:
// event handling specific to wxWindow
@@ -1316,8 +1318,10 @@
// implements the window variants
virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
void* m_windowReserved;
+#endif
private:
// contains the last id generated by NewControlId
diff -ur wxWidgets-2.6.3/include/wx/wx_cw_cm.h wxWidgets-2.6.3.3/include/wx/wx_cw_cm.h
--- wxWidgets-2.6.3/include/wx/wx_cw_cm.h 2006-01-18 09:12:23.000000000 -0500
+++ wxWidgets-2.6.3.3/include/wx/wx_cw_cm.h 2006-05-09 10:30:49.000000000 -0400
@@ -4,7 +4,7 @@
Author: Stefan Csomor
Modified by:
Created:
- RCS-ID: $Id: wx_cw_cm.h,v 1.22.2.1 2006/01/18 14:12:23 JS Exp $
+ RCS-ID: $Id: wx_cw_cm.h,v 1.22.2.2 2006/05/09 14:30:49 VZ Exp $
Copyright: (c) Stefan Csomor
Licence: wxWindows licence
*/
@@ -19,7 +19,9 @@
#error "this file is only for builds with Metrowerks CodeWarrior"
#endif
-#define WX_COMP_INLINE_NO_CLASS // defined if the compiler does not want the classname repeated for inlines within a class definition
+// defined if the compiler does not want the classname repeated for inlines
+// within a class definition
+#define WX_COMP_INLINE_NO_CLASS
#if __MWERKS__ >= 0x2400 && __MWERKS__ < 0x3200
#pragma old_argmatch on
@@ -55,22 +57,23 @@
#endif
#endif
#elif defined( __WXMAC__)
- #define USE_PRECOMPILED_MAC_HEADERS 0 /*Set to 0 if you don't want to use precompiled MacHeaders*/
+ /* Set to 0 if you don't want to use precompiled MacHeaders */
+ #define USE_PRECOMPILED_MAC_HEADERS 0
#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
#define OPAQUE_TOOLBOX_STRUCTS 1
-
- /*CW9 has mbstate_t*/
- #if defined(__MACH__) && __MWERKS__ < 0x3200
- typedef int mbstate_t;
- #define _MBSTATE_T
+
+ /* CW8.3+ has mbstate_t */
+ #if defined(__MACH__) && __MWERKS__ < 0x3003
+ typedef int mbstate_t;
+ #define _MBSTATE_T
#endif
-
- /*CW9 has ssize_t*/
+
+ /* CW9 has ssize_t */
#if defined(__MACH__) && __MWERKS__ >= 0x3200
#define HAVE_SSIZE_T
- #endif
-
- #include <mslconfig>
+ #endif
+
+ #include <mslconfig>
// for getting the correct expat includes
#define MACOS_CLASSIC
/*
diff -ur wxWidgets-2.6.3/locale/de.po wxWidgets-2.6.3.3/locale/de.po
--- wxWidgets-2.6.3/locale/de.po 2005-08-21 12:02:08.000000000 -0400
+++ wxWidgets-2.6.3.3/locale/de.po 2006-04-16 00:13:50.000000000 -0400
@@ -13,21 +13,22 @@
#: ../src/common/debugrpt.cpp:569
#, c-format
msgid "\t%s: %s\n"
-msgstr ""
+msgstr "\t%s: %s\n"
#: ../src/common/debugrpt.cpp:572
msgid ""
"\n"
"Please send this report to the program maintainer, thank you!\n"
msgstr ""
+"Senden Sie bitte diesen Bericht an den Programmbetreuer. Vielen Dank!\n"
#: ../src/palmos/utils.cpp:206
msgid " "
-msgstr ""
+msgstr " "
#: ../src/generic/dbgrptg.cpp:312
msgid " Thank you and we're sorry for the inconvenience!\n"
-msgstr ""
+msgstr " Vielen Dank und entschuldigen Sie die Unannehmlichkeiten!\n"
#: ../src/common/log.cpp:321
#, c-format
@@ -113,23 +114,23 @@
#: ../contrib/src/deprecated/resource.cpp:2390
#, c-format
msgid "%s not a bitmap resource specification."
-msgstr "%s gibt keine Quelle für eine Bitmap-Graphik an."
+msgstr "%s gibt keine Quelle für eine Bitmap-Grafik an."
#: ../contrib/src/deprecated/resource.cpp:2544
#, c-format
msgid "%s not an icon resource specification."
-msgstr "%s gibt keine Quelle für eine Icon-Graphik an."
+msgstr "%s gibt keine Quelle für eine Icon-Grafik an."
#: ../contrib/src/deprecated/resource.cpp:1901
#: ../contrib/src/deprecated/resource.cpp:2030
#: ../contrib/src/deprecated/resource.cpp:3123
#, c-format
msgid "%s: ill-formed resource file syntax."
-msgstr "%s: inkorrekter Syntax der Resource-Datei."
+msgstr "%s: inkorrekte Syntax der Ressourcen-Datei."
#: ../src/html/helpfrm.cpp:357 ../src/html/helpfrm.cpp:359
msgid "&About..."
-msgstr "Übe&r..."
+msgstr "Übe&r ..."
#: ../src/common/stockitem.cpp:153
msgid "&Actual Size"
@@ -176,7 +177,7 @@
#: ../src/generic/dbgrptg.cpp:320
msgid "&Debug report preview:"
-msgstr ""
+msgstr "Voransicht des Fehlerberichts:"
#: ../src/common/stockitem.cpp:115 ../src/mac/carbon/textctrl.cpp:1076
#: ../src/msw/textctrl.cpp:2066
@@ -261,9 +262,8 @@
msgstr "&Nein"
#: ../src/generic/dbgrptg.cpp:342
-#, fuzzy
msgid "&Notes:"
-msgstr "&Nein"
+msgstr "&Hinweise:"
#: ../src/common/stockitem.cpp:133 ../src/generic/fontdlgg.cpp:368
#: ../src/generic/fontdlgg.cpp:375
@@ -272,11 +272,11 @@
#: ../src/common/stockitem.cpp:134
msgid "&Open"
-msgstr "&Öffnen..."
+msgstr "&Öffnen ..."
#: ../src/html/helpfrm.cpp:352
msgid "&Open..."
-msgstr "Öffnen..."
+msgstr "Öffnen ..."
#: ../src/common/stockitem.cpp:135 ../src/mac/carbon/textctrl.cpp:1075
#: ../src/msw/textctrl.cpp:2065
@@ -301,7 +301,7 @@
#: ../src/common/prntbase.cpp:880
msgid "&Print..."
-msgstr "Drucken..."
+msgstr "Drucken ..."
#: ../src/common/stockitem.cpp:139
msgid "&Properties"
@@ -335,7 +335,7 @@
#: ../src/generic/logg.cpp:505
msgid "&Save..."
-msgstr "&Sichern..."
+msgstr "&Sichern ..."
#: ../src/generic/tipdlg.cpp:238
msgid "&Show tips at startup"
@@ -445,25 +445,25 @@
#: ../src/common/debugrpt.cpp:559
msgid "*** A debug report has been generated\n"
-msgstr ""
+msgstr "*** Ein Fehlerbericht wurde erstellt.\n"
#: ../src/common/debugrpt.cpp:562
msgid "*** And includes the following files:\n"
-msgstr ""
+msgstr "*** Und beinhaltet die folgenden Dateien:\n"
#: ../src/common/debugrpt.cpp:560
#, c-format
msgid "*** It can be found in \"%s\"\n"
-msgstr ""
+msgstr "*** Sie finden ihn in \"%s\"\n"
#: ../contrib/src/deprecated/resource.cpp:1840
#: ../contrib/src/deprecated/resource.cpp:1970
#: ../contrib/src/deprecated/resource.cpp:3062
-#, fuzzy
msgid ""
", expected static, #include or #define\n"
"while parsing resource."
-msgstr "Erwarte 'char' während der Suche in einer Ressource."
+msgstr ", erwartete static, #include oder #define\n"
+"bei Abfrage einer Ressource."
#: ../src/generic/dirctrlg.cpp:683 ../src/generic/filedlgg.cpp:740
msgid "."
@@ -487,23 +487,20 @@
msgstr "11 x 17 Zoll"
#: ../src/common/paper.cpp:191
-#, fuzzy
msgid "12 x 11 in"
-msgstr "10 x 14 Zoll"
+msgstr "12 x 11 Zoll"
#: ../src/common/paper.cpp:148
-#, fuzzy
msgid "15 x 11 in"
-msgstr "10 x 14 Zoll"
+msgstr "15 x 11 Zoll"
#: ../src/common/paper.cpp:139
msgid "6 3/4 Envelope, 3 5/8 x 6 1/2 in"
msgstr "6 3/4 Umschlag, 3 5/8 x 6 1/2 Zoll"
#: ../src/common/paper.cpp:146
-#, fuzzy
msgid "9 x 11 in"
-msgstr "11 x 17 Zoll"
+msgstr "9 x 11 Zoll"
#: ../src/html/htmprint.cpp:309
msgid ": file does not exist!"
@@ -563,7 +560,7 @@
#: ../src/generic/dbgrptg.cpp:304
msgid "A debug report has been generated in the directory\n"
-msgstr ""
+msgstr "Fehlerbericht wurde erstellt im Verzeichnis\n"
#: ../src/common/xtixml.cpp:409
msgid "A non empty collection must consist of 'element' nodes"
@@ -574,24 +571,20 @@
msgstr ""
#: ../src/common/paper.cpp:163
-#, fuzzy
msgid "A3 Extra 322 x 445 mm"
-msgstr "C3 Umschlag, 324 x 458 mm"
+msgstr "A3 Extra, 322 x 445 mm"
#: ../src/common/paper.cpp:168
-#, fuzzy
msgid "A3 Extra Transverse 322 x 445 mm"
-msgstr "C3 Umschlag, 324 x 458 mm"
+msgstr "A3 Extra quer, 322 x 445 mm"
#: ../src/common/paper.cpp:177
-#, fuzzy
msgid "A3 Rotated 420 x 297 mm"
-msgstr "A4 Blatt, 210 x 297 mm"
+msgstr "A3 gedreht, 420 x 297 mm"
#: ../src/common/paper.cpp:167
-#, fuzzy
msgid "A3 Transverse 297 x 420 mm"
-msgstr "A3 Blatt, 297 x 420 mm"
+msgstr "A3 quer, 297 x 420 mm"
#: ../src/common/paper.cpp:113
msgid "A3 sheet, 297 x 420 mm"
@@ -602,19 +595,16 @@
msgstr ""
#: ../src/common/paper.cpp:160
-#, fuzzy
msgid "A4 Plus 210 x 330 mm"
-msgstr "A4 Blatt, 210 x 297 mm"
+msgstr "A4 Plus, 210 x 330 mm"
#: ../src/common/paper.cpp:178
-#, fuzzy
msgid "A4 Rotated 297 x 210 mm"
-msgstr "A3 Blatt, 297 x 420 mm"
+msgstr "A4 gedreht, 297 x 210 mm"
#: ../src/common/paper.cpp:155
-#, fuzzy
msgid "A4 Transverse 210 x 297 mm"
-msgstr "A4 Blatt, 210 x 297 mm"
+msgstr "A4 quer, 210 x 297 mm"
#: ../src/common/paper.cpp:104
msgid "A4 sheet, 210 x 297 mm"
@@ -622,35 +612,31 @@
#: ../src/common/paper.cpp:114
msgid "A4 small sheet, 210 x 297 mm"
-msgstr "A4 klein Blatt, 210 x 297 mm"
+msgstr "A4 kleines Blatt, 210 x 297 mm"
#: ../src/common/paper.cpp:164
-#, fuzzy
msgid "A5 Extra 174 x 235 mm"
-msgstr "A4 Blatt, 148 x 210 mm"
+msgstr "A5 extra, 174 x 235 mm"
#: ../src/common/paper.cpp:179
msgid "A5 Rotated 210 x 148 mm"
-msgstr ""
+msgstr "A5 gedreht, 210 x 148 mm"
#: ../src/common/paper.cpp:161
-#, fuzzy
msgid "A5 Transverse 148 x 210 mm"
-msgstr "A4 Blatt, 148 x 210 mm"
+msgstr "A5 quer, 148 x 210 mm"
#: ../src/common/paper.cpp:115
msgid "A5 sheet, 148 x 210 mm"
-msgstr "A4 Blatt, 148 x 210 mm"
+msgstr "A5 Blatt, 148 x 210 mm"
#: ../src/common/paper.cpp:171
-#, fuzzy
msgid "A6 105 x 148 mm"
-msgstr "10 x 14 Zoll"
+msgstr "A6 105 x 148 mm"
#: ../src/common/paper.cpp:184
-#, fuzzy
msgid "A6 Rotated 148 x 105 mm"
-msgstr "A4 Blatt, 148 x 210 mm"
+msgstr "A6 gedreht, 148 x 105 mm"
#: ../src/generic/fontdlgg.cpp:87
msgid "ABCDEFGabcdefg12345"
@@ -666,7 +652,7 @@
#: ../src/html/helpfrm.cpp:444
msgid "Add current page to bookmarks"
-msgstr "Aktuelle HTLM-Seite den Lesezeichen hinzufügen"
+msgstr "Aktuelle Seite den Lesezeichen hinzufügen"
#: ../src/generic/colrdlgg.cpp:299
msgid "Add to custom colours"
@@ -740,13 +726,12 @@
msgstr "Eigenschaften"
#: ../src/common/paper.cpp:144
-#, fuzzy
msgid "B4 (ISO) 250 x 353 mm"
-msgstr "B4 Blatt, 250 x 354 mm"
+msgstr "B4 (ISO), 250 x 353 mm"
#: ../src/common/paper.cpp:180
msgid "B4 (JIS) Rotated 364 x 257 mm"
-msgstr ""
+msgstr "B4 (JIS) gedreht, 364 x 257 mm"
#: ../src/common/paper.cpp:134
msgid "B4 Envelope, 250 x 353 mm"
@@ -758,16 +743,15 @@
#: ../src/common/paper.cpp:165
msgid "B5 (ISO) Extra 201 x 276 mm"
-msgstr ""
+msgstr "B5 (ISO) extra, 201 x 276 mm"
#: ../src/common/paper.cpp:181
msgid "B5 (JIS) Rotated 257 x 182 mm"
-msgstr ""
+msgstr "B5 (JIS) gedreht, 257 x 182 mm"
#: ../src/common/paper.cpp:162
-#, fuzzy
msgid "B5 (JIS) Transverse 182 x 257 mm"
-msgstr "B5 Blatt, 182 x 257 mm"
+msgstr "B5 (JIS) quer, 182 x 257 mm"
#: ../src/common/paper.cpp:135
msgid "B5 Envelope, 176 x 250 mm"
@@ -779,11 +763,11 @@
#: ../src/common/paper.cpp:189
msgid "B6 (JIS) 128 x 182 mm"
-msgstr ""
+msgstr "B6 (JIS), 128 y 182 mm"
#: ../src/common/paper.cpp:190
msgid "B6 (JIS) Rotated 182 x 128 mm"
-msgstr ""
+msgstr "B6 (JIS) gedreht, 182 x 128 mm"
#: ../src/common/paper.cpp:136
msgid "B6 Envelope, 176 x 125 mm"
@@ -795,7 +779,7 @@
#: ../src/common/imagbmp.cpp:94
msgid "BMP: Couldn't save invalid image."
-msgstr "BMP: Konnte ungültige Format nicht sichern."
+msgstr "BMP: Konnte ungültiges Image nicht sichern."
#: ../src/common/imagbmp.cpp:298
msgid "BMP: Couldn't write RGB color map."
@@ -1148,7 +1132,7 @@
#: ../src/html/helpdata.cpp:312
#, c-format
msgid "Cannot open contents file: %s"
-msgstr "Kann den Inhalt der Datei %s nicht öffnen!"
+msgstr "Kann den Inhaltsdatei %s nicht öffnen!"
#: ../src/xrc/xmlres.cpp:421
#, c-format
@@ -1198,9 +1182,8 @@
msgstr "Kann 'Thread' nicht starten : Fehler beim 'TLS' schreiben"
#: ../src/mac/carbon/mpthread.cpp:977 ../src/mac/carbon/thread.cpp:1174
-#, fuzzy
msgid "Cannot wait for thread termination."
-msgstr "Kann nicht auf Threadende warten"
+msgstr "Kann nicht auf Beendigung des Threads warten"
#: ../src/mac/carbon/mpthread.cpp:893 ../src/mac/carbon/thread.cpp:1082
msgid "Cant create the thread event queue"
@@ -1293,7 +1276,7 @@
#: ../src/html/htmlwin.cpp:386
msgid "Connecting..."
-msgstr "Verbinde..."
+msgstr "Verbinde ..."
#: ../src/html/helpfrm.cpp:476
msgid "Contents"
@@ -1325,9 +1308,9 @@
#: ../contrib/src/deprecated/resource.cpp:1830
#: ../contrib/src/deprecated/resource.cpp:1960
-#, fuzzy, c-format
+#, c-format
msgid "Could not find resource include file %s."
-msgstr "Konnte Datei %s nicht finden."
+msgstr "Konnte 'resource include'-Datei %s nicht finden."
#: ../src/generic/tabg.cpp:1048
msgid "Could not find tab for id"
@@ -1344,6 +1327,8 @@
"Could not resolve control class or id '%s'. Use (non-zero) integer instead\n"
" or provide #define (see manual for caveats)"
msgstr ""
+"Konnte Kontroll-Klasse oder ID '%s' nicht auflösen. Benutzen Sie statt dessen\n"
+"einen Integer (nicht Null) oder #define (siehe Handbuch für Widersprüche)"
#: ../contrib/src/deprecated/resource.cpp:1278
#, c-format
@@ -1351,6 +1336,8 @@
"Could not resolve menu id '%s'. Use (non-zero) integer instead\n"
"or provide #define (see manual for caveats)"
msgstr ""
+"Konnte Menü-ID '%s' nicht auflösen. Benutzen Sie statt dessen\n"
+"einen Integer (nicht Null) oder #define (siehe Handbuch für Widersprüche)"
#: ../src/common/prntbase.cpp:1272
msgid "Could not start document preview."
@@ -1497,16 +1484,15 @@
#: ../src/generic/dbgrptg.cpp:295
#, c-format
msgid "Debug report \"%s\""
-msgstr ""
+msgstr "Fehlerbericht \"%s\""
#: ../src/common/debugrpt.cpp:203
-#, fuzzy
msgid "Debug report couldn't be created."
-msgstr "Verzeichnis '%s' konnte nicht angelegt werden."
+msgstr "Fehlerbericht konnte nicht erstellt werden."
#: ../src/common/debugrpt.cpp:539
msgid "Debug report generation has failed."
-msgstr ""
+msgstr "Erstellung des Fehlerberichts fehlgeschlagen."
#: ../src/generic/fontdlgg.cpp:227
msgid "Decorative"
@@ -1517,9 +1503,8 @@
msgstr "Standard Kodierung"
#: ../src/generic/prntdlgg.cpp:506
-#, fuzzy
msgid "Default printer"
-msgstr "Standard Kodierung"
+msgstr "Standard-Drucker"
#: ../contrib/src/gizmos/editlbox.cpp:160
msgid "Delete item"
@@ -1532,7 +1517,7 @@
#: ../src/generic/dirctrlg.cpp:656
msgid "Desktop"
-msgstr ""
+msgstr "Desktop"
#: ../src/msw/dialup.cpp:395
msgid ""
@@ -1548,9 +1533,8 @@
msgstr "Wussten Sie schon..."
#: ../src/motif/filedlg.cpp:225
-#, fuzzy
msgid "Directories"
-msgstr "Dekorativ"
+msgstr "Verzeichnisse"
#: ../src/common/filefn.cpp:1177
#, c-format
@@ -1593,7 +1577,7 @@
msgstr ""
"Wollen Sie den Befehl zum %s von Dateien mit der Erweiterung \"%s\" "
"ändern ?\n"
-"Aktueller Wert ist;\n"
+"Aktueller Wert ist \n"
"%s,\n"
"Neuer Wert ist\n"
"%s %1"
@@ -1605,7 +1589,7 @@
#: ../src/common/sizer.cpp:1839
msgid "Don't Save"
-msgstr ""
+msgstr "Nicht speichern"
#: ../src/html/htmlwin.cpp:451 ../src/msw/frame.cpp:211
msgid "Done"
@@ -1617,7 +1601,7 @@
#: ../src/common/paper.cpp:183
msgid "Double Japanese Postcard Rotated 148 x 200 mm"
-msgstr ""
+msgstr "Doppelte japanische Postkarte, gedreht, 148 x 200 mm"
#: ../src/common/xtixml.cpp:271
#, c-format
@@ -1646,25 +1630,24 @@
msgstr "Geben Sie eine Zahl zwischen %d und %d ein:"
#: ../src/generic/dbgrptg.cpp:169
-#, fuzzy, c-format
+#, c-format
msgid "Enter command to open file \"%s\":"
-msgstr "Kann Datei '%s' nicht öffnen"
+msgstr "Befehl eingeben zum Öffnen der Datei '%s':"
#: ../src/generic/helpext.cpp:443
msgid "Entries found"
msgstr "Einträge gefunden"
#: ../src/common/paper.cpp:149
-#, fuzzy
msgid "Envelope Invite 220 x 220 mm"
-msgstr "DL Umschlag, 110 x 220 mm"
+msgstr "Umschlag Einladung, 220 x 220 mm"
#: ../src/common/config.cpp:384
-#, fuzzy, c-format
+#, c-format
msgid ""
"Environment variables expansion failed: missing '%c' at position %u in '%s'."
msgstr ""
-"Einstzen der Umgebungsvariablen schlug fehl. Es fehlt '%c' an Position %d in "
+"Einsetzen der Umgebungsvariablen schlug fehl. Es fehlt '%c' an Position %d in "
"'%s'."
#: ../src/generic/dirctrlg.cpp:689 ../src/generic/dirctrlg.cpp:707
@@ -1711,11 +1694,11 @@
#: ../src/generic/progdlgg.cpp:202
msgid "Estimated time : "
-msgstr "Geschätzte Zeit :"
+msgstr "Geschätzte Zeit: "
#: ../src/generic/dbgrptg.cpp:229
msgid "Executable files (*.exe)|*.exe|All files (*.*)|*.*||"
-msgstr ""
+msgstr "Ausführbare Dateien (*.exe)|*.exe|Alle Dateien (*.*)|*.*||"
#: ../src/msw/utilsexc.cpp:753
#, c-format
@@ -1734,29 +1717,28 @@
#: ../contrib/src/deprecated/resource.cpp:1869
#: ../contrib/src/deprecated/resource.cpp:1999
#: ../contrib/src/deprecated/resource.cpp:3091
-#, fuzzy
msgid "Expected '*' while parsing resource."
-msgstr "Erwarte '*' während der Suche in einer Ressource."
+msgstr "Erwarte '*' beim Einlesen einer Ressource."
#: ../contrib/src/deprecated/resource.cpp:1886
#: ../contrib/src/deprecated/resource.cpp:2015
#: ../contrib/src/deprecated/resource.cpp:3108
-#, fuzzy
msgid "Expected '=' while parsing resource."
-msgstr "Erwarte '=' während der Suche in einer Ressource."
+msgstr "Erwarte '=' beim Einlesen einer Ressource."
#: ../contrib/src/deprecated/resource.cpp:1855
#: ../contrib/src/deprecated/resource.cpp:1985
#: ../contrib/src/deprecated/resource.cpp:3077
-#, fuzzy
msgid "Expected 'char' while parsing resource."
-msgstr "Erwarte 'char' während der Suche in einer Ressource."
+msgstr "Erwarte 'char' beim Einlesen einer Ressource."
#: ../src/msw/registry.cpp:1140
#, c-format
msgid ""
"Exporting registry key: file \"%s\" already exists and won't be overwritten."
msgstr ""
+"Exportieren von Registrierschlüssel: Datei '%s' besteht bereits und"
+"wird nicht überschrieben."
#: ../src/common/fmapbase.cpp:143
msgid "Extended Unix Codepage for Japanese (EUC-JP)"
@@ -1786,9 +1768,9 @@
msgstr "Änderung des Video-Modus gescheitert"
#: ../src/common/debugrpt.cpp:237
-#, fuzzy, c-format
+#, c-format
msgid "Failed to clean up debug report directory \"%s\""
-msgstr "Das Verzeichnis %s/.gnome konnte nicht erzeugt werden."
+msgstr "Fehlerbericht-Verzeichnis '%s' konnte nicht geleert werden."
#: ../src/common/filename.cpp:191
msgid "Failed to close file handle"
@@ -1830,7 +1812,7 @@
#: ../src/msw/registry.cpp:613
#, c-format
msgid "Failed to copy the registry subkey '%s' to '%s'."
-msgstr "Kopieren des Registry-Schlüssels von '%s' in '%s' gescheitert"
+msgstr "Kopieren des Registry-Unterschlüssels von '%s' in '%s' gescheitert"
#: ../src/msw/dde.cpp:989
msgid "Failed to create DDE string"
@@ -1855,16 +1837,16 @@
#: ../src/msw/dde.cpp:447
#, c-format
msgid "Failed to create connection to server '%s' on topic '%s'"
-msgstr "Aufbau der Verbindung zur Server '%s' 'on topic' '%s' gescheitert"
+msgstr "Aufbau der Verbindung zur Server '%s' bezüglich '%s' gescheitert"
#: ../src/msw/cursor.cpp:218
msgid "Failed to create cursor."
msgstr "Cursor konnte nicht erzeugt werden"
#: ../src/common/debugrpt.cpp:202
-#, fuzzy, c-format
+#, c-format
msgid "Failed to create directory \"%s\""
-msgstr "Das Verzeichnis %s/.gnome konnte nicht erzeugt werden."
+msgstr "Das Verzeichnis '%s' konnte nicht erzeugt werden."
#: ../src/unix/mimetype.cpp:370
#, c-format
@@ -1911,7 +1893,7 @@
#: ../src/msw/dde.cpp:650
msgid "Failed to establish an advise loop with DDE server"
-msgstr "Aufbau einer 'advise Schleife\" mit dem DDE Server gescheitert"
+msgstr "Aufbau einer 'advise Schleife' mit dem DDE Server gescheitert"
#: ../src/msw/dialup.cpp:658
#, c-format
@@ -1925,7 +1907,7 @@
#: ../src/common/debugrpt.cpp:666
msgid "Failed to execute curl, please install it in PATH."
-msgstr ""
+msgstr "Konnte curl nicht ausführen, installieren Sie es bitte in PATH."
#: ../contrib/src/deprecated/resource.cpp:2489
#, c-format
@@ -1933,6 +1915,8 @@
"Failed to find XBM resource %s.\n"
"Forgot to use wxResourceLoadBitmapData?"
msgstr ""
+"Konnte XBM-Ressource %s nicht finden.\n"
+"Vielleicht haben Sie vergessen, 'wxResourceLoadBitmapData' zu benutzen?"
#: ../contrib/src/deprecated/resource.cpp:2643
#, c-format
@@ -1940,6 +1924,8 @@
"Failed to find XBM resource %s.\n"
"Forgot to use wxResourceLoadIconData?"
msgstr ""
+"Konnte XBM-Ressource %s nicht finden.\n"
+"Vielleicht haben Sie vergessen, 'wxResourceLoadIconData' zu benutzen?"
#: ../contrib/src/deprecated/resource.cpp:2504
#, c-format
@@ -1947,6 +1933,8 @@
"Failed to find XPM resource %s.\n"
"Forgot to use wxResourceLoadBitmapData?"
msgstr ""
+"Konnte XPM-Ressource %s nicht finden.\n"
+"Vielleicht haben Sie vergessen, 'wxResourceLoadBitmapData' zu benutzen?"
#: ../src/msw/dialup.cpp:718
#, c-format
@@ -2005,9 +1993,9 @@
msgstr "Konnte das Bild %d aus der Datei '%s' nicht laden."
#: ../src/msw/enhmeta.cpp:84
-#, fuzzy, c-format
+#, c-format
msgid "Failed to load metafile from file \"%s\"."
-msgstr "Konnte das Bild %d aus der Datei '%s' nicht laden."
+msgstr "Konnte Metadatei aus der Datei '%s' nicht laden."
#: ../src/msw/volume.cpp:312
msgid "Failed to load mpr.dll."
@@ -2050,7 +2038,7 @@
#: ../src/common/filename.cpp:788
msgid "Failed to open temporary file."
-msgstr "Konnte vorübergehende Datei nicht öffnen."
+msgstr "Konnte temporäre Datei nicht öffnen."
#: ../src/msw/clipbrd.cpp:99
msgid "Failed to open the clipboard."
@@ -2088,14 +2076,14 @@
"Versuch gescheitert, an die Kodierung für den Zeichensatz '%s' zu erinnern."
#: ../src/common/debugrpt.cpp:220
-#, fuzzy, c-format
+#, c-format
msgid "Failed to remove debug report file \"%s\""
-msgstr "Konnte Sperr-Datei '%s' nicht löschen."
+msgstr "Konnte Fehlerbericht-Datei '%s' nicht löschen."
#: ../src/unix/snglinst.cpp:327
#, c-format
msgid "Failed to remove lock file '%s'"
-msgstr "Konnte Sperr-Datei '%s' nicht löschen."
+msgstr "Konnte Sperr-Datei '%s' nicht löschen."
#: ../src/unix/snglinst.cpp:293
#, c-format
@@ -2105,12 +2093,12 @@
#: ../src/msw/registry.cpp:464
#, c-format
msgid "Failed to rename registry value '%s' to '%s'."
-msgstr "Umbenennen des Registrieungswertes '%s' in '%s' gescheitert"
+msgstr "Umbenennen des Registrierungswertes '%s' in '%s' gescheitert"
#: ../src/msw/registry.cpp:568
#, c-format
msgid "Failed to rename the registry key '%s' to '%s'."
-msgstr "Umbenennen des Registrieungsschlüssels von '%s' in '%s' gescheitert"
+msgstr "Umbenennen des Registrierungsschlüssels von '%s' in '%s' gescheitert"
#: ../src/msw/clipbrd.cpp:503
msgid "Failed to retrieve data from the clipboard."
@@ -2174,7 +2162,7 @@
#: ../src/msw/dde.cpp:669
msgid "Failed to terminate the advise loop with DDE server"
-msgstr "Versuch gescheitert, die 'advise Schleife mit DDE-Server zu beenden."
+msgstr "Versuch gescheitert, die 'advise Schleife' mit DDE-Server zu beenden."
#: ../src/msw/dialup.cpp:955
#, c-format
@@ -2183,13 +2171,14 @@
#: ../src/common/filename.cpp:1933
#, c-format
+# see man touch
msgid "Failed to touch the file '%s'"
-msgstr "Konnte die Datei '%s' nicht 'berühren'"
+msgstr "Konnte die Datei '%s' nicht erzeugen"
#: ../src/unix/snglinst.cpp:333
#, c-format
msgid "Failed to unlock lock file '%s'"
-msgstr "Konnte die Sperrung von Datei '%s' nicht aufheben"
+msgstr "Konnte die Sperrung von Sperr-Datei '%s' nicht aufheben"
#: ../src/msw/dde.cpp:318
#, c-format
@@ -2201,9 +2190,9 @@
msgstr "Kann Benutzer-Konfigurations-Datei nicht aktualisieren."
#: ../src/common/debugrpt.cpp:679
-#, fuzzy, c-format
+#, c-format
msgid "Failed to upload the debug report (error code %d)."
-msgstr "Konnte keinen Standard Finden/Ersetzen-Dialog erstellen (Fehler %d)"
+msgstr "Konnte Fehlerbericht nicht hochladen (Fehlercode %d)."
#: ../src/unix/snglinst.cpp:173
#, c-format
@@ -2239,7 +2228,7 @@
"Do you want to replace it?"
msgstr ""
"Datei '%s' existiert bereits.\n"
-"Möchten Sie sie wirklich überschreiben?"
+"Möchten Sie sie wirklich ersetzen?"
#: ../src/common/textcmn.cpp:215
msgid "File couldn't be loaded."
@@ -2254,9 +2243,8 @@
msgstr "Dateiname bereits vorhanden"
#: ../src/motif/filedlg.cpp:226
-#, fuzzy
msgid "Files"
-msgstr "Datei"
+msgstr "Dateien"
#: ../src/common/filefn.cpp:1746
#, c-format
@@ -2264,9 +2252,8 @@
msgstr "Dateien (%s)"
#: ../src/motif/filedlg.cpp:224
-#, fuzzy
msgid "Filter"
-msgstr "Datei"
+msgstr "Filter"
#: ../src/html/helpfrm.cpp:491
msgid "Find"
@@ -2286,11 +2273,11 @@
#: ../src/html/helpfrm.cpp:1220
msgid "Font size:"
-msgstr "Font Größe:"
+msgstr "Schrift-Größe:"
#: ../src/unix/utilsunx.cpp:545
msgid "Fork failed"
-msgstr "'Fork' gescheitert"
+msgstr "Aufspaltung des Prozesses gescheitert"
#: ../src/common/xtixml.cpp:235
msgid "Forward hrefs are not supported"
@@ -2336,9 +2323,8 @@
msgstr "GTK+ Thema"
#: ../src/common/prntbase.cpp:228
-#, fuzzy
msgid "Generic PostScript"
-msgstr "PostScript-Datei"
+msgstr "PostScript generisch"
#: ../src/common/paper.cpp:142
msgid "German Legal Fanfold, 8 1/2 x 13 in"
@@ -2378,7 +2364,7 @@
#: ../src/generic/filedlgg.cpp:981
msgid "Go to parent directory"
-msgstr "Gehe zum 'Parent'-Verzeichnis"
+msgstr "Gehe zum übergeordneten Verzeichnis"
#: ../src/common/prntbase.cpp:851
msgid "Goto Page"
@@ -2390,7 +2376,7 @@
#: ../src/common/zstream.cpp:72 ../src/common/zstream.cpp:209
msgid "Gzip not supported by this version of zlib"
-msgstr "Gzip wird nicht für diese zlib Version unterstützt"
+msgstr "Gzip wird nicht von dieser zlib Version unterstützt"
#: ../src/html/helpfrm.cpp:1574
msgid "HTML Help Project (*.hhp)|*.hhp|"
@@ -2443,9 +2429,8 @@
msgstr "Start"
#: ../src/generic/dirctrlg.cpp:654
-#, fuzzy
msgid "Home directory"
-msgstr "Verzeichnis anlegen"
+msgstr "Home-Verzeichnis"
#: ../include/wx/filefn.h:145
msgid "I64"
@@ -2492,15 +2477,17 @@
#: ../contrib/src/deprecated/resource.cpp:2673
#: ../contrib/src/deprecated/resource.cpp:2684
-#, fuzzy, c-format
+#, c-format
msgid "Icon resource specification %s not found."
-msgstr "XRC Resource '%s' (Klasse '%s') nicht gefunden !"
+msgstr "Icon-Ressource-Spezifikation %s nicht gefunden !"
#: ../src/generic/dbgrptg.cpp:344
msgid ""
"If you have any additional information pertaining to this bug\n"
"report, please enter it here and it will be joined to it:"
msgstr ""
+"Wenn Sie zusätzliche Informationen zu diesem Fehlerbericht\n"
+"haben, geben Sie sie hier ein und sie werden hinzugefügt:"
#: ../src/generic/dbgrptg.cpp:310
msgid ""
@@ -2509,15 +2496,18 @@
"but be warned that it may hinder improving the program, so if\n"
"at all possible please do continue with the report generation.\n"
msgstr ""
+"Wenn Sie den Fehlerbericht komplett verwerfen möchten, drücken Sie 'Cancel',\n"
+"aber seien Sie gewarnt: dies verhindert vielleicht die Verbesserung des\n"
+"Programms, also setzen Sie das Erstellen des Fehlerberichts nach Möglichkeit fort.\n"
#: ../src/msw/registry.cpp:1304
#, c-format
msgid "Ignoring value \"%s\" of the key \"%s\"."
-msgstr ""
+msgstr "Ignoriere Wert \"%s\" vom Schlüssel \"%s\"."
#: ../contrib/src/deprecated/resource.cpp:271
msgid "Ill-formed resource file syntax."
-msgstr "Verformter Quelldatei syntax."
+msgstr "Ungültige Syntax der Quelldatei."
#: ../src/common/xtistrm.cpp:260
msgid "Illegal Object Class (Non-wxEvtHandler) as Event Source"
@@ -2589,7 +2579,7 @@
#: ../src/common/init.cpp:232
msgid "Initialization failed in post init, aborting."
-msgstr ""
+msgstr "Initialisierung während 'post init' fehlgeschlagen, Abbruch."
#: ../src/common/xtistrm.cpp:704
msgid "Internal error, illegal wxCustomTypeInfo"
@@ -2607,7 +2597,7 @@
#: ../src/common/appcmn.cpp:249
#, c-format
msgid "Invalid display mode specification '%s'."
-msgstr "Ungültige Angabe '%s' des Displays."
+msgstr "Ungültige Angabe '%s' des Displaymodes."
#: ../src/x11/app.cpp:128
#, c-format
@@ -2650,55 +2640,55 @@
#: ../src/common/paper.cpp:170
msgid "Japanese Double Postcard 200 x 148 mm"
-msgstr ""
+msgstr "Japanische Doppel-Postkarte, 200 x 148 mm"
#: ../src/common/paper.cpp:174
msgid "Japanese Envelope Chou #3"
-msgstr ""
+msgstr "Japanischer Umschlag Chou #3"
#: ../src/common/paper.cpp:187
msgid "Japanese Envelope Chou #3 Rotated"
-msgstr ""
+msgstr "Japanischer Umschlag Chou #3 gedreht"
#: ../src/common/paper.cpp:175
msgid "Japanese Envelope Chou #4"
-msgstr ""
+msgstr "Japanischer Umschlag Chou #4"
#: ../src/common/paper.cpp:188
msgid "Japanese Envelope Chou #4 Rotated"
-msgstr ""
+msgstr "Japanischer Umschlag Chou #4 gedreht"
#: ../src/common/paper.cpp:172
msgid "Japanese Envelope Kaku #2"
-msgstr ""
+msgstr "Japanischer Umschlag Chou #4"
#: ../src/common/paper.cpp:185
msgid "Japanese Envelope Kaku #2 Rotated"
-msgstr ""
+msgstr "Japanischer Umschlag Kaku #2 gedreht"
#: ../src/common/paper.cpp:173
msgid "Japanese Envelope Kaku #3"
-msgstr ""
+msgstr "Japanischer Umschlag Kaku #3"
#: ../src/common/paper.cpp:186
msgid "Japanese Envelope Kaku #3 Rotated"
-msgstr ""
+msgstr "Japanischer Umschlag Kaku #3 gedreht"
#: ../src/common/paper.cpp:192
msgid "Japanese Envelope You #4"
-msgstr ""
+msgstr "Japanischer Umschlag You #4"
#: ../src/common/paper.cpp:193
msgid "Japanese Envelope You #4 Rotated"
-msgstr ""
+msgstr "Japanischer Umschlag You #4 gedreht"
#: ../src/common/paper.cpp:145
msgid "Japanese Postcard 100 x 148 mm"
-msgstr ""
+msgstr "Japanische Postkarte 100 x 148 mm"
#: ../src/common/paper.cpp:182
msgid "Japanese Postcard Rotated 148 x 100 mm"
-msgstr ""
+msgstr "Japanische Postkarte gedreht 148 x 100 mm"
#: ../src/common/stockitem.cpp:128
msgid "Justified"
@@ -2725,41 +2715,36 @@
msgstr "Linker Rand (mm):"
#: ../src/common/paper.cpp:151
-#, fuzzy
msgid "Legal Extra 9 1/2 x 15 in"
-msgstr "Legal, 8 1/2 x 14 Zoll"
+msgstr "Legal extra, 9 1/2 x 15 Zoll"
#: ../src/common/paper.cpp:103
msgid "Legal, 8 1/2 x 14 in"
msgstr "Legal, 8 1/2 x 14 Zoll"
#: ../src/common/paper.cpp:150
-#, fuzzy
msgid "Letter Extra 9 1/2 x 12 in"
-msgstr "Letter, 8 1/2 x 11 Zoll"
+msgstr "Letter extra, 9 1/2 x 12 Zoll"
#: ../src/common/paper.cpp:156
msgid "Letter Extra Transverse 9.275 x 12 in"
-msgstr ""
+msgstr "Letter extra quer, 9,275 x 12 Zoll"
#: ../src/common/paper.cpp:159
-#, fuzzy
msgid "Letter Plus 8 1/2 x 12.69 in"
-msgstr "Letter, 8 1/2 x 11 Zoll"
+msgstr "Letter plus, 8 1/2 x 12,69 Zoll"
#: ../src/common/paper.cpp:176
-#, fuzzy
msgid "Letter Rotated 11 x 8 1/2 in"
-msgstr "Letter, 8 1/2 x 11 Zoll"
+msgstr "Letter gedreht, 11 x 8 1/2 Zoll"
#: ../src/common/paper.cpp:108
msgid "Letter Small, 8 1/2 x 11 in"
msgstr "Letter Small, 8 1/2 x 11 Zoll"
#: ../src/common/paper.cpp:154
-#, fuzzy
msgid "Letter Transverse 8 1/2 x 11 in"
-msgstr "Letter, 8 1/2 x 11 Zoll"
+msgstr "Letter quer, 8 1/2 x 11 Zoll"
#: ../src/common/paper.cpp:102
msgid "Letter, 8 1/2 x 11 in"
@@ -2833,7 +2818,7 @@
#: ../src/common/fs_mem.cpp:176
#, c-format
msgid "Memory VFS already contains file '%s'!"
-msgstr "VFS-Speicher beinhaltet bereits der Datei '%s'!"
+msgstr "VFS-Speicher beinhaltet bereits die Datei '%s'!"
#: ../src/msw/frame.cpp:374
msgid "Menu"
@@ -2868,11 +2853,11 @@
#: ../src/common/module.cpp:77
#, c-format
msgid "Module \"%s\" initialization failed"
-msgstr ""
+msgstr "Initialisierung des Moduls '%s' fehlgeschlagen"
#: ../src/common/paper.cpp:138
msgid "Monarch Envelope, 3 7/8 x 7 1/2 in"
-msgstr "Monarch Envelope, 3 7/8 x 7 1/2 Zoll"
+msgstr "Monarch Umschlag, 3 7/8 x 7 1/2 Zoll"
#: ../contrib/src/gizmos/editlbox.cpp:162
msgid "Move down"
@@ -2880,7 +2865,7 @@
#: ../contrib/src/gizmos/editlbox.cpp:161
msgid "Move up"
-msgstr "Nach oben"
+msgstr "Aufwärts verschieben"
#: ../src/generic/filedlgg.cpp:431
msgid "Name"
@@ -3000,7 +2985,7 @@
#: ../src/html/helpfrm.cpp:1218
msgid "Normal font:"
-msgstr "Normal Font:"
+msgstr "Normale Schrift:"
#: ../src/common/paper.cpp:122
msgid "Note, 8 1/2 x 11 in"
@@ -3021,12 +3006,12 @@
#: ../src/html/helpfrm.cpp:673 ../src/html/helpfrm.cpp:1579
msgid "Open HTML document"
-msgstr "Öffne HTLM Dokument"
+msgstr "Öffne HTML-Dokument"
#: ../src/generic/dbgrptg.cpp:158
-#, fuzzy, c-format
+#, c-format
msgid "Open file \"%s\""
-msgstr "Datei öffnen"
+msgstr "Datei '%s' öffnen"
#: ../src/generic/dirctrlg.cpp:718 ../src/generic/dirdlgg.cpp:342
#: ../src/generic/filedlgg.cpp:632 ../src/generic/filedlgg.cpp:772
@@ -3036,17 +3021,17 @@
#: ../src/common/cmdline.cpp:702
#, c-format
msgid "Option '%s' requires a value, '=' expected."
-msgstr "Option '%s' erwartet einen Wert, '=' erwartet."
+msgstr "Option '%s' benötigt einen Wert, '=' erwartet."
#: ../src/common/cmdline.cpp:722
#, c-format
msgid "Option '%s' requires a value."
-msgstr "Option '%s' erwartet einen Wert."
+msgstr "Option '%s' benötigt einen Wert."
#: ../src/common/cmdline.cpp:784
#, c-format
msgid "Option '%s': '%s' cannot be converted to a date."
-msgstr "Option '%s': '%s' kann nicht in eine Datum umgesetzt werden."
+msgstr "Option '%s': '%s' kann nicht in ein Datum umgesetzt werden."
#: ../src/generic/dirdlgg.cpp:116 ../src/generic/prntdlgg.cpp:614
msgid "Options"
@@ -3095,127 +3080,107 @@
#: ../src/common/paper.cpp:194
msgid "PRC 16K 146 x 215 mm"
-msgstr ""
+msgstr "PRC 16K, 146 x 215 mm"
#: ../src/common/paper.cpp:207
msgid "PRC 16K Rotated"
-msgstr ""
+msgstr "PRC 16K gedreht"
#: ../src/common/paper.cpp:195
msgid "PRC 32K 97 x 151 mm"
-msgstr ""
+msgstr "PRC 32K, 97 x 151 mm"
#: ../src/common/paper.cpp:208
msgid "PRC 32K Rotated"
-msgstr ""
+msgstr "PRC 32K gedreht"
#: ../src/common/paper.cpp:196
msgid "PRC 32K(Big) 97 x 151 mm"
-msgstr ""
+msgstr "PRC 32K(Big), 97 x 151 mm"
#: ../src/common/paper.cpp:209
msgid "PRC 32K(Big) Rotated"
-msgstr ""
+msgstr "PRC 32K(Big) gedreht"
#: ../src/common/paper.cpp:197
-#, fuzzy
msgid "PRC Envelope #1 102 x 165 mm"
-msgstr "C6 Umschlag, 114 x 162 mm"
+msgstr "PRC Umschlag #1, 102 x 165 mm"
#: ../src/common/paper.cpp:210
-#, fuzzy
msgid "PRC Envelope #1 Rotated 165 x 102 mm"
-msgstr "C6 Umschlag, 114 x 162 mm"
+msgstr "PRC Umschlag #1 gedreht, 165 x 102 mm"
#: ../src/common/paper.cpp:206
-#, fuzzy
msgid "PRC Envelope #10 324 x 458 mm"
-msgstr "C3 Umschlag, 324 x 458 mm"
+msgstr "PRC Umschlag #10, 324 x 458 mm"
#: ../src/common/paper.cpp:219
-#, fuzzy
msgid "PRC Envelope #10 Rotated 458 x 324 m"
-msgstr "C4 Umschlag, 229 x 324 mm"
+msgstr "PRC Umschlag #10 gedreht, 458 x 324 m"
#: ../src/common/paper.cpp:198
-#, fuzzy
msgid "PRC Envelope #2 102 x 176 mm"
-msgstr "C6 Umschlag, 114 x 162 mm"
+msgstr "PRC Umschlag #2, 102 x 176 mm"
#: ../src/common/paper.cpp:211
-#, fuzzy
msgid "PRC Envelope #2 Rotated 176 x 102 mm"
-msgstr "B6 Umschlag, 176 x 125 mm"
+msgstr "PRC Umschlag #2 gedreht, 176 x 102 mm"
#: ../src/common/paper.cpp:199
-#, fuzzy
msgid "PRC Envelope #3 125 x 176 mm"
-msgstr "C6 Umschlag, 114 x 162 mm"
+msgstr "PRC Umschlag #3, 125 x 176 mm"
#: ../src/common/paper.cpp:212
-#, fuzzy
msgid "PRC Envelope #3 Rotated 176 x 125 mm"
-msgstr "B6 Umschlag, 176 x 125 mm"
+msgstr "PRC Umschlag #3 gedreht, 176 x 125 mm"
#: ../src/common/paper.cpp:200
-#, fuzzy
msgid "PRC Envelope #4 110 x 208 mm"
-msgstr "DL Umschlag, 110 x 220 mm"
+msgstr "PRC Umschlag #4, 110 x 208 mm"
#: ../src/common/paper.cpp:213
-#, fuzzy
msgid "PRC Envelope #4 Rotated 208 x 110 mm"
-msgstr "C6 Umschlag, 114 x 162 mm"
+msgstr "PRC Umschlag #4 gedreht, 208 x 110 mm"
#: ../src/common/paper.cpp:201
-#, fuzzy
msgid "PRC Envelope #5 110 x 220 mm"
-msgstr "DL Umschlag, 110 x 220 mm"
+msgstr "PRC Umschlag #5, 110 x 220 mm"
#: ../src/common/paper.cpp:214
-#, fuzzy
msgid "PRC Envelope #5 Rotated 220 x 110 mm"
-msgstr "C4 Umschlag, 229 x 324 mm"
+msgstr "PRC Umschlag #5 gedreht, 220 x 110 mm"
#: ../src/common/paper.cpp:202
-#, fuzzy
msgid "PRC Envelope #6 120 x 230 mm"
-msgstr "C5 Umschlag, 162 x 229 mm"
+msgstr "PRC Umschlag #6, 120 x 230 mm"
#: ../src/common/paper.cpp:215
-#, fuzzy
msgid "PRC Envelope #6 Rotated 230 x 120 mm"
-msgstr "C5 Umschlag, 162 x 229 mm"
+msgstr "PRC Umschlag #6 gedreht, 230 x 120 mm"
#: ../src/common/paper.cpp:203
-#, fuzzy
msgid "PRC Envelope #7 160 x 230 mm"
-msgstr "B5 Umschlag, 176 x 250 mm"
+msgstr "PRC Umschlag #7, 160 x 230 mm"
#: ../src/common/paper.cpp:216
-#, fuzzy
msgid "PRC Envelope #7 Rotated 230 x 160 mm"
-msgstr "C6 Umschlag, 114 x 162 mm"
+msgstr "PRC Umschlag #7 gedreht, 230 x 160 mm"
#: ../src/common/paper.cpp:204
-#, fuzzy
msgid "PRC Envelope #8 120 x 309 mm"
-msgstr "C5 Umschlag, 162 x 229 mm"
+msgstr "PRC Umschlag #8, 120 x 309 mm"
#: ../src/common/paper.cpp:217
-#, fuzzy
msgid "PRC Envelope #8 Rotated 309 x 120 mm"
-msgstr "C4 Umschlag, 229 x 324 mm"
+msgstr "PRC Umschlag #8 gedreht, 309 x 120 mm"
#: ../src/common/paper.cpp:205
-#, fuzzy
msgid "PRC Envelope #9 229 x 324 mm"
-msgstr "C4 Umschlag, 229 x 324 mm"
+msgstr "PRC Umschlag #9, 229 x 324 mm"
#: ../src/common/paper.cpp:218
-#, fuzzy
msgid "PRC Envelope #9 Rotated 324 x 229 mm"
-msgstr "C5 Umschlag, 162 x 229 mm"
+msgstr "PRC Umschlag #9 gedreht, 324 x 229 mm"
#: ../src/common/prntbase.cpp:1294
#, c-format
@@ -3232,7 +3197,6 @@
msgstr "Seiten-Einstellungen"
#: ../src/common/prntbase.cpp:451 ../src/gtk/gnome/gprint.cpp:540
-#, fuzzy
msgid "Page setup"
msgstr "Seiten-Einstellungen"
@@ -3260,7 +3224,7 @@
#: ../src/common/xtistrm.cpp:436 ../src/common/xtistrm.cpp:656
msgid "Passing an unkown object to GetObject"
-msgstr "Ein unbekanntes Objekt wurde an GetObject übergeben\""
+msgstr "Ein unbekanntes Objekt wurde an GetObject übergeben"
#: ../src/generic/filedlgg.cpp:437
msgid "Permissions"
@@ -3272,7 +3236,7 @@
#: ../src/gtk/fontdlg.cpp:81
msgid "Please choose a valid font."
-msgstr "Bitte wählen Sie einen gültigen Font."
+msgstr "Bitte wählen Sie eine gültige Schriftart."
#: ../src/generic/filedlgg.cpp:1325
msgid "Please choose an existing file."
@@ -3295,7 +3259,7 @@
msgstr ""
"Bitte installieren Sie eine neuere Version von comctl32.dll\n"
"(mindestens Version 4.70 wird benötigt, aber Sie haben nur\n"
-"Version %d.%02d)."
+"Version %d.%02d), oder dieses Programm wird nicht korrekt funktionieren."
#: ../src/common/prntbase.cpp:313
msgid "Please wait while printing\n"
@@ -3348,9 +3312,8 @@
msgstr "Druck&vorschau"
#: ../src/gtk/gnome/gprint.cpp:785
-#, fuzzy
msgid "Print preview"
-msgstr "Druck&vorschau"
+msgstr "Druckvorschau"
#: ../src/generic/prntdlgg.cpp:626
msgid "Print spooling"
@@ -3365,9 +3328,8 @@
msgstr "In Datei drucken"
#: ../src/generic/prntdlgg.cpp:489
-#, fuzzy
msgid "Printer"
-msgstr "Drucken"
+msgstr "Drucker"
#: ../src/generic/prntdlgg.cpp:629
msgid "Printer command:"
@@ -3383,12 +3345,11 @@
#: ../src/generic/prntdlgg.cpp:915
msgid "Printer..."
-msgstr "Drucker..."
+msgstr "Drucker ..."
#: ../src/generic/prntdlgg.cpp:190
-#, fuzzy
msgid "Printer:"
-msgstr "Drucker..."
+msgstr "Drucker:"
#: ../src/common/prntbase.cpp:310 ../src/common/prntbase.cpp:531
msgid "Printing "
@@ -3401,17 +3362,19 @@
#: ../src/generic/printps.cpp:208
#, c-format
msgid "Printing page %d..."
-msgstr "Drucke Seite %d..."
+msgstr "Drucke Seite %d ..."
#: ../src/generic/printps.cpp:168
msgid "Printing..."
-msgstr "Drucke..."
+msgstr "Drucke ..."
#: ../src/common/debugrpt.cpp:546
#, c-format
msgid ""
"Processing debug report has failed, leaving the files in \"%s\" directory."
msgstr ""
+"Verarbeitung des Fehlerberichts fehlgeschlagen, lasse die Dateien im "
+"'%s'-Verzeichnis."
#: ../src/common/log.cpp:466
msgid "Program aborted."
@@ -3431,9 +3394,8 @@
msgstr "Lesefehler in Datei '%s'"
#: ../src/common/prntbase.cpp:242
-#, fuzzy
msgid "Ready"
-msgstr "&Wiederholen"
+msgstr "Fertig"
#: ../src/xrc/xmlres.cpp:643
#, c-format
@@ -3485,7 +3447,7 @@
#: ../src/html/helpfrm.cpp:445
msgid "Remove current page from bookmarks"
-msgstr "Aktuelle HTLM-Seite als Lesezeichen entfernen"
+msgstr "Aktuelle Seite als Lesezeichen entfernen"
#: ../src/common/rendcmn.cpp:196
#, c-format
@@ -3512,7 +3474,7 @@
#: ../src/common/stockitem.cpp:144
msgid "Revert to Saved"
-msgstr ""
+msgstr "Zurück zu Gespeichert"
#: ../src/generic/prntdlgg.cpp:891
msgid "Right margin (mm):"
@@ -3523,9 +3485,8 @@
msgstr "Roman"
#: ../src/common/sizer.cpp:1838
-#, fuzzy
msgid "Save"
-msgstr "&Sichern"
+msgstr "Sichern"
#: ../src/common/fldlgcmn.cpp:259
#, c-format
@@ -3534,7 +3495,7 @@
#: ../src/common/stockitem.cpp:146
msgid "Save &As..."
-msgstr "&Speichern unter..."
+msgstr "&Speichern unter ..."
#: ../src/common/docview.cpp:305
msgid "Save as"
@@ -3572,7 +3533,7 @@
#: ../src/html/helpfrm.cpp:868
msgid "Searching..."
-msgstr "Suchen..."
+msgstr "Suchen ..."
#: ../src/generic/dirctrlg.cpp:592
msgid "Sections"
@@ -3586,7 +3547,8 @@
#: ../src/common/ffile.cpp:212
#, c-format
msgid "Seek error on file '%s' (large files not supported by stdio)"
-msgstr ""
+msgstr "Suchfehler in Datei '%s' (grosse Dateien werden von stdio "
+"nicht unterstützt)"
#: ../src/mac/carbon/textctrl.cpp:1078 ../src/msw/textctrl.cpp:2068
msgid "Select &All"
@@ -3598,16 +3560,15 @@
#: ../src/common/docview.cpp:1776
msgid "Select a document view"
-msgstr "Dokument-Anzeige ('View') wählen"
+msgstr "Dokumenten-Ansicht wählen"
#: ../src/common/docview.cpp:1579
msgid "Select a file"
msgstr "Datei wählen"
#: ../src/motif/filedlg.cpp:226
-#, fuzzy
msgid "Selection"
-msgstr "Abschnitte"
+msgstr "Auswahl"
#: ../src/common/cmdline.cpp:739
#, c-format
@@ -3620,7 +3581,7 @@
#: ../src/generic/prntdlgg.cpp:182
msgid "Setup..."
-msgstr "Einstellungen..."
+msgstr "Einstellungen ..."
#: ../src/msw/dialup.cpp:567
msgid "Several active dialup connections found, choosing one randomly."
@@ -3656,9 +3617,8 @@
#: ../src/generic/progdlgg.cpp:222 ../src/generic/progdlgg.cpp:240
#: ../src/generic/progdlgg.cpp:598
-#, fuzzy
msgid "Skip"
-msgstr "Script"
+msgstr "Überspringen"
#: ../src/generic/fontdlgg.cpp:234
msgid "Slant"
@@ -3702,9 +3662,8 @@
msgstr "Statement, 5 1/2 x 8 1/2 Zoll"
#: ../src/generic/prntdlgg.cpp:198
-#, fuzzy
msgid "Status:"
-msgstr "Status: "
+msgstr "Status:"
#: ../src/generic/logg.cpp:622
msgid "Status: "
@@ -3734,11 +3693,11 @@
#: ../src/common/paper.cpp:157
msgid "SuperA/SuperA/A4 227 x 356 mm"
-msgstr ""
+msgstr "SuperA/SuperA/A4, 227 x 356 mm"
#: ../src/common/paper.cpp:158
msgid "SuperB/SuperB/A3 305 x 487 mm"
-msgstr ""
+msgstr "SuperB/SuperB/A3, 305 x 487 mm"
#: ../src/generic/fontdlgg.cpp:230
msgid "Swiss"
@@ -3746,11 +3705,11 @@
#: ../src/common/imagtiff.cpp:165
msgid "TIFF library error."
-msgstr ""
+msgstr "TIFF-Bibliothek-Fehler."
#: ../src/common/imagtiff.cpp:149
msgid "TIFF library warning."
-msgstr ""
+msgstr "TIFF-Bibliothek-Warnung."
#: ../src/common/imagtiff.cpp:248 ../src/common/imagtiff.cpp:259
#: ../src/common/imagtiff.cpp:399
@@ -3774,9 +3733,8 @@
msgstr "TIFF: Schreibfehler beim Sichern."
#: ../src/common/paper.cpp:152
-#, fuzzy
msgid "Tabloid Extra 11.69 x 18 in"
-msgstr "Tabloid, 11 x 17 Zoll"
+msgstr "Tabloid extra, 11,69 x 18 Zoll"
#: ../src/common/paper.cpp:109
msgid "Tabloid, 11 x 17 in"
@@ -3859,7 +3817,7 @@
#: ../src/generic/fontdlgg.cpp:288 ../src/generic/fontdlgg.cpp:290
msgid "The font style."
-msgstr "Die Schriftschitt."
+msgstr "Der Schriftstil."
#: ../src/generic/fontdlgg.cpp:299 ../src/generic/fontdlgg.cpp:301
msgid "The font weight."
@@ -3876,6 +3834,9 @@
"private information,\n"
"please uncheck them and they will be removed from the report.\n"
msgstr ""
+"Der Fehlerbericht enthält die unten angegebenen Dateien. Falls diese "
+"persönliche Informationen enthält,\n"
+"wählen Sie sie ab und sie werden aus dem Fehlerbericht gelöscht.\n"
#: ../src/common/cmdline.cpp:883
#, c-format
@@ -3933,7 +3894,7 @@
"local storage"
msgstr ""
"Thread-Modul-Initialisierung gescheitert: Index konnte nicht im lokalen "
-"Speicherbereich des Thread allokiert werden"
+"Speicherbereich des Threads zugewiesen werden"
#: ../src/unix/threadpsx.cpp:1108
msgid "Thread priority setting is ignored."
@@ -4031,9 +3992,8 @@
#: ../contrib/src/deprecated/resource.cpp:3084
#: ../contrib/src/deprecated/resource.cpp:3101
#: ../contrib/src/deprecated/resource.cpp:3115
-#, fuzzy
msgid "Unexpected end of file while parsing resource."
-msgstr "Erwarte '=' während der Suche in einer Ressource."
+msgstr "Unerwartetes Dateiende beim Einlesen der Ressource."
#: ../src/common/cmdline.cpp:826
#, c-format
@@ -4083,7 +4043,7 @@
#: ../src/unix/dlunix.cpp:275
msgid "Unknown dynamic library error"
-msgstr ""
+msgstr "Unbekannter Fehler mit dynamischer Bibliothek"
#: ../src/common/fmapbase.cpp:695
#, c-format
@@ -4112,7 +4072,7 @@
#: ../src/common/xtixml.cpp:324
#, c-format
msgid "Unkown Property %s"
-msgstr "Unbekannte Eigenschaften %s"
+msgstr "Unbekannte Eigenschaft %s"
#: ../src/common/mimecmn.cpp:163
#, c-format
@@ -4125,9 +4085,9 @@
msgstr "Ungenanntes Kommando"
#: ../contrib/src/deprecated/resource.cpp:2367
-#, fuzzy, c-format
+#, c-format
msgid "Unrecognized style %s while parsing resource."
-msgstr "Erwarte '*' während der Suche in einer Ressource."
+msgstr "Unerwarter Stil beim Einlesen der Ressource."
#: ../src/mac/carbon/clipbrd.cpp:68 ../src/mac/classic/clipbrd.cpp:64
#: ../src/msw/clipbrd.cpp:273 ../src/msw/clipbrd.cpp:445
@@ -4217,32 +4177,28 @@
#: ../src/msw/utils.cpp:1112
#, c-format
msgid "Windows 2000 (build %lu"
-msgstr ""
+msgstr "Windows 2000 (Build %lu)"
#: ../src/msw/utils.cpp:1077
-#, fuzzy
msgid "Windows 95"
-msgstr "Windows 9%c"
+msgstr "Windows 95"
#: ../src/msw/utils.cpp:1073
-#, fuzzy
msgid "Windows 95 OSR2"
-msgstr "Windows 9%c"
+msgstr "Windows 95 ORS2"
#: ../src/msw/utils.cpp:1088
-#, fuzzy
msgid "Windows 98"
-msgstr "Windows 9%c"
+msgstr "Windows 98"
#: ../src/msw/utils.cpp:1084
-#, fuzzy
msgid "Windows 98 SE"
-msgstr "Windows 9%c"
+msgstr "Windows 98 SE"
#: ../src/msw/utils.cpp:1095
-#, fuzzy, c-format
+#, c-format
msgid "Windows 9x (%d.%d)"
-msgstr "Windows 9%c"
+msgstr "Windows 9x (%d.%d)"
#: ../src/common/fmapbase.cpp:132
msgid "Windows Arabic (CP 1256)"
@@ -4285,24 +4241,22 @@
msgstr "Windows Koreanisch (CP 949)"
#: ../src/msw/utils.cpp:1092
-#, fuzzy
msgid "Windows ME"
-msgstr "Windows 9%c"
+msgstr "Windows ME"
#: ../src/msw/utils.cpp:1127
#, c-format
msgid "Windows NT %lu.%lu (build %lu"
-msgstr ""
+msgstr "Windows NT %lu.%lu (Build %lu)"
#: ../src/msw/utils.cpp:1120
#, c-format
msgid "Windows Server 2003 (build %lu"
-msgstr ""
+msgstr "Windows Server 2003 (Build %lu)"
#: ../src/common/fmapbase.cpp:121
-#, fuzzy
msgid "Windows Thai (CP 874)"
-msgstr "Windows Baltisch (CP 1257)"
+msgstr "Windows Thai (CP 874)"
#: ../src/common/fmapbase.cpp:130
msgid "Windows Turkish (CP 1254)"
@@ -4315,7 +4269,7 @@
#: ../src/msw/utils.cpp:1116
#, c-format
msgid "Windows XP (build %lu"
-msgstr ""
+msgstr "Windows XP (Build %lu)"
#: ../src/common/fmapbase.cpp:134
msgid "Windows/DOS OEM (CP 437)"
@@ -4392,8 +4346,8 @@
"or an invalid instance identifier\n"
"was passed to a DDEML function."
msgstr ""
-"Eine DDEML-Funktion wurde aufgerufen, ohne vorher die Deinitialisierungs- "
-"Funktion aufzurufen,\n"
+"Eine DDEML-Funktion wurde aufgerufen, ohne vorher die Funktion "
+"'DdeInitialize' aufzurufen,\n"
"oder ein ungültiger 'instance identifier'\n"
"wurde an eine DDEML-Funktion übergeben."
@@ -4476,7 +4430,7 @@
#: ../src/msw/dde.cpp:1084
msgid "an internal error has occurred in the DDEML."
-msgstr "Ein interne Fehler ist im DDMEL aufgetreten."
+msgstr "Ein interner Fehler ist im DDEML aufgetreten."
#: ../src/msw/dde.cpp:1090
msgid ""
@@ -4616,14 +4570,12 @@
"werden"
#: ../src/common/zipstrm.cpp:436
-#, fuzzy
msgid "can't re-initialize zlib deflate stream"
-msgstr "Kann das Entkomprimieren der zlib-Daten nicht initialisieren"
+msgstr "zlib-deflate-Stream kann nicht reinitialisiert werden"
#: ../src/common/zipstrm.cpp:461
-#, fuzzy
msgid "can't re-initialize zlib inflate stream"
-msgstr "Kann das komprimieren der zlib-Daten nicht initialisieren"
+msgstr "zlib-inflate-Stream kann nicht reinitialisiert werden"
#: ../src/common/file.cpp:310
#, c-format
@@ -4698,7 +4650,7 @@
#: ../src/common/debugrpt.cpp:524
msgid "dump of the process state (binary)"
-msgstr ""
+msgstr "Abfrage von Prozess-Status (binär)"
#: ../src/common/datetime.cpp:3882
msgid "eighteenth"
@@ -4727,27 +4679,26 @@
msgstr "Fehler im Datenformat"
#: ../src/msdos/utilsdos.cpp:407
-#, fuzzy, c-format
+#, c-format
msgid "error opening '%s'"
-msgstr "Fehler beim Öffnen der Datei"
+msgstr "Fehler beim Öffnen der Datei '%s'"
#: ../src/html/chm.cpp:332
msgid "error opening file"
msgstr "Fehler beim Öffnen der Datei"
#: ../src/common/zipstrm.cpp:1442
-#, fuzzy
msgid "error reading zip central directory"
-msgstr "Fehler beim Anlegen des Verzeichnisses"
+msgstr "Fehler beim Lesen des 'zip-central'-Verzeichnisses"
#: ../src/common/zipstrm.cpp:1520
msgid "error reading zip local header"
-msgstr ""
+msgstr "Fehler beim Lesen des 'zip-local'-Headers"
#: ../src/common/zipstrm.cpp:2236
#, c-format
msgid "error writing zip entry '%s': bad crc or length"
-msgstr ""
+msgstr "Fehler beim Schreiben des zip-Eintrags '%s': crc oder Länge falsch"
#: ../src/msw/dialup.cpp:881
msgid "establish"
@@ -4829,9 +4780,8 @@
msgstr "ungültiger 'message box'-Rückgabewert."
#: ../src/common/zipstrm.cpp:1306
-#, fuzzy
msgid "invalid zip file"
-msgstr "Ungültige Sperr-Datei '%s'."
+msgstr "Ungültige zip-Datei"
#: ../src/common/fontcmn.cpp:586 ../src/common/fontcmn.cpp:650
msgid "italic"
@@ -4897,7 +4847,7 @@
#: ../src/common/debugrpt.cpp:500
msgid "process context description"
-msgstr ""
+msgstr "Prozess-Kontext Beschreibung"
#: ../src/html/chm.cpp:334
msgid "read error"
@@ -4910,12 +4860,12 @@
#: ../src/common/zipstrm.cpp:1743
#, c-format
msgid "reading zip stream (entry %s): bad crc"
-msgstr ""
+msgstr "Lese zip-Stream (Eintrag %s): crc falsch"
#: ../src/common/zipstrm.cpp:1740
#, c-format
msgid "reading zip stream (entry %s): bad length"
-msgstr ""
+msgstr "Lese zip-Stream (Eintrag %s): Länge falsch"
#: ../src/msw/dde.cpp:1078
msgid "reentrancy problem."
@@ -4963,7 +4913,7 @@
#: ../src/common/zipstrm.cpp:1646
msgid "stored file length not in Zip header"
-msgstr ""
+msgstr "gespeicherte Dateilänge nicht im zip-Header"
#: ../src/common/cmdline.cpp:1086
msgid "str"
@@ -5061,11 +5011,11 @@
#: ../src/common/zipstrm.cpp:1660 ../src/common/zipstrm.cpp:2030
msgid "unsupported Zip compression method"
-msgstr ""
+msgstr "Nicht unterstütze zip-Kompressionsmethode"
#: ../src/common/zipstrm.cpp:1142
msgid "unsupported zip archive"
-msgstr ""
+msgstr "Nicht unterstütztes zip-Archiv"
#: ../src/common/intl.cpp:1115
#, c-format
diff -ur wxWidgets-2.6.3/Makefile.in wxWidgets-2.6.3.3/Makefile.in
--- wxWidgets-2.6.3/Makefile.in 2006-03-16 09:45:29.000000000 -0500
+++ wxWidgets-2.6.3.3/Makefile.in 2006-05-23 14:13:44.000000000 -0400
@@ -1496,6 +1496,14 @@
@COND_TOOLKIT_X11@BASE_MACOSX_HDR = $(COND_TOOLKIT_X11_BASE_MACOSX_HDR)
@COND_PLATFORM_MACOSX_1@BASE_PLATFORM_HDR = $(BASE_MACOSX_HDR)
@COND_PLATFORM_MSDOS_1@BASE_PLATFORM_HDR = wx/msdos/mimetype.h
+COND_PLATFORM_OS2_1_BASE_PLATFORM_HDR = \
+ wx/os2/apptbase.h \
+ wx/os2/apptrait.h \
+ wx/os2/mimetype.h \
+ wx/os2/private.h \
+ wx/os2/stdpaths.h \
+ wx/os2/wxrsc.h
+@COND_PLATFORM_OS2_1@BASE_PLATFORM_HDR = $(COND_PLATFORM_OS2_1_BASE_PLATFORM_HDR)
COND_PLATFORM_UNIX_1_BASE_PLATFORM_HDR = \
wx/unix/apptbase.h \
wx/unix/apptrait.h \
@@ -3139,6 +3147,7 @@
monodll_stattext.o \
monodll_statusbr.o \
monodll_textctrl.o \
+ monodll_tglbtn.o \
monodll_theme.o \
monodll_toolbar.o \
monodll_topluniv.o \
@@ -4609,6 +4618,7 @@
monolib_stattext.o \
monolib_statusbr.o \
monolib_textctrl.o \
+ monolib_tglbtn.o \
monolib_theme.o \
monolib_toolbar.o \
monolib_topluniv.o \
@@ -6317,6 +6327,7 @@
coredll_stattext.o \
coredll_statusbr.o \
coredll_textctrl.o \
+ coredll_tglbtn.o \
coredll_theme.o \
coredll_toolbar.o \
coredll_topluniv.o \
@@ -7515,6 +7526,7 @@
corelib_stattext.o \
corelib_statusbr.o \
corelib_textctrl.o \
+ corelib_tglbtn.o \
corelib_theme.o \
corelib_toolbar.o \
corelib_topluniv.o \
@@ -13245,6 +13257,9 @@
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp
+@COND_USE_GUI_1_WXUNIV_1@monodll_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp
+
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp
@@ -16716,6 +16731,9 @@
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp
+@COND_USE_GUI_1_WXUNIV_1@monolib_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp
+
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp
@@ -20616,6 +20634,9 @@
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@coredll_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp
+@COND_USE_GUI_1_WXUNIV_1@coredll_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(COREDLL_ODEP)
+@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp
+
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@coredll_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp
@@ -23127,6 +23148,9 @@
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@corelib_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp
+@COND_USE_GUI_1_WXUNIV_1@corelib_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(CORELIB_ODEP)
+@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp
+
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@corelib_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp
@@ -25612,6 +25636,11 @@
rm -rf $(DISTDIR)/wxPython/contrib/iewin
find $(DISTDIR)/wxPython \( -name "mac" -o -name "msw" \) -print0 | xargs -0 rm -rf
+ @# copy the bakefiles goop that make install doesn't handle robustly
+ mkdir -p $(DISTDIR)/build/bakefiles/wxpresets/presets
+ cp $(WXDIR)/build/bakefiles/wxpresets/presets/*.bkl \
+ $(DISTDIR)/build/bakefiles/wxpresets/presets
+
rm -rf $(DEBIAN_SOURCE_DIR)
mv $(DISTDIR) $(DEBIAN_SOURCE_DIR)
diff -ur wxWidgets-2.6.3/samples/controls/controls.cpp wxWidgets-2.6.3.3/samples/controls/controls.cpp
--- wxWidgets-2.6.3/samples/controls/controls.cpp 2005-08-17 09:13:42.000000000 -0400
+++ wxWidgets-2.6.3.3/samples/controls/controls.cpp 2006-06-18 07:52:25.000000000 -0400
@@ -3,7 +3,7 @@
// Purpose: Controls wxWidgets sample
// Author: Robert Roebling
// Modified by:
-// RCS-ID: $Id: controls.cpp,v 1.233 2005/08/17 13:13:42 VZ Exp $
+// RCS-ID: $Id: controls.cpp,v 1.233.2.1 2006/06/18 11:52:25 SN Exp $
// Copyright: (c) Robert Roebling, Julian Smart
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
@@ -1370,15 +1370,17 @@
void MyPanel::OnComboTextChanged(wxCommandEvent& event)
{
- wxLogMessage(wxT("EVT_TEXT for the combobox: \"%s\" (event) or \"%s\" (control)."),
- event.GetString().c_str(),
- m_combo->GetValue().c_str());
+ if (m_combo)
+ wxLogMessage(wxT("EVT_TEXT for the combobox: \"%s\" (event) or \"%s\" (control)."),
+ event.GetString().c_str(),
+ m_combo->GetValue().c_str());
}
void MyPanel::OnComboTextEnter(wxCommandEvent& WXUNUSED(event))
{
- wxLogMessage(_T("Enter pressed in the combobox: value is '%s'."),
- m_combo->GetValue().c_str());
+ if (m_combo)
+ wxLogMessage(_T("Enter pressed in the combobox: value is '%s'."),
+ m_combo->GetValue().c_str());
}
void MyPanel::OnComboButtons( wxCommandEvent &event )
diff -ur wxWidgets-2.6.3/samples/listctrl/listtest.cpp wxWidgets-2.6.3.3/samples/listctrl/listtest.cpp
--- wxWidgets-2.6.3/samples/listctrl/listtest.cpp 2006-03-18 11:57:18.000000000 -0500
+++ wxWidgets-2.6.3.3/samples/listctrl/listtest.cpp 2006-04-02 11:51:15.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
-// RCS-ID: $Id: listtest.cpp,v 1.83.2.4 2006/03/18 16:57:18 VZ Exp $
+// RCS-ID: $Id: listtest.cpp,v 1.83.2.5 2006/04/02 15:51:15 JS Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
@@ -1053,10 +1053,10 @@
SetItemData(tmp, i);
buf.Printf(_T("Col 1, item %d"), i);
- SetItem(i, 1, buf);
+ SetItem(tmp, 1, buf);
buf.Printf(_T("Item %d in column 2"), i);
- SetItem(i, 2, buf);
+ SetItem(tmp, 2, buf);
}
#if USE_CONTEXT_MENU
diff -ur wxWidgets-2.6.3/setup.h.in wxWidgets-2.6.3.3/setup.h.in
--- wxWidgets-2.6.3/setup.h.in 2006-01-18 05:24:54.000000000 -0500
+++ wxWidgets-2.6.3.3/setup.h.in 2006-04-19 10:36:46.000000000 -0400
@@ -156,6 +156,8 @@
#define WXWIN_COMPATIBILITY_2_4 0
+#define WX_USE_RESERVED_VIRTUALS 0
+
#define wxDIALOG_UNIT_COMPATIBILITY 0
diff -ur wxWidgets-2.6.3/src/common/dobjcmn.cpp wxWidgets-2.6.3.3/src/common/dobjcmn.cpp
--- wxWidgets-2.6.3/src/common/dobjcmn.cpp 2006-03-24 18:51:30.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/dobjcmn.cpp 2006-03-30 04:52:54.000000000 -0500
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin, Robert Roebling
// Modified by:
// Created: 19.10.99
-// RCS-ID: $Id: dobjcmn.cpp,v 1.35.2.1 2006/03/24 23:51:30 RD Exp $
+// RCS-ID: $Id: dobjcmn.cpp,v 1.35.2.2 2006/03/30 09:52:54 RR Exp $
// Copyright: (c) wxWidgets Team
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -253,11 +253,15 @@
bool wxTextDataObject::GetDataHere(const wxDataFormat& format, void *buf) const
{
+ if ( !buf )
+ return false;
+
wxCharBuffer buffer = GetConv(format).cWX2MB( GetText().c_str() );
if ( !buffer )
return false;
- strcpy( (char*) buf, buffer );
+ memcpy( (char*) buf, buffer, GetDataSize(format) );
+ // strcpy( (char*) buf, buffer );
return true;
}
diff -ur wxWidgets-2.6.3/src/common/event.cpp wxWidgets-2.6.3.3/src/common/event.cpp
--- wxWidgets-2.6.3/src/common/event.cpp 2005-06-29 20:52:05.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/event.cpp 2006-05-29 13:34:47.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
-// RCS-ID: $Id: event.cpp,v 1.166 2005/06/30 00:52:05 MW Exp $
+// RCS-ID: $Id: event.cpp,v 1.166.2.1 2006/05/29 17:34:47 MW Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -1154,7 +1154,7 @@
wxENTER_CRIT_SECT( Lock() );
- if ( !--n )
+ if ( --n == 0 )
break;
}
diff -ur wxWidgets-2.6.3/src/common/filefn.cpp wxWidgets-2.6.3.3/src/common/filefn.cpp
--- wxWidgets-2.6.3/src/common/filefn.cpp 2006-02-27 10:16:37.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/filefn.cpp 2006-06-15 17:42:21.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 29/01/98
-// RCS-ID: $Id: filefn.cpp,v 1.249.2.5 2006/02/27 15:16:37 VZ Exp $
+// RCS-ID: $Id: filefn.cpp,v 1.249.2.6 2006/06/15 21:42:21 MW Exp $
// Copyright: (c) 1998 Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -304,16 +304,19 @@
return (ret != (DWORD)-1) && !(ret & FILE_ATTRIBUTE_DIRECTORY);
#else // !__WIN32__
+ #ifndef S_ISREG
+ #define S_ISREG(mode) ((mode) & S_IFREG)
+ #endif
wxStructStat st;
#ifndef wxNEED_WX_UNISTD_H
- return (wxStat( filename.fn_str() , &st) == 0 && (st.st_mode & S_IFREG))
+ return (wxStat( filename.fn_str() , &st) == 0 && S_ISREG(st.st_mode))
#ifdef __OS2__
|| (errno == EACCES) // if access is denied something with that name
// exists and is opened in exclusive mode.
#endif
;
#else
- return wxStat( filename , &st) == 0 && (st.st_mode & S_IFREG);
+ return wxStat( filename , &st) == 0 && S_ISREG(st.st_mode);
#endif
#endif // __WIN32__/!__WIN32__
}
diff -ur wxWidgets-2.6.3/src/common/gifdecod.cpp wxWidgets-2.6.3.3/src/common/gifdecod.cpp
--- wxWidgets-2.6.3/src/common/gifdecod.cpp 2006-01-23 02:18:36.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/gifdecod.cpp 2006-04-01 20:21:53.000000000 -0500
@@ -3,7 +3,7 @@
// Purpose: wxGIFDecoder, GIF reader for wxImage and wxAnimation
// Author: Guillermo Rodriguez Garcia <guille@iies.es>
// Version: 3.04
-// RCS-ID: $Id: gifdecod.cpp,v 1.37.2.1 2006/01/23 07:18:36 vell Exp $
+// RCS-ID: $Id: gifdecod.cpp,v 1.37.2.2 2006/04/02 01:21:53 VZ Exp $
// Copyright: (c) Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -474,6 +474,25 @@
/* make new entry in alphabet (only if NOT just cleared) */
if (lastcode != -1)
{
+ // Normally, after the alphabet is full and can't grow any
+ // further (ab_free == 4096), encoder should (must?) emit CLEAR
+ // to reset it. This checks whether we really got it, otherwise
+ // the GIF is damaged.
+ if (ab_free > ab_max)
+ {
+ delete[] ab_prefix;
+ delete[] ab_tail;
+ delete[] stack;
+ return wxGIF_INVFORMAT;
+ }
+
+ // This assert seems unnecessary since the condition above
+ // eliminates the only case in which it went false. But I really
+ // don't like being forced to ask "Who in .text could have
+ // written there?!" And I wouldn't have been forced to ask if
+ // this line had already been here.
+ wxASSERT(ab_free < allocSize);
+
ab_prefix[ab_free] = lastcode;
ab_tail[ab_free] = code;
ab_free++;
diff -ur wxWidgets-2.6.3/src/common/imagjpeg.cpp wxWidgets-2.6.3.3/src/common/imagjpeg.cpp
--- wxWidgets-2.6.3/src/common/imagjpeg.cpp 2005-03-04 14:23:28.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/imagjpeg.cpp 2006-04-01 20:27:36.000000000 -0500
@@ -2,7 +2,7 @@
// Name: imagjpeg.cpp
// Purpose: wxImage JPEG handler
// Author: Vaclav Slavik
-// RCS-ID: $Id: imagjpeg.cpp,v 1.47 2005/03/04 19:23:28 ABX Exp $
+// RCS-ID: $Id: imagjpeg.cpp,v 1.47.2.1 2006/04/02 01:27:36 VZ Exp $
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -167,12 +167,22 @@
/* Always display the message. */
/* We could postpone this until after returning, if we chose. */
- if (cinfo->err->output_message) (*cinfo->err->output_message) (cinfo);
+ (*cinfo->err->output_message) (cinfo);
/* Return control to the setjmp point */
longjmp(myerr->setjmp_buffer, 1);
}
+/*
+ * This will replace the standard output_message method when the user
+ * wants us to be silent (verbose==false). We must have such method instead of
+ * simply using NULL for cinfo->err->output_message because it's called
+ * unconditionally from within libjpeg when there's "garbage input".
+ */
+CPP_METHODDEF(void) wx_ignore_message (j_common_ptr WXUNUSED(cinfo))
+{
+}
+
void wx_jpeg_io_src( j_decompress_ptr cinfo, wxInputStream& infile )
{
wx_src_ptr src;
@@ -214,7 +224,8 @@
cinfo.err = jpeg_std_error( &jerr.pub );
jerr.pub.error_exit = wx_error_exit;
- if (!verbose) cinfo.err->output_message=NULL;
+ if (!verbose)
+ cinfo.err->output_message = wx_ignore_message;
/* Establish the setjmp return context for wx_error_exit to use. */
if (setjmp(jerr.setjmp_buffer)) {
@@ -327,7 +338,8 @@
cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = wx_error_exit;
- if (!verbose) cinfo.err->output_message=NULL;
+ if (!verbose)
+ cinfo.err->output_message = wx_ignore_message;
/* Establish the setjmp return context for wx_error_exit to use. */
if (setjmp(jerr.setjmp_buffer))
diff -ur wxWidgets-2.6.3/src/common/imagtiff.cpp wxWidgets-2.6.3.3/src/common/imagtiff.cpp
--- wxWidgets-2.6.3/src/common/imagtiff.cpp 2005-10-18 10:33:30.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/imagtiff.cpp 2006-06-27 17:47:27.000000000 -0400
@@ -2,7 +2,7 @@
// Name: imagtiff.cpp
// Purpose: wxImage TIFF handler
// Author: Robert Roebling
-// RCS-ID: $Id: imagtiff.cpp,v 1.37.2.1 2005/10/18 14:33:30 MW Exp $
+// RCS-ID: $Id: imagtiff.cpp,v 1.37.2.2 2006/06/27 21:47:27 VZ Exp $
// Copyright: (c) Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -374,7 +374,7 @@
int compression = image->GetOptionInt(wxIMAGE_OPTION_COMPRESSION);
if ( !compression )
- compression=COMPRESSION_LZW;
+ compression=COMPRESSION_NONE;
TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, spp);
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bpp);
diff -ur wxWidgets-2.6.3/src/common/init.cpp wxWidgets-2.6.3.3/src/common/init.cpp
--- wxWidgets-2.6.3/src/common/init.cpp 2005-06-13 08:19:20.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/init.cpp 2006-06-06 07:01:29.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 04.10.99
-// RCS-ID: $Id: init.cpp,v 1.58 2005/06/13 12:19:20 ABX Exp $
+// RCS-ID: $Id: init.cpp,v 1.58.2.2 2006/06/06 11:01:29 JS Exp $
// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -37,6 +37,9 @@
#include "wx/ptr_scpd.h"
#include "wx/module.h"
#include "wx/except.h"
+#if wxUSE_FONTMAP
+#include "wx/fontmap.h"
+#endif
#if defined(__WXMSW__) && defined(__WXDEBUG__)
#include "wx/msw/msvcrt.h"
@@ -448,6 +451,13 @@
{
ConvertArgsToUnicode(argc, argv);
+#if wxUSE_FONTMAP
+ // If we created a font mapper during the above call,
+ // it will only be the base class, so delete it to allow
+ // app traits to create mapper.
+ delete (wxFontMapperBase*) wxFontMapperBase::Set(NULL);
+#endif
+
return wxEntry(argc, gs_initData.argv);
}
@@ -474,7 +484,7 @@
{
wxCRIT_SECT_LOCKER(lockInit, gs_initData.csInit);
- if ( !--gs_initData.nInitCount )
+ if ( --gs_initData.nInitCount == 0 )
{
wxEntryCleanup();
}
diff -ur wxWidgets-2.6.3/src/common/mimecmn.cpp wxWidgets-2.6.3.3/src/common/mimecmn.cpp
--- wxWidgets-2.6.3/src/common/mimecmn.cpp 2005-07-21 12:19:40.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/mimecmn.cpp 2006-06-19 03:16:37.000000000 -0400
@@ -5,7 +5,7 @@
// Modified by:
// Chris Elliott (biol75@york.ac.uk) 5 Dec 00: write support for Win32
// Created: 23.09.98
-// RCS-ID: $Id: mimecmn.cpp,v 1.40 2005/07/21 16:19:40 ABX Exp $
+// RCS-ID: $Id: mimecmn.cpp,v 1.40.2.2 2006/06/19 07:16:37 VZ Exp $
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows licence (part of wxExtra library)
/////////////////////////////////////////////////////////////////////////////
@@ -494,6 +494,8 @@
bool wxMimeTypesManager::Unassociate(wxFileType *ft)
{
+ EnsureImpl();
+
#if defined(__UNIX__) && !defined(__CYGWIN__) && !defined(__WINE__)
return m_impl->Unassociate(ft);
#else
diff -ur wxWidgets-2.6.3/src/common/object.cpp wxWidgets-2.6.3.3/src/common/object.cpp
--- wxWidgets-2.6.3/src/common/object.cpp 2005-09-17 16:58:55.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/object.cpp 2006-05-29 13:34:48.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by: Ron Lee
// Created: 04/01/98
-// RCS-ID: $Id: object.cpp,v 1.95 2005/09/17 20:58:55 VZ Exp $
+// RCS-ID: $Id: object.cpp,v 1.95.2.1 2006/05/29 17:34:48 MW Exp $
// Copyright: (c) 1998 Julian Smart
// (c) 2001 Ron Lee <ron@debian.org>
// Licence: wxWindows licence
@@ -323,7 +323,7 @@
{
wxASSERT_MSG( m_refData->m_count > 0, _T("invalid ref data count") );
- if ( !--m_refData->m_count )
+ if ( --m_refData->m_count == 0 )
delete m_refData;
m_refData = NULL;
}
diff -ur wxWidgets-2.6.3/src/common/prntbase.cpp wxWidgets-2.6.3.3/src/common/prntbase.cpp
--- wxWidgets-2.6.3/src/common/prntbase.cpp 2005-07-28 18:20:03.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/prntbase.cpp 2006-06-28 08:56:05.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
-// RCS-ID: $Id: prntbase.cpp,v 1.89 2005/07/28 22:20:03 VZ Exp $
+// RCS-ID: $Id: prntbase.cpp,v 1.89.2.1 2006/06/28 12:56:05 JS Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -1483,6 +1483,11 @@
m_pimpl->SetZoom( percent );
}
+int wxPrintPreview::GetZoom() const
+{
+ return m_pimpl->GetZoom();
+}
+
wxPrintDialogData& wxPrintPreview::GetPrintDialogData()
{
return m_pimpl->GetPrintDialogData();
diff -ur wxWidgets-2.6.3/src/common/socket.cpp wxWidgets-2.6.3.3/src/common/socket.cpp
--- wxWidgets-2.6.3/src/common/socket.cpp 2006-02-16 03:53:35.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/socket.cpp 2006-05-29 13:34:48.000000000 -0400
@@ -5,7 +5,7 @@
// Created: April 1997
// Copyright: (C) 1999-1997, Guilhem Lavaux
// (C) 2000-1999, Guillermo Rodriguez Garcia
-// RCS_ID: $Id: socket.cpp,v 1.133.2.2 2006/02/16 08:53:35 JS Exp $
+// RCS_ID: $Id: socket.cpp,v 1.133.2.5 2006/05/29 17:34:48 MW Exp $
// License: see wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -163,7 +163,7 @@
{
// we should be initialized
wxASSERT_MSG( m_countInit, _T("extra call to Shutdown()") );
- if ( !--m_countInit )
+ if ( --m_countInit == 0 )
{
GSocket_Cleanup();
}
@@ -331,11 +331,9 @@
// Return now in one of the following cases:
// - the socket is invalid,
- // - we got all the data,
- // - we got *some* data and we are not using wxSOCKET_WAITALL.
+ // - we got all the data
if ( !m_socket ||
- !nbytes ||
- ((total != 0) && !(m_flags & wxSOCKET_WAITALL)) )
+ !nbytes )
return total;
// Possible combinations (they are checked in this order)
@@ -698,7 +696,7 @@
else
timeout = m_timeout * 1000;
- bool has_event_loop = wxTheApp ? (wxTheApp->GetTraits() ? true : false) : false;
+ bool has_event_loop = wxTheApp->GetTraits() ? (wxTheApp->GetTraits()->GetSocketGUIFunctionsTable() ? true : false) : false;
// Wait in an active polling loop.
//
diff -ur wxWidgets-2.6.3/src/common/strconv.cpp wxWidgets-2.6.3.3/src/common/strconv.cpp
--- wxWidgets-2.6.3/src/common/strconv.cpp 2006-01-18 11:32:46.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/strconv.cpp 2006-04-21 22:14:00.000000000 -0400
@@ -5,7 +5,7 @@
// Ryan Norton, Fredrik Roubert (UTF7)
// Modified by:
// Created: 29/01/98
-// RCS-ID: $Id: strconv.cpp,v 1.160.2.2 2006/01/18 16:32:46 JS Exp $
+// RCS-ID: $Id: strconv.cpp,v 1.160.2.3 2006/04/22 02:14:00 VZ Exp $
// Copyright: (c) 1999 Ove Kaaven, Robert Roebling, Vaclav Slavik
// (c) 2000-2003 Vadim Zeitlin
// (c) 2004 Ryan Norton, Fredrik Roubert
@@ -1637,14 +1637,27 @@
// wouldn't work if reading an incomplete MB char didn't result in an
// error
//
- // note however that using MB_ERR_INVALID_CHARS with CP_UTF7 results in
- // an error (tested under Windows Server 2003) and apparently it is
- // done on purpose, i.e. the function accepts any input in this case
- // and although I'd prefer to return error on ill-formed output, our
- // own wxMBConvUTF7 doesn't detect errors (e.g. lone "+" which is
- // explicitly ill-formed according to RFC 2152) neither so we don't
- // even have any fallback here...
- int flags = m_CodePage == CP_UTF7 ? 0 : MB_ERR_INVALID_CHARS;
+ // Moreover, MB_ERR_INVALID_CHARS is only supported on Win 2K SP4 or
+ // Win XP or newer and it is not supported for UTF-[78] so we always
+ // use our own conversions in this case. See
+ // http://blogs.msdn.com/michkap/archive/2005/04/19/409566.aspx
+ // http://msdn.microsoft.com/library/en-us/intl/unicode_17si.asp
+ if ( m_CodePage == CP_UTF8 )
+ {
+ return wxConvUTF8.MB2WC(buf, psz, n);
+ }
+
+ if ( m_CodePage == CP_UTF7 )
+ {
+ return wxConvUTF7.MB2WC(buf, psz, n);
+ }
+
+ int flags = 0;
+ if ( (m_CodePage < 50000 && m_CodePage != CP_SYMBOL) &&
+ IsAtLeastWin2kSP4() )
+ {
+ flags = MB_ERR_INVALID_CHARS;
+ }
const size_t len = ::MultiByteToWideChar
(
@@ -1656,10 +1669,41 @@
buf ? n : 0 // size of output buffer
);
+ if ( !len )
+ {
+ // function totally failed
+ return (size_t)-1;
+ }
+
+ // if we were really converting and didn't use MB_ERR_INVALID_CHARS,
+ // check if we succeeded, by doing a double trip:
+ if ( !flags && buf )
+ {
+ const size_t mbLen = strlen(psz);
+ wxCharBuffer mbBuf(mbLen);
+ if ( ::WideCharToMultiByte
+ (
+ m_CodePage,
+ 0,
+ buf,
+ -1,
+ mbBuf.data(),
+ mbLen + 1, // size in bytes, not length
+ NULL,
+ NULL
+ ) == 0 ||
+ strcmp(mbBuf, psz) != 0 )
+ {
+ // we didn't obtain the same thing we started from, hence
+ // the conversion was lossy and we consider that it failed
+ return (size_t)-1;
+ }
+ }
+
// note that it returns count of written chars for buf != NULL and size
// of the needed buffer for buf == NULL so in either case the length of
// the string (which never includes the terminating NUL) is one less
- return len ? len - 1 : (size_t)-1;
+ return len - 1;
}
size_t WC2MB(char *buf, const wchar_t *pwz, size_t n) const
@@ -1774,6 +1818,33 @@
return s_isWin98Or2k == 1;
}
+ static bool IsAtLeastWin2kSP4()
+ {
+#ifdef __WXWINCE__
+ return false;
+#else
+ static int s_isAtLeastWin2kSP4 = -1;
+
+ if ( s_isAtLeastWin2kSP4 == -1 )
+ {
+ OSVERSIONINFOEX ver;
+
+ memset(&ver, 0, sizeof(ver));
+ ver.dwOSVersionInfoSize = sizeof(ver);
+ GetVersionEx((OSVERSIONINFO*)&ver);
+
+ s_isAtLeastWin2kSP4 =
+ ((ver.dwMajorVersion > 5) || // Vista+
+ (ver.dwMajorVersion == 5 && ver.dwMinorVersion > 0) || // XP/2003
+ (ver.dwMajorVersion == 5 && ver.dwMinorVersion == 0 &&
+ ver.wServicePackMajor >= 4)) // 2000 SP4+
+ ? 1 : 0;
+ }
+
+ return s_isAtLeastWin2kSP4 == 1;
+#endif
+ }
+
long m_CodePage;
};
diff -ur wxWidgets-2.6.3/src/common/string.cpp wxWidgets-2.6.3.3/src/common/string.cpp
--- wxWidgets-2.6.3/src/common/string.cpp 2005-11-30 08:30:08.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/string.cpp 2006-07-06 06:30:37.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin, Ryan Norton
// Modified by:
// Created: 29/01/98
-// RCS-ID: $Id: string.cpp,v 1.258.2.1 2005/11/30 13:30:08 VZ Exp $
+// RCS-ID: $Id: string.cpp,v 1.258.2.4 2006/07/06 10:30:37 ABX Exp $
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// (c) 2004 Ryan Norton <wxprojects@comcast.net>
// Licence: wxWindows licence
@@ -1642,38 +1642,37 @@
// trims spaces (in the sense of isspace) from left or right side
wxString& wxString::Trim(bool bFromRight)
{
- // first check if we're going to modify the string at all
- if ( !empty() &&
- (
- (bFromRight && wxSafeIsspace(GetChar(Len() - 1))) ||
- (!bFromRight && wxSafeIsspace(GetChar(0u)))
+ // first check if we're going to modify the string at all
+ if ( !empty() &&
+ (
+ (bFromRight && wxSafeIsspace(GetChar(length() - 1))) ||
+ (!bFromRight && wxSafeIsspace(GetChar(0u)))
+ )
)
- )
- {
- if ( bFromRight )
- {
- // find last non-space character
- iterator psz = begin() + length() - 1;
- while ( wxSafeIsspace(*psz) && (psz >= begin()) )
- psz--;
-
- // truncate at trailing space start
- *++psz = wxT('\0');
- erase(psz, end());
- }
- else
{
- // find first non-space character
- iterator psz = begin();
- while ( wxSafeIsspace(*psz) )
- psz++;
+ if ( bFromRight )
+ {
+ // find last non-space character
+ reverse_iterator psz = rbegin();
+ while ( (psz != rend()) && wxSafeIsspace(*psz) )
+ psz++;
- // fix up data and length
- erase(begin(), psz);
+ // truncate at trailing space start
+ erase(psz.base(), end());
+ }
+ else
+ {
+ // find first non-space character
+ iterator psz = begin();
+ while ( (psz != end()) && wxSafeIsspace(*psz) )
+ psz++;
+
+ // fix up data and length
+ erase(begin(), psz);
+ }
}
- }
- return *this;
+ return *this;
}
// adds nCount characters chPad to the string from either side
diff -ur wxWidgets-2.6.3/src/common/url.cpp wxWidgets-2.6.3.3/src/common/url.cpp
--- wxWidgets-2.6.3/src/common/url.cpp 2005-07-28 17:52:50.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/url.cpp 2006-06-11 14:52:42.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Guilhem Lavaux
// Modified by:
// Created: 20/07/1997
-// RCS-ID: $Id: url.cpp,v 1.54 2005/07/28 21:52:50 VZ Exp $
+// RCS-ID: $Id: url.cpp,v 1.54.2.1 2006/06/11 18:52:42 KH Exp $
// Copyright: (c) 1997, 1998 Guilhem Lavaux
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -185,7 +185,9 @@
#if wxUSE_PROTOCOL_HTTP
if (!m_useProxy)
#endif // wxUSE_PROTOCOL_HTTP
- delete m_protocol;
+ if (m_protocol)
+ // Need to safely delete the socket (pending events)
+ m_protocol->Destroy();
}
wxURL::~wxURL()
diff -ur wxWidgets-2.6.3/src/common/utilscmn.cpp wxWidgets-2.6.3.3/src/common/utilscmn.cpp
--- wxWidgets-2.6.3/src/common/utilscmn.cpp 2005-10-06 09:29:33.000000000 -0400
+++ wxWidgets-2.6.3.3/src/common/utilscmn.cpp 2006-06-25 20:01:03.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 29/01/98
-// RCS-ID: $Id: utilscmn.cpp,v 1.145.2.1 2005/10/06 13:29:33 VZ Exp $
+// RCS-ID: $Id: utilscmn.cpp,v 1.145.2.4 2006/06/26 00:01:03 VZ Exp $
// Copyright: (c) 1998 Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -93,6 +93,13 @@
#include "wx/msw/wince/time.h"
#endif
+#ifdef __WXMAC__
+#include "wx/mac/private.h"
+#ifndef __DARWIN__
+#include "InternetConfig.h"
+#endif
+#endif
+
#if !defined(__MWERKS__) && !defined(__WXWINCE__)
#include <sys/types.h>
#include <sys/stat.h>
@@ -100,6 +107,8 @@
#if defined(__WXMSW__)
#include "wx/msw/private.h"
+ #include "wx/msw/registry.h"
+ #include <shellapi.h> // needed for SHELLEXECUTEINFO
#endif
#if wxUSE_BASE
@@ -531,189 +540,99 @@
// Launch default browser
// ----------------------------------------------------------------------------
-bool wxLaunchDefaultBrowser(const wxString& url)
+bool wxLaunchDefaultBrowser(const wxString& urlOrig)
{
- bool success = true;
-
- wxString finalurl = url;
-
- //if it isn't a full url, try appending http:// to it
- if(wxURI(url).IsReference())
- finalurl = wxString(wxT("http://")) + url;
-
-#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
-
- wxString command;
+ // set the scheme of url to http if it does not have one
+ wxString url(urlOrig);
+ if ( !wxURI(url).HasScheme() )
+ url.Prepend(wxT("http://"));
- // ShellExecute() always opens in the same window,
- // so do it manually for new window (from Mahogany)
- wxRegKey key(wxRegKey::HKCR, url.BeforeFirst(':') + wxT("\\shell\\open"));
- if ( key.Exists() )
+#if defined(__WXMSW__)
+ WinStruct<SHELLEXECUTEINFO> sei;
+ sei.lpFile = url.c_str();
+ sei.lpVerb = _T("open");
+ sei.nShow = SW_SHOWNORMAL;
+
+ ::ShellExecuteEx(&sei);
+
+ const int nResult = (int) sei.hInstApp;
+
+ // Firefox returns file not found for some reason, so make an exception
+ // for it
+ if ( nResult > 32 || nResult == SE_ERR_FNF )
{
- wxRegKey keyDDE(key, wxT("DDEExec"));
- if ( keyDDE.Exists() )
- {
- wxRegKey keyTopic(keyDDE, wxT("topic"));
- wxString ddeTopic = keyTopic.QueryDefaultValue();
-
- // we only know the syntax of WWW_OpenURL DDE request
- if ( ddeTopic == wxT("WWW_OpenURL") )
- {
- wxString ddeCmd = keyDDE.QueryDefaultValue();
-
- // this is a bit naive but should work as -1 can't appear
- // elsewhere in the DDE topic, normally
- if ( ddeCmd.Replace(wxT("-1"), wxT("0"),
- false /* only first occurence */) == 1 )
- {
- // and also replace the parameters
- if ( ddeCmd.Replace(wxT("%1"), url, false) == 1 )
- {
- // magic incantation understood by wxMSW
- command << wxT("WX_DDE#")
- << wxRegKey(key, wxT("command")).QueryDefaultValue() << wxT('#')
- << wxRegKey(keyDDE, wxT("application")).QueryDefaultValue()
- << wxT('#') << ddeTopic << wxT('#')
- << ddeCmd;
- }
- }
- }
- }
- }
-
- //Try wxExecute - if it doesn't work or the regkey stuff
- //above failed, fallback to opening the file in the same
- //browser window
- if ( command.empty() || !wxExecute(command) )
- {
- int nResult; //HINSTANCE error code
-
-#if !defined(__WXWINCE__)
- // CYGWIN and MINGW may have problems - so load ShellExecute
- // dynamically
- typedef HINSTANCE (WINAPI *LPShellExecute)(HWND hwnd, const wxChar* lpOperation,
- const wxChar* lpFile,
- const wxChar* lpParameters,
- const wxChar* lpDirectory,
- INT nShowCmd);
-
- HINSTANCE hShellDll = ::LoadLibrary(wxT("shell32.dll"));
- if(hShellDll == NULL)
- return false;
-
- LPShellExecute lpShellExecute =
- (LPShellExecute) ::GetProcAddress(hShellDll,
- wxString::Format(wxT("ShellExecute%s"),
-
-#if wxUSE_UNICODE
- wxT("W")
-#else
- wxT("A")
-#endif
-#ifdef __WXWINCE__
- )
-#else
- ).mb_str(wxConvLocal)
-#endif
- );
- if(lpShellExecute == NULL)
- return false;
-
- // Windows sometimes doesn't open the browser correctly when using mime
- // types, so do ShellExecute - i.e. start <url> (from James Carroll)
- nResult = (int) (*lpShellExecute)(NULL, NULL, finalurl.c_str(),
- NULL, wxT(""), SW_SHOWNORMAL);
- // Unload Shell32.dll
- ::FreeLibrary(hShellDll);
-#else
- //Windows CE does not have normal ShellExecute - but it has
- //ShellExecuteEx all the way back to version 1.0
-
-
- //Set up the SHELLEXECUTEINFO structure to pass to ShellExecuteEx
- SHELLEXECUTEINFO sei;
- sei.cbSize = sizeof(SHELLEXECUTEINFO);
- sei.dwHotKey = 0;
- sei.fMask = 0;
- sei.hIcon = NULL;
- sei.hInstApp = NULL;
- sei.hkeyClass = NULL;
- // Not in WinCE
-#if 0
- sei.hMonitor = NULL;
-#endif
- sei.hProcess = NULL;
- sei.hwnd = NULL;
- sei.lpClass = NULL;
- sei.lpDirectory = NULL;
- sei.lpFile = finalurl.c_str();
- sei.lpIDList = NULL;
- sei.lpParameters = NULL;
- sei.lpVerb = TEXT("open");
- sei.nShow = SW_SHOWNORMAL;
-
- //Call ShellExecuteEx
- ShellExecuteEx(&sei);
-
- //Get error code
- nResult = (int) sei.hInstApp;
-#endif
-
- // Hack for Firefox (returns file not found for some reason)
- // from Angelo Mandato's wxHyperlinksCtrl
- // HINSTANCE_ERROR == 32 (HINSTANCE_ERROR does not exist on Windows CE)
- if (nResult <= 32 && nResult != SE_ERR_FNF)
- return false;
-
#ifdef __WXDEBUG__
// Log something if SE_ERR_FNF happens
- if(nResult == SE_ERR_FNF)
- wxLogDebug(wxT("Got SE_ERR_FNF from ShellExecute - maybe FireFox"));
+ if ( nResult == SE_ERR_FNF )
+ wxLogDebug(wxT("SE_ERR_FNF from ShellExecute -- maybe FireFox?"));
+#endif // __WXDEBUG__
+ return true;
+ }
+#elif defined(__WXMAC__)
+ OSStatus err;
+ ICInstance inst;
+ SInt32 startSel;
+ SInt32 endSel;
+
+ err = ICStart(&inst, 'STKA'); // put your app creator code here
+ if (err == noErr)
+ {
+#if !TARGET_CARBON
+ err = ICFindConfigFile(inst, 0, NULL);
#endif
+ if (err == noErr)
+ {
+ ConstStr255Param hint = 0;
+ startSel = 0;
+ endSel = url.Length();
+ err = ICLaunchURL(inst, hint, url.fn_str(), endSel, &startSel, &endSel);
+ if (err != noErr)
+ wxLogDebug(wxT("ICLaunchURL error %d"), (int) err);
+ }
+ ICStop(inst);
+ return true;
}
-
-#elif wxUSE_MIMETYPE
-
- // Non-windows way
- wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension (_T("html"));
- if (!ft)
+ else
{
- wxLogError(_T("No default application can open .html extension"));
+ wxLogDebug(wxT("ICStart error %d"), (int) err);
return false;
}
-
- wxString mt;
- ft->GetMimeType(&mt);
-
+#elif wxUSE_MIMETYPE
+ // Non-windows way
+ bool ok = false;
wxString cmd;
- bool ok = ft->GetOpenCommand (&cmd, wxFileType::MessageParameters(finalurl));
- delete ft;
- if (ok)
+ wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(_T("html"));
+ if ( ft )
{
- if ( !wxExecute(cmd) )
- {
- wxLogError(_T("Failed to launch application for wxLaunchDefaultBrowser"));
- return false;
- }
+ wxString mt;
+ ft->GetMimeType(&mt);
+
+ ok = ft->GetOpenCommand(&cmd, wxFileType::MessageParameters(url));
+ delete ft;
}
- else
+
+ if ( !ok || cmd.empty() )
{
// fallback to checking for the BROWSER environment variable
cmd = wxGetenv(wxT("BROWSER"));
- if ( cmd.empty() || !wxExecute(cmd + wxT(" ") + finalurl) )
- return false;
+ if ( !cmd.empty() )
+ cmd << _T(' ') << url;
}
+ ok = ( !cmd.empty() && wxExecute(cmd) );
+ if (ok)
+ return ok;
-#else // !wxUSE_MIMETYPE && !(WXMSW && wxUSE_NATIVE_CONFIG)
+ // no file type for HTML extension
+ wxLogError(_T("No default application configured for HTML files."));
- success = false;
+#endif // !wxUSE_MIMETYPE && !__WXMSW__
-#endif
+ wxLogSysError(_T("Failed to open URL \"%s\" in default browser."),
+ url.c_str());
- //success - hopefully
- return success;
+ return false;
}
// ----------------------------------------------------------------------------
diff -ur wxWidgets-2.6.3/src/common/wincmn.cpp wxWidgets-2.6.3.3/src/common/wincmn.cpp
--- wxWidgets-2.6.3/src/common/wincmn.cpp 2006-03-04 15:52:21.000000000 -0500
+++ wxWidgets-2.6.3.3/src/common/wincmn.cpp 2006-05-29 13:34:49.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart, Vadim Zeitlin
// Modified by:
// Created: 13/07/98
-// RCS-ID: $Id: wincmn.cpp,v 1.237.2.5 2006/03/04 20:52:21 ABX Exp $
+// RCS-ID: $Id: wincmn.cpp,v 1.237.2.7 2006/05/29 17:34:49 MW Exp $
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -217,8 +217,10 @@
// VZ: this one shouldn't exist...
m_isBeingDeleted = false;
+#if WX_USE_RESERVED_VIRTUALS
// Reserved for future use
m_windowReserved = NULL;
+#endif
}
// common part of window creation process
@@ -1830,7 +1832,7 @@
// If there is a sizer, use it instead of the constraints
if ( GetSizer() )
{
- int w, h;
+ int w = 0, h = 0;
GetVirtualSize(&w, &h);
GetSizer()->SetDimension( 0, 0, w, h );
}
diff -ur wxWidgets-2.6.3/src/generic/calctrl.cpp wxWidgets-2.6.3.3/src/generic/calctrl.cpp
--- wxWidgets-2.6.3/src/generic/calctrl.cpp 2006-01-18 05:38:54.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/calctrl.cpp 2006-06-14 07:41:42.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 29.12.99
-// RCS-ID: $Id: calctrl.cpp,v 1.70.2.3 2006/01/18 10:38:54 JS Exp $
+// RCS-ID: $Id: calctrl.cpp,v 1.70.2.4 2006/06/14 11:41:42 JS Exp $
// Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -788,16 +788,27 @@
wxSize sizeCombo = m_comboMonth->GetSize();
wxSize sizeStatic = m_staticMonth->GetSize();
wxSize sizeSpin = m_spinYear->GetSize();
- int dy = (sizeCombo.y - sizeStatic.y) / 2;
+
+ // wxMSW sometimes reports the wrong combo height,
+ // so on this platform we'll use the spin control
+ // height instead.
+#ifdef __WXMSW__
+ int maxHeight = sizeSpin.y;
+ int requiredSpinHeight = -1;
+#else
+ int maxHeight = sizeCombo.y;
+ int requiredSpinHeight = sizeCombo.y;
+#endif
+ int dy = (maxHeight - sizeStatic.y) / 2;
m_comboMonth->Move(x, y);
- m_staticMonth->SetSize(x, y + dy, sizeCombo.x, sizeStatic.y);
+ m_staticMonth->SetSize(x, y + dy, sizeCombo.x, -1, sizeStatic.y);
int xDiff = sizeCombo.x + HORZ_MARGIN;
- m_spinYear->SetSize(x + xDiff, y, width - xDiff, sizeCombo.y);
+ m_spinYear->SetSize(x + xDiff, y, width - xDiff, requiredSpinHeight);
m_staticYear->SetSize(x + xDiff, y + dy, width - xDiff, sizeStatic.y);
- yDiff = wxMax(sizeSpin.y, sizeCombo.y) + VERT_MARGIN;
+ yDiff = wxMax(sizeSpin.y, maxHeight) + VERT_MARGIN;
}
else // no controls on the top
{
diff -ur wxWidgets-2.6.3/src/generic/dirctrlg.cpp wxWidgets-2.6.3.3/src/generic/dirctrlg.cpp
--- wxWidgets-2.6.3/src/generic/dirctrlg.cpp 2006-03-05 15:50:25.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/dirctrlg.cpp 2006-06-27 03:55:15.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Harm van der Heijden, Robert Roebling, Julian Smart
// Modified by:
// Created: 12/12/98
-// RCS-ID: $Id: dirctrlg.cpp,v 1.129.2.5 2006/03/05 20:50:25 VZ Exp $
+// RCS-ID: $Id: dirctrlg.cpp,v 1.129.2.6 2006/06/27 07:55:15 JS Exp $
// Copyright: (c) Harm van der Heijden, Robert Roebling and Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -121,13 +121,8 @@
path.Printf(wxT("%c:\\"), driveBuffer[i]);
name.Printf(wxT("%c:"), driveBuffer[i]);
-#if !defined(__WXWINCE__)
- wxChar pname[52];
- if (GetVolumeInformation( path.c_str(), pname, 52, NULL, NULL, NULL, NULL, 0 ))
- {
- name << _T(' ') << pname;
- }
-#endif // __WXWINCE__
+ // Do not use GetVolumeInformation to further decorate the
+ // name, since it can cause severe delays on network drives.
int imageId;
int driveType = ::GetDriveType(path);
diff -ur wxWidgets-2.6.3/src/generic/dragimgg.cpp wxWidgets-2.6.3.3/src/generic/dragimgg.cpp
--- wxWidgets-2.6.3/src/generic/dragimgg.cpp 2006-01-21 11:46:38.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/dragimgg.cpp 2006-05-29 13:34:52.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 29/2/2000
-// RCS-ID: $Id: dragimgg.cpp,v 1.17.2.1 2006/01/21 16:46:38 JS Exp $
+// RCS-ID: $Id: dragimgg.cpp,v 1.17.2.2 2006/05/29 17:34:52 MW Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -128,7 +128,7 @@
{
wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
- long w, h;
+ long w = 0, h = 0;
wxScreenDC dc;
dc.SetFont(font);
dc.GetTextExtent(str, & w, & h);
diff -ur wxWidgets-2.6.3/src/generic/filedlgg.cpp wxWidgets-2.6.3.3/src/generic/filedlgg.cpp
--- wxWidgets-2.6.3/src/generic/filedlgg.cpp 2006-03-06 05:44:48.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/filedlgg.cpp 2006-05-23 06:33:47.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Robert Roebling
// Modified by:
// Created: 12/12/98
-// RCS-ID: $Id: filedlgg.cpp,v 1.143.2.2 2006/03/06 10:44:48 JS Exp $
+// RCS-ID: $Id: filedlgg.cpp,v 1.143.2.3 2006/05/23 10:33:47 JS Exp $
// Copyright: (c) Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -1307,13 +1307,21 @@
// No double-click on most WinCE devices, so do action immediately.
HandleAction( filename );
#else
- if (filename == wxT("..")) return;
+ if (filename == wxT(".."))
+ {
+ inSelected = false;
+ return;
+ }
wxString dir = m_list->GetDir();
if (!IsTopMostDir(dir))
dir += wxFILE_SEP_PATH;
dir += filename;
- if (wxDirExists(dir)) return;
+ if (wxDirExists(dir))
+ {
+ inSelected = false;
+ return;
+ }
ignoreChanges = true;
m_text->SetValue( filename );
diff -ur wxWidgets-2.6.3/src/generic/fontdlgg.cpp wxWidgets-2.6.3.3/src/generic/fontdlgg.cpp
--- wxWidgets-2.6.3/src/generic/fontdlgg.cpp 2006-03-02 07:57:19.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/fontdlgg.cpp 2006-05-29 13:34:52.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
-// RCS-ID: $Id: fontdlgg.cpp,v 1.51.2.2 2006/03/02 12:57:19 JS Exp $
+// RCS-ID: $Id: fontdlgg.cpp,v 1.51.2.3 2006/05/29 17:34:52 MW Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -84,7 +84,7 @@
{
dc.SetFont(font);
// Calculate vertical centre
- long w, h;
+ long w = 0, h = 0;
dc.GetTextExtent( wxT("X"), &w, &h);
dc.SetTextForeground(GetForegroundColour());
dc.SetClippingRegion(2, 2, size.x-4, size.y-4);
diff -ur wxWidgets-2.6.3/src/generic/grid.cpp wxWidgets-2.6.3.3/src/generic/grid.cpp
--- wxWidgets-2.6.3/src/generic/grid.cpp 2006-03-07 09:50:50.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/grid.cpp 2006-07-08 12:34:29.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Michael Bedward (based on code by Julian Smart, Robin Dunn)
// Modified by: Robin Dunn, Vadim Zeitlin
// Created: 1/08/1999
-// RCS-ID: $Id: grid.cpp,v 1.345.2.3 2006/03/07 14:50:50 JS Exp $
+// RCS-ID: $Id: grid.cpp,v 1.345.2.5 2006/07/08 16:34:29 RD Exp $
// Copyright: (c) Michael Bedward (mbedward@ozemail.com.au)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -6200,6 +6200,32 @@
claimed = GetEventHandler()->ProcessEvent(gridEvt);
vetoed = !gridEvt.IsAllowed();
}
+ else if ( type == wxEVT_GRID_LABEL_LEFT_CLICK ||
+ type == wxEVT_GRID_LABEL_LEFT_DCLICK ||
+ type == wxEVT_GRID_LABEL_RIGHT_CLICK ||
+ type == wxEVT_GRID_LABEL_RIGHT_DCLICK )
+ {
+ wxPoint pos = mouseEv.GetPosition();
+
+ if ( mouseEv.GetEventObject() == GetGridRowLabelWindow() )
+ pos.y += GetColLabelSize();
+ if ( mouseEv.GetEventObject() == GetGridColLabelWindow() )
+ pos.x += GetRowLabelSize();
+
+ wxGridEvent gridEvt( GetId(),
+ type,
+ this,
+ row, col,
+ pos.x,
+ pos.y,
+ false,
+ mouseEv.ControlDown(),
+ mouseEv.ShiftDown(),
+ mouseEv.AltDown(),
+ mouseEv.MetaDown() );
+ claimed = GetEventHandler()->ProcessEvent(gridEvt);
+ vetoed = !gridEvt.IsAllowed();
+ }
else
{
wxGridEvent gridEvt( GetId(),
@@ -7455,8 +7481,8 @@
int vertAlign,
int textOrientation )
{
- long textWidth, textHeight;
- long lineWidth, lineHeight;
+ long textWidth = 0, textHeight = 0;
+ long lineWidth = 0, lineHeight = 0;
int nLines;
dc.SetClippingRegion( rect );
@@ -7583,7 +7609,7 @@
{
long w = 0;
long h = 0;
- long lineW, lineH;
+ long lineW = 0, lineH = 0;
size_t i;
for ( i = 0; i < lines.GetCount(); i++ )
diff -ur wxWidgets-2.6.3/src/generic/listctrl.cpp wxWidgets-2.6.3.3/src/generic/listctrl.cpp
--- wxWidgets-2.6.3/src/generic/listctrl.cpp 2006-03-10 16:37:20.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/listctrl.cpp 2006-04-02 09:39:01.000000000 -0400
@@ -3,7 +3,7 @@
// Purpose: generic implementation of wxListCtrl
// Author: Robert Roebling
// Vadim Zeitlin (virtual list control support)
-// Id: $Id: listctrl.cpp,v 1.378.2.7 2006/03/10 21:37:20 RD Exp $
+// Id: $Id: listctrl.cpp,v 1.378.2.9 2006/04/02 13:39:01 VZ Exp $
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -2914,6 +2914,7 @@
void wxListMainWindow::OnMouse( wxMouseEvent &event )
{
+
#ifdef __WXMAC__
// On wxMac we can't depend on the EVT_KILL_FOCUS event to properly
// shutdown the edit control when the mouse is clicked elsewhere on the
@@ -2937,7 +2938,15 @@
}
if ( !HasCurrent() || IsEmpty() )
+ {
+ if (event.RightDown())
+ {
+ SendNotify( (size_t)-1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, event.GetPosition() );
+ // Allow generation of context menu event
+ event.Skip();
+ }
return;
+ }
if (m_dirty)
return;
@@ -3005,11 +3014,17 @@
m_dragCount = 0;
}
- if ( !hitResult )
+ if ( !hitResult )
{
- // outside of any item
- return;
- }
+ if (event.RightDown())
+ {
+ SendNotify( (size_t) -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, event.GetPosition() );
+ // Allow generation of context menu event
+ event.Skip();
+ }
+
+ return;
+ }
bool forceClick = false;
if (event.ButtonDClick())
@@ -3319,6 +3334,10 @@
case WXK_PRIOR:
{
+ // avoid floating point exception
+ if (m_linesPerPage == 0)
+ m_linesPerPage = 1;
+
int steps = InReportView() ? m_linesPerPage - 1 : m_current % m_linesPerPage;
int index = m_current - steps;
@@ -3331,6 +3350,10 @@
case WXK_NEXT:
{
+ // avoid floating point exception
+ if (m_linesPerPage == 0)
+ m_linesPerPage = 1;
+
int steps = InReportView()
? m_linesPerPage - 1
: m_linesPerPage - (m_current % m_linesPerPage) - 1;
@@ -4667,7 +4690,13 @@
void wxListMainWindow::OnScroll(wxScrollWinEvent& event)
{
- // update our idea of which lines are shown when we redraw the window the
+ int cw, ch, vw, vh;
+ GetVirtualSize(&vw, &vh);
+ GetClientSize(&cw, &ch);
+ if (event.GetOrientation() == wxVERTICAL && ch >= vh)
+ return;
+
+ // update our idea of which lines are shown when we redraw the window the
// next time
ResetVisibleLinesRange();
@@ -5575,12 +5604,12 @@
#if wxABI_VERSION >= 20603
void wxGenericListCtrl::DoClientToScreen( int *x, int *y ) const
{
- return m_mainWin->DoClientToScreen(x, y);
+ m_mainWin->DoClientToScreen(x, y);
}
void wxGenericListCtrl::DoScreenToClient( int *x, int *y ) const
{
- return m_mainWin->DoScreenToClient(x, y);
+ m_mainWin->DoScreenToClient(x, y);
}
#endif // 2.6.3
diff -ur wxWidgets-2.6.3/src/generic/notebook.cpp wxWidgets-2.6.3.3/src/generic/notebook.cpp
--- wxWidgets-2.6.3/src/generic/notebook.cpp 2005-09-17 17:00:47.000000000 -0400
+++ wxWidgets-2.6.3.3/src/generic/notebook.cpp 2006-05-29 16:37:07.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 17/09/98
-// RCS-ID: $Id: notebook.cpp,v 1.36 2005/09/17 21:00:47 VZ Exp $
+// RCS-ID: $Id: notebook.cpp,v 1.36.2.1 2006/05/29 20:37:07 MW Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
@@ -76,6 +76,12 @@
// Private class
// ============================================================================
+WX_DECLARE_HASH_MAP(int, wxNotebookPage*, wxIntegerHash, wxIntegerEqual,
+ wxIntToNotebookPageHashMap);
+
+WX_DECLARE_HASH_MAP(wxNotebookPage*, int, wxPointerHash, wxPointerEqual,
+ wxNotebookPageToIntHashMap);
+
// This reuses wxTabView to draw the tabs.
class WXDLLEXPORT wxNotebookTabView: public wxTabView
{
@@ -89,10 +95,24 @@
// Allows vetoing
virtual bool OnTabPreActivate(int activateId, int deactivateId);
+ // map integer ids used by wxTabView to wxNotebookPage pointers
+ int GetId(wxNotebookPage *page);
+ wxNotebookPage *GetPage(int id) { return m_idToPage[id]; }
+
protected:
- wxNotebook* m_notebook;
+ wxNotebook* m_notebook;
+
+private:
+ wxIntToNotebookPageHashMap m_idToPage;
+ wxNotebookPageToIntHashMap m_pageToId;
+ int m_nextid;
};
+static int GetPageId(wxTabView *tabview, wxNotebookPage *page)
+{
+ return wx_static_cast(wxNotebookTabView*, tabview)->GetId(page);
+}
+
// ----------------------------------------------------------------------------
// wxNotebook construction
// ----------------------------------------------------------------------------
@@ -167,7 +187,7 @@
wxNotebookPage* pPage = GetPage(nPage);
- m_tabView->SetTabSelection((int) (long) pPage);
+ m_tabView->SetTabSelection(GetPageId(m_tabView, pPage));
// TODO
return 0;
@@ -192,7 +212,7 @@
wxNotebookPage* page = GetPage(nPage);
if (page)
{
- m_tabView->SetTabText((int) (long) page, strText);
+ m_tabView->SetTabText(GetPageId(m_tabView, page), strText);
Refresh();
return true;
}
@@ -206,7 +226,7 @@
wxNotebookPage* page = ((wxNotebook*)this)->GetPage(nPage);
if (page)
- return m_tabView->GetTabText((int) (long) page);
+ return m_tabView->GetTabText(GetPageId(m_tabView, page));
else
return wxEmptyString;
}
@@ -262,7 +282,7 @@
wxNotebookPage* pPage = GetPage(nPage);
- m_tabView->RemoveTab((int) (long) pPage);
+ m_tabView->RemoveTab(GetPageId(m_tabView, pPage));
m_pages.Remove(pPage);
delete pPage;
@@ -276,7 +296,7 @@
{
m_nSelection = -1;
- m_tabView->SetTabSelection((int) (long) GetPage(0), false);
+ m_tabView->SetTabSelection(GetPageId(m_tabView, GetPage(0)), false);
if (m_nSelection != 0)
ChangePage(-1, 0);
@@ -311,7 +331,7 @@
wxNotebookPage* pPage = GetPage(nPage);
- m_tabView->RemoveTab((int) (long) pPage);
+ m_tabView->RemoveTab(GetPageId(m_tabView, pPage));
m_pages.Remove(pPage);
@@ -390,7 +410,7 @@
wxASSERT( pPage != NULL );
wxCHECK( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), false );
- m_tabView->AddTab((int) (long) pPage, strText);
+ m_tabView->AddTab(GetPageId(m_tabView, pPage), strText);
if (!bSelect)
pPage->Show(false);
@@ -402,7 +422,7 @@
{
// This will cause ChangePage to be called, via OnSelPage
- m_tabView->SetTabSelection((int) (long) pPage, true);
+ m_tabView->SetTabSelection(GetPageId(m_tabView, pPage), true);
}
// some page must be selected: either this one or the first one if there is
@@ -656,7 +676,8 @@
IMPLEMENT_CLASS(wxNotebookTabView, wxTabView)
-wxNotebookTabView::wxNotebookTabView(wxNotebook *notebook, long style): wxTabView(style)
+wxNotebookTabView::wxNotebookTabView(wxNotebook *notebook, long style)
+ : wxTabView(style), m_nextid(1)
{
m_notebook = notebook;
@@ -669,6 +690,19 @@
{
}
+int wxNotebookTabView::GetId(wxNotebookPage *page)
+{
+ int& id = m_pageToId[page];
+
+ if (!id)
+ {
+ id = m_nextid++;
+ m_idToPage[id] = page;
+ }
+
+ return id;
+}
+
// Called when a tab is activated
void wxNotebookTabView::OnTabActivate(int activateId, int deactivateId)
{
@@ -679,8 +713,8 @@
// Translate from wxTabView's ids (which aren't position-dependent)
// to wxNotebook's (which are).
- wxNotebookPage* pActive = (wxNotebookPage*) activateId;
- wxNotebookPage* pDeactive = (wxNotebookPage*) deactivateId;
+ wxNotebookPage* pActive = GetPage(activateId);
+ wxNotebookPage* pDeactive = GetPage(deactivateId);
int activatePos = m_notebook->FindPagePosition(pActive);
int deactivatePos = m_notebook->FindPagePosition(pDeactive);
@@ -702,8 +736,8 @@
// Translate from wxTabView's ids (which aren't position-dependent)
// to wxNotebook's (which are).
- wxNotebookPage* pActive = (wxNotebookPage*) activateId;
- wxNotebookPage* pDeactive = (wxNotebookPage*) deactivateId;
+ wxNotebookPage* pActive = GetPage(activateId);
+ wxNotebookPage* pDeactive = GetPage(deactivateId);
int activatePos = m_notebook->FindPagePosition(pActive);
int deactivatePos = m_notebook->FindPagePosition(pDeactive);
diff -ur wxWidgets-2.6.3/src/generic/progdlgg.cpp wxWidgets-2.6.3.3/src/generic/progdlgg.cpp
--- wxWidgets-2.6.3/src/generic/progdlgg.cpp 2005-04-07 10:52:22.000000000 -0400
+++ wxWidgets-2.6.3.3/src/generic/progdlgg.cpp 2006-05-29 13:34:54.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Karsten Ballüder
// Modified by:
// Created: 09.05.1999
-// RCS-ID: $Id: progdlgg.cpp,v 1.93 2005/04/07 14:52:22 ABX Exp $
+// RCS-ID: $Id: progdlgg.cpp,v 1.93.2.1 2006/05/29 17:34:54 MW Exp $
// Copyright: (c) Karsten Ballüder
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -145,7 +145,7 @@
wxClientDC dc(this);
dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
- long widthText;
+ long widthText = 0;
dc.GetTextExtent(message, &widthText, NULL, NULL, NULL, NULL);
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
diff -ur wxWidgets-2.6.3/src/generic/sashwin.cpp wxWidgets-2.6.3.3/src/generic/sashwin.cpp
--- wxWidgets-2.6.3/src/generic/sashwin.cpp 2004-12-14 15:41:53.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/sashwin.cpp 2006-05-29 13:34:55.000000000 -0400
@@ -6,7 +6,7 @@
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
-// RCS-ID: $Id: sashwin.cpp,v 1.46 2004/12/14 20:41:53 ABX Exp $
+// RCS-ID: $Id: sashwin.cpp,v 1.46.2.1 2006/05/29 17:34:55 MW Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -98,7 +98,7 @@
void wxSashWindow::OnMouseEvent(wxMouseEvent& event)
{
- wxCoord x, y;
+ wxCoord x = 0, y = 0;
event.GetPosition(&x, &y);
wxSashEdgePosition sashHit = SashHitTest(x, y);
diff -ur wxWidgets-2.6.3/src/generic/scrlwing.cpp wxWidgets-2.6.3.3/src/generic/scrlwing.cpp
--- wxWidgets-2.6.3/src/generic/scrlwing.cpp 2006-03-13 10:10:38.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/scrlwing.cpp 2006-06-09 10:04:57.000000000 -0400
@@ -5,7 +5,7 @@
// Modified by: Vadim Zeitlin on 31.08.00: wxScrollHelper allows to implement.
// Ron Lee on 10.4.02: virtual size / auto scrollbars et al.
// Created: 01/02/97
-// RCS-ID: $Id: scrlwing.cpp,v 1.69.2.1 2006/03/13 15:10:38 JS Exp $
+// RCS-ID: $Id: scrlwing.cpp,v 1.69.2.3 2006/06/09 14:04:57 JS Exp $
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -882,7 +882,7 @@
if (((x_pos == -1) || (x_pos == m_xScrollPosition)) &&
((y_pos == -1) || (y_pos == m_yScrollPosition))) return;
- int w, h;
+ int w = 0, h = 0;
GetTargetSize(&w, &h);
if ((x_pos != -1) && (m_xScrollPixelsPerLine))
@@ -1278,7 +1278,7 @@
// If we're the scroll target, take into account the
// virtual size and scrolled position of the window.
- int x, y, w, h;
+ int x = 0, y = 0, w = 0, h = 0;
CalcScrolledPosition(0,0, &x,&y);
GetVirtualSize(&w, &h);
GetSizer()->SetDimension(x, y, w, h);
@@ -1319,6 +1319,7 @@
{
wxSize best;
+ bool addClientSizeDiff = true;
if ( GetSizer() )
{
wxSize b = GetSizer()->GetMinSize();
@@ -1333,7 +1334,14 @@
if ( GetMinSize().IsFullySpecified() )
minSize = GetMinSize();
else
+ {
minSize = GetSize();
+
+ // If we're using the overall size, we don't want to then
+ // add to it, or we'll successively grow the window over
+ // multiple layouts.
+ addClientSizeDiff = false;
+ }
if (ppuX > 0)
b.x = minSize.x;
@@ -1345,9 +1353,12 @@
return wxWindow::DoGetBestSize();
// Add any difference between size and client size
- wxSize diff = GetSize() - GetClientSize();
- best.x += wxMax(0, diff.x);
- best.y += wxMax(0, diff.y);
+ if (addClientSizeDiff)
+ {
+ wxSize diff = GetSize() - GetClientSize();
+ best.x += wxMax(0, diff.x);
+ best.y += wxMax(0, diff.y);
+ }
return best;
}
diff -ur wxWidgets-2.6.3/src/generic/statusbr.cpp wxWidgets-2.6.3.3/src/generic/statusbr.cpp
--- wxWidgets-2.6.3/src/generic/statusbr.cpp 2005-06-07 15:01:45.000000000 -0400
+++ wxWidgets-2.6.3.3/src/generic/statusbr.cpp 2006-05-29 13:34:55.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
-// RCS-ID: $Id: statusbr.cpp,v 1.68 2005/06/07 19:01:45 ABX Exp $
+// RCS-ID: $Id: statusbr.cpp,v 1.68.2.1 2006/05/29 17:34:55 MW Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -237,7 +237,7 @@
wxString text(GetStatusText(i));
- long x, y;
+ long x = 0, y = 0;
dc.GetTextExtent(text, &x, &y);
diff -ur wxWidgets-2.6.3/src/generic/treectlg.cpp wxWidgets-2.6.3.3/src/generic/treectlg.cpp
--- wxWidgets-2.6.3/src/generic/treectlg.cpp 2006-02-27 16:49:48.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/treectlg.cpp 2006-05-29 13:34:56.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Robert Roebling
// Created: 01/02/97
// Modified: 22/10/98 - almost total rewrite, simpler interface (VZ)
-// Id: $Id: treectlg.cpp,v 1.173.2.4 2006/02/27 21:49:48 RR Exp $
+// Id: $Id: treectlg.cpp,v 1.173.2.5 2006/05/29 17:34:56 MW Exp $
// Copyright: (c) 1998 Robert Roebling and Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -3557,7 +3557,7 @@
{
wxCHECK_RET( m_freezeCount > 0, _T("thawing unfrozen tree control?") );
- if ( !--m_freezeCount )
+ if ( --m_freezeCount == 0 )
{
Refresh();
}
diff -ur wxWidgets-2.6.3/src/generic/vlbox.cpp wxWidgets-2.6.3.3/src/generic/vlbox.cpp
--- wxWidgets-2.6.3/src/generic/vlbox.cpp 2006-01-18 04:50:37.000000000 -0500
+++ wxWidgets-2.6.3.3/src/generic/vlbox.cpp 2006-04-14 11:24:13.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 31.05.03
-// RCS-ID: $Id: vlbox.cpp,v 1.22.2.1 2006/01/18 09:50:37 JS Exp $
+// RCS-ID: $Id: vlbox.cpp,v 1.22.2.2 2006/04/14 15:24:13 VZ Exp $
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
// License: wxWindows license
///////////////////////////////////////////////////////////////////////////////
@@ -378,8 +378,8 @@
// the update rectangle
wxRect rectUpdate = GetUpdateClientRect();
- // Fill it with background colour
- dc.SetBrush(GetBackgroundColour());
+ // fill it with background colour
+ dc.SetBackground(GetBackgroundColour());
dc.Clear();
// the bounding rectangle of the current line
diff -ur wxWidgets-2.6.3/src/gtk/clipbrd.cpp wxWidgets-2.6.3.3/src/gtk/clipbrd.cpp
--- wxWidgets-2.6.3/src/gtk/clipbrd.cpp 2006-03-24 18:51:29.000000000 -0500
+++ wxWidgets-2.6.3.3/src/gtk/clipbrd.cpp 2006-04-15 05:57:41.000000000 -0400
@@ -2,7 +2,7 @@
// Name: gtk/clipbrd.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id: clipbrd.cpp,v 1.60.2.3 2006/03/24 23:51:29 RD Exp $
+// Id: $Id: clipbrd.cpp,v 1.60.2.5 2006/04/15 09:57:41 SN Exp $
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -265,7 +265,7 @@
// It shall return the time which was used to set the data.
if (selection_data->target == g_timestampAtom)
{
- uint timestamp = GPOINTER_TO_UINT (signal_data);
+ guint timestamp = GPOINTER_TO_UINT (signal_data);
gtk_selection_data_set(selection_data,
GDK_SELECTION_TYPE_INTEGER,
32,
@@ -493,17 +493,22 @@
}
delete[] array;
-
+
+#ifdef __WXGTK20__
gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
"selection_get",
GTK_SIGNAL_FUNC(selection_handler),
GUINT_TO_POINTER(
-#ifdef __WXGTK20__
gtk_get_current_event_time()
+ ) );
#else
+ gtk_signal_connect( GTK_OBJECT(m_clipboardWidget),
+ "selection_get",
+ GTK_SIGNAL_FUNC(selection_handler),
+ GUINT_TO_POINTER(
gdk_event_get_time(gtk_get_current_event())
+ ) );
#endif
- ) );
#if wxUSE_THREADS
/* disable GUI threads */
diff -ur wxWidgets-2.6.3/src/gtk/colour.cpp wxWidgets-2.6.3.3/src/gtk/colour.cpp
--- wxWidgets-2.6.3/src/gtk/colour.cpp 2005-07-22 14:01:45.000000000 -0400
+++ wxWidgets-2.6.3.3/src/gtk/colour.cpp 2006-06-15 15:35:34.000000000 -0400
@@ -2,7 +2,7 @@
// Name: colour.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id: colour.cpp,v 1.49 2005/07/22 18:01:45 ABX Exp $
+// Id: $Id: colour.cpp,v 1.49.2.1 2006/06/15 19:35:34 PC Exp $
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -154,9 +154,9 @@
wxColour::wxColour( unsigned char red, unsigned char green, unsigned char blue )
{
m_refData = new wxColourRefData();
- M_COLDATA->m_color.red = ((unsigned short)red) << SHIFT;
- M_COLDATA->m_color.green = ((unsigned short)green) << SHIFT;
- M_COLDATA->m_color.blue = ((unsigned short)blue) << SHIFT;
+ M_COLDATA->m_color.red = (((unsigned short)red) << SHIFT) + red;
+ M_COLDATA->m_color.green = (((unsigned short)green) << SHIFT) + green;
+ M_COLDATA->m_color.blue = (((unsigned short)blue) << SHIFT) + blue;
M_COLDATA->m_color.pixel = 0;
}
@@ -234,9 +234,9 @@
{
AllocExclusive();
- M_COLDATA->m_color.red = ((unsigned short)red) << SHIFT;
- M_COLDATA->m_color.green = ((unsigned short)green) << SHIFT;
- M_COLDATA->m_color.blue = ((unsigned short)blue) << SHIFT;
+ M_COLDATA->m_color.red = (((unsigned short)red) << SHIFT) + red;
+ M_COLDATA->m_color.green = (((unsigned short)green) << SHIFT) + green;
+ M_COLDATA->m_color.blue = (((unsigned short)blue) << SHIFT) + blue;
M_COLDATA->m_color.pixel = 0;
M_COLDATA->m_colormap = (GdkColormap*) NULL;
diff -ur wxWidgets-2.6.3/src/gtk/combobox.cpp wxWidgets-2.6.3.3/src/gtk/combobox.cpp
--- wxWidgets-2.6.3/src/gtk/combobox.cpp 2006-03-17 11:00:51.000000000 -0500
+++ wxWidgets-2.6.3.3/src/gtk/combobox.cpp 2006-06-26 08:32:42.000000000 -0400
@@ -2,7 +2,7 @@
// Name: combobox.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id: combobox.cpp,v 1.131.2.2 2006/03/17 16:00:51 RR Exp $
+// Id: $Id: combobox.cpp,v 1.131.2.3 2006/06/26 12:32:42 VZ Exp $
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -80,11 +80,15 @@
// when the popup is hidden, throw a SELECTED event only if the combobox
// selection changed.
int curSelection = combo->GetCurrentSelection();
-
- // reset the selection flag to value meaning that it is hidden
+
+ const bool hasChanged = curSelection != g_SelectionBeforePopup;
+
+ // reset the selection flag to value meaning that it is hidden and do it
+ // now, before generating the events, so that GetSelection() returns the
+ // new value from the event handler
g_SelectionBeforePopup = wxID_NONE;
-
- if (g_SelectionBeforePopup != curSelection)
+
+ if ( hasChanged )
{
wxCommandEvent event( wxEVT_COMMAND_COMBOBOX_SELECTED, combo->GetId() );
event.SetInt( curSelection );
diff -ur wxWidgets-2.6.3/src/gtk/dcclient.cpp wxWidgets-2.6.3.3/src/gtk/dcclient.cpp
--- wxWidgets-2.6.3/src/gtk/dcclient.cpp 2005-08-17 17:40:44.000000000 -0400
+++ wxWidgets-2.6.3.3/src/gtk/dcclient.cpp 2006-05-24 22:40:41.000000000 -0400
@@ -2,7 +2,7 @@
// Name: gtk/dcclient.cpp
// Purpose:
// Author: Robert Roebling
-// RCS-ID: $Id: dcclient.cpp,v 1.204 2005/08/17 21:40:44 MR Exp $
+// RCS-ID: $Id: dcclient.cpp,v 1.204.2.1 2006/05/25 02:40:41 PC Exp $
// Copyright: (c) 1998 Robert Roebling, Chris Breeze
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -1610,15 +1610,16 @@
void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y, double angle )
{
- if (angle == 0.0)
- {
- DrawText(text, x, y);
+ if (!m_window || text.empty())
return;
- }
wxCHECK_RET( Ok(), wxT("invalid window dc") );
- if (!m_window) return;
+ if (wxIsNullDouble(angle))
+ {
+ DrawText(text, x, y);
+ return;
+ }
wxCoord w;
wxCoord h;
diff -ur wxWidgets-2.6.3/src/gtk/filedlg.cpp wxWidgets-2.6.3.3/src/gtk/filedlg.cpp
--- wxWidgets-2.6.3/src/gtk/filedlg.cpp 2005-11-14 18:02:03.000000000 -0500
+++ wxWidgets-2.6.3.3/src/gtk/filedlg.cpp 2006-05-18 22:39:24.000000000 -0400
@@ -2,7 +2,7 @@
// Name: gtk/filedlg.cpp
// Purpose: native implementation of wxFileDialog
// Author: Robert Roebling, Zbigniew Zagorski, Mart Raudsepp
-// Id: $Id: filedlg.cpp,v 1.67.2.1 2005/11/14 23:02:03 RR Exp $
+// Id: $Id: filedlg.cpp,v 1.67.2.3 2006/05/19 02:39:24 MR Exp $
// Copyright: (c) 1998 Robert Roebling, 2004 Zbigniew Zagorski, 2005 Mart Raudsepp
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -181,6 +181,8 @@
ok_btn_stock, GTK_RESPONSE_ACCEPT,
NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(m_widget), GTK_RESPONSE_ACCEPT);
+
if ( style & wxMULTIPLE )
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(m_widget), true);
@@ -206,7 +208,7 @@
wxConvFileName->cWX2MB(defaultFileName));
#if GTK_CHECK_VERSION(2,7,3)
- if (!gtk_check_version(2,7,3))
+ if ((style & wxOVERWRITE_PROMPT) && !gtk_check_version(2,7,3))
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(m_widget), TRUE);
#endif
}
diff -ur wxWidgets-2.6.3/src/gtk/scrolwin.cpp wxWidgets-2.6.3.3/src/gtk/scrolwin.cpp
--- wxWidgets-2.6.3/src/gtk/scrolwin.cpp 2005-11-02 10:57:38.000000000 -0500
+++ wxWidgets-2.6.3.3/src/gtk/scrolwin.cpp 2006-06-10 15:52:49.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Robert Roebling
// Modified by: Ron Lee
// Created: 01/02/97
-// RCS-ID: $Id: scrolwin.cpp,v 1.44.2.1 2005/11/02 15:57:38 JS Exp $
+// RCS-ID: $Id: scrolwin.cpp,v 1.44.2.5 2006/06/10 19:52:49 PC Exp $
// Copyright: (c) Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -58,8 +58,8 @@
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
extern bool g_blockEventsOnScroll;
+extern bool g_mouseButtonDown;
//-----------------------------------------------------------------------------
// idle system
@@ -69,68 +69,63 @@
extern bool g_isIdle;
//-----------------------------------------------------------------------------
-// "value_changed" from m_vAdjust
+// "value_changed" from m_[hv]Adjust
//-----------------------------------------------------------------------------
extern "C" {
-static void gtk_scrolled_window_vscroll_callback( GtkAdjustment *adjust,
+static void gtk_scrolled_window_scroll_callback( GtkAdjustment *adjust,
SCROLLBAR_CBACK_ARG
wxScrolledWindow *win )
{
if (g_isIdle)
wxapp_install_idle_handler();
- if (g_blockEventsOnDrag) return;
-
- if (!win->m_hasVMT) return;
-
- win->GtkVScroll( adjust->value,
- GET_SCROLL_TYPE(GTK_SCROLLED_WINDOW(win->m_widget)->vscrollbar) );
+ win->HandleScrollEvent(adjust);
}
}
//-----------------------------------------------------------------------------
-// "value_changed" from m_hAdjust
+// "button_press_event" from scrollbar
//-----------------------------------------------------------------------------
extern "C" {
-static void gtk_scrolled_window_hscroll_callback( GtkAdjustment *adjust,
- SCROLLBAR_CBACK_ARG
- wxScrolledWindow *win )
+static gint gtk_scrollbar_button_press_callback( GtkRange *widget,
+ GdkEventButton *gdk_event,
+ wxWindowGTK *win)
{
if (g_isIdle)
wxapp_install_idle_handler();
- if (g_blockEventsOnDrag) return;
- if (!win->m_hasVMT) return;
+ g_blockEventsOnScroll = TRUE;
+ g_mouseButtonDown = true;
- win->GtkHScroll( adjust->value,
- GET_SCROLL_TYPE(GTK_SCROLLED_WINDOW(win->m_widget)->hscrollbar) );
+ return FALSE;
}
}
+#ifdef __WXGTK20__
//-----------------------------------------------------------------------------
-// "button_press_event" from scrollbar
+// "event_after" from scrollbar
//-----------------------------------------------------------------------------
extern "C" {
-static gint gtk_scrollbar_button_press_callback( GtkRange *widget,
- GdkEventButton *gdk_event,
- wxWindowGTK *win)
+static void
+gtk_scrollbar_event_after(GtkRange* range, GdkEvent* event, wxWindow* win)
{
- if (g_isIdle)
- wxapp_install_idle_handler();
-
- g_blockEventsOnScroll = TRUE;
-
- // FIXME: there is no slider field any more, what was meant here?
-#ifndef __WXGTK20__
- win->m_isScrolling = (gdk_event->window == widget->slider);
-#endif
+ if (event->type == GDK_BUTTON_RELEASE)
+ {
+ g_signal_handlers_block_by_func(range, (void*)gtk_scrollbar_event_after, win);
- return FALSE;
+ GtkAdjustment* adj = range->adjustment;
+ wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust);
+ const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL;
+ wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient);
+ event.SetEventObject(win);
+ win->GetEventHandler()->ProcessEvent(event);
+ }
}
}
+#endif // __WXGTK20__
//-----------------------------------------------------------------------------
// "button_release_event" from scrollbar
@@ -141,38 +136,24 @@
GdkEventButton *WXUNUSED(gdk_event),
wxWindowGTK *win)
{
-// don't test here as we can release the mouse while being over
-// a different window than the slider
-//
-// if (gdk_event->window != widget->slider) return FALSE;
-
g_blockEventsOnScroll = FALSE;
+ g_mouseButtonDown = false;
if (win->m_isScrolling)
{
- wxEventType command = wxEVT_SCROLLWIN_THUMBRELEASE;
- int value = -1;
- int dir = -1;
-
- GtkScrolledWindow *scrolledWindow = GTK_SCROLLED_WINDOW(win->m_widget);
- if (widget == GTK_RANGE(scrolledWindow->hscrollbar))
- {
- value = (int)(win->m_hAdjust->value+0.5);
- dir = wxHORIZONTAL;
- }
- if (widget == GTK_RANGE(scrolledWindow->vscrollbar))
- {
- value = (int)(win->m_vAdjust->value+0.5);
- dir = wxVERTICAL;
- }
-
- wxScrollWinEvent event( command, value, dir );
- event.SetEventObject( win );
- win->GetEventHandler()->ProcessEvent( event );
+ win->m_isScrolling = false;
+#ifdef __WXGTK20__
+ g_signal_handlers_unblock_by_func(widget, (void*)gtk_scrollbar_event_after, win);
+#else
+ GtkAdjustment* adj = widget->adjustment;
+ wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust);
+ const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL;
+ wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient);
+ event.SetEventObject(win);
+ win->GetEventHandler()->ProcessEvent(event);
+#endif
}
- win->m_isScrolling = FALSE;
-
return FALSE;
}
}
@@ -282,17 +263,19 @@
m_vAdjust->value = 0.0;
m_vAdjust->step_increment = 1.0;
m_vAdjust->page_increment = 2.0;
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" );
+ gtk_adjustment_changed(m_vAdjust);
m_hAdjust->lower = 0.0;
m_hAdjust->upper = 1.0;
m_hAdjust->value = 0.0;
m_hAdjust->step_increment = 1.0;
m_hAdjust->page_increment = 2.0;
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" );
+ gtk_adjustment_changed(m_hAdjust);
// Handlers for new scrollbar values
- GtkVConnectEvent();
- GtkHConnectEvent();
+ gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed",
+ (GtkSignalFunc) gtk_scrolled_window_scroll_callback, (gpointer) this );
+ gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed",
+ (GtkSignalFunc) gtk_scrolled_window_scroll_callback, (gpointer) this );
// these handlers block mouse events to any window during scrolling such as
// motion events and prevent GTK and wxWidgets from fighting over where the
@@ -310,6 +293,16 @@
gtk_signal_connect( GTK_OBJECT(scrolledWindow->hscrollbar), "button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this );
+#ifdef __WXGTK20__
+ gulong handler_id;
+ handler_id = g_signal_connect(
+ scrolledWindow->vscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this);
+ g_signal_handler_block(scrolledWindow->vscrollbar, handler_id);
+ handler_id = g_signal_connect(
+ scrolledWindow->hscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this);
+ g_signal_handler_block(scrolledWindow->hscrollbar, handler_id);
+#endif
+
gtk_widget_show( m_wxwindow );
if (m_parent)
@@ -358,6 +351,7 @@
{
wxSize best;
+ bool addClientSizeDiff = true;
if ( GetSizer() )
{
wxSize b = GetSizer()->GetMinSize();
@@ -372,7 +366,14 @@
if ( GetMinSize().IsFullySpecified() )
minSize = GetMinSize();
else
+ {
minSize = GetSize();
+
+ // If we're using the overall size, we don't want to then
+ // add to it, or we'll successively grow the window over
+ // multiple layouts.
+ addClientSizeDiff = false;
+ }
if (ppuX > 0)
b.x = minSize.x;
@@ -383,10 +384,13 @@
else
return wxWindow::DoGetBestSize();
- // Add any difference between size and client size
- wxSize diff = GetSize() - GetClientSize();
- best.x += wxMax(0, diff.x);
- best.y += wxMax(0, diff.y);
+ if (addClientSizeDiff)
+ {
+ // Add any difference between size and client size
+ wxSize diff = GetSize() - GetClientSize();
+ best.x += wxMax(0, diff.x);
+ best.y += wxMax(0, diff.y);
+ }
return best;
}
@@ -420,6 +424,14 @@
m_targetWindow->SetVirtualSize( w ? w : wxDefaultCoord,
h ? h : wxDefaultCoord);
+ // If the target is not the same as the window with the scrollbars,
+ // then we need to update the scrollbars here, since they won't have
+ // been updated by SetVirtualSize().
+ if (m_targetWindow != this)
+ {
+ AdjustScrollbars();
+ }
+
if (!noRefresh)
{
int new_x = m_xScrollPixelsPerLine * m_xScrollPosition;
@@ -437,73 +449,40 @@
m_targetWindow->GetClientSize( &w, &h );
m_targetWindow->GetVirtualSize( &vw, &vh );
- if (m_xScrollPixelsPerLine == 0)
- {
- m_hAdjust->upper = 1.0;
- m_hAdjust->page_increment = 1.0;
- m_hAdjust->page_size = 1.0;
- }
- else
- {
- m_hAdjust->upper = (vw+m_xScrollPixelsPerLine-1) / m_xScrollPixelsPerLine;
- m_hAdjust->page_size = w / m_xScrollPixelsPerLine;
- m_hAdjust->page_increment = w / m_xScrollPixelsPerLine;
-
- // Special case. When client and virtual size are very close but
- // the client is big enough, kill scrollbar.
-
- if ((m_hAdjust->page_size < m_hAdjust->upper) && (w >= vw))
- m_hAdjust->page_size += 1.0;
-
- // If the scrollbar hits the right side, move the window
- // right to keep it from over extending.
-
- if ((m_hAdjust->value != 0.0) && (m_hAdjust->value + m_hAdjust->page_size > m_hAdjust->upper))
- {
- m_hAdjust->value = m_hAdjust->upper - m_hAdjust->page_size;
- if (m_hAdjust->value < 0.0)
- m_hAdjust->value = 0.0;
-
- if (GetChildren().GetCount() == 0)
- m_xScrollPosition = (int)m_hAdjust->value; // This is enough without child windows
- else
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" ); // Actually scroll window
- }
- }
-
- if (m_yScrollPixelsPerLine == 0)
- {
- m_vAdjust->upper = 1.0;
- m_vAdjust->page_increment = 1.0;
- m_vAdjust->page_size = 1.0;
- }
- else
- {
- m_vAdjust->upper = (vh+m_yScrollPixelsPerLine-1) / m_yScrollPixelsPerLine;
- m_vAdjust->page_size = h / m_yScrollPixelsPerLine;
- m_vAdjust->page_increment = h / m_yScrollPixelsPerLine;
-
- if ((m_vAdjust->page_size < m_vAdjust->upper) && (h >= vh))
- m_vAdjust->page_size += 1.0;
-
- if ((m_vAdjust->value != 0.0) && (m_vAdjust->value + m_vAdjust->page_size > m_vAdjust->upper))
- {
- m_vAdjust->value = m_vAdjust->upper - m_vAdjust->page_size;
- if (m_vAdjust->value < 0.0)
- m_vAdjust->value = 0.0;
-
- if (GetChildren().GetCount() == 0)
- m_yScrollPosition = (int)m_vAdjust->value;
- else
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
- }
- }
-
- m_xScrollLinesPerPage = (int)(m_hAdjust->page_increment + 0.5);
- m_yScrollLinesPerPage = (int)(m_vAdjust->page_increment + 0.5);
+ DoAdjustScrollbars(m_hAdjust, m_xScrollPixelsPerLine, w, vw, &m_xScrollLinesPerPage);
+ DoAdjustScrollbars(m_vAdjust, m_yScrollPixelsPerLine, h, vh, &m_yScrollLinesPerPage);
+}
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" );
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" );
+void wxScrolledWindow::DoAdjustScrollbars(GtkAdjustment* adj,
+ int pixelsPerLine,
+ int winSize,
+ int virtSize,
+ int *linesPerPage)
+{
+ int upper = 1;
+ int page_size = 1;
+ if (pixelsPerLine > 0 && winSize < virtSize)
+ {
+ upper = (virtSize + pixelsPerLine - 1) / pixelsPerLine;
+ page_size = winSize / pixelsPerLine;
+ }
+
+ *linesPerPage = page_size;
+
+ adj->step_increment = 1;
+ adj->page_increment =
+ adj->page_size = page_size;
+ adj->lower = 0;
+ adj->upper = upper;
+
+ const double value = adj->value;
+ if (adj->value > adj->upper - adj->page_size)
+ adj->value = adj->upper - adj->page_size;
+ if (adj->value < 0)
+ adj->value = 0;
+ if (!wxIsSameDouble(value, adj->value))
+ gtk_adjustment_value_changed(adj);
+ gtk_adjustment_changed(adj);
}
@@ -580,33 +559,17 @@
if (orient == wxHORIZONTAL)
{
- int newPos = m_xScrollPosition + nScrollInc;
- SetScrollPos(wxHORIZONTAL, newPos, TRUE );
- }
- else
- {
- int newPos = m_yScrollPosition + nScrollInc;
- SetScrollPos(wxVERTICAL, newPos, TRUE );
- }
-
- if (orient == wxHORIZONTAL)
- {
m_xScrollPosition += nScrollInc;
- }
- else
- {
- m_yScrollPosition += nScrollInc;
- }
-
- if (orient == wxHORIZONTAL)
- {
- if (m_xScrollingEnabled)
+ SetScrollPos(wxHORIZONTAL, m_xScrollPosition);
+ if (m_xScrollingEnabled)
m_targetWindow->ScrollWindow(-m_xScrollPixelsPerLine * nScrollInc, 0, (const wxRect *) NULL);
- else
+ else
m_targetWindow->Refresh();
}
else
{
+ m_yScrollPosition += nScrollInc;
+ SetScrollPos(wxVERTICAL, m_yScrollPosition);
if (m_yScrollingEnabled)
m_targetWindow->ScrollWindow(0, -m_yScrollPixelsPerLine * nScrollInc, (const wxRect *) NULL);
else
@@ -618,86 +581,24 @@
{
wxASSERT_MSG( m_targetWindow != 0, _T("No target window") );
- if (((x_pos == -1) || (x_pos == m_xScrollPosition)) &&
- ((y_pos == -1) || (y_pos == m_yScrollPosition))) return;
-
- if ((x_pos != -1) && (m_xScrollPixelsPerLine))
- {
- int max = (int)(m_hAdjust->upper - m_hAdjust->page_size + 0.5);
- if (max < 0) max = 0;
- if (x_pos > max) x_pos = max;
- if (x_pos < 0) x_pos = 0;
-
- int old_x = m_xScrollPosition;
- m_xScrollPosition = x_pos;
- m_hAdjust->value = x_pos;
-
- m_targetWindow->ScrollWindow( (old_x-m_xScrollPosition)*m_xScrollPixelsPerLine, 0 );
-
- // Just update the scrollbar, don't send any wxWidgets event
- GtkHDisconnectEvent();
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
- GtkHConnectEvent();
- }
-
- if ((y_pos != -1) && (m_yScrollPixelsPerLine))
- {
- int max = (int)(m_vAdjust->upper - m_vAdjust->page_size + 0.5);
- if (max < 0) max = 0;
- if (y_pos > max) y_pos = max;
- if (y_pos < 0) y_pos = 0;
-
- int old_y = m_yScrollPosition;
- m_yScrollPosition = y_pos;
- m_vAdjust->value = y_pos;
-
- m_targetWindow->ScrollWindow( 0, (old_y-m_yScrollPosition)*m_yScrollPixelsPerLine );
-
- // Just update the scrollbar, don't send any wxWidgets event
- GtkVDisconnectEvent();
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
- GtkVConnectEvent();
- }
-}
-
-// TODO: [VH]Scroll functions should be combined
-
-void wxScrolledWindow::GtkVScroll( float value, unsigned int scroll_type )
-{
- wxASSERT_MSG( m_targetWindow != 0, _T("No target window") );
-
- if (m_yScrollPixelsPerLine == 0)
- return;
-
- int y_pos = (int)(value+0.5);
-
- if (y_pos == m_yScrollPosition)
- return;
-
- wxEventType command = GtkScrollWinTypeToWx(scroll_type);
-
- wxScrollWinEvent event( command, y_pos, wxVERTICAL );
- event.SetEventObject( this );
- GetEventHandler()->ProcessEvent( event );
+ DoScroll(wxHORIZONTAL, x_pos, &m_xScrollPosition, m_xScrollPixelsPerLine);
+ DoScroll(wxVERTICAL, y_pos, &m_yScrollPosition, m_yScrollPixelsPerLine);
}
-void wxScrolledWindow::GtkHScroll( float value, unsigned int scroll_type )
+void wxScrolledWindow::DoScroll(int orient, int pos, int* posOld, int pixelsPerLine)
{
- wxASSERT_MSG( m_targetWindow != 0, _T("No target window") );
-
- if (m_xScrollPixelsPerLine == 0)
- return;
-
- int x_pos = (int)(value+0.5);
-
- if (x_pos == m_xScrollPosition)
- return;
+ if (pos != -1 && pos != *posOld && pixelsPerLine > 0)
+ {
+ SetScrollPos(orient, pos);
+ pos = GetScrollPos(orient);
- wxEventType command = GtkScrollWinTypeToWx(scroll_type);
+ const int diff = (*posOld - pos) * pixelsPerLine;
+ m_targetWindow->ScrollWindow(
+ orient == wxHORIZONTAL ? diff : 0,
+ orient == wxHORIZONTAL ? 0 : diff);
- wxScrollWinEvent event( command, x_pos, wxHORIZONTAL );
- event.SetEventObject( this );
- GetEventHandler()->ProcessEvent( event );
+ *posOld = pos;
+ }
}
void wxScrolledWindow::EnableScrolling (bool x_scroll, bool y_scroll)
@@ -824,74 +725,7 @@
void wxScrolledWindow::SetScrollPos( int orient, int pos, bool refresh )
{
- wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
-
- wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") );
-
- if (orient == wxHORIZONTAL)
- {
- int max = (int)(m_hAdjust->upper - m_hAdjust->page_size + 0.5);
- if (max < 0) max = 0;
-
- if (pos > max) pos = 0;
- if (pos < 0) pos = 0;
-
- if (pos == (int)(m_hAdjust->value+0.5)) return;
- m_hAdjust->value = pos;
- }
- else
- {
- int max = (int)(m_vAdjust->upper - m_vAdjust->page_size + 0.5);
- if (max < 0) max = 0;
-
- if (pos > max) pos = 0;
- if (pos < 0) pos = 0;
-
- if (pos == (int)(m_vAdjust->value+0.5)) return;
- m_vAdjust->value = pos;
- }
-
- if (m_wxwindow->window)
- {
- if (orient == wxHORIZONTAL)
- {
- // Just update the scrollbar, don't send any wxWidgets event
- GtkHDisconnectEvent();
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
- GtkHConnectEvent();
- }
- else
- {
- // Just update the scrollbar, don't send any wxWidgets event
- GtkVDisconnectEvent();
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
- GtkVConnectEvent();
- }
- }
-}
-
-void wxScrolledWindow::GtkVConnectEvent()
-{
- gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed",
- (GtkSignalFunc) gtk_scrolled_window_vscroll_callback, (gpointer) this );
-}
-
-void wxScrolledWindow::GtkHConnectEvent()
-{
- gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed",
- (GtkSignalFunc) gtk_scrolled_window_hscroll_callback, (gpointer) this );
-}
-
-void wxScrolledWindow::GtkHDisconnectEvent()
-{
- gtk_signal_disconnect_by_func( GTK_OBJECT(m_hAdjust),
- (GtkSignalFunc) gtk_scrolled_window_hscroll_callback, (gpointer) this );
-}
-
-void wxScrolledWindow::GtkVDisconnectEvent()
-{
- gtk_signal_disconnect_by_func( GTK_OBJECT(m_vAdjust),
- (GtkSignalFunc) gtk_scrolled_window_vscroll_callback, (gpointer) this );
+ wxPanel::SetScrollPos(orient, pos, refresh);
}
bool wxScrolledWindow::Layout()
diff -ur wxWidgets-2.6.3/src/gtk/textctrl.cpp wxWidgets-2.6.3.3/src/gtk/textctrl.cpp
--- wxWidgets-2.6.3/src/gtk/textctrl.cpp 2005-08-08 04:53:44.000000000 -0400
+++ wxWidgets-2.6.3.3/src/gtk/textctrl.cpp 2006-07-14 00:21:47.000000000 -0400
@@ -2,7 +2,7 @@
// Name: textctrl.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id: textctrl.cpp,v 1.217 2005/08/08 08:53:44 MR Exp $
+// Id: $Id: textctrl.cpp,v 1.217.2.3 2006/07/14 04:21:47 MR Exp $
// Copyright: (c) 1998 Robert Roebling, Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -96,6 +96,19 @@
NULL );
gtk_text_buffer_apply_tag (text_buffer, tag, start, end);
g_free (font_string);
+
+ if (attr.GetFont().GetUnderlined())
+ {
+ g_snprintf(buf, sizeof(buf), "WXFONTUNDERLINE");
+ tag = gtk_text_tag_table_lookup( gtk_text_buffer_get_tag_table( text_buffer ),
+ buf );
+ if (!tag)
+ tag = gtk_text_buffer_create_tag( text_buffer, buf,
+ "underline-set", TRUE,
+ "underline", PANGO_UNDERLINE_SINGLE,
+ NULL );
+ gtk_text_buffer_apply_tag (text_buffer, tag, start, end);
+ }
}
if (attr.HasTextColour())
@@ -1158,12 +1171,16 @@
{
#ifdef __WXGTK20__
GtkTextIter iter;
- gtk_text_buffer_get_iter_at_offset(m_buffer, &iter, pos);
- if (gtk_text_iter_is_end(&iter))
+
+ if (pos > GetLastPosition())
return false;
- *y = gtk_text_iter_get_line(&iter);
- *x = gtk_text_iter_get_line_offset(&iter);
+ gtk_text_buffer_get_iter_at_offset(m_buffer, &iter, pos);
+
+ if ( y )
+ *y = gtk_text_iter_get_line(&iter);
+ if ( x )
+ *x = gtk_text_iter_get_line_offset(&iter);
#else
wxString text = GetValue();
@@ -1191,8 +1208,10 @@
{
if ( pos <= GTK_ENTRY(m_text)->text_length )
{
- *y = 0;
- *x = pos;
+ if ( y )
+ *y = 0;
+ if ( x )
+ *x = pos;
}
else
{
diff -ur wxWidgets-2.6.3/src/gtk/window.cpp wxWidgets-2.6.3.3/src/gtk/window.cpp
--- wxWidgets-2.6.3/src/gtk/window.cpp 2006-03-18 16:58:19.000000000 -0500
+++ wxWidgets-2.6.3.3/src/gtk/window.cpp 2006-06-13 14:52:28.000000000 -0400
@@ -2,7 +2,7 @@
// Name: gtk/window.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id: window.cpp,v 1.548.2.13 2006/03/18 21:58:19 VZ Exp $
+// Id: $Id: window.cpp,v 1.548.2.20 2006/06/13 18:52:28 RD Exp $
// Copyright: (c) 1998 Robert Roebling, Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -248,6 +248,9 @@
extern bool g_mainThreadLocked;
+bool g_mouseButtonDown;
+bool gs_blockValueChanged;
+
//-----------------------------------------------------------------------------
// debug
//-----------------------------------------------------------------------------
@@ -710,6 +713,18 @@
// "key_press_event" from any window
//-----------------------------------------------------------------------------
+// These are used when transforming Ctrl-alpha to ascii values 1-26
+inline bool wxIsLowerChar(int code)
+{
+ return (code >= 'a' && code <= 'z' );
+}
+
+inline bool wxIsUpperChar(int code)
+{
+ return (code >= 'A' && code <= 'Z' );
+}
+
+
// set WXTRACE to this to see the key event codes on the console
#define TRACE_KEYS _T("keyevent")
@@ -1014,9 +1029,6 @@
event.m_scanCode = gdk_event->keyval;
event.m_rawCode = (wxUint32) gdk_event->keyval;
event.m_rawFlags = 0;
-#if wxUSE_UNICODE
- event.m_uniChar = gdk_keyval_to_unicode(gdk_event->keyval);
-#endif
wxGetMousePosition( &x, &y );
win->ScreenToClient( &x, &y );
event.m_x = x;
@@ -1324,13 +1336,17 @@
// To conform to the docs we need to translate Ctrl-alpha
// characters to values in the range 1-26.
- if (event.ControlDown() && key_code >= 'a' && key_code <= 'z' )
+ if ( event.ControlDown() &&
+ ( wxIsLowerChar(key_code) || wxIsUpperChar(key_code) ))
{
- event.m_keyCode = key_code - 'a' + 1;
+ if ( wxIsLowerChar(key_code) )
+ event.m_keyCode = key_code - 'a' + 1;
+ if ( wxIsUpperChar(key_code) )
+ event.m_keyCode = key_code - 'A' + 1;
#if wxUSE_UNICODE
event.m_uniChar = event.m_keyCode;
#endif
- }
+ }
// Implement OnCharHook by checking ancesteror top level windows
wxWindow *parent = win;
@@ -1470,8 +1486,14 @@
// To conform to the docs we need to translate Ctrl-alpha
// characters to values in the range 1-26.
- if (event.ControlDown() && *pstr >= 'a' && *pstr <= 'z' )
+ if ( event.ControlDown() &&
+ ( wxIsLowerChar(*pstr) || wxIsUpperChar(*pstr) ))
{
+ if ( wxIsLowerChar(*pstr) )
+ event.m_keyCode = *pstr - 'a' + 1;
+ if ( wxIsUpperChar(*pstr) )
+ event.m_keyCode = *pstr - 'A' + 1;
+
event.m_keyCode = *pstr - 'a' + 1;
#if wxUSE_UNICODE
event.m_uniChar = event.m_keyCode;
@@ -1831,6 +1853,10 @@
if ( !g_captureWindow )
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
+ // reset the event object and id in case win changed.
+ event.SetEventObject( win );
+ event.SetId( win->GetId() );
+
gs_timeLastClick = gdk_event->time;
#ifndef __WXGTK20__
@@ -1926,6 +1952,10 @@
if ( !g_captureWindow )
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
+ // reset the event object and id in case win changed.
+ event.SetEventObject( win );
+ event.SetId( win->GetId() );
+
if (win->GetEventHandler()->ProcessEvent( event ))
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "button_release_event" );
@@ -2000,6 +2030,10 @@
else // no capture
{
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
+
+ // reset the event object and id in case win changed.
+ event.SetEventObject( win );
+ event.SetId( win->GetId() );
}
if ( !g_captureWindow )
@@ -2344,11 +2378,11 @@
}
//-----------------------------------------------------------------------------
-// "value_changed" from m_vAdjust
+// "value_changed" from m_[hv]Adjust
//-----------------------------------------------------------------------------
extern "C" {
-static void gtk_window_vscroll_callback( GtkAdjustment *adjust,
+static void gtk_window_scroll_callback( GtkAdjustment *adjust,
SCROLLBAR_CBACK_ARG
wxWindowGTK *win )
{
@@ -2357,88 +2391,54 @@
if (g_isIdle)
wxapp_install_idle_handler();
- if (g_blockEventsOnDrag) return;
-
- if (!win->m_hasVMT) return;
-
- float diff = adjust->value - win->m_oldVerticalPos;
- if (fabs(diff) < 0.2) return;
-
- win->m_oldVerticalPos = adjust->value;
-
-#ifndef __WXGTK20__
- GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(win->m_widget);
-#endif
- wxEventType command = GtkScrollWinTypeToWx(GET_SCROLL_TYPE(sw->vscrollbar));
-
- int value = (int)(adjust->value+0.5);
-
- wxScrollWinEvent event( command, value, wxVERTICAL );
- event.SetEventObject( win );
- win->GetEventHandler()->ProcessEvent( event );
+ win->HandleScrollEvent(adjust);
}
}
//-----------------------------------------------------------------------------
-// "value_changed" from m_hAdjust
+// "button_press_event" from scrollbar
//-----------------------------------------------------------------------------
extern "C" {
-static void gtk_window_hscroll_callback( GtkAdjustment *adjust,
- SCROLLBAR_CBACK_ARG
- wxWindowGTK *win )
+static gint gtk_scrollbar_button_press_callback( GtkRange *widget,
+ GdkEventButton *gdk_event,
+ wxWindowGTK *win)
{
DEBUG_MAIN_THREAD
if (g_isIdle)
wxapp_install_idle_handler();
- if (g_blockEventsOnDrag) return;
- if (!win->m_hasVMT) return;
-
- float diff = adjust->value - win->m_oldHorizontalPos;
- if (fabs(diff) < 0.2) return;
-
-#ifndef __WXGTK20__
- GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(win->m_widget);
-#endif
- wxEventType command = GtkScrollWinTypeToWx(GET_SCROLL_TYPE(sw->hscrollbar));
-
- win->m_oldHorizontalPos = adjust->value;
-
- int value = (int)(adjust->value+0.5);
+ g_blockEventsOnScroll = true;
+ g_mouseButtonDown = true;
- wxScrollWinEvent event( command, value, wxHORIZONTAL );
- event.SetEventObject( win );
- win->GetEventHandler()->ProcessEvent( event );
+ return FALSE;
}
}
+#ifdef __WXGTK20__
//-----------------------------------------------------------------------------
-// "button_press_event" from scrollbar
+// "event_after" from scrollbar
//-----------------------------------------------------------------------------
extern "C" {
-static gint gtk_scrollbar_button_press_callback( GtkRange *widget,
- GdkEventButton *gdk_event,
- wxWindowGTK *win)
+static void
+gtk_scrollbar_event_after(GtkRange* range, GdkEvent* event, wxWindow* win)
{
- DEBUG_MAIN_THREAD
-
- if (g_isIdle)
- wxapp_install_idle_handler();
-
-
- g_blockEventsOnScroll = true;
-
- // FIXME: there is no 'slider' field in GTK+ 2.0 any more
-#ifndef __WXGTK20__
- win->m_isScrolling = (gdk_event->window == widget->slider);
-#endif
+ if (event->type == GDK_BUTTON_RELEASE)
+ {
+ g_signal_handlers_block_by_func(range, (void*)gtk_scrollbar_event_after, win);
- return FALSE;
+ GtkAdjustment* adj = range->adjustment;
+ wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust);
+ const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL;
+ wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient);
+ event.SetEventObject(win);
+ win->GetEventHandler()->ProcessEvent(event);
+ }
}
}
+#endif // __WXGTK20__
//-----------------------------------------------------------------------------
// "button_release_event" from scrollbar
@@ -2451,38 +2451,24 @@
{
DEBUG_MAIN_THREAD
-// don't test here as we can release the mouse while being over
-// a different window than the slider
-//
-// if (gdk_event->window != widget->slider) return FALSE;
-
g_blockEventsOnScroll = false;
+ g_mouseButtonDown = false;
if (win->m_isScrolling)
{
- wxEventType command = wxEVT_SCROLLWIN_THUMBRELEASE;
- int value = -1;
- int dir = -1;
-
- GtkScrolledWindow *scrolledWindow = GTK_SCROLLED_WINDOW(win->m_widget);
- if (widget == GTK_RANGE(scrolledWindow->hscrollbar))
- {
- value = (int)(win->m_hAdjust->value+0.5);
- dir = wxHORIZONTAL;
- }
- if (widget == GTK_RANGE(scrolledWindow->vscrollbar))
- {
- value = (int)(win->m_vAdjust->value+0.5);
- dir = wxVERTICAL;
- }
-
- wxScrollWinEvent event( command, value, dir );
- event.SetEventObject( win );
- win->GetEventHandler()->ProcessEvent( event );
+ win->m_isScrolling = false;
+#ifdef __WXGTK20__
+ g_signal_handlers_unblock_by_func(widget, (void*)gtk_scrollbar_event_after, win);
+#else
+ GtkAdjustment* adj = widget->adjustment;
+ wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust);
+ const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL;
+ wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient);
+ event.SetEventObject(win);
+ win->GetEventHandler()->ProcessEvent(event);
+#endif
}
- win->m_isScrolling = false;
-
return FALSE;
}
}
@@ -2544,8 +2530,6 @@
if (g_isIdle)
wxapp_install_idle_handler();
- if (!win->m_hasScrolling) return;
-
int client_width = 0;
int client_height = 0;
win->GetClientSize( &client_width, &client_height );
@@ -2904,14 +2888,14 @@
m_vAdjust->step_increment = 1.0;
m_vAdjust->page_increment = 1.0;
m_vAdjust->page_size = 5.0;
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" );
+ gtk_adjustment_changed(m_vAdjust);
m_hAdjust->lower = 0.0;
m_hAdjust->upper = 1.0;
m_hAdjust->value = 0.0;
m_hAdjust->step_increment = 1.0;
m_hAdjust->page_increment = 1.0;
m_hAdjust->page_size = 5.0;
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" );
+ gtk_adjustment_changed(m_hAdjust);
// these handlers block mouse events to any window during scrolling such as
// motion events and prevent GTK and wxWidgets from fighting over where the
@@ -2929,14 +2913,24 @@
gtk_signal_connect( GTK_OBJECT(scrolledWindow->hscrollbar), "button_release_event",
(GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this );
+#ifdef __WXGTK20__
+ gulong handler_id;
+ handler_id = g_signal_connect(
+ scrolledWindow->vscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this);
+ g_signal_handler_block(scrolledWindow->vscrollbar, handler_id);
+ handler_id = g_signal_connect(
+ scrolledWindow->hscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this);
+ g_signal_handler_block(scrolledWindow->hscrollbar, handler_id);
+#endif
+
// these handlers get notified when screen updates are required either when
// scrolling or when the window size (and therefore scrollbar configuration)
// has changed
gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed",
- (GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this );
+ (GtkSignalFunc) gtk_window_scroll_callback, (gpointer) this );
gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed",
- (GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this );
+ (GtkSignalFunc) gtk_window_scroll_callback, (gpointer) this );
gtk_widget_show( m_wxwindow );
@@ -4745,118 +4739,97 @@
return false;
}
-void wxWindowGTK::SetScrollbar( int orient, int pos, int thumbVisible,
- int range, bool refresh )
+static inline bool IsScrollIncrement(double increment, double x)
{
- wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
+ wxASSERT(increment > 0);
+ const double tolerance = 1.0 / 1024;
+ return fabs(increment - fabs(x)) < tolerance;
+}
- wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") );
+void wxWindowGTK::HandleScrollEvent(GtkAdjustment* adj)
+{
+ wxASSERT(adj == m_hAdjust || adj == m_vAdjust);
+ float* oldPos = adj == m_hAdjust ? &m_oldHorizontalPos : &m_oldVerticalPos;
+ const double posPrev = *oldPos;
+ *oldPos = float(adj->value);
+ const int pos = int(adj->value + 0.5);
- m_hasScrolling = true;
+ if (g_blockEventsOnDrag || !m_hasVMT || pos == int(posPrev + 0.5))
+ return;
- if (orient == wxHORIZONTAL)
+ wxEventType eventType = wxEVT_SCROLLWIN_THUMBTRACK;
+ if (!m_isScrolling)
{
- float fpos = (float)pos;
- float frange = (float)range;
- float fthumb = (float)thumbVisible;
- if (fpos > frange-fthumb) fpos = frange-fthumb;
- if (fpos < 0.0) fpos = 0.0;
+ // Difference from last change event
+ const double diff = adj->value - posPrev;
+ const bool isDown = diff > 0;
- if ((fabs(frange-m_hAdjust->upper) < 0.2) &&
- (fabs(fthumb-m_hAdjust->page_size) < 0.2))
+ if (IsScrollIncrement(adj->step_increment, diff))
{
- SetScrollPos( orient, pos, refresh );
- return;
+ eventType = isDown ? wxEVT_SCROLLWIN_LINEDOWN : wxEVT_SCROLLWIN_LINEUP;
}
-
- m_oldHorizontalPos = fpos;
-
- m_hAdjust->lower = 0.0;
- m_hAdjust->upper = frange;
- m_hAdjust->value = fpos;
- m_hAdjust->step_increment = 1.0;
- m_hAdjust->page_increment = (float)(wxMax(fthumb,0));
- m_hAdjust->page_size = fthumb;
- }
- else
- {
- float fpos = (float)pos;
- float frange = (float)range;
- float fthumb = (float)thumbVisible;
- if (fpos > frange-fthumb) fpos = frange-fthumb;
- if (fpos < 0.0) fpos = 0.0;
-
- if ((fabs(frange-m_vAdjust->upper) < 0.2) &&
- (fabs(fthumb-m_vAdjust->page_size) < 0.2))
+ else if (IsScrollIncrement(adj->page_increment, diff))
{
- SetScrollPos( orient, pos, refresh );
- return;
+ eventType = isDown ? wxEVT_SCROLLWIN_PAGEDOWN : wxEVT_SCROLLWIN_PAGEUP;
+ }
+ else if (g_mouseButtonDown)
+ {
+ // Assume track event
+ m_isScrolling = true;
}
-
- m_oldVerticalPos = fpos;
-
- m_vAdjust->lower = 0.0;
- m_vAdjust->upper = frange;
- m_vAdjust->value = fpos;
- m_vAdjust->step_increment = 1.0;
- m_vAdjust->page_increment = (float)(wxMax(fthumb,0));
- m_vAdjust->page_size = fthumb;
}
-
- if (orient == wxHORIZONTAL)
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" );
- else
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" );
+ const int orient = adj == m_hAdjust ? wxHORIZONTAL : wxVERTICAL;
+ wxScrollWinEvent event(eventType, pos, orient);
+ event.SetEventObject(this);
+ gs_blockValueChanged = true;
+ GetEventHandler()->ProcessEvent(event);
+ gs_blockValueChanged = false;
}
-void wxWindowGTK::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) )
+void wxWindowGTK::SetScrollbar( int orient, int pos, int thumbVisible,
+ int range, bool refresh )
{
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") );
- if (orient == wxHORIZONTAL)
- {
- float fpos = (float)pos;
- if (fpos > m_hAdjust->upper - m_hAdjust->page_size) fpos = m_hAdjust->upper - m_hAdjust->page_size;
- if (fpos < 0.0) fpos = 0.0;
- m_oldHorizontalPos = fpos;
+ m_hasScrolling = true;
- if (fabs(fpos-m_hAdjust->value) < 0.2) return;
- m_hAdjust->value = fpos;
- }
- else
- {
- float fpos = (float)pos;
- if (fpos > m_vAdjust->upper - m_vAdjust->page_size) fpos = m_vAdjust->upper - m_vAdjust->page_size;
- if (fpos < 0.0) fpos = 0.0;
- m_oldVerticalPos = fpos;
+ if (pos > range - thumbVisible)
+ pos = range - thumbVisible;
+ if (pos < 0)
+ pos = 0;
+ GtkAdjustment* adj = orient == wxHORIZONTAL ? m_hAdjust : m_vAdjust;
+ adj->step_increment = 1;
+ adj->page_increment =
+ adj->page_size = thumbVisible;
+ adj->upper = range;
+ SetScrollPos(orient, pos);
+ gtk_adjustment_changed(adj);
+}
- if (fabs(fpos-m_vAdjust->value) < 0.2) return;
- m_vAdjust->value = fpos;
- }
+void wxWindowGTK::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) )
+{
+ wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
- if (m_wxwindow->window)
- {
- if (orient == wxHORIZONTAL)
- {
- gtk_signal_disconnect_by_func( GTK_OBJECT(m_hAdjust),
- (GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this );
+ wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") );
- gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" );
+ if (GetScrollPos(orient) != pos)
+ {
+ GtkAdjustment* adj = orient == wxHORIZONTAL ? m_hAdjust : m_vAdjust;
+ const int max = int(adj->upper - adj->page_size);
+ if (pos > max)
+ pos = max;
+ if (pos < 0)
+ pos = 0;
+ float* oldPos = orient == wxHORIZONTAL ? &m_oldHorizontalPos : &m_oldVerticalPos;
+ *oldPos = pos;
+ adj->value = pos;
- gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed",
- (GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this );
- }
- else
+ // If a "value_changed" signal emission is not already in progress
+ if (!gs_blockValueChanged)
{
- gtk_signal_disconnect_by_func( GTK_OBJECT(m_vAdjust),
- (GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this );
-
- gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" );
-
- gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed",
- (GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this );
+ gtk_adjustment_value_changed(adj);
}
}
}
diff -ur wxWidgets-2.6.3/src/mac/corefoundation/cfstring.cpp wxWidgets-2.6.3.3/src/mac/corefoundation/cfstring.cpp
--- wxWidgets-2.6.3/src/mac/corefoundation/cfstring.cpp 2005-06-08 19:31:13.000000000 -0400
+++ wxWidgets-2.6.3.3/src/mac/corefoundation/cfstring.cpp 2006-06-11 02:32:45.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Stefan Csomor
// Modified by:
// Created: 2004-10-29 (from code in src/mac/carbon/utils.cpp)
-// RCS-ID: $Id: cfstring.cpp,v 1.4 2005/06/08 23:31:13 SC Exp $
+// RCS-ID: $Id: cfstring.cpp,v 1.4.2.1 2006/06/11 06:32:45 SC Exp $
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -666,6 +666,9 @@
wxString wxMacCFStringHolder::AsString(wxFontEncoding encoding)
{
+ if ( m_cfs == NULL )
+ return wxEmptyString ;
+
Size cflen = CFStringGetLength( m_cfs ) ;
size_t noChars ;
wxChar* buf = NULL ;
diff -ur wxWidgets-2.6.3/src/mac/corefoundation/utilsexc_cf.cpp wxWidgets-2.6.3.3/src/mac/corefoundation/utilsexc_cf.cpp
--- wxWidgets-2.6.3/src/mac/corefoundation/utilsexc_cf.cpp 2005-04-22 11:19:11.000000000 -0400
+++ wxWidgets-2.6.3.3/src/mac/corefoundation/utilsexc_cf.cpp 2006-06-08 05:09:59.000000000 -0400
@@ -4,7 +4,7 @@
// Author: David Elliott, Ryan Norton (wxMacExecute)
// Modified by: Stefan Csomor (added necessary wxT for unicode builds)
// Created: 2004-11-04
-// RCS-ID: $Id: utilsexc_cf.cpp,v 1.7 2005/04/22 15:19:11 RN Exp $
+// RCS-ID: $Id: utilsexc_cf.cpp,v 1.7.2.1 2006/06/08 09:09:59 JS Exp $
// Copyright: (c) David Elliott, Ryan Norton
// Licence: wxWindows licence
// Notes: This code comes from src/mac/carbon/utilsexc.cpp,1.11
@@ -18,8 +18,104 @@
#include "wx/unix/execute.h"
#include "wx/stdpaths.h"
#include "wx/apptrait.h"
+#include "wx/process.h"
+// Use polling instead of Mach ports, which doesn't work on Intel
+// due to task_for_pid security issues.
+// What's a better test for Intel vs PPC?
+#ifdef WORDS_BIGENDIAN
+#define USE_POLLING 0
+#else
+#define USE_POLLING 1
+#endif
+
+#if USE_POLLING
+
+class wxProcessTerminationEventHandler: public wxEvtHandler
+{
+ public:
+ wxProcessTerminationEventHandler(wxEndProcessData* data)
+ {
+ m_data = data;
+ Connect(-1, wxEVT_END_PROCESS, wxProcessEventHandler(wxProcessTerminationEventHandler::OnTerminate));
+ }
+
+ void OnTerminate(wxProcessEvent& event)
+ {
+ Disconnect(-1, wxEVT_END_PROCESS, wxProcessEventHandler(wxProcessTerminationEventHandler::OnTerminate));
+ wxHandleProcessTermination(m_data);
+ delete this;
+ }
+
+ wxEndProcessData* m_data;
+};
+
+class wxProcessTerminationThread: public wxThread
+{
+ public:
+ wxProcessTerminationThread(wxEndProcessData* data, wxProcessTerminationEventHandler* handler): wxThread(wxTHREAD_DETACHED)
+ {
+ m_data = data;
+ m_handler = handler;
+ }
+
+ virtual void* Entry();
+
+ wxProcessTerminationEventHandler* m_handler;
+ wxEndProcessData* m_data;
+};
+
+// The problem with this is that we may be examining the
+// process e.g. in OnIdle at the point this cleans up the process,
+// so we need to delay until it's safe.
+
+void* wxProcessTerminationThread::Entry()
+{
+ while (true)
+ {
+ usleep(100);
+ int status = 0;
+ int rc = waitpid(abs(m_data->pid), & status, WNOHANG);
+ if (rc != 0)
+ {
+ if ((rc != -1) && WIFEXITED(status))
+ m_data->exitcode = WEXITSTATUS(status);
+ else
+ m_data->exitcode = -1;
+
+ wxProcessEvent event;
+ wxPostEvent(m_handler, event);
+
+ break;
+ }
+ }
+
+ return NULL;
+}
+
+int wxAddProcessCallbackForPid(wxEndProcessData *proc_data, int pid)
+{
+ if (pid < 1)
+ return -1;
+
+ wxProcessTerminationEventHandler* handler = new wxProcessTerminationEventHandler(proc_data);
+ wxProcessTerminationThread* thread = new wxProcessTerminationThread(proc_data, handler);
+
+ if (thread->Create() != wxTHREAD_NO_ERROR)
+ {
+ wxLogDebug(wxT("Could not create termination detection thread."));
+ delete thread;
+ delete handler;
+ return -1;
+ }
+
+ thread->Run();
+
+ return 0;
+}
+
+#else
#include <CoreFoundation/CFMachPort.h>
#include <sys/wait.h>
@@ -113,6 +209,9 @@
return 0;
}
+#endif
+ // USE_POLLING
+
// NOTE: This doens't really belong here but this was a handy file to
// put it in because it's already compiled for wxCocoa and wxMac GUI lib.
static wxStandardPathsCF gs_stdPaths;
diff -ur wxWidgets-2.6.3/src/unix/fontutil.cpp wxWidgets-2.6.3.3/src/unix/fontutil.cpp
--- wxWidgets-2.6.3/src/unix/fontutil.cpp 2006-02-12 19:24:55.000000000 -0500
+++ wxWidgets-2.6.3.3/src/unix/fontutil.cpp 2006-04-18 18:59:06.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 05.11.99
-// RCS-ID: $Id: fontutil.cpp,v 1.62.2.1 2006/02/13 00:24:55 VZ Exp $
+// RCS-ID: $Id: fontutil.cpp,v 1.62.2.2 2006/04/18 22:59:06 VZ Exp $
// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -337,8 +337,9 @@
info->encoding = wxFONTENCODING_SYSTEM;
return true;
+ case wxFONTENCODING_ISO8859_1:
case wxFONTENCODING_UTF8:
- info->encoding = wxFONTENCODING_UTF8;
+ info->encoding = encoding;
return true;
default:
diff -ur wxWidgets-2.6.3/src/unix/mimetype.cpp wxWidgets-2.6.3.3/src/unix/mimetype.cpp
--- wxWidgets-2.6.3/src/unix/mimetype.cpp 2006-03-17 10:05:03.000000000 -0500
+++ wxWidgets-2.6.3.3/src/unix/mimetype.cpp 2006-06-18 17:38:11.000000000 -0400
@@ -4,7 +4,7 @@
// Author: Vadim Zeitlin
// Modified by:
// Created: 23.09.98
-// RCS-ID: $Id: mimetype.cpp,v 1.53.2.3 2006/03/17 15:05:03 RR Exp $
+// RCS-ID: $Id: mimetype.cpp,v 1.53.2.4 2006/06/18 21:38:11 VZ Exp $
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows licence (part of wxExtra library)
/////////////////////////////////////////////////////////////////////////////
@@ -395,7 +395,7 @@
wxLogTrace(TRACE_MIME, wxT("--- Reading from Gnome file %s '%s' ---"),
filename.c_str(), pc);
-
+
// trim trailing space and tab
while ((*pc == wxT(' ')) || (*pc == wxT('\t')))
pc++;
@@ -406,18 +406,18 @@
{
wxString left_of_equal = sTmp.Left( equal_pos );
const wxChar *right_of_equal = pc;
- right_of_equal += equal_pos+1;
-
+ right_of_equal += equal_pos+1;
+
if (left_of_equal == wxT("icon_filename"))
{
// GNOME 2:
curIconFile = right_of_equal;
-
+
wxFileName newFile( curIconFile );
if (newFile.IsRelative() || newFile.FileExists())
{
size_t nDirs = search_dirs.GetCount();
-
+
for (size_t nDir = 0; nDir < nDirs; nDir++)
{
newFile.SetPath( search_dirs[nDir] );
@@ -2641,6 +2641,8 @@
bool wxMimeTypesManagerImpl::Unassociate(wxFileType *ft)
{
+ InitIfNeeded();
+
wxArrayString sMimeTypes;
ft->GetMimeTypes (sMimeTypes);
diff -ur wxWidgets-2.6.3/utils/helpview/src/helpview.cpp wxWidgets-2.6.3.3/utils/helpview/src/helpview.cpp
--- wxWidgets-2.6.3/utils/helpview/src/helpview.cpp 2005-05-30 05:24:08.000000000 -0400
+++ wxWidgets-2.6.3.3/utils/helpview/src/helpview.cpp 2006-03-30 06:35:12.000000000 -0500
@@ -5,7 +5,7 @@
// Author: Vaclav Slavik, Julian Smart
// Modified by:
// Created: 2002-07-09
-// RCS-ID: $Id: helpview.cpp,v 1.14 2005/05/30 09:24:08 ABX Exp $
+// RCS-ID: $Id: helpview.cpp,v 1.14.2.1 2006/03/30 11:35:12 JS Exp $
// Copyright: (c) 2002 Vaclav Slavik, Julian Smart and others
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -63,7 +63,7 @@
#ifdef __WXMAC__
wxApp::s_macAboutMenuItemId = wxID_ABOUT;
- wxFileName::MacRegisterDefaultTypeAndCreator( "htb" , 'HTBD' , 'HTBA' ) ;
+ wxFileName::MacRegisterDefaultTypeAndCreator( wxT("htb") , 'HTBD' , 'HTBA' ) ;
#endif
int istyle = wxHF_DEFAULT_STYLE;
diff -ur wxWidgets-2.6.3/utils/tex2rtf/src/tex2rtf.cpp wxWidgets-2.6.3.3/utils/tex2rtf/src/tex2rtf.cpp
--- wxWidgets-2.6.3/utils/tex2rtf/src/tex2rtf.cpp 2006-01-23 10:09:03.000000000 -0500
+++ wxWidgets-2.6.3.3/utils/tex2rtf/src/tex2rtf.cpp 2006-06-13 06:36:42.000000000 -0400
@@ -5,7 +5,7 @@
// Modified by: Wlodzimiez ABX Skiba 2003/2004 Unicode support
// Ron Lee
// Created: 7.9.93
-// RCS-ID: $Id: tex2rtf.cpp,v 1.53.2.1 2006/01/23 15:09:03 ABX Exp $
+// RCS-ID: $Id: tex2rtf.cpp,v 1.53.2.2 2006/06/13 10:36:42 ABX Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -186,6 +186,8 @@
}
}
+ TexPathList.Add(::wxGetCwd());
+
#ifdef NO_GUI
if (InputFile.empty() || OutputFile.empty())
{
diff -ur wxWidgets-2.6.3/utils/tex2rtf/src/texutils.cpp wxWidgets-2.6.3.3/utils/tex2rtf/src/texutils.cpp
--- wxWidgets-2.6.3/utils/tex2rtf/src/texutils.cpp 2006-01-26 22:08:36.000000000 -0500
+++ wxWidgets-2.6.3.3/utils/tex2rtf/src/texutils.cpp 2006-06-13 06:34:58.000000000 -0400
@@ -5,7 +5,7 @@
// Modified by: Wlodzimiez ABX Skiba 2003/2004 Unicode support
// Ron Lee
// Created: 7.9.93
-// RCS-ID: $Id: texutils.cpp,v 1.32.2.2 2006/01/27 03:08:36 MW Exp $
+// RCS-ID: $Id: texutils.cpp,v 1.32.2.3 2006/06/13 10:34:58 ABX Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -1204,6 +1204,7 @@
up.MakeUpper();
if (up.IsSameAs(_T("YES")) ||
+ up.IsSameAs(_T("TRUE")) ||
up.IsSameAs(_T("ON")) ||
up.IsSameAs(_T("OK")) |
up.IsSameAs(_T("1")))
diff -ur wxWidgets-2.6.3/version-script.in wxWidgets-2.6.3.3/version-script.in
--- wxWidgets-2.6.3/version-script.in 2006-03-18 09:25:50.000000000 -0500
+++ wxWidgets-2.6.3.3/version-script.in 2006-07-06 06:40:39.000000000 -0400
@@ -1,11 +1,21 @@
#
-# $Id: version-script.in,v 1.23.2.5 2006/03/18 14:25:50 RR Exp $
+# $Id: version-script.in,v 1.23.2.7 2006/07/06 10:40:39 ABX Exp $
#
# Note: Remove all of the tags below except for the last one when creating
# new development branch.
+# public symbols added in release 2.6.4 (please keep in alphabetical order):
+
+@WX_VERSION_TAG@.4 {
+ global:
+ *wxString*const_reverse_iterator*;
+ *wxString*rbegin*;
+ *wxString*rend*;
+ *wxString*reverse_iterator*;
+};
+
# public symbols added in release 2.6.3 (please keep in alphabetical order):
@WX_VERSION_TAG@.3 {