Commit 5156a1c1 authored by jerryjacobs's avatar jerryjacobs

Added load error dialog. To display file load errors in a wxTextCtrl with a...

Added load error dialog. To display file load errors in a wxTextCtrl with a message, this is the BUG 2802441 enhancement
parent aa9e61ed
......@@ -23,6 +23,8 @@ set(COMMON_SRCS
confirm.cpp
copy_to_clipboard.cpp
dialog_display_info_HTML_base.cpp
dialog_load_error.cpp
dialog_load_error_base.cpp
dcsvg.cpp
displlst.cpp
dlist.cpp
......
#include "dialog_load_error.h"
DIALOG_LOAD_ERROR::DIALOG_LOAD_ERROR( wxWindow* parent )
:
DIALOG_LOAD_ERROR_BASE( parent )
{
}
void DIALOG_LOAD_ERROR::OnOkClick( wxCommandEvent& event )
{
Destroy();
}
void DIALOG_LOAD_ERROR::ListClear(void)
{
TextCtrlList->Clear();
}
void DIALOG_LOAD_ERROR::ListSet(wxString *list)
{
wxString list_value = *list;
TextCtrlList->SetValue(list_value);
}
void DIALOG_LOAD_ERROR::MessageSet(wxString *message)
{
wxString message_value = *message;
StaticTextMessage->SetLabel(message_value);
}
#ifndef __dialog_load_error__
#define __dialog_load_error__
/**
@file
Subclass of DIALOG_LOAD_ERROR_BASE, which is generated by wxFormBuilder.
*/
#include "dialog_load_error_base.h"
/** Implementing DIALOG_LOAD_ERROR_BASE */
class DIALOG_LOAD_ERROR : public DIALOG_LOAD_ERROR_BASE
{
protected:
// Handlers for DIALOG_LOAD_ERROR_BASE events.
void OnOkClick( wxCommandEvent& event );
public:
/** Constructor */
DIALOG_LOAD_ERROR( wxWindow* parent );
void ListSet(wxString *list);
void ListClear();
void MessageSet(wxString *message);
};
#endif // __dialog_load_error__
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Dec 19 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "dialog_load_error_base.h"
///////////////////////////////////////////////////////////////////////////
DIALOG_LOAD_ERROR_BASE::DIALOG_LOAD_ERROR_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
this->SetSizeHints( wxSize( 320,240 ), wxDefaultSize );
wxBoxSizer* MainSizer;
MainSizer = new wxBoxSizer( wxVERTICAL );
wxBoxSizer* MessageSizer;
MessageSizer = new wxBoxSizer( wxVERTICAL );
StaticTextMessage = new wxStaticText( this, wxID_ANY, _("message dummy"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
StaticTextMessage->Wrap( -1 );
MessageSizer->Add( StaticTextMessage, 0, wxALIGN_LEFT|wxALIGN_TOP|wxALL|wxEXPAND, 5 );
MainSizer->Add( MessageSizer, 0, wxALIGN_BOTTOM|wxALIGN_LEFT|wxALIGN_RIGHT|wxALIGN_TOP|wxEXPAND, 5 );
wxBoxSizer* ListSizer;
ListSizer = new wxBoxSizer( wxVERTICAL );
TextCtrlList = new wxTextCtrl( this, wxID_ANY, _("list dummy"), wxPoint( 0,0 ), wxSize( -1,-1 ), wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL|wxNO_BORDER|wxVSCROLL );
ListSizer->Add( TextCtrlList, 1, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_TOP|wxEXPAND|wxALL, 5 );
MainSizer->Add( ListSizer, 1, wxEXPAND, 5 );
wxBoxSizer* bSizer5;
bSizer5 = new wxBoxSizer( wxVERTICAL );
OkButton = new wxButton( this, wxID_ANY, _("Ok"), wxDefaultPosition, wxDefaultSize, 0 );
OkButton->SetDefault();
bSizer5->Add( OkButton, 0, wxALIGN_RIGHT|wxALL, 5 );
MainSizer->Add( bSizer5, 0, wxEXPAND, 5 );
this->SetSizer( MainSizer );
this->Layout();
MainSizer->Fit( this );
this->Centre( wxBOTH );
// Connect Events
OkButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LOAD_ERROR_BASE::OnOkClick ), NULL, this );
}
DIALOG_LOAD_ERROR_BASE::~DIALOG_LOAD_ERROR_BASE()
{
// Disconnect Events
OkButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LOAD_ERROR_BASE::OnOkClick ), NULL, this );
}
This diff is collapsed.
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Dec 19 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_load_error_base__
#define __dialog_load_error_base__
#include <wx/intl.h>
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/sizer.h>
#include <wx/textctrl.h>
#include <wx/button.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_LOAD_ERROR_BASE
///////////////////////////////////////////////////////////////////////////////
class DIALOG_LOAD_ERROR_BASE : public wxDialog
{
private:
protected:
wxStaticText* StaticTextMessage;
wxTextCtrl* TextCtrlList;
wxButton* OkButton;
// Virtual event handlers, overide them in your derived class
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
public:
DIALOG_LOAD_ERROR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Load Error!"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
~DIALOG_LOAD_ERROR_BASE();
};
#endif //__dialog_load_error_base__
......@@ -19,13 +19,10 @@
#include "cvpcb.h"
#include "protos.h"
/* Bla */
/* MDC file strings */
wxString mdc_files_not_found;
wxString mdc_files_invalid;
/* routines locales : */
static void ReadDocLib( const wxString& ModLibName, FOOTPRINT_LIST& list );
......@@ -141,21 +138,28 @@ bool LoadFootprintFiles( const wxArrayString& libNames,
ReadDocLib( tmp, list );
}
/* Display if there are mdc files not found */
if( mdc_files_not_found != wxT(""))
if( !mdc_files_not_found.IsEmpty() )
{
wxString message = _("The following mdc files could not be found:\n\n");
message += mdc_files_not_found;
wxMessageBox( message, _("Load error!"), wxOK | wxICON_ERROR );
wxString message = _("Some MDC files could not be found!");
DIALOG_LOAD_ERROR *dialog = new DIALOG_LOAD_ERROR(NULL);
dialog->Show();
dialog->MessageSet(&message);
dialog->ListSet(&mdc_files_not_found);
mdc_files_not_found = wxT("");
}
/* Display if there are mdc files invalid */
if( mdc_files_invalid != wxT(""))
if( !mdc_files_invalid.IsEmpty() )
{
wxString message = _("The following mdc files are invalid:\n\n");
message += mdc_files_invalid;
wxMessageBox( message, _("Load error!"), wxOK | wxICON_ERROR );
wxString message = _("Some MDC files are invalid!");
DIALOG_LOAD_ERROR *dialog = new DIALOG_LOAD_ERROR(NULL);
dialog->Show();
dialog->MessageSet(&message);
dialog->ListSet(&mdc_files_invalid);
mdc_files_invalid = wxT("");
}
......
......@@ -166,9 +166,12 @@ void LoadLibraries( WinEDA_SchematicFrame* frame )
/* Print the libraries not found */
if( !libraries_not_found.IsEmpty() )
{
wxString message = _("The following libraries could not be found:\n\n");
message += libraries_not_found;
wxMessageBox( message, _("Load error!"), wxOK | wxICON_ERROR, frame );
wxString message = _("The following libraries could not be found:");
DIALOG_LOAD_ERROR *dialog = new DIALOG_LOAD_ERROR(NULL);
dialog->Show();
dialog->MessageSet(&message);
dialog->ListSet(&libraries_not_found);
libraries_not_found = wxT("");
}
......
......@@ -9,6 +9,9 @@
#include "wx/confbase.h"
#include "wx/fileconf.h"
/* TODO how do i else need to include a common dialog ? */
#include "../common/dialog_load_error.h"
class wxAboutDialogInfo;
class BASE_SCREEN;
class WinEDA_DrawFrame;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment