annotate src/myframe.cpp @ 2:c066fde99517

Added Batch Print Mode.
author pyon@macmini
date Fri, 23 Aug 2013 18:32:09 +0900
parents 7b6dab24f4b8
children 1a64119ab257
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
1 // Filename : myframe.cpp
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
2 // Last Change: 23-Aug-2013.
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
3 //
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
4 #include "main.h"
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
5 #include "db.h"
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
6 #include "about.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
7 #include "kana.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
8 #include "hist.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
9 #include "index.h"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
10 #include "mask.h"
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
11 #include "marksheet.h"
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
12 #include "myframe.h"
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
13 #include "bprint.h"
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
14
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
15 ///////////////////////////////////////////////////////////////
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
16 // カスタム検索ボックス
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
17 MySearchBox::MySearchBox( wxWindow* parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, long style )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
18 : wxSearchCtrl( parent, id, value, pos, size, style )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
19 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
20 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
21
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
22 MySearchBox::~MySearchBox()
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
23 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
24 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
25
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
26 // Event Table
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
27 BEGIN_EVENT_TABLE( MySearchBox, wxSearchCtrl )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
28 EVT_CHAR( MySearchBox::OnKey )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
29 END_EVENT_TABLE()
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
30
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
31 // Event Handlers & Functions
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
32 void MySearchBox::OnKey( wxKeyEvent& event )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
33 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
34 wxString s = GetValue();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
35 // statustext( s.Len() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
36
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
37 if ( event.GetKeyCode() == 45 ) { // テンキーの '-' キーで1文字削除
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
38 wxString t = GetStringSelection();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
39 if ( t.IsEmpty() ) {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
40 long p = GetInsertionPoint();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
41 if ( p > 0 ) Remove( p - 1, p );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
42 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
43 else {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
44 Cut();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
45 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
46 return;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
47 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
48
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
49 if ( event.GetKeyCode() == WXK_ESCAPE ) { // clear by ESC
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
50 this->Clear();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
51 return;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
52 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
53
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
54 event.Skip();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
55 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
56
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
57
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
58 ///////////////////////////////////////////////////////////////
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
59 // メインフレーム
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
60 #define WINL_W 480
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
61 #define LOGO_W 200
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
62 #define LOGO_H 92
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
63
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
64 // resources
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
65 #if !defined(__WXMSW__) && !defined(__WXPM__)
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
66 #include "sample.xpm"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
67 #endif
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
68
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
69 MyFrame::MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
70 : wxFrame( parent, id, title, pos, size, style )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
71 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
72 this->SetSizeHints( wxSize( WINL_W, 500 ), wxDefaultSize );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
73 this->SetMinSize( wxSize( WINL_W, 500 ) );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
74 this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_ACTIVEBORDER ) );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
75 //this->SetBackgroundColour( wxColour(wxT("WHEAT")) );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
76
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
77 // set the frame icon
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
78 SetIcon(wxICON(sample));
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
79
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
80 // メニューバー Menu
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
81 m_menubar = new wxMenuBar( 0 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
82 m_menuFile = new wxMenu();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
83
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
84 wxMenuItem* m_menuItemBPrintMode = new wxMenuItem( m_menuFile, ID_MNBPNT, wxString( wxT("バッチ印刷モード\tF12") ) , wxT("Batch Print Mode"), wxITEM_NORMAL );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
85 m_menuFile->Append( m_menuItemBPrintMode );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
86
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
87 wxMenuItem* m_menuItemIndex = new wxMenuItem( m_menuFile, ID_MNINDEX, wxString( wxT("インデックス\tF11") ) , wxT("Update index"), wxITEM_NORMAL );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
88 m_menuFile->Append( m_menuItemIndex );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
89
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
90 m_menuFile->AppendSeparator(); // ----
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
91
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
92 wxMenuItem* m_menuItemViewStyle = new wxMenuItem( m_menuFile, ID_MNVIEW, wxString( wxT("ビュースタイル\tF10") ) , wxT("Toggle ViewStyle"), wxITEM_CHECK );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
93 m_menuFile->Append( m_menuItemViewStyle );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
94
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
95 m_menuFile->AppendSeparator(); // ----
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
96
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
97 wxMenuItem* m_menuItemBkup = new wxMenuItem( m_menuFile, ID_MNDBBKUP, wxString( wxT("DBバックアップ(&B)") ) , wxT("Backup databases"), wxITEM_NORMAL );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
98 m_menuFile->Append( m_menuItemBkup );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
99
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
100 wxMenuItem* m_menuItemMask = new wxMenuItem( m_menuFile, ID_MNMASKPARAM, wxString( wxT("マスクパラメータ(&M)") ) , wxT("Setup mask parameters"), wxITEM_NORMAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
101 m_menuFile->Append( m_menuItemMask );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
102
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
103 wxMenuItem* m_menuItemAppDir = new wxMenuItem( m_menuFile, ID_MNAPPDIR, wxString( wxT("アプリケーションフォルダを開く(&O)") ) , wxT("Open application directory"), wxITEM_NORMAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
104 m_menuFile->Append( m_menuItemAppDir );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
105
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
106 m_menuFile->AppendSeparator(); // ----
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
107
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
108 wxMenuItem* m_menuItemAbout = new wxMenuItem( m_menuFile, ID_MNABOUT, wxString( wxT("&About...\tF1") ) , wxT("Show about dialog"), wxITEM_NORMAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
109 m_menuFile->Append( m_menuItemAbout );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
110
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
111 m_menubar->Append( m_menuFile, wxT("ファイル(&F)") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
112
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
113 this->SetMenuBar( m_menubar );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
114
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
115 //
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
116 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
117
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
118 m_splitter = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
119 wxBoxSizer* bSizerMain = new wxBoxSizer( wxVERTICAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
120
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
121 // left-pane
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
122 m_panelMain = new wxPanel( m_splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
123
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
124 wxString logo = wxGetCwd() + wxFILE_SEP_PATH + wxT("image") + wxFILE_SEP_PATH + wxT("logo.png");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
125 wxBitmap bmp = wxBitmap( logo, wxBITMAP_TYPE_PNG );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
126 m_bitmap = new wxStaticBitmap( m_panelMain, wxID_ANY, bmp, wxDefaultPosition, wxSize( LOGO_W, LOGO_H ), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
127 bSizerMain->Add( m_bitmap, 0, wxALL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
128
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
129 m_textCtrlName = new wxTextCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 200, -1 ), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
130 bSizerMain->Add( m_textCtrlName, 0, wxALL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
131
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
132 m_textCtrlAddr = new wxTextCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 380, -1 ), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
133 bSizerMain->Add( m_textCtrlAddr, 0, wxALL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
134
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
135 m_listCtrl = new wxListCtrl( m_panelMain, ID_LIST, wxDefaultPosition, wxDefaultSize, wxLC_REPORT );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
136 wxListItem itemCol;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
137 itemCol.SetText( wxT("通番") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
138 m_listCtrl->InsertColumn( 0, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
139 m_listCtrl->SetColumnWidth( 0, 50 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
140 itemCol.SetText( wxT("年月日") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
141 m_listCtrl->InsertColumn( 1, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
142 m_listCtrl->SetColumnWidth( 1, 80 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
143 itemCol.SetText( wxT("場所") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
144 m_listCtrl->InsertColumn( 2, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
145 m_listCtrl->SetColumnWidth( 2, 300 );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
146 bSizerMain->Add( m_listCtrl, 1, wxALL|wxEXPAND, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
147
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
148 wxBoxSizer* bSizerCmd = new wxBoxSizer( wxHORIZONTAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
149
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
150 m_staticText = new wxStaticText( m_panelMain, wxID_ANY, wxT("コマンド?"), wxDefaultPosition, wxDefaultSize, 0 );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
151 bSizerCmd->Add( m_staticText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
152
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
153 m_searchBox = new MySearchBox( m_panelMain, ID_SEARCH, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
154 #ifndef __WXMAC__
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
155 m_searchBox->ShowSearchButton( true );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
156 #endif
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
157 m_searchBox->ShowCancelButton( false );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
158 m_searchBox->SetFocus();
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
159 bSizerCmd->Add( m_searchBox, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
160
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
161 m_buttonKana = new wxButton( m_panelMain, ID_KANA, wxT("カナ検索"), wxDefaultPosition, wxSize( 65, -1 ), 0 );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
162 bSizerCmd->Add( m_buttonKana, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 20 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
163
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
164 m_buttonHist = new wxButton( m_panelMain, ID_HIST, wxT("検索履歴"), wxDefaultPosition, wxSize( 65, -1 ), 0 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
165 bSizerCmd->Add( m_buttonHist, 0, wxALL, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
166
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
167 bSizerMain->Add( bSizerCmd, 0, wxEXPAND, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
168
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
169 m_panelMain->SetSizer( bSizerMain );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
170 m_panelMain->Layout();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
171 bSizerMain->Fit( m_panelMain );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
172
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
173 // right-pane
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
174 m_panelView = new wxPanel( m_splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
175 wxBoxSizer* bSizerView = new wxBoxSizer( wxHORIZONTAL );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
176
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
177 m_bitmapView = new wxStaticBitmap( m_panelView, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
178 bSizerView->Add( m_bitmapView, 1, wxALL|wxEXPAND, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
179
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
180 m_listCtrlThumb = new wxListCtrl( m_panelView, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
181 bSizerView->Add( m_listCtrlThumb, 0, wxALL|wxEXPAND, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
182
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
183 m_panelView->SetSizer( bSizerView );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
184 m_panelView->Layout();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
185 bSizerView->Fit( m_panelView );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
186
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
187 m_panelView->Show( false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
188 //
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
189 m_splitter->Initialize( m_panelMain );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
190 bSizerTop->Add( m_splitter, 1, wxEXPAND, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
191
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
192 this->SetSizer( bSizerTop );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
193 this->Layout();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
194
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
195 // ステータスバー Statusbar
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
196 m_statusBar = new wxStatusBar( this, wxID_ANY, wxST_SIZEGRIP );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
197 int widths[] = { 200, -1, 10, 90 };
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
198 m_statusBar->SetFieldsCount( 4, widths );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
199 this->SetStatusBar( m_statusBar );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
200 SetStatusText( wxT("被保番を入力してスタート!") );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
201
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
202 this->Centre( wxBOTH );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
203 LoadMaskParam();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
204 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
205
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
206 MyFrame::~MyFrame()
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
207 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
208 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
209
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
210 // Event Table
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
211 BEGIN_EVENT_TABLE( MyFrame, wxFrame )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
212 EVT_MENU( ID_MNABOUT, MyFrame::OnAbout )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
213 EVT_MENU( wxID_EXIT, MyFrame::OnQuit )
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
214 EVT_MENU( ID_MNBPNT, MyFrame::OnBPrintMode )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
215 EVT_MENU( ID_MNVIEW, MyFrame::OnViewStyle )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
216 EVT_MENU( ID_MNINDEX, MyFrame::OnIndex )
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
217 EVT_MENU( ID_MNDBBKUP, MyFrame::OnDBBackup )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
218 EVT_MENU( ID_MNMASKPARAM, MyFrame::OnMaskParam )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
219 EVT_MENU( ID_MNAPPDIR, MyFrame::OnOpenAppDir )
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
220 EVT_LIST_ITEM_ACTIVATED( ID_LIST, MyFrame::OnSelectHhsDir )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
221 EVT_BUTTON( ID_KANA, MyFrame::OnKana )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
222 EVT_BUTTON( ID_HIST, MyFrame::OnHistory )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
223 EVT_SIZE( MyFrame::OnWinSize )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
224 EVT_MOVE( MyFrame::OnWinMove )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
225 EVT_CLOSE( MyFrame::SaveConfig )
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
226 EVT_TEXT_ENTER( ID_SEARCH, MyFrame::OnCommand )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
227 END_EVENT_TABLE()
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
228
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
229 // Event Handlers & Functions
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
230 /* エンターキーフック */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
231 void MyFrame::OnCommand( wxCommandEvent& event )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
232 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
233 wxString s = m_searchBox->GetValue();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
234
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
235 if ( s.IsSameAs( wxT("99") ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
236 Close();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
237 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
238 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
239
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
240 if ( s.IsSameAs( wxT("+") ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
241 PrintImages( m_hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
242 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
243 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
244
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
245 wxRegEx reHhs( wxT("^0[1238][0-9]{8}$") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
246 if ( reHhs.Matches( s ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
247 m_hhsno = s;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
248 UpdateList( m_hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
249 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
250 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
251
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
252 wxRegEx reNo( wxT("^[0-9]{1,2}$") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
253 if ( reNo.Matches( s ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
254 long n;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
255 s.ToLong( &n, 10 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
256 n--;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
257 OpenHhsDir( (int)n );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
258 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
259 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
260
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
261 SetStatusMessage( wxT("不適切な入力です."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
262 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
263
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
264 event.Skip();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
265 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
266 /* マスクパラメータを設定ファイルから読み込む */
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
267 void MyFrame::LoadMaskParam( void )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
268 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
269 conf_file = wxGetCwd() + wxFILE_SEP_PATH + wxT("app.conf");
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
270 config = new wxFileConfig( wxT("MyApp"), wxT("T.Mutoh"), conf_file, wxEmptyString, wxCONFIG_USE_LOCAL_FILE );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
271
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
272 int x, y, w, h;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
273
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
274 config->SetPath( wxT("/Mask") );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
275
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
276 config->Read( wxT("x1"), &x );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
277 config->Read( wxT("y1"), &y );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
278 config->Read( wxT("w1"), &w );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
279 config->Read( wxT("h1"), &h );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
280 m_mask1.SetPosition( wxPoint( x, y ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
281 m_mask1.SetSize( wxSize( w, h ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
282
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
283 config->Read( wxT("x2"), &x );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
284 config->Read( wxT("y2"), &y );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
285 config->Read( wxT("w2"), &w );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
286 config->Read( wxT("h2"), &h );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
287 m_mask2.SetPosition( wxPoint( x, y ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
288 m_mask2.SetSize( wxSize( w, h ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
289
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
290 config->Read( wxT("x3"), &x );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
291 config->Read( wxT("y3"), &y );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
292 config->Read( wxT("w3"), &w );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
293 config->Read( wxT("h3"), &h );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
294 m_mask3.SetPosition( wxPoint( x, y ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
295 m_mask3.SetSize( wxSize( w, h ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
296
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
297 config->Read( wxT("x1o"), &x );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
298 config->Read( wxT("y1o"), &y );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
299 config->Read( wxT("w1o"), &w );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
300 config->Read( wxT("h1o"), &h );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
301 m_mask1old.SetPosition( wxPoint( x, y ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
302 m_mask1old.SetSize( wxSize( w, h ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
303
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
304 config->Read( wxT("x2o"), &x );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
305 config->Read( wxT("y2o"), &y );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
306 config->Read( wxT("w2o"), &w );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
307 config->Read( wxT("h2o"), &h );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
308 m_mask2old.SetPosition( wxPoint( x, y ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
309 m_mask2old.SetSize( wxSize( w, h ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
310
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
311 config->Read( wxT("x3o"), &x );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
312 config->Read( wxT("y3o"), &y );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
313 config->Read( wxT("w3o"), &w );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
314 config->Read( wxT("h3o"), &h );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
315 m_mask3old.SetPosition( wxPoint( x, y ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
316 m_mask3old.SetSize( wxSize( w, h ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
317 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
318 /* 印刷 */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
319 void MyFrame::PrintImages( wxString hhsno )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
320 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
321 // 印刷用の html を作成
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
322 wxArrayString path = GetPathByHhsNo( hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
323 if ( path.IsEmpty() ) return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
324
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
325 wxDir dir( path[0] );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
326 if ( !dir.IsOpened() ) return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
327
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
328 wxString html;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
329 html = html + wxT("<html><body>\n");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
330
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
331 wxString file;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
332 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
333 int n = 0;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
334 wxString tmpdir = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
335 while ( cout ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
336 file = path[0] + wxFILE_SEP_PATH + file;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
337 file.Replace( wxFILE_SEP_PATH, wxT("/") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
338 wxString tmpjpg = wxString::Format( wxT("%stmp%d.jpg"), tmpdir, n );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
339
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
340 if ( n == 0 ) { // 1枚目はマスクする
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
341 wxImage img_org( file, wxBITMAP_TYPE_JPEG );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
342 int ver = GetMarksheetVersion( file );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
343 if ( ver == 2 ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
344 img_org.SetRGB( m_mask1, 255, 255, 255 ); // cm name
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
345 img_org.SetRGB( m_mask2, 255, 255, 255 ); // cm no.
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
346 img_org.SetRGB( m_mask3, 255, 255, 255 ); // barcode
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
347 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
348 else { // 古いマークシート ver == 1
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
349 img_org.SetRGB( m_mask1old, 255, 255, 255 ); // cm name
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
350 img_org.SetRGB( m_mask2old, 255, 255, 255 ); // cm no.
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
351 img_org.SetRGB( m_mask3old, 255, 255, 255 ); // barcode
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
352 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
353 img_org.SaveFile( tmpjpg );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
354 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
355 else {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
356 wxCopyFile( file, tmpjpg, true );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
357 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
358 html = html + wxT("<img src=\"") + tmpjpg + wxT("\" width=\"750\" height=\"1060\"/>");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
359 cout = dir.GetNext( &file );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
360 n++;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
361 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
362 html = html + wxT("</body></html>");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
363
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
364 // start printing
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
365 wxHtmlPrintout hpout( wxT("Searcher03") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
366 hpout.SetMargins( 0, 0, 0, 0, 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
367 wxPrintDialogData pd;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
368 wxPrinter p( &pd );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
369
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
370 hpout.SetHtmlText( html, wxEmptyString, false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
371 p.Print( NULL, &hpout, true );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
372
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
373 // end
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
374 SetStatusMessage( wxT("被保番かフォルダ番号を."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
375 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
376 /* 一括印刷モード */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
377 void MyFrame::OnBPrintMode( wxCommandEvent& WXUNUSED(event) )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
378 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
379 FrameBatchPrint* bp = new FrameBatchPrint( this, wxID_ANY, wxT("一括印刷"), wxDefaultPosition, wxSize( 640, 500 ), wxCAPTION|wxFRAME_NO_TASKBAR );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
380 bp->SetMask1( m_mask1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
381 bp->SetMask2( m_mask2 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
382 bp->SetMask3( m_mask3 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
383 bp->SetMask1Old( m_mask1old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
384 bp->SetMask2Old( m_mask2old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
385 bp->SetMask3Old( m_mask3old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
386 bp->Show( true );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
387 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
388 /* インデックス作成ダイアログ */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
389 void MyFrame::OnIndex( wxCommandEvent& WXUNUSED(event) )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
390 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
391 wxString rootdir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
392 config->SetPath( wxT("/Index") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
393 config->Read( wxT("rootdir"), &rootdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
394
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
395 IndexDialog* index = new IndexDialog( this, wxID_ANY, wxT("インデックス作成"), wxDefaultPosition, wxSize( 700, 600 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
396 index->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
397 index->SetRootdir( rootdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
398 index->ShowModal();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
399 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
400 /* マスクパラメータ設定ダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
401 void MyFrame::OnMaskParam( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
402 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
403 MaskDialog* mask = new MaskDialog( this, wxID_ANY, wxT("マスク位置とサイズの指定"), wxDefaultPosition, wxSize( 350, 250 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
404 mask->SetMask1( m_mask1 );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
405 mask->SetMask2( m_mask2 );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
406 mask->SetMask3( m_mask3 );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
407 mask->SetMask1Old( m_mask1old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
408 mask->SetMask2Old( m_mask2old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
409 mask->SetMask3Old( m_mask3old );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
410 mask->LoadParams();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
411 mask->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
412
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
413 if ( mask->ShowModal() == wxID_OK ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
414 m_mask1 = mask->GetMask1();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
415 m_mask2 = mask->GetMask2();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
416 m_mask3 = mask->GetMask3();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
417 m_mask1old = mask->GetMask1Old();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
418 m_mask2old = mask->GetMask2Old();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
419 m_mask3old = mask->GetMask3Old();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
420
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
421 config->SetPath( wxT("/Mask") );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
422
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
423 config->Write( wxT("x1"), m_mask1.GetX() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
424 config->Write( wxT("y1"), m_mask1.GetY() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
425 config->Write( wxT("w1"), m_mask1.GetWidth() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
426 config->Write( wxT("h1"), m_mask1.GetHeight() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
427
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
428 config->Write( wxT("x2"), m_mask2.GetX() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
429 config->Write( wxT("y2"), m_mask2.GetY() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
430 config->Write( wxT("w2"), m_mask2.GetWidth() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
431 config->Write( wxT("h2"), m_mask2.GetHeight() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
432
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
433 config->Write( wxT("x3"), m_mask3.GetX() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
434 config->Write( wxT("y3"), m_mask3.GetY() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
435 config->Write( wxT("w3"), m_mask3.GetWidth() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
436 config->Write( wxT("h3"), m_mask3.GetHeight() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
437
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
438 config->Write( wxT("x1o"), m_mask1old.GetX() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
439 config->Write( wxT("y1o"), m_mask1old.GetY() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
440 config->Write( wxT("w1o"), m_mask1old.GetWidth() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
441 config->Write( wxT("h1o"), m_mask1old.GetHeight() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
442
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
443 config->Write( wxT("x2o"), m_mask2old.GetX() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
444 config->Write( wxT("y2o"), m_mask2old.GetY() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
445 config->Write( wxT("w2o"), m_mask2old.GetWidth() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
446 config->Write( wxT("h2o"), m_mask2old.GetHeight() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
447
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
448 config->Write( wxT("x3o"), m_mask3old.GetX() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
449 config->Write( wxT("y3o"), m_mask3old.GetY() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
450 config->Write( wxT("w3o"), m_mask3old.GetWidth() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
451 config->Write( wxT("h3o"), m_mask3old.GetHeight() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
452
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
453 config->Flush( false );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
454 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
455 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
456 /* データベースファイルのバックアップ */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
457 void MyFrame::OnDBBackup( wxCommandEvent& WXUNUSED(event) )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
458 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
459 wxDateTime now = wxDateTime::Now();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
460 wxString str = now.Format( wxT("%Y%m%d%H%M%S") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
461
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
462 wxString org, bk;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
463 wxString dbdir = wxGetCwd() + wxFILE_SEP_PATH + wxT("db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
464
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
465 org = dbdir + wxFILE_SEP_PATH + wxT("hhs.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
466 bk = dbdir + wxFILE_SEP_PATH + str + wxT("_hhs.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
467 wxCopyFile( org, bk, false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
468
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
469 org = dbdir + wxFILE_SEP_PATH + wxT("ccn.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
470 bk = dbdir + wxFILE_SEP_PATH + str + wxT("_ccn.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
471 wxCopyFile( org, bk, false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
472
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
473 wxMessageBox( wxT("バックアップ終了.") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
474 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
475 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
476 /* アプリフォルダを開く */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
477 void MyFrame::OnOpenAppDir( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
478 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
479 wxString appdir = wxGetCwd();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
480 wxString execmd = wxT("explorer ") + appdir;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
481 wxExecute( execmd );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
482 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
483 /* ビューの切替え */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
484 void MyFrame::OnViewStyle( wxCommandEvent& event )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
485 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
486 if ( event.IsChecked() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
487 int x, y;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
488 GetSize( &x, &y );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
489 SetSize( WINL_W + 500, y );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
490 m_splitter->SplitVertically( m_panelMain, m_panelView, 0 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
491 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
492 else {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
493 m_splitter->Unsplit();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
494 SetSize( WINL_W, -1 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
495 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
496 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
497 /* 被保険者フォルダを開く */
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
498 void MyFrame::OnSelectHhsDir( wxListEvent& event )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
499 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
500 int i = event.GetIndex();
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
501 OpenHhsDir( i );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
502 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
503 /* 番号で指定したフォルダを開く */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
504 void MyFrame::OpenHhsDir( int n )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
505 {
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
506 wxListItem item;
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
507 item.SetId( n );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
508 item.SetColumn( 2 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
509 item.SetMask( wxLIST_MASK_TEXT );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
510 m_listCtrl->GetItem( item );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
511 wxString dir = item.GetText();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
512 wxString execmd = wxT("explorer ") + dir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
513 wxExecute( execmd );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
514 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
515
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
516 /* カナ検索ダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
517 void MyFrame::OnKana( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
518 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
519 KanaDialog* kana = new KanaDialog( this, wxID_ANY, wxT("カナ氏名で被保番を検索"), wxDefaultPosition, wxSize( 640, 600 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxRESIZE_BORDER|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
520 kana->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
521
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
522 if ( kana->ShowModal() == wxID_OK ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
523 m_hhsno = kana->GetHhsNo();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
524 UpdateList( m_hhsno );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
525 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
526 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
527 /* 検索履歴検索ダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
528 void MyFrame::OnHistory( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
529 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
530 HistDialog* hist = new HistDialog( this, wxID_ANY, wxT("検索履歴"), wxDefaultPosition, wxSize( 600, 500 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
531 hist->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
532
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
533 if ( hist->ShowModal() == wxID_OK ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
534 m_hhsno = hist->GetHhsNo();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
535 UpdateList( m_hhsno );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
536 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
537 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
538
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
539 /* 検索結果をリストアップ */
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
540 void MyFrame::UpdateList( wxString hhsno )
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
541 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
542 m_listCtrl->DeleteAllItems();
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
543 for ( int i = 0; i < m_statusBar->GetFieldsCount(); i++ ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
544 SetStatusMessage( wxEmptyString, i );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
545 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
546
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
547 //
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
548 wxArrayString s = wxSplit( GetHhsInfoByHhsNo( hhsno ), '_', '\\' );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
549 wxString history;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
550 if ( s.IsEmpty() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
551 SetStatusMessage( wxT("データベースに存在しない被保険者です."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
552 history = hhsno + wxT("###");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
553 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
554 else {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
555 m_textCtrlName->SetValue( s[0] );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
556 m_textCtrlAddr->SetValue( s[1] );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
557 history = hhsno + wxT("#") + s[0] + wxT("#") + s[1] + wxT("#");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
558 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
559 m_searchBox->SetValue( hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
560 m_searchBox->SelectAll();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
561 m_searchBox->SetFocus();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
562
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
563 wxArrayString path = GetPathByHhsNo( hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
564 if ( path.IsEmpty() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
565 SetStatusMessage( wxT("審査会履歴がありません."), 1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
566 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
567 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
568
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
569 wxRegEx reDate(wxT("(^.*20[0-9]{2}.)(20[0-9]{2})([0-2][0-9])([0-9]{2})(.*$)"));
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
570 for ( int i = 0; i < path.GetCount(); i++ ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
571 wxString date = path[i];
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
572 reDate.ReplaceAll( &date, wxT("\\2-\\3-\\4") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
573
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
574 m_listCtrl->InsertItem( i, -1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
575 m_listCtrl->SetItem( i, 0,wxString::Format( wxT("%d"), i + 1 ) , -1 ); // No
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
576 m_listCtrl->SetItem( i, 1, date, -1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
577 m_listCtrl->SetItem( i, 2, path[i], -1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
578
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
579 if ( i % 2 ) m_listCtrl->SetItemBackgroundColour( i, wxColour( wxT("WHEAT") ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
580 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
581
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
582 SetStatusMessage( wxT("「+」キーで通番1を印刷."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
583
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
584 //
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
585 wxString filename = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("history");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
586 wxDateTime now = wxDateTime::Now();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
587 history = history + now.Format( wxT("%Y-%m-%d %H:%M:%S") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
588
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
589 wxTextFile hist( filename );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
590 hist.Open();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
591 hist.RemoveLine( 20 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
592 hist.InsertLine( history, 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
593 hist.Write();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
594 hist.Close();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
595 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
596 /* ステータスバーにメッセージを出力 */
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
597 void MyFrame::SetStatusMessage( wxString msg, long n )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
598 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
599 if ( GetStatusBar() )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
600 SetStatusText( msg, n );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
601 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
602
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
603 /* サイズ変更 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
604 void MyFrame::OnWinSize( wxSizeEvent& event )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
605 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
606 this->Refresh( true, NULL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
607 TellLocation();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
608 event.Skip();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
609 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
610 /* ウィンドウ移動 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
611 void MyFrame::OnWinMove( wxMoveEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
612 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
613 TellLocation();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
614 return;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
615 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
616 /* ウィンドウ位置とサイズを表示 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
617 void MyFrame::TellLocation( void )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
618 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
619 wxRect r = this->GetRect();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
620 int x = r.GetX();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
621 int y = r.GetY();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
622 int w = r.GetWidth();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
623 int h = r.GetHeight();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
624
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
625 if ( GetStatusBar() )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
626 SetStatusText( wxString::Format(wxT( "(%d,%d) %dx%d"),x,y,w,h ), 3 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
627 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
628 /* 終了 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
629 void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
630 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
631 Close( true );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
632 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
633 /* 設定を保存 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
634 void MyFrame::SaveConfig( wxCloseEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
635 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
636 if ( !IsIconized() && !IsMaximized() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
637 wxGetApp().rect = this->GetRect();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
638 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
639 Destroy();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
640 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
641 /* アバウトダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
642 void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
643 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
644 AboutDialog* aboutDlg = new AboutDialog( this, wxID_ANY, wxT("About this Software"), wxDefaultPosition, wxSize(320,280), wxDEFAULT_DIALOG_STYLE|wxSTAY_ON_TOP );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
645 aboutDlg->ShowModal();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
646 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
647