]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/control.cpp
use GetFont() instead of (possibly not initialized) m_font in GetCharWidth/Height()
[wxWidgets.git] / src / univ / control.cpp
index 1baecfc2141bbe3a52ef13630bbdf4140947b429..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,
@@ -76,12 +70,7 @@ bool wxControl::Create(wxWindow *parent,
                        const wxValidator& validator,
                        const wxString& name)
 {
-    // we use wxNO_FULL_REPAINT_ON_RESIZE by default as it results in much
-    // less flicker and none of the standard controls needs to be entirely
-    // repainted after resize anyhow
-    if ( !wxControlBase::Create(parent, id, pos, size,
-                                style | wxNO_FULL_REPAINT_ON_RESIZE,
-                                validator, name) )
+    if ( !wxControlBase::Create(parent, id, pos, size, style, validator, name) )
     {
         // underlying window creation failed?
         return FALSE;
@@ -153,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