diff src/myframe.cpp @ 0:00c5161d67b8 default tip

first release.
author pyon@macmini
date Tue, 29 Oct 2013 19:23:03 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/myframe.cpp	Tue Oct 29 19:23:03 2013 +0900
@@ -0,0 +1,123 @@
+// Filename   : myframe.cpp
+// Last Change: 29-Oct-2013.
+//
+#include "myframe.h"
+
+MyFrame::MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) 
+    : wxFrame( parent, id, title, pos, size, style )
+{
+	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+	
+	wxGridSizer* gSizer = new wxGridSizer( 0, 3, 0, 0 );
+	
+	m_textCtrl1l = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ), 0 );
+	gSizer->Add( m_textCtrl1l, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+	
+	m_button1 = new wxButton( this, ID_BTN1, wxT("<->"), wxDefaultPosition, wxSize( 50, -1 ), 0 );
+	gSizer->Add( m_button1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	
+	m_textCtrl1r = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ), 0 );
+	gSizer->Add( m_textCtrl1r, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	
+	m_textCtrl2l = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ), 0 );
+	gSizer->Add( m_textCtrl2l, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+	
+	m_button2 = new wxButton( this, ID_BTN2, wxT("<->"), wxDefaultPosition, wxSize( 50, -1 ), 0 );
+	gSizer->Add( m_button2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	
+	m_textCtrl2r = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ), 0 );
+	gSizer->Add( m_textCtrl2r, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	
+	m_textCtrl3l = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ), 0 );
+	gSizer->Add( m_textCtrl3l, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+	
+	m_button3 = new wxButton( this, ID_BTN3, wxT("<->"), wxDefaultPosition, wxSize( 50, -1 ), 0 );
+	gSizer->Add( m_button3, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	
+	m_textCtrl3r = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ), 0 );
+	gSizer->Add( m_textCtrl3r, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+	
+	
+	this->SetSizer( gSizer );
+	this->Layout();
+	
+	this->Centre( wxBOTH );
+}
+
+MyFrame::~MyFrame()
+{
+}
+
+// Event Table
+BEGIN_EVENT_TABLE( MyFrame, wxFrame )
+    EVT_BUTTON( ID_BTN1, MyFrame::OnButton1 )
+    EVT_BUTTON( ID_BTN2, MyFrame::OnButton2 )
+    EVT_BUTTON( ID_BTN3, MyFrame::OnButton3 )
+END_EVENT_TABLE()
+
+// Event Handlers & Functions
+void MyFrame::OnButton1( wxCommandEvent& WXUNUSED(event) )
+{
+    Exchange( m_textCtrl1l, m_textCtrl1r, state1 );
+    state1 = !state1;
+}
+
+void MyFrame::OnButton2( wxCommandEvent& WXUNUSED(event) )
+{
+    Exchange( m_textCtrl2l, m_textCtrl2r, state2 );
+    state2 = !state2;
+}
+
+void MyFrame::OnButton3( wxCommandEvent& WXUNUSED(event) )
+{
+    Exchange( m_textCtrl3l, m_textCtrl3r, state3 );
+    state3 = !state3;
+}
+
+void MyFrame::InitControl( void )
+{
+    wxString file = wxT( "Z1400000.dta" );
+    m_textCtrl1r->SetValue( file );
+    m_textCtrl2r->SetValue( file );
+    m_textCtrl3r->SetValue( file );
+
+    wxDir dir( wxGetCwd() );
+    if ( !dir.IsOpened() ) return;
+
+    bool cout = dir.GetFirst( &file, wxT("*.dta"), wxDIR_FILES );
+    if ( cout ) {
+        m_textCtrl1l->SetValue( file );
+        cout = dir.GetNext( &file );
+    }
+    if ( cout ) {
+        m_textCtrl2l->SetValue( file );
+        cout = dir.GetNext( &file );
+    }
+    if ( cout ) {
+        m_textCtrl3l->SetValue( file );
+        cout = dir.GetNext( &file );
+    }
+
+    state1 = true;
+    state2 = true;
+    state3 = true;
+}
+
+void MyFrame::Exchange( wxTextCtrl* left, wxTextCtrl* right, bool sw )
+{
+    wxString from, to;
+
+    if ( sw ) {
+        from = wxGetCwd() + wxFILE_SEP_PATH + left->GetValue();
+        to   = wxGetCwd() + wxFILE_SEP_PATH + right->GetValue();
+        left->SetBackgroundColour( *wxYELLOW );
+    }
+    else {
+        from = wxGetCwd() + wxFILE_SEP_PATH + right->GetValue();
+        to   = wxGetCwd() + wxFILE_SEP_PATH + left->GetValue();
+        right->SetBackgroundColour( *wxYELLOW );
+    }
+    Refresh( true, NULL );
+    wxRenameFile( from, to, false );
+}
+