X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3b9f782ef3949f583e8ac53795d36787f044fc3..cbeda384e51acb82e13994cb67ac1714669cae10:/include/wx/osx/window.h diff --git a/include/wx/osx/window.h b/include/wx/osx/window.h index 133b6d8fc9..4536108994 100644 --- a/include/wx/osx/window.h +++ b/include/wx/osx/window.h @@ -19,8 +19,14 @@ class WXDLLIMPEXP_FWD_CORE wxButton; class WXDLLIMPEXP_FWD_CORE wxScrollBar; class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow; -class WXDLLIMPEXP_FWD_CORE wxMacControl ; -class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ; +#if wxOSX_USE_CARBON + class WXDLLIMPEXP_FWD_CORE wxMacControl ; + typedef wxMacControl wxOSXWidgetImpl; +#elif wxOSX_USE_COCOA_OR_IPHONE + class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ; + typedef wxWidgetImpl wxOSXWidgetImpl; +#endif + class WXDLLIMPEXP_CORE wxWindowMac: public wxWindowBase { @@ -138,7 +144,7 @@ public: // event handlers // -------------- - void OnPaint( wxPaintEvent& event ); + void OnNcPaint( wxNcPaintEvent& event ); void OnEraseBackground(wxEraseEvent& event ); void OnMouseEvent( wxMouseEvent &event ); @@ -162,12 +168,13 @@ public: wxWindowMac *FindItem(long id) const; wxWindowMac *FindItemByHWND(WXHWND hWnd, bool controlOnly = false) const; - virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; - virtual bool MacDoRedraw( void* updatergn , long time ) ; - + virtual void TriggerScrollEvent( wxEventType scrollEvent ) ; // this should not be overriden in classes above wxWindowMac // because it is called from its destructor via DeleteChildren virtual void RemoveChild( wxWindowBase *child ); + + virtual bool MacDoRedraw( long time ) ; + virtual void MacPaintChildrenBorders(); virtual void MacPaintBorders( int left , int top ) ; void MacPaintGrowBox(); @@ -197,7 +204,10 @@ public: bool MacIsReallyEnabled() ; bool MacIsReallyHilited() ; +#if WXWIN_COMPATIBILITY_2_8 bool MacIsUserPane() { return m_macIsUserPane; } +#endif + bool MacIsUserPane() const { return m_macIsUserPane; } virtual bool MacSetupCursor( const wxPoint& pt ) ; @@ -240,28 +250,22 @@ public: int& w, int& h , bool adjustForOrigin ) const ; // the 'true' OS level control for this wxWindow -#if wxOSX_USE_CARBON - wxMacControl* GetPeer() const { return m_peer ; } -#else - wxWidgetImpl* GetPeer() const { return m_peer ; } -#endif + wxOSXWidgetImpl* GetPeer() const { return m_peer ; } void * MacGetCGContextRef() { return m_cgContextRef ; } void MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; } // osx specific event handling common for all osx-ports - virtual bool HandleClicked( double timestampsec ); + virtual bool OSXHandleClicked( double timestampsec ); + virtual bool OSXHandleKeyEvent( wxKeyEvent& event ); protected: // For controls like radio buttons which are genuinely composite wxList m_subControls; -#if wxOSX_USE_CARBON // the peer object, allowing for cleaner API support - wxMacControl * m_peer ; -#else - wxWidgetImpl * m_peer ; -#endif + wxOSXWidgetImpl * m_peer ; + void * m_cgContextRef ; // cache the clipped rectangles within the window hierarchy @@ -337,7 +341,7 @@ private: void DoUpdateScrollbarVisibility(); - DECLARE_NO_COPY_CLASS(wxWindowMac) + wxDECLARE_NO_COPY_CLASS(wxWindowMac); DECLARE_EVENT_TABLE() };