#define wxOSX_10_6_AND_LATER(x)
#endif
-#if !wxUSE_GUI || wxOSX_USE_COCOA_OR_CARBON
+// platform specific Clang analyzer support
+#ifndef NS_RETURNS_RETAINED
+# if WX_HAS_CLANG_FEATURE(attribute_ns_returns_retained)
+# define NS_RETURNS_RETAINED __attribute__((ns_returns_retained))
+# else
+# define NS_RETURNS_RETAINED
+# endif
+#endif
+
+#ifndef CF_RETURNS_RETAINED
+# if WX_HAS_CLANG_FEATURE(attribute_cf_returns_retained)
+# define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))
+# else
+# define CF_RETURNS_RETAINED
+# endif
+#endif
+
+#if ( !wxUSE_GUI && !wxOSX_USE_IPHONE ) || wxOSX_USE_COCOA_OR_CARBON
// Carbon functions are currently still used in wxOSX/Cocoa too (including
// wxBase part of it).
WXDLLIMPEXP_BASE OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef );
WXDLLIMPEXP_BASE wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname );
+// keycode utils from app.cpp
+
+WXDLLIMPEXP_BASE CGKeyCode wxCharCodeWXToOSX(wxKeyCode code);
+WXDLLIMPEXP_BASE long wxMacTranslateKey(unsigned char key, unsigned char code);
+
#endif
#if wxUSE_GUI
class WXDLLIMPEXP_CORE wxWidgetImpl : public wxObject
{
public :
- wxWidgetImpl( wxWindowMac* peer , bool isRootControl = false );
+ wxWidgetImpl( wxWindowMac* peer , bool isRootControl = false, bool isUserPane = false );
wxWidgetImpl();
virtual ~wxWidgetImpl();
void Init();
bool IsRootControl() const { return m_isRootControl; }
+
+ bool IsUserPane() const { return m_isUserPane; }
wxWindowMac* GetWXPeer() const { return m_wxPeer; }
virtual bool NeedsFrame() const;
virtual void SetNeedsFrame( bool needs );
+
+ virtual void SetDrawingEnabled(bool enabled);
virtual bool CanFocus() const = 0;
// return true if successful
virtual void SetCursor( const wxCursor & cursor ) = 0;
virtual void CaptureMouse() = 0;
virtual void ReleaseMouse() = 0;
+
+ virtual void SetDropTarget( wxDropTarget * WXUNUSED(dropTarget) ) {}
virtual wxInt32 GetValue() const = 0;
virtual void SetValue( wxInt32 v ) = 0;
virtual wxBitmap GetBitmap() const = 0;
virtual void SetBitmap( const wxBitmap& bitmap ) = 0;
virtual void SetBitmapPosition( wxDirection dir ) = 0;
- virtual void SetupTabs( const wxNotebook ¬ebook ) =0;
+ virtual void SetupTabs( const wxNotebook ¬ebook ) {};
+ virtual int TabHitTest( const wxPoint & WXUNUSED(pt), long *flags ) {*flags=1; return -1;};
virtual void GetBestRect( wxRect *r ) const = 0;
virtual bool IsEnabled() const = 0;
virtual void Enable( bool enable ) = 0;
static void Convert( wxPoint *pt , wxWidgetImpl *from , wxWidgetImpl *to );
protected :
bool m_isRootControl;
+ bool m_isUserPane;
wxWindowMac* m_wxPeer;
bool m_needsFocusRect;
bool m_needsFrame;
virtual void GetSelection( long* from, long* to ) const = 0 ;
virtual void WriteText( const wxString& str ) = 0 ;
+ virtual bool CanClipMaxLength() const { return false; }
+ virtual void SetMaxLength(unsigned long WXUNUSED(len)) {}
+
virtual bool GetStyle( long position, wxTextAttr& style);
virtual void SetStyle( long start, long end, const wxTextAttr& style ) ;
virtual void Copy() ;
virtual ~wxComboWidgetImpl() {}
- virtual int GetSelectedItem() const { return -1; };
- virtual void SetSelectedItem(int WXUNUSED(item)) {};
+ virtual int GetSelectedItem() const { return -1; }
+ virtual void SetSelectedItem(int WXUNUSED(item)) {}
- virtual int GetNumberOfItems() const { return -1; };
+ virtual int GetNumberOfItems() const { return -1; }
virtual void InsertItem(int WXUNUSED(pos), const wxString& WXUNUSED(item)) {}
virtual void RemoveItem(int WXUNUSED(pos)) {}
virtual void Clear() {}
+ virtual void Popup() {}
+ virtual void Dismiss() {}
virtual wxString GetStringAtIndex(int WXUNUSED(pos)) const { return wxEmptyString; }
virtual void SetModified(bool WXUNUSED(modified)) { }
virtual bool IsModified() const { return false; }
+ virtual void SetRepresentedFilename(const wxString& WXUNUSED(filename)) { }
+
#if wxOSX_USE_IPHONE
virtual CGFloat GetWindowLevel() const { return 0.0; }
#else