Use '1'..'9' to simulate digits instead of WXK_NUMPADn.
Using WXK_NUMPADn with wxUIActionSimulator doesn't work under Unix, the resulting GDK events have wrong keyval for some reason. It would, of course, be nice to fix this but in the meanwhile use ASCII codes to simulate the digits to at least allow doing this at all. Also extend uiaction sample to allow testing text simulation. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
64c502e828
commit
1863484b08
@ -52,7 +52,8 @@
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
// menu items
|
// menu items
|
||||||
RunSimulation = 1
|
RunSimulation = 1,
|
||||||
|
SimulateText
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -77,6 +78,7 @@ public:
|
|||||||
|
|
||||||
void OnButtonPressed(wxCommandEvent& event);
|
void OnButtonPressed(wxCommandEvent& event);
|
||||||
void OnRunSimulation(wxCommandEvent& event);
|
void OnRunSimulation(wxCommandEvent& event);
|
||||||
|
void OnSimulateText(wxCommandEvent& event);
|
||||||
void OnExit(wxCommandEvent& WXUNUSED(event)) { Close(); }
|
void OnExit(wxCommandEvent& WXUNUSED(event)) { Close(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -89,6 +91,7 @@ private:
|
|||||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||||
EVT_BUTTON(wxID_ANY, MyFrame::OnButtonPressed)
|
EVT_BUTTON(wxID_ANY, MyFrame::OnButtonPressed)
|
||||||
EVT_MENU(RunSimulation, MyFrame::OnRunSimulation)
|
EVT_MENU(RunSimulation, MyFrame::OnRunSimulation)
|
||||||
|
EVT_MENU(SimulateText, MyFrame::OnSimulateText)
|
||||||
EVT_MENU(wxID_EXIT, MyFrame::OnExit)
|
EVT_MENU(wxID_EXIT, MyFrame::OnExit)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
@ -137,7 +140,11 @@ MyFrame::MyFrame(const wxString& title)
|
|||||||
wxMenu *fileMenu = new wxMenu;
|
wxMenu *fileMenu = new wxMenu;
|
||||||
|
|
||||||
fileMenu->Append(wxID_NEW, "&New File...", "Open a new file");
|
fileMenu->Append(wxID_NEW, "&New File...", "Open a new file");
|
||||||
fileMenu->Append(RunSimulation, "&Run Simulation...", "Run the UI action simulation");
|
fileMenu->Append(RunSimulation, "&Run Simulation",
|
||||||
|
"Run predefined UI action simulation");
|
||||||
|
fileMenu->Append(SimulateText, "Simulate &text input...",
|
||||||
|
"Enter text to simulate");
|
||||||
|
fileMenu->AppendSeparator();
|
||||||
|
|
||||||
fileMenu->Append(wxID_EXIT, "E&xit\tAlt-X", "Quit this program");
|
fileMenu->Append(wxID_EXIT, "E&xit\tAlt-X", "Quit this program");
|
||||||
|
|
||||||
@ -189,6 +196,26 @@ void MyFrame::OnRunSimulation(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnSimulateText(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
static wxString s_text;
|
||||||
|
const wxString text = wxGetTextFromUser
|
||||||
|
(
|
||||||
|
"Enter text to simulate: ",
|
||||||
|
"wxUIActionSimulator wxWidgets Sample",
|
||||||
|
s_text,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
if ( text.empty() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
s_text = text;
|
||||||
|
|
||||||
|
wxUIActionSimulator sim;
|
||||||
|
m_text->SetFocus();
|
||||||
|
sim.Text(s_text);
|
||||||
|
}
|
||||||
|
|
||||||
void MyFrame::OnButtonPressed(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::OnButtonPressed(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
m_text->AppendText("Button pressed.\n");
|
m_text->AppendText("Button pressed.\n");
|
||||||
|
@ -83,43 +83,43 @@ bool wxUIActionSimulator::Char(int keycode, int modifiers)
|
|||||||
switch(keycode)
|
switch(keycode)
|
||||||
{
|
{
|
||||||
case '0':
|
case '0':
|
||||||
keycode = WXK_NUMPAD0;
|
keycode = '0';
|
||||||
break;
|
break;
|
||||||
case '1':
|
case '1':
|
||||||
keycode = WXK_NUMPAD1;
|
keycode = '1';
|
||||||
break;
|
break;
|
||||||
case '2':
|
case '2':
|
||||||
keycode = WXK_NUMPAD2;
|
keycode = '2';
|
||||||
break;
|
break;
|
||||||
case '3':
|
case '3':
|
||||||
keycode = WXK_NUMPAD3;
|
keycode = '3';
|
||||||
break;
|
break;
|
||||||
case '4':
|
case '4':
|
||||||
keycode = WXK_NUMPAD4;
|
keycode = '4';
|
||||||
break;
|
break;
|
||||||
case '5':
|
case '5':
|
||||||
keycode = WXK_NUMPAD5;
|
keycode = '5';
|
||||||
break;
|
break;
|
||||||
case '6':
|
case '6':
|
||||||
keycode = WXK_NUMPAD6;
|
keycode = '6';
|
||||||
break;
|
break;
|
||||||
case '7':
|
case '7':
|
||||||
keycode = WXK_NUMPAD7;
|
keycode = '7';
|
||||||
break;
|
break;
|
||||||
case '8':
|
case '8':
|
||||||
keycode = WXK_NUMPAD8;
|
keycode = '8';
|
||||||
break;
|
break;
|
||||||
case '9':
|
case '9':
|
||||||
keycode = WXK_NUMPAD9;
|
keycode = '9';
|
||||||
break;
|
break;
|
||||||
case '+':
|
case '+':
|
||||||
keycode = WXK_NUMPAD_ADD;
|
keycode = '+';
|
||||||
break;
|
break;
|
||||||
case '-':
|
case '-':
|
||||||
keycode = WXK_NUMPAD_SUBTRACT;
|
keycode = '-';
|
||||||
break;
|
break;
|
||||||
case '.':
|
case '.':
|
||||||
keycode = WXK_NUMPAD_DECIMAL;
|
keycode = '.';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user