drawer sample mods from ABX (with only one mod - _CODE Added to #define USE_DRAWER 0)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -34,10 +34,10 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//include this sample's header
|
//include this sample's header
|
||||||
#include "tbtest.h"
|
#include "drawertest.h"
|
||||||
|
|
||||||
|
|
||||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
#if USE_DRAWER_CODE
|
||||||
|
|
||||||
//drawer
|
//drawer
|
||||||
#include "wx/dcclient.h"
|
#include "wx/dcclient.h"
|
||||||
@@ -62,8 +62,7 @@ BEGIN_EVENT_TABLE(MyDrawer, wxDrawerWindow)
|
|||||||
EVT_PAINT(MyDrawer::OnPaint)
|
EVT_PAINT(MyDrawer::OnPaint)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
#endif
|
#endif // USE_DRAWER_CODE
|
||||||
//OSX 10.2+
|
|
||||||
|
|
||||||
MyDialog *dialog = NULL;
|
MyDialog *dialog = NULL;
|
||||||
|
|
||||||
@@ -117,17 +116,55 @@ void MyDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
void MyDialog::Init(void)
|
void MyDialog::Init(void)
|
||||||
{
|
{
|
||||||
(void)new wxStaticText(this, wxID_ANY, _T("Press 'Hide me' to hide me, Exit to quit."),
|
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
wxPoint(10, 20));
|
|
||||||
|
|
||||||
(void)new wxStaticText(this, wxID_ANY, _T("Double-click on the taskbar icon to show me again."),
|
const int margin = 10;
|
||||||
wxPoint(10, 40));
|
sizer->Add( new wxStaticText(this,
|
||||||
|
wxID_ANY,
|
||||||
|
_T("Press 'Hide me' to hide me, Exit to quit.")
|
||||||
|
),
|
||||||
|
0,
|
||||||
|
wxALL | wxALIGN_LEFT ,
|
||||||
|
margin
|
||||||
|
);
|
||||||
|
|
||||||
|
sizer->Add( new wxStaticText(this,
|
||||||
|
wxID_ANY,
|
||||||
|
_T("Double-click on the taskbar icon to show me again.")
|
||||||
|
),
|
||||||
|
0,
|
||||||
|
wxALL | wxALIGN_LEFT ,
|
||||||
|
margin
|
||||||
|
);
|
||||||
|
|
||||||
|
wxBoxSizer *sizer_bottom = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
|
sizer_bottom->Add( new wxButton(this,
|
||||||
|
wxID_EXIT,
|
||||||
|
_T("Exit")
|
||||||
|
),
|
||||||
|
0,
|
||||||
|
wxALL | wxALIGN_RIGHT ,
|
||||||
|
margin
|
||||||
|
);
|
||||||
|
|
||||||
|
wxButton *ok = new wxButton(this, wxID_OK, _T("Hide me"));
|
||||||
|
|
||||||
|
sizer_bottom->Add( ok,
|
||||||
|
0,
|
||||||
|
wxALL | wxALIGN_LEFT ,
|
||||||
|
margin
|
||||||
|
);
|
||||||
|
|
||||||
|
sizer->Add( sizer_bottom, 0, wxALIGN_CENTER );
|
||||||
|
|
||||||
|
ok->SetDefault();
|
||||||
|
|
||||||
|
SetSizerAndFit(sizer);
|
||||||
|
|
||||||
(void)new wxButton(this, wxID_EXIT, _T("Exit"), wxPoint(185, 230), wxSize(80, 25));
|
|
||||||
(new wxButton(this, wxID_OK, _T("Hide me"), wxPoint(100, 230), wxSize(80, 25)))->SetDefault();
|
|
||||||
Centre(wxBOTH);
|
Centre(wxBOTH);
|
||||||
|
|
||||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
#if USE_DRAWER_CODE
|
||||||
|
|
||||||
MacSetMetalAppearance(true);
|
MacSetMetalAppearance(true);
|
||||||
Show(TRUE);
|
Show(TRUE);
|
||||||
@@ -136,9 +173,12 @@ void MyDialog::Init(void)
|
|||||||
pMyDrawer->Open(true);
|
pMyDrawer->Open(true);
|
||||||
|
|
||||||
m_taskBarIcon = new MyTaskBarIcon(pMyDrawer);
|
m_taskBarIcon = new MyTaskBarIcon(pMyDrawer);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
m_taskBarIcon = new MyTaskBarIcon();
|
m_taskBarIcon = new MyTaskBarIcon();
|
||||||
#endif
|
|
||||||
|
#endif // USE_DRAWER_CODE/!USE_DRAWER_CODE
|
||||||
|
|
||||||
if (!m_taskBarIcon->SetIcon(wxICON(sample), wxT("wxTaskBarIcon Sample")))
|
if (!m_taskBarIcon->SetIcon(wxICON(sample), wxT("wxTaskBarIcon Sample")))
|
||||||
wxMessageBox(wxT("Could not set icon."));
|
wxMessageBox(wxT("Could not set icon."));
|
||||||
@@ -168,13 +208,15 @@ BEGIN_EVENT_TABLE(MyTaskBarIcon, wxTaskBarIcon)
|
|||||||
EVT_MENU(PU_EXIT, MyTaskBarIcon::OnMenuExit)
|
EVT_MENU(PU_EXIT, MyTaskBarIcon::OnMenuExit)
|
||||||
EVT_MENU(PU_NEW_ICON,MyTaskBarIcon::OnMenuSetNewIcon)
|
EVT_MENU(PU_NEW_ICON,MyTaskBarIcon::OnMenuSetNewIcon)
|
||||||
EVT_MENU(PU_OLD_ICON,MyTaskBarIcon::OnMenuSetOldIcon)
|
EVT_MENU(PU_OLD_ICON,MyTaskBarIcon::OnMenuSetOldIcon)
|
||||||
|
#if USE_DRAWER_CODE
|
||||||
EVT_MENU(PU_OPEN_DRAWER,MyTaskBarIcon::OnMenuOpenDrawer)
|
EVT_MENU(PU_OPEN_DRAWER,MyTaskBarIcon::OnMenuOpenDrawer)
|
||||||
EVT_MENU(PU_CLOSE_DRAWER,MyTaskBarIcon::OnMenuCloseDrawer)
|
EVT_MENU(PU_CLOSE_DRAWER,MyTaskBarIcon::OnMenuCloseDrawer)
|
||||||
EVT_MENU(PU_TOP_DRAWER,MyTaskBarIcon::OnMenuTopDrawer)
|
EVT_MENU(PU_TOP_DRAWER,MyTaskBarIcon::OnMenuTopDrawer)
|
||||||
EVT_MENU(PU_BOTTOM_DRAWER,MyTaskBarIcon::OnMenuBottomDrawer)
|
EVT_MENU(PU_BOTTOM_DRAWER,MyTaskBarIcon::OnMenuBottomDrawer)
|
||||||
EVT_MENU(PU_LEFT_DRAWER,MyTaskBarIcon::OnMenuLeftDrawer)
|
EVT_MENU(PU_LEFT_DRAWER,MyTaskBarIcon::OnMenuLeftDrawer)
|
||||||
EVT_MENU(PU_RIGHT_DRAWER,MyTaskBarIcon::OnMenuRightDrawer)
|
EVT_MENU(PU_RIGHT_DRAWER,MyTaskBarIcon::OnMenuRightDrawer)
|
||||||
EVT_TASKBAR_LEFT_DCLICK (MyTaskBarIcon::OnLButtonDClick)
|
#endif // USE_DRAWER_CODE
|
||||||
|
EVT_TASKBAR_LEFT_DCLICK (MyTaskBarIcon::OnLeftButtonDClick)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
void MyTaskBarIcon::OnMenuRestore(wxCommandEvent& )
|
void MyTaskBarIcon::OnMenuRestore(wxCommandEvent& )
|
||||||
@@ -203,7 +245,7 @@ void MyTaskBarIcon::OnMenuSetOldIcon(wxCommandEvent&)
|
|||||||
wxMessageBox(wxT("Could not restore old icon."));
|
wxMessageBox(wxT("Could not restore old icon."));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
#if USE_DRAWER_CODE
|
||||||
|
|
||||||
void MyTaskBarIcon::OnMenuOpenDrawer(wxCommandEvent&)
|
void MyTaskBarIcon::OnMenuOpenDrawer(wxCommandEvent&)
|
||||||
{
|
{
|
||||||
@@ -234,7 +276,8 @@ void MyTaskBarIcon::OnMenuBottomDrawer(wxCommandEvent&)
|
|||||||
{
|
{
|
||||||
m_pMyDrawer->SetPreferredEdge(wxBOTTOM);
|
m_pMyDrawer->SetPreferredEdge(wxBOTTOM);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
#endif // USE_DRAWER_CODE
|
||||||
|
|
||||||
// Overridables
|
// Overridables
|
||||||
wxMenu *MyTaskBarIcon::CreatePopupMenu()
|
wxMenu *MyTaskBarIcon::CreatePopupMenu()
|
||||||
@@ -244,7 +287,7 @@ wxMenu *MyTaskBarIcon::CreatePopupMenu()
|
|||||||
menu->Append(PU_RESTORE, _T("&Restore TBTest"));
|
menu->Append(PU_RESTORE, _T("&Restore TBTest"));
|
||||||
menu->Append(PU_NEW_ICON,_T("&Set New Icon"));
|
menu->Append(PU_NEW_ICON,_T("&Set New Icon"));
|
||||||
menu->Append(PU_OLD_ICON,_T("&Restore Old Icon"));
|
menu->Append(PU_OLD_ICON,_T("&Restore Old Icon"));
|
||||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
#if USE_DRAWER_CODE
|
||||||
menu->AppendSeparator();
|
menu->AppendSeparator();
|
||||||
menu->Append(PU_OPEN_DRAWER,_T("Open Drawer"));
|
menu->Append(PU_OPEN_DRAWER,_T("Open Drawer"));
|
||||||
menu->Append(PU_CLOSE_DRAWER,_T("Close Drawer"));
|
menu->Append(PU_CLOSE_DRAWER,_T("Close Drawer"));
|
||||||
@@ -256,11 +299,11 @@ wxMenu *MyTaskBarIcon::CreatePopupMenu()
|
|||||||
#else
|
#else
|
||||||
menu->AppendSeparator();
|
menu->AppendSeparator();
|
||||||
menu->Append(PU_EXIT, _T("E&xit"));
|
menu->Append(PU_EXIT, _T("E&xit"));
|
||||||
#endif
|
#endif // USE_DRAWER_CODE / !USE_DRAWER_CODE
|
||||||
return menu;
|
return menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyTaskBarIcon::OnLButtonDClick(wxTaskBarIconEvent&)
|
void MyTaskBarIcon::OnLeftButtonDClick(wxTaskBarIconEvent&)
|
||||||
{
|
{
|
||||||
dialog->Show(true);
|
dialog->Show(true);
|
||||||
}
|
}
|
||||||
|
@@ -9,19 +9,25 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
||||||
|
#define USE_DRAWER_CODE 1
|
||||||
|
#else
|
||||||
|
#define USE_DRAWER_CODE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
class MyTaskBarIcon: public wxTaskBarIcon
|
class MyTaskBarIcon: public wxTaskBarIcon
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyTaskBarIcon() {};
|
MyTaskBarIcon() {};
|
||||||
|
|
||||||
void OnLButtonDClick(wxTaskBarIconEvent&);
|
void OnLeftButtonDClick(wxTaskBarIconEvent&);
|
||||||
void OnMenuRestore(wxCommandEvent&);
|
void OnMenuRestore(wxCommandEvent&);
|
||||||
void OnMenuExit(wxCommandEvent&);
|
void OnMenuExit(wxCommandEvent&);
|
||||||
|
|
||||||
void OnMenuSetNewIcon(wxCommandEvent&);
|
void OnMenuSetNewIcon(wxCommandEvent&);
|
||||||
void OnMenuSetOldIcon(wxCommandEvent&);
|
void OnMenuSetOldIcon(wxCommandEvent&);
|
||||||
|
|
||||||
#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
|
#if USE_DRAWER_CODE
|
||||||
class MyDrawer* m_pMyDrawer;
|
class MyDrawer* m_pMyDrawer;
|
||||||
MyTaskBarIcon(class MyDrawer* p) {m_pMyDrawer = p;}
|
MyTaskBarIcon(class MyDrawer* p) {m_pMyDrawer = p;}
|
||||||
|
|
||||||
@@ -32,7 +38,7 @@ public:
|
|||||||
void OnMenuRightDrawer(wxCommandEvent&);
|
void OnMenuRightDrawer(wxCommandEvent&);
|
||||||
void OnMenuTopDrawer(wxCommandEvent&);
|
void OnMenuTopDrawer(wxCommandEvent&);
|
||||||
void OnMenuBottomDrawer(wxCommandEvent&);
|
void OnMenuBottomDrawer(wxCommandEvent&);
|
||||||
#endif //10.2+
|
#endif // USE_DRAWER_CODE
|
||||||
|
|
||||||
virtual wxMenu *CreatePopupMenu();
|
virtual wxMenu *CreatePopupMenu();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user