Mercurial > mercurial > hgweb_mover2.cgi
diff 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 |
line wrap: on
line diff
--- a/src/myframe.cpp Sat Nov 05 12:25:39 2011 +0900 +++ b/src/myframe.cpp Sun Nov 06 14:08:42 2011 +0900 @@ -1,5 +1,5 @@ // Filename : myframe.cpp -// Last Change: 05-Nov-2011. +// Last Change: 06-Nov-2011. // #include "main.h" @@ -106,12 +106,8 @@ m_staticTextCcn = new wxStaticText( this, wxID_ANY, wxT("合議体"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerDist->Add( m_staticTextCcn, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - wxArrayString ccns; - ccns.Add(wxT("角館1")); ccns.Add(wxT("角館2")); ccns.Add(wxT("角館3")); ccns.Add(wxT("角館4")); - ccns.Add(wxT("西仙1")); ccns.Add(wxT("西仙2")); ccns.Add(wxT("西仙3")); - ccns.Add(wxT("千畑1")); ccns.Add(wxT("千畑2")); ccns.Add(wxT("千畑3")); - ccns.Add(wxT("大曲1")); ccns.Add(wxT("大曲2")); ccns.Add(wxT("大曲3")); ccns.Add(wxT("大曲4")); ccns.Add(wxT("大曲5")); ccns.Add(wxT("大曲6")); - ccns.Add(wxT("六郷1")); ccns.Add(wxT("六郷2")); ccns.Add(wxT("六郷3")); + wxArrayString ccns; wxString dummy; + GetCCnArrayInfo( ccns, -1, dummy, dummy ); m_comboBoxCcn = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(100,-1), ccns, 0 ); bSizerDist->Add( m_comboBoxCcn, 0, wxALL, 5 ); @@ -243,7 +239,26 @@ EVT_CLOSE( MyFrame::SaveConfig ) END_EVENT_TABLE() -// Event Handlers +// Event Handlers & Functions +void MyFrame::GetCCnArrayInfo(wxArrayString& array , int n, wxString& nName, wxString& nDir) +{ + if ( n == -1 ) { + array.Add(wxT("角館1")); array.Add(wxT("角館2")); array.Add(wxT("角館3")); array.Add(wxT("角館4")); + array.Add(wxT("西仙1")); array.Add(wxT("西仙2")); array.Add(wxT("西仙3")); + array.Add(wxT("千畑1")); array.Add(wxT("千畑2")); array.Add(wxT("千畑3")); + array.Add(wxT("大曲1")); array.Add(wxT("大曲2")); array.Add(wxT("大曲3")); array.Add(wxT("大曲4")); array.Add(wxT("大曲5")); array.Add(wxT("大曲6")); + array.Add(wxT("六郷1")); array.Add(wxT("六郷2")); array.Add(wxT("六郷3")); + } + else { + wxArrayString ccndir; + ccndir.Add(wxT("0000000031")); ccndir.Add(wxT("0000000032")); ccndir.Add(wxT("0000000033")); ccndir.Add(wxT("0000000034")); + ccndir.Add(wxT("0000000021")); ccndir.Add(wxT("0000000022")); ccndir.Add(wxT("0000000023")); + ccndir.Add(wxT("0000000041")); ccndir.Add(wxT("0000000042")); ccndir.Add(wxT("0000000043")); + ccndir.Add(wxT("0000000001")); ccndir.Add(wxT("0000000002")); ccndir.Add(wxT("0000000003")); ccndir.Add(wxT("0000000004")); ccndir.Add(wxT("0000000005")); ccndir.Add(wxT("0000000006")); + ccndir.Add(wxT("00000000x1")); ccndir.Add(wxT("00000000x2")); ccndir.Add(wxT("00000000x3")); + nDir = ccndir[n]; + } +} /* 次の木曜日 */ void MyFrame::OnNextThursday(wxCommandEvent& WXUNUSED(event)) { @@ -258,20 +273,32 @@ void MyFrame::OnMakeDir(wxCommandEvent& WXUNUSED(event)) { wxString to; - to.Append( m_comboBoxDrive->GetValue() ); - to.Append( wxFILE_SEP_PATH ); - wxDateTime dt = m_datePicker->GetValue(); - to.Append( dt.Format(wxT("%Y%m%d")) ); - to.Append( wxFILE_SEP_PATH ); - to.Append( m_comboBoxCcn->GetValue() ); + to.Append( m_comboBoxDrive->GetValue() ); // C: + to.Append( wxFILE_SEP_PATH ); // C:/ + wxDateTime dt = m_datePicker->GetValue(); + wxString month = dt.Format(wxT("%m")); + wxString year = dt.Format(wxT("%Y")); + if ( month.IsSameAs(wxT("01")) || month.IsSameAs(wxT("02")) || month.IsSameAs(wxT("03")) ) { + long y; + year.ToLong( &y, 10 ); + y--; + year = wxString::Format(wxT("%d"),y); + } + to.Append( year ); // C:/20xx + to.Append( wxFILE_SEP_PATH ); // C:/20xx/ + to.Append( dt.Format(wxT("%Y%m%d")) ); // C:/20xx/20yymmdd + to.Append( wxFILE_SEP_PATH ); // C:/20xx/20yymmdd/ + to.Append( m_comboBoxCcn->GetValue() ); // C:/20xx/20yymmdd/XXN m_textCtrlDist->SetValue( to ); + wxString ccn = m_comboBoxCcn->GetValue(); if ( to.Len() < 15 || ccn.IsEmpty() ) { wxMessageBox(wxT("フォルダを指定してください.")); return; } + // いったんバラして,各階層のフォルダがあるかチェック.なければ作成 wxStringTokenizer tkz( to, wxFILE_SEP_PATH ); wxString d; while ( tkz.HasMoreTokens() ) { @@ -279,10 +306,16 @@ d.Append( wxFILE_SEP_PATH ); if ( !wxDirExists( d ) ) wxMkdir( d ); } - m_buttonMove->Enable(true); - // TODO. - // make 申請書ふぉるだ + // 申請書フォルダ作成 + int n = m_comboBoxCcn->GetCurrentSelection(); + wxString ccndir, dummy; wxArrayString array; + GetCCnArrayInfo( array, n, dummy, ccndir ); + d.Append( ccndir ); + d.Append( wxFILE_SEP_PATH ); + if ( !wxDirExists( d ) ) wxMkdir( d ); + + m_buttonMove->Enable(true); wxMessageBox(wxT("移動先フォルダ準備完了")); wxString cmd = wxT("explorer ") + to;