// Purpose: implementation of wxMouseEventsManager class
// Author: Vadim Zeitlin
// Created: 2009-04-21
-// RCS-ID: $Id$
// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#endif
#ifndef WX_PRECOMP
+ #include "wx/settings.h"
+ #include "wx/window.h"
#endif // WX_PRECOMP
#include "wx/mousemanager.h"
// wxMouseEventsManager implementation
// ============================================================================
-wxMouseEventsManager::wxMouseEventsManager(wxWindow *win)
- : m_win(win)
+void wxMouseEventsManager::Init()
{
+ m_win = NULL;
m_state = State_Normal;
m_item = wxNOT_FOUND;
+}
+
+bool wxMouseEventsManager::Create(wxWindow *win)
+{
+ wxASSERT_MSG( !m_win, "Create() must not be called twice" );
+ m_win = win;
win->PushEventHandler(this);
+
+ return true;
}
wxMouseEventsManager::~wxMouseEventsManager()
{
- m_win->RemoveEventHandler(this);
+ if ( m_win )
+ m_win->RemoveEventHandler(this);
}
void wxMouseEventsManager::OnCaptureLost(wxMouseCaptureLostEvent& WXUNUSED(event))
}
m_state = State_Pressed;
+ m_win->SetFocus();
m_win->CaptureMouse();
MouseClickBegin(m_item);
}