]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/control.cpp
m_font may not have been set yet. Default to letting GetTextExtent
[wxWidgets.git] / src / univ / control.cpp
index 8f1fb4a4d17d6d90a434bb92592c22701d61f154..a719d491fa3ad7c43a34c5c237b764f8f4e78b68 100644 (file)
@@ -6,14 +6,14 @@
 // Created:     14.08.00
 // RCS-ID:      $Id$
 // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // declarations
 // ============================================================================
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "control.h"
 #endif
 
 IMPLEMENT_DYNAMIC_CLASS(wxControl, wxWindow)
 
 BEGIN_EVENT_TABLE(wxControl, wxControlBase)
-    EVT_KEY_DOWN(wxControl::OnKeyDown)
-    EVT_KEY_UP(wxControl::OnKeyUp)
-
-    EVT_MOUSE_EVENTS(wxControl::OnMouse)
-
-    EVT_SET_FOCUS(wxControl::OnFocus)
-    EVT_KILL_FOCUS(wxControl::OnFocus)
-
-    EVT_ACTIVATE(wxControl::OnActivate)
+    WX_EVENT_TABLE_INPUT_CONSUMER(wxControl)
 END_EVENT_TABLE()
 
+WX_FORWARD_TO_INPUT_CONSUMER(wxControl)
+
 // ----------------------------------------------------------------------------
 // creation
 // ----------------------------------------------------------------------------
@@ -65,7 +59,7 @@ void wxControl::Init()
 {
     m_indexAccel = -1;
 
-    m_handler = (wxInputHandler *)NULL;
+    m_inputHandler = (wxInputHandler *)NULL;
 }
 
 bool wxControl::Create(wxWindow *parent,
@@ -77,7 +71,10 @@ bool wxControl::Create(wxWindow *parent,
                        const wxString& name)
 {
     if ( !wxControlBase::Create(parent, id, pos, size, style, validator, name) )
+    {
+        // underlying window creation failed?
         return FALSE;
+    }
 
     return TRUE;
 }
@@ -145,75 +142,4 @@ wxString wxControl::GetLabel() const
     return m_label;
 }
 
-// ----------------------------------------------------------------------------
-// focus/activation handling
-// ----------------------------------------------------------------------------
-
-void wxControl::OnFocus(wxFocusEvent& event)
-{
-    if ( m_handler && m_handler->HandleFocus(this, event) )
-        Refresh();
-    else
-        event.Skip();
-}
-
-void wxControl::OnActivate(wxActivateEvent& event)
-{
-    if ( m_handler && m_handler->HandleActivation(this, event.GetActive()) )
-        Refresh();
-    else
-        event.Skip();
-}
-
-// ----------------------------------------------------------------------------
-// input processing
-// ----------------------------------------------------------------------------
-
-void wxControl::CreateInputHandler(const wxString& inphandler)
-{
-    m_handler = wxTheme::Get()->GetInputHandler(inphandler);
-}
-
-void wxControl::OnKeyDown(wxKeyEvent& event)
-{
-    if ( !m_handler || !m_handler->HandleKey(this, event, TRUE) )
-        event.Skip();
-}
-
-void wxControl::OnKeyUp(wxKeyEvent& event)
-{
-    if ( !m_handler || !m_handler->HandleKey(this, event, FALSE) )
-        event.Skip();
-}
-
-void wxControl::OnMouse(wxMouseEvent& event)
-{
-    if ( m_handler )
-    {
-        if ( event.Moving() || event.Entering() || event.Leaving() )
-        {
-            if ( m_handler->HandleMouseMove(this, event) )
-                return;
-        }
-        else // a click action
-        {
-            if ( m_handler->HandleMouse(this, event) )
-                return;
-        }
-    }
-
-    event.Skip();
-}
-
-// ----------------------------------------------------------------------------
-// the actions
-// ----------------------------------------------------------------------------
-
-bool wxControl::PerformAction(const wxControlAction& action,
-                              long numArg,
-                              const wxString& strArg)
-{
-    return FALSE;
-}
-
 #endif // wxUSE_CONTROLS