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
 | 
			
		||||
 
 | 
			
		||||
@@ -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