1
0
forked from 0ad/0ad
0ad/source/tools/atlas/AtlasUI/CustomControls/EditableListCtrl/QuickTextCtrl.cpp
Ykkrosh d0146135c4 Initial Actor Editor code
This was SVN commit r2025.
2005-03-19 22:29:32 +00:00

44 lines
1000 B
C++

#include "stdafx.h"
#include "QuickTextCtrl.h"
const int verticalPadding = 2;
QuickTextCtrl::QuickTextCtrl(wxWindow* parent,
wxRect& location,
const wxValidator& validator)
: wxTextCtrl(parent, wxID_ANY, wxEmptyString,
location.GetPosition()-wxPoint(0,verticalPadding),
location.GetSize()+wxSize(0,verticalPadding*2),
wxSUNKEN_BORDER | wxTE_PROCESS_TAB | wxTE_PROCESS_ENTER,
validator)
{
GetValidator()->TransferToWindow();
SetFocus();
SetSelection(-1, -1);
}
void QuickTextCtrl::OnKillFocus(wxFocusEvent& WXUNUSED(event))
{
GetValidator()->TransferFromWindow();
Destroy();
}
void QuickTextCtrl::OnChar(wxKeyEvent& event)
{
if (event.GetKeyCode() == WXK_RETURN)
GetParent()->SetFocus();
else if (event.GetKeyCode() == WXK_ESCAPE)
Destroy();
else
event.Skip();
}
BEGIN_EVENT_TABLE(QuickTextCtrl, wxTextCtrl)
EVT_KILL_FOCUS(QuickTextCtrl::OnKillFocus)
EVT_CHAR(QuickTextCtrl::OnChar)
END_EVENT_TABLE()