applied patch 1372197, with some minor mods and cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -53,7 +53,6 @@ BEGIN_EVENT_TABLE(MyDialog, wxDialog)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
|
||||
MyDialog::MyDialog(wxWindow* parent, const wxWindowID id, const wxString& title,
|
||||
const wxPoint& pos, const wxSize& size, const long windowStyle):
|
||||
wxDialog(parent, id, title, pos, size, windowStyle)
|
||||
@@ -108,8 +107,12 @@ void MyDialog::Init(void)
|
||||
enum {
|
||||
PU_RESTORE = 10001,
|
||||
PU_NEW_ICON,
|
||||
PU_OLD_ICON,
|
||||
PU_EXIT,
|
||||
PU_CHECKMARK
|
||||
PU_CHECKMARK,
|
||||
PU_SUB1,
|
||||
PU_SUB2,
|
||||
PU_SUBMAIN
|
||||
};
|
||||
|
||||
|
||||
@@ -117,9 +120,12 @@ BEGIN_EVENT_TABLE(MyTaskBarIcon, wxTaskBarIcon)
|
||||
EVT_MENU(PU_RESTORE, MyTaskBarIcon::OnMenuRestore)
|
||||
EVT_MENU(PU_EXIT, MyTaskBarIcon::OnMenuExit)
|
||||
EVT_MENU(PU_NEW_ICON,MyTaskBarIcon::OnMenuSetNewIcon)
|
||||
EVT_MENU(PU_OLD_ICON,MyTaskBarIcon::OnMenuSetOldIcon)
|
||||
EVT_MENU(PU_CHECKMARK,MyTaskBarIcon::OnMenuCheckmark)
|
||||
EVT_UPDATE_UI(PU_CHECKMARK,MyTaskBarIcon::OnMenuUICheckmark)
|
||||
EVT_TASKBAR_LEFT_DCLICK (MyTaskBarIcon::OnLeftButtonDClick)
|
||||
EVT_MENU(PU_SUB1, MyTaskBarIcon::OnMenuSub)
|
||||
EVT_MENU(PU_SUB2, MyTaskBarIcon::OnMenuSub)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
void MyTaskBarIcon::OnMenuRestore(wxCommandEvent& )
|
||||
@@ -138,6 +144,7 @@ void MyTaskBarIcon::OnMenuCheckmark(wxCommandEvent& )
|
||||
{
|
||||
check =!check;
|
||||
}
|
||||
|
||||
void MyTaskBarIcon::OnMenuUICheckmark(wxUpdateUIEvent &event)
|
||||
{
|
||||
event.Check( check );
|
||||
@@ -151,16 +158,45 @@ void MyTaskBarIcon::OnMenuSetNewIcon(wxCommandEvent&)
|
||||
wxMessageBox(wxT("Could not set new icon."));
|
||||
}
|
||||
|
||||
void MyTaskBarIcon::OnMenuSetOldIcon(wxCommandEvent&)
|
||||
{
|
||||
if (IsIconInstalled())
|
||||
{
|
||||
RemoveIcon();
|
||||
}
|
||||
else
|
||||
{
|
||||
wxMessageBox(wxT("wxTaskBarIcon Sample - icon already is the old version"));
|
||||
}
|
||||
}
|
||||
|
||||
void MyTaskBarIcon::OnMenuSub(wxCommandEvent&)
|
||||
{
|
||||
wxMessageBox(wxT("You clicked on a submenu!"));
|
||||
}
|
||||
|
||||
// Overridables
|
||||
wxMenu *MyTaskBarIcon::CreatePopupMenu()
|
||||
{
|
||||
// Try creating menus different ways
|
||||
// TODO: Probably try calling SetBitmap with some XPMs here
|
||||
wxMenu *menu = new wxMenu;
|
||||
|
||||
menu->Append(PU_RESTORE, _T("&Restore TBTest"));
|
||||
menu->Append(PU_NEW_ICON,_T("&Set New Icon"));
|
||||
menu->Append(PU_CHECKMARK, _T("Checkmark"),wxT( "" ), wxITEM_CHECK );
|
||||
menu->AppendSeparator();
|
||||
menu->Append(PU_OLD_ICON, _T("&Restore Old Icon"));
|
||||
menu->Append(PU_NEW_ICON, _T("&Set New Icon"));
|
||||
menu->AppendSeparator();
|
||||
menu->Append(PU_CHECKMARK, _T("Checkmark"),wxT(""), wxITEM_CHECK);
|
||||
menu->AppendSeparator();
|
||||
wxMenu *submenu = new wxMenu;
|
||||
submenu->Append(PU_SUB1, _T("One submenu"));
|
||||
submenu->AppendSeparator();
|
||||
submenu->Append(PU_SUB2, _T("Another submenu"));
|
||||
menu->Append(PU_SUBMAIN, _T("Submenu"), submenu);
|
||||
#ifndef __WXMAC_OSX__ /*Mac has built-in quit menu*/
|
||||
menu->AppendSeparator();
|
||||
menu->Append(PU_EXIT, _T("E&xit"));
|
||||
|
||||
#endif
|
||||
return menu;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user