1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/cocoa/control.h 3 // Purpose: wxControl class 4 // Author: David Elliott 5 // Modified by: 6 // Created: 2003/02/15 7 // Copyright: (c) 2003 David Elliott 8 // Licence: wxWindows licence 9 ///////////////////////////////////////////////////////////////////////////// 10 11 #ifndef __WX_COCOA_CONTROL_H__ 12 #define __WX_COCOA_CONTROL_H__ 13 14 #include "wx/cocoa/NSControl.h" 15 16 // ======================================================================== 17 // wxControl 18 // ======================================================================== 19 20 class WXDLLIMPEXP_CORE wxControl : public wxControlBase, public wxCocoaNSControl 21 { 22 DECLARE_ABSTRACT_CLASS(wxControl) WX_DECLARE_COCOA_OWNER(NSControl,NSView,NSView)23 WX_DECLARE_COCOA_OWNER(NSControl,NSView,NSView) 24 DECLARE_EVENT_TABLE() 25 // ------------------------------------------------------------------------ 26 // initialization 27 // ------------------------------------------------------------------------ 28 public: 29 wxControl() {} 30 wxControl(wxWindow *parent, wxWindowID winid, 31 const wxPoint& pos = wxDefaultPosition, 32 const wxSize& size = wxDefaultSize, long style = 0, 33 const wxValidator& validator = wxDefaultValidator, 34 const wxString& name = wxControlNameStr) 35 { 36 Create(parent, winid, pos, size, style, validator, name); 37 } 38 39 bool Create(wxWindow *parent, wxWindowID winid, 40 const wxPoint& pos = wxDefaultPosition, 41 const wxSize& size = wxDefaultSize, long style = 0, 42 const wxValidator& validator = wxDefaultValidator, 43 const wxString& name = wxControlNameStr); 44 virtual ~wxControl(); 45 46 // ------------------------------------------------------------------------ 47 // Implementation 48 // ------------------------------------------------------------------------ 49 public: 50 51 // implementation from now on 52 // -------------------------- 53 54 void OnEraseBackground(wxEraseEvent& event); 55 Command(wxCommandEvent & event)56 virtual void Command(wxCommandEvent& event) { ProcessCommand(event); } 57 58 // Calls the callback and appropriate event handlers 59 bool ProcessCommand(wxCommandEvent& event); 60 61 // Enables the control 62 virtual void CocoaSetEnabled(bool enable); 63 protected: 64 virtual wxSize DoGetBestSize() const; 65 66 // Provides a common implementation of title setting which strips mnemonics 67 // and then calls setTitle: with the stripped string. May be implemented 68 // to call setTitleWithMnemonic: on OpenStep-compatible systems. Only 69 // intended for use by views or cells which implement at least setTitle: 70 // and possibly setTitleWithMnemonic: such as NSBox and NSButton or NSCell 71 // classes, for example as used by wxRadioBox. Not usable with classes like 72 // NSTextField which expect setStringValue:. 73 static void CocoaSetLabelForObject(const wxString& labelWithWxMnemonic, struct objc_object *anObject); 74 }; 75 76 #endif 77 // __WX_COCOA_CONTROL_H__ 78