// Author: David Elliott
// Modified by:
// Created: 2002/12/09
-// RCS-ID: $Id:
-// Copyright: (c) 2002 David Elliott
-// Licence: wxWindows license
+// Copyright: (c) 2002-2004 David Elliott
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-#ifndef __WX_COCOA_NSBUTTON_H__
-#define __WX_COCOA_NSBUTTON_H__
+#ifndef _WX_COCOA_NSBUTTON_H__
+#define _WX_COCOA_NSBUTTON_H__
#include "wx/hashmap.h"
#include "wx/cocoa/ObjcAssociate.h"
+#include "wx/cocoa/ObjcRef.h"
WX_DECLARE_OBJC_HASHMAP(NSButton);
WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSButton);
public:
void AssociateNSButton(WX_NSButton cocoaNSButton);
- inline void DisassociateNSButton(WX_NSButton cocoaNSButton)
+ void DisassociateNSButton(WX_NSButton cocoaNSButton)
{
- sm_cocoaHash.erase(cocoaNSButton);
+ if(cocoaNSButton)
+ sm_cocoaHash.erase(cocoaNSButton);
}
-public:
virtual void Cocoa_wxNSButtonAction(void) = 0;
+ virtual ~wxCocoaNSButton() { }
+
+protected:
+ static const wxObjcAutoRefFromAlloc<struct objc_object*> sm_cocoaTarget;
};
-#endif // _WX_COCOA_NSBUTTON_H_
+#endif // _WX_COCOA_NSBUTTON_H__