Implement setting bitmaps for the menu item for wxQt
Closes https://github.com/wxWidgets/wxWidgets/pull/975
This commit is contained in:
@@ -166,6 +166,7 @@ wxOSX:
|
||||
wxQt:
|
||||
|
||||
- Fix menu bar background colour (Naser Buhamad).
|
||||
- Add support for bitmaps in menu items (Igor Korot).
|
||||
|
||||
|
||||
3.1.1: (released 2018-02-19)
|
||||
|
@@ -9,6 +9,8 @@
|
||||
#define _WX_QT_MENUITEM_H_
|
||||
|
||||
#include "wx/menuitem.h"
|
||||
#include "wx/bitmap.h"
|
||||
|
||||
class QAction;
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxBitmap;
|
||||
@@ -33,14 +35,15 @@ public:
|
||||
virtual void Check(bool check = true);
|
||||
virtual bool IsChecked() const;
|
||||
|
||||
void SetBitmap(const wxBitmap& bitmap);
|
||||
const wxBitmap& GetBitmap() const;
|
||||
virtual void SetBitmap(const wxBitmap& bitmap);
|
||||
virtual const wxBitmap& GetBitmap() const { return m_bitmap; };
|
||||
|
||||
virtual QAction *GetHandle() const;
|
||||
|
||||
private:
|
||||
// Qt is using an action instead of a menu item.
|
||||
QAction *m_qtAction;
|
||||
wxBitmap m_bitmap;
|
||||
|
||||
wxDECLARE_DYNAMIC_CLASS( wxMenuItem );
|
||||
};
|
||||
|
@@ -106,18 +106,17 @@ bool wxMenuItem::IsChecked() const
|
||||
}
|
||||
|
||||
|
||||
void wxMenuItem::SetBitmap(const wxBitmap& WXUNUSED(bitmap))
|
||||
void wxMenuItem::SetBitmap(const wxBitmap& bitmap)
|
||||
{
|
||||
wxMISSING_FUNCTION();
|
||||
}
|
||||
|
||||
const wxBitmap &wxMenuItem::GetBitmap() const
|
||||
{
|
||||
wxMISSING_FUNCTION();
|
||||
|
||||
static wxBitmap s_bitmap;
|
||||
|
||||
return s_bitmap;
|
||||
if ( m_kind == wxITEM_NORMAL )
|
||||
{
|
||||
m_bitmap = bitmap;
|
||||
m_qtAction->setIcon( QIcon( *m_bitmap.GetHandle() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
wxFAIL_MSG("only normal menu items can have bitmaps");
|
||||
}
|
||||
}
|
||||
|
||||
QAction *wxMenuItem::GetHandle() const
|
||||
|
Reference in New Issue
Block a user