annotate src/myframe.cpp @ 11:dfcf8c973219

Implement Cache maker.
author pyon@macmini
date Wed, 07 May 2014 20:38:57 +0900
parents 29021e6e1ebe
children 52958cd4a073
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
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
2 // Last Change: 02-May-2014.
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"
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
9 #include "preview.h"
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
10 #include "index.h"
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
11 #include "cache.h"
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
12 #include "param.h"
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
13 #include "marksheet.h"
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
14 #include "myframe.h"
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
15 #include "bprint.h"
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
16
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
17 #define DEBUG 1
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
18
1
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 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
22 : wxSearchCtrl( parent, id, value, pos, size, style )
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 MySearchBox::~MySearchBox()
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
27 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
28 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
29
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
30 void MySearchBox::SetMessage( wxString msg )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
31 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
32 wxFrame* p = (wxFrame*)FindWindowById( ID_MAIN );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
33 p->SetStatusText( msg, 0 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
34 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
35
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
36 // Event Table
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
37 BEGIN_EVENT_TABLE( MySearchBox, wxSearchCtrl )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
38 EVT_CHAR( MySearchBox::OnKey )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
39 END_EVENT_TABLE()
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
40
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
41 // Event Handlers & Functions
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
42 void MySearchBox::OnKey( wxKeyEvent& event )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
43 {
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
44 int kc = event.GetKeyCode();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
45 wxString s = GetValue();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
46
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
47 if ( kc == 13 ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
48 event.Skip();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
49 return;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
50 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
51
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
52 if ( kc == 45 ) { // テンキーの '-' キーで1文字削除
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
53 wxString t = GetStringSelection();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
54 if ( t.IsEmpty() ) {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
55 long p = GetInsertionPoint();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
56 if ( p > 0 ) Remove( p - 1, p );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
57 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
58 else {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
59 Cut();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
60 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
61 return;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
62 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
63
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
64 if ( kc == WXK_ESCAPE ) { // clear by ESC
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
65 this->Clear();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
66 return;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
67 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
68
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
69 // auto-complete
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
70 Cut();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
71 if ( kc >=48 && kc<=57 ) { // [0-9]
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
72 kc -= 48;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
73 wxString input = GetValue() + wxString::Format( wxT("%d"), kc );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
74 if ( input.Len() < 5 ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
75 event.Skip();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
76 return;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
77 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
78 for ( unsigned int i = 0; i < m_jhhsno.GetCount(); i++ ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
79 if ( m_jhhsno[i].StartsWith( input ) ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
80 ChangeValue( m_jhhsno[i] );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
81 SetSelection( input.Len(), 10 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
82
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
83 wxArrayString s = wxSplit( GetHhsInfoByHhsNo( m_jhhsno[i] ), '_', '\\' );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
84 wxString msg = wxT("もしかして... ") + s[0] + wxT(" ?!");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
85 SetMessage( msg );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
86 return;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
87 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
88 SetMessage( wxEmptyString );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
89 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
90 event.Skip();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
91 return;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
92 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
93 event.Skip();
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
94 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
95
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
96 ///////////////////////////////////////////////////////////////
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
97 // サムネイルパネル
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
98 #define THUMB_W 60
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
99 #define THUMB_H 75
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
100 ThumbnailPanel::ThumbnailPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
101 : wxPanel( parent, id, pos, size, style )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
102 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
103 wxBoxSizer* bSizer = new wxBoxSizer( wxHORIZONTAL );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
104 this->SetBackgroundColour( wxColour( 192, 192, 192 ) );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
105
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
106 wxString thumb = wxGetCwd() + wxFILE_SEP_PATH + wxT("image") + wxFILE_SEP_PATH + wxT("thumbnail.png");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
107 wxBitmap bmp = wxBitmap( thumb, wxBITMAP_TYPE_PNG );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
108
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
109 m_bitmap0 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
110 bSizer->Add( m_bitmap0, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
111 m_bitmap0->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick0 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
112
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
113 m_bitmap1 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
114 bSizer->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
115 m_bitmap1->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick1 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
116
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
117 m_bitmap2 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
118 bSizer->Add( m_bitmap2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
119 m_bitmap2->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick2 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
120
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
121 m_bitmap3 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
122 bSizer->Add( m_bitmap3, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
123 m_bitmap3->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick3 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
124
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
125 m_bitmap4 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
126 bSizer->Add( m_bitmap4, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
127 m_bitmap4->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick4 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
128
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
129 m_bitmap5 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
130 bSizer->Add( m_bitmap5, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
131 m_bitmap5->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick5 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
132
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
133 this->SetSizer( bSizer );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
134 this->Layout();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
135 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
136
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
137 ThumbnailPanel::~ThumbnailPanel()
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
138 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
139 m_bitmap0->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick0 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
140 m_bitmap1->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick1 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
141 m_bitmap2->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick2 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
142 m_bitmap3->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick3 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
143 m_bitmap4->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick4 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
144 m_bitmap5->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ThumbnailPanel::OnDClick5 ), NULL, this );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
145 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
146
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
147 // Functions
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
148 /* サムネイル表示 */
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
149 void ThumbnailPanel::SetCacheImages( wxString dirpath )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
150 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
151 wxDir dir( dirpath );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
152 if ( !dir.IsOpened() ) return;
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
153
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
154 m_imagefiles.Clear();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
155 wxDir::GetAllFiles( dirpath, &m_imagefiles, wxT("*.jpg"), wxDIR_FILES );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
156
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
157 wxString cachedir = wxT("cache") + dirpath.AfterLast( ':' );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
158 wxDir cdir( cachedir );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
159 if ( !cdir.IsOpened() ) return;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
160
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
161 m_cachefiles.Clear();
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
162 wxDir::GetAllFiles( cachedir, &m_cachefiles, wxT("*.png"), wxDIR_FILES );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
163
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
164 wxString thumb = wxGetCwd() + wxFILE_SEP_PATH + wxT("image") + wxFILE_SEP_PATH + wxT("thumbnail.png");
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
165 int n = m_cachefiles.GetCount();
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
166 if ( n < 6 ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
167 while ( n < 6 ) {
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
168 m_cachefiles.Add( thumb );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
169 n++;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
170 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
171 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
172
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
173 wxBitmap bmp;
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
174 bmp.LoadFile( m_cachefiles[0], wxBITMAP_TYPE_PNG ); m_bitmap0->SetBitmap( bmp );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
175 bmp.LoadFile( m_cachefiles[1], wxBITMAP_TYPE_PNG ); m_bitmap1->SetBitmap( bmp );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
176 bmp.LoadFile( m_cachefiles[2], wxBITMAP_TYPE_PNG ); m_bitmap2->SetBitmap( bmp );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
177 bmp.LoadFile( m_cachefiles[3], wxBITMAP_TYPE_PNG ); m_bitmap3->SetBitmap( bmp );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
178 bmp.LoadFile( m_cachefiles[4], wxBITMAP_TYPE_PNG ); m_bitmap4->SetBitmap( bmp );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
179 bmp.LoadFile( m_cachefiles[5], wxBITMAP_TYPE_PNG ); m_bitmap5->SetBitmap( bmp );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
180 }
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
181 /* 画像クリックダブルで拡大表示 */
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
182 void ThumbnailPanel::OnDClick0( wxMouseEvent& WXUNUSED(event) ) { DoPreview( 0 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
183 void ThumbnailPanel::OnDClick1( wxMouseEvent& WXUNUSED(event) ) { DoPreview( 1 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
184 void ThumbnailPanel::OnDClick2( wxMouseEvent& WXUNUSED(event) ) { DoPreview( 2 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
185 void ThumbnailPanel::OnDClick3( wxMouseEvent& WXUNUSED(event) ) { DoPreview( 3 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
186 void ThumbnailPanel::OnDClick4( wxMouseEvent& WXUNUSED(event) ) { DoPreview( 4 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
187 void ThumbnailPanel::OnDClick5( wxMouseEvent& WXUNUSED(event) ) { DoPreview( 5 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
188 void ThumbnailPanel::DoPreview( int n )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
189 {
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
190 if ( m_imagefiles.GetCount() < n + 1 ) return;
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
191
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
192 PreviewDialog* pd = new PreviewDialog( this, wxID_ANY, wxT("プレビュー"), wxDefaultPosition, wxDefaultSize, wxCAPTION|wxFRAME_NO_TASKBAR );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
193 pd->Show();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
194 pd->Maximize( true );
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
195 pd->SetFiles( m_imagefiles, m_cachefiles );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
196 pd->SetPreviewImage( n );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
197 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
198
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
199 ///////////////////////////////////////////////////////////////
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
200 // メインフレーム
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
201 #define WINL_W 480
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
202 #define LOGO_W 200
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
203 #define LOGO_H 92
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
204
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
205 // resources
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
206 #if !defined(__WXMSW__) && !defined(__WXPM__)
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
207 #include "sample.xpm"
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
208 #endif
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
209
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
210 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
211 : wxFrame( parent, id, title, pos, size, style )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
212 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
213 this->SetSizeHints( wxSize( WINL_W, 500 ), wxDefaultSize );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
214 //this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_ACTIVEBORDER ) );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
215 this->SetBackgroundColour( wxColour(wxT("WHEAT")) );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
216
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
217 // set the frame icon
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
218 SetIcon(wxICON(sample));
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
219
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
220 // メニューバー Menu
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
221 m_menubar = new wxMenuBar( 0 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
222 m_menuFile = new wxMenu();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
223
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
224 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
225 m_menuFile->Append( m_menuItemBPrintMode );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
226
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
227 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
228 m_menuFile->Append( m_menuItemIndex );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
229
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
230 wxMenuItem* m_menuItemCache = new wxMenuItem( m_menuFile, ID_MNCACHE, wxString( wxT("キャッシュ\tF9") ) , wxT("Make cache"), wxITEM_NORMAL );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
231 m_menuFile->Append( m_menuItemCache );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
232
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
233 m_menuFile->AppendSeparator(); // ----
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
234
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
235 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
236 m_menuFile->Append( m_menuItemBkup );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
237
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
238 // params
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
239 m_menuParam = new wxMenu();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
240 wxMenuItem* m_menuItemMask = new wxMenuItem( m_menuParam, ID_MNMASKPARAM, wxString( wxT("マスク(&M)") ) , wxT("Setup mask parameters"), wxITEM_NORMAL );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
241 m_menuParam->Append( m_menuItemMask );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
242
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
243 wxMenuItem* m_menuItemMark = new wxMenuItem( m_menuParam, ID_MNMARKPARAM, wxString( wxT("マークシート(&S)") ) , wxT("Setup marksheet parameters"), wxITEM_NORMAL );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
244 m_menuParam->Append( m_menuItemMark );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
245
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
246 m_menuFile->Append( -1, wxT("パラメータ(&P)"), m_menuParam );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
247
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
248 //
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
249 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
250 m_menuFile->Append( m_menuItemAppDir );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
251
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
252 m_menuFile->AppendSeparator(); // ----
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
253
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
254 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
255 m_menuFile->Append( m_menuItemAbout );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
256
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
257 m_menubar->Append( m_menuFile, wxT("ファイル(&F)") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
258
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
259 this->SetMenuBar( m_menubar );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
260
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
261 //
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
262 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
263
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
264 m_panelMain = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
265
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
266 wxBoxSizer* bSizerMain = new wxBoxSizer( wxVERTICAL );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
267
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
268 wxString logo = wxGetCwd() + wxFILE_SEP_PATH + wxT("image") + wxFILE_SEP_PATH + wxT("logo.png");
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
269 wxBitmap bmp = wxBitmap( logo, wxBITMAP_TYPE_PNG );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
270 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
271 bSizerMain->Add( m_bitmap, 0, wxALL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
272
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
273 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
274 bSizerMain->Add( m_textCtrlName, 0, wxALL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
275
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
276 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
277 bSizerMain->Add( m_textCtrlAddr, 0, wxALL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
278
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
279 m_listCtrl = new wxListCtrl( m_panelMain, ID_LIST, wxDefaultPosition, wxDefaultSize, wxLC_REPORT );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
280 wxListItem itemCol;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
281 itemCol.SetText( wxT("通番") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
282 m_listCtrl->InsertColumn( 0, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
283 m_listCtrl->SetColumnWidth( 0, 50 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
284 itemCol.SetText( wxT("年月日") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
285 m_listCtrl->InsertColumn( 1, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
286 m_listCtrl->SetColumnWidth( 1, 80 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
287 itemCol.SetText( wxT("場所") );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
288 m_listCtrl->InsertColumn( 2, itemCol );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
289 m_listCtrl->SetColumnWidth( 2, 300 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
290 bSizerMain->Add( m_listCtrl, 1, wxRIGHT|wxLEFT|wxBOTTOM|wxEXPAND, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
291
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
292 m_thumbPanel = new ThumbnailPanel( m_panelMain, wxID_ANY, wxDefaultPosition, wxSize( -1, 100 ), wxSUNKEN_BORDER );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
293 bSizerMain->Add( m_thumbPanel, 0, wxRIGHT|wxLEFT|wxBOTTOM|wxEXPAND, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
294
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
295 //
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
296 wxBoxSizer* bSizerCmd = new wxBoxSizer( wxHORIZONTAL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
297
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
298 m_staticText = new wxStaticText( m_panelMain, wxID_ANY, wxT("コマンド?"), wxDefaultPosition, wxDefaultSize, 0 );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
299 bSizerCmd->Add( m_staticText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
300
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
301 m_searchBox = new MySearchBox( m_panelMain, ID_SEARCH, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
302 m_searchBox->SetJudgedHhs( GetJudgedHhsNo() );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
303 #ifndef __WXMAC__
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
304 m_searchBox->ShowSearchButton( true );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
305 #endif
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
306 m_searchBox->ShowCancelButton( false );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
307 m_searchBox->SetFocus();
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
308 bSizerCmd->Add( m_searchBox, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
309
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
310 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
311 bSizerCmd->Add( m_buttonKana, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 20 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
312
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
313 m_buttonHist = new wxButton( m_panelMain, ID_HIST, wxT("検索履歴"), wxDefaultPosition, wxSize( 65, -1 ), 0 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
314 bSizerCmd->Add( m_buttonHist, 0, wxALL, 5 );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
315
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
316 //
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
317 bSizerMain->Add( bSizerCmd, 0, wxEXPAND, 5 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
318
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
319 m_panelMain->SetSizer( bSizerMain );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
320 m_panelMain->Layout();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
321 bSizerMain->Fit( m_panelMain );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
322 bSizerTop->Add( m_panelMain, 1, wxEXPAND|wxALL, 5 );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
323
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
324 //
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
325 this->SetSizer( bSizerTop );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
326 this->Layout();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
327
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
328 // ステータスバー Statusbar
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
329 m_statusBar = new wxStatusBar( this, wxID_ANY, wxST_SIZEGRIP );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
330 int widths[] = { 200, -1, 10, 90 };
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
331 m_statusBar->SetFieldsCount( 4, widths );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
332 this->SetStatusBar( m_statusBar );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
333 SetStatusText( wxT("被保番を入力してスタート!") );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
334
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
335 this->Centre( wxBOTH );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
336 LoadParam();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
337 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
338
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
339 MyFrame::~MyFrame()
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
340 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
341 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
342
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
343 // Event Table
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
344 BEGIN_EVENT_TABLE( MyFrame, wxFrame )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
345 EVT_MENU( ID_MNABOUT, MyFrame::OnAbout )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
346 EVT_MENU( wxID_EXIT, MyFrame::OnQuit )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
347 EVT_MENU( ID_MNBPNT, MyFrame::OnBPrintMode )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
348 EVT_MENU( ID_MNINDEX, MyFrame::OnIndex )
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
349 EVT_MENU( ID_MNCACHE, MyFrame::OnCache )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
350 EVT_MENU( ID_MNDBBKUP, MyFrame::OnDBBackup )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
351 EVT_MENU( ID_MNMASKPARAM, MyFrame::OnMaskParam )
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
352 EVT_MENU( ID_MNMARKPARAM, MyFrame::OnMarkParam )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
353 EVT_MENU( ID_MNAPPDIR, MyFrame::OnOpenAppDir )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
354 EVT_LIST_ITEM_SELECTED( ID_LIST, MyFrame::OnSelectItem )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
355 EVT_LIST_ITEM_ACTIVATED( ID_LIST, MyFrame::OnDClickItem )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
356 EVT_BUTTON( ID_KANA, MyFrame::OnKana )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
357 EVT_BUTTON( ID_HIST, MyFrame::OnHistory )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
358 EVT_TEXT_ENTER( ID_SEARCH, MyFrame::OnCommand )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
359 EVT_SIZE( MyFrame::OnWinSize )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
360 EVT_MOVE( MyFrame::OnWinMove )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
361 EVT_CLOSE( MyFrame::SaveConfig )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
362 END_EVENT_TABLE()
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
363
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
364 // Event Handlers & Functions
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
365 /* エンターキーフック */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
366 void MyFrame::OnCommand( wxCommandEvent& event )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
367 {
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
368 wxString s = m_searchBox->GetLineText(0);
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
369
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
370 if ( s.IsSameAs( wxT(".") ) ) {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
371 OpenAppDir();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
372 return;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
373 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
374
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
375 if ( s.IsSameAs( wxT("99") ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
376 Close();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
377 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
378 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
379
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
380 if ( s.IsSameAs( wxT("+") ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
381 PrintImages( m_hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
382 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
383 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
384
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
385 wxRegEx reHhs( wxT("^0[1238][0-9]{8}$") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
386 if ( reHhs.Matches( s ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
387 m_hhsno = s;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
388 UpdateList( m_hhsno );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
389 UpdateThumbmail( 0 );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
390 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
391 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
392
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
393 wxRegEx reNo( wxT("^[0-9]{1,2}$") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
394 if ( reNo.Matches( s ) ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
395 long n;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
396 s.ToLong( &n, 10 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
397 n--;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
398 OpenHhsDir( (int)n );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
399 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
400 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
401
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
402 SetStatusMessage( wxT("不適切な入力です."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
403 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
404
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
405 event.Skip();
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
406 }
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
407 /* パラメータを設定ファイルから読み込む */
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
408 void MyFrame::LoadParam( void )
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
409 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
410 conf_file = wxGetCwd() + wxFILE_SEP_PATH + wxT("app.conf");
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
411 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
412
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
413 int x, y, w, h;
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
414
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
415 config->SetPath( wxT("/Mask") );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
416
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
417 config->Read( wxT("x1"), &x );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
418 config->Read( wxT("y1"), &y );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
419 config->Read( wxT("w1"), &w );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
420 config->Read( wxT("h1"), &h );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
421 m_mask1.SetPosition( wxPoint( x, y ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
422 m_mask1.SetSize( wxSize( w, h ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
423
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
424 config->Read( wxT("x2"), &x );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
425 config->Read( wxT("y2"), &y );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
426 config->Read( wxT("w2"), &w );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
427 config->Read( wxT("h2"), &h );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
428 m_mask2.SetPosition( wxPoint( x, y ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
429 m_mask2.SetSize( wxSize( w, h ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
430
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
431 config->Read( wxT("x3"), &x );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
432 config->Read( wxT("y3"), &y );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
433 config->Read( wxT("w3"), &w );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
434 config->Read( wxT("h3"), &h );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
435 m_mask3.SetPosition( wxPoint( x, y ) );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
436 m_mask3.SetSize( wxSize( w, h ) );
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->Read( wxT("x1o"), &x );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
439 config->Read( wxT("y1o"), &y );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
440 config->Read( wxT("w1o"), &w );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
441 config->Read( wxT("h1o"), &h );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
442 m_mask1old.SetPosition( wxPoint( x, y ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
443 m_mask1old.SetSize( wxSize( w, h ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
444
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
445 config->Read( wxT("x2o"), &x );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
446 config->Read( wxT("y2o"), &y );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
447 config->Read( wxT("w2o"), &w );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
448 config->Read( wxT("h2o"), &h );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
449 m_mask2old.SetPosition( wxPoint( x, y ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
450 m_mask2old.SetSize( wxSize( w, h ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
451
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
452 config->Read( wxT("x3o"), &x );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
453 config->Read( wxT("y3o"), &y );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
454 config->Read( wxT("w3o"), &w );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
455 config->Read( wxT("h3o"), &h );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
456 m_mask3old.SetPosition( wxPoint( x, y ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
457 m_mask3old.SetSize( wxSize( w, h ) );
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
458
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
459 //
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
460 config->SetPath( wxT("/Marksheet") );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
461
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
462 config->Read( wxT("lmin"), &lmin );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
463 config->Read( wxT("lmax"), &lmax );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
464 config->Read( wxT("zmin"), &zmin );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
465 config->Read( wxT("zmax"), &zmax );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
466
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
467 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
468 /* 印刷 */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
469 void MyFrame::PrintImages( wxString hhsno )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
470 {
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
471 bool mask_flag = false;
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
472 wxMessageDialog md( this, wxT("マスクしますか?"), wxT("印刷オプション"), wxYES_NO, wxDefaultPosition );
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
473 if ( md.ShowModal() == wxID_YES ) {
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
474 mask_flag = true;
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
475 }
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
476
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
477 // 印刷用の html を作成
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
478 wxArrayString path = GetPathByHhsNo( hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
479 if ( path.IsEmpty() ) return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
480
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
481 wxDir dir( path[0] );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
482 if ( !dir.IsOpened() ) return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
483
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
484 wxString html;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
485 html = html + wxT("<html><body>\n");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
486
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
487 wxString file;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
488 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
489 bool notyet_mask = true;
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
490 int n = 0;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
491 wxString tmpdir = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
492 while ( cout ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
493 file = path[0] + wxFILE_SEP_PATH + file;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
494 file.Replace( wxFILE_SEP_PATH, wxT("/") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
495 wxString tmpjpg = wxString::Format( wxT("%stmp%d.jpg"), tmpdir, n );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
496
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
497 if ( notyet_mask && IsMarksheet( file, zmin, zmax, lmin, lmax ) ) { // マークシート表面をマスクする
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
498 wxImage img_org( file, wxBITMAP_TYPE_JPEG );
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
499 if ( mask_flag ) {
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
500 int ver = GetMarksheetVersion( file );
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
501 if ( ver == 2 ) {
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
502 img_org.SetRGB( m_mask1, 255, 255, 255 ); // cm name
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
503 img_org.SetRGB( m_mask2, 255, 255, 255 ); // cm no.
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
504 img_org.SetRGB( m_mask3, 255, 255, 255 ); // barcode
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
505 }
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
506 else { // 古いマークシート ver == 1
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
507 img_org.SetRGB( m_mask1old, 255, 255, 255 ); // cm name
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
508 img_org.SetRGB( m_mask2old, 255, 255, 255 ); // cm no.
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
509 img_org.SetRGB( m_mask3old, 255, 255, 255 ); // barcode
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
510 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
511 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
512 img_org.SaveFile( tmpjpg );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
513 notyet_mask = false;
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
514 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
515 else {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
516 wxCopyFile( file, tmpjpg, true );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
517 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
518 html = html + wxT("<img src=\"") + tmpjpg + wxT("\" width=\"750\" height=\"1060\"/>");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
519 cout = dir.GetNext( &file );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
520 n++;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
521 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
522 html = html + wxT("</body></html>");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
523
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
524 // start printing
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
525 wxHtmlPrintout hpout( wxT("Searcher03") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
526 hpout.SetMargins( 0, 0, 0, 0, 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
527 wxPrintDialogData pd;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
528 wxPrinter p( &pd );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
529
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
530 hpout.SetHtmlText( html, wxEmptyString, false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
531 p.Print( NULL, &hpout, true );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
532
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
533 // end
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
534 SetStatusMessage( wxT("被保番かフォルダ番号を."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
535 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
536 /* 一括印刷モード */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
537 void MyFrame::OnBPrintMode( wxCommandEvent& WXUNUSED(event) )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
538 {
8
4967d1e2b30c Alert when not mask in batch print mode.
pyon@macmini
parents: 7
diff changeset
539 FrameBatchPrint* bp = new FrameBatchPrint( this, wxID_ANY, wxT("一括印刷"), wxDefaultPosition, wxSize( 700, 600 ), wxCAPTION|wxFRAME_NO_TASKBAR );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
540 bp->SetMask1( m_mask1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
541 bp->SetMask2( m_mask2 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
542 bp->SetMask3( m_mask3 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
543 bp->SetMask1Old( m_mask1old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
544 bp->SetMask2Old( m_mask2old );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
545 bp->SetMask3Old( m_mask3old );
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
546 bp->SetMark( lmin, lmax, zmin, zmax );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
547 bp->Show( true );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
548 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
549 /* インデックス作成ダイアログ */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
550 void MyFrame::OnIndex( wxCommandEvent& WXUNUSED(event) )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
551 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
552 wxString rootdir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
553 config->SetPath( wxT("/Index") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
554 config->Read( wxT("rootdir"), &rootdir );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
555
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
556 IndexDialog* index = new IndexDialog( this, wxID_ANY, wxT("インデックス作成"), wxDefaultPosition, wxSize( 700, 600 ), wxDEFAULT_DIALOG_STYLE|wxSTAY_ON_TOP );
8
4967d1e2b30c Alert when not mask in batch print mode.
pyon@macmini
parents: 7
diff changeset
557 index->SetRootdir( rootdir );
7
7ac7d28699af Display DB update day.
pyon@macmini
parents: 5
diff changeset
558 index->ShowModal();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
559 }
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
560 /* キャッシュ作成ダイアログ */
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
561 void MyFrame::OnCache( wxCommandEvent& WXUNUSED(event) )
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
562 {
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
563 wxString rootdir;
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
564 config->SetPath( wxT("/Index") );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
565 config->Read( wxT("rootdir"), &rootdir );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
566
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
567 CacheDialog* cache = new CacheDialog( this, wxID_ANY, wxT("キャッシュ作成"), wxDefaultPosition, wxDefaultSize, wxCAPTION|wxSTAY_ON_TOP );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
568 cache->Setting( rootdir, THUMB_W, THUMB_H );
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
569 cache->ShowModal();
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
570 }
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
571 /* マークシートパラメータ設定ダイアログ */
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
572 void MyFrame::OnMarkParam( wxCommandEvent& WXUNUSED(event) )
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
573 {
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
574 SetParams( 2 );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
575 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
576 /* マスクパラメータ設定ダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
577 void MyFrame::OnMaskParam( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
578 {
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
579 SetParams( 0 );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
580 }
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
581 /* 設定を保存 */
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
582 void MyFrame::SetParams( int tab )
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
583 {
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
584 ParamDialog* param = new ParamDialog( this, wxID_ANY, wxT("各種パラメータの指定"), wxDefaultPosition, wxSize( 350, 250 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
585 param->SetMask1( m_mask1 );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
586 param->SetMask2( m_mask2 );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
587 param->SetMask3( m_mask3 );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
588 param->SetMask1Old( m_mask1old );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
589 param->SetMask2Old( m_mask2old );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
590 param->SetMask3Old( m_mask3old );
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
591 param->SetMark( lmin, lmax, zmin, zmax );
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
592 param->LoadParams();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
593 param->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
594 param->SelectTAb( tab );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
595
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
596 if ( param->ShowModal() == wxID_OK ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
597 m_mask1 = param->GetMask1();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
598 m_mask2 = param->GetMask2();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
599 m_mask3 = param->GetMask3();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
600 m_mask1old = param->GetMask1Old();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
601 m_mask2old = param->GetMask2Old();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
602 m_mask3old = param->GetMask3Old();
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
603 lmin = param->GetLmin();
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
604 lmax = param->GetLmax();
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
605 zmin = param->GetZmin();
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
606 zmax = param->GetZmax();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
607
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
608 config->SetPath( wxT("/Mask") );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
609
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
610 config->Write( wxT("x1"), m_mask1.GetX() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
611 config->Write( wxT("y1"), m_mask1.GetY() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
612 config->Write( wxT("w1"), m_mask1.GetWidth() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
613 config->Write( wxT("h1"), m_mask1.GetHeight() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
614
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
615 config->Write( wxT("x2"), m_mask2.GetX() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
616 config->Write( wxT("y2"), m_mask2.GetY() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
617 config->Write( wxT("w2"), m_mask2.GetWidth() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
618 config->Write( wxT("h2"), m_mask2.GetHeight() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
619
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
620 config->Write( wxT("x3"), m_mask3.GetX() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
621 config->Write( wxT("y3"), m_mask3.GetY() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
622 config->Write( wxT("w3"), m_mask3.GetWidth() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
623 config->Write( wxT("h3"), m_mask3.GetHeight() );
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
624
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
625 config->Write( wxT("x1o"), m_mask1old.GetX() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
626 config->Write( wxT("y1o"), m_mask1old.GetY() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
627 config->Write( wxT("w1o"), m_mask1old.GetWidth() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
628 config->Write( wxT("h1o"), m_mask1old.GetHeight() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
629
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
630 config->Write( wxT("x2o"), m_mask2old.GetX() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
631 config->Write( wxT("y2o"), m_mask2old.GetY() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
632 config->Write( wxT("w2o"), m_mask2old.GetWidth() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
633 config->Write( wxT("h2o"), m_mask2old.GetHeight() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
634
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
635 config->Write( wxT("x3o"), m_mask3old.GetX() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
636 config->Write( wxT("y3o"), m_mask3old.GetY() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
637 config->Write( wxT("w3o"), m_mask3old.GetWidth() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
638 config->Write( wxT("h3o"), m_mask3old.GetHeight() );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
639
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
640 config->SetPath( wxT("/Marksheet") );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
641
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
642 config->Write( wxT("lmin"), lmin );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
643 config->Write( wxT("lmax"), lmax );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
644 config->Write( wxT("zmin"), zmin );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
645 config->Write( wxT("zmax"), zmax );
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
646
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
647 config->Flush( false );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
648 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
649 }
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
650 /* データベースファイルのバックアップ */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
651 void MyFrame::OnDBBackup( wxCommandEvent& WXUNUSED(event) )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
652 {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
653 wxDateTime now = wxDateTime::Now();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
654 wxString str = now.Format( wxT("%Y%m%d%H%M%S") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
655
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
656 wxString org, bk;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
657 wxString dbdir = wxGetCwd() + wxFILE_SEP_PATH + wxT("db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
658
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
659 org = dbdir + wxFILE_SEP_PATH + wxT("hhs.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
660 bk = dbdir + wxFILE_SEP_PATH + str + wxT("_hhs.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
661 wxCopyFile( org, bk, false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
662
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
663 org = dbdir + wxFILE_SEP_PATH + wxT("ccn.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
664 bk = dbdir + wxFILE_SEP_PATH + str + wxT("_ccn.db");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
665 wxCopyFile( org, bk, false );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
666
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
667 wxMessageBox( wxT("バックアップ終了.") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
668 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
669 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
670 /* アプリフォルダを開く */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
671 void MyFrame::OnOpenAppDir( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
672 {
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
673 OpenAppDir();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
674 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
675 void MyFrame::OpenAppDir( )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
676 {
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
677 wxString appdir = wxGetCwd();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
678 wxString execmd = wxT("explorer ") + appdir;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
679 wxExecute( execmd );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
680 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
681 /* 被保険者フォルダを開く */
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
682 void MyFrame::OnDClickItem( wxListEvent& event )
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
683 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
684 int i = event.GetIndex();
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
685 OpenHhsDir( i );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
686 UpdateThumbmail( i );
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
687 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
688 /* 番号で指定したフォルダを開く */
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
689 void MyFrame::OpenHhsDir( int n )
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
690 {
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
691 wxListItem item;
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
692 item.SetId( n );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
693 item.SetColumn( 2 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
694 item.SetMask( wxLIST_MASK_TEXT );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
695 m_listCtrl->GetItem( item );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
696 wxString dir = item.GetText();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
697 wxString execmd = wxT("explorer ") + dir;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
698 wxExecute( execmd );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
699 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
700
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
701 /* カナ検索ダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
702 void MyFrame::OnKana( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
703 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
704 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
705 kana->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
706
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
707 if ( kana->ShowModal() == wxID_OK ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
708 m_hhsno = kana->GetHhsNo();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
709 UpdateList( m_hhsno );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
710 UpdateThumbmail( 0 );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
711 }
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
712 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
713 /* 検索履歴検索ダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
714 void MyFrame::OnHistory( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
715 {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
716 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
717 hist->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
718
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
719 if ( hist->ShowModal() == wxID_OK ) {
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
720 m_hhsno = hist->GetHhsNo();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
721 UpdateList( m_hhsno );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
722 UpdateThumbmail( 0 );
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
723 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
724 }
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
725
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
726 /* 検索結果をリストアップ */
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
727 void MyFrame::UpdateList( wxString hhsno )
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
728 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
729 m_listCtrl->DeleteAllItems();
2
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
730 for ( int i = 0; i < m_statusBar->GetFieldsCount(); i++ ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
731 SetStatusMessage( wxEmptyString, i );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
732 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
733
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
734 //
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
735 wxArrayString s = wxSplit( GetHhsInfoByHhsNo( hhsno ), '_', '\\' );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
736 wxString history;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
737 if ( s.IsEmpty() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
738 SetStatusMessage( wxT("データベースに存在しない被保険者です."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
739 history = hhsno + wxT("###");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
740 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
741 else {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
742 m_textCtrlName->SetValue( s[0] );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
743 m_textCtrlAddr->SetValue( s[1] );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
744 history = hhsno + wxT("#") + s[0] + wxT("#") + s[1] + wxT("#");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
745 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
746 m_searchBox->SetValue( hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
747 m_searchBox->SelectAll();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
748 m_searchBox->SetFocus();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
749
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
750 wxArrayString path = GetPathByHhsNo( hhsno );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
751 if ( path.IsEmpty() ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
752 SetStatusMessage( wxT("審査会履歴がありません."), 1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
753 return;
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
754 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
755
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
756 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
757 for ( int i = 0; i < path.GetCount(); i++ ) {
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
758 wxString date = path[i];
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
759 reDate.ReplaceAll( &date, wxT("\\2-\\3-\\4") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
760
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
761 m_listCtrl->InsertItem( i, -1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
762 m_listCtrl->SetItem( i, 0,wxString::Format( wxT("%d"), i + 1 ) , -1 ); // No
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
763 m_listCtrl->SetItem( i, 1, date, -1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
764 m_listCtrl->SetItem( i, 2, path[i], -1 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
765
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
766 if ( i % 2 ) m_listCtrl->SetItemBackgroundColour( i, wxColour( wxT("WHEAT") ) );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
767 }
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
768
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
769 SetStatusMessage( wxT("「+」キーで通番1を印刷."), 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
770
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
771 //
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
772 wxString filename = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("history");
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
773 wxDateTime now = wxDateTime::Now();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
774 history = history + now.Format( wxT("%Y-%m-%d %H:%M:%S") );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
775
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
776 wxTextFile hist( filename );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
777 hist.Open();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
778 hist.RemoveLine( 20 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
779 hist.InsertLine( history, 0 );
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
780 hist.Write();
c066fde99517 Added Batch Print Mode.
pyon@macmini
parents: 1
diff changeset
781 hist.Close();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
782 }
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
783 /* フォルダを選択したとき */
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
784 void MyFrame::OnSelectItem( wxListEvent& event )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
785 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
786 UpdateThumbmail( event.GetIndex() );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
787 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
788 /* サムネイルを更新 */
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
789 void MyFrame::UpdateThumbmail( int n )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
790 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
791 wxListItem item;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
792 item.SetId( n );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
793
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
794 item.SetColumn( 2 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
795 item.SetMask( wxLIST_MASK_TEXT );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
796 m_listCtrl->GetItem( item );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
797
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
798 m_thumbPanel->SetCacheImages( item.GetText() );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
799 }
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
800 /* ステータスバーにメッセージを出力 */
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
801 void MyFrame::SetStatusMessage( wxString msg, long n )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
802 {
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
803 if ( GetStatusBar() )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
804 SetStatusText( msg, n );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
805 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
806
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
807 /* サイズ変更 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
808 void MyFrame::OnWinSize( wxSizeEvent& event )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
809 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
810 this->Refresh( true, NULL );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
811 TellLocation();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
812 event.Skip();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
813 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
814 /* ウィンドウ移動 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
815 void MyFrame::OnWinMove( wxMoveEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
816 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
817 TellLocation();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
818 return;
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
819 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
820 /* ウィンドウ位置とサイズを表示 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
821 void MyFrame::TellLocation( void )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
822 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
823 wxRect r = this->GetRect();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
824 int x = r.GetX();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
825 int y = r.GetY();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
826 int w = r.GetWidth();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
827 int h = r.GetHeight();
1
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
828
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
829 if ( GetStatusBar() )
7b6dab24f4b8 Gui parts complete.
pyon@macmini
parents: 0
diff changeset
830 SetStatusText( wxString::Format(wxT( "(%d,%d) %dx%d"),x,y,w,h ), 3 );
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
831 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
832 /* 終了 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
833 void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
834 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
835 Close( true );
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
836 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
837 /* 設定を保存 */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
838 void MyFrame::SaveConfig( wxCloseEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
839 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
840 if ( !IsIconized() && !IsMaximized() ) {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
841 wxGetApp().rect = this->GetRect();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
842 }
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents: 8
diff changeset
843 delete config;
0
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
844 Destroy();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
845 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
846 /* アバウトダイアログ */
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
847 void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) )
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
848 {
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
849 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
850 aboutDlg->ShowModal();
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
851 }
0c0701a935f8 Start Development.
pyon@macmini
parents:
diff changeset
852