X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e320a79f187558effb04d92020b470372bbe456..efba2b89f15ba8757a722fc56c67f434cf960482:/include/wx/os2/statbmp.h?ds=sidebyside diff --git a/include/wx/os2/statbmp.h b/include/wx/os2/statbmp.h index f4aa0ba405..394977fddc 100644 --- a/include/wx/os2/statbmp.h +++ b/include/wx/os2/statbmp.h @@ -43,22 +43,35 @@ class WXDLLEXPORT wxStaticBitmap: public wxControl long style = 0, const wxString& name = wxStaticBitmapNameStr); + virtual void SetIcon(const wxIcon& icon) { SetBitmap(icon); } virtual void SetBitmap(const wxBitmap& bitmap); - virtual void Command(wxCommandEvent& WXUNUSED(event)) {}; - virtual void ProcessCommand(wxCommandEvent& WXUNUSED(event)) {}; - - void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); - - inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_messageBitmap; } + // assert failure is provoked by an attempt to get an icon from bitmap or + // vice versa + const wxIcon& GetIcon() const + { wxASSERT( m_isIcon ); return *m_image.icon; } + const wxBitmap& GetBitmap() const + { wxASSERT( !m_isIcon ); return *m_image.bitmap; } // overriden base class virtuals virtual bool AcceptsFocus() const { return FALSE; } - protected: - wxBitmap m_messageBitmap; -private: - void SetSize(int width, int height) {wxWindow::SetSize(width, height);} +protected: + void Init() { m_isIcon = TRUE; m_image.icon = NULL; } + void Free(); + + // TRUE if icon/bitmap is valid + bool ImageIsOk() const; + + // we can have either an icon or a bitmap + bool m_isIcon; + union + { + wxIcon *icon; + wxBitmap *bitmap; + } m_image; + + virtual wxSize DoGetBestSize(); }; #endif