]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/window.h
Basic support for tooltips under OS X Cocoa.
[wxWidgets.git] / include / wx / osx / window.h
index d81975dea59c9689428bb1573179cc7639abd335..bdf48d8f74778af2baba84040fb1c0b421934cd2 100644 (file)
@@ -17,6 +17,7 @@
 
 class WXDLLIMPEXP_FWD_CORE wxButton;
 class WXDLLIMPEXP_FWD_CORE wxScrollBar;
+class WXDLLIMPEXP_FWD_CORE wxPanel;
 class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow;
 
 #if wxOSX_USE_CARBON
@@ -62,6 +63,16 @@ public:
     virtual void Lower();
 
     virtual bool Show( bool show = true );
+    virtual bool ShowWithEffect(wxShowEffect effect,
+                                unsigned timeout = 0)
+    {
+        return OSXShowWithEffect(true, effect, timeout);
+    }
+    virtual bool HideWithEffect(wxShowEffect effect,
+                                unsigned timeout = 0)
+    {
+        return OSXShowWithEffect(false, effect, timeout);
+    }
 
     virtual bool IsShownOnScreen() const;
 
@@ -131,8 +142,6 @@ public:
     // event handlers
     // --------------
 
-    void OnNcPaint( wxNcPaintEvent& event );
-    void OnEraseBackground(wxEraseEvent& event );
     void OnMouseEvent( wxMouseEvent &event );
 
     void MacOnScroll( wxScrollEvent&event );
@@ -158,7 +167,7 @@ public:
     // 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 ) ;
@@ -237,12 +246,21 @@ public:
 
     // the 'true' OS level control for this wxWindow
     wxOSXWidgetImpl*       GetPeer() const { return m_peer ; }
+
+#if wxOSX_USE_COCOA_OR_IPHONE
+    // the NSView or NSWindow of this window: can be used for both child and
+    // non-owned windows
+    //
+    // this is useful for a few Cocoa function which can work with either views
+    // or windows indiscriminately, e.g. for setting NSViewAnimationTargetKey
+    virtual void *OSXGetViewOrWindow() const { return GetHandle(); }
+#endif // Cocoa
+
     void *              MacGetCGContextRef() { return m_cgContextRef ; }
     void                MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; }
 
     // osx specific event handling common for all osx-ports
-    
+
     virtual bool        OSXHandleClicked( double timestampsec );
     virtual bool        OSXHandleKeyEvent( wxKeyEvent& event );
 protected:
@@ -277,6 +295,7 @@ protected:
     wxScrollBar*        m_vScrollBar ;
     bool                m_hScrollBarAlwaysShown;
     bool                m_vScrollBarAlwaysShown;
+    wxPanel*            m_growBox ;
     wxString            m_label ;
 
     // set to true if we do a sharp clip at the content area of this window
@@ -332,6 +351,11 @@ protected:
     virtual void DoSetToolTip( wxToolTip *tip );
 #endif
 
+    // common part of Show/HideWithEffect()
+    virtual bool OSXShowWithEffect(bool show,
+                                   wxShowEffect effect,
+                                   unsigned timeout);
+
 private:
     // common part of all ctors
     void Init();
@@ -340,7 +364,6 @@ private:
     // AlwaysShowScrollbars()
     void DoUpdateScrollbarVisibility();
 
-
     wxDECLARE_NO_COPY_CLASS(wxWindowMac);
     DECLARE_EVENT_TABLE()
 };