]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/control.cpp
fatal bug in wxSplitPath fixed
[wxWidgets.git] / src / mac / control.cpp
index 220ff1e0a9d84e917fdd2e01d26e417a33794a85..f6fa56cb91b0ef5859aa363bb0c6d858e35bdf95 100644 (file)
 #include "wx/tabctrl.h"
 #include "wx/spinbutt.h"
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
 
-BEGIN_EVENT_TABLE(wxControl, wxWindow)
+BEGIN_EVENT_TABLE(wxControl, wxControlBase)
        EVT_MOUSE_EVENTS( wxControl::OnMouseEvent ) 
        EVT_CHAR( wxControl::OnKeyDown ) 
        EVT_PAINT( wxControl::OnPaint ) 
 END_EVENT_TABLE()
-#endif
 
 #include <wx/mac/uma.h>
 
@@ -81,6 +79,21 @@ wxControl::~wxControl()
     }
 }
 
+bool wxControl::Create(wxWindow *parent, wxWindowID id,
+                       const wxPoint& pos,
+                       const wxSize& size, long style,
+                       const wxValidator& validator,
+                       const wxString& name)
+{
+    bool rval = wxWindow::Create(parent, id, pos, size, style, name);
+    if (rval) {
+#if wxUSE_VALIDATORS
+        SetValidator(validator);
+#endif
+    }
+    return rval;
+}
+
 void wxControl::SetLabel(const wxString& title)
 {
        m_label = title ;
@@ -102,7 +115,7 @@ void wxControl::SetLabel(const wxString& title)
        }
 }
 
-wxSize wxControl::DoGetBestSize()
+wxSize wxControl::DoGetBestSize() const
 {
     return wxSize(20, 20);
 }
@@ -370,7 +383,6 @@ void wxControl::MacSuperEnabled( bool enabled )
 
 void  wxControl::MacSuperShown( bool show ) 
 {
-       /*
        if ( m_macControl )
        {
                if ( !show )
@@ -379,13 +391,12 @@ void  wxControl::MacSuperShown( bool show )
                }
                else
                {
-                       if ( m_macShown )
+                       if ( m_isShown )
                                ::UMAShowControl( m_macControl ) ;
                }
        }
                
        wxWindow::MacSuperShown( show ) ;
-       */
 }
 
 void  wxControl::DoSetSize(int x, int y,
@@ -587,6 +598,14 @@ void wxControl::OnPaint(wxPaintEvent& event)
                // wxWindow::OnPaint( event ) ;
        }
 }
+void wxControl::OnEraseBackground(wxEraseEvent& event)
+{
+    // In general, you don't want to erase the background of a control,
+    // or you'll get a flicker.
+    // TODO: move this 'null' function into each control that
+    // might flicker.
+}
+
 
 void  wxControl::OnKeyDown( wxKeyEvent &event ) 
 {