Ticket #12490: auidemo_mdi.patch

File auidemo_mdi.patch, 2.4 KB (added by Carsten, 8 years ago)

This patch uses a wxMDIChildFrame, where the problem is clearly visible

  • auidemo.cpp

     
    3434#include "wx/statusbr.h"
    3535#include "wx/msgdlg.h"
    3636#include "wx/textdlg.h"
     37#include "wx/mdi.h"
    3738
    3839#include "wx/aui/aui.h"
    3940#include "../sample.xpm"
     
    5455
    5556// -- frame --
    5657
    57 class MyFrame : public wxFrame
     58class MyFrame : public wxMDIChildFrame
    5859{
    5960    enum
    6061    {
     
    110111    };
    111112
    112113public:
    113     MyFrame(wxWindow* parent,
     114    MyFrame(wxMDIParentFrame* parent,
    114115            wxWindowID id,
    115116            const wxString& title,
    116117            const wxPoint& pos = wxDefaultPosition,
     
    565566    if ( !wxApp::OnInit() )
    566567        return false;
    567568
    568     wxFrame* frame = new MyFrame(NULL,
    569                                  wxID_ANY,
    570                                  wxT("wxAUI Sample Application"),
    571                                  wxDefaultPosition,
    572                                  wxSize(800, 600));
    573     SetTopWindow(frame);
     569    wxMDIParentFrame* parent=new wxMDIParentFrame(NULL, wxID_ANY, "wxAUI sample with MDI", wxDefaultPosition, wxSize(800, 600));
     570
     571    SetTopWindow(parent);
     572    parent->Show();
     573
     574    MyFrame* frame=new MyFrame(parent,
     575                               wxID_ANY,
     576                               wxT("wxAUI Sample Application"),
     577                               wxDefaultPosition,
     578                               wxDefaultSize, wxDEFAULT_FRAME_STYLE | wxMAXIMIZE);
    574579    frame->Show();
    575580
    576581    return true;
    577582}
    578583
    579 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     584BEGIN_EVENT_TABLE(MyFrame, wxMDIChildFrame)
    580585    EVT_ERASE_BACKGROUND(MyFrame::OnEraseBackground)
    581586    EVT_SIZE(MyFrame::OnSize)
    582587    EVT_MENU(MyFrame::ID_CreateTree, MyFrame::OnCreateTree)
     
    658663END_EVENT_TABLE()
    659664
    660665
    661 MyFrame::MyFrame(wxWindow* parent,
     666MyFrame::MyFrame(wxMDIParentFrame* parent,
    662667                 wxWindowID id,
    663668                 const wxString& title,
    664669                 const wxPoint& pos,
    665670                 const wxSize& size,
    666671                 long style)
    667         : wxFrame(parent, id, title, pos, size, style)
     672        : wxMDIChildFrame(parent, id, title, pos, size, style)
    668673{
    669674    // tell wxAuiManager to manage this frame
    670675    m_mgr.SetManagedWindow(this);
     
    756761
    757762    SetMenuBar(mb);
    758763
    759     CreateStatusBar();
    760     GetStatusBar()->SetStatusText(_("Ready"));
    761764
    762765
    763766    // min size for the frame itself isn't completely done.