diff src/hist.cpp @ 2:c066fde99517

Added Batch Print Mode.
author pyon@macmini
date Fri, 23 Aug 2013 18:32:09 +0900
parents 7b6dab24f4b8
children
line wrap: on
line diff
--- a/src/hist.cpp	Sun Aug 04 21:42:49 2013 +0900
+++ b/src/hist.cpp	Fri Aug 23 18:32:09 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : hist.cpp
-// Last Change: 02-Aug-2013.
+// Last Change: 22-Aug-2013.
 //
 #include "hist.h"
 
@@ -27,7 +27,7 @@
     m_listCtrl->SetColumnWidth( 3, 240 );
     itemCol.SetText( wxT("検索日時") );
     m_listCtrl->InsertColumn( 4, itemCol );
-    m_listCtrl->SetColumnWidth( 4, 80 );
+    m_listCtrl->SetColumnWidth( 4, 120 );
 
 	bSizerTop->Add( m_listCtrl, 1, wxALL|wxEXPAND, 5 );
 	
@@ -60,13 +60,47 @@
 END_EVENT_TABLE()
 
 
-void HistDialog::OnSelectItem( wxListEvent& WXUNUSED(event) )
+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 )
@@ -77,20 +111,20 @@
 
     if ( file.Open( filename ) ) {
 
-        for ( size_t i = 0; i<file.GetLineCount(); i++ ) {
+        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(":") );
+            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")) );
+            if ( i % 2 ) m_listCtrl->SetItemBackgroundColour( i, wxColour( wxT("WHEAT") ) );
         }
     }
     file.Close();