X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f305456585c3f53b58f90803d25f1392eaedb36..1674c73a431c156222766865560bab06d9d5c020:/include/wx/mac/carbon/window.h diff --git a/include/wx/mac/carbon/window.h b/include/wx/mac/carbon/window.h index 5ec518e4a7..26ec619fdb 100644 --- a/include/wx/mac/carbon/window.h +++ b/include/wx/mac/carbon/window.h @@ -26,6 +26,10 @@ class WXDLLEXPORT wxButton; class WXDLLEXPORT wxScrollBar; class WXDLLEXPORT wxTopLevelWindowMac; +// internal implementation classes + +class wxMacControl ; + // --------------------------------------------------------------------------- // constants // --------------------------------------------------------------------------- @@ -39,19 +43,14 @@ class WXDLLEXPORT wxWindowMac: public wxWindowBase public: - wxWindowMac() - { Init(); } + wxWindowMac() ; wxWindowMac(wxWindowMac *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxPanelNameStr) - { - Init(); - Create(parent, id, pos, size, style, name); - } + const wxString& name = wxPanelNameStr) ; virtual ~wxWindowMac(); @@ -79,6 +78,8 @@ public: virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL ); + virtual void Freeze() ; + virtual void Thaw() ; virtual bool SetCursor( const wxCursor &cursor ); virtual bool SetFont( const wxFont &font ) ; @@ -129,7 +130,7 @@ public: // simple accessors // ---------------- - virtual WXWidget GetHandle() const { return m_macControl ; } + virtual WXWidget GetHandle() const ; #if WXWIN_COMPATIBILITY_2_4 bool GetTransparentBackground() const { return m_backgroundTransparent; } @@ -182,9 +183,12 @@ public: virtual void MacVisibilityChanged() ; virtual void MacEnabledStateChanged() ; + virtual void MacHiliteChanged() ; + virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; bool MacIsReallyShown() ; bool MacIsReallyEnabled() ; + bool MacIsReallyHilited() ; bool MacIsUserPane() { return m_macIsUserPane; } @@ -201,7 +205,7 @@ public: { return (m_hScrollBar == sb || m_vScrollBar == sb) ; } wxList& GetSubcontrols() { return m_subControls; } - virtual void MacInstallEventHandler() ; + virtual void MacInstallEventHandler(WXWidget native) ; virtual void MacRedrawControl(); WXEVENTHANDLERREF MacGetControlEventHandler() { return m_macControlEventHandler ; } void MacPostControlCreate(const wxPoint& pos, const wxSize& size) ; @@ -215,24 +219,37 @@ public: virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action) ; virtual void MacControlUserPaneBackgroundProc(void* info) ; - // translate wxWindows coords into ones suitable to be passed to + // translate wxWidgets coords into ones suitable to be passed to // the CreateControl calls // // returns TRUE if non default coords are returned, FALSE otherwise bool MacGetBoundsForControl(const wxPoint& pos, const wxSize& size, int& x, int& y, - int& w, int& h) const ; + int& w, int& h , bool adjustForOrigin ) const ; // calculates the real window position and size from the native control void MacGetPositionAndSizeFromControl(int& x, int& y, int& w, int& h) const ; + // gets the inset from every part + virtual void MacGetContentAreaInset( int &left , int &top , int &right , int &bottom ) ; + + // flash the current invalid area, useful for debugging in OSX double buffered situation + void MacFlashInvalidAreas() ; + protected: // For controls like radiobuttons which are really composite wxList m_subControls; - - WXWidget m_macControl ; + // number of calls to Freeze() minus number of calls to Thaw() + unsigned int m_frozenness; + // the peer object, allowing for cleaner API support + wxMacControl* m_peer ; + // true if is is not a native control but a wxWindow control bool m_macIsUserPane ; wxBrush m_macBackgroundBrush ; + // topleft inset of the mac control from the wx top left corner + wxPoint m_macTopLeftInset ; + // bottom right inset of the mac control from the wx bottom right corner + wxPoint m_macBottomRightInset ; wxScrollBar* m_hScrollBar ; wxScrollBar* m_vScrollBar ; @@ -241,10 +258,12 @@ protected: void MacCreateScrollBars( long style ) ; void MacRepositionScrollBars() ; void MacUpdateControlFont() ; + void MacPropagateVisibilityChanged() ; void MacPropagateEnabledStateChanged() ; + void MacPropagateHiliteChanged() ; - + #if WXWIN_COMPATIBILITY_2_4 bool m_backgroundTransparent ; #endif