Mercurial > mercurial > hgweb_mover2.cgi
comparison src/myframe.cpp @ 30:e4d585cbd172 v2.3 v2.4
add auto make ccndir
author | pyon@macmini |
---|---|
date | Sun, 06 Nov 2011 14:08:42 +0900 |
parents | 24283d3a9592 |
children | 112cd4d27f1f |
comparison
equal
deleted
inserted
replaced
29:24283d3a9592 | 30:e4d585cbd172 |
---|---|
1 // Filename : myframe.cpp | 1 // Filename : myframe.cpp |
2 // Last Change: 05-Nov-2011. | 2 // Last Change: 06-Nov-2011. |
3 // | 3 // |
4 | 4 |
5 #include "main.h" | 5 #include "main.h" |
6 #include "myframe.h" | 6 #include "myframe.h" |
7 #include "param.h" | 7 #include "param.h" |
104 bSizerDist->Add( m_buttonNextThu, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); | 104 bSizerDist->Add( m_buttonNextThu, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
105 | 105 |
106 m_staticTextCcn = new wxStaticText( this, wxID_ANY, wxT("合議体"), wxDefaultPosition, wxDefaultSize, 0 ); | 106 m_staticTextCcn = new wxStaticText( this, wxID_ANY, wxT("合議体"), wxDefaultPosition, wxDefaultSize, 0 ); |
107 bSizerDist->Add( m_staticTextCcn, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); | 107 bSizerDist->Add( m_staticTextCcn, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
108 | 108 |
109 wxArrayString ccns; | 109 wxArrayString ccns; wxString dummy; |
110 ccns.Add(wxT("角館1")); ccns.Add(wxT("角館2")); ccns.Add(wxT("角館3")); ccns.Add(wxT("角館4")); | 110 GetCCnArrayInfo( ccns, -1, dummy, dummy ); |
111 ccns.Add(wxT("西仙1")); ccns.Add(wxT("西仙2")); ccns.Add(wxT("西仙3")); | |
112 ccns.Add(wxT("千畑1")); ccns.Add(wxT("千畑2")); ccns.Add(wxT("千畑3")); | |
113 ccns.Add(wxT("大曲1")); ccns.Add(wxT("大曲2")); ccns.Add(wxT("大曲3")); ccns.Add(wxT("大曲4")); ccns.Add(wxT("大曲5")); ccns.Add(wxT("大曲6")); | |
114 ccns.Add(wxT("六郷1")); ccns.Add(wxT("六郷2")); ccns.Add(wxT("六郷3")); | |
115 m_comboBoxCcn = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(100,-1), ccns, 0 ); | 111 m_comboBoxCcn = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(100,-1), ccns, 0 ); |
116 bSizerDist->Add( m_comboBoxCcn, 0, wxALL, 5 ); | 112 bSizerDist->Add( m_comboBoxCcn, 0, wxALL, 5 ); |
117 | 113 |
118 m_buttonMkDir = new wxButton( this, ID_BUTTONMKDIR, wxT("適用"), wxDefaultPosition, wxDefaultSize, 0 ); | 114 m_buttonMkDir = new wxButton( this, ID_BUTTONMKDIR, wxT("適用"), wxDefaultPosition, wxDefaultSize, 0 ); |
119 bSizerDist->Add( m_buttonMkDir, 0, wxALL, 5 ); | 115 bSizerDist->Add( m_buttonMkDir, 0, wxALL, 5 ); |
241 EVT_BUTTON( ID_BUTTONUNDO, MyFrame::OnUndo ) | 237 EVT_BUTTON( ID_BUTTONUNDO, MyFrame::OnUndo ) |
242 EVT_LIST_ITEM_ACTIVATED( ID_LISTCTRLDIR, MyFrame::OnOpenHhsDir ) | 238 EVT_LIST_ITEM_ACTIVATED( ID_LISTCTRLDIR, MyFrame::OnOpenHhsDir ) |
243 EVT_CLOSE( MyFrame::SaveConfig ) | 239 EVT_CLOSE( MyFrame::SaveConfig ) |
244 END_EVENT_TABLE() | 240 END_EVENT_TABLE() |
245 | 241 |
246 // Event Handlers | 242 // Event Handlers & Functions |
243 void MyFrame::GetCCnArrayInfo(wxArrayString& array , int n, wxString& nName, wxString& nDir) | |
244 { | |
245 if ( n == -1 ) { | |
246 array.Add(wxT("角館1")); array.Add(wxT("角館2")); array.Add(wxT("角館3")); array.Add(wxT("角館4")); | |
247 array.Add(wxT("西仙1")); array.Add(wxT("西仙2")); array.Add(wxT("西仙3")); | |
248 array.Add(wxT("千畑1")); array.Add(wxT("千畑2")); array.Add(wxT("千畑3")); | |
249 array.Add(wxT("大曲1")); array.Add(wxT("大曲2")); array.Add(wxT("大曲3")); array.Add(wxT("大曲4")); array.Add(wxT("大曲5")); array.Add(wxT("大曲6")); | |
250 array.Add(wxT("六郷1")); array.Add(wxT("六郷2")); array.Add(wxT("六郷3")); | |
251 } | |
252 else { | |
253 wxArrayString ccndir; | |
254 ccndir.Add(wxT("0000000031")); ccndir.Add(wxT("0000000032")); ccndir.Add(wxT("0000000033")); ccndir.Add(wxT("0000000034")); | |
255 ccndir.Add(wxT("0000000021")); ccndir.Add(wxT("0000000022")); ccndir.Add(wxT("0000000023")); | |
256 ccndir.Add(wxT("0000000041")); ccndir.Add(wxT("0000000042")); ccndir.Add(wxT("0000000043")); | |
257 ccndir.Add(wxT("0000000001")); ccndir.Add(wxT("0000000002")); ccndir.Add(wxT("0000000003")); ccndir.Add(wxT("0000000004")); ccndir.Add(wxT("0000000005")); ccndir.Add(wxT("0000000006")); | |
258 ccndir.Add(wxT("00000000x1")); ccndir.Add(wxT("00000000x2")); ccndir.Add(wxT("00000000x3")); | |
259 nDir = ccndir[n]; | |
260 } | |
261 } | |
247 /* 次の木曜日 */ | 262 /* 次の木曜日 */ |
248 void MyFrame::OnNextThursday(wxCommandEvent& WXUNUSED(event)) | 263 void MyFrame::OnNextThursday(wxCommandEvent& WXUNUSED(event)) |
249 { | 264 { |
250 wxDateTime dt = m_datePicker->GetValue(); | 265 wxDateTime dt = m_datePicker->GetValue(); |
251 wxDateSpan ds( 0, 0, 0, 1 ); | 266 wxDateSpan ds( 0, 0, 0, 1 ); |
256 | 271 |
257 /* 移動先フォルダ作成 */ | 272 /* 移動先フォルダ作成 */ |
258 void MyFrame::OnMakeDir(wxCommandEvent& WXUNUSED(event)) | 273 void MyFrame::OnMakeDir(wxCommandEvent& WXUNUSED(event)) |
259 { | 274 { |
260 wxString to; | 275 wxString to; |
261 to.Append( m_comboBoxDrive->GetValue() ); | 276 to.Append( m_comboBoxDrive->GetValue() ); // C: |
262 to.Append( wxFILE_SEP_PATH ); | 277 to.Append( wxFILE_SEP_PATH ); // C:/ |
263 wxDateTime dt = m_datePicker->GetValue(); | 278 wxDateTime dt = m_datePicker->GetValue(); |
264 to.Append( dt.Format(wxT("%Y%m%d")) ); | 279 wxString month = dt.Format(wxT("%m")); |
265 to.Append( wxFILE_SEP_PATH ); | 280 wxString year = dt.Format(wxT("%Y")); |
266 to.Append( m_comboBoxCcn->GetValue() ); | 281 if ( month.IsSameAs(wxT("01")) || month.IsSameAs(wxT("02")) || month.IsSameAs(wxT("03")) ) { |
282 long y; | |
283 year.ToLong( &y, 10 ); | |
284 y--; | |
285 year = wxString::Format(wxT("%d"),y); | |
286 } | |
287 to.Append( year ); // C:/20xx | |
288 to.Append( wxFILE_SEP_PATH ); // C:/20xx/ | |
289 to.Append( dt.Format(wxT("%Y%m%d")) ); // C:/20xx/20yymmdd | |
290 to.Append( wxFILE_SEP_PATH ); // C:/20xx/20yymmdd/ | |
291 to.Append( m_comboBoxCcn->GetValue() ); // C:/20xx/20yymmdd/XXN | |
267 m_textCtrlDist->SetValue( to ); | 292 m_textCtrlDist->SetValue( to ); |
293 | |
268 | 294 |
269 wxString ccn = m_comboBoxCcn->GetValue(); | 295 wxString ccn = m_comboBoxCcn->GetValue(); |
270 if ( to.Len() < 15 || ccn.IsEmpty() ) { | 296 if ( to.Len() < 15 || ccn.IsEmpty() ) { |
271 wxMessageBox(wxT("フォルダを指定してください.")); | 297 wxMessageBox(wxT("フォルダを指定してください.")); |
272 return; | 298 return; |
273 } | 299 } |
274 | 300 |
301 // いったんバラして,各階層のフォルダがあるかチェック.なければ作成 | |
275 wxStringTokenizer tkz( to, wxFILE_SEP_PATH ); | 302 wxStringTokenizer tkz( to, wxFILE_SEP_PATH ); |
276 wxString d; | 303 wxString d; |
277 while ( tkz.HasMoreTokens() ) { | 304 while ( tkz.HasMoreTokens() ) { |
278 d.Append( tkz.GetNextToken() ); | 305 d.Append( tkz.GetNextToken() ); |
279 d.Append( wxFILE_SEP_PATH ); | 306 d.Append( wxFILE_SEP_PATH ); |
280 if ( !wxDirExists( d ) ) wxMkdir( d ); | 307 if ( !wxDirExists( d ) ) wxMkdir( d ); |
281 } | 308 } |
309 | |
310 // 申請書フォルダ作成 | |
311 int n = m_comboBoxCcn->GetCurrentSelection(); | |
312 wxString ccndir, dummy; wxArrayString array; | |
313 GetCCnArrayInfo( array, n, dummy, ccndir ); | |
314 d.Append( ccndir ); | |
315 d.Append( wxFILE_SEP_PATH ); | |
316 if ( !wxDirExists( d ) ) wxMkdir( d ); | |
317 | |
282 m_buttonMove->Enable(true); | 318 m_buttonMove->Enable(true); |
283 | |
284 // TODO. | |
285 // make 申請書ふぉるだ | |
286 | 319 |
287 wxMessageBox(wxT("移動先フォルダ準備完了")); | 320 wxMessageBox(wxT("移動先フォルダ準備完了")); |
288 wxString cmd = wxT("explorer ") + to; | 321 wxString cmd = wxT("explorer ") + to; |
289 wxExecute( cmd ); | 322 wxExecute( cmd ); |
290 } | 323 } |