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:
@@ -116,21 +116,15 @@ bool MyApp::OnInit()
|
|||||||
frame = new MyFrame((wxFrame *)NULL, wxID_ANY, _T("MDI Demo"),
|
frame = new MyFrame((wxFrame *)NULL, wxID_ANY, _T("MDI Demo"),
|
||||||
wxDefaultPosition, wxSize(500, 400),
|
wxDefaultPosition, wxSize(500, 400),
|
||||||
wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
|
wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
|
||||||
#ifdef __WXMSW__
|
|
||||||
#if 0
|
#if 0
|
||||||
// Experimental: change the window menu
|
// Experimental: change the window menu
|
||||||
wxMenu* windowMenu = new wxMenu;
|
wxMenu* windowMenu = new wxMenu;
|
||||||
windowMenu->Append(5000, _T("My menu item!"));
|
windowMenu->Append(5000, _T("My menu item!"));
|
||||||
frame->SetWindowMenu(windowMenu);
|
frame->SetWindowMenu(windowMenu);
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Give it an icon
|
// Give it an icon
|
||||||
#ifdef __WXMSW__
|
frame->SetIcon(wxICON(sample));
|
||||||
frame->SetIcon(wxIcon(_T("mdi_icn")));
|
|
||||||
#else
|
|
||||||
frame->SetIcon(wxIcon( mondrian_xpm ));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Make a menubar
|
// Make a menubar
|
||||||
wxMenu *file_menu = new wxMenu;
|
wxMenu *file_menu = new wxMenu;
|
||||||
@@ -171,8 +165,7 @@ MyFrame::MyFrame(wxWindow *parent,
|
|||||||
const wxPoint& pos,
|
const wxPoint& pos,
|
||||||
const wxSize& size,
|
const wxSize& size,
|
||||||
const long style)
|
const long style)
|
||||||
: wxMDIParentFrame(parent, id, title, pos, size,
|
: wxMDIParentFrame(parent, id, title, pos, size, style)
|
||||||
style | wxNO_FULL_REPAINT_ON_RESIZE)
|
|
||||||
{
|
{
|
||||||
textWindow = new wxTextCtrl(this, wxID_ANY, _T("A help window"),
|
textWindow = new wxTextCtrl(this, wxID_ANY, _T("A help window"),
|
||||||
wxDefaultPosition, wxDefaultSize,
|
wxDefaultPosition, wxDefaultSize,
|
||||||
@@ -235,11 +228,7 @@ void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event) )
|
|||||||
subframe->SetTitle(title);
|
subframe->SetTitle(title);
|
||||||
|
|
||||||
// Give it an icon
|
// Give it an icon
|
||||||
#ifdef __WXMSW__
|
subframe->SetIcon(wxICON(chart));
|
||||||
subframe->SetIcon(wxIcon(_T("chrt_icn")));
|
|
||||||
#else
|
|
||||||
subframe->SetIcon(wxIcon( mondrian_xpm ));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if wxUSE_MENUS
|
#if wxUSE_MENUS
|
||||||
// Make a menubar
|
// Make a menubar
|
||||||
@@ -316,44 +305,30 @@ void MyFrame::OnSize(wxSizeEvent&
|
|||||||
#if wxUSE_TOOLBAR
|
#if wxUSE_TOOLBAR
|
||||||
void MyFrame::InitToolBar(wxToolBar* toolBar)
|
void MyFrame::InitToolBar(wxToolBar* toolBar)
|
||||||
{
|
{
|
||||||
wxBitmap* bitmaps[8];
|
wxBitmap bitmaps[8];
|
||||||
|
|
||||||
bitmaps[0] = new wxBitmap( new_xpm );
|
bitmaps[0] = wxBitmap( new_xpm );
|
||||||
bitmaps[1] = new wxBitmap( open_xpm );
|
bitmaps[1] = wxBitmap( open_xpm );
|
||||||
bitmaps[2] = new wxBitmap( save_xpm );
|
bitmaps[2] = wxBitmap( save_xpm );
|
||||||
bitmaps[3] = new wxBitmap( copy_xpm );
|
bitmaps[3] = wxBitmap( copy_xpm );
|
||||||
bitmaps[4] = new wxBitmap( cut_xpm );
|
bitmaps[4] = wxBitmap( cut_xpm );
|
||||||
bitmaps[5] = new wxBitmap( paste_xpm );
|
bitmaps[5] = wxBitmap( paste_xpm );
|
||||||
bitmaps[6] = new wxBitmap( print_xpm );
|
bitmaps[6] = wxBitmap( print_xpm );
|
||||||
bitmaps[7] = new wxBitmap( help_xpm );
|
bitmaps[7] = wxBitmap( help_xpm );
|
||||||
|
|
||||||
int width = 24;
|
toolBar->AddTool(MDI_NEW_WINDOW, _T("New"), bitmaps[0], _T("New file"));
|
||||||
int currentX = 5;
|
toolBar->AddTool(1, _T("Open"), bitmaps[1], _T("Open file"));
|
||||||
|
toolBar->AddTool(2, _T("Save"), bitmaps[2], _T("Save file"));
|
||||||
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->AddSeparator();
|
toolBar->AddSeparator();
|
||||||
toolBar->AddTool(3, *bitmaps[3], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Copy"));
|
toolBar->AddTool(3, _T("Copy"), bitmaps[3], _T("Copy"));
|
||||||
currentX += width + 5;
|
toolBar->AddTool(4, _T("Cut"), bitmaps[4], _T("Cut"));
|
||||||
toolBar->AddTool(4, *bitmaps[4], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Cut"));
|
toolBar->AddTool(5, _T("Paste"), bitmaps[5], _T("Paste"));
|
||||||
currentX += width + 5;
|
|
||||||
toolBar->AddTool(5, *bitmaps[5], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Paste"));
|
|
||||||
currentX += width + 5;
|
|
||||||
toolBar->AddSeparator();
|
toolBar->AddSeparator();
|
||||||
toolBar->AddTool(6, *bitmaps[6], wxNullBitmap, false, currentX, wxDefaultCoord, (wxObject *) NULL, _T("Print"));
|
toolBar->AddTool(6, _T("Print"), bitmaps[6], _T("Print"));
|
||||||
currentX += width + 5;
|
|
||||||
toolBar->AddSeparator();
|
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();
|
toolBar->Realize();
|
||||||
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < 8; i++)
|
|
||||||
delete bitmaps[i];
|
|
||||||
}
|
}
|
||||||
#endif // wxUSE_TOOLBAR
|
#endif // wxUSE_TOOLBAR
|
||||||
|
|
||||||
@@ -468,7 +443,7 @@ void MyChild::OnChangeSize(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
void MyChild::OnChangeTitle(wxCommandEvent& WXUNUSED(event))
|
void MyChild::OnChangeTitle(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
//#if wxUSE_TEXTDLG
|
#if wxUSE_TEXTDLG
|
||||||
static wxString s_title = _T("Canvas Frame");
|
static wxString s_title = _T("Canvas Frame");
|
||||||
|
|
||||||
wxString title = wxGetTextFromUser(_T("Enter the new title for MDI child"),
|
wxString title = wxGetTextFromUser(_T("Enter the new title for MDI child"),
|
||||||
@@ -480,7 +455,7 @@ void MyChild::OnChangeTitle(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
s_title = title;
|
s_title = title;
|
||||||
SetTitle(s_title);
|
SetTitle(s_title);
|
||||||
//#endif
|
#endif // wxUSE_TEXTDLG
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyChild::OnActivate(wxActivateEvent& event)
|
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 */
|
chart ICON "chart.ico"
|
||||||
#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"
|
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 766 B |
Reference in New Issue
Block a user