X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a8c80eb1427f3baae78d682af29ee3ad0b57d607..d07f2e19181bc5caf29eb2338ce513be6fa42405:/src/cocoa/statbmp.mm?ds=sidebyside diff --git a/src/cocoa/statbmp.mm b/src/cocoa/statbmp.mm index f94ea97da2..538c999181 100644 --- a/src/cocoa/statbmp.mm +++ b/src/cocoa/statbmp.mm @@ -1,20 +1,26 @@ ///////////////////////////////////////////////////////////////////////////// -// 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: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#include "wx/app.h" +#include "wx/wxprec.h" + #include "wx/statbmp.h" -#import +#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) @@ -26,20 +32,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([[NSView alloc] initWithFrame: NSMakeRect(10,10,20,20)]); + 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(); - SetNSView(NULL); } void wxStaticBitmap::SetIcon(const wxIcon& icon) @@ -48,10 +58,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; } -