X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e7b25f056b1c983eb35d3f71ba67da84a15be19..b2e10daccc99be6d3ca7a206c69e94d3bfe6b03d:/include/wx/mac/carbon/window.h diff --git a/include/wx/mac/carbon/window.h b/include/wx/mac/carbon/window.h index 95039401e2..8eb8950e94 100644 --- a/include/wx/mac/carbon/window.h +++ b/include/wx/mac/carbon/window.h @@ -65,7 +65,7 @@ public: virtual void Freeze(); virtual void Thaw(); virtual bool IsFrozen() const; - + virtual void Update() ; virtual void ClearBackground(); @@ -86,6 +86,7 @@ protected: virtual void DoEnable( bool enable ); virtual void OnEnabled( bool enabled ); virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); + public: virtual void SetScrollbar( int orient, int pos, int thumbVisible, int range, bool refresh = true ); @@ -95,6 +96,13 @@ public: virtual int GetScrollRange( int orient ) const; virtual void ScrollWindow( int dx, int dy, const wxRect* rect = (wxRect *) NULL ); + virtual void AlwaysShowScrollbars(bool horz = true, bool vert = true); + virtual bool IsScrollbarAlwaysShown(int orient) const + { + return orient == wxHORIZONTAL ? m_hScrollBarAlwaysShown + : m_vScrollBarAlwaysShown; + } + virtual bool Reparent( wxWindowBase *newParent ); #if wxUSE_DRAG_AND_DROP @@ -126,7 +134,7 @@ public: virtual bool SetTransparent(wxByte alpha); virtual bool CanSetTransparent(); virtual wxByte GetTransparent() const ; - + // event handlers // -------------- void OnSetFocus( wxFocusEvent& event ); @@ -137,7 +145,7 @@ public: void MacOnScroll( wxScrollEvent&event ); - bool AcceptsFocus() const; + virtual bool AcceptsFocus() const; virtual bool IsDoubleBuffered() const { return true; } @@ -162,6 +170,7 @@ public: // 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 @@ -227,17 +236,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 // @@ -261,10 +259,8 @@ 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 @@ -276,9 +272,7 @@ protected: // 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 ; @@ -302,6 +296,8 @@ protected: wxScrollBar* m_hScrollBar ; wxScrollBar* m_vScrollBar ; + bool m_hScrollBarAlwaysShown; + bool m_vScrollBarAlwaysShown; wxString m_label ; // set to true if we do a sharp clip at the content area of this window @@ -311,11 +307,13 @@ protected: virtual bool MacIsChildOfClientArea( const wxWindow* child ) const ; + bool MacHasScrollBarCorner() const; void MacCreateScrollBars( long style ) ; void MacRepositionScrollBars() ; void MacUpdateControlFont() ; void MacPropagateVisibilityChanged() ; + void MacPropagateEnabledStateChanged() ; void MacPropagateHiliteChanged() ; // implement the base class pure virtuals @@ -349,6 +347,11 @@ private: // common part of all ctors void Init(); + // show/hide scrollbars as needed, common part of SetScrollbar() and + // AlwaysShowScrollbars() + void DoUpdateScrollbarVisibility(); + + WXEVENTHANDLERREF m_macControlEventHandler ; DECLARE_NO_COPY_CLASS(wxWindowMac)