compatibility constructors for wxMenuItem() taking bool instead of wxItemKind
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -52,7 +52,18 @@ public:
|
|||||||
|
|
||||||
wxString GetHotKey() const { return m_hotKey; }
|
wxString GetHotKey() const { return m_hotKey; }
|
||||||
|
|
||||||
|
// compatibility only, don't use in new code
|
||||||
|
wxMenuItem(wxMenu *parentMenu,
|
||||||
|
int id,
|
||||||
|
const wxString& text,
|
||||||
|
const wxString& help,
|
||||||
|
bool isCheckable,
|
||||||
|
wxMenu *subMenu = (wxMenu *)NULL);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// common part of all ctors
|
||||||
|
void Init();
|
||||||
|
|
||||||
// DoSetText() transforms the accel mnemonics in our label from MSW/wxWin
|
// DoSetText() transforms the accel mnemonics in our label from MSW/wxWin
|
||||||
// style to GTK+ and is called from ctor and SetText()
|
// style to GTK+ and is called from ctor and SetText()
|
||||||
void DoSetText(const wxString& text);
|
void DoSetText(const wxString& text);
|
||||||
|
@@ -52,7 +52,18 @@ public:
|
|||||||
|
|
||||||
wxString GetHotKey() const { return m_hotKey; }
|
wxString GetHotKey() const { return m_hotKey; }
|
||||||
|
|
||||||
|
// compatibility only, don't use in new code
|
||||||
|
wxMenuItem(wxMenu *parentMenu,
|
||||||
|
int id,
|
||||||
|
const wxString& text,
|
||||||
|
const wxString& help,
|
||||||
|
bool isCheckable,
|
||||||
|
wxMenu *subMenu = (wxMenu *)NULL);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// common part of all ctors
|
||||||
|
void Init();
|
||||||
|
|
||||||
// DoSetText() transforms the accel mnemonics in our label from MSW/wxWin
|
// DoSetText() transforms the accel mnemonics in our label from MSW/wxWin
|
||||||
// style to GTK+ and is called from ctor and SetText()
|
// style to GTK+ and is called from ctor and SetText()
|
||||||
void DoSetText(const wxString& text);
|
void DoSetText(const wxString& text);
|
||||||
|
@@ -67,7 +67,18 @@ public:
|
|||||||
m_endRadioGroup = end;
|
m_endRadioGroup = end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// compatibility only, don't use in new code
|
||||||
|
wxMenuItem(wxMenu *parentMenu,
|
||||||
|
int id,
|
||||||
|
const wxString& text,
|
||||||
|
const wxString& help,
|
||||||
|
bool isCheckable,
|
||||||
|
wxMenu *subMenu = (wxMenu *)NULL);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// common part of all ctors
|
||||||
|
void Init();
|
||||||
|
|
||||||
// the positions of the first and last items of the radio group this item
|
// the positions of the first and last items of the radio group this item
|
||||||
// belongs to or -1
|
// belongs to or -1
|
||||||
int m_startRadioGroup,
|
int m_startRadioGroup,
|
||||||
|
@@ -110,7 +110,7 @@ void gtk_pixmap_menu_item_set_pixmap (GtkPixmapMenuItem *menu_item,
|
|||||||
static wxString wxReplaceUnderscore( const wxString& title )
|
static wxString wxReplaceUnderscore( const wxString& title )
|
||||||
{
|
{
|
||||||
const wxChar *pc;
|
const wxChar *pc;
|
||||||
|
|
||||||
/* GTK 1.2 wants to have "_" instead of "&" for accelerators */
|
/* GTK 1.2 wants to have "_" instead of "&" for accelerators */
|
||||||
wxString str;
|
wxString str;
|
||||||
for ( pc = title; *pc != wxT('\0'); pc++ )
|
for ( pc = title; *pc != wxT('\0'); pc++ )
|
||||||
@@ -712,11 +712,28 @@ wxMenuItem::wxMenuItem(wxMenu *parentMenu,
|
|||||||
wxItemKind kind,
|
wxItemKind kind,
|
||||||
wxMenu *subMenu)
|
wxMenu *subMenu)
|
||||||
: wxMenuItemBase(parentMenu, id, text, help, kind, subMenu)
|
: wxMenuItemBase(parentMenu, id, text, help, kind, subMenu)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
wxMenuItem::wxMenuItem(wxMenu *parentMenu,
|
||||||
|
int id,
|
||||||
|
const wxString& text,
|
||||||
|
const wxString& help,
|
||||||
|
bool isCheckable,
|
||||||
|
wxMenu *subMenu)
|
||||||
|
: wxMenuItemBase(parentMenu, id, text, help,
|
||||||
|
isCheckable ? wxITEM_CHECK : wxITEM_NORMAL, subMenu)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxMenuItem::Init()
|
||||||
{
|
{
|
||||||
m_labelWidget = (GtkWidget *) NULL;
|
m_labelWidget = (GtkWidget *) NULL;
|
||||||
m_menuItem = (GtkWidget *) NULL;
|
m_menuItem = (GtkWidget *) NULL;
|
||||||
|
|
||||||
DoSetText(text);
|
DoSetText(m_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxMenuItem::~wxMenuItem()
|
wxMenuItem::~wxMenuItem()
|
||||||
@@ -729,7 +746,7 @@ wxMenuItem::~wxMenuItem()
|
|||||||
wxString wxMenuItemBase::GetLabelFromText(const wxString& text)
|
wxString wxMenuItemBase::GetLabelFromText(const wxString& text)
|
||||||
{
|
{
|
||||||
wxString label;
|
wxString label;
|
||||||
|
|
||||||
for ( const wxChar *pc = text.c_str(); *pc; pc++ )
|
for ( const wxChar *pc = text.c_str(); *pc; pc++ )
|
||||||
{
|
{
|
||||||
if ( *pc == wxT('_') )
|
if ( *pc == wxT('_') )
|
||||||
@@ -739,7 +756,7 @@ wxString wxMenuItemBase::GetLabelFromText(const wxString& text)
|
|||||||
label += *pc;
|
label += *pc;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( *pc == wxT('&') )
|
if ( *pc == wxT('&') )
|
||||||
{
|
{
|
||||||
// wxMSW escapes &
|
// wxMSW escapes &
|
||||||
@@ -879,10 +896,10 @@ wxString wxMenuItem::GetFactoryPath() const
|
|||||||
// remove '_' and '&' unconditionally
|
// remove '_' and '&' unconditionally
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
path += *pc;
|
path += *pc;
|
||||||
}
|
}
|
||||||
|
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1008,7 +1025,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem)
|
|||||||
{
|
{
|
||||||
wxString text( mitem->GetText() );
|
wxString text( mitem->GetText() );
|
||||||
const wxBitmap *bitmap = &mitem->GetBitmap();
|
const wxBitmap *bitmap = &mitem->GetBitmap();
|
||||||
|
|
||||||
menuItem = gtk_pixmap_menu_item_new ();
|
menuItem = gtk_pixmap_menu_item_new ();
|
||||||
GtkWidget *label = gtk_accel_label_new (text.mb_str());
|
GtkWidget *label = gtk_accel_label_new (text.mb_str());
|
||||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||||
@@ -1255,7 +1272,7 @@ static wxString GetHotKey( const wxMenuItem& item )
|
|||||||
case WXK_F12:
|
case WXK_F12:
|
||||||
hotkey << wxT('F') << code - WXK_F1 + 1;
|
hotkey << wxT('F') << code - WXK_F1 + 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// TODO: we should use gdk_keyval_name() (a.k.a.
|
// TODO: we should use gdk_keyval_name() (a.k.a.
|
||||||
// XKeysymToString) here as well as hardcoding the keysym
|
// XKeysymToString) here as well as hardcoding the keysym
|
||||||
// names this might be not portable
|
// names this might be not portable
|
||||||
@@ -1389,7 +1406,7 @@ gtk_pixmap_menu_item_get_type (void)
|
|||||||
(GtkClassInitFunc) NULL,
|
(GtkClassInitFunc) NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
pixmap_menu_item_type = gtk_type_unique (gtk_menu_item_get_type (),
|
pixmap_menu_item_type = gtk_type_unique (gtk_menu_item_get_type (),
|
||||||
&pixmap_menu_item_info);
|
&pixmap_menu_item_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1399,7 +1416,7 @@ gtk_pixmap_menu_item_get_type (void)
|
|||||||
/**
|
/**
|
||||||
* gtk_pixmap_menu_item_new
|
* gtk_pixmap_menu_item_new
|
||||||
*
|
*
|
||||||
* Creates a new pixmap menu item. Use gtk_pixmap_menu_item_set_pixmap()
|
* Creates a new pixmap menu item. Use gtk_pixmap_menu_item_set_pixmap()
|
||||||
* to set the pixmap wich is displayed at the left side.
|
* to set the pixmap wich is displayed at the left side.
|
||||||
*
|
*
|
||||||
* Returns:
|
* Returns:
|
||||||
@@ -1461,7 +1478,7 @@ gtk_pixmap_menu_item_draw (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_CLASS (parent_class)->draw)
|
if (GTK_WIDGET_CLASS (parent_class)->draw)
|
||||||
(* GTK_WIDGET_CLASS (parent_class)->draw) (widget, area);
|
(* GTK_WIDGET_CLASS (parent_class)->draw) (widget, area);
|
||||||
|
|
||||||
if (GTK_WIDGET_DRAWABLE (widget) &&
|
if (GTK_WIDGET_DRAWABLE (widget) &&
|
||||||
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
||||||
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
||||||
}
|
}
|
||||||
@@ -1478,7 +1495,7 @@ gtk_pixmap_menu_item_expose (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_CLASS (parent_class)->expose_event)
|
if (GTK_WIDGET_CLASS (parent_class)->expose_event)
|
||||||
(* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
|
(* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
|
||||||
|
|
||||||
if (GTK_WIDGET_DRAWABLE (widget) &&
|
if (GTK_WIDGET_DRAWABLE (widget) &&
|
||||||
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
||||||
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
||||||
}
|
}
|
||||||
@@ -1511,8 +1528,8 @@ gtk_pixmap_menu_item_set_pixmap (GtkPixmapMenuItem *menu_item,
|
|||||||
if (GTK_WIDGET_REALIZED (pixmap->parent) &&
|
if (GTK_WIDGET_REALIZED (pixmap->parent) &&
|
||||||
!GTK_WIDGET_REALIZED (pixmap))
|
!GTK_WIDGET_REALIZED (pixmap))
|
||||||
gtk_widget_realize (pixmap);
|
gtk_widget_realize (pixmap);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (pixmap->parent)) {
|
if (GTK_WIDGET_VISIBLE (pixmap->parent)) {
|
||||||
if (GTK_WIDGET_MAPPED (pixmap->parent) &&
|
if (GTK_WIDGET_MAPPED (pixmap->parent) &&
|
||||||
GTK_WIDGET_VISIBLE(pixmap) &&
|
GTK_WIDGET_VISIBLE(pixmap) &&
|
||||||
!GTK_WIDGET_MAPPED (pixmap))
|
!GTK_WIDGET_MAPPED (pixmap))
|
||||||
@@ -1520,7 +1537,7 @@ gtk_pixmap_menu_item_set_pixmap (GtkPixmapMenuItem *menu_item,
|
|||||||
}
|
}
|
||||||
|
|
||||||
changed_have_pixmap_status(menu_item);
|
changed_have_pixmap_status(menu_item);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (pixmap) && GTK_WIDGET_VISIBLE (menu_item))
|
if (GTK_WIDGET_VISIBLE (pixmap) && GTK_WIDGET_VISIBLE (menu_item))
|
||||||
gtk_widget_queue_resize (pixmap);
|
gtk_widget_queue_resize (pixmap);
|
||||||
}
|
}
|
||||||
@@ -1606,7 +1623,7 @@ gtk_pixmap_menu_item_size_request (GtkWidget *widget,
|
|||||||
GTK_WIDGET_CLASS(parent_class)->size_request(widget,requisition);
|
GTK_WIDGET_CLASS(parent_class)->size_request(widget,requisition);
|
||||||
|
|
||||||
menu_item = GTK_PIXMAP_MENU_ITEM (widget);
|
menu_item = GTK_PIXMAP_MENU_ITEM (widget);
|
||||||
|
|
||||||
if (menu_item->pixmap)
|
if (menu_item->pixmap)
|
||||||
gtk_widget_size_request(menu_item->pixmap, &req);
|
gtk_widget_size_request(menu_item->pixmap, &req);
|
||||||
|
|
||||||
@@ -1627,19 +1644,19 @@ gtk_pixmap_menu_item_remove (GtkContainer *container,
|
|||||||
g_return_if_fail (GTK_IS_WIDGET (child));
|
g_return_if_fail (GTK_IS_WIDGET (child));
|
||||||
|
|
||||||
bin = GTK_BIN (container);
|
bin = GTK_BIN (container);
|
||||||
g_return_if_fail ((bin->child == child ||
|
g_return_if_fail ((bin->child == child ||
|
||||||
(GTK_PIXMAP_MENU_ITEM(container)->pixmap == child)));
|
(GTK_PIXMAP_MENU_ITEM(container)->pixmap == child)));
|
||||||
|
|
||||||
widget_was_visible = GTK_WIDGET_VISIBLE (child);
|
widget_was_visible = GTK_WIDGET_VISIBLE (child);
|
||||||
|
|
||||||
gtk_widget_unparent (child);
|
gtk_widget_unparent (child);
|
||||||
if (bin->child == child)
|
if (bin->child == child)
|
||||||
bin->child = NULL;
|
bin->child = NULL;
|
||||||
else {
|
else {
|
||||||
GTK_PIXMAP_MENU_ITEM(container)->pixmap = NULL;
|
GTK_PIXMAP_MENU_ITEM(container)->pixmap = NULL;
|
||||||
changed_have_pixmap_status(GTK_PIXMAP_MENU_ITEM(container));
|
changed_have_pixmap_status(GTK_PIXMAP_MENU_ITEM(container));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (widget_was_visible)
|
if (widget_was_visible)
|
||||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||||
}
|
}
|
||||||
@@ -1661,7 +1678,7 @@ changed_have_pixmap_status (GtkPixmapMenuItem *menu_item)
|
|||||||
|
|
||||||
if (GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->have_pixmap_count == 0) {
|
if (GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->have_pixmap_count == 0) {
|
||||||
/* Install normal toggle size */
|
/* Install normal toggle size */
|
||||||
GTK_MENU_ITEM_GET_CLASS(menu_item)->toggle_size = GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->orig_toggle_size;
|
GTK_MENU_ITEM_GET_CLASS(menu_item)->toggle_size = GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->orig_toggle_size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1670,7 +1687,7 @@ changed_have_pixmap_status (GtkPixmapMenuItem *menu_item)
|
|||||||
this function is called, we get the same effect, just because of
|
this function is called, we get the same effect, just because of
|
||||||
how the preferences option to show pixmaps works. Bogus, broken.
|
how the preferences option to show pixmaps works. Bogus, broken.
|
||||||
*/
|
*/
|
||||||
if (GTK_WIDGET_VISIBLE(GTK_WIDGET(menu_item)))
|
if (GTK_WIDGET_VISIBLE(GTK_WIDGET(menu_item)))
|
||||||
gtk_widget_queue_resize(GTK_WIDGET(menu_item));
|
gtk_widget_queue_resize(GTK_WIDGET(menu_item));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -110,7 +110,7 @@ void gtk_pixmap_menu_item_set_pixmap (GtkPixmapMenuItem *menu_item,
|
|||||||
static wxString wxReplaceUnderscore( const wxString& title )
|
static wxString wxReplaceUnderscore( const wxString& title )
|
||||||
{
|
{
|
||||||
const wxChar *pc;
|
const wxChar *pc;
|
||||||
|
|
||||||
/* GTK 1.2 wants to have "_" instead of "&" for accelerators */
|
/* GTK 1.2 wants to have "_" instead of "&" for accelerators */
|
||||||
wxString str;
|
wxString str;
|
||||||
for ( pc = title; *pc != wxT('\0'); pc++ )
|
for ( pc = title; *pc != wxT('\0'); pc++ )
|
||||||
@@ -712,11 +712,28 @@ wxMenuItem::wxMenuItem(wxMenu *parentMenu,
|
|||||||
wxItemKind kind,
|
wxItemKind kind,
|
||||||
wxMenu *subMenu)
|
wxMenu *subMenu)
|
||||||
: wxMenuItemBase(parentMenu, id, text, help, kind, subMenu)
|
: wxMenuItemBase(parentMenu, id, text, help, kind, subMenu)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
wxMenuItem::wxMenuItem(wxMenu *parentMenu,
|
||||||
|
int id,
|
||||||
|
const wxString& text,
|
||||||
|
const wxString& help,
|
||||||
|
bool isCheckable,
|
||||||
|
wxMenu *subMenu)
|
||||||
|
: wxMenuItemBase(parentMenu, id, text, help,
|
||||||
|
isCheckable ? wxITEM_CHECK : wxITEM_NORMAL, subMenu)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxMenuItem::Init()
|
||||||
{
|
{
|
||||||
m_labelWidget = (GtkWidget *) NULL;
|
m_labelWidget = (GtkWidget *) NULL;
|
||||||
m_menuItem = (GtkWidget *) NULL;
|
m_menuItem = (GtkWidget *) NULL;
|
||||||
|
|
||||||
DoSetText(text);
|
DoSetText(m_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxMenuItem::~wxMenuItem()
|
wxMenuItem::~wxMenuItem()
|
||||||
@@ -729,7 +746,7 @@ wxMenuItem::~wxMenuItem()
|
|||||||
wxString wxMenuItemBase::GetLabelFromText(const wxString& text)
|
wxString wxMenuItemBase::GetLabelFromText(const wxString& text)
|
||||||
{
|
{
|
||||||
wxString label;
|
wxString label;
|
||||||
|
|
||||||
for ( const wxChar *pc = text.c_str(); *pc; pc++ )
|
for ( const wxChar *pc = text.c_str(); *pc; pc++ )
|
||||||
{
|
{
|
||||||
if ( *pc == wxT('_') )
|
if ( *pc == wxT('_') )
|
||||||
@@ -739,7 +756,7 @@ wxString wxMenuItemBase::GetLabelFromText(const wxString& text)
|
|||||||
label += *pc;
|
label += *pc;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( *pc == wxT('&') )
|
if ( *pc == wxT('&') )
|
||||||
{
|
{
|
||||||
// wxMSW escapes &
|
// wxMSW escapes &
|
||||||
@@ -879,10 +896,10 @@ wxString wxMenuItem::GetFactoryPath() const
|
|||||||
// remove '_' and '&' unconditionally
|
// remove '_' and '&' unconditionally
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
path += *pc;
|
path += *pc;
|
||||||
}
|
}
|
||||||
|
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1008,7 +1025,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem)
|
|||||||
{
|
{
|
||||||
wxString text( mitem->GetText() );
|
wxString text( mitem->GetText() );
|
||||||
const wxBitmap *bitmap = &mitem->GetBitmap();
|
const wxBitmap *bitmap = &mitem->GetBitmap();
|
||||||
|
|
||||||
menuItem = gtk_pixmap_menu_item_new ();
|
menuItem = gtk_pixmap_menu_item_new ();
|
||||||
GtkWidget *label = gtk_accel_label_new (text.mb_str());
|
GtkWidget *label = gtk_accel_label_new (text.mb_str());
|
||||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||||
@@ -1255,7 +1272,7 @@ static wxString GetHotKey( const wxMenuItem& item )
|
|||||||
case WXK_F12:
|
case WXK_F12:
|
||||||
hotkey << wxT('F') << code - WXK_F1 + 1;
|
hotkey << wxT('F') << code - WXK_F1 + 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// TODO: we should use gdk_keyval_name() (a.k.a.
|
// TODO: we should use gdk_keyval_name() (a.k.a.
|
||||||
// XKeysymToString) here as well as hardcoding the keysym
|
// XKeysymToString) here as well as hardcoding the keysym
|
||||||
// names this might be not portable
|
// names this might be not portable
|
||||||
@@ -1389,7 +1406,7 @@ gtk_pixmap_menu_item_get_type (void)
|
|||||||
(GtkClassInitFunc) NULL,
|
(GtkClassInitFunc) NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
pixmap_menu_item_type = gtk_type_unique (gtk_menu_item_get_type (),
|
pixmap_menu_item_type = gtk_type_unique (gtk_menu_item_get_type (),
|
||||||
&pixmap_menu_item_info);
|
&pixmap_menu_item_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1399,7 +1416,7 @@ gtk_pixmap_menu_item_get_type (void)
|
|||||||
/**
|
/**
|
||||||
* gtk_pixmap_menu_item_new
|
* gtk_pixmap_menu_item_new
|
||||||
*
|
*
|
||||||
* Creates a new pixmap menu item. Use gtk_pixmap_menu_item_set_pixmap()
|
* Creates a new pixmap menu item. Use gtk_pixmap_menu_item_set_pixmap()
|
||||||
* to set the pixmap wich is displayed at the left side.
|
* to set the pixmap wich is displayed at the left side.
|
||||||
*
|
*
|
||||||
* Returns:
|
* Returns:
|
||||||
@@ -1461,7 +1478,7 @@ gtk_pixmap_menu_item_draw (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_CLASS (parent_class)->draw)
|
if (GTK_WIDGET_CLASS (parent_class)->draw)
|
||||||
(* GTK_WIDGET_CLASS (parent_class)->draw) (widget, area);
|
(* GTK_WIDGET_CLASS (parent_class)->draw) (widget, area);
|
||||||
|
|
||||||
if (GTK_WIDGET_DRAWABLE (widget) &&
|
if (GTK_WIDGET_DRAWABLE (widget) &&
|
||||||
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
||||||
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
||||||
}
|
}
|
||||||
@@ -1478,7 +1495,7 @@ gtk_pixmap_menu_item_expose (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_CLASS (parent_class)->expose_event)
|
if (GTK_WIDGET_CLASS (parent_class)->expose_event)
|
||||||
(* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
|
(* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
|
||||||
|
|
||||||
if (GTK_WIDGET_DRAWABLE (widget) &&
|
if (GTK_WIDGET_DRAWABLE (widget) &&
|
||||||
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
GTK_PIXMAP_MENU_ITEM(widget)->pixmap) {
|
||||||
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
gtk_widget_draw(GTK_WIDGET(GTK_PIXMAP_MENU_ITEM(widget)->pixmap),NULL);
|
||||||
}
|
}
|
||||||
@@ -1511,8 +1528,8 @@ gtk_pixmap_menu_item_set_pixmap (GtkPixmapMenuItem *menu_item,
|
|||||||
if (GTK_WIDGET_REALIZED (pixmap->parent) &&
|
if (GTK_WIDGET_REALIZED (pixmap->parent) &&
|
||||||
!GTK_WIDGET_REALIZED (pixmap))
|
!GTK_WIDGET_REALIZED (pixmap))
|
||||||
gtk_widget_realize (pixmap);
|
gtk_widget_realize (pixmap);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (pixmap->parent)) {
|
if (GTK_WIDGET_VISIBLE (pixmap->parent)) {
|
||||||
if (GTK_WIDGET_MAPPED (pixmap->parent) &&
|
if (GTK_WIDGET_MAPPED (pixmap->parent) &&
|
||||||
GTK_WIDGET_VISIBLE(pixmap) &&
|
GTK_WIDGET_VISIBLE(pixmap) &&
|
||||||
!GTK_WIDGET_MAPPED (pixmap))
|
!GTK_WIDGET_MAPPED (pixmap))
|
||||||
@@ -1520,7 +1537,7 @@ gtk_pixmap_menu_item_set_pixmap (GtkPixmapMenuItem *menu_item,
|
|||||||
}
|
}
|
||||||
|
|
||||||
changed_have_pixmap_status(menu_item);
|
changed_have_pixmap_status(menu_item);
|
||||||
|
|
||||||
if (GTK_WIDGET_VISIBLE (pixmap) && GTK_WIDGET_VISIBLE (menu_item))
|
if (GTK_WIDGET_VISIBLE (pixmap) && GTK_WIDGET_VISIBLE (menu_item))
|
||||||
gtk_widget_queue_resize (pixmap);
|
gtk_widget_queue_resize (pixmap);
|
||||||
}
|
}
|
||||||
@@ -1606,7 +1623,7 @@ gtk_pixmap_menu_item_size_request (GtkWidget *widget,
|
|||||||
GTK_WIDGET_CLASS(parent_class)->size_request(widget,requisition);
|
GTK_WIDGET_CLASS(parent_class)->size_request(widget,requisition);
|
||||||
|
|
||||||
menu_item = GTK_PIXMAP_MENU_ITEM (widget);
|
menu_item = GTK_PIXMAP_MENU_ITEM (widget);
|
||||||
|
|
||||||
if (menu_item->pixmap)
|
if (menu_item->pixmap)
|
||||||
gtk_widget_size_request(menu_item->pixmap, &req);
|
gtk_widget_size_request(menu_item->pixmap, &req);
|
||||||
|
|
||||||
@@ -1627,19 +1644,19 @@ gtk_pixmap_menu_item_remove (GtkContainer *container,
|
|||||||
g_return_if_fail (GTK_IS_WIDGET (child));
|
g_return_if_fail (GTK_IS_WIDGET (child));
|
||||||
|
|
||||||
bin = GTK_BIN (container);
|
bin = GTK_BIN (container);
|
||||||
g_return_if_fail ((bin->child == child ||
|
g_return_if_fail ((bin->child == child ||
|
||||||
(GTK_PIXMAP_MENU_ITEM(container)->pixmap == child)));
|
(GTK_PIXMAP_MENU_ITEM(container)->pixmap == child)));
|
||||||
|
|
||||||
widget_was_visible = GTK_WIDGET_VISIBLE (child);
|
widget_was_visible = GTK_WIDGET_VISIBLE (child);
|
||||||
|
|
||||||
gtk_widget_unparent (child);
|
gtk_widget_unparent (child);
|
||||||
if (bin->child == child)
|
if (bin->child == child)
|
||||||
bin->child = NULL;
|
bin->child = NULL;
|
||||||
else {
|
else {
|
||||||
GTK_PIXMAP_MENU_ITEM(container)->pixmap = NULL;
|
GTK_PIXMAP_MENU_ITEM(container)->pixmap = NULL;
|
||||||
changed_have_pixmap_status(GTK_PIXMAP_MENU_ITEM(container));
|
changed_have_pixmap_status(GTK_PIXMAP_MENU_ITEM(container));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (widget_was_visible)
|
if (widget_was_visible)
|
||||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||||
}
|
}
|
||||||
@@ -1661,7 +1678,7 @@ changed_have_pixmap_status (GtkPixmapMenuItem *menu_item)
|
|||||||
|
|
||||||
if (GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->have_pixmap_count == 0) {
|
if (GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->have_pixmap_count == 0) {
|
||||||
/* Install normal toggle size */
|
/* Install normal toggle size */
|
||||||
GTK_MENU_ITEM_GET_CLASS(menu_item)->toggle_size = GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->orig_toggle_size;
|
GTK_MENU_ITEM_GET_CLASS(menu_item)->toggle_size = GTK_PIXMAP_MENU_ITEM_GET_CLASS(menu_item)->orig_toggle_size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1670,7 +1687,7 @@ changed_have_pixmap_status (GtkPixmapMenuItem *menu_item)
|
|||||||
this function is called, we get the same effect, just because of
|
this function is called, we get the same effect, just because of
|
||||||
how the preferences option to show pixmaps works. Bogus, broken.
|
how the preferences option to show pixmaps works. Bogus, broken.
|
||||||
*/
|
*/
|
||||||
if (GTK_WIDGET_VISIBLE(GTK_WIDGET(menu_item)))
|
if (GTK_WIDGET_VISIBLE(GTK_WIDGET(menu_item)))
|
||||||
gtk_widget_queue_resize(GTK_WIDGET(menu_item));
|
gtk_widget_queue_resize(GTK_WIDGET(menu_item));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -92,8 +92,26 @@ wxMenuItem::wxMenuItem(wxMenu *pParentMenu,
|
|||||||
, wxOwnerDrawn(GetLabelFromText(text), kind == wxITEM_CHECK)
|
, wxOwnerDrawn(GetLabelFromText(text), kind == wxITEM_CHECK)
|
||||||
#endif // owner drawn
|
#endif // owner drawn
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( pParentMenu != NULL, wxT("a menu item should have a parent") );
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
wxMenuItem::wxMenuItem(wxMenu *parentMenu,
|
||||||
|
int id,
|
||||||
|
const wxString& text,
|
||||||
|
const wxString& help,
|
||||||
|
bool isCheckable,
|
||||||
|
wxMenu *subMenu)
|
||||||
|
: wxMenuItemBase(parentMenu, id, text, help,
|
||||||
|
isCheckable ? wxITEM_CHECK : wxITEM_NORMAL, subMenu)
|
||||||
|
#if wxUSE_OWNER_DRAWN
|
||||||
|
, wxOwnerDrawn(GetLabelFromText(text), isCheckable)
|
||||||
|
#endif // owner drawn
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxMenuItem::Init()
|
||||||
|
{
|
||||||
m_startRadioGroup =
|
m_startRadioGroup =
|
||||||
m_endRadioGroup = -1;
|
m_endRadioGroup = -1;
|
||||||
|
|
||||||
@@ -110,7 +128,7 @@ wxMenuItem::wxMenuItem(wxMenu *pParentMenu,
|
|||||||
ResetOwnerDrawn();
|
ResetOwnerDrawn();
|
||||||
|
|
||||||
// tell the owner drawing code to to show the accel string as well
|
// tell the owner drawing code to to show the accel string as well
|
||||||
SetAccelString(text.AfterFirst(_T('\t')));
|
SetAccelString(m_text.AfterFirst(_T('\t')));
|
||||||
#endif // wxUSE_OWNER_DRAWN
|
#endif // wxUSE_OWNER_DRAWN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user