0
|
1 // Filename : myframe.cpp
|
|
2 // Last Change: 15-Apr-2014.
|
|
3 //
|
|
4
|
|
5 #include "myframe.h"
|
|
6 #include "sample.xpm"
|
|
7
|
|
8 MyFrame::MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
|
|
9 : wxFrame( parent, id, title, pos, size, style )
|
|
10 {
|
|
11 this->SetIcon( wxIcon( wxT("sample") ) );
|
|
12 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
|
13 this->SetBackgroundColour( wxColour( 23, 181, 63 ) );
|
|
14
|
|
15 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL );
|
|
16
|
|
17 wxBoxSizer* bSizerButton = new wxBoxSizer( wxHORIZONTAL );
|
|
18
|
|
19 m_buttonPaste = new wxButton( this, ID_PASTE, wxT("Paste"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
20 bSizerButton->Add( m_buttonPaste, 0, wxALL, 5 );
|
|
21
|
|
22 m_comboBoxDirection = new wxComboBox( this, wxID_ANY, wxT("select direction !"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
|
23 m_comboBoxDirection->Append( wxT("Zenkaku to Hankaku") );
|
|
24 m_comboBoxDirection->Append( wxT("Hankaku to Zenkaku") );
|
|
25 bSizerButton->Add( m_comboBoxDirection, 0, wxALL, 5 );
|
|
26
|
|
27 m_buttonConvert = new wxButton( this, ID_CONVERT, wxT("Convert"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
28 bSizerButton->Add( m_buttonConvert, 0, wxALL, 5 );
|
|
29
|
|
30 m_buttonCopy = new wxButton( this, ID_COPY, wxT("Copy"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
31 bSizerButton->Add( m_buttonCopy, 0, wxALL, 5 );
|
|
32
|
|
33 m_buttonClear = new wxButton( this, ID_CLEAR, wxT("Clear"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
34 bSizerButton->Add( m_buttonClear, 0, wxALL, 5 );
|
|
35
|
|
36 bSizerTop->Add( bSizerButton, 0, wxEXPAND, 5 );
|
|
37
|
|
38 m_textCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
|
|
39 bSizerTop->Add( m_textCtrl, 1, wxALL|wxEXPAND, 5 );
|
|
40
|
|
41 this->SetSizer( bSizerTop );
|
|
42 this->Layout();
|
|
43
|
|
44 this->Centre( wxBOTH );
|
|
45 }
|
|
46
|
|
47 MyFrame::~MyFrame()
|
|
48 {
|
|
49 }
|
|
50
|
|
51 // Event Table
|
|
52 BEGIN_EVENT_TABLE( MyFrame, wxFrame )
|
|
53 EVT_BUTTON( ID_PASTE, MyFrame::OnPaste )
|
|
54 EVT_BUTTON( ID_CONVERT, MyFrame::OnConvert )
|
|
55 EVT_BUTTON( ID_COPY, MyFrame::OnCopy )
|
|
56 EVT_BUTTON( ID_CLEAR, MyFrame::OnClear )
|
|
57 END_EVENT_TABLE()
|
|
58
|
|
59 // Functions
|
|
60 void MyFrame::OnPaste( wxCommandEvent& WXUNUSED(event) )
|
|
61 {
|
|
62 m_textCtrl->Clear();
|
|
63 if ( wxTheClipboard->Open() ) {
|
|
64 if( wxTheClipboard->IsSupported( wxDF_TEXT ) ) {
|
|
65 wxTextDataObject data;
|
|
66 wxTheClipboard->GetData( data );
|
|
67 m_textCtrl->ChangeValue( data.GetText() );
|
|
68 }
|
|
69 wxTheClipboard->Close();
|
|
70 }
|
|
71 }
|
|
72
|
|
73 void MyFrame::OnConvert( wxCommandEvent& WXUNUSED(event) )
|
|
74 {
|
|
75 wxArrayString han, zen;
|
|
76 han.Add( wxT("0") ); zen.Add( wxT("0") );
|
|
77 han.Add( wxT("1") ); zen.Add( wxT("1") );
|
|
78 han.Add( wxT("2") ); zen.Add( wxT("2") );
|
|
79 han.Add( wxT("3") ); zen.Add( wxT("3") );
|
|
80 han.Add( wxT("4") ); zen.Add( wxT("4") );
|
|
81 han.Add( wxT("5") ); zen.Add( wxT("5") );
|
|
82 han.Add( wxT("6") ); zen.Add( wxT("6") );
|
|
83 han.Add( wxT("7") ); zen.Add( wxT("7") );
|
|
84 han.Add( wxT("8") ); zen.Add( wxT("8") );
|
|
85 han.Add( wxT("9") ); zen.Add( wxT("9") );
|
|
86 han.Add( wxT("-") ); zen.Add( wxT("-") );
|
|
87 //han.Add( wxT("+") ); zen.Add( wxT("+") );
|
|
88 han.Add( wxT("=") ); zen.Add( wxT("=") );
|
|
89 han.Add( wxT("/") ); zen.Add( wxT("/") );
|
|
90 han.Add( wxT("@") ); zen.Add( wxT("@") );
|
|
91 //han.Add( wxT("(") ); zen.Add( wxT("(") );
|
|
92 //han.Add( wxT(")") ); zen.Add( wxT(")") );
|
|
93 han.Add( wxT("<") ); zen.Add( wxT("<") );
|
|
94 han.Add( wxT(">") ); zen.Add( wxT(">") );
|
|
95 //han.Add( wxT("*") ); zen.Add( wxT("*") );
|
|
96 han.Add( wxT("#") ); zen.Add( wxT("#") );
|
|
97 han.Add( wxT("!") ); zen.Add( wxT("!") );
|
|
98 //han.Add( wxT("?") ); zen.Add( wxT("?") );
|
|
99 han.Add( wxT(":") ); zen.Add( wxT(":") );
|
|
100 han.Add( wxT(";") ); zen.Add( wxT(";") );
|
|
101 //han.Add( wxT(".") ); zen.Add( wxT(".") );
|
|
102 //han.Add( wxT(",") ); zen.Add( wxT(",") );
|
|
103
|
|
104 wxString buf = m_textCtrl->GetValue();
|
|
105
|
|
106 // Z -> H ok
|
|
107 if ( m_comboBoxDirection->GetSelection() == 0 ) {
|
|
108 for ( int i = 0; i < zen.GetCount(); i++ ) {
|
|
109 wxRegEx z( zen[i] );
|
|
110 z.ReplaceAll( &buf, han[i] );
|
|
111 }
|
|
112 }
|
|
113 // H -> Z
|
|
114 else if ( m_comboBoxDirection->GetSelection() == 1 ){
|
|
115 for ( int i = 0; i < han.GetCount(); i++ ) {
|
|
116 wxRegEx h( han[i] );
|
|
117 h.ReplaceAll( &buf, zen[i] );
|
|
118 }
|
|
119 }
|
|
120 else {
|
|
121 return;
|
|
122 }
|
|
123
|
|
124 m_textCtrl->ChangeValue( buf );
|
|
125 }
|
|
126
|
|
127 void MyFrame::OnCopy( wxCommandEvent& WXUNUSED(event) )
|
|
128 {
|
|
129 m_textCtrl->SelectAll();
|
|
130 m_textCtrl->Copy();
|
|
131 }
|
|
132
|
|
133 void MyFrame::OnClear( wxCommandEvent& WXUNUSED(event) )
|
|
134 {
|
|
135 m_textCtrl->Clear();
|
|
136 }
|
|
137
|