annotate include/dndfile.h @ 22:92188f60323d default tip

Implement Masking function on Preview Dialog.
author pyon@macmini
date Sat, 04 Apr 2015 17:23:46 +0900
parents bc2e2b304095
children
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
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
2 // Last Change: 2015-04-04 11:10:10.
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"
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
8 #include "wx/config.h"
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
9 #include "wx/fileconf.h"
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
10 #include "myframe.h"
3
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
11
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
12 class DnDFile : public wxFileDropTarget
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 public:
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
15 DnDFile( wxGrid *grid )
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
16 {
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
17 m_grid = grid;
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
18 }
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
19 virtual bool OnDropFiles( wxCoord x, wxCoord y, const wxArrayString& filenames )
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 size_t nFiles = filenames.GetCount();
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
22 if ( nFiles != 1 ) return false;
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
23
1a64119ab257 Equipment Regist print-target by Drag & Drop.
pyon@macmini
parents:
diff changeset
24 m_grid->ClearGrid();
4
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
25
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 wxTextFile csv;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
28 csv.Open( filenames[0] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
29
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
30 wxRegEx reHhs( wxT("^0[1238][0-9]{8}$") );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
31 wxArrayString hhs;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
32 for ( int n = 0; n < csv.GetLineCount(); n++ ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
33 wxString hhsno = csv.GetLine( n ).BeforeFirst( ',', NULL );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
34 if ( ! reHhs.Matches( hhsno ) )
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
35 continue;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
36 hhs.Add( hhsno );
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 csv.Close();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
39
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
40 //
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
41 int d = hhs.GetCount() - m_grid->GetNumberRows();
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
42 if ( d > 0 )
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
43 m_grid->AppendRows( d, true );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
44
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
45 // グリッドに情報を読込み
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
46 wxArrayString res = GetHhsInfoAndPathByHhsNoList( hhs );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
47 for ( int r = 0; r < res.GetCount(); r++ ) {
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
48 wxArrayString data = wxSplit( res[r], '_', '\\' );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
49 m_grid->SetCellValue( r, 0, data[0] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
50 m_grid->SetCellValue( r, 1, data[1] );
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
51 m_grid->SetCellValue( r, 2, data[2] );
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 return true;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
55 }
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 private:
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
58 wxGrid* m_grid;
fdba695b99f1 More fast ( read from DB ).
pyon@macmini
parents: 3
diff changeset
59 };
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
60
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
61 class DnDFile2 : public wxFileDropTarget
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
62 {
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
63 public:
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
64 DnDFile2( MyFrame *frame )
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
65 {
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
66 m_frame = frame;
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
67 }
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
68 virtual bool OnDropFiles( wxCoord x, wxCoord y, const wxArrayString& filenames )
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
69 {
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
70 size_t nFiles = filenames.GetCount();
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
71 if ( nFiles != 1 ) return false;
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
72
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
73 m_frame->ShowBPrintFrame( filenames[0] );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
74
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
75 return true;
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
76 }
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
77
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
78 private:
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
79 MyFrame* m_frame;
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
80 };
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
81
5
bc2e2b304095 Clean up code.
pyon@macmini
parents: 4
diff changeset
82 #endif //__DNDFILE_H__
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 5
diff changeset
83