diff src/mainframe.cpp @ 1:f40a65687079

small fix.
author pyon@macmini
date Mon, 10 Jun 2019 05:56:36 +0900
parents 2f5584f0d127
children 45d4fd954c31
line wrap: on
line diff
--- a/src/mainframe.cpp	Sat Jun 08 16:21:40 2019 +0900
+++ b/src/mainframe.cpp	Mon Jun 10 05:56:36 2019 +0900
@@ -1,5 +1,5 @@
 // Filename   : mainframe.cpp
-// Last Change: 2019-06-08 Sat 10:56:10.
+// Last Change: 2019-06-09 Sun 17:05:28.
 //
 
 #include "id.h"
@@ -11,15 +11,23 @@
 {
 	CreateControls();
 
+	AppConf appconf;
+    wxString dir = appconf.LoadWork();
+    m_dirPicker->SetPath( dir );
+
 	m_filelist = new FileList();
-	m_filelist->SetDirectory( "./work" );
+	m_filelist->SetDirectory( dir );
 
 	m_lookWindow1->SetDefaultParams( 1, SPL_W,  SPL_H,  SPL_DCW,  SPL_DCH );
 	m_lookWindow2->SetDefaultParams( 2, OPN1_W, OPN1_H, OPN1_DCW, OPN1_DCH );
 	m_lookWindow3->SetDefaultParams( 3, OPN2_W, OPN2_H, OPN2_DCW, OPN2_DCH );
 	m_lookWindow3->AddMask();
 
-	SetCanvas();
+	UpdateCanvas();
+
+    m_listViewThumb->SetDirectory( dir );
+
+    UpdateThumbnail();
 }
 
 MainFrame::~MainFrame()
@@ -29,8 +37,6 @@
 // Event Table
 BEGIN_EVENT_TABLE( MainFrame, wxFrame )
 	/*
-    EVT_TEXT(       ID_HHS,  MoverFrame::OnHhs )
-    EVT_TEXT_ENTER( ID_HHS,  MoverFrame::OnHhs )
     EVT_CHOICE( ID_CHOICE,   MoverFrame::OnChoice )
     EVT_CHECKBOX( ID_CPAPER, MoverFrame::OnPaperCheck )
 	*/
@@ -40,6 +46,9 @@
     EVT_BUTTON( ID_RST4,    MainFrame::OnReset4 )
     EVT_BUTTON( ID_PRINT,   MainFrame::OnPrint )
 	EVT_SPINCTRL( ID_SPNW1, MainFrame::OnSpinW1 )
+    EVT_TEXT(       ID_HNO, MainFrame::OnHno )
+    EVT_TEXT_ENTER( ID_HNO, MainFrame::OnHno )
+    EVT_BUTTON( ID_UPDT,    MainFrame::OnUpdate )
 	EVT_CLOSE( MainFrame::OnClose )
 	/*
     EVT_LIST_ITEM_SELECTED(   ID_THUMB, MoverFrame::OnThumbItemSelected )
@@ -143,6 +152,13 @@
 {
 }
 
+void MainFrame::OnHno( wxCommandEvent& WXUNUSED(event) )
+{
+    wxString no = m_textCtrlNo->GetValue();
+    m_textCtrlName->SetBackgroundColour( *wxRED );
+    m_textCtrlName->SetValue( wxT("It's not a No. style !") );
+    //if ( no.Len() == 10 ) SetHhsName( no );
+}
 /*
 void MainFrame::OnScanner( wxCommandEvent& WXUNUSED(event) )
 {
@@ -150,12 +166,20 @@
 }
 */
 
+void MainFrame::OnUpdate( wxCommandEvent& WXUNUSED(event) )
+{
+    UpdateCanvas();
+    UpdateThumbnail();
+}
+
 void MainFrame::OnClose( wxCloseEvent& WXUNUSED(event) )
 {
     if ( !IsIconized() && !IsMaximized() ) {
 		AppConf appconf;
 		appconf.SaveRect( GetRect() );
     }
+    AppConf appconf;
+    appconf.SaveWork( m_dirPicker->GetPath() );
 	Destroy();
 }
 
