]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/keyboard/keyboard.cpp
Fix AUI compilation without PCH after recent changes.
[wxWidgets.git] / samples / keyboard / keyboard.cpp
index 5ea78192a1cfdcbf7b95bf99b976eaf46a396bf7..9a98028f6edacc28a0ff85039440351eaefe62ce 100644 (file)
@@ -18,6 +18,9 @@
     #include "wx/wx.h"
 #endif
 
+#ifndef __WXMSW__
+    #include "../sample.xpm"
+#endif
 
 // Define a new frame type: this is going to be our main frame
 class MyFrame : public wxFrame
@@ -29,8 +32,17 @@ private:
     // event handlers
     void OnQuit(wxCommandEvent& WXUNUSED(event)) { Close(true); }
     void OnAbout(wxCommandEvent& event);
+
+    void OnTestAccelA(wxCommandEvent& WXUNUSED(event))
+        { m_logText->AppendText("Test accelerator \"A\" used.\n"); }
+    void OnTestAccelCtrlA(wxCommandEvent& WXUNUSED(event))
+        { m_logText->AppendText("Test accelerator \"Ctrl-A\" used.\n"); }
+    void OnTestAccelEsc(wxCommandEvent& WXUNUSED(event))
+        { m_logText->AppendText("Test accelerator \"Esc\" used.\n"); }
+
     void OnClear(wxCommandEvent& WXUNUSED(event)) { m_logText->Clear(); }
     void OnSkip(wxCommandEvent& event) { m_skip = event.IsChecked(); }
+
     void OnKeyDown(wxKeyEvent& event) { LogEvent("KeyDown", event); }
     void OnKeyUp(wxKeyEvent& event) { LogEvent("KeyUp", event); }
     void OnChar(wxKeyEvent& event) { LogEvent("Char", event); }
@@ -77,12 +89,17 @@ MyFrame::MyFrame(const wxString& title)
          m_inputWin(NULL),
          m_skip(true)
 {
+    SetIcon(wxICON(sample));
+
     // IDs for menu items
     enum
     {
         QuitID = wxID_EXIT,
         ClearID = wxID_CLEAR,
         SkipID = 100,
+        TestAccelA,
+        TestAccelCtrlA,
+        TestAccelEsc
     };
 
     // create a menu bar
@@ -91,6 +108,11 @@ MyFrame::MyFrame(const wxString& title)
     menuFile->Append(ClearID, "&Clear log\tCtrl-L");
     menuFile->AppendSeparator();
 
+    menuFile->Append(TestAccelA, "Test accelerator &1\tA");
+    menuFile->Append(TestAccelCtrlA, "Test accelerator &2\tCtrl-A");
+    menuFile->Append(TestAccelEsc, "Test accelerator &3\tEsc");
+    menuFile->AppendSeparator();
+
     menuFile->AppendCheckItem(SkipID, "Call event.&Skip()\tCtrl-S");
     menuFile->Check(SkipID, true);
     menuFile->AppendSeparator();
@@ -121,12 +143,12 @@ MyFrame::MyFrame(const wxString& title)
                "  RawKeyCode RawKeyFlags");
 
 
-    m_logText = new wxTextCtrl(this, wxID_ANY, "", 
+    m_logText = new wxTextCtrl(this, wxID_ANY, "",
                                wxDefaultPosition, wxDefaultSize,
                                wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL);
 
     // set monospace font to have output in nice columns
-    wxFont font(10, wxFONTFAMILY_TELETYPE, 
+    wxFont font(10, wxFONTFAMILY_TELETYPE,
                 wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
     headerText->SetFont(font);
     m_logText->SetFont(font);
@@ -156,14 +178,23 @@ MyFrame::MyFrame(const wxString& title)
     Connect(SkipID, wxEVT_COMMAND_MENU_SELECTED,
             wxCommandEventHandler(MyFrame::OnSkip));
 
-    // connect event handlers for the blue input window 
+    Connect(TestAccelA, wxEVT_COMMAND_MENU_SELECTED,
+            wxCommandEventHandler(MyFrame::OnTestAccelA));
+
+    Connect(TestAccelCtrlA, wxEVT_COMMAND_MENU_SELECTED,
+            wxCommandEventHandler(MyFrame::OnTestAccelCtrlA));
+
+    Connect(TestAccelEsc, wxEVT_COMMAND_MENU_SELECTED,
+            wxCommandEventHandler(MyFrame::OnTestAccelEsc));
+
+    // connect event handlers for the blue input window
     m_inputWin->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MyFrame::OnKeyDown),
                         NULL, this);
     m_inputWin->Connect(wxEVT_KEY_UP, wxKeyEventHandler(MyFrame::OnKeyUp),
                         NULL, this);
     m_inputWin->Connect(wxEVT_CHAR, wxKeyEventHandler(MyFrame::OnChar),
                         NULL, this);
-    m_inputWin->Connect(wxEVT_PAINT, 
+    m_inputWin->Connect(wxEVT_PAINT,
                         wxPaintEventHandler(MyFrame::OnPaintInputWin),
                         NULL, this);
 
@@ -192,7 +223,7 @@ void MyFrame::OnPaintInputWin(wxPaintEvent& WXUNUSED(event))
     font.SetPointSize(font.GetPointSize() + 2);
     dc.SetFont(font);
 
-    dc.DrawLabel("Press keys here", 
+    dc.DrawLabel("Press keys here",
                  m_inputWin->GetClientRect(), wxALIGN_CENTER);
 }
 
@@ -203,7 +234,7 @@ const char* GetVirtualKeyCodeName(int keycode)
     switch ( keycode )
     {
 #define WXK_(x) \
-        case WXK_##x: return #x; 
+        case WXK_##x: return #x;
 
         WXK_(BACK)
         WXK_(TAB)
@@ -305,8 +336,8 @@ const char* GetVirtualKeyCodeName(int keycode)
         WXK_(NUMPAD_DECIMAL)
         WXK_(NUMPAD_DIVIDE)
 #undef WXK_
-    default: 
-        return NULL; 
+    default:
+        return NULL;
     }
 }
 
@@ -332,7 +363,7 @@ wxString GetKeyName(const wxKeyEvent &event)
 void MyFrame::LogEvent(const wxString& name, wxKeyEvent& event)
 {
     wxString msg;
-    // event  key_name  KeyCode  modifiers  Unicode  raw_code raw_flags 
+    // event  key_name  KeyCode  modifiers  Unicode  raw_code raw_flags
     msg.Printf("%7s %15s %5d   %c%c%c%c"
 #if wxUSE_UNICODE
                    "%5d (U+%04x)"