cpp/TextBox.cpp
author viric <viriketo@gmail.com>
Sun, 13 Feb 2011 08:43:06 +0100
changeset 5 f2a2f64eb682
parent 4 a3d29fb016c3
child 6 66becdcbe5d9
permissions -rw-r--r--
Events don't work as I expect. tab makes save sentence, while enter should be doing that.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     1
#include <iostream>
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     2
#include "TextBox.hpp"
5
f2a2f64eb682 Events don't work as I expect. tab makes save sentence, while enter should be
viric <viriketo@gmail.com>
parents: 4
diff changeset
     3
#include "MainWindow.hpp"
4
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     4
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     5
BEGIN_EVENT_TABLE (wxTextBox, wxTextCtrl)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     6
    EVT_CHAR (wxTextBox::OnKeyEvent)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     7
END_EVENT_TABLE ()
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     8
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
     9
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    10
wxTextBox::wxTextBox(wxWindow *parent, int id, wxString text)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    11
    :wxTextCtrl(parent, id, text, wxDefaultPosition, wxDefaultSize,
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    12
            wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    13
{
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    14
}
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    15
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    16
void wxTextBox::OnKeyEvent(wxKeyEvent &e)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    17
{
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    18
    if (e.GetKeyCode() == WXK_TAB)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    19
    {
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    20
        std::cerr << "TAB pressed" << std::endl;
5
f2a2f64eb682 Events don't work as I expect. tab makes save sentence, while enter should be
viric <viriketo@gmail.com>
parents: 4
diff changeset
    21
        wxCommandEvent ce(MainWindow::ID_SKIP_QUESTION);
f2a2f64eb682 Events don't work as I expect. tab makes save sentence, while enter should be
viric <viriketo@gmail.com>
parents: 4
diff changeset
    22
        AddPendingEvent(ce);
4
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    23
    }
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    24
    else if (e.GetKeyCode() == WXK_RETURN)
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    25
    {
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    26
        std::cerr << "ENTER pressed" << std::endl;
5
f2a2f64eb682 Events don't work as I expect. tab makes save sentence, while enter should be
viric <viriketo@gmail.com>
parents: 4
diff changeset
    27
        wxCommandEvent ce(MainWindow::ID_SAVE_SENTENCE);
f2a2f64eb682 Events don't work as I expect. tab makes save sentence, while enter should be
viric <viriketo@gmail.com>
parents: 4
diff changeset
    28
        AddPendingEvent(ce);
4
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    29
    }
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    30
    else
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    31
        e.Skip();
a3d29fb016c3 Adding handling of tab and enter
viric <viriketo@gmail.com>
parents:
diff changeset
    32
}