diff src/myframe.cpp @ 5:bc2e2b304095

Clean up code.
author pyon@macmini
date Sat, 14 Sep 2013 08:54:47 +0900
parents fdba695b99f1
children 7ac7d28699af
line wrap: on
line diff
--- a/src/myframe.cpp	Wed Sep 11 19:09:14 2013 +0900
+++ b/src/myframe.cpp	Sat Sep 14 08:54:47 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : myframe.cpp
-// Last Change: 11-Sep-2013.
+// Last Change: 13-Sep-2013.
 //
 #include "main.h"
 #include "db.h"
@@ -224,7 +224,7 @@
     EVT_MENU( ID_MNINDEX, MyFrame::OnIndex )
     EVT_MENU( ID_MNDBBKUP, MyFrame::OnDBBackup )
     EVT_MENU( ID_MNMASKPARAM, MyFrame::OnMaskParam )
-    EVT_MENU( ID_MNMASKPARAM, MyFrame::OnMarkParam )
+    EVT_MENU( ID_MNMARKPARAM, MyFrame::OnMarkParam )
     EVT_MENU( ID_MNAPPDIR, MyFrame::OnOpenAppDir )
     EVT_LIST_ITEM_ACTIVATED( ID_LIST, MyFrame::OnSelectHhsDir )
     EVT_BUTTON( ID_KANA, MyFrame::OnKana )
@@ -323,6 +323,14 @@
     config->Read( wxT("h3o"), &h );
     m_mask3old.SetPosition( wxPoint( x, y ) );
     m_mask3old.SetSize( wxSize( w, h ) );
+
+    //
+    config->SetPath( wxT("/Marksheet") );
+
+    config->Read( wxT("lmin"), &lmin );
+    config->Read( wxT("lmax"), &lmax );
+    config->Read( wxT("zmin"), &zmin );
+    config->Read( wxT("zmax"), &zmax );
 }
 /* 印刷 */
 void MyFrame::PrintImages( wxString hhsno )
@@ -347,11 +355,6 @@
         file.Replace( wxFILE_SEP_PATH, wxT("/") );
         wxString tmpjpg = wxString::Format( wxT("%stmp%d.jpg"), tmpdir, n );
 
-        double zmin = 0.095713;
-        double zmax = 0.147142;
-        long lmin = 2072393;
-        long lmax = 2472318;
-        
         if ( notyet_mask && IsMarksheet( file, zmin, zmax, lmin, lmax ) ) {  // マークシート表面をマスクする
             wxImage img_org( file, wxBITMAP_TYPE_JPEG );
             int ver = GetMarksheetVersion( file );
@@ -399,6 +402,7 @@
     bp->SetMask1Old( m_mask1old );
     bp->SetMask2Old( m_mask2old );
     bp->SetMask3Old( m_mask3old );
+    bp->SetMark( lmin, lmax, zmin, zmax );
     bp->Show( true );
 }
 /* インデックス作成ダイアログ */
@@ -416,20 +420,27 @@
 /* マークシートパラメータ設定ダイアログ */
 void MyFrame::OnMarkParam( wxCommandEvent& WXUNUSED(event) )
 {
-    ParamDialog* param = new ParamDialog( this, wxID_ANY, wxT("マークシート判定パラメータの指定"), wxDefaultPosition, wxSize( 350, 250 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
+    SetParams( 2 );
 }
 /* マスクパラメータ設定ダイアログ */
 void MyFrame::OnMaskParam( wxCommandEvent& WXUNUSED(event) )
 {
-    ParamDialog* param = new ParamDialog( this, wxID_ANY, wxT("マスク位置とサイズの指定"), wxDefaultPosition, wxSize( 350, 250 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
+    SetParams( 0 );
+}
+/* 設定を保存 */
+void MyFrame::SetParams( int tab ) 
+{
+    ParamDialog* param = new ParamDialog( this, wxID_ANY, wxT("各種パラメータの指定"), wxDefaultPosition, wxSize( 350, 250 ), wxCAPTION|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP|wxTAB_TRAVERSAL );
     param->SetMask1( m_mask1 );
     param->SetMask2( m_mask2 );
     param->SetMask3( m_mask3 );
     param->SetMask1Old( m_mask1old );
     param->SetMask2Old( m_mask2old );
     param->SetMask3Old( m_mask3old );
+    param->SetMark( lmin, lmax, zmin, zmax );
     param->LoadParams();
     param->ShowWithEffect( wxSHOW_EFFECT_SLIDE_TO_BOTTOM );
+    param->SelectTAb( tab );
 
     if ( param->ShowModal() == wxID_OK ) {
         m_mask1    = param->GetMask1();
@@ -438,6 +449,10 @@
         m_mask1old = param->GetMask1Old();
         m_mask2old = param->GetMask2Old();
         m_mask3old = param->GetMask3Old();
+        lmin       = param->GetLmin();
+        lmax       = param->GetLmax();
+        zmin       = param->GetZmin();
+        zmax       = param->GetZmax();
 
         config->SetPath( wxT("/Mask") );
 
@@ -471,6 +486,13 @@
         config->Write( wxT("w3o"), m_mask3old.GetWidth() );
         config->Write( wxT("h3o"), m_mask3old.GetHeight() );
 
+        config->SetPath( wxT("/Marksheet") );
+
+        config->Write( wxT("lmin"), lmin );
+        config->Write( wxT("lmax"), lmax );
+        config->Write( wxT("zmin"), zmin );
+        config->Write( wxT("zmax"), zmax );
+
         config->Flush( false );
     }
 }