Applied patch [ 594416 ] MDI Previous Child
From Benjamin I. Williams git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
@@ -24,19 +23,43 @@
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
<h3>List of questions in this category</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="#wxgtk">What is wxWindows 2 for GTK?</a></li>
|
||||
<li><a href="#locale">Why doesn't reading floating point numbers work when using wxWindows?</a></li>
|
||||
<li><a href="#gnome">Does wxGTK have GNOME support?</a></li>
|
||||
<li><a href="#redhat">Warning about GTK libraries supplied with RedHat</a></li>
|
||||
<li><a href="#wxgtk">What is wxWindows 2 for GTK?</a></li>
|
||||
<li><a href="#bincompat">What range of Intel Linux platforms will a given application binary be usable on?</li>
|
||||
<li><a href="#bincompat">What range of Intel Linux platforms will a given application binary be usable on?</a></li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="wxgtk">What is wxWindows 2 for GTK?</a></h3>
|
||||
|
||||
wxWindows 2 for GTK is a port of wxWindows to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
|
||||
which is freely available for most flavours of Unix with X. wxWindows 2 for GTK is
|
||||
often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
|
||||
<P>
|
||||
|
||||
<h3><a name="locale">Why doesn't reading floating point numbers work when using wxWindows?</a></h3>
|
||||
|
||||
If your program reads the floating point numbers in the format <tt>123.45</tt>
|
||||
from a file, it may suddently start returning just <tt>123</tt> instead of the
|
||||
correct value on some systems -- which is all the more mysterious as the same
|
||||
code in a standalone program works just fine.
|
||||
|
||||
<p>
|
||||
The explanation is that GTK+ changes the current locale on program startup. If
|
||||
the decimal point character in the current locale is not the period (for
|
||||
example, it is comma in the French locale), all the standard C functions won't
|
||||
recognize the numbers such as above as floating point ones any more.
|
||||
|
||||
<p>
|
||||
The solution is to either use your own function for reading the floating point
|
||||
numbers (probably the best one) or to call <tt>setlocale(LC_NUMERIC, "C")</tt>
|
||||
before reading from file and restore the old locale back afterwards if needed.
|
||||
|
||||
<h3><a name="gnome">Does wxGTK have GNOME support?</a></h3>
|
||||
|
||||
Currently wxGTK does not have any features that would involve dependence on any desktop
|
||||
|
@@ -34,7 +34,7 @@ See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<li><a href="#filetypesx">How does CVS handle file types/creators under Mac OS X? </a></li>
|
||||
<li><a href="#cwpro53">What steps are required to build wxMac using CodeWarrior P ro 5.3?</a></li>
|
||||
<li><a href="#buildx">What steps are required to build wxMac under Mac OS X?</a></li>
|
||||
<li><a href="#settings">What important settings are required in the CodeWarrior P roject Preferences?</a></li>
|
||||
<li><a href="#settings">What important settings are required in the CodeWarrior Project Preferences?</a></li>
|
||||
<li><a href="#smarterrors">What are the smart preprocessing errors with the Apple Developer Tools?</a></li>
|
||||
<li><a href="#aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></li>
|
||||
</ul>
|
||||
|
@@ -1,4 +1,3 @@
|
||||
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
@@ -35,6 +34,7 @@ See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<li><a href="#dll">Can you compile wxWindows 2 as a DLL?</a></li>
|
||||
<li><a href="#exesize">How can I reduce executable size?</a></li>
|
||||
<li><a href="#mfc">Is wxWindows compatible with MFC?</a></li>
|
||||
<li><a href="#asuffix">Why do I get errors about FooBarA when I only use FooBar in my program?</a></li>
|
||||
<li><a href="#newerrors">Why my code fails to compile with strange errors about new operator?</a></li>
|
||||
<li><a href="#mfcport">How do I port MFC applications to wxWindows?</a></li>
|
||||
<li><a href="#crash">Why do I sometimes get bizarre crash problems using VC++ 5/6?</a></li>
|
||||
@@ -216,6 +216,25 @@ There is a sample which demonstrates MFC and wxWindows code co-existing in the s
|
||||
application. However, don't expect to be able to enable wxWindows windows with OLE-2
|
||||
functionality using MFC.<P>
|
||||
|
||||
<H3><a name="asuffix">Why do I get errors about FooBarA when I only use FooBar in my program?</H3>
|
||||
|
||||
If you get errors like
|
||||
<p>
|
||||
<center>
|
||||
<tt>no matching function for call to 'wxDC::DrawTextA(const char[5], int,
|
||||
int)'</tt>
|
||||
</center>
|
||||
<p>
|
||||
or similar ones for the other functions, i.e. the compiler error messages
|
||||
mention the function with the <tt>'A'</tt> suffix while you didn't
|
||||
use it in your code, the explanation is that you had included
|
||||
<tt><windows.h></tt> header which redefines many symbols to have such
|
||||
suffix (or <tt>'W'</tt> in the Unicode builds).
|
||||
|
||||
<p>
|
||||
The fix is to either not include <tt><windows.h></tt> at all or include
|
||||
<tt>"wx/msw/winundef.h"</tt> immediately after it.
|
||||
|
||||
<H3><a name="newerrors">Why my code fails to compile with strange errors about new operator?</a></H3>
|
||||
|
||||
The most common cause of this problem is the memory debugging settings in
|
||||
@@ -395,7 +414,7 @@ First, you can use wxRegKey directly, for example:
|
||||
regKey.SetName(idName);
|
||||
|
||||
{
|
||||
wxLogNull dummy;
|
||||
wxLogNull dummy;
|
||||
if (!regKey.Create())
|
||||
{
|
||||
idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\");
|
||||
|
@@ -22,8 +22,8 @@
|
||||
|
||||
You will find below the list of all supported platforms for different ports of wxWindows 2.x (wxMSW/wxGTK/wxMotif ports
|
||||
only). The cross icon in the third column doesn't mean that the platform is not supported, but just that wxWindows hasn't
|
||||
been tested on it recently (the table is being updated for wxWindows 2.1.14
|
||||
beta currently).
|
||||
been tested on it recently (the table is being updated for wxWindows 2.3.3
|
||||
currently).
|
||||
<p>
|
||||
See also:
|
||||
|
||||
@@ -102,8 +102,8 @@ often don't work.
|
||||
|
||||
<tr>
|
||||
<td bgcolor="#F0F0F0" align=center valign=center rowspan=3>AIX</td>
|
||||
<td>wxGTK with AIX CC</td><td align=center><IMG SRC="images/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
|
||||
<tr> <td>wxGTK 2.2.9 with gcc 3.0.4</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Ian Brown</td><td>Shared library building doesn't work, use <tt>--disable-shared</tt></td>
|
||||
<td>wxGTK 2.2.9 with gcc 3.0.4</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Ian Brown</td><td>Shared library building doesn't work, use <tt>--disable-shared</tt></td>
|
||||
<tr> <td>wxGTK 2.3.3 with xlC (AIX 4.3.2)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Irvin Probst</td><td>Both static and shared wxGTK libraries work, but only with static GTK+ and GLib</td>
|
||||
<tr> <td>wxMotif with xlC 3.1.4.0 (AIX 4.2)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td>
|
||||
<td>Bernhard Eck</td>
|
||||
<td>Some problems with OpenGL and native X server</td>
|
||||
|
@@ -8,7 +8,7 @@ whose interface is a subset of the interface of STL containers.
|
||||
\begin{verbatim}
|
||||
class MyClass { /* ... */ };
|
||||
|
||||
// declare an hash map with string keys and int values
|
||||
// declare a hash map with string keys and int values
|
||||
WX_DECLARE_STRING_HASH_MAP( int, MyHash5 );
|
||||
// same, with int keys and MyClass* values
|
||||
WX_DECLARE_HASH_MAP( int, MyClass*, wxIntegerHash, wxIntegerEqual, MyHash1 );
|
||||
|
@@ -44,6 +44,7 @@ static const int IDM_WINDOWCASCADE = 4002;
|
||||
static const int IDM_WINDOWICONS = 4003;
|
||||
static const int IDM_WINDOWNEXT = 4004;
|
||||
static const int IDM_WINDOWTILEVERT = 4005;
|
||||
static const int IDM_WINDOWPREV = 4006;
|
||||
|
||||
// This range gives a maximum of 500 MDI children. Should be enough :-)
|
||||
static const int wxFIRST_MDI_CHILD = 4100;
|
||||
|
@@ -44,6 +44,7 @@ static const int IDM_WINDOWCASCADE = 4002;
|
||||
static const int IDM_WINDOWICONS = 4003;
|
||||
static const int IDM_WINDOWNEXT = 4004;
|
||||
static const int IDM_WINDOWTILEVERT = 4005;
|
||||
static const int IDM_WINDOWPREV = 4006;
|
||||
|
||||
// This range gives a maximum of 500 MDI children. Should be enough :-)
|
||||
static const int wxFIRST_MDI_CHILD = 4100;
|
||||
|
@@ -82,6 +82,7 @@ static const int IDM_WINDOWCASCADE = 4002;
|
||||
static const int IDM_WINDOWICONS = 4003;
|
||||
static const int IDM_WINDOWNEXT = 4004;
|
||||
static const int IDM_WINDOWTILEVERT = 4005;
|
||||
static const int IDM_WINDOWPREV = 4006;
|
||||
|
||||
// This range gives a maximum of 500 MDI children. Should be enough :-)
|
||||
static const int wxFIRST_MDI_CHILD = 4100;
|
||||
@@ -188,6 +189,7 @@ bool wxMDIParentFrame::Create(wxWindow *parent,
|
||||
m_windowMenu->AppendSeparator();
|
||||
m_windowMenu->Append(IDM_WINDOWICONS, _("&Arrange Icons"));
|
||||
m_windowMenu->Append(IDM_WINDOWNEXT, _("&Next"));
|
||||
m_windowMenu->Append(IDM_WINDOWPREV, _("&Previous"));
|
||||
}
|
||||
|
||||
m_parentFrameActive = TRUE;
|
||||
@@ -500,6 +502,7 @@ bool wxMDIParentFrame::HandleCommand(WXWORD id, WXWORD cmd, WXHWND hwnd)
|
||||
|
||||
// is it one of standard MDI commands?
|
||||
WXWPARAM wParam = 0;
|
||||
WXLPARAM lParam = 0;
|
||||
int msg;
|
||||
switch ( id )
|
||||
{
|
||||
@@ -525,6 +528,12 @@ bool wxMDIParentFrame::HandleCommand(WXWORD id, WXWORD cmd, WXHWND hwnd)
|
||||
|
||||
case IDM_WINDOWNEXT:
|
||||
msg = WM_MDINEXT;
|
||||
lParam = 0; // next child
|
||||
break;
|
||||
|
||||
case IDM_WINDOWPREV:
|
||||
msg = WM_MDINEXT;
|
||||
lParam = 1; // previous child
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -533,7 +542,7 @@ bool wxMDIParentFrame::HandleCommand(WXWORD id, WXWORD cmd, WXHWND hwnd)
|
||||
|
||||
if ( msg )
|
||||
{
|
||||
::SendMessage(GetWinHwnd(GetClientWindow()), msg, wParam, 0);
|
||||
::SendMessage(GetWinHwnd(GetClientWindow()), msg, wParam, lParam);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@@ -53,6 +53,7 @@ static const int IDM_WINDOWCASCADE = 4002;
|
||||
static const int IDM_WINDOWICONS = 4003;
|
||||
static const int IDM_WINDOWNEXT = 4004;
|
||||
static const int IDM_WINDOWTILEVERT = 4005;
|
||||
static const int IDM_WINDOWPREV = 4006;
|
||||
|
||||
// This range gives a maximum of 500 MDI children. Should be enough :-)
|
||||
static const int wxFIRST_MDI_CHILD = 4100;
|
||||
|
Reference in New Issue
Block a user