changeset 5:bc2e2b304095

Clean up code.
author pyon@macmini
date Sat, 14 Sep 2013 08:54:47 +0900
parents fdba695b99f1
children 76db82822e73
files Changes include/bprint.h include/dndfile.h include/myframe.h include/param.h src/bprint.cpp src/myframe.cpp src/param.cpp
diffstat 8 files changed, 80 insertions(+), 77 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Wed Sep 11 19:09:14 2013 +0900
+++ b/Changes	Sat Sep 14 08:54:47 2013 +0900
@@ -1,3 +1,8 @@
+version 03.06
+2013-09-13
+ Clean up code.
+
+----
 version 03.05
 2013-09-11
  More fast ( read from DB ).
--- a/include/bprint.h	Wed Sep 11 19:09:14 2013 +0900
+++ b/include/bprint.h	Sat Sep 14 08:54:47 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : bprint.h
-// Last Change: 23-Aug-2013.
+// Last Change: 13-Sep-2013.
 //
 #ifndef __BPRINT_H__
 #define __BPRINT_H__
@@ -16,6 +16,8 @@
         wxRect        m_mask1old;
         wxRect        m_mask2old;
         wxRect        m_mask3old;
+        long          m_lmin, m_lmax;
+        double        m_zmin, m_zmax;
 	
 	protected:
 		wxGrid*     m_grid;
@@ -31,6 +33,7 @@
         void OnInput( wxGridEvent& event );
         void OnClear( wxCommandEvent& WXUNUSED(event) );
         void OnPrint( wxCommandEvent& WXUNUSED(event) );
+        void SetMark( long lmin, long lmax, double zmin, double zmax ) { m_lmin = lmin; m_lmax = lmax; m_zmin = zmin; m_zmax = zmax; }
 
         // Accessor
         void SetMask1( wxRect rect ) { m_mask1 = rect; }
--- a/include/dndfile.h	Wed Sep 11 19:09:14 2013 +0900
+++ b/include/dndfile.h	Sat Sep 14 08:54:47 2013 +0900
@@ -1,6 +1,8 @@
 // Filename   : dndfile.h
-// Last Change: 11-Sep-2013.
+// Last Change: 12-Sep-2013.
 //
+#ifndef __DNDFILE_H__
+#define __DNDFILE_H__
 
 #include "db.h"
 
@@ -53,50 +55,4 @@
         wxGrid* m_grid;
 };
         
-class DnDFile2 : public wxFileDropTarget
-{
-    public:
-        DnDFile2( 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;
-};
-        
+#endif  //__DNDFILE_H__
--- a/include/myframe.h	Wed Sep 11 19:09:14 2013 +0900
+++ b/include/myframe.h	Sat Sep 14 08:54:47 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : myframe.h
-// Last Change: 11-Sep-2013.
+// Last Change: 13-Sep-2013.
 //
 #ifndef __MYFRAME_H__
 #define __MYFRAME_H__
@@ -36,6 +36,8 @@
         wxRect            m_mask1old;
         wxRect            m_mask2old;
         wxRect            m_mask3old;
+        long              lmin, lmax;
+        double            zmin, zmax;
         wxString          m_hhsno;
 	
 	protected:
@@ -77,6 +79,7 @@
         void OnCommand( wxCommandEvent& WXUNUSED(event) );
         void UpdateList( wxString hhsno );
         void PrintImages( wxString hhsno );
+        void SetParams( int tab );
 
         void SetStatusMessage( wxString msg, long n );
         void OnWinSize( wxSizeEvent& event );
--- a/include/param.h	Wed Sep 11 19:09:14 2013 +0900
+++ b/include/param.h	Sat Sep 14 08:54:47 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : param.h
-// Last Change: 11-Sep-2013.
+// Last Change: 13-Sep-2013.
 //
 
 #ifndef __PARAM_H__
@@ -20,6 +20,8 @@
         wxRect        m_mask1old;
         wxRect        m_mask2old;
         wxRect        m_mask3old;
+        long          m_lmin, m_lmax;
+        double        m_zmin, m_zmax;
 	
 	protected:
 		wxNotebook*   m_notebook;
@@ -84,7 +86,7 @@
 
 		wxTextCtrl*   m_textCtrlZMin;
 		wxStaticText* m_staticTextZ;
-		wxTextCtrl*   m_textCtrlZmax;
+		wxTextCtrl*   m_textCtrlZMax;
 
         //
 		wxButton*     m_buttonCancel;
@@ -105,12 +107,18 @@
         void SetMask1Old( wxRect rect ) { m_mask1old = rect; }
         void SetMask2Old( wxRect rect ) { m_mask2old = rect; }
         void SetMask3Old( wxRect rect ) { m_mask3old = rect; }
+        void SetMark( long lmin, long lmax, double zmin, double zmax ) { m_lmin = lmin; m_lmax = lmax; m_zmin = zmin; m_zmax = zmax; }
         wxRect GetMask1() const { return m_mask1; }
         wxRect GetMask2() const { return m_mask2; }
         wxRect GetMask3() const { return m_mask3; }
         wxRect GetMask1Old() const { return m_mask1old; }
         wxRect GetMask2Old() const { return m_mask2old; }
         wxRect GetMask3Old() const { return m_mask3old; }
+        long GetLmin() const { return m_lmin; }
+        long GetLmax() const { return m_lmax; }
+        double GetZmin() const { return m_zmin; }
+        double GetZmax() const { return m_zmax; }
+        void SelectTAb( int n ) { m_notebook->ChangeSelection( n ); }
 };
 
 enum {
--- a/src/bprint.cpp	Wed Sep 11 19:09:14 2013 +0900
+++ b/src/bprint.cpp	Sat Sep 14 08:54:47 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : bprint.cpp
-// Last Change: 11-Sep-2013.
+// Last Change: 13-Sep-2013.
 //
 
 #include "bprint.h"
@@ -143,12 +143,7 @@
             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 ) ) {  // マークシート表面をマスクする
+            if ( notyet_mask && IsMarksheet( file, m_zmin, m_zmax, m_lmin, m_lmax ) ) {  // マークシート表面をマスクする
                 wxImage img_org( file, wxBITMAP_TYPE_JPEG );
                 int ver = GetMarksheetVersion( file );
                 if ( ver == 2 ) {
--- 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 );
     }
 }
