From 892e461e3307b21676e9b0b0e588abc4e36dad31 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Sat, 20 Oct 2001 19:57:27 +0000 Subject: [PATCH] changed menu creation for choice and combobox (unique ids), control changed back to old selection code for non carbon targets git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/choice.cpp | 4 ++-- src/mac/carbon/combobox.cpp | 9 ++++++++- src/mac/carbon/control.cpp | 8 ++++++-- src/mac/choice.cpp | 4 ++-- src/mac/combobox.cpp | 9 ++++++++- src/mac/control.cpp | 8 ++++++-- 6 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/mac/carbon/choice.cpp b/src/mac/carbon/choice.cpp index 30a17488d2..08f5a8fd75 100644 --- a/src/mac/carbon/choice.cpp +++ b/src/mac/carbon/choice.cpp @@ -23,7 +23,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl) #endif -short nextMenuId = 100 ; // wxMenu takes the lower ids +extern MenuHandle NewUniqueMenu() ; wxChoice::~wxChoice() { @@ -48,7 +48,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id, m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0 , kControlPopupButtonProc + kControlPopupFixedWidthVariant , (long) this ) ; - m_macPopUpMenuHandle = NewMenu( 1 , "\pPopUp Menu" ) ; + m_macPopUpMenuHandle = NewUniqueMenu() ; SetControlData( m_macControl , kControlNoPart , kControlPopupButtonMenuHandleTag , sizeof( MenuHandle ) , (char*) &m_macPopUpMenuHandle) ; SetControlMinimum( m_macControl , 0 ) ; SetControlMaximum( m_macControl , 0) ; diff --git a/src/mac/carbon/combobox.cpp b/src/mac/carbon/combobox.cpp index 36e92ad7a3..a1410b1135 100644 --- a/src/mac/carbon/combobox.cpp +++ b/src/mac/carbon/combobox.cpp @@ -23,6 +23,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl) // right now we don't support editable comboboxes +static nextPopUpMenuId = 1000 ; +MenuHandle NewUniqueMenu() +{ + MenuHandle handle = NewMenu( nextPopUpMenuId , "\pMenu" ) ; + nextPopUpMenuId++ ; + return handle ; +} bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, @@ -43,7 +50,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0, kControlPopupButtonProc , (long) this ) ; - m_macPopUpMenuHandle = NewMenu( 1 , "\pPopUp Menu" ) ; + m_macPopUpMenuHandle = NewUniqueMenu() ; SetControlData( m_macControl , kControlNoPart , kControlPopupButtonMenuHandleTag , sizeof( MenuHandle ) , (char*) &m_macPopUpMenuHandle) ; for ( int i = 0 ; i < n ; i++ ) { diff --git a/src/mac/carbon/control.cpp b/src/mac/carbon/control.cpp index 764da5b8c2..4d4e3ffc32 100644 --- a/src/mac/carbon/control.cpp +++ b/src/mac/carbon/control.cpp @@ -834,9 +834,13 @@ void wxControl::OnMouseEvent( wxMouseEvent &event ) if ( event.m_metaDown ) modifiers |= cmdKey ; - -// controlpart = FindControl( localwhere , window , &control ) ; + +#if TARGET_CARBON control = FindControlUnderMouse( localwhere , window , &controlpart ) ; +#else +// control = FindControlUnderMouse( localwhere , window , &controlpart ) ; + controlpart = FindControl( localwhere , window , &control ) ; +#endif { /* if ( AcceptsFocus() && FindFocus() != this ) diff --git a/src/mac/choice.cpp b/src/mac/choice.cpp index 30a17488d2..08f5a8fd75 100644 --- a/src/mac/choice.cpp +++ b/src/mac/choice.cpp @@ -23,7 +23,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl) #endif -short nextMenuId = 100 ; // wxMenu takes the lower ids +extern MenuHandle NewUniqueMenu() ; wxChoice::~wxChoice() { @@ -48,7 +48,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id, m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0 , kControlPopupButtonProc + kControlPopupFixedWidthVariant , (long) this ) ; - m_macPopUpMenuHandle = NewMenu( 1 , "\pPopUp Menu" ) ; + m_macPopUpMenuHandle = NewUniqueMenu() ; SetControlData( m_macControl , kControlNoPart , kControlPopupButtonMenuHandleTag , sizeof( MenuHandle ) , (char*) &m_macPopUpMenuHandle) ; SetControlMinimum( m_macControl , 0 ) ; SetControlMaximum( m_macControl , 0) ; diff --git a/src/mac/combobox.cpp b/src/mac/combobox.cpp index 36e92ad7a3..a1410b1135 100644 --- a/src/mac/combobox.cpp +++ b/src/mac/combobox.cpp @@ -23,6 +23,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl) // right now we don't support editable comboboxes +static nextPopUpMenuId = 1000 ; +MenuHandle NewUniqueMenu() +{ + MenuHandle handle = NewMenu( nextPopUpMenuId , "\pMenu" ) ; + nextPopUpMenuId++ ; + return handle ; +} bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, @@ -43,7 +50,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0, kControlPopupButtonProc , (long) this ) ; - m_macPopUpMenuHandle = NewMenu( 1 , "\pPopUp Menu" ) ; + m_macPopUpMenuHandle = NewUniqueMenu() ; SetControlData( m_macControl , kControlNoPart , kControlPopupButtonMenuHandleTag , sizeof( MenuHandle ) , (char*) &m_macPopUpMenuHandle) ; for ( int i = 0 ; i < n ; i++ ) { diff --git a/src/mac/control.cpp b/src/mac/control.cpp index 764da5b8c2..4d4e3ffc32 100644 --- a/src/mac/control.cpp +++ b/src/mac/control.cpp @@ -834,9 +834,13 @@ void wxControl::OnMouseEvent( wxMouseEvent &event ) if ( event.m_metaDown ) modifiers |= cmdKey ; - -// controlpart = FindControl( localwhere , window , &control ) ; + +#if TARGET_CARBON control = FindControlUnderMouse( localwhere , window , &controlpart ) ; +#else +// control = FindControlUnderMouse( localwhere , window , &controlpart ) ; + controlpart = FindControl( localwhere , window , &control ) ; +#endif { /* if ( AcceptsFocus() && FindFocus() != this ) -- 2.47.2