Various changes to preferences object, file loading, and error logging.
[jben.git] / panel_kanjipad.h
blobeed1f7bd3c2a14089db0dfb2bab76f4c78774ef1
1 /*
2 Project: wxKanjiPad
3 Author: Paul Goins
4 Website: http://www.vultaire.net/software/wxkanjipad/files/
5 License: GNU General Public License (GPL) version 2
6 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt)
8 File: panel_kanjipad.h
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License along
21 with this program; if not, write to the Free Software Foundation, Inc.,
22 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25 #ifndef panel_kanjipad_h
26 #define panel_kanjipad_h
28 /* Stock wxWidgets includes */
29 #include "wx/wxprec.h"
30 #ifdef __BORLANDC__
31 #pragma hdrstop
32 #endif
33 #ifndef WX_PRECOMP
34 #include "wx/wx.h"
35 #endif
37 #include "wx/process.h"
38 #include <list>
39 using namespace std;
41 #define KANJIPAD_MAX_KANJI 5
43 class PanelKanjiPad: public wxPanel {
44 public:
45 PanelKanjiPad(wxWindow *owner, wxWindowID id=wxID_ANY,
46 const wxPoint& pos=wxDefaultPosition,
47 const wxSize& size=wxDefaultSize,
48 long style=wxBORDER_SIMPLE,
49 const wxString& name = _T("panelkanjipad"));
50 /* Public methods */
51 void Clear();
52 list< list<wxPoint> > const* GetStrokes();
53 bool Search();
54 /* Events */
55 void OnMouseDown(wxMouseEvent& ev);
56 void OnMouseUp(wxMouseEvent& ev);
57 void OnLeaveWindow(wxMouseEvent& ev);
58 void OnMouseMove(wxMouseEvent& ev);
59 void OnMouseRightDown(wxMouseEvent& ev);
60 void OnPaint(wxPaintEvent& ev);
61 void AfterEngineCall(wxProcessEvent& ev);
62 /* Public Vars */
63 wxChar results[KANJIPAD_MAX_KANJI];
65 private:
66 list<wxPoint> currentStroke;
67 list< list<wxPoint> > strokes;
68 bool isDrawing;
69 /* Related to running kpengine process */
70 wxProcess *kpengine;
71 wxInputStream *kpStdout, *kpStderr;
72 wxOutputStream *kpStdin;
73 long kpPid;
74 /* wxWidgets standard stuff */
75 DECLARE_EVENT_TABLE()
78 #endif