X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da0634c1401743089b1d8be20f9b6bdad0e8085b..b2680ced12cbbed16990007c5fa3ea7730700122:/src/cocoa/statbmp.mm diff --git a/src/cocoa/statbmp.mm b/src/cocoa/statbmp.mm index de08f55c6a..3a050757c9 100644 --- a/src/cocoa/statbmp.mm +++ b/src/cocoa/statbmp.mm @@ -1,18 +1,28 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cocoa/statbmp.mm +// Name: src/cocoa/statbmp.mm // Purpose: wxStaticBitmap // Author: David Elliott // Modified by: // Created: 2003/02/15 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// -#include "wx/app.h" +#include "wx/wxprec.h" + #include "wx/statbmp.h" +#ifndef WX_PRECOMP + #include "wx/app.h" +#endif //WX_PRECOMP + +#include "wx/cocoa/autorelease.h" + +#import + IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) + BEGIN_EVENT_TABLE(wxStaticBitmap, wxControl) END_EVENT_TABLE() // WX_IMPLEMENT_COCOA_OWNER(wxStaticBitmap,NSTextField,NSControl,NSView) @@ -24,17 +34,24 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID winid, long style, const wxString& name) { + 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)]; + m_bitmap = bitmap; + if(m_parent) m_parent->CocoaAddChild(this); + SetInitialFrameRect(pos,size); + return true; } wxStaticBitmap::~wxStaticBitmap() { - CocoaRemoveFromParent(); } void wxStaticBitmap::SetIcon(const wxIcon& icon) @@ -43,10 +60,11 @@ void wxStaticBitmap::SetIcon(const wxIcon& icon) void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { + [GetNSImageView() setImage:bitmap.GetNSImage(true)]; + m_bitmap = bitmap; } wxBitmap wxStaticBitmap::GetBitmap() const { - return wxNullBitmap; + return m_bitmap; } -