X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c11420034872e991007a53f351fc24e49cc0519e..7a04b644092ff91f8f2c6ecdd191e96285d39a1d:/include/wx/mac/carbon/window.h diff --git a/include/wx/mac/carbon/window.h b/include/wx/mac/carbon/window.h index 53b40f6f5f..0092b70fc7 100644 --- a/include/wx/mac/carbon/window.h +++ b/include/wx/mac/carbon/window.h @@ -17,11 +17,11 @@ class WXDLLIMPEXP_FWD_CORE wxButton; class WXDLLIMPEXP_FWD_CORE wxScrollBar; -class WXDLLIMPEXP_FWD_CORE wxTopLevelWindowMac; +class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow; -class wxMacControl ; +class WXDLLIMPEXP_FWD_CORE wxMacControl ; -class WXDLLEXPORT wxWindowMac: public wxWindowBase +class WXDLLIMPEXP_CORE wxWindowMac: public wxWindowBase { DECLARE_DYNAMIC_CLASS(wxWindowMac) @@ -56,15 +56,14 @@ public: virtual bool Show( bool show = true ); + virtual bool IsShownOnScreen() const; + virtual void SetFocus(); virtual void WarpPointer( int x, int y ); virtual void Refresh( bool eraseBackground = true, const wxRect *rect = NULL ); - virtual void Freeze(); - virtual void Thaw(); - virtual bool IsFrozen() const; virtual void Update() ; virtual void ClearBackground(); @@ -84,9 +83,11 @@ public: const; protected: virtual void DoEnable( bool enable ); - virtual void OnEnabled( bool enabled ); virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); + virtual void DoFreeze(); + virtual void DoThaw(); + public: virtual void SetScrollbar( int orient, int pos, int thumbVisible, int range, bool refresh = true ); @@ -137,7 +138,6 @@ public: // event handlers // -------------- - void OnSetFocus( wxFocusEvent& event ); void OnPaint( wxPaintEvent& event ); void OnNcPaint( wxNcPaintEvent& event ); void OnEraseBackground(wxEraseEvent& event ); @@ -145,7 +145,7 @@ public: void MacOnScroll( wxScrollEvent&event ); - bool AcceptsFocus() const; + virtual bool AcceptsFocus() const; virtual bool IsDoubleBuffered() const { return true; } @@ -163,20 +163,21 @@ public: wxWindowMac *FindItemByHWND(WXHWND hWnd, bool controlOnly = false) const; virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; - virtual bool MacDoRedraw( WXHRGN updatergn , long time ) ; + virtual bool MacDoRedraw( void* updatergn , long time ) ; virtual bool MacCanFocus() const ; // this should not be overriden in classes above wxWindowMac // because it is called from its destructor via DeleteChildren virtual void RemoveChild( wxWindowBase *child ); virtual void MacPaintBorders( int left , int top ) ; + void MacPaintGrowBox(); // invalidates the borders and focus area around the control; // must not be virtual as it will be called during destruction void MacInvalidateBorders() ; WXWindow MacGetTopLevelWindowRef() const ; - wxTopLevelWindowMac* MacGetTopLevelWindow() const ; + wxNonOwnedWindow* MacGetTopLevelWindow() const ; virtual long MacGetLeftBorderSize() const ; virtual long MacGetRightBorderSize() const ; @@ -194,15 +195,12 @@ public: virtual void MacHiliteChanged() ; virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; - bool MacIsReallyShown() ; bool MacIsReallyEnabled() ; bool MacIsReallyHilited() ; bool MacIsUserPane() { return m_macIsUserPane; } virtual bool MacSetupCursor( const wxPoint& pt ) ; - virtual void MacSetBackgroundBrush( const wxBrush &brush ) ; - const wxBrush& MacGetBackgroundBrush() const { return m_macBackgroundBrush ; } // return the rectangle that would be visible of this control, // regardless whether controls are hidden @@ -235,17 +233,6 @@ public: wxList& GetSubcontrols() { return m_subControls; } WXEVENTHANDLERREF MacGetControlEventHandler() { return m_macControlEventHandler ; } -#ifndef __WXMAC_OSX__ - virtual void MacControlUserPaneDrawProc(wxInt16 part) ; - virtual wxInt16 MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y) ; - virtual wxInt16 MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc) ; - virtual void MacControlUserPaneIdleProc() ; - virtual wxInt16 MacControlUserPaneKeyDownProc(wxInt16 keyCode, wxInt16 charCode, wxInt16 modifiers) ; - virtual void MacControlUserPaneActivateProc(bool activating) ; - virtual wxInt16 MacControlUserPaneFocusProc(wxInt16 action) ; - virtual void MacControlUserPaneBackgroundProc(void* info) ; -#endif - // translate wxWidgets coords into ones suitable // to be passed to CreateControl calls // @@ -269,24 +256,17 @@ public: // the 'true' OS level control for this wxWindow wxMacControl* GetPeer() const { return m_peer ; } -#if wxMAC_USE_CORE_GRAPHICS void * MacGetCGContextRef() { return m_cgContextRef ; } void MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; } -#endif protected: // For controls like radio buttons which are genuinely composite wxList m_subControls; - // 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 ; -#if wxMAC_USE_CORE_GRAPHICS void * m_cgContextRef ; -#endif // cache the clipped rectangles within the window hierarchy void MacUpdateClippedRects() const ; @@ -301,7 +281,6 @@ protected: // true if is is not a native control but a wxWindow control bool m_macIsUserPane ; - wxBrush m_macBackgroundBrush ; // insets of the mac control from the wx top left corner wxPoint m_macTopLeftInset ; @@ -321,13 +300,11 @@ protected: virtual bool MacIsChildOfClientArea( const wxWindow* child ) const ; + bool MacHasScrollBarCorner() const; void MacCreateScrollBars( long style ) ; void MacRepositionScrollBars() ; void MacUpdateControlFont() ; - void MacPropagateVisibilityChanged() ; - void MacPropagateHiliteChanged() ; - // implement the base class pure virtuals virtual wxSize DoGetBestSize() const; virtual wxSize DoGetSizeFromClientSize( const wxSize & size ) const;