]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/window.h
Always refresh the editor when setting property value to unspecified.
[wxWidgets.git] / include / wx / osx / window.h
index 8728a0a091d5a744eb7575ca81fd3a179d63784a..bdf48d8f74778af2baba84040fb1c0b421934cd2 100644 (file)
 
 class WXDLLIMPEXP_FWD_CORE wxButton;
 class WXDLLIMPEXP_FWD_CORE wxScrollBar;
 
 class WXDLLIMPEXP_FWD_CORE wxButton;
 class WXDLLIMPEXP_FWD_CORE wxScrollBar;
+class WXDLLIMPEXP_FWD_CORE wxPanel;
 class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow;
 
 #if wxOSX_USE_CARBON
     class WXDLLIMPEXP_FWD_CORE wxMacControl ;
     typedef wxMacControl wxOSXWidgetImpl;
 class WXDLLIMPEXP_FWD_CORE wxNonOwnedWindow;
 
 #if wxOSX_USE_CARBON
     class WXDLLIMPEXP_FWD_CORE wxMacControl ;
     typedef wxMacControl wxOSXWidgetImpl;
-#elif wxOSX_USE_COCOA
-    class WXDLLIMPEXP_FWD_CORE wxWidgetCocoaImpl ;
-    typedef wxWidgetCocoaImpl wxOSXWidgetImpl;
-#elif wxOSX_USE_IPHONE
-    class WXDLLIMPEXP_FWD_CORE wxWidgetIPhoneImpl ;
-    typedef wxWidgetIPhoneImpl wxOSXWidgetImpl;
+#elif wxOSX_USE_COCOA_OR_IPHONE
+    class WXDLLIMPEXP_FWD_CORE wxWidgetImpl ;
+    typedef wxWidgetImpl wxOSXWidgetImpl;
 #endif
 
 
 #endif
 
 
@@ -65,6 +63,16 @@ public:
     virtual void Lower();
 
     virtual bool Show( bool show = true );
     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;
 
 
     virtual bool IsShownOnScreen() const;
 
@@ -85,20 +93,6 @@ public:
 
     virtual int GetCharHeight() const;
     virtual int GetCharWidth() const;
 
     virtual int GetCharHeight() const;
     virtual int GetCharWidth() const;
-    virtual void GetTextExtent( const wxString& string,
-                               int *x, int *y,
-                               int *descent = NULL,
-                               int *externalLeading = NULL,
-                               const wxFont *theFont = NULL )
-                               const;
-protected:
-    virtual void DoEnable( bool enable );
-#if wxUSE_MENUS
-    virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
-#endif
-
-    virtual void DoFreeze();
-    virtual void DoThaw();
 
 public:
     virtual void SetScrollbar( int orient, int pos, int thumbVisible,
 
 public:
     virtual void SetScrollbar( int orient, int pos, int thumbVisible,
@@ -148,8 +142,6 @@ public:
     // event handlers
     // --------------
 
     // event handlers
     // --------------
 
-    void OnNcPaint( wxNcPaintEvent& event );
-    void OnEraseBackground(wxEraseEvent& event );
     void OnMouseEvent( wxMouseEvent &event );
 
     void MacOnScroll( wxScrollEvent&event );
     void OnMouseEvent( wxMouseEvent &event );
 
     void MacOnScroll( wxScrollEvent&event );
@@ -175,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 );
     // 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 ) ;
     virtual bool        MacDoRedraw( long time ) ;
     virtual void        MacPaintChildrenBorders();
     virtual void        MacPaintBorders( int left , int top ) ;
@@ -254,12 +246,21 @@ public:
 
     // the 'true' OS level control for this wxWindow
     wxOSXWidgetImpl*       GetPeer() const { return m_peer ; }
 
     // 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
     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:
     virtual bool        OSXHandleClicked( double timestampsec );
     virtual bool        OSXHandleKeyEvent( wxKeyEvent& event );
 protected:
@@ -294,6 +295,7 @@ protected:
     wxScrollBar*        m_vScrollBar ;
     bool                m_hScrollBarAlwaysShown;
     bool                m_vScrollBarAlwaysShown;
     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
     wxString            m_label ;
 
     // set to true if we do a sharp clip at the content area of this window
@@ -309,6 +311,20 @@ protected:
     void                MacUpdateControlFont() ;
 
     // implement the base class pure virtuals
     void                MacUpdateControlFont() ;
 
     // implement the base class pure virtuals
+    virtual void DoGetTextExtent(const wxString& string,
+                                 int *x, int *y,
+                                 int *descent = NULL,
+                                 int *externalLeading = NULL,
+                                 const wxFont *theFont = NULL ) const;
+
+    virtual void DoEnable( bool enable );
+#if wxUSE_MENUS
+    virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
+#endif
+
+    virtual void DoFreeze();
+    virtual void DoThaw();
+
     virtual wxSize DoGetBestSize() const;
     virtual wxSize DoGetSizeFromClientSize( const wxSize & size ) const;
     virtual void DoClientToScreen( int *x, int *y ) const;
     virtual wxSize DoGetBestSize() const;
     virtual wxSize DoGetSizeFromClientSize( const wxSize & size ) const;
     virtual void DoClientToScreen( int *x, int *y ) const;
@@ -335,6 +351,11 @@ protected:
     virtual void DoSetToolTip( wxToolTip *tip );
 #endif
 
     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();
 private:
     // common part of all ctors
     void Init();
@@ -343,7 +364,6 @@ private:
     // AlwaysShowScrollbars()
     void DoUpdateScrollbarVisibility();
 
     // AlwaysShowScrollbars()
     void DoUpdateScrollbarVisibility();
 
-
     wxDECLARE_NO_COPY_CLASS(wxWindowMac);
     DECLARE_EVENT_TABLE()
 };
     wxDECLARE_NO_COPY_CLASS(wxWindowMac);
     DECLARE_EVENT_TABLE()
 };