Mercurial > mercurial > hgweb_mover2.cgi
comparison src/myframe.cpp @ 29:24283d3a9592 v2.3
fix shortcut-keys
author | pyon@macmini |
---|---|
date | Sat, 05 Nov 2011 12:25:39 +0900 |
parents | d21de4693652 |
children | e4d585cbd172 |
comparison
equal
deleted
inserted
replaced
28:d54f1f1e583d | 29:24283d3a9592 |
---|---|
31 SetIcon(wxICON(sample)); | 31 SetIcon(wxICON(sample)); |
32 | 32 |
33 // メニューバー | 33 // メニューバー |
34 m_menubarFile = new wxMenuBar(); | 34 m_menubarFile = new wxMenuBar(); |
35 m_menuFile = new wxMenu(); | 35 m_menuFile = new wxMenu(); |
36 | |
37 wxMenuItem* m_menuItemDetect; | |
38 m_menuItemDetect = new wxMenuItem( m_menuFile, ID_MENUITEMDETECT, wxString( wxT("検知\tF5") ) , wxEmptyString, wxITEM_NORMAL ); | |
39 m_menuFile->Append( m_menuItemDetect ); | |
40 | |
41 wxMenuItem* m_menuItemMove; | |
42 m_menuItemMove = new wxMenuItem( m_menuFile, ID_MENUITEMMOVE, wxString( wxT("移動\tF7") ) , wxEmptyString, wxITEM_NORMAL ); | |
43 m_menuFile->Append( m_menuItemMove ); | |
44 | |
45 m_menuFile->AppendSeparator(); // ---- | |
36 wxMenuItem* m_menuItemParam; | 46 wxMenuItem* m_menuItemParam; |
37 m_menuItemParam = new wxMenuItem( m_menuFile, ID_MENUITEMPARAM, wxString( wxT("パラメータ(&P)") ) , wxEmptyString, wxITEM_NORMAL ); | 47 m_menuItemParam = new wxMenuItem( m_menuFile, ID_MENUITEMPARAM, wxString( wxT("パラメータ\tAlt+P") ) , wxEmptyString, wxITEM_NORMAL ); |
38 m_menuFile->Append( m_menuItemParam ); | 48 m_menuFile->Append( m_menuItemParam ); |
39 | 49 |
40 wxMenuItem* m_menuItemAppDIr; | 50 wxMenuItem* m_menuItemAppDIr; |
41 m_menuItemAppDIr = new wxMenuItem( m_menuFile, ID_MENUITEMAPPDIR, wxString( wxT("アプリフォルダを開く(&O)") ) , wxEmptyString, wxITEM_NORMAL ); | 51 m_menuItemAppDIr = new wxMenuItem( m_menuFile, ID_MENUITEMAPPDIR, wxString( wxT("アプリフォルダを開く\tCtrl+O") ) , wxEmptyString, wxITEM_NORMAL ); |
42 m_menuFile->Append( m_menuItemAppDIr ); | 52 m_menuFile->Append( m_menuItemAppDIr ); |
43 | 53 |
44 wxMenuItem* m_separator; | 54 m_menuFile->AppendSeparator(); // ---- |
45 m_separator = m_menuFile->AppendSeparator(); // ---- | |
46 | 55 |
47 wxMenuItem* m_menuItemQuit; | 56 wxMenuItem* m_menuItemQuit; |
48 m_menuItemQuit = new wxMenuItem( m_menuFile, ID_MENUITEMQUIT, wxString( wxT("終了(&X)") ) , wxEmptyString, wxITEM_NORMAL ); | 57 m_menuItemQuit = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( wxT("終了\tAlt+X") ) , wxEmptyString, wxITEM_NORMAL ); |
49 m_menuFile->Append( m_menuItemQuit ); | 58 m_menuFile->Append( m_menuItemQuit ); |
50 | 59 |
51 m_menubarFile->Append( m_menuFile, wxT("ファイル(&F)") ); | 60 m_menubarFile->Append( m_menuFile, wxT("ファイル\tAlt+F") ); |
52 | 61 |
53 this->SetMenuBar( m_menubarFile ); | 62 this->SetMenuBar( m_menubarFile ); |
54 | 63 |
55 // コントロール | 64 // コントロール |
56 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); | 65 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); |
210 { | 219 { |
211 } | 220 } |
212 | 221 |
213 // Event Table | 222 // Event Table |
214 BEGIN_EVENT_TABLE( MyFrame, wxFrame ) | 223 BEGIN_EVENT_TABLE( MyFrame, wxFrame ) |
215 EVT_CHAR( MyFrame::OnChar ) | |
216 EVT_IDLE( MyFrame::OnIdle ) | 224 EVT_IDLE( MyFrame::OnIdle ) |
217 EVT_TIMER( ID_TIMER, MyFrame::OnTimer ) | 225 EVT_TIMER( ID_TIMER, MyFrame::OnTimer ) |
218 EVT_SIZE( MyFrame::OnWinSize ) | 226 EVT_SIZE( MyFrame::OnWinSize ) |
219 EVT_MOVE( MyFrame::OnWinMove ) | 227 EVT_MOVE( MyFrame::OnWinMove ) |
228 EVT_MENU( ID_MENUITEMDETECT, MyFrame::OnDetect ) | |
229 EVT_MENU( ID_MENUITEMMOVE, MyFrame::OnMove ) | |
220 EVT_MENU( ID_MENUITEMPARAM, MyFrame::OnParam ) | 230 EVT_MENU( ID_MENUITEMPARAM, MyFrame::OnParam ) |
221 EVT_MENU( ID_MENUITEMAPPDIR, MyFrame::OnOpenAppDir ) | 231 EVT_MENU( ID_MENUITEMAPPDIR, MyFrame::OnOpenAppDir ) |
222 EVT_MENU( wxID_EXIT, MyFrame::OnQuit ) | 232 EVT_MENU( wxID_EXIT, MyFrame::OnQuit ) |
223 EVT_LIST_ITEM_SELECTED( ID_LISTCTRLVIEW, MyFrame::OnItemSelected ) | 233 EVT_LIST_ITEM_SELECTED( ID_LISTCTRLVIEW, MyFrame::OnItemSelected ) |
224 EVT_LIST_ITEM_DESELECTED( ID_LISTCTRLVIEW, MyFrame::OnItemDeselected ) | 234 EVT_LIST_ITEM_DESELECTED( ID_LISTCTRLVIEW, MyFrame::OnItemDeselected ) |
279 wxExecute( cmd ); | 289 wxExecute( cmd ); |
280 } | 290 } |
281 /* 検知 */ | 291 /* 検知 */ |
282 void MyFrame::OnDetect(wxCommandEvent& WXUNUSED(event)) | 292 void MyFrame::OnDetect(wxCommandEvent& WXUNUSED(event)) |
283 { | 293 { |
284 F5_Shortcut(); // UpdateCache -> UpdateListImage | 294 UpdateCache(); |
295 UpdateListImage(); | |
285 } | 296 } |
286 | 297 |
287 /* 移動 */ | 298 /* 移動 */ |
288 void MyFrame::OnMove(wxCommandEvent& WXUNUSED(event)) | 299 void MyFrame::OnMove(wxCommandEvent& WXUNUSED(event)) |
289 { | 300 { |
290 F7_Shortcut(); // MoveImages -> UpdateCache -> UpdateListImage -> ListHhsDir | 301 wxString distdir = m_textCtrlDist->GetValue(); |
302 if ( distdir.IsEmpty() ) return; | |
303 | |
304 MoveImages(); | |
305 UpdateCache(); | |
306 UpdateListImage(); | |
307 ListHhsDir(); | |
308 m_buttonUndo->Enable(true); | |
291 } | 309 } |
292 | 310 |
293 /* 選択したファイルを移動 */ | 311 /* 選択したファイルを移動 */ |
294 void MyFrame::MoveImages() | 312 void MyFrame::MoveImages() |
295 { | 313 { |
619 void MyFrame::OnTimer(wxTimerEvent& event) | 637 void MyFrame::OnTimer(wxTimerEvent& event) |
620 { | 638 { |
621 UpdateCache(); | 639 UpdateCache(); |
622 } | 640 } |
623 | 641 |
624 /* キーハンドリング */ | |
625 void MyFrame::OnChar(wxKeyEvent& event) | |
626 { | |
627 if ( event.GetKeyCode() == WXK_F5 ) F5_Shortcut(); | |
628 if ( event.GetKeyCode() == WXK_F7 ) F7_Shortcut(); | |
629 } | |
630 void MyFrame::F5_Shortcut() | |
631 { | |
632 UpdateCache(); | |
633 UpdateListImage(); | |
634 } | |
635 void MyFrame::F7_Shortcut() | |
636 { | |
637 MoveImages(); | |
638 UpdateCache(); | |
639 UpdateListImage(); | |
640 ListHhsDir(); | |
641 m_buttonUndo->Enable(true); | |
642 } | |
643 | |
644 /* アイドリング */ | 642 /* アイドリング */ |
645 void MyFrame::OnIdle(wxIdleEvent& event) | 643 void MyFrame::OnIdle(wxIdleEvent& event) |
646 { | 644 { |
647 if ( !m_timer.IsRunning() ) { | 645 if ( !m_timer.IsRunning() ) { |
648 m_timer.Start( 20*1000, wxTIMER_ONE_SHOT ); | 646 m_timer.Start( 20*1000, wxTIMER_ONE_SHOT ); |