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 );