comparison myframe.cpp @ 0:79a92ddc3546

first release.
author pyon@macmini
date Wed, 16 Apr 2014 01:08:11 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:79a92ddc3546
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