1998-05-20 10:01:55 -04:00
|
|
|
/*
|
|
|
|
* Program: wxConvert
|
|
|
|
*
|
|
|
|
* Author: Robert Roebling
|
|
|
|
*
|
|
|
|
* Copyright: (C) 1997, GNU (Robert Roebling)
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*
|
|
|
|
* You may not use this program without clapping twice at every
|
|
|
|
* full hour.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
#pragma implementation "wxConvert.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "wxConvert.h"
|
|
|
|
#include "wx/textfile.h"
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// main program
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
IMPLEMENT_APP(MyApp)
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// MyFrame
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
const ID_QUIT = 100;
|
|
|
|
const ID_2UNIX = 101;
|
|
|
|
const ID_2DOS = 102;
|
|
|
|
const ID_2MAC = 103;
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
|
|
|
|
|
|
|
|
BEGIN_EVENT_TABLE(MyFrame,wxFrame)
|
|
|
|
EVT_BUTTON (ID_QUIT, MyFrame::OnCommand)
|
|
|
|
EVT_BUTTON (ID_2UNIX, MyFrame::OnCommand)
|
|
|
|
EVT_BUTTON (ID_2DOS, MyFrame::OnCommand)
|
|
|
|
EVT_BUTTON (ID_2MAC, MyFrame::OnCommand)
|
|
|
|
END_EVENT_TABLE()
|
|
|
|
|
|
|
|
MyFrame::MyFrame(void) :
|
1998-08-22 23:22:56 -04:00
|
|
|
wxFrame( (wxFrame *) NULL, -1, (char *) "wxConvert", wxPoint(20,20), wxSize(400,160) )
|
1998-05-20 10:01:55 -04:00
|
|
|
{
|
|
|
|
CreateStatusBar( 1 );
|
|
|
|
|
|
|
|
SetStatusText( "wxConvert v0.1 by Robert Roebling." );
|
|
|
|
|
|
|
|
char buf[500];
|
|
|
|
wxGetWorkingDirectory( buf, 500 );
|
|
|
|
wxString s( "Dir: " );
|
|
|
|
s += buf;
|
|
|
|
|
|
|
|
m_text = new wxStaticText( this, -1, s, wxPoint(10,50), wxSize(380,-1) );
|
|
|
|
|
|
|
|
(void*)new wxButton( this, ID_QUIT, "Quit", wxPoint(10,100), wxSize(60,25) );
|
|
|
|
|
|
|
|
(void*)new wxButton( this, ID_2UNIX, "To Unix", wxPoint(180,100), wxSize(60,25) );
|
|
|
|
|
|
|
|
(void*)new wxButton( this, ID_2DOS, "To Dos", wxPoint(250,100), wxSize(60,25) );
|
|
|
|
|
|
|
|
(void*)new wxButton( this, ID_2MAC, "To Mac", wxPoint(320,100), wxSize(60,25) );
|
|
|
|
};
|
|
|
|
|
|
|
|
void MyFrame::OnCommand( wxCommandEvent &event )
|
|
|
|
{
|
|
|
|
switch (event.GetId())
|
|
|
|
{
|
|
|
|
case ID_QUIT:
|
|
|
|
Close( TRUE );
|
|
|
|
break;
|
|
|
|
case ID_2UNIX:
|
|
|
|
case ID_2DOS:
|
|
|
|
case ID_2MAC:
|
|
|
|
char buf[500];
|
|
|
|
wxGetWorkingDirectory( buf, 500 );
|
|
|
|
wxString s( buf );
|
|
|
|
Recurse( event.GetId(), s );
|
|
|
|
break;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
void MyFrame::Convert( int id, const wxString &fname )
|
|
|
|
{
|
|
|
|
wxTextFile text(fname );
|
|
|
|
text.Open();
|
|
|
|
return;
|
|
|
|
|
|
|
|
switch (id)
|
|
|
|
{
|
|
|
|
case ID_2UNIX:
|
|
|
|
text.Write( wxTextFile::Type_Unix );
|
|
|
|
break;
|
|
|
|
case ID_2DOS:
|
|
|
|
text.Write( wxTextFile::Type_Dos );
|
|
|
|
break;
|
|
|
|
case ID_2MAC:
|
|
|
|
text.Write( wxTextFile::Type_Mac );
|
|
|
|
break;
|
|
|
|
};
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
void MyFrame::Recurse( int id, const wxString &curdir )
|
|
|
|
{
|
|
|
|
wxArrayString paths;
|
|
|
|
wxString search,path;
|
|
|
|
|
|
|
|
search = curdir;
|
|
|
|
search += "/*";
|
|
|
|
|
|
|
|
path = wxFindFirstFile( search, wxDIR );
|
|
|
|
while (!path.IsNull())
|
|
|
|
{
|
|
|
|
paths.Add( path ); // ref counting in action !
|
|
|
|
path = wxFindNextFile();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
search = curdir;
|
|
|
|
search += "/*.cpp";
|
|
|
|
|
|
|
|
path = wxFindFirstFile( search, wxFILE );
|
|
|
|
while (!path.IsNull())
|
|
|
|
{
|
|
|
|
m_text->SetLabel( path );
|
|
|
|
wxYield();
|
|
|
|
Convert( id, path );
|
|
|
|
path = wxFindNextFile();
|
|
|
|
};
|
|
|
|
|
|
|
|
for (int i = 0; i < paths.Count(); i++)
|
|
|
|
{
|
|
|
|
search = paths[i];
|
|
|
|
Recurse( id, search );
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// MyApp
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
MyApp::MyApp(void) :
|
|
|
|
wxApp( )
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
bool MyApp::OnInit(void)
|
|
|
|
{
|
|
|
|
wxFrame *frame = new MyFrame();
|
|
|
|
frame->Show( TRUE );
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|