annotate include/dndfile.h @ 5:bc2e2b304095

Clean up code.
author pyon@macmini
date Sat, 14 Sep 2013 08:54:47 +0900
parents fdba695b99f1
children 92188f60323d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
1 // Filename : dndfile.h
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
2 // Last Change: 12-Sep-2013.
3
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
3 //
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
4 #ifndef __DNDFILE_H__
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
5 #define __DNDFILE_H__
3
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
6
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
7 #include "db.h"
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
8
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
9 class DnDFile : public wxFileDropTarget
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
10 {
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
11 public:
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
12 DnDFile( wxGrid *grid )
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
13 {
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
14 m_grid = grid;
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
15 }
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
16 virtual bool OnDropFiles( wxCoord x, wxCoord y, const wxArrayString& filenames )
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
17 {
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
18 size_t nFiles = filenames.GetCount();
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
19 if ( nFiles != 1 ) return false;
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
20
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
21 m_grid->ClearGrid();
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
22
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
23 // ファイルから被保番リストを生成
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
24 wxTextFile csv;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
25 csv.Open( filenames[0] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
26
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
27 wxRegEx reHhs( wxT("^0[1238][0-9]{8}$") );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
28 wxArrayString hhs;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
29 for ( int n = 0; n < csv.GetLineCount(); n++ ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
30 wxString hhsno = csv.GetLine( n ).BeforeFirst( ',', NULL );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
31 if ( ! reHhs.Matches( hhsno ) )
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
32 continue;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
33 hhs.Add( hhsno );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
34 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
35 csv.Close();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
36
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
37 //
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
38 int d = hhs.GetCount() - m_grid->GetNumberRows();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
39 if ( d > 0 )
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
40 m_grid->AppendRows( d, true );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
41
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
42 // グリッドに情報を読込み
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
43 wxArrayString res = GetHhsInfoAndPathByHhsNoList( hhs );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
44 for ( int r = 0; r < res.GetCount(); r++ ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
45 wxArrayString data = wxSplit( res[r], '_', '\\' );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
46 m_grid->SetCellValue( r, 0, data[0] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
47 m_grid->SetCellValue( r, 1, data[1] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
48 m_grid->SetCellValue( r, 2, data[2] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
49 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
50
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
51 return true;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
52 }
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
53
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
54 private:
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
55 wxGrid* m_grid;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
56 };
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
57
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
58 #endif //__DNDFILE_H__