Make wxSpinCtrlGeneric usable as wxDVC editor control.
wxDVC installs temporary event handler that watches for focus changes and some key events. Make wxSpinCtrlGeneric look like a native wxControl in this respect even though it's actually a composite control. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -92,7 +92,7 @@ public:
|
|||||||
|
|
||||||
// forwarded events from children windows
|
// forwarded events from children windows
|
||||||
void OnSpinButton(wxSpinEvent& event);
|
void OnSpinButton(wxSpinEvent& event);
|
||||||
void OnTextLostFocus();
|
void OnTextLostFocus(wxFocusEvent& event);
|
||||||
void OnTextChar(wxKeyEvent& event);
|
void OnTextChar(wxKeyEvent& event);
|
||||||
|
|
||||||
// this window itself is used only as a container for its sub windows so it
|
// this window itself is used only as a container for its sub windows so it
|
||||||
@@ -148,6 +148,8 @@ protected:
|
|||||||
private:
|
private:
|
||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
#else // !wxUSE_SPINBTN
|
#else // !wxUSE_SPINBTN
|
||||||
|
@@ -85,13 +85,13 @@ public:
|
|||||||
void OnChar( wxKeyEvent &event )
|
void OnChar( wxKeyEvent &event )
|
||||||
{
|
{
|
||||||
if (m_spin)
|
if (m_spin)
|
||||||
m_spin->OnTextChar(event);
|
m_spin->ProcessWindowEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnKillFocus(wxFocusEvent& event)
|
void OnKillFocus(wxFocusEvent& event)
|
||||||
{
|
{
|
||||||
if (m_spin)
|
if (m_spin)
|
||||||
m_spin->OnTextLostFocus();
|
m_spin->ProcessWindowEvent(event);
|
||||||
|
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
@@ -357,6 +357,11 @@ void wxSpinCtrlGenericBase::DoSetToolTip(wxToolTip *tip)
|
|||||||
// Handle sub controls events
|
// Handle sub controls events
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
BEGIN_EVENT_TABLE(wxSpinCtrlGenericBase, wxSpinCtrlBase)
|
||||||
|
EVT_CHAR(wxSpinCtrlGenericBase::OnTextChar)
|
||||||
|
EVT_KILL_FOCUS(wxSpinCtrlGenericBase::OnTextLostFocus)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
void wxSpinCtrlGenericBase::OnSpinButton(wxSpinEvent& event)
|
void wxSpinCtrlGenericBase::OnSpinButton(wxSpinEvent& event)
|
||||||
{
|
{
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -388,10 +393,12 @@ void wxSpinCtrlGenericBase::OnSpinButton(wxSpinEvent& event)
|
|||||||
DoSendEvent();
|
DoSendEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxSpinCtrlGenericBase::OnTextLostFocus()
|
void wxSpinCtrlGenericBase::OnTextLostFocus(wxFocusEvent& event)
|
||||||
{
|
{
|
||||||
SyncSpinToText();
|
SyncSpinToText();
|
||||||
DoSendEvent();
|
DoSendEvent();
|
||||||
|
|
||||||
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxSpinCtrlGenericBase::OnTextChar(wxKeyEvent& event)
|
void wxSpinCtrlGenericBase::OnTextChar(wxKeyEvent& event)
|
||||||
|
Reference in New Issue
Block a user