# HG changeset patch # User pyon@macmini # Date 1377597000 -32400 # Node ID 1a64119ab257ca712ce4204723e4a97307bcf170 # Parent c066fde99517bd85f41e21d8eaad915ecd70343b Equipment Regist print-target by Drag & Drop. diff -r c066fde99517 -r 1a64119ab257 Changes --- a/Changes Fri Aug 23 18:32:09 2013 +0900 +++ b/Changes Tue Aug 27 18:50:00 2013 +0900 @@ -1,3 +1,8 @@ +version 03.04 +2013-08-27 + Regist print targets by Drag & Drop. + +---- version 03.03 2013-08-23 Added Batch Print Mode. diff -r c066fde99517 -r 1a64119ab257 Makefile --- a/Makefile Fri Aug 23 18:32:09 2013 +0900 +++ b/Makefile Tue Aug 27 18:50:00 2013 +0900 @@ -1,5 +1,5 @@ # Makefile for wxWidgets Application -# Last Change: 23-Aug-2013. +# Last Change: 27-Aug-2013. # by Takayuki Mutoh # @@ -83,7 +83,7 @@ $(OBJDIR)/mask.o: mask.cpp mask.h common.h $(CXX) -c $< -o $@ $(CXXFLAGS) -$(OBJDIR)/bprint.o: bprint.cpp bprint.h marksheet.h common.h +$(OBJDIR)/bprint.o: bprint.cpp bprint.h marksheet.h common.h dndfile.h $(CXX) -c $< -o $@ $(CXXFLAGS) $(OBJDIR)/db.o: db.cpp db.h common.h diff -r c066fde99517 -r 1a64119ab257 TODO diff -r c066fde99517 -r 1a64119ab257 image/logo.png diff -r c066fde99517 -r 1a64119ab257 image/sample.ico diff -r c066fde99517 -r 1a64119ab257 image/sample.xpm diff -r c066fde99517 -r 1a64119ab257 image/samplea.xpm diff -r c066fde99517 -r 1a64119ab257 image/takashi.png diff -r c066fde99517 -r 1a64119ab257 include/about.h diff -r c066fde99517 -r 1a64119ab257 include/bprint.h diff -r c066fde99517 -r 1a64119ab257 include/common.h diff -r c066fde99517 -r 1a64119ab257 include/db.h diff -r c066fde99517 -r 1a64119ab257 include/dndfile.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/dndfile.h Tue Aug 27 18:50:00 2013 +0900 @@ -0,0 +1,53 @@ +// Filename : dndfile.h +// Last Change: 27-Aug-2013. +// + +#include "db.h" + +class DnDFile : public wxFileDropTarget +{ + public: + DnDFile( wxGrid *grid ) + { + m_grid = grid; + } + virtual bool OnDropFiles( wxCoord x, wxCoord y, const wxArrayString& filenames ) + { + size_t nFiles = filenames.GetCount(); + if ( nFiles != 1 ) return false; + + m_grid->ClearGrid(); + wxTextFile csv; + csv.Open( filenames[0] ); + + int d = csv.GetLineCount() - m_grid->GetNumberRows(); + if ( d > 0 ) + m_grid->AppendRows( d, true ); + + wxRegEx reHhs( wxT("^0[1238][0-9]{8}$") ); + for ( int n = 0, j = 0; n < csv.GetLineCount(); n++ ) { + wxString hhsno = csv.GetLine( n ).BeforeFirst( ',', NULL ); + if ( ! reHhs.Matches( hhsno ) ) { + j++; + continue; + } + int r = n - j; + + wxArrayString info = wxSplit( GetHhsInfoByHhsNo( hhsno ), '_', '\\' ); + wxArrayString path = GetPathByHhsNo( hhsno ); + + if ( info.IsEmpty() ) info.Add( wxEmptyString ); + if ( path.IsEmpty() ) path.Add( wxEmptyString ); + + m_grid->SetCellValue( r, 0, hhsno ); + m_grid->SetCellValue( r, 1, info[0] ); + m_grid->SetCellValue( r, 2, path[0] ); + } + csv.Close(); + return true; + } + + private: + wxGrid* m_grid; +}; + diff -r c066fde99517 -r 1a64119ab257 include/hist.h diff -r c066fde99517 -r 1a64119ab257 include/index.h diff -r c066fde99517 -r 1a64119ab257 include/kana.h diff -r c066fde99517 -r 1a64119ab257 include/main.h diff -r c066fde99517 -r 1a64119ab257 include/marksheet.h diff -r c066fde99517 -r 1a64119ab257 include/mask.h diff -r c066fde99517 -r 1a64119ab257 include/myframe.h diff -r c066fde99517 -r 1a64119ab257 include/sqlite3.h diff -r c066fde99517 -r 1a64119ab257 info.plist.in diff -r c066fde99517 -r 1a64119ab257 sample.rc diff -r c066fde99517 -r 1a64119ab257 src/about.cpp diff -r c066fde99517 -r 1a64119ab257 src/bprint.cpp --- a/src/bprint.cpp Fri Aug 23 18:32:09 2013 +0900 +++ b/src/bprint.cpp Tue Aug 27 18:50:00 2013 +0900 @@ -1,9 +1,10 @@ // Filename : bprint.cpp -// Last Change: 23-Aug-2013. +// Last Change: 27-Aug-2013. // #include "bprint.h" #include "marksheet.h" +#include "dndfile.h" #include "db.h" FrameBatchPrint::FrameBatchPrint( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) @@ -36,6 +37,7 @@ m_grid->SetColSize( 1, 100 ); m_grid->SetColSize( 2, 220 ); m_grid->SetColSize( 3, 70 ); + m_grid->ShowScrollbars( wxSHOW_SB_NEVER, wxSHOW_SB_ALWAYS ); // Rows m_grid->EnableDragRowSize( true ); @@ -69,6 +71,7 @@ this->Centre( wxBOTH ); + this->SetDropTarget( new DnDFile( m_grid ) ); SetGridReadOnly(); } diff -r c066fde99517 -r 1a64119ab257 src/db.cpp diff -r c066fde99517 -r 1a64119ab257 src/hist.cpp diff -r c066fde99517 -r 1a64119ab257 src/index.cpp diff -r c066fde99517 -r 1a64119ab257 src/kana.cpp diff -r c066fde99517 -r 1a64119ab257 src/main.cpp diff -r c066fde99517 -r 1a64119ab257 src/marksheet.cpp diff -r c066fde99517 -r 1a64119ab257 src/mask.cpp diff -r c066fde99517 -r 1a64119ab257 src/myframe.cpp --- a/src/myframe.cpp Fri Aug 23 18:32:09 2013 +0900 +++ b/src/myframe.cpp Tue Aug 27 18:50:00 2013 +0900 @@ -1,5 +1,5 @@ // Filename : myframe.cpp -// Last Change: 23-Aug-2013. +// Last Change: 27-Aug-2013. // #include "main.h" #include "db.h" @@ -376,7 +376,7 @@ /* 一括印刷モード */ void MyFrame::OnBPrintMode( wxCommandEvent& WXUNUSED(event) ) { - FrameBatchPrint* bp = new FrameBatchPrint( this, wxID_ANY, wxT("一括印刷"), wxDefaultPosition, wxSize( 640, 500 ), wxCAPTION|wxFRAME_NO_TASKBAR ); + FrameBatchPrint* bp = new FrameBatchPrint( this, wxID_ANY, wxT("一括印刷"), wxDefaultPosition, wxSize( 680, 600 ), wxCAPTION|wxFRAME_NO_TASKBAR ); bp->SetMask1( m_mask1 ); bp->SetMask2( m_mask2 ); bp->SetMask3( m_mask3 ); diff -r c066fde99517 -r 1a64119ab257 src/wxsqlite3.cpp diff -r c066fde99517 -r 1a64119ab257 wxmac.icns