Mercurial > mercurial > hgweb_searcher2.cgi
comparison src/myframe.cpp @ 14:5ce7757b4350 v210
finish EasyPrint implement.
| author | pyon@macmini |
|---|---|
| date | Fri, 01 Jul 2011 20:11:47 +0900 |
| parents | 9452ed888d10 |
| children | b67c74848dd0 |
comparison
equal
deleted
inserted
replaced
| 12:9452ed888d10 | 14:5ce7757b4350 |
|---|---|
| 1 // Filename : mainframe.cpp | 1 // Filename : mainframe.cpp |
| 2 // Last Change: 24-Jun-2011. | 2 // Last Change: 01-Jul-2011. |
| 3 // | 3 // |
| 4 #include "wx/html/htmprint.h" | 4 #include "wx/html/htmprint.h" |
| 5 #include "wx/print.h" | 5 #include "wx/print.h" |
| 6 | 6 |
| 7 #include "symbol.h" | 7 #include "symbol.h" |
| 163 h->Show(true); | 163 h->Show(true); |
| 164 g->Show(false); | 164 g->Show(false); |
| 165 | 165 |
| 166 wxRegEx reHhs(wxT("^0[1238][0-9]{8}$")); // 1:被保番チェック | 166 wxRegEx reHhs(wxT("^0[1238][0-9]{8}$")); // 1:被保番チェック |
| 167 wxRegEx reCno(wxT("^[0-9]{1,2}$")); // 2:開くフォルダの番号 | 167 wxRegEx reCno(wxT("^[0-9]{1,2}$")); // 2:開くフォルダの番号 |
| 168 wxRegEx rePrint(wxT("^\\.[0-9]*$")); // 3:印刷するフォルダの番号 | 168 wxRegEx rePrint(wxT("^\\+$")); // 3:印刷するフォルダの番号 |
| 169 | 169 |
| 170 wxString cmd; | 170 wxString cmd; |
| 171 cmd = this->GetLineText(0); | 171 cmd = this->GetLineText(0); |
| 172 int cond = 0; | 172 int cond = 0; |
| 173 if ( reHhs.Matches( cmd ) ) | 173 if ( reHhs.Matches( cmd ) ) |
| 285 path.Shrink(); | 285 path.Shrink(); |
| 286 | 286 |
| 287 htmlbody += wxT("</table>"); | 287 htmlbody += wxT("</table>"); |
| 288 htmlbody += wxT("<br />"); | 288 htmlbody += wxT("<br />"); |
| 289 htmlbody += wxT("<div>"); | 289 htmlbody += wxT("<div>"); |
| 290 htmlbody += wxT("テンキーの「+」ボタンで番号1の画像を印刷できます.<br />"); | |
| 290 htmlbody += wxT("フォルダを開くには,番号を入力してください.<br />"); | 291 htmlbody += wxT("フォルダを開くには,番号を入力してください.<br />"); |
| 291 htmlbody += wxT("他の被保険者を検索するには,被保番を入力してください."); | 292 htmlbody += wxT("他の被保険者を検索するには,被保番を入力してください."); |
| 292 htmlbody += wxT("</div>"); | 293 htmlbody += wxT("</div>"); |
| 293 htmlbody += wxT("</body></html>"); | 294 htmlbody += wxT("</body></html>"); |
| 294 | 295 |
| 380 } | 381 } |
| 381 | 382 |
| 382 // functions | 383 // functions |
| 383 void MyCmdBox::PrintImages( wxString& path ) | 384 void MyCmdBox::PrintImages( wxString& path ) |
| 384 { | 385 { |
| 385 wxHtmlPrintout* hpout = new wxHtmlPrintout( wxT("Searcher2") ); | 386 wxHtmlPrintout hpout( wxT("Searcher2") ); |
| 386 hpout->SetMargins( 0,0,0,0,0 ); | 387 hpout.SetMargins( 0,0,0,0,0 ); |
| 387 wxPrintDialogData* pd; | 388 wxPrintDialogData pd; |
| 388 wxPrinter* p = new wxPrinter( pd ); | 389 wxPrinter p( &pd ); |
| 389 | 390 |
| 390 wxDir dir(path); | 391 wxDir dir(path); |
| 391 wxString file; | 392 wxString file; |
| 392 if ( !dir.IsOpened() ) return; | 393 if ( !dir.IsOpened() ) return; |
| 393 | 394 |
| 394 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); | 395 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); |
| 396 bool mask_flg = true; | |
| 397 wxRect cmname( wxPoint(156,224), wxSize(1204,122) ); | |
| 398 wxRect cmno( wxPoint(856,1024), wxSize(1060,598) ); | |
| 395 while ( cout ) { | 399 while ( cout ) { |
| 396 file = path + wxFILE_SEP_PATH + file; | 400 file = path + wxFILE_SEP_PATH + file; |
| 397 file.Replace( wxT("\\"), wxT("/") ); | 401 file.Replace( wxT("\\"), wxT("/") ); |
| 398 wxString html; | 402 wxString html; |
| 399 html = html + wxT("<html><body>"); | |
| 400 html = html + wxT("<img src=\"") + file + wxT("\" width=\"750\" height=\"1060\"/>"); | |
| 401 html = html + wxT("</body></html>"); | |
| 402 | 403 |
| 403 hpout->SetHtmlText( html, wxEmptyString, false ); | 404 if ( mask_flg ) { // 1枚目はマスクする |
| 404 p->Print( NULL, hpout, false ); | 405 wxImage img_org( file, wxBITMAP_TYPE_JPEG ); |
| 406 img_org.SetRGB( cmname, 255, 255, 255 ); | |
| 407 img_org.SetRGB( cmno, 255, 255, 255 ); | |
| 408 img_org.SaveFile( wxT("tmp/tmp.jpg") ); | |
| 409 | |
| 410 html = html + wxT("<html><body>"); | |
| 411 html = html + wxT("<img src=\"tmp/tmp.jpg\" width=\"750\" height=\"1060\"/>"); | |
| 412 html = html + wxT("</body></html>"); | |
| 413 hpout.SetHtmlText( html, wxEmptyString, false ); | |
| 414 p.Print( NULL, &hpout, true ); | |
| 415 pd = p.GetPrintDialogData(); | |
| 416 mask_flg = false; | |
| 417 } | |
| 418 else { | |
| 419 html = html + wxT("<html><body>"); | |
| 420 html = html + wxT("<img src=\"") + file + wxT("\" width=\"750\" height=\"1060\"/>"); | |
| 421 html = html + wxT("</body></html>"); | |
| 422 hpout.SetHtmlText( html, wxEmptyString, false ); | |
| 423 p.Print( NULL, &hpout, false ); | |
| 424 } | |
| 405 cout = dir.GetNext( &file ); | 425 cout = dir.GetNext( &file ); |
| 406 } | 426 } |
| 407 return; | 427 return; |
| 408 } | 428 } |
| 409 | 429 |
| 615 { | 635 { |
| 616 HtmlHelpFrame *f = (HtmlHelpFrame*)FindWindowById( ID_HELP ); | 636 HtmlHelpFrame *f = (HtmlHelpFrame*)FindWindowById( ID_HELP ); |
| 617 | 637 |
| 618 if ( f == NULL ) { | 638 if ( f == NULL ) { |
| 619 HtmlHelpFrame *helpframe = new HtmlHelpFrame( wxT("Online Help"), ID_HELP ); | 639 HtmlHelpFrame *helpframe = new HtmlHelpFrame( wxT("Online Help"), ID_HELP ); |
| 640 helpframe->SetSize(600,600); | |
| 620 helpframe->Show(true); | 641 helpframe->Show(true); |
| 621 } | 642 } |
| 622 else { | 643 else { |
| 623 f->Raise(); | 644 f->Raise(); |
| 624 } | 645 } |