@@ -308,21 +332,26 @@
 	m_staticTextDrive = new wxStaticText( sbSizerDir->GetStaticBox(), wxID_ANY, wxT("Drive"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
 	sbSizerDir->Add( m_staticTextDrive, 0, wxALL, 5 );
 
-	//m_listBox = new wxListBox( sbSizerDir->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
-	//fgSizerSetup->Add( m_listBox, 0, wxALL, 5 );
+	wxString m_checkListChoices[] = { wxT("C:\\"), wxT("Y:\\"), wxT("Z:\\") };
+	int m_checkListNChoices = sizeof( m_checkListChoices ) / sizeof( wxString );
+	m_checkList = new wxCheckListBox( sbSizerDir->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( 100, -1 ), m_checkListNChoices, m_checkListChoices, wxLB_MULTIPLE );
+    m_checkList->Check( 0, true );
+    m_checkList->Check( 1, true );
+    m_checkList->Check( 2, true );
+	fgSizerSetup->Add( m_checkList, 0, wxALL, 5 );
 
 	fgSizerSetup->Add( 0, 0, 1, wxEXPAND, 5 );
 
 	m_buttonMkdir = new wxButton( sbSizerDir->GetStaticBox(), ID_MKDIR, wxT("Mkdir"), wxDefaultPosition, wxDefaultSize, 0 );
 	sbSizerDir->Add( m_buttonMkdir, 0, wxALL, 5 );
 
-	sbSizerDir->Add( fgSizerSetup, 0, wxEXPAND, 5 );
+	sbSizerDir->Add( fgSizerSetup, 1, wxEXPAND, 5 );
 
 	m_staticline = new wxStaticLine( sbSizerDir->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 	sbSizerDir->Add( m_staticline, 0, wxEXPAND|wxALL, 5 );
 
 	m_checkBox = new wxCheckBox( sbSizerDir->GetStaticBox(), wxID_ANY, wxT("FilingMode"), wxDefaultPosition, wxDefaultSize, 0 );
-	sbSizerDir->Add( m_checkBox, 0, wxALL, 5 );
+	sbSizerDir->Add( m_checkBox, 0, wxALL|wxALIGN_LEFT, 5 );
 
 	m_button30 = new wxButton( sbSizerDir->GetStaticBox(), wxID_ANY, wxT("MyButton"), wxDefaultPosition, wxDefaultSize, 0 );
 	sbSizerDir->Add( m_button30, 0, wxALL|wxALIGN_RIGHT, 5 );
@@ -330,7 +359,7 @@
 	m_buttonFMove = new wxButton( sbSizerDir->GetStaticBox(), ID_FMOVE, wxT("Move"), wxDefaultPosition, wxDefaultSize, 0 );
 	sbSizerDir->Add( m_buttonFMove, 0, wxALL|wxALIGN_RIGHT, 5 );
 
-	fgSizerMain->Add( sbSizerDir, 0, wxEXPAND, 5 );
+	fgSizerMain->Add( sbSizerDir, 1, wxEXPAND, 5 );
 
 	// Move
 	wxStaticBoxSizer* sbSizerMove = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Move") ), wxHORIZONTAL );
@@ -349,7 +378,7 @@
 	m_textCtrlName->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
 	fgSizerMove->Add( m_textCtrlName, 0, wxALL|wxALIGN_BOTTOM, 5 );
 
-	m_staticTextNo = new wxStaticText( sbSizerMove->GetStaticBox(), wxID_ANY, wxT("No"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_staticTextNo = new wxStaticText( sbSizerMove->GetStaticBox(), ID_HNO, wxT("No"), wxDefaultPosition, wxDefaultSize, 0 );
 	fgSizerMove->Add( m_staticTextNo, 0, wxALL|wxALIGN_RIGHT, 5 );
 
 	m_bitmapNo = new wxStaticBitmap( sbSizerMove->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( MHNO_W, MHNO_H ), 0 );
@@ -363,13 +392,15 @@
 
 	m_gauge = new wxGauge( sbSizerMove->GetStaticBox(), wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL );
 	m_gauge->SetValue( 0 );
-	fgSizerMove->Add( m_gauge, 1, wxALL|wxEXPAND, 5 );
+	fgSizerMove->Add( m_gauge, 1, wxALL|wxEXPAND|wxALIGN_TOP, 5 );
 
 	m_buttonMove = new wxButton( sbSizerMove->GetStaticBox(), ID_MOVE, wxT("Move"), wxDefaultPosition, wxDefaultSize, 0 );
-	fgSizerMove->Add( m_buttonMove, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+	fgSizerMove->Add( m_buttonMove, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 
 	sbSizerMove->Add( fgSizerMove, 0, 0, 5 );
 
+	sbSizerMove->Add( 40, 0, 0, wxEXPAND, 5 );
+
 	m_dataViewListCtrl = new wxDataViewListCtrl( sbSizerMove->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_MULTIPLE|wxDV_ROW_LINES|wxDV_VERT_RULES );
 	m_dataViewListColumnNo   = m_dataViewListCtrl->AppendTextColumn( wxT("No"),     wxDATAVIEW_CELL_INERT, 30, static_cast<wxAlignment>(wxALIGN_RIGHT) , wxDATAVIEW_COL_RESIZABLE );
 	m_dataViewListColumnHno  = m_dataViewListCtrl->AppendTextColumn( wxT("Hno"),    wxDATAVIEW_CELL_INERT, 80, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE );
@@ -419,12 +450,11 @@
 	m_buttonUpdate = new wxButton( sbSizerWork->GetStaticBox(), ID_UPDT, wxT("Refresh"), wxDefaultPosition, wxSize( 60,-1 ), 0 );
 	bSizerWork->Add( m_buttonUpdate, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 
-	sbSizerWork->Add( bSizerWork, 1, wxEXPAND, 5 );
+	sbSizerWork->Add( bSizerWork, 0, wxEXPAND, 5 );
 
-	//m_customControl = new ( sbSizerWork->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
-	//m_customControl->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
-
-	//sbSizerWork->Add( m_customControl, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
+	m_listViewThumb = new ListThumbnail( sbSizerWork->GetStaticBox(), ID_THUMB, wxDefaultPosition, wxDefaultSize, wxLC_ICON );
+	//m_listViewThumb->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INFOBK ) );
+	sbSizerWork->Add( m_listViewThumb, 1, wxALL|wxEXPAND, 5 );
 
 	bSizerTop->Add( sbSizerWork, 1, wxEXPAND, 5 );
 
@@ -449,7 +479,7 @@
 	this->Centre( wxBOTH );
 }
 
-void MainFrame::SetCanvas( void )
+void MainFrame::UpdateCanvas( void )
 {
 	wxArrayString files = m_filelist->Update();
 	int n = files.GetCount();
@@ -471,6 +501,11 @@
 	m_lookWindow3->ResetMask2();
 }
 
+void MainFrame::UpdateThumbnail( void )
+{
+    m_listViewThumb->Reload();
+}
+
 void MainFrame::LookMarksheet( wxString file )
 {
     wxImage marksheet( file, wxBITMAP_TYPE_JPEG );
@@ -489,9 +524,9 @@
 
 	/*
     // 推測
-    wxString hhsno = GuessHhs( file, rect_mhno );
-    m_textCtrlHhs->SetValue( hhsno );
-    SetHhsName( hhsno );
+    wxString no = GuessHhs( file, rect_mhno );
+    m_textCtrlNo->SetValue( no );
+    SetHhsName( no );
 	*/
 }