wxMenu ctor made compatible again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -501,15 +501,6 @@ static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu )
|
||||
wxMenuEvent event( wxEVT_MENU_HIGHLIGHT, id );
|
||||
event.SetEventObject( menu );
|
||||
|
||||
/* wxMSW doesn't call callback here either
|
||||
|
||||
if (menu->m_callback)
|
||||
{
|
||||
(void) (*(menu->m_callback)) (*menu, event);
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
if (menu->GetEventHandler()->ProcessEvent(event))
|
||||
return;
|
||||
|
||||
@@ -646,7 +637,12 @@ wxMenu::wxMenu(long style)
|
||||
}
|
||||
|
||||
void
|
||||
wxMenu::Init( const wxString& title, const wxFunction func, long style )
|
||||
wxMenu::Init( const wxString& title,
|
||||
long style,
|
||||
#ifdef WXWIN_COMPATIBILITY
|
||||
, const wxFunction func
|
||||
#endif
|
||||
)
|
||||
{
|
||||
m_title = title;
|
||||
m_items.DeleteContents( TRUE );
|
||||
@@ -661,7 +657,10 @@ wxMenu::Init( const wxString& title, const wxFunction func, long style )
|
||||
m_menu = gtk_menu_new(); // Do not show!
|
||||
#endif
|
||||
|
||||
#ifdef WXWIN_COMPATIBILITY
|
||||
m_callback = func;
|
||||
#endif
|
||||
|
||||
m_eventHandler = this;
|
||||
m_clientData = (void*) NULL;
|
||||
|
||||
|
@@ -501,15 +501,6 @@ static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu )
|
||||
wxMenuEvent event( wxEVT_MENU_HIGHLIGHT, id );
|
||||
event.SetEventObject( menu );
|
||||
|
||||
/* wxMSW doesn't call callback here either
|
||||
|
||||
if (menu->m_callback)
|
||||
{
|
||||
(void) (*(menu->m_callback)) (*menu, event);
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
if (menu->GetEventHandler()->ProcessEvent(event))
|
||||
return;
|
||||
|
||||
@@ -646,7 +637,12 @@ wxMenu::wxMenu(long style)
|
||||
}
|
||||
|
||||
void
|
||||
wxMenu::Init( const wxString& title, const wxFunction func, long style )
|
||||
wxMenu::Init( const wxString& title,
|
||||
long style,
|
||||
#ifdef WXWIN_COMPATIBILITY
|
||||
, const wxFunction func
|
||||
#endif
|
||||
)
|
||||
{
|
||||
m_title = title;
|
||||
m_items.DeleteContents( TRUE );
|
||||
@@ -661,7 +657,10 @@ wxMenu::Init( const wxString& title, const wxFunction func, long style )
|
||||
m_menu = gtk_menu_new(); // Do not show!
|
||||
#endif
|
||||
|
||||
#ifdef WXWIN_COMPATIBILITY
|
||||
m_callback = func;
|
||||
#endif
|
||||
|
||||
m_eventHandler = this;
|
||||
m_clientData = (void*) NULL;
|
||||
|
||||
|
@@ -650,6 +650,35 @@ bool wxListBox::SetStringSelection (const wxString& s, bool flag)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wxSize wxListBox::DoGetBestSize()
|
||||
{
|
||||
// find the widest string
|
||||
int wLine;
|
||||
int wListbox = 0;
|
||||
for ( int i = 0; i < m_noItems; i++ )
|
||||
{
|
||||
wxString str(GetString(i));
|
||||
GetTextExtent(str, &wLine, NULL);
|
||||
if ( wLine > wListbox )
|
||||
wListbox = wLine;
|
||||
}
|
||||
|
||||
// give it some reasonable default value if there are no strings in the
|
||||
// list
|
||||
if ( wListbox == 0 )
|
||||
wListbox = 100;
|
||||
|
||||
// the listbox should be slightly larger than the widest string
|
||||
int cx, cy;
|
||||
wxGetCharSize(GetHWND(), &cx, &cy, &GetFont());
|
||||
|
||||
wListbox += 3*cx;
|
||||
|
||||
int hListbox = EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy)*(wxMax(m_noItems, 7));
|
||||
|
||||
return wxSize(wListbox, hListbox);
|
||||
}
|
||||
|
||||
// Is this the right thing? Won't setselection generate a command
|
||||
// event too? No! It'll just generate a setselection event.
|
||||
// But we still can't have this being called whenever a real command
|
||||
|
@@ -78,9 +78,13 @@ static const int idMenuTitle = -2;
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// Construct a menu with optional title (then use append)
|
||||
wxMenu::wxMenu(const wxString& title, const wxFunction func)
|
||||
: m_title(title)
|
||||
void wxMenu::Init(const wxString& title
|
||||
#ifdef WXWIN_COMPATIBILITY
|
||||
, const wxFunction func
|
||||
#endif
|
||||
)
|
||||
{
|
||||
m_title = title;
|
||||
m_parent = NULL;
|
||||
m_eventHandler = this;
|
||||
m_pInvokingWindow = NULL;
|
||||
|
Reference in New Issue
Block a user