Mercurial > mercurial > hgweb_searcher2.cgi
view src/ccnframe.cpp @ 24:cbdfda601609 default tip
myframe layout finished.
author | pyon@macmini |
---|---|
date | Thu, 28 Jul 2011 23:04:36 +0900 |
parents | 05f76f9f9186 |
children |
line wrap: on
line source
// Filename : ccnframe.cpp // Last Change: 27-Jul-2011. // #include "common.h" #include "main.h" #include "ccnframe.h" #include "wx/wxsqlite3.h" FrameCcn::FrameCcn( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); m_Panel = new wxPanel( this ); wxBoxSizer* bSizer; bSizer = new wxBoxSizer( wxHORIZONTAL ); // DB表示 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 2, 6, 0, 0 ); fgSizer->AddGrowableRow(1); m_staticText1 = new wxStaticText( m_Panel, wxID_ANY, wxT("開催年月日"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticText1, 0, wxALL, 5 ); fgSizer->Add( 0, 0, 1, wxEXPAND, 5 ); m_staticText2 = new wxStaticText( m_Panel, wxID_ANY, wxT("合議体"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticText2, 0, wxALL, 5 ); fgSizer->Add( 0, 0, 1, wxEXPAND, 5 ); m_staticText3 = new wxStaticText( m_Panel, wxID_ANY, wxT("被保険者"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticText3, 0, wxALL, 5 ); fgSizer->Add( 0, 0, 1, wxEXPAND, 5 ); m_listCtrlYmd = new wxListCtrl( m_Panel, ID_YMD, wxDefaultPosition, wxSize( 300, -1 ), wxLC_REPORT|wxLC_SINGLE_SEL ); fgSizer->Add( m_listCtrlYmd, 1, wxALL|wxEXPAND, 5 ); m_staticText4 = new wxStaticText( m_Panel, wxID_ANY, wxT("→"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_listCtrlCcn = new wxListCtrl( m_Panel, ID_CCN, wxDefaultPosition, wxSize( 220, -1 ), wxLC_REPORT|wxLC_SINGLE_SEL ); fgSizer->Add( m_listCtrlCcn, 1, wxALL|wxEXPAND, 5 ); m_staticText5 = new wxStaticText( m_Panel, wxID_ANY, wxT("→"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_listCtrlHhs = new wxListCtrl( m_Panel, ID_HHS, wxDefaultPosition, wxSize( 220, -1 ), wxLC_REPORT|wxLC_SINGLE_SEL ); fgSizer->Add( m_listCtrlHhs, 1, wxALL|wxEXPAND, 5 ); m_btnClose = new wxButton( m_Panel, ID_CLOSE, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_btnClose, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 ); m_btnClose->SetFocus(); bSizer->Add( fgSizer, 1, wxEXPAND|wxALL, 5 ); m_Panel->SetSizer( bSizer ); m_Panel->Layout(); this->SetSize( 1000, 500 ); this->Centre( wxBOTH ); InitListCtrl(); } // Destructor FrameCcn::~FrameCcn() { } // Event Table BEGIN_EVENT_TABLE( FrameCcn, wxFrame ) EVT_LIST_ITEM_SELECTED( ID_YMD, FrameCcn::OnSelectYmd ) EVT_LIST_ITEM_SELECTED( ID_CCN, FrameCcn::OnSelectCcn ) EVT_BUTTON( ID_CLOSE, FrameCcn::OnClose ) END_EVENT_TABLE() // Event Handlers void FrameCcn::OnSelectYmd(wxListEvent& event) { long i = event.GetIndex(); wxString ymd = m_listCtrlYmd->GetItemText( i ); ymd.Replace( wxT("-"), wxEmptyString, true ); wxString gszFile = wxGetCwd() + wxT("/db/ccn.db"); wxSQLite3Database ccndb; ccndb.Open( gszFile ); wxSQLite3Statement stmt = ccndb.PrepareStatement("SELECT hhsno, path FROM path WHERE path LIKE ?"); stmt.Bind( 1, wxT("08") ); wxSQLite3ResultSet q = stmt.ExecuteQuery(); if ( q.IsNull(0) ) { return; } long r=0; while ( q.NextRow() ) { wxMessageBox(wxT("aaa")); wxString hhsno = q.GetString(0); //wxString cnt = q.GetString(1); m_listCtrlHhs->InsertItem( r, hhsno ); //m_listCtrlCcn->SetItem( r, 1, cnt, -1 ); r++; } stmt.Finalize(); ccndb.Close(); } void FrameCcn::OnSelectCcn(wxListEvent& WXUNUSED(event)) { m_listCtrlHhs->DeleteAllItems(); wxString gszFile = wxGetCwd() + wxT("/db/ccn.db"); wxSQLite3Database ccndb; ccndb.Open( gszFile ); wxSQLite3Statement stmt = ccndb.PrepareStatement("SELECT ymd, MAX(time) FROM ccn GROUP BY ymd ORDER BY ymd DESC, time DESC"); wxSQLite3ResultSet q = stmt.ExecuteQuery(); long r=0; while ( q.NextRow() ) { wxString ymd = q.GetString(0); wxString time = q.GetString(1); m_listCtrlHhs->InsertItem( r, wxEmptyString ); m_listCtrlHhs->SetItemText( r, ymd ); r++; } stmt.Finalize(); ccndb.Close(); } // 閉じる void FrameCcn::OnClose(wxCommandEvent& WXUNUSED(event)) { this->Close(); } // Functions void FrameCcn::InitListCtrl() { wxListItem itemCol; itemCol.SetText( wxT("年-月-日") ); m_listCtrlYmd->InsertColumn( 0, itemCol ); m_listCtrlYmd->SetColumnWidth( 0, 100 ); itemCol.SetText( wxT("更新時刻") ); m_listCtrlYmd->InsertColumn( 1, itemCol ); m_listCtrlYmd->SetColumnWidth( 1, 180 ); itemCol.SetText( wxT("合議体名") ); m_listCtrlCcn->InsertColumn( 0, itemCol ); m_listCtrlCcn->SetColumnWidth( 0, 100 ); itemCol.SetText( wxT("件数") ); m_listCtrlCcn->InsertColumn( 1, itemCol ); m_listCtrlCcn->SetColumnWidth( 1, 100 ); itemCol.SetText( wxT("被保険者番号") ); m_listCtrlHhs->InsertColumn( 0, itemCol ); m_listCtrlHhs->SetColumnWidth( 0, 100 ); itemCol.SetText( wxT("氏名") ); m_listCtrlHhs->InsertColumn( 1, itemCol ); m_listCtrlHhs->SetColumnWidth( 1, 100 ); // Ymd: read from db m_listCtrlCcn->DeleteAllItems(); wxString gszFile = wxGetCwd() + wxT("/db/ccn.db"); wxSQLite3Database ccndb; ccndb.Open( gszFile ); wxSQLite3Statement stmt = ccndb.PrepareStatement("SELECT ymd, MAX(time) FROM ccn GROUP BY ymd ORDER BY ymd DESC, time DESC"); wxSQLite3ResultSet q = stmt.ExecuteQuery(); long r=0; while ( q.NextRow() ) { wxString ymd = q.GetString(0); wxString time = q.GetString(1); m_listCtrlYmd->InsertItem( r, ymd ); m_listCtrlYmd->SetItem( r, 1, time, -1 ); if ( r % 2 ) m_listCtrlYmd->SetItemBackgroundColour( r, wxColour(wxT("WHEAT")) ); r++; } stmt.Finalize(); ccndb.Close(); // Ccn m_listCtrlCcn->InsertItem( 0, wxT("六郷1") ); m_listCtrlCcn->InsertItem( 1, wxT("六郷2") ); m_listCtrlCcn->InsertItem( 2, wxT("六郷3") ); m_listCtrlCcn->InsertItem( 3, wxT("千畑1") ); m_listCtrlCcn->InsertItem( 4, wxT("千畑2") ); m_listCtrlCcn->InsertItem( 5, wxT("千畑3") ); m_listCtrlCcn->InsertItem( 6, wxT("大曲1") ); m_listCtrlCcn->InsertItem( 7, wxT("大曲2") ); m_listCtrlCcn->InsertItem( 8, wxT("大曲3") ); m_listCtrlCcn->InsertItem( 9, wxT("大曲4") ); m_listCtrlCcn->InsertItem( 10, wxT("大曲5") ); m_listCtrlCcn->InsertItem( 11, wxT("大曲6") ); m_listCtrlCcn->InsertItem( 12, wxT("西仙1") ); m_listCtrlCcn->InsertItem( 13, wxT("西仙2") ); m_listCtrlCcn->InsertItem( 14, wxT("西仙3") ); m_listCtrlCcn->InsertItem( 15, wxT("角館1") ); m_listCtrlCcn->InsertItem( 16, wxT("角館2") ); m_listCtrlCcn->InsertItem( 17, wxT("角館3") ); m_listCtrlCcn->InsertItem( 18, wxT("角館4") ); m_listCtrlCcn->InsertItem( 19, wxT("合計") ); }