Mercurial > mercurial > hgweb_searcher03.cgi
view src/hist.cpp @ 10:29021e6e1ebe
Implement thumbnail list in PreviewDialog.
author | pyon@macmini |
---|---|
date | Mon, 28 Apr 2014 18:14:04 +0900 |
parents | c066fde99517 |
children |
line wrap: on
line source
// Filename : hist.cpp // Last Change: 22-Aug-2013. // #include "hist.h" HistDialog::HistDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); m_listCtrl = new wxListCtrl( this, ID_LISTHIST, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL ); wxListItem itemCol; itemCol.SetText( wxT("歴番") ); m_listCtrl->InsertColumn( 0, itemCol ); m_listCtrl->SetColumnWidth( 0, 40 ); itemCol.SetText( wxT("被保険者番号") ); m_listCtrl->InsertColumn( 1, itemCol ); m_listCtrl->SetColumnWidth( 1, 90 ); itemCol.SetText( wxT("氏名") ); m_listCtrl->InsertColumn( 2, itemCol ); m_listCtrl->SetColumnWidth( 2, 80 ); itemCol.SetText( wxT("住所") ); m_listCtrl->InsertColumn( 3, itemCol ); m_listCtrl->SetColumnWidth( 3, 240 ); itemCol.SetText( wxT("検索日時") ); m_listCtrl->InsertColumn( 4, itemCol ); m_listCtrl->SetColumnWidth( 4, 120 ); bSizerTop->Add( m_listCtrl, 1, wxALL|wxEXPAND, 5 ); wxBoxSizer* bSizerBtn = new wxBoxSizer( wxHORIZONTAL ); m_buttonCancel = new wxButton( this, wxID_CANCEL, wxT("キャンセル"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerBtn->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_buttonSet = new wxButton( this, ID_SETHIST, wxT("セット"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerBtn->Add( m_buttonSet, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); bSizerTop->Add( bSizerBtn, 0, wxALIGN_RIGHT|wxALL, 5 ); this->SetSizer( bSizerTop ); this->Layout(); this->Centre( wxBOTH ); ReadHistoryList(); } HistDialog::~HistDialog() { } // Event Table BEGIN_EVENT_TABLE( HistDialog, wxDialog ) EVT_LIST_ITEM_ACTIVATED( ID_LISTHIST, HistDialog::OnSelectItem ) EVT_BUTTON( ID_SETHIST, HistDialog::OnSet ) END_EVENT_TABLE() void HistDialog::OnSelectItem( wxListEvent& event ) { int i = event.GetIndex(); wxListItem item; item.SetId( i ); item.SetColumn( 1 ); item.SetMask( wxLIST_MASK_TEXT ); m_listCtrl->GetItem( item ); m_hhsno = item.GetText(); if ( IsModal() ) EndModal( wxID_OK ); else { SetReturnCode( wxID_OK ); Show( false ); } } void HistDialog::OnSet( wxCommandEvent& WXUNUSED(event) ) { long i = -1; for ( ;; ) { i = m_listCtrl->GetNextItem( i, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED ); if ( i == -1 ) break; wxListItem item; item.SetId( i ); item.SetColumn( 1 ); item.SetMask( wxLIST_MASK_TEXT ); m_listCtrl->GetItem( item ); m_hhsno = item.GetText(); } if ( IsModal() ) EndModal( wxID_OK ); else { SetReturnCode( wxID_OK ); Show( false ); } } void HistDialog::ReadHistoryList( void ) { wxTextFile file; wxString filename = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("history"); wxString buf; if ( file.Open( filename ) ) { for ( size_t i = 0; i < file.GetLineCount(); i++ ) { int col = 0; m_listCtrl->InsertItem( i, -1 ); buf.Printf( wxT("%02d"), i + 1 ); m_listCtrl->SetItem( i, col, buf, -1 ); // No wxStringTokenizer tkz( file[i], wxT("#") ); while ( tkz.HasMoreTokens() ) { col++; wxString token = tkz.GetNextToken(); m_listCtrl->SetItem( i, col, token, -1 ); } if ( i % 2 ) m_listCtrl->SetItemBackgroundColour( i, wxColour( wxT("WHEAT") ) ); } } file.Close(); }