This commit is contained in:
dickelbeck 2007-12-05 20:54:11 +00:00
parent 628be5d1c1
commit 0f452cc016
6 changed files with 104 additions and 84 deletions

View File

@ -112,8 +112,7 @@ wxPoint BASE_SCREEN::CursorRealPosition( const wxPoint& ScreenPos )
{ {
wxPoint curpos; wxPoint curpos;
D(printf("curpos=%d,%d GetZoom=%d, mDrawOrg=%d,%d\n", // D(printf("curpos=%d,%d GetZoom=%d, mDrawOrg=%d,%d\n", curpos.x, curpos.y, GetZoom(), m_DrawOrg.x, m_DrawOrg.y );)
curpos.x, curpos.y, GetZoom(), m_DrawOrg.x, m_DrawOrg.y );)
curpos.x = ScreenPos.x * GetZoom(); curpos.x = ScreenPos.x * GetZoom();
curpos.y = ScreenPos.y * GetZoom(); curpos.y = ScreenPos.y * GetZoom();

View File

@ -1,8 +1,8 @@
/*************************/ /*************************/
/* Menu " CONFIRMATION " */ /* Menu " CONFIRMATION " */
/* fonction Get_Message */ /* fonction Get_Message */
/* test demande ESC */ /* test demande ESC */
/*************************/ /*************************/
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h" #include "wx/wxprec.h"
@ -21,125 +21,136 @@
#include "common.h" #include "common.h"
enum id_dialog { enum id_dialog {
ID_TIMOUT = 1500 ID_TIMOUT = 1500
}; };
/* Classe d'affichage de messages, identique a wxMessageDialog, /* Classe d'affichage de messages, identique a wxMessageDialog,
mais pouvant etre effacee au bout d'un time out donne * mais pouvant etre effacee au bout d'un time out donne
*/ */
class WinEDA_MessageDialog: public wxMessageDialog class WinEDA_MessageDialog : public wxMessageDialog
{ {
public: public:
int m_LifeTime; int m_LifeTime;
private: private:
wxTimer m_Timer; wxTimer m_Timer;
public: public:
WinEDA_MessageDialog(wxWindow * parent, const wxString & msg, WinEDA_MessageDialog( wxWindow * parent, const wxString &msg,
const wxString & title, int style, int lifetime); const wxString &title, int style, int lifetime );
~WinEDA_MessageDialog(){}; ~WinEDA_MessageDialog() { };
void OnTimeOut(wxTimerEvent& event); void OnTimeOut( wxTimerEvent& event );
DECLARE_EVENT_TABLE()
DECLARE_EVENT_TABLE()
}; };
BEGIN_EVENT_TABLE(WinEDA_MessageDialog, wxMessageDialog) BEGIN_EVENT_TABLE( WinEDA_MessageDialog, wxMessageDialog )
EVT_TIMER(ID_TIMOUT, WinEDA_MessageDialog::OnTimeOut) EVT_TIMER( ID_TIMOUT, WinEDA_MessageDialog::OnTimeOut )
END_EVENT_TABLE() END_EVENT_TABLE()
/**********************************************************************************/ /**********************************************************************************/
WinEDA_MessageDialog::WinEDA_MessageDialog(wxWindow * parent, const wxString & msg, WinEDA_MessageDialog::WinEDA_MessageDialog( wxWindow* parent, const wxString& msg,
const wxString & title, int style, int lifetime) : const wxString& title, int style, int lifetime ) :
wxMessageDialog(parent, msg, title, style) wxMessageDialog( parent, msg, title, style )
/**********************************************************************************/ /**********************************************************************************/
{ {
m_LifeTime = lifetime; m_LifeTime = lifetime;
m_Timer.SetOwner(this,ID_TIMOUT); m_Timer.SetOwner( this, ID_TIMOUT );
if ( m_LifeTime > 0 ) if( m_LifeTime > 0 )
m_Timer.Start(100*m_LifeTime, wxTIMER_ONE_SHOT); // m_LifeTime = duree en 0.1 secondes m_Timer.Start( 100 * m_LifeTime, wxTIMER_ONE_SHOT ); // m_LifeTime = duree en 0.1 secondes
} }
/********************************************************/ /********************************************************/
void WinEDA_MessageDialog::OnTimeOut(wxTimerEvent& event) void WinEDA_MessageDialog::OnTimeOut( wxTimerEvent& event )
/********************************************************/ /********************************************************/
{ {
// TODO : EndModal() request // TODO : EndModal() request
} }
/*****************************************************************************/ /*****************************************************************************/
void DisplayError(wxWindow * parent, const wxString & text, int displaytime ) void DisplayError( wxWindow* parent, const wxString& text, int displaytime )
/*****************************************************************************/ /*****************************************************************************/
/* Affiche un Message d'Erreur ou d'avertissement. /* Affiche un Message d'Erreur ou d'avertissement.
si warn > 0 le dialogue disparait apres warn 0.1 secondes * si warn > 0 le dialogue disparait apres warn 0.1 secondes
*/ */
{ {
wxMessageDialog * dialog; wxMessageDialog* dialog;
if ( displaytime > 0 ) if( displaytime > 0 )
dialog = new WinEDA_MessageDialog(parent, text, _("Warning"), dialog = new WinEDA_MessageDialog( parent, text, _(
wxOK | wxICON_INFORMATION | wxSTAY_ON_TOP, displaytime); "Warning" ),
else wxOK | wxICON_INFORMATION | wxSTAY_ON_TOP,
dialog = new WinEDA_MessageDialog(parent, text, _("Error"), displaytime );
wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP, 0); else
dialog = new WinEDA_MessageDialog( parent, text, _( "Error" ),
wxOK | wxICON_EXCLAMATION | wxSTAY_ON_TOP, 0 );
dialog->ShowModal(); dialog->Destroy(); dialog->ShowModal();
dialog->Destroy();
} }
/**************************************************************************/ /**************************************************************************/
void DisplayInfo(wxWindow * parent, const wxString & text, int displaytime) void DisplayInfo( wxWindow* parent, const wxString& text, int displaytime )
/**************************************************************************/ /**************************************************************************/
/* Affiche un Message d'information. /* Affiche un Message d'information.
*/ */
{ {
wxMessageDialog * dialog; wxMessageDialog* dialog;
dialog = new WinEDA_MessageDialog(parent, text, _("Infos:"), dialog = new WinEDA_MessageDialog( parent, text, _( "Infos:" ),
wxOK | wxICON_INFORMATION | wxSTAY_ON_TOP, displaytime); wxOK | wxICON_INFORMATION | wxSTAY_ON_TOP, displaytime );
dialog->ShowModal(); dialog->Destroy(); dialog->ShowModal(); dialog->Destroy();
} }
/**************************************************/ /**************************************************/
bool IsOK(wxWindow * parent, const wxString & text) bool IsOK( wxWindow* parent, const wxString& text )
/**************************************************/ /**************************************************/
{ {
int ii; int ii;
ii = wxMessageBox(text, _("Confirmation"), wxYES_NO|wxCENTRE|wxICON_HAND, parent);
if (ii == wxYES) return TRUE; ii = wxMessageBox( text, _( "Confirmation" ), wxYES_NO | wxCENTRE | wxICON_HAND, parent );
return FALSE; if( ii == wxYES )
return TRUE;
return FALSE;
} }
/***********************************************************************/ /***********************************************************************/
int Get_Message(const wxString & title, wxString & buffer, wxWindow * frame) int Get_Message( const wxString& title, wxString& buffer, wxWindow* frame )
/***********************************************************************/ /***********************************************************************/
/* Get a text from user /* Get a text from user
titre = titre a afficher * titre = titre a afficher
buffer : text enter by user * buffer : text enter by user
leading and trailing spaces are removed * leading and trailing spaces are removed
if buffer != "" buffer is displayed * if buffer != "" buffer is displayed
return: * return:
0 if OK * 0 if OK
!= 0 if ESCAPE * != 0 if ESCAPE
*/ */
{ {
wxString message, default_text; wxString message, default_text;
if ( buffer ) default_text = buffer; if( buffer )
default_text = buffer;
message = wxGetTextFromUser(title, _("Text:"), message = wxGetTextFromUser( title, _( "Text:" ),
default_text, frame); default_text, frame );
if ( !message.IsEmpty() ) if( !message.IsEmpty() )
{ {
message.Trim(FALSE); // Remove blanks at beginning message.Trim( FALSE ); // Remove blanks at beginning
message.Trim(TRUE); // Remove blanks at end message.Trim( TRUE ); // Remove blanks at end
buffer = message; buffer = message;
return 0; return 0;
} }
return(1); return 1;
} }

View File

@ -25,6 +25,11 @@ static int AddFootprintFilterList( EDA_LibComponentStruct* LibE
FILE* f, char* Line, int* LineNum ); FILE* f, char* Line, int* LineNum );
static wxString currentLibraryName; // If this code was written in C++ then this would not be needed.
/*************************************************************************************/ /*************************************************************************************/
LibraryStruct* LoadLibraryName( WinEDA_DrawFrame* frame, LibraryStruct* LoadLibraryName( WinEDA_DrawFrame* frame,
const wxString& FullLibName, const wxString& LibName ) const wxString& FullLibName, const wxString& LibName )
@ -61,6 +66,8 @@ LibraryStruct* LoadLibraryName( WinEDA_DrawFrame* frame,
return NULL; return NULL;
} }
currentLibraryName = FullLibName;
NewLib = new LibraryStruct( LIBRARY_TYPE_EESCHEMA, LibName, FullLibName ); NewLib = new LibraryStruct( LIBRARY_TYPE_EESCHEMA, LibName, FullLibName );
Entries = LoadLibraryAux( frame, NewLib, f, &NumOfParts ); Entries = LoadLibraryAux( frame, NewLib, f, &NumOfParts );
@ -473,7 +480,8 @@ EDA_LibComponentStruct* Read_Component_Definition( WinEDA_DrawFrame* frame, char
/* End line or block analysis: test for an error */ /* End line or block analysis: test for an error */
if( !Res ) if( !Res )
{ /* Something went wrong there. */ { /* Something went wrong there. */
Msg.Printf( wxT( " Error Line %d, Library not loaded" ), *LineNum ); Msg.Printf( wxT( " Error at line %d of library \n\"%s\",\nlibrary not loaded" ),
*LineNum, currentLibraryName.GetData() );
DisplayError( frame, Msg ); DisplayError( frame, Msg );
delete LibEntry; delete LibEntry;
return NULL; return NULL;

View File

@ -1,6 +1,6 @@
MAKEGTK = $(MAKE) -f makefile.gtk MAKEGTK = $(MAKE) -f makefile.gtk
KICAD_SUBDIRS = common 3d-viewer pcbnew #eeschema eeschema/plugins cvpcb kicad gerbview KICAD_SUBDIRS = common 3d-viewer pcbnew eeschema eeschema/plugins cvpcb kicad gerbview
KICAD_SUBDIRS_BIN = eeschema eeschema/plugins pcbnew cvpcb kicad gerbview KICAD_SUBDIRS_BIN = eeschema eeschema/plugins pcbnew cvpcb kicad gerbview
KICAD_SUBDIRS_RES = internat modules template library KICAD_SUBDIRS_RES = internat modules template library
KICAD_SUBDIRS_HELP = help KICAD_SUBDIRS_HELP = help

View File

@ -637,7 +637,11 @@ void DrcDialog::OnStartdrcClick( wxCommandEvent& event )
// run all the tests, with no UI at this time. // run all the tests, with no UI at this time.
m_tester->RunTests(); m_tester->RunTests();
m_Notebook->ChangeSelection(0); // display the 1at tab "... Markers ..." #if wxCHECK_VERSION( 2, 8, 0 )
m_Notebook->ChangeSelection(0); // display the 1at tab "...Markers ..."
#else
m_Notebook->SetSelection(0); // display the 1at tab "... Markers..."
#endif
// Generate the report // Generate the report
@ -712,7 +716,11 @@ void DrcDialog::OnListUnconnectedClick( wxCommandEvent& event )
m_tester->ListUnconnectedPads(); m_tester->ListUnconnectedPads();
#if wxCHECK_VERSION( 2, 8, 0 )
m_Notebook->ChangeSelection(1); // display the 2nd tab "Unconnected..." m_Notebook->ChangeSelection(1); // display the 2nd tab "Unconnected..."
#else
m_Notebook->SetSelection(1); // display the 2nd tab "Unconnected..."
#endif
// Generate the report // Generate the report
if( !reportName.IsEmpty() ) if( !reportName.IsEmpty() )

View File

@ -52,16 +52,10 @@ void WinEDA_DrawFrame::Recadre_Trace( bool ToMouse )
ReDrawPanel(); ReDrawPanel();
D(printf("~ReDrawPanel x=%d, y=%d\n",
m_CurrentScreen->m_Curseur.x, m_CurrentScreen->m_Curseur.y );)
/* Move the mouse cursor to the on grid graphic cursor position */ /* Move the mouse cursor to the on grid graphic cursor position */
if( ToMouse == TRUE ) if( ToMouse == TRUE )
{ {
DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema();
D(printf("~MouseToCursorSchema x=%d, y=%d\n",
m_CurrentScreen->m_Curseur.x, m_CurrentScreen->m_Curseur.y );)
} }
} }