Some sample cleanup:
1. Use standard sample icon, avoid badly looking #ifdef __WXMSW__s 2. Use "modern" (i.e. this century) wxToolBar API, simplify code by not allocating the bitmaps on the heap and deleting them any more git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
5912d19ef7
commit
e21d861412
@ -116,21 +116,15 @@ bool MyApp::OnInit()
|
||||
frame = new MyFrame((wxFrame *)NULL, wxID_ANY, _T("MDI Demo"),
|
||||
wxDefaultPosition, wxSize(500, 400),
|
||||
wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
|
||||
#ifdef __WXMSW__
|
||||
#if 0
|
||||
// Experimental: change the window menu
|
||||
wxMenu* windowMenu = new wxMenu;
|
||||
windowMenu->Append(5000, _T("My menu item!"));
|
||||
frame->SetWindowMenu(windowMenu);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Give it an icon
|
||||
#ifdef __WXMSW__
|
||||
frame->SetIcon(wxIcon(_T("mdi_icn")));
|
||||
#else
|
||||
frame->SetIcon(wxIcon( mondrian_xpm ));
|
||||
#endif
|
||||
frame->SetIcon(wxICON(sample));
|
||||
|
||||
// Make a menubar
|
||||
wxMenu *file_menu = new wxMenu;
|
||||
@ -171,8 +165,7 @@ MyFrame::MyFrame(wxWindow *parent,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
const long style)
|
||||
: wxMDIParentFrame(parent, id, title, pos, size,
|
||||
style | wxNO_FULL_REPAINT_ON_RESIZE)
|
||||
: wxMDIParentFrame(parent, id, title, pos, size, style)
|
||||
{
|
||||
textWindow = new wxTextCtrl(this, wxID_ANY, _T("A help window"),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
@ -235,11 +228,7 @@ void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event) )
|
||||
subframe->SetTitle(title);
|
||||
|
||||
// Give it an icon
|
||||
#ifdef __WXMSW__
|
||||
subframe->SetIcon(wxIcon(_T("chrt_icn")));
|
||||
#else
|
||||
subframe->SetIcon(wxIcon( mondrian_xpm ));
|
||||
#endif
|
||||
subframe->SetIcon(wxICON(chart));
|
||||
|
||||
#if wxUSE_MENUS
|
||||
// Make a menubar
|
||||
@ -316,44 +305,30 @@ void MyFrame::OnSize(wxSizeEvent&
|
||||
#if wxUSE_TOOLBAR
|
||||
void MyFrame::InitToolBar(wxToolBar* toolBar)
|
||||
{
|
||||
wxBitmap* bitmaps[8];
|
||||
wxBitmap bitmaps[8];
|
||||
|
||||
bitmaps[0] = new wxBitmap( new_xpm );
|
||||
bitmaps[1] = new wxBitmap( open_xpm );
|
||||
bitmaps[2] = new wxBitmap( save_xpm );
|
||||
bitmaps[3] = new wxBitmap( copy_xpm );
|
||||
bitmaps[4] = new wxBitmap( cut_xpm );
|
||||
bitmaps[5] = new wxBitmap( paste_xpm );
|
||||
bitmaps[6] = new wxBitmap( print_xpm );
|
||||
bitmaps[7] = new wxBitmap( help_xpm );
|
||||
bitmaps[0] = wxBitmap( new_xpm );
|
||||
bitmaps[1] = wxBitmap( open_xpm );
|
||||
bitmaps[2] = wxBitmap( save_xpm );
|
||||
bitmaps[3] = wxBitmap( copy_xpm );
|
||||
bitmaps[4] = wxBitmap( cut_xpm );
|
||||
bitmaps[5] = wxBitmap( paste_xpm );
|
||||
bitmaps[6] = wxBitmap( print_xpm );
|
||||
bitmaps[7] = wxBitmap( help_xpm );
|
||||
|
||||
int width = 24;
|
||||
int currentX = 5;
|
||||
|
||||
toolBar->AddTool( MDI_NEW_WINDOW, *(bitmaps[0]), wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("New file"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(1, *bitmaps[1], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Open file"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(2, *bitmaps[2], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Save file"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(MDI_NEW_WINDOW, _T("New"), bitmaps[0], _T("New file"));
|
||||
toolBar->AddTool(1, _T("Open"), bitmaps[1], _T("Open file"));
|
||||
toolBar->AddTool(2, _T("Save"), bitmaps[2], _T("Save file"));
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(3, *bitmaps[3], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Copy"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(4, *bitmaps[4], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Cut"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(5, *bitmaps[5], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Paste"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(3, _T("Copy"), bitmaps[3], _T("Copy"));
|
||||
toolBar->AddTool(4, _T("Cut"), bitmaps[4], _T("Cut"));
|
||||
toolBar->AddTool(5, _T("Paste"), bitmaps[5], _T("Paste"));
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(6, *bitmaps[6], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Print"));
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(6, _T("Print"), bitmaps[6], _T("Print"));
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool( MDI_ABOUT, *bitmaps[7], wxNullBitmap, true, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Help"));
|
||||
toolBar->AddTool(MDI_ABOUT, _T("About"), bitmaps[7], _T("Help"));
|
||||
|
||||
toolBar->Realize();
|
||||
|
||||
int i;
|
||||
for (i = 0; i < 8; i++)
|
||||
delete bitmaps[i];
|
||||
}
|
||||
#endif // wxUSE_TOOLBAR
|
||||
|
||||
@ -468,7 +443,7 @@ void MyChild::OnChangeSize(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
void MyChild::OnChangeTitle(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
//#if wxUSE_TEXTDLG
|
||||
#if wxUSE_TEXTDLG
|
||||
static wxString s_title = _T("Canvas Frame");
|
||||
|
||||
wxString title = wxGetTextFromUser(_T("Enter the new title for MDI child"),
|
||||
@ -480,7 +455,7 @@ void MyChild::OnChangeTitle(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
s_title = title;
|
||||
SetTitle(s_title);
|
||||
//#endif
|
||||
#endif // wxUSE_TEXTDLG
|
||||
}
|
||||
|
||||
void MyChild::OnActivate(wxActivateEvent& event)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
@ -1,15 +1,4 @@
|
||||
aaaa ICON "mondrian.ico"
|
||||
#include "../sample.rc"
|
||||
|
||||
/* Useful if PROVIDE_DEFAULT_ICONS is set in wx_setup.h */
|
||||
#define IHaveMDIParentIcon
|
||||
#define IHaveMDIChildIcon
|
||||
|
||||
wxSTD_MDIPARENTFRAME ICON "mondrian.ico"
|
||||
wxSTD_MDICHILDFRAME ICON "chart.ico"
|
||||
|
||||
mdi_icn ICON "mondrian.ico"
|
||||
chrt_icn ICON "chart.ico"
|
||||
|
||||
|
||||
#include "wx/msw/wx.rc"
|
||||
chart ICON "chart.ico"
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 766 B |
Loading…
Reference in New Issue
Block a user