From b41c7b7ed76f7cc370b01c8e434a3f51ac82c145 Mon Sep 17 00:00:00 2001 From: David Elliott Date: Thu, 9 Aug 2007 17:01:14 +0000 Subject: [PATCH] Merged modified 47984 from trunk: Implement wxStaticBitmap. Copyright 2007 Software 2000 Ltd. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@47985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/cocoa/statbmp.h | 7 ++++++- src/cocoa/statbmp.mm | 16 +++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/include/wx/cocoa/statbmp.h b/include/wx/cocoa/statbmp.h index df5866edcf..3d7faf04da 100644 --- a/include/wx/cocoa/statbmp.h +++ b/include/wx/cocoa/statbmp.h @@ -12,7 +12,7 @@ #ifndef __WX_COCOA_STATBMP_H__ #define __WX_COCOA_STATBMP_H__ -// #include "wx/cocoa/NSxxx.h" +DECLARE_WXCOCOA_OBJC_CLASS(NSImageView); // ======================================================================== // wxStaticBitmap @@ -46,6 +46,11 @@ public: // ------------------------------------------------------------------------ // Cocoa specifics // ------------------------------------------------------------------------ + WX_NSImageView GetNSImageView() { return (WX_NSImageView)m_cocoaNSView; } +#if 0 // ABI incompatibility + wxBitmap m_bitmap; +#endif + // ------------------------------------------------------------------------ // Implementation // ------------------------------------------------------------------------ diff --git a/src/cocoa/statbmp.mm b/src/cocoa/statbmp.mm index 0be69ca515..9b1467d233 100644 --- a/src/cocoa/statbmp.mm +++ b/src/cocoa/statbmp.mm @@ -37,9 +37,14 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID winid, wxAutoNSAutoreleasePool pool; if(!CreateControl(parent,winid,pos,size,style,wxDefaultValidator,name)) return false; - m_cocoaNSView = NULL; SetNSView([[NSImageView alloc] initWithFrame: MakeDefaultNSRect(size)]); [m_cocoaNSView release]; + + [GetNSImageView() setImage:bitmap.GetNSImage(true)]; +#if 0 // ABI incompatibility + m_bitmap = bitmap; +#endif + if(m_parent) m_parent->CocoaAddChild(this); SetInitialFrameRect(pos,size); @@ -57,9 +62,18 @@ void wxStaticBitmap::SetIcon(const wxIcon& icon) void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { + [GetNSImageView() setImage:bitmap.GetNSImage(true)]; +#if 0 // ABI incompatibility + m_bitmap = bitmap; +#endif } wxBitmap wxStaticBitmap::GetBitmap() const { +#if 0 // ABI incompatibility + return m_bitmap; +#else + // TODO: We can try to fake it and make a wxBitmap from the NSImage the control has. return wxNullBitmap; +#endif }