annotate src/hist.cpp @ 8:4967d1e2b30c

Alert when not mask in batch print mode.
author pyon@macmini
date Fri, 01 Nov 2013 18:44:37 +0900
parents c066fde99517
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
1 // Filename : hist.cpp
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
2 // Last Change: 22-Aug-2013.
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
3 //
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
4 #include "hist.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
5
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
6 HistDialog::HistDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
7 : wxDialog( parent, id, title, pos, size, style )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
8 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
9 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
10
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
11 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
12
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
13 m_listCtrl = new wxListCtrl( this, ID_LISTHIST, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
14
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
15 wxListItem itemCol;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
16 itemCol.SetText( wxT("歴番") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
17 m_listCtrl->InsertColumn( 0, itemCol );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
18 m_listCtrl->SetColumnWidth( 0, 40 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
19 itemCol.SetText( wxT("被保険者番号") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
20 m_listCtrl->InsertColumn( 1, itemCol );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
21 m_listCtrl->SetColumnWidth( 1, 90 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
22 itemCol.SetText( wxT("氏名") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
23 m_listCtrl->InsertColumn( 2, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
24 m_listCtrl->SetColumnWidth( 2, 80 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
25 itemCol.SetText( wxT("住所") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
26 m_listCtrl->InsertColumn( 3, itemCol );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
27 m_listCtrl->SetColumnWidth( 3, 240 );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
28 itemCol.SetText( wxT("検索日時") );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
29 m_listCtrl->InsertColumn( 4, itemCol );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
30 m_listCtrl->SetColumnWidth( 4, 120 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
31
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
32 bSizerTop->Add( m_listCtrl, 1, wxALL|wxEXPAND, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
33
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
34 wxBoxSizer* bSizerBtn = new wxBoxSizer( wxHORIZONTAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
35
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
36 m_buttonCancel = new wxButton( this, wxID_CANCEL, wxT("キャンセル"), wxDefaultPosition, wxDefaultSize, 0 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
37 bSizerBtn->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
38
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
39 m_buttonSet = new wxButton( this, ID_SETHIST, wxT("セット"), wxDefaultPosition, wxDefaultSize, 0 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
40 bSizerBtn->Add( m_buttonSet, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
41
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
42 bSizerTop->Add( bSizerBtn, 0, wxALIGN_RIGHT|wxALL, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
43
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
44 this->SetSizer( bSizerTop );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
45 this->Layout();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
46
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
47 this->Centre( wxBOTH );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
48
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
49 ReadHistoryList();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
50 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
51
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
52 HistDialog::~HistDialog()
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
53 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
54 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
55
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
56 // Event Table
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
57 BEGIN_EVENT_TABLE( HistDialog, wxDialog )
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
58 EVT_LIST_ITEM_ACTIVATED( ID_LISTHIST, HistDialog::OnSelectItem )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
59 EVT_BUTTON( ID_SETHIST, HistDialog::OnSet )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
60 END_EVENT_TABLE()
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
61
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
62
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
63 void HistDialog::OnSelectItem( wxListEvent& event )
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
64 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
65 int i = event.GetIndex();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
66 wxListItem item;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
67 item.SetId( i );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
68
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
69 item.SetColumn( 1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
70 item.SetMask( wxLIST_MASK_TEXT );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
71 m_listCtrl->GetItem( item );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
72 m_hhsno = item.GetText();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
73
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
74 if ( IsModal() )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
75 EndModal( wxID_OK );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
76 else {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
77 SetReturnCode( wxID_OK );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
78 Show( false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
79 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
80 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
81
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
82 void HistDialog::OnSet( wxCommandEvent& WXUNUSED(event) )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
83 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
84 long i = -1;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
85 for ( ;; ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
86 i = m_listCtrl->GetNextItem( i, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
87 if ( i == -1 ) break;
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
88
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
89 wxListItem item;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
90 item.SetId( i );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
91
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
92 item.SetColumn( 1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
93 item.SetMask( wxLIST_MASK_TEXT );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
94 m_listCtrl->GetItem( item );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
95 m_hhsno = item.GetText();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
96 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
97
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
98 if ( IsModal() )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
99 EndModal( wxID_OK );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
100 else {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
101 SetReturnCode( wxID_OK );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
102 Show( false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
103 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
104 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
105
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
106 void HistDialog::ReadHistoryList( void )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
107 {
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
108 wxTextFile file;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
109 wxString filename = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("history");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
110 wxString buf;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
111
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
112 if ( file.Open( filename ) ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
113
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
114 for ( size_t i = 0; i < file.GetLineCount(); i++ ) {
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
115
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
116 int col = 0;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
117 m_listCtrl->InsertItem( i, -1 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
118 buf.Printf( wxT("%02d"), i + 1 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
119 m_listCtrl->SetItem( i, col, buf, -1 ); // No
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
120
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
121 wxStringTokenizer tkz( file[i], wxT("#") );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
122 while ( tkz.HasMoreTokens() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
123 col++;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
124 wxString token = tkz.GetNextToken();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
125 m_listCtrl->SetItem( i, col, token, -1 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
126 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
127 if ( i % 2 ) m_listCtrl->SetItemBackgroundColour( i, wxColour( wxT("WHEAT") ) );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
128 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
129 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
130 file.Close();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
131 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
132