load multiple files

This commit is contained in:
dickelbeck 2008-02-19 07:06:41 +00:00
parent 572c448796
commit c79c0d9c64
1 changed files with 56 additions and 42 deletions

View File

@ -1,6 +1,6 @@
/************************************************/
/* GERBVIEW main file */
/************************************************/
/************************************************/
/* GERBVIEW main file */
/************************************************/
#define MAIN
#define eda_global
@ -18,25 +18,23 @@
#include "protos.h"
wxString g_Main_Title = wxT("GerbView");
wxString g_Main_Title = wxT( "GerbView" );
IMPLEMENT_APP(WinEDA_App)
IMPLEMENT_APP( WinEDA_App )
bool WinEDA_App::OnInit()
{
wxString FFileName;
g_EDA_Appl = this;
InitEDA_Appl( wxT("gerbview") );
if(argc > 1) FFileName = MakeFileName(wxEmptyString, argv[1], g_PhotoFilenameExt);
InitEDA_Appl( wxT( "gerbview" ) );
ScreenPcb = new PCB_SCREEN( PCB_FRAME );
ScreenPcb = new PCB_SCREEN(PCB_FRAME);
ActiveScreen = ScreenPcb;
GetSettings();
if ( m_Checker && m_Checker->IsAnotherRunning() )
if( m_Checker && m_Checker->IsAnotherRunning() )
{
if ( ! IsOK(NULL, _("GerbView is already running. Continue?") ) )
if( !IsOK( NULL, _( "GerbView is already running. Continue?" ) ) )
return false;
}
@ -47,34 +45,50 @@ wxString FFileName;
* in order to display the real hotkeys
* in menus or tool tips */
m_GerberFrame = new WinEDA_GerberFrame(NULL, this, wxT("GerbView"),
wxPoint(0,0), wxSize(600,400) );
wxString Title = g_Main_Title + wxT(" ") + GetBuildVersion();
m_GerberFrame->SetTitle(Title);
m_GerberFrame->m_Pcb = new BOARD(NULL, m_GerberFrame);
m_GerberFrame = new WinEDA_GerberFrame( NULL, this, wxT( "GerbView" ),
wxPoint( 0, 0 ), wxSize( 600, 400 ) );
SetTopWindow(m_GerberFrame);
m_GerberFrame->Show(TRUE);
wxString Title = g_Main_Title + wxT( " " ) + GetBuildVersion();
m_GerberFrame->SetTitle( Title );
m_GerberFrame->m_Pcb = new BOARD( NULL, m_GerberFrame );
m_GerberFrame->m_Pcb = new BOARD(NULL, m_GerberFrame);
m_GerberFrame->Zoom_Automatique(TRUE);
SetTopWindow( m_GerberFrame );
m_GerberFrame->Show( TRUE );
/* Load file specified in the command line. */
if( ! FFileName.IsEmpty() )
m_GerberFrame->m_Pcb = new BOARD( NULL, m_GerberFrame );
m_GerberFrame->Zoom_Automatique( TRUE );
if( argc > 1 )
{
wxString path = wxPathOnly(FFileName);
wxSetWorkingDirectory(path);
wxString fileName = MakeFileName( wxEmptyString, argv[1], g_PhotoFilenameExt );
if( !fileName.IsEmpty() )
{
wxClientDC dc( m_GerberFrame->DrawPanel );
m_GerberFrame->DrawPanel->PrepareGraphicContext( &dc );
wxString path = wxPathOnly( fileName );
wxSetWorkingDirectory( path );
Read_Config();
if ( wxFileExists(FFileName) )
// Load all files specified on the command line.
for( int i=1; i<argc; ++i )
{
wxClientDC dc(m_GerberFrame->DrawPanel);
m_GerberFrame->DrawPanel->PrepareGraphicContext(&dc);
m_GerberFrame->LoadOneGerberFile(FFileName, &dc, FALSE);
fileName = MakeFileName( wxEmptyString, argv[i], g_PhotoFilenameExt );
if( wxFileExists( fileName ) )
{
((PCB_SCREEN*)m_GerberFrame->GetScreen())->m_Active_Layer = i-1;
m_GerberFrame->LoadOneGerberFile( fileName, &dc, FALSE );
}
}
else Read_Config();
}
}
else
Read_Config();
return TRUE;
}