--- a/src/param.cpp	Wed Sep 11 19:09:14 2013 +0900
+++ b/src/param.cpp	Sat Sep 14 08:54:47 2013 +0900
@@ -1,5 +1,5 @@
 // Filename   : param.cpp
-// Last Change: 11-Sep-2013.
+// Last Change: 13-Sep-2013.
 //
 
 #include "param.h"
@@ -157,33 +157,33 @@
 	m_notebook->AddPage( m_panelold, wxT("旧マークシート"), false );
 
     // Tab 3 : マークシート判定パネル
-	wxGridSizer* gSizer = new wxGridSizer( 2, 3, 0, 0 );
+	wxGridSizer* gSizer = new wxGridSizer( 4, 3, 0, 0 );
 	
-	m_textCtrlLMin = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
+	m_textCtrlLMin = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60, -1 ), wxTE_RIGHT );
 	gSizer->Add( m_textCtrlLMin, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxLEFT, 20 );
 	
 	m_staticTextLen = new wxStaticText( m_paneljudge, wxID_ANY, wxT("< レングス(l) <"), wxDefaultPosition, wxDefaultSize, 0 );
 	gSizer->Add( m_staticTextLen, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
 	
-	m_textCtrlLMax = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
+	m_textCtrlLMax = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60, -1 ), wxTE_RIGHT );
 	gSizer->Add( m_textCtrlLMax, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT, 20 );
 	
-	m_textCtrlZMin = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
+	m_textCtrlZMin = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60, -1 ), wxTE_RIGHT );
 	gSizer->Add( m_textCtrlZMin, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 20 );
 	
 	m_staticTextZ = new wxStaticText( m_paneljudge, wxID_ANY, wxT("< 黒色比率(z) <"), wxDefaultPosition, wxDefaultSize, 0 );
 	gSizer->Add( m_staticTextZ, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
 	
-	m_textCtrlZmax = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
-	gSizer->Add( m_textCtrlZmax, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT, 20 );
-
-	bSizerTop->Add( m_notebook, 1, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	m_textCtrlZMax = new wxTextCtrl( m_paneljudge, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60, -1 ), wxTE_RIGHT );
+	gSizer->Add( m_textCtrlZMax, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT, 20 );
 
 	m_paneljudge->SetSizer( gSizer );
 	m_paneljudge->Layout();
 	gSizer->Fit( m_paneljudge );
 	m_notebook->AddPage( m_paneljudge, wxT("マークシート判定"), false );
 	
+	bSizerTop->Add( m_notebook, 1, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
     //
 	wxBoxSizer* bSizerBtn = new wxBoxSizer( wxHORIZONTAL );
 	
@@ -215,6 +215,7 @@
 void ParamDialog::OnSet( wxCommandEvent& WXUNUSED(event) )
 {
     wxString buf;
+
     buf = m_textCtrlM1x->GetValue(); buf.ToLong( &x, 10 );
     buf = m_textCtrlM1y->GetValue(); buf.ToLong( &y, 10 );
     buf = m_textCtrlM1w->GetValue(); buf.ToLong( &w, 10 );
@@ -257,6 +258,11 @@
     m_mask3old.SetPosition( wxPoint( x, y ) ); 
     m_mask3old.SetSize( wxSize( w, h ) ); 
 
+    buf = m_textCtrlLMin->GetValue(); buf.ToLong( &m_lmin, 10 );
+    buf = m_textCtrlLMax->GetValue(); buf.ToLong( &m_lmax, 10 );
+    buf = m_textCtrlZMin->GetValue(); buf.ToDouble( &m_zmin );
+    buf = m_textCtrlZMax->GetValue(); buf.ToDouble( &m_zmax );
+
     if ( IsModal() ) 
         EndModal( wxID_OK );
     else {
@@ -292,5 +298,10 @@
     m_textCtrlM3yOld->SetValue( wxString::Format( wxT("%d"), m_mask3old.GetY() ) );
     m_textCtrlM3wOld->SetValue( wxString::Format( wxT("%d"), m_mask3old.GetWidth() ) );
     m_textCtrlM3hOld->SetValue( wxString::Format( wxT("%d"), m_mask3old.GetHeight() ) );
+
+    m_textCtrlLMin->SetValue( wxString::Format( wxT("%d"), m_lmin ) );
+    m_textCtrlLMax->SetValue( wxString::Format( wxT("%d"), m_lmax ) );
+    m_textCtrlZMin->SetValue( wxString::Format( wxT("%f"), m_zmin ) );
+    m_textCtrlZMax->SetValue( wxString::Format( wxT("%f"), m_zmax ) );
 }