Mercurial > mercurial > hgweb_renren.cgi
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 ); +} +