Commit dc978a9c authored by jean-pierre charras's avatar jean-pierre charras

Code cleaning and Fix a crash under wxWidgets 2.9.2 and Linux, related to wxFileHistory.

Coding policy fixes and dialog design rules cosmetic enhancement.
parents cf8f8ca2 d5dbb531
...@@ -213,7 +213,6 @@ void EDA_BASE_FRAME::UpdateFileHistory( const wxString& FullFileName, ...@@ -213,7 +213,6 @@ void EDA_BASE_FRAME::UpdateFileHistory( const wxString& FullFileName,
fileHistory = & wxGetApp().m_fileHistory; fileHistory = & wxGetApp().m_fileHistory;
fileHistory->AddFileToHistory( FullFileName ); fileHistory->AddFileToHistory( FullFileName );
ReCreateMenuBar();
} }
...@@ -245,7 +244,6 @@ wxString EDA_BASE_FRAME::GetFileFromHistory( int cmdId, const wxString& type, ...@@ -245,7 +244,6 @@ wxString EDA_BASE_FRAME::GetFileFromHistory( int cmdId, const wxString& type,
DisplayError( this, msg ); DisplayError( this, msg );
fileHistory->RemoveFileFromHistory( i ); fileHistory->RemoveFileFromHistory( i );
fn = wxEmptyString; fn = wxEmptyString;
ReCreateMenuBar();
} }
} }
......
...@@ -41,7 +41,7 @@ BEGIN_EVENT_TABLE( CVPCB_MAINFRAME, EDA_BASE_FRAME ) ...@@ -41,7 +41,7 @@ BEGIN_EVENT_TABLE( CVPCB_MAINFRAME, EDA_BASE_FRAME )
CVPCB_MAINFRAME::SaveQuitCvpcb ) CVPCB_MAINFRAME::SaveQuitCvpcb )
EVT_MENU( wxID_EXIT, EVT_MENU( wxID_EXIT,
CVPCB_MAINFRAME::OnQuit ) CVPCB_MAINFRAME::OnQuit )
EVT_MENU( ID_GENERAL_HELP, EVT_MENU( wxID_HELP,
CVPCB_MAINFRAME::GetKicadHelp ) CVPCB_MAINFRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EVT_MENU( wxID_ABOUT,
CVPCB_MAINFRAME::GetKicadAbout ) CVPCB_MAINFRAME::GetKicadAbout )
...@@ -461,8 +461,6 @@ void CVPCB_MAINFRAME::LoadNetList( wxCommandEvent& event ) ...@@ -461,8 +461,6 @@ void CVPCB_MAINFRAME::LoadNetList( wxCommandEvent& event )
if( ReadNetList() ) if( ReadNetList() )
{ {
UpdateFileHistory( m_NetlistFileName.GetFullPath() );
SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() + SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() +
wxT( " " ) + m_NetlistFileName.GetFullPath() ); wxT( " " ) + m_NetlistFileName.GetFullPath() );
} }
...@@ -470,8 +468,6 @@ void CVPCB_MAINFRAME::LoadNetList( wxCommandEvent& event ) ...@@ -470,8 +468,6 @@ void CVPCB_MAINFRAME::LoadNetList( wxCommandEvent& event )
{ {
SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() ); SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() );
} }
ReCreateMenuBar();
} }
......
...@@ -60,8 +60,6 @@ void WinEDA_App::MacOpenFile(const wxString &fileName) ...@@ -60,8 +60,6 @@ void WinEDA_App::MacOpenFile(const wxString &fileName)
if( frame->ReadNetList() ) if( frame->ReadNetList() )
{ {
frame->UpdateFileHistory( filename.GetFullPath() );
frame->SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() + frame->SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() +
wxT( " " ) + filename.GetFullPath() ); wxT( " " ) + filename.GetFullPath() );
} }
...@@ -69,9 +67,6 @@ void WinEDA_App::MacOpenFile(const wxString &fileName) ...@@ -69,9 +67,6 @@ void WinEDA_App::MacOpenFile(const wxString &fileName)
{ {
frame->SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() ); frame->SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() );
} }
frame->ReCreateMenuBar();
} }
// Create a new application object // Create a new application object
......
...@@ -115,6 +115,9 @@ bool CVPCB_MAINFRAME::ReadNetList() ...@@ -115,6 +115,9 @@ bool CVPCB_MAINFRAME::ReadNetList()
/* Update the title of the main window. */ /* Update the title of the main window. */
SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() + SetTitle( wxGetApp().GetTitle() + wxT( " " ) + GetBuildVersion() +
wxT( " " ) + m_NetlistFileName.GetFullPath() ); wxT( " " ) + m_NetlistFileName.GetFullPath() );
UpdateFileHistory( m_NetlistFileName.GetFullPath() );
return true; return true;
} }
......
...@@ -23,7 +23,7 @@ void CVPCB_MAINFRAME::ReCreateMenuBar() ...@@ -23,7 +23,7 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
wxMenuItem* item; wxMenuItem* item;
wxMenuBar* menuBar = GetMenuBar(); wxMenuBar* menuBar = GetMenuBar();
if( ! menuBar ) if( ! menuBar ) // Delete all menus
menuBar = new wxMenuBar(); menuBar = new wxMenuBar();
// Delete all existing menus so they can be rebuilt. // Delete all existing menus so they can be rebuilt.
...@@ -45,8 +45,14 @@ void CVPCB_MAINFRAME::ReCreateMenuBar() ...@@ -45,8 +45,14 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
open_document_xpm ); open_document_xpm );
// Open Recent submenu // Open Recent submenu
wxMenu* openRecentMenu = new wxMenu(); static wxMenu* openRecentMenu;
wxGetApp().m_fileHistory.AddFilesToMenu( openRecentMenu ); // Add this menu to list menu managed by m_fileHistory
// (the file history will be updated when adding/removing files in history
if( openRecentMenu )
wxGetApp().m_fileHistory.RemoveMenu( openRecentMenu );
openRecentMenu = new wxMenu();
wxGetApp().m_fileHistory.UseMenu( openRecentMenu );
wxGetApp().m_fileHistory.AddFilesToMenu( );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, openRecentMenu, -1, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, openRecentMenu, -1,
_( "Open &Recent" ), _( "Open &Recent" ),
_("Open a recent opened netlist document" ), _("Open a recent opened netlist document" ),
...@@ -111,8 +117,8 @@ void CVPCB_MAINFRAME::ReCreateMenuBar() ...@@ -111,8 +117,8 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
AddHelpVersionInfoMenuEntry( helpMenu ); AddHelpVersionInfoMenuEntry( helpMenu );
// Contents // Contents
ADD_MENUITEM_WITH_HELP( helpMenu, ID_GENERAL_HELP, _( "&Contents" ), ADD_MENUITEM_WITH_HELP( helpMenu, wxID_HELP, _( "&Contents" ),
_( "Open the cvpcb manual" ), _( "Open the Cvpcb handbook" ),
online_help_xpm ); online_help_xpm );
// About // About
......
...@@ -158,16 +158,14 @@ bool WinEDA_App::OnInit() ...@@ -158,16 +158,14 @@ bool WinEDA_App::OnInit()
filename.SetExt( SchematicFileExtension ); filename.SetExt( SchematicFileExtension );
wxSetWorkingDirectory( filename.GetPath() ); wxSetWorkingDirectory( filename.GetPath() );
if( frame->DrawPanel if( frame->LoadOneEEProject( filename.GetFullPath(), false ) )
&& frame->LoadOneEEProject( filename.GetFullPath(), false ) )
frame->DrawPanel->Refresh( true ); frame->DrawPanel->Refresh( true );
} }
else else
{ {
// Read a default config file if no file to load. // Read a default config file if no file to load.
frame->LoadProjectFile( wxEmptyString, TRUE ); frame->LoadProjectFile( wxEmptyString, TRUE );
if( frame->DrawPanel ) frame->DrawPanel->Refresh( TRUE );
frame->DrawPanel->Refresh( TRUE );
} }
return TRUE; return TRUE;
......
...@@ -153,9 +153,6 @@ bool SCH_EDIT_FRAME::LoadOneEEProject( const wxString& FileName, bool IsNew ) ...@@ -153,9 +153,6 @@ bool SCH_EDIT_FRAME::LoadOneEEProject( const wxString& FileName, bool IsNew )
{ {
if( !IsOK( this, _( "Discard changes to the current schematic?" ) ) ) if( !IsOK( this, _( "Discard changes to the current schematic?" ) ) )
return false; return false;
if( g_RootSheet->GetScreen()->GetFileName() != m_DefaultSchematicFileName )
UpdateFileHistory( g_RootSheet->GetScreen()->GetFileName() );
} }
FullFileName = FileName; FullFileName = FileName;
...@@ -304,6 +301,8 @@ bool SCH_EDIT_FRAME::LoadOneEEProject( const wxString& FileName, bool IsNew ) ...@@ -304,6 +301,8 @@ bool SCH_EDIT_FRAME::LoadOneEEProject( const wxString& FileName, bool IsNew )
bool diag = g_RootSheet->Load( this ); bool diag = g_RootSheet->Load( this );
SetScreen( m_CurrentSheet->LastScreen() ); SetScreen( m_CurrentSheet->LastScreen() );
UpdateFileHistory( g_RootSheet->GetScreen()->GetFileName() );
/* Redraw base screen (ROOT) if necessary. */ /* Redraw base screen (ROOT) if necessary. */
GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId ); GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );
Zoom_Automatique( false ); Zoom_Automatique( false );
......
...@@ -114,7 +114,7 @@ BEGIN_EVENT_TABLE( LIB_EDIT_FRAME, EDA_DRAW_FRAME ) ...@@ -114,7 +114,7 @@ BEGIN_EVENT_TABLE( LIB_EDIT_FRAME, EDA_DRAW_FRAME )
EVT_MENU( ID_LIBEDIT_SAVE_CURRENT_LIB_AS, LIB_EDIT_FRAME::SaveActiveLibrary ) EVT_MENU( ID_LIBEDIT_SAVE_CURRENT_LIB_AS, LIB_EDIT_FRAME::SaveActiveLibrary )
EVT_MENU( ID_LIBEDIT_GEN_PNG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent ) EVT_MENU( ID_LIBEDIT_GEN_PNG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent )
EVT_MENU( ID_LIBEDIT_GEN_SVG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent ) EVT_MENU( ID_LIBEDIT_GEN_SVG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent )
EVT_MENU( ID_GENERAL_HELP, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( ID_COLORS_SETUP, LIB_EDIT_FRAME::OnColorConfig ) EVT_MENU( ID_COLORS_SETUP, LIB_EDIT_FRAME::OnColorConfig )
EVT_MENU( ID_CONFIG_REQ, LIB_EDIT_FRAME::InstallConfigFrame ) EVT_MENU( ID_CONFIG_REQ, LIB_EDIT_FRAME::InstallConfigFrame )
......
...@@ -61,10 +61,16 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -61,10 +61,16 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
fileMenu->Append( item ); fileMenu->Append( item );
// Open Recent submenu // Open Recent submenu
wxMenu* openRecentMenu = new wxMenu(); static wxMenu* openRecentMenu;
// Add this menu to list menu managed by m_fileHistory
// (the file history will be updated when adding/removing files in history
if( openRecentMenu )
wxGetApp().m_fileHistory.RemoveMenu( openRecentMenu );
openRecentMenu = new wxMenu();
wxGetApp().m_fileHistory.UseMenu( openRecentMenu );
wxGetApp().m_fileHistory.AddFilesToMenu( openRecentMenu ); wxGetApp().m_fileHistory.AddFilesToMenu( openRecentMenu );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentMenu, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentMenu,
-1, _( "Open &Recent" ), wxID_ANY, _( "Open &Recent" ),
_( "Open a recent opened schematic project" ), _( "Open a recent opened schematic project" ),
open_project_xpm ); open_project_xpm );
// Separator // Separator
...@@ -464,9 +470,9 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -464,9 +470,9 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
// Contents // Contents
item = new wxMenuItem( helpMenu, item = new wxMenuItem( helpMenu,
ID_GENERAL_HELP, wxID_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the eeschema manual" ) ); _( "Open the Eeschema handbook" ) );
SET_BITMAP( online_help_xpm ); SET_BITMAP( online_help_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
......
...@@ -275,7 +275,7 @@ void LIB_EDIT_FRAME::ReCreateMenuBar() ...@@ -275,7 +275,7 @@ void LIB_EDIT_FRAME::ReCreateMenuBar()
// Contens // Contens
item = new wxMenuItem( helpMenu, item = new wxMenuItem( helpMenu,
ID_GENERAL_HELP, wxID_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the eeschema manual" ) ); _( "Open the eeschema manual" ) );
SET_BITMAP( online_help_xpm ); SET_BITMAP( online_help_xpm );
......
...@@ -99,7 +99,7 @@ BEGIN_EVENT_TABLE( SCH_EDIT_FRAME, EDA_DRAW_FRAME ) ...@@ -99,7 +99,7 @@ BEGIN_EVENT_TABLE( SCH_EDIT_FRAME, EDA_DRAW_FRAME )
EVT_TOOL( ID_FIND_ITEMS, SCH_EDIT_FRAME::OnFindItems ) EVT_TOOL( ID_FIND_ITEMS, SCH_EDIT_FRAME::OnFindItems )
EVT_TOOL( ID_BACKANNO_ITEMS, SCH_EDIT_FRAME::OnLoadStuffFile ) EVT_TOOL( ID_BACKANNO_ITEMS, SCH_EDIT_FRAME::OnLoadStuffFile )
EVT_MENU( ID_GENERAL_HELP, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EDA_DRAW_FRAME::GetKicadAbout ) EVT_MENU( wxID_ABOUT, EDA_DRAW_FRAME::GetKicadAbout )
// Tools and buttons for vertical toolbar. // Tools and buttons for vertical toolbar.
......
...@@ -60,7 +60,7 @@ EVT_MENU( ID_MENU_GERBVIEW_SELECT_PREFERED_EDITOR, ...@@ -60,7 +60,7 @@ EVT_MENU( ID_MENU_GERBVIEW_SELECT_PREFERED_EDITOR,
EVT_MENU( ID_GERBVIEW_GLOBAL_DELETE, GERBVIEW_FRAME::Process_Special_Functions ) EVT_MENU( ID_GERBVIEW_GLOBAL_DELETE, GERBVIEW_FRAME::Process_Special_Functions )
// Menu Help // Menu Help
EVT_MENU( ID_GENERAL_HELP, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EDA_DRAW_FRAME::GetKicadAbout ) EVT_MENU( wxID_ABOUT, EDA_DRAW_FRAME::GetKicadAbout )
EVT_TOOL( wxID_CUT, GERBVIEW_FRAME::Process_Special_Functions ) EVT_TOOL( wxID_CUT, GERBVIEW_FRAME::Process_Special_Functions )
......
...@@ -55,8 +55,14 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void ) ...@@ -55,8 +55,14 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
gerber_open_dcode_file_xpm ); gerber_open_dcode_file_xpm );
// Recent gerber files // Recent gerber files
wxMenu* openRecentGbrMenu = new wxMenu(); static wxMenu* openRecentGbrMenu;
wxGetApp().m_fileHistory.AddFilesToMenu( openRecentGbrMenu ); // Add this menu to list menu managed by m_fileHistory
// (the file history will be updated when adding/removing files in history
if( openRecentGbrMenu )
wxGetApp().m_fileHistory.RemoveMenu( openRecentGbrMenu );
openRecentGbrMenu = new wxMenu();
wxGetApp().m_fileHistory.UseMenu( openRecentGbrMenu );
wxGetApp().m_fileHistory.AddFilesToMenu();
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentGbrMenu, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentGbrMenu,
wxID_ANY, wxID_ANY,
_( "Open &Recent Gerber File" ), _( "Open &Recent Gerber File" ),
...@@ -64,10 +70,14 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void ) ...@@ -64,10 +70,14 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
gerber_recent_files_xpm ); gerber_recent_files_xpm );
// Recent drill files // Recent drill files
wxMenu* openRecentDrlMenu = new wxMenu(); static wxMenu* openRecentDrlMenu;
m_drillFileHistory.AddFilesToMenu( openRecentDrlMenu ); if( openRecentDrlMenu )
wxGetApp().m_fileHistory.RemoveMenu( openRecentDrlMenu );
openRecentDrlMenu = new wxMenu();
wxGetApp().m_fileHistory.UseMenu( openRecentDrlMenu );
m_drillFileHistory.AddFilesToMenu( );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentDrlMenu, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentDrlMenu,
wxID_ANY, wxID_ANY,
_( "Open Recent &Drill File" ), _( "Open Recent &Drill File" ),
_( "Open a recent opened drill file" ), _( "Open a recent opened drill file" ),
open_project_xpm ); open_project_xpm );
...@@ -184,9 +194,9 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void ) ...@@ -184,9 +194,9 @@ void GERBVIEW_FRAME::ReCreateMenuBar( void )
// Contents // Contents
ADD_MENUITEM_WITH_HELP( helpMenu, ADD_MENUITEM_WITH_HELP( helpMenu,
ID_GENERAL_HELP, wxID_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the gerbview manual" ), _( "Open the Gerbview handbook" ),
help_xpm ); help_xpm );
// About gerbview // About gerbview
......
...@@ -51,13 +51,7 @@ enum main_id ...@@ -51,13 +51,7 @@ enum main_id
ID_GEN_COPY_BLOCK_TO_CLIPBOARD, ID_GEN_COPY_BLOCK_TO_CLIPBOARD,
ID_GEN_EXPORT_FILE, ID_GEN_EXPORT_FILE,
ID_GEN_EXPORT_SPECCTRA,
ID_GEN_EXPORT_FILE_GENCADFORMAT,
ID_GEN_EXPORT_FILE_MODULE_REPORT,
ID_GEN_IMPORT_FILE, ID_GEN_IMPORT_FILE,
ID_GEN_IMPORT_SPECCTRA_SESSION,
ID_GEN_IMPORT_SPECCTRA_DESIGN,
ID_EXIT, ID_EXIT,
ID_OPTIONS_SETUP, ID_OPTIONS_SETUP,
...@@ -68,10 +62,7 @@ enum main_id ...@@ -68,10 +62,7 @@ enum main_id
ID_OPT_TOOLBAR, ID_OPT_TOOLBAR,
ID_AUX_TOOLBAR, ID_AUX_TOOLBAR,
ID_GENERAL_HELP,
ID_HELP_COPY_VERSION_STRING, ID_HELP_COPY_VERSION_STRING,
ID_LOCAL_HELP,
ID_KICAD_ABOUT, // @todo all handle by wxID_ABOUT
ID_EDIT, ID_EDIT,
ID_NO_TOOL_SELECTED, ID_NO_TOOL_SELECTED,
......
...@@ -192,6 +192,9 @@ public: ...@@ -192,6 +192,9 @@ public:
/** /**
* Function GetFileFromHistory * Function GetFileFromHistory
* fetches the file name from the file history list. * fetches the file name from the file history list.
* and removes the selected file, if this file does not exists
* Note also the menu is updated, if wxFileHistory::UseMenu
* was called at init time
* @param cmdId The command ID associated with the \a aFileHistory object. * @param cmdId The command ID associated with the \a aFileHistory object.
* @param type Please document me! * @param type Please document me!
* @param aFileHistory The wxFileHistory in use. If null, the main application file * @param aFileHistory The wxFileHistory in use. If null, the main application file
...@@ -203,15 +206,23 @@ public: ...@@ -203,15 +206,23 @@ public:
/** /**
* Function UpdateFileHistory * Function UpdateFileHistory
* ypdates the list of recently opened files. * Updates the list of recently opened files.
* Note also the menu is updated, if wxFileHistory::UseMenu
* was called at init time
* @param FullFileName The full file name including the path. * @param FullFileName The full file name including the path.
* @param aFileHistory The wxFileHistory in use. If NULL, the main application file * @param aFileHistory The wxFileHistory in use.
* history is used. * If NULL, the main application file history is used.
*/ */
void UpdateFileHistory( const wxString& FullFileName, void UpdateFileHistory( const wxString& FullFileName,
wxFileHistory * aFileHistory = NULL ); wxFileHistory * aFileHistory = NULL );
void DisplayActivity( int PerCent, const wxString& Text ); void DisplayActivity( int PerCent, const wxString& Text );
/**
* Function ReCreateMenuBar
* Creates recreates the menu bar.
* Needed when the language is changed
*/
virtual void ReCreateMenuBar(); virtual void ReCreateMenuBar();
}; };
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include "../bitmap2component/bitmap2component.xpm" #include "../bitmap2component/bitmap2component.xpm"
RIGHT_KM_FRAME::RIGHT_KM_FRAME( WinEDA_MainFrame* parent ) : RIGHT_KM_FRAME::RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent ) :
wxSashLayoutWindow( parent, wxID_ANY ) wxSashLayoutWindow( parent, wxID_ANY )
{ {
#define BUTTON_HEIGHT 32 #define BUTTON_HEIGHT 32
......
...@@ -27,11 +27,11 @@ static const wxString ZipFileExtension( wxT( "zip" ) ); ...@@ -27,11 +27,11 @@ static const wxString ZipFileExtension( wxT( "zip" ) );
static const wxString ZipFileWildcard( wxT( "Zip file (*.zip) | *.zip" ) ); static const wxString ZipFileWildcard( wxT( "Zip file (*.zip) | *.zip" ) );
void WinEDA_MainFrame::OnFileHistory( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnFileHistory( wxCommandEvent& event )
{ {
wxString fn; wxString fn;
fn = GetFileFromHistory( event.GetId(), _( "Printed circuit board" ) ); fn = GetFileFromHistory( event.GetId(), _( "Kicad project file" ) );
if( fn != wxEmptyString ) if( fn != wxEmptyString )
{ {
...@@ -39,11 +39,9 @@ void WinEDA_MainFrame::OnFileHistory( wxCommandEvent& event ) ...@@ -39,11 +39,9 @@ void WinEDA_MainFrame::OnFileHistory( wxCommandEvent& event )
m_ProjectFileName = fn; m_ProjectFileName = fn;
OnLoadProject( cmd ); OnLoadProject( cmd );
} }
ReCreateMenuBar();
} }
void WinEDA_MainFrame::OnUnarchiveFiles( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnUnarchiveFiles( wxCommandEvent& event )
{ {
wxFileName fn = m_ProjectFileName; wxFileName fn = m_ProjectFileName;
fn.SetExt( ZipFileExtension ); fn.SetExt( ZipFileExtension );
...@@ -109,7 +107,7 @@ void WinEDA_MainFrame::OnUnarchiveFiles( wxCommandEvent& event ) ...@@ -109,7 +107,7 @@ void WinEDA_MainFrame::OnUnarchiveFiles( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnArchiveFiles( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnArchiveFiles( wxCommandEvent& event )
{ {
size_t i; size_t i;
wxFileName fileName = m_ProjectFileName; wxFileName fileName = m_ProjectFileName;
......
...@@ -43,7 +43,7 @@ IMPLEMENT_APP( WinEDA_App ) ...@@ -43,7 +43,7 @@ IMPLEMENT_APP( WinEDA_App )
* http://wiki.wxwidgets.org/WxMac-specific_topics * http://wiki.wxwidgets.org/WxMac-specific_topics
*/ */
void WinEDA_App::MacOpenFile(const wxString &fileName) { void WinEDA_App::MacOpenFile(const wxString &fileName) {
WinEDA_MainFrame * frame = ((WinEDA_MainFrame*)GetTopWindow()); KICAD_MANAGER_FRAME * frame = ((KICAD_MANAGER_FRAME*)GetTopWindow());
wxFileName fn = fileName; wxFileName fn = fileName;
frame->m_ProjectFileName = fn; frame->m_ProjectFileName = fn;
...@@ -75,7 +75,7 @@ void WinEDA_App::MacOpenFile(const wxString &fileName) { ...@@ -75,7 +75,7 @@ void WinEDA_App::MacOpenFile(const wxString &fileName) {
bool WinEDA_App::OnInit() bool WinEDA_App::OnInit()
/*****************************************************************************/ /*****************************************************************************/
{ {
WinEDA_MainFrame* frame; KICAD_MANAGER_FRAME* frame;
InitEDA_Appl( wxT( "KiCad" ), APP_TYPE_KICAD ); InitEDA_Appl( wxT( "KiCad" ), APP_TYPE_KICAD );
...@@ -86,7 +86,7 @@ bool WinEDA_App::OnInit() ...@@ -86,7 +86,7 @@ bool WinEDA_App::OnInit()
/* Make nameless project translatable */ /* Make nameless project translatable */
wxFileName namelessProject( wxGetCwd(), NAMELESS_PROJECT, ProjectFileExtension ); wxFileName namelessProject( wxGetCwd(), NAMELESS_PROJECT, ProjectFileExtension );
frame = new WinEDA_MainFrame( NULL, wxT( "KiCad" ), frame = new KICAD_MANAGER_FRAME( NULL, wxT( "KiCad" ),
wxPoint( 30, 20 ), wxSize( 600, 400 ) ); wxPoint( 30, 20 ), wxSize( 600, 400 ) );
if( argc > 1 ) if( argc > 1 )
......
...@@ -54,10 +54,10 @@ enum id_kicad_frm { ...@@ -54,10 +54,10 @@ enum id_kicad_frm {
}; };
/* class WinEDA_MainFrame /* class KICAD_MANAGER_FRAME
* This is the main kicad frame * This is the main kicad frame
*/ */
class WinEDA_MainFrame : public EDA_BASE_FRAME class KICAD_MANAGER_FRAME : public EDA_BASE_FRAME
{ {
public: public:
TREE_PROJECT_FRAME* m_LeftWin; TREE_PROJECT_FRAME* m_LeftWin;
...@@ -72,10 +72,10 @@ private: ...@@ -72,10 +72,10 @@ private:
public: public:
WinEDA_MainFrame( wxWindow* parent, const wxString& title, KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& title,
const wxPoint& pos, const wxSize& size ); const wxPoint& pos, const wxSize& size );
~WinEDA_MainFrame(); ~KICAD_MANAGER_FRAME();
/** /**
* Function CreateCommandToolbar * Function CreateCommandToolbar
...@@ -143,7 +143,7 @@ class RIGHT_KM_FRAME : public wxSashLayoutWindow ...@@ -143,7 +143,7 @@ class RIGHT_KM_FRAME : public wxSashLayoutWindow
public: public:
wxTextCtrl* m_DialogWin; wxTextCtrl* m_DialogWin;
private: private:
WinEDA_MainFrame* m_Parent; KICAD_MANAGER_FRAME* m_Parent;
int m_ButtonsPanelHeight; int m_ButtonsPanelHeight;
wxPanel* m_ButtPanel; wxPanel* m_ButtPanel;
int m_ButtonSeparation; // button distance in pixels int m_ButtonSeparation; // button distance in pixels
...@@ -153,7 +153,7 @@ private: ...@@ -153,7 +153,7 @@ private:
wxPoint m_ButtonLastPosition; // position of the last button in the window wxPoint m_ButtonLastPosition; // position of the last button in the window
public: public:
RIGHT_KM_FRAME( WinEDA_MainFrame* parent ); RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent );
~RIGHT_KM_FRAME() { }; ~RIGHT_KM_FRAME() { };
void OnSize( wxSizeEvent& event ); void OnSize( wxSizeEvent& event );
......
/***********************************************************/ /***********************************************************/
/* mdiframe.cpp - WinEDA_MainFrame is the kicad main frame */ /* mdiframe.cpp - KICAD_MANAGER_FRAME is the kicad main frame */
/***********************************************************/ /***********************************************************/
#ifdef __GNUG__ #ifdef __GNUG__
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
static const wxString TreeFrameWidthEntry( wxT( "LeftWinWidth" ) ); static const wxString TreeFrameWidthEntry( wxT( "LeftWinWidth" ) );
WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent, KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent,
const wxString& title, const wxString& title,
const wxPoint& pos, const wxPoint& pos,
const wxSize& size ) : const wxSize& size ) :
...@@ -99,7 +99,7 @@ WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent, ...@@ -99,7 +99,7 @@ WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent,
} }
WinEDA_MainFrame::~WinEDA_MainFrame() KICAD_MANAGER_FRAME::~KICAD_MANAGER_FRAME()
{ {
m_auimgr.UnInit(); m_auimgr.UnInit();
} }
...@@ -108,7 +108,7 @@ WinEDA_MainFrame::~WinEDA_MainFrame() ...@@ -108,7 +108,7 @@ WinEDA_MainFrame::~WinEDA_MainFrame()
/* /*
* Put text in the dialog frame * Put text in the dialog frame
*/ */
void WinEDA_MainFrame::PrintMsg( const wxString& text ) void KICAD_MANAGER_FRAME::PrintMsg( const wxString& text )
{ {
m_RightWin->m_DialogWin->AppendText( text ); m_RightWin->m_DialogWin->AppendText( text );
} }
...@@ -116,13 +116,13 @@ void WinEDA_MainFrame::PrintMsg( const wxString& text ) ...@@ -116,13 +116,13 @@ void WinEDA_MainFrame::PrintMsg( const wxString& text )
/* Resize windows when dragging window borders /* Resize windows when dragging window borders
*/ */
void WinEDA_MainFrame::OnSashDrag( wxSashEvent& event ) void KICAD_MANAGER_FRAME::OnSashDrag( wxSashEvent& event )
{ {
event.Skip(); event.Skip();
} }
void WinEDA_MainFrame::OnSize( wxSizeEvent& event ) void KICAD_MANAGER_FRAME::OnSize( wxSizeEvent& event )
{ {
if( m_auimgr.GetManagedWindow() ) if( m_auimgr.GetManagedWindow() )
m_auimgr.Update(); m_auimgr.Update();
...@@ -131,7 +131,7 @@ void WinEDA_MainFrame::OnSize( wxSizeEvent& event ) ...@@ -131,7 +131,7 @@ void WinEDA_MainFrame::OnSize( wxSizeEvent& event )
} }
void WinEDA_MainFrame::OnCloseWindow( wxCloseEvent& Event ) void KICAD_MANAGER_FRAME::OnCloseWindow( wxCloseEvent& Event )
{ {
int px, py; int px, py;
...@@ -166,18 +166,18 @@ void WinEDA_MainFrame::OnCloseWindow( wxCloseEvent& Event ) ...@@ -166,18 +166,18 @@ void WinEDA_MainFrame::OnCloseWindow( wxCloseEvent& Event )
} }
void WinEDA_MainFrame::OnExit( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnExit( wxCommandEvent& event )
{ {
Close( true ); Close( true );
} }
void WinEDA_MainFrame::OnRunBitmapConverter( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnRunBitmapConverter( wxCommandEvent& event )
{ {
ExecuteFile( this, BITMAPCONVERTER_EXE, wxEmptyString ); ExecuteFile( this, BITMAPCONVERTER_EXE, wxEmptyString );
} }
void WinEDA_MainFrame::OnRunPcbNew( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnRunPcbNew( wxCommandEvent& event )
{ {
wxFileName fn( m_ProjectFileName ); wxFileName fn( m_ProjectFileName );
...@@ -186,7 +186,7 @@ void WinEDA_MainFrame::OnRunPcbNew( wxCommandEvent& event ) ...@@ -186,7 +186,7 @@ void WinEDA_MainFrame::OnRunPcbNew( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnRunCvpcb( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnRunCvpcb( wxCommandEvent& event )
{ {
wxFileName fn( m_ProjectFileName ); wxFileName fn( m_ProjectFileName );
...@@ -195,7 +195,7 @@ void WinEDA_MainFrame::OnRunCvpcb( wxCommandEvent& event ) ...@@ -195,7 +195,7 @@ void WinEDA_MainFrame::OnRunCvpcb( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnRunEeschema( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnRunEeschema( wxCommandEvent& event )
{ {
wxFileName fn( m_ProjectFileName ); wxFileName fn( m_ProjectFileName );
...@@ -204,7 +204,7 @@ void WinEDA_MainFrame::OnRunEeschema( wxCommandEvent& event ) ...@@ -204,7 +204,7 @@ void WinEDA_MainFrame::OnRunEeschema( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnRunGerbview( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnRunGerbview( wxCommandEvent& event )
{ {
wxFileName fn( m_ProjectFileName ); wxFileName fn( m_ProjectFileName );
wxString path = wxT("\""); wxString path = wxT("\"");
...@@ -214,7 +214,7 @@ void WinEDA_MainFrame::OnRunGerbview( wxCommandEvent& event ) ...@@ -214,7 +214,7 @@ void WinEDA_MainFrame::OnRunGerbview( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnOpenTextEditor( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnOpenTextEditor( wxCommandEvent& event )
{ {
wxString editorname = wxGetApp().GetEditorName(); wxString editorname = wxGetApp().GetEditorName();
...@@ -223,7 +223,7 @@ void WinEDA_MainFrame::OnOpenTextEditor( wxCommandEvent& event ) ...@@ -223,7 +223,7 @@ void WinEDA_MainFrame::OnOpenTextEditor( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnOpenFileInTextEditor( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnOpenFileInTextEditor( wxCommandEvent& event )
{ {
wxString mask( wxT( "*" ) ); wxString mask( wxT( "*" ) );
...@@ -246,13 +246,13 @@ void WinEDA_MainFrame::OnOpenFileInTextEditor( wxCommandEvent& event ) ...@@ -246,13 +246,13 @@ void WinEDA_MainFrame::OnOpenFileInTextEditor( wxCommandEvent& event )
} }
void WinEDA_MainFrame::OnRefresh( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnRefresh( wxCommandEvent& event )
{ {
m_LeftWin->ReCreateTreePrj(); m_LeftWin->ReCreateTreePrj();
} }
void WinEDA_MainFrame::ClearMsg() void KICAD_MANAGER_FRAME::ClearMsg()
{ {
m_RightWin->m_DialogWin->Clear(); m_RightWin->m_DialogWin->Clear();
} }
...@@ -264,7 +264,7 @@ void WinEDA_MainFrame::ClearMsg() ...@@ -264,7 +264,7 @@ void WinEDA_MainFrame::ClearMsg()
* Don't forget to call this base method from any derived classes or the * Don't forget to call this base method from any derived classes or the
* settings will not get loaded. * settings will not get loaded.
*/ */
void WinEDA_MainFrame::LoadSettings() void KICAD_MANAGER_FRAME::LoadSettings()
{ {
wxASSERT( wxGetApp().m_EDA_Config != NULL ); wxASSERT( wxGetApp().m_EDA_Config != NULL );
...@@ -281,7 +281,7 @@ void WinEDA_MainFrame::LoadSettings() ...@@ -281,7 +281,7 @@ void WinEDA_MainFrame::LoadSettings()
* Don't forget to call this base method from any derived classes or the * Don't forget to call this base method from any derived classes or the
* settings will not get saved. * settings will not get saved.
*/ */
void WinEDA_MainFrame::SaveSettings() void KICAD_MANAGER_FRAME::SaveSettings()
{ {
wxASSERT( wxGetApp().m_EDA_Config != NULL ); wxASSERT( wxGetApp().m_EDA_Config != NULL );
...@@ -291,4 +291,3 @@ void WinEDA_MainFrame::SaveSettings() ...@@ -291,4 +291,3 @@ void WinEDA_MainFrame::SaveSettings()
cfg->Write( TreeFrameWidthEntry, m_LeftWin->GetSize().x ); cfg->Write( TreeFrameWidthEntry, m_LeftWin->GetSize().x );
} }
...@@ -10,49 +10,49 @@ ...@@ -10,49 +10,49 @@
#include "bitmaps.h" #include "bitmaps.h"
/* Menubar and toolbar event table */ /* Menubar and toolbar event table */
BEGIN_EVENT_TABLE( WinEDA_MainFrame, EDA_BASE_FRAME ) BEGIN_EVENT_TABLE( KICAD_MANAGER_FRAME, EDA_BASE_FRAME )
/* Window events */ /* Window events */
EVT_SIZE( WinEDA_MainFrame::OnSize ) EVT_SIZE( KICAD_MANAGER_FRAME::OnSize )
EVT_CLOSE( WinEDA_MainFrame::OnCloseWindow ) EVT_CLOSE( KICAD_MANAGER_FRAME::OnCloseWindow )
/* Sash drag events */ /* Sash drag events */
EVT_SASH_DRAGGED( ID_LEFT_FRAME, WinEDA_MainFrame::OnSashDrag ) EVT_SASH_DRAGGED( ID_LEFT_FRAME, KICAD_MANAGER_FRAME::OnSashDrag )
/* Toolbar events */ /* Toolbar events */
EVT_TOOL( ID_NEW_PROJECT, WinEDA_MainFrame::OnLoadProject ) EVT_TOOL( ID_NEW_PROJECT, KICAD_MANAGER_FRAME::OnLoadProject )
EVT_TOOL( ID_LOAD_PROJECT, WinEDA_MainFrame::OnLoadProject ) EVT_TOOL( ID_LOAD_PROJECT, KICAD_MANAGER_FRAME::OnLoadProject )
EVT_TOOL( ID_SAVE_PROJECT, WinEDA_MainFrame::OnSaveProject ) EVT_TOOL( ID_SAVE_PROJECT, KICAD_MANAGER_FRAME::OnSaveProject )
EVT_TOOL( ID_SAVE_AND_ZIP_FILES, WinEDA_MainFrame::OnArchiveFiles ) EVT_TOOL( ID_SAVE_AND_ZIP_FILES, KICAD_MANAGER_FRAME::OnArchiveFiles )
/* Menu events */ /* Menu events */
EVT_MENU( ID_SAVE_PROJECT, WinEDA_MainFrame::OnSaveProject ) EVT_MENU( ID_SAVE_PROJECT, KICAD_MANAGER_FRAME::OnSaveProject )
EVT_MENU( wxID_EXIT, WinEDA_MainFrame::OnExit ) EVT_MENU( wxID_EXIT, KICAD_MANAGER_FRAME::OnExit )
EVT_MENU( ID_TO_EDITOR, WinEDA_MainFrame::OnOpenTextEditor ) EVT_MENU( ID_TO_EDITOR, KICAD_MANAGER_FRAME::OnOpenTextEditor )
EVT_MENU( ID_BROWSE_AN_SELECT_FILE, WinEDA_MainFrame::OnOpenFileInTextEditor ) EVT_MENU( ID_BROWSE_AN_SELECT_FILE, KICAD_MANAGER_FRAME::OnOpenFileInTextEditor )
EVT_MENU( ID_SELECT_PREFERED_EDITOR, EDA_BASE_FRAME::OnSelectPreferredEditor ) EVT_MENU( ID_SELECT_PREFERED_EDITOR, EDA_BASE_FRAME::OnSelectPreferredEditor )
EVT_MENU( ID_SELECT_DEFAULT_PDF_BROWSER, WinEDA_MainFrame::OnSelectDefaultPdfBrowser ) EVT_MENU( ID_SELECT_DEFAULT_PDF_BROWSER, KICAD_MANAGER_FRAME::OnSelectDefaultPdfBrowser )
EVT_MENU( ID_SELECT_PREFERED_PDF_BROWSER, WinEDA_MainFrame::OnSelectPreferredPdfBrowser ) EVT_MENU( ID_SELECT_PREFERED_PDF_BROWSER, KICAD_MANAGER_FRAME::OnSelectPreferredPdfBrowser )
EVT_MENU( ID_SELECT_PREFERED_PDF_BROWSER_NAME, WinEDA_MainFrame::OnSelectPreferredPdfBrowser ) EVT_MENU( ID_SELECT_PREFERED_PDF_BROWSER_NAME, KICAD_MANAGER_FRAME::OnSelectPreferredPdfBrowser )
EVT_MENU( ID_SAVE_AND_ZIP_FILES, WinEDA_MainFrame::OnArchiveFiles ) EVT_MENU( ID_SAVE_AND_ZIP_FILES, KICAD_MANAGER_FRAME::OnArchiveFiles )
EVT_MENU( ID_READ_ZIP_ARCHIVE, WinEDA_MainFrame::OnUnarchiveFiles ) EVT_MENU( ID_READ_ZIP_ARCHIVE, KICAD_MANAGER_FRAME::OnUnarchiveFiles )
EVT_MENU( ID_PROJECT_TREE_REFRESH, WinEDA_MainFrame::OnRefresh ) EVT_MENU( ID_PROJECT_TREE_REFRESH, KICAD_MANAGER_FRAME::OnRefresh )
EVT_MENU( ID_GENERAL_HELP, WinEDA_MainFrame::GetKicadHelp ) EVT_MENU( wxID_HELP, KICAD_MANAGER_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, WinEDA_MainFrame::GetKicadAbout ) EVT_MENU( wxID_ABOUT, KICAD_MANAGER_FRAME::GetKicadAbout )
/* Range menu events */ /* Range menu events */
EVT_MENU_RANGE( ID_LANGUAGE_CHOICE, ID_LANGUAGE_CHOICE_END, WinEDA_MainFrame::SetLanguage ) EVT_MENU_RANGE( ID_LANGUAGE_CHOICE, ID_LANGUAGE_CHOICE_END, KICAD_MANAGER_FRAME::SetLanguage )
EVT_MENU_RANGE( wxID_FILE1, wxID_FILE9, WinEDA_MainFrame::OnFileHistory ) EVT_MENU_RANGE( wxID_FILE1, wxID_FILE9, KICAD_MANAGER_FRAME::OnFileHistory )
/* Button events */ /* Button events */
EVT_BUTTON( ID_TO_PCB, WinEDA_MainFrame::OnRunPcbNew ) EVT_BUTTON( ID_TO_PCB, KICAD_MANAGER_FRAME::OnRunPcbNew )
EVT_BUTTON( ID_TO_CVPCB, WinEDA_MainFrame::OnRunCvpcb ) EVT_BUTTON( ID_TO_CVPCB, KICAD_MANAGER_FRAME::OnRunCvpcb )
EVT_BUTTON( ID_TO_EESCHEMA, WinEDA_MainFrame::OnRunEeschema ) EVT_BUTTON( ID_TO_EESCHEMA, KICAD_MANAGER_FRAME::OnRunEeschema )
EVT_BUTTON( ID_TO_GERBVIEW, WinEDA_MainFrame::OnRunGerbview ) EVT_BUTTON( ID_TO_GERBVIEW, KICAD_MANAGER_FRAME::OnRunGerbview )
EVT_BUTTON( ID_TO_BITMAP_CONVERTER, WinEDA_MainFrame::OnRunBitmapConverter ) EVT_BUTTON( ID_TO_BITMAP_CONVERTER, KICAD_MANAGER_FRAME::OnRunBitmapConverter )
EVT_UPDATE_UI( ID_SELECT_DEFAULT_PDF_BROWSER, WinEDA_MainFrame::OnUpdateDefaultPdfBrowser ) EVT_UPDATE_UI( ID_SELECT_DEFAULT_PDF_BROWSER, KICAD_MANAGER_FRAME::OnUpdateDefaultPdfBrowser )
EVT_UPDATE_UI( ID_SELECT_PREFERED_PDF_BROWSER, WinEDA_MainFrame::OnUpdatePreferredPdfBrowser ) EVT_UPDATE_UI( ID_SELECT_PREFERED_PDF_BROWSER, KICAD_MANAGER_FRAME::OnUpdatePreferredPdfBrowser )
END_EVENT_TABLE() END_EVENT_TABLE()
...@@ -60,7 +60,7 @@ END_EVENT_TABLE() ...@@ -60,7 +60,7 @@ END_EVENT_TABLE()
/** /**
* @brief (Re)Create the menubar * @brief (Re)Create the menubar
*/ */
void WinEDA_MainFrame::ReCreateMenuBar() void KICAD_MANAGER_FRAME::ReCreateMenuBar()
{ {
// Create and try to get the current menubar // Create and try to get the current menubar
wxMenuItem* item; wxMenuItem* item;
...@@ -88,8 +88,14 @@ void WinEDA_MainFrame::ReCreateMenuBar() ...@@ -88,8 +88,14 @@ void WinEDA_MainFrame::ReCreateMenuBar()
open_project_xpm ); open_project_xpm );
// Open Recent submenu // Open Recent submenu
wxMenu* openRecentMenu = new wxMenu(); static wxMenu* openRecentMenu;
wxGetApp().m_fileHistory.AddFilesToMenu( openRecentMenu ); // Add this menu to list menu managed by m_fileHistory
// (the file history will be updated when adding/removing files in history
if( openRecentMenu )
wxGetApp().m_fileHistory.RemoveMenu( openRecentMenu );
openRecentMenu = new wxMenu();
wxGetApp().m_fileHistory.UseMenu( openRecentMenu );
wxGetApp().m_fileHistory.AddFilesToMenu( );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentMenu, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( fileMenu, openRecentMenu,
wxID_ANY, wxID_ANY,
_( "Open &Recent" ), _( "Open &Recent" ),
...@@ -217,9 +223,9 @@ void WinEDA_MainFrame::ReCreateMenuBar() ...@@ -217,9 +223,9 @@ void WinEDA_MainFrame::ReCreateMenuBar()
// Contents // Contents
ADD_MENUITEM_WITH_HELP( helpMenu, ADD_MENUITEM_WITH_HELP( helpMenu,
ID_GENERAL_HELP, wxID_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the kicad manual" ), _( "Open the Kicad handbook" ),
online_help_xpm ); online_help_xpm );
// Separator // Separator
...@@ -251,7 +257,7 @@ void WinEDA_MainFrame::ReCreateMenuBar() ...@@ -251,7 +257,7 @@ void WinEDA_MainFrame::ReCreateMenuBar()
/** /**
* @brief (Re)Create the horizontal toolbar * @brief (Re)Create the horizontal toolbar
*/ */
void WinEDA_MainFrame::RecreateBaseHToolbar() void KICAD_MANAGER_FRAME::RecreateBaseHToolbar()
{ {
// Check if toolbar is not already created // Check if toolbar is not already created
if( m_HToolBar != NULL ) if( m_HToolBar != NULL )
......
...@@ -18,26 +18,26 @@ ...@@ -18,26 +18,26 @@
#include <wx/fontdlg.h> #include <wx/fontdlg.h>
void WinEDA_MainFrame::OnUpdateDefaultPdfBrowser( wxUpdateUIEvent& event ) void KICAD_MANAGER_FRAME::OnUpdateDefaultPdfBrowser( wxUpdateUIEvent& event )
{ {
event.Check( wxGetApp().m_PdfBrowserIsDefault ); event.Check( wxGetApp().m_PdfBrowserIsDefault );
} }
void WinEDA_MainFrame::OnSelectDefaultPdfBrowser( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnSelectDefaultPdfBrowser( wxCommandEvent& event )
{ {
wxGetApp().m_PdfBrowserIsDefault = true; wxGetApp().m_PdfBrowserIsDefault = true;
wxGetApp().WritePdfBrowserInfos(); wxGetApp().WritePdfBrowserInfos();
} }
void WinEDA_MainFrame::OnUpdatePreferredPdfBrowser( wxUpdateUIEvent& event ) void KICAD_MANAGER_FRAME::OnUpdatePreferredPdfBrowser( wxUpdateUIEvent& event )
{ {
event.Check( !wxGetApp().m_PdfBrowserIsDefault ); event.Check( !wxGetApp().m_PdfBrowserIsDefault );
} }
void WinEDA_MainFrame::OnSelectPreferredPdfBrowser( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnSelectPreferredPdfBrowser( wxCommandEvent& event )
{ {
bool select = event.GetId() == ID_SELECT_PREFERED_PDF_BROWSER_NAME; bool select = event.GetId() == ID_SELECT_PREFERED_PDF_BROWSER_NAME;
...@@ -69,7 +69,7 @@ void WinEDA_MainFrame::OnSelectPreferredPdfBrowser( wxCommandEvent& event ) ...@@ -69,7 +69,7 @@ void WinEDA_MainFrame::OnSelectPreferredPdfBrowser( wxCommandEvent& event )
wxGetApp().WritePdfBrowserInfos(); wxGetApp().WritePdfBrowserInfos();
} }
void WinEDA_MainFrame::SetLanguage( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::SetLanguage( wxCommandEvent& event )
{ {
EDA_BASE_FRAME::SetLanguage( event ); EDA_BASE_FRAME::SetLanguage( event );
} }
...@@ -21,7 +21,7 @@ static const wxString SchematicRootNameEntry( wxT( "RootSch" ) ); ...@@ -21,7 +21,7 @@ static const wxString SchematicRootNameEntry( wxT( "RootSch" ) );
static const wxString BoardFileNameEntry( wxT( "BoardNm" ) ); static const wxString BoardFileNameEntry( wxT( "BoardNm" ) );
void WinEDA_MainFrame::CreateNewProject( const wxString PrjFullFileName ) void KICAD_MANAGER_FRAME::CreateNewProject( const wxString PrjFullFileName )
{ {
wxString filename; wxString filename;
wxFileName newProjectName = PrjFullFileName; wxFileName newProjectName = PrjFullFileName;
...@@ -59,7 +59,7 @@ void WinEDA_MainFrame::CreateNewProject( const wxString PrjFullFileName ) ...@@ -59,7 +59,7 @@ void WinEDA_MainFrame::CreateNewProject( const wxString PrjFullFileName )
/** /**
* Loading a new project * Loading a new project
*/ */
void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnLoadProject( wxCommandEvent& event )
{ {
int style; int style;
wxString title; wxString title;
...@@ -78,7 +78,6 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event ) ...@@ -78,7 +78,6 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event )
style = wxFD_OPEN | wxFD_FILE_MUST_EXIST; style = wxFD_OPEN | wxFD_FILE_MUST_EXIST;
} }
UpdateFileHistory( m_ProjectFileName.GetFullPath() );
wxFileDialog dlg( this, title, wxGetCwd(), wxEmptyString, wxFileDialog dlg( this, title, wxGetCwd(), wxEmptyString,
ProjectFileWildcard, style ); ProjectFileWildcard, style );
...@@ -98,8 +97,6 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event ) ...@@ -98,8 +97,6 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event )
} }
CreateNewProject( m_ProjectFileName.GetFullPath() ); CreateNewProject( m_ProjectFileName.GetFullPath() );
} }
UpdateFileHistory( m_ProjectFileName.GetFullPath() );
} }
wxLogDebug( wxT( "Loading Kicad project file: " ) + wxLogDebug( wxT( "Loading Kicad project file: " ) +
...@@ -136,7 +133,7 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event ) ...@@ -136,7 +133,7 @@ void WinEDA_MainFrame::OnLoadProject( wxCommandEvent& event )
/** /**
* Save the project top level configuration parameters. * Save the project top level configuration parameters.
*/ */
void WinEDA_MainFrame::OnSaveProject( wxCommandEvent& event ) void KICAD_MANAGER_FRAME::OnSaveProject( wxCommandEvent& event )
{ {
wxString fn; wxString fn;
......
...@@ -94,7 +94,7 @@ END_EVENT_TABLE() ...@@ -94,7 +94,7 @@ END_EVENT_TABLE()
/******************************************************************/ /******************************************************************/
TREE_PROJECT_FRAME::TREE_PROJECT_FRAME( WinEDA_MainFrame* parent ) : TREE_PROJECT_FRAME::TREE_PROJECT_FRAME( KICAD_MANAGER_FRAME* parent ) :
wxSashLayoutWindow( parent, wxSashLayoutWindow( parent,
ID_LEFT_FRAME, ID_LEFT_FRAME,
wxDefaultPosition, wxDefaultPosition,
......
...@@ -66,7 +66,7 @@ protected: ...@@ -66,7 +66,7 @@ protected:
TREEPROJECT_ITEM* GetItemIdData(wxTreeItemId aId); TREEPROJECT_ITEM* GetItemIdData(wxTreeItemId aId);
public: public:
WinEDA_MainFrame* m_Parent; KICAD_MANAGER_FRAME* m_Parent;
TREEPROJECTFILES* m_TreeProject; TREEPROJECTFILES* m_TreeProject;
wxTreeItemId m_root; wxTreeItemId m_root;
...@@ -75,7 +75,7 @@ public: ...@@ -75,7 +75,7 @@ public:
static wxString GetFileExt( TreeFileType type ); static wxString GetFileExt( TreeFileType type );
static wxString GetFileWildcard( TreeFileType type ); static wxString GetFileWildcard( TreeFileType type );
TREE_PROJECT_FRAME( WinEDA_MainFrame* parent ); TREE_PROJECT_FRAME( KICAD_MANAGER_FRAME* parent );
~TREE_PROJECT_FRAME(); ~TREE_PROJECT_FRAME();
void OnSelect( wxTreeEvent& Event ); void OnSelect( wxTreeEvent& Event );
void OnExpand( wxTreeEvent& Event ); void OnExpand( wxTreeEvent& Event );
......
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: dialog_design_rules.cpp // Name: dialog_design_rules.cpp
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
...@@ -45,6 +44,10 @@ ...@@ -45,6 +44,10 @@
#include "wx/generic/gridctrl.h" #include "wx/generic/gridctrl.h"
#include "dialog_design_rules_aux_helper_class.h" #include "dialog_design_rules_aux_helper_class.h"
// Column labels for net lists
#define NET_TITLE _( "Net" )
#define CLASS_TITLE _( "Class" )
// Field Positions on rules grid // Field Positions on rules grid
enum { enum {
GRID_CLEARANCE, GRID_CLEARANCE,
...@@ -161,8 +164,8 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) : ...@@ -161,8 +164,8 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) :
column0.SetMask( wxLIST_MASK_TEXT ); column0.SetMask( wxLIST_MASK_TEXT );
column1.SetMask( wxLIST_MASK_TEXT ); column1.SetMask( wxLIST_MASK_TEXT );
column0.SetText( _( "Net" ) ); column0.SetText( NET_TITLE );
column1.SetText( _( "Class" ) ); column1.SetText( CLASS_TITLE );
m_leftListCtrl->InsertColumn( 0, column0 ); m_leftListCtrl->InsertColumn( 0, column0 );
m_leftListCtrl->InsertColumn( 1, column1 ); m_leftListCtrl->InsertColumn( 1, column1 );
...@@ -429,24 +432,30 @@ void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl, ...@@ -429,24 +432,30 @@ void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl,
#endif #endif
// to speed up inserting we hide the control temporarily // Add netclass info to m_Netnames and m_Classnames wxArrayString buffers
aListCtrl->Hide(); // aListCtrl uses wxLC_VIRTUAL option, so this is fast
wxClientDC sDC(aListCtrl);
int row = 0; int row = 0;
// recompute the column widths here, after setting texts
int net_colsize = sDC.GetTextExtent( NET_TITLE ).x;
int class_colsize = sDC.GetTextExtent( CLASS_TITLE ).x;
for( PNETCUPS::iterator i = ptrList.begin(); i!=ptrList.end(); ++i, ++row ) for( PNETCUPS::iterator i = ptrList.begin(); i!=ptrList.end(); ++i, ++row )
{ {
wxSize net_needed = sDC.GetTextExtent( (*i)->net );
wxSize class_needed = sDC.GetTextExtent( (*i)->clazz );
net_colsize = MAX( net_colsize, net_needed.x );
class_colsize = MAX( class_colsize, class_needed.x );
aListCtrl->setRowItems( row, (*i)->net, (*i)->clazz ); aListCtrl->setRowItems( row, (*i)->net, (*i)->clazz );
} }
// recompute the column widths here, after setting texts int margin = sDC.GetTextExtent( wxT("XX") ).x;;
aListCtrl->SetColumnWidth( 0, wxLIST_AUTOSIZE ); aListCtrl->SetColumnWidth( 0, net_colsize + margin);
aListCtrl->SetColumnWidth( 1, wxLIST_AUTOSIZE ); aListCtrl->SetColumnWidth( 1, class_colsize + margin);
aListCtrl->Refresh();
aListCtrl->Show();
} }
/* Initialize the combo boxes by the list of existing net classes /* Populates combo boxes with the list of existing net classes
*/ */
void DIALOG_DESIGN_RULES::InitializeRulesSelectionBoxes() void DIALOG_DESIGN_RULES::InitializeRulesSelectionBoxes()
{ {
......
...@@ -153,7 +153,7 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID ...@@ -153,7 +153,7 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID
m_panelNetClassesEditor->SetSizer( bpanelNetClassesSizer ); m_panelNetClassesEditor->SetSizer( bpanelNetClassesSizer );
m_panelNetClassesEditor->Layout(); m_panelNetClassesEditor->Layout();
bpanelNetClassesSizer->Fit( m_panelNetClassesEditor ); bpanelNetClassesSizer->Fit( m_panelNetClassesEditor );
m_DRnotebook->AddPage( m_panelNetClassesEditor, _("Net Classes Editor"), true ); m_DRnotebook->AddPage( m_panelNetClassesEditor, _("Net Classes Editor"), false );
m_panelGolbalDesignRules = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL ); m_panelGolbalDesignRules = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
wxBoxSizer* bpanelGlobRulesSizer; wxBoxSizer* bpanelGlobRulesSizer;
bpanelGlobRulesSizer = new wxBoxSizer( wxVERTICAL ); bpanelGlobRulesSizer = new wxBoxSizer( wxVERTICAL );
...@@ -172,72 +172,21 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID ...@@ -172,72 +172,21 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID
sbViasOptionSizer->Add( m_OptViaType, 0, wxALL|wxEXPAND, 5 ); sbViasOptionSizer->Add( m_OptViaType, 0, wxALL|wxEXPAND, 5 );
wxFlexGridSizer* fgViasMinValuesSizer;
fgViasMinValuesSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
fgViasMinValuesSizer->AddGrowableCol( 1 );
fgViasMinValuesSizer->SetFlexibleDirection( wxBOTH );
fgViasMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_ViaMinTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min via diameter"), wxDefaultPosition, wxDefaultSize, 0 );
m_ViaMinTitle->Wrap( -1 );
fgViasMinValuesSizer->Add( m_ViaMinTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
m_SetViasMinSizeCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgViasMinValuesSizer->Add( m_SetViasMinSizeCtrl, 0, wxEXPAND|wxALL, 5 );
m_ViaMinDrillTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min via drill dia"), wxDefaultPosition, wxDefaultSize, 0 );
m_ViaMinDrillTitle->Wrap( -1 );
fgViasMinValuesSizer->Add( m_ViaMinDrillTitle, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT, 5 );
m_SetViasMinDrillCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgViasMinValuesSizer->Add( m_SetViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
sbViasOptionSizer->Add( fgViasMinValuesSizer, 0, wxEXPAND, 5 );
bDesignRulesUpperSizer->Add( sbViasOptionSizer, 1, wxALIGN_CENTER_VERTICAL, 5 );
wxStaticBoxSizer* sbuViasSizer;
sbuViasSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Micro Via Options:") ), wxVERTICAL );
wxString m_AllowMicroViaCtrlChoices[] = { _("Do not allow micro vias"), _("Allow micro vias") }; wxString m_AllowMicroViaCtrlChoices[] = { _("Do not allow micro vias"), _("Allow micro vias") };
int m_AllowMicroViaCtrlNChoices = sizeof( m_AllowMicroViaCtrlChoices ) / sizeof( wxString ); int m_AllowMicroViaCtrlNChoices = sizeof( m_AllowMicroViaCtrlChoices ) / sizeof( wxString );
m_AllowMicroViaCtrl = new wxRadioBox( m_panelGolbalDesignRules, wxID_ANY, _("Micro Vias:"), wxDefaultPosition, wxDefaultSize, m_AllowMicroViaCtrlNChoices, m_AllowMicroViaCtrlChoices, 1, wxRA_SPECIFY_COLS ); m_AllowMicroViaCtrl = new wxRadioBox( m_panelGolbalDesignRules, wxID_ANY, _("Micro Vias:"), wxDefaultPosition, wxDefaultSize, m_AllowMicroViaCtrlNChoices, m_AllowMicroViaCtrlChoices, 1, wxRA_SPECIFY_COLS );
m_AllowMicroViaCtrl->SetSelection( 0 ); m_AllowMicroViaCtrl->SetSelection( 0 );
m_AllowMicroViaCtrl->SetToolTip( _("Allows or do not allow use of micro vias\nThey are very small vias only from an external copper layer to its near neightbour") ); m_AllowMicroViaCtrl->SetToolTip( _("Allows or do not allow use of micro vias\nThey are very small vias only from an external copper layer to its near neightbour") );
sbuViasSizer->Add( m_AllowMicroViaCtrl, 0, wxALL|wxEXPAND, 5 ); sbViasOptionSizer->Add( m_AllowMicroViaCtrl, 0, wxALL|wxEXPAND, 5 );
wxFlexGridSizer* fgMinMicroviasValuesSizer;
fgMinMicroviasValuesSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
fgMinMicroviasValuesSizer->AddGrowableCol( 1 );
fgMinMicroviasValuesSizer->SetFlexibleDirection( wxBOTH );
fgMinMicroviasValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_MicroViaMinSizeTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min uvia diameter"), wxDefaultPosition, wxDefaultSize, 0 );
m_MicroViaMinSizeTitle->Wrap( -1 );
fgMinMicroviasValuesSizer->Add( m_MicroViaMinSizeTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
m_SetMicroViasMinSizeCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_SetMicroViasMinSizeCtrl->SetMaxLength( 6 );
fgMinMicroviasValuesSizer->Add( m_SetMicroViasMinSizeCtrl, 0, wxALL|wxEXPAND, 5 );
m_MicroViaMinDrillTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min uvia drill dia"), wxDefaultPosition, wxDefaultSize, 0 );
m_MicroViaMinDrillTitle->Wrap( -1 );
fgMinMicroviasValuesSizer->Add( m_MicroViaMinDrillTitle, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
m_SetMicroViasMinDrillCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_SetMicroViasMinDrillCtrl->SetMaxLength( 6 );
fgMinMicroviasValuesSizer->Add( m_SetMicroViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
sbuViasSizer->Add( fgMinMicroviasValuesSizer, 1, wxEXPAND, 5 ); bDesignRulesUpperSizer->Add( sbViasOptionSizer, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
bDesignRulesUpperSizer->Add( sbuViasSizer, 1, wxALIGN_CENTER_VERTICAL, 5 );
wxStaticBoxSizer* sbMinSizesSizer; wxStaticBoxSizer* sbMinSizesSizer;
sbMinSizesSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Minimum Allowed Values:") ), wxVERTICAL ); sbMinSizesSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Minimum Allowed Values:") ), wxVERTICAL );
wxFlexGridSizer* fgMinValuesSizer; wxFlexGridSizer* fgMinValuesSizer;
fgMinValuesSizer = new wxFlexGridSizer( 1, 2, 0, 0 ); fgMinValuesSizer = new wxFlexGridSizer( 5, 2, 0, 0 );
fgMinValuesSizer->AddGrowableCol( 1 ); fgMinValuesSizer->AddGrowableCol( 1 );
fgMinValuesSizer->SetFlexibleDirection( wxBOTH ); fgMinValuesSizer->SetFlexibleDirection( wxBOTH );
fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
...@@ -249,9 +198,39 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID ...@@ -249,9 +198,39 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID
m_SetTrackMinWidthCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_SetTrackMinWidthCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgMinValuesSizer->Add( m_SetTrackMinWidthCtrl, 0, wxALL|wxEXPAND, 5 ); fgMinValuesSizer->Add( m_SetTrackMinWidthCtrl, 0, wxALL|wxEXPAND, 5 );
sbMinSizesSizer->Add( fgMinValuesSizer, 0, 0, 5 ); m_ViaMinTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min via diameter"), wxDefaultPosition, wxDefaultSize, 0 );
m_ViaMinTitle->Wrap( -1 );
fgMinValuesSizer->Add( m_ViaMinTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
m_SetViasMinSizeCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgMinValuesSizer->Add( m_SetViasMinSizeCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
m_ViaMinDrillTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min via drill dia"), wxDefaultPosition, wxDefaultSize, 0 );
m_ViaMinDrillTitle->Wrap( -1 );
fgMinValuesSizer->Add( m_ViaMinDrillTitle, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT, 5 );
m_SetViasMinDrillCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgMinValuesSizer->Add( m_SetViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
m_MicroViaMinSizeTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min uvia diameter"), wxDefaultPosition, wxDefaultSize, 0 );
m_MicroViaMinSizeTitle->Wrap( -1 );
fgMinValuesSizer->Add( m_MicroViaMinSizeTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
m_SetMicroViasMinSizeCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_SetMicroViasMinSizeCtrl->SetMaxLength( 6 );
fgMinValuesSizer->Add( m_SetMicroViasMinSizeCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
m_MicroViaMinDrillTitle = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Min uvia drill dia"), wxDefaultPosition, wxDefaultSize, 0 );
m_MicroViaMinDrillTitle->Wrap( -1 );
fgMinValuesSizer->Add( m_MicroViaMinDrillTitle, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
m_SetMicroViasMinDrillCtrl = new wxTextCtrl( m_panelGolbalDesignRules, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_SetMicroViasMinDrillCtrl->SetMaxLength( 6 );
fgMinValuesSizer->Add( m_SetMicroViasMinDrillCtrl, 0, wxEXPAND|wxALL, 5 );
sbMinSizesSizer->Add( fgMinValuesSizer, 0, wxEXPAND, 5 );
bDesignRulesUpperSizer->Add( sbMinSizesSizer, 1, wxEXPAND, 5 ); bDesignRulesUpperSizer->Add( sbMinSizesSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
bpanelGlobRulesSizer->Add( bDesignRulesUpperSizer, 0, wxEXPAND, 5 ); bpanelGlobRulesSizer->Add( bDesignRulesUpperSizer, 0, wxEXPAND, 5 );
...@@ -357,7 +336,7 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID ...@@ -357,7 +336,7 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID
m_panelGolbalDesignRules->SetSizer( bpanelGlobRulesSizer ); m_panelGolbalDesignRules->SetSizer( bpanelGlobRulesSizer );
m_panelGolbalDesignRules->Layout(); m_panelGolbalDesignRules->Layout();
bpanelGlobRulesSizer->Fit( m_panelGolbalDesignRules ); bpanelGlobRulesSizer->Fit( m_panelGolbalDesignRules );
m_DRnotebook->AddPage( m_panelGolbalDesignRules, _("Global Design Rules"), false ); m_DRnotebook->AddPage( m_panelGolbalDesignRules, _("Global Design Rules"), true );
bMainSizer->Add( m_DRnotebook, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); bMainSizer->Add( m_DRnotebook, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
......
This diff is collapsed.
...@@ -71,17 +71,17 @@ class DIALOG_DESIGN_RULES_BASE : public wxDialog ...@@ -71,17 +71,17 @@ class DIALOG_DESIGN_RULES_BASE : public wxDialog
NETS_LIST_CTRL* m_rightListCtrl; NETS_LIST_CTRL* m_rightListCtrl;
wxPanel* m_panelGolbalDesignRules; wxPanel* m_panelGolbalDesignRules;
wxRadioBox* m_OptViaType; wxRadioBox* m_OptViaType;
wxRadioBox* m_AllowMicroViaCtrl;
wxStaticText* m_TrackMinWidthTitle;
wxTextCtrl* m_SetTrackMinWidthCtrl;
wxStaticText* m_ViaMinTitle; wxStaticText* m_ViaMinTitle;
wxTextCtrl* m_SetViasMinSizeCtrl; wxTextCtrl* m_SetViasMinSizeCtrl;
wxStaticText* m_ViaMinDrillTitle; wxStaticText* m_ViaMinDrillTitle;
wxTextCtrl* m_SetViasMinDrillCtrl; wxTextCtrl* m_SetViasMinDrillCtrl;
wxRadioBox* m_AllowMicroViaCtrl;
wxStaticText* m_MicroViaMinSizeTitle; wxStaticText* m_MicroViaMinSizeTitle;
wxTextCtrl* m_SetMicroViasMinSizeCtrl; wxTextCtrl* m_SetMicroViasMinSizeCtrl;
wxStaticText* m_MicroViaMinDrillTitle; wxStaticText* m_MicroViaMinDrillTitle;
wxTextCtrl* m_SetMicroViasMinDrillCtrl; wxTextCtrl* m_SetMicroViasMinDrillCtrl;
wxStaticText* m_TrackMinWidthTitle;
wxTextCtrl* m_SetTrackMinWidthCtrl;
wxStaticLine* m_staticline1; wxStaticLine* m_staticline1;
wxStaticText* m_staticTextInfo; wxStaticText* m_staticTextInfo;
wxStaticText* m_staticText7; wxStaticText* m_staticText7;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 16 2008) // C++ code generated with wxFormBuilder (version Nov 17 2010)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_exchange_modules_base__ #ifndef __dialog_exchange_modules_base__
#define __dialog_exchange_modules_base__ #define __dialog_exchange_modules_base__
#include <wx/intl.h> #include <wx/intl.h>
#include <wx/string.h> #include <wx/string.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
#include <wx/font.h> #include <wx/font.h>
#include <wx/colour.h> #include <wx/colour.h>
#include <wx/settings.h> #include <wx/settings.h>
#include <wx/textctrl.h> #include <wx/textctrl.h>
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/radiobox.h> #include <wx/radiobox.h>
#include <wx/button.h> #include <wx/button.h>
#include <wx/dialog.h> #include <wx/dialog.h>
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#define ID_SELECTION_CLICKED 1000 #define ID_SELECTION_CLICKED 1000
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_EXCHANGE_MODULE_BASE /// Class DIALOG_EXCHANGE_MODULE_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_EXCHANGE_MODULE_BASE : public wxDialog class DIALOG_EXCHANGE_MODULE_BASE : public wxDialog
{ {
private: private:
protected: protected:
wxStaticText* m_staticText6; wxStaticText* m_staticText6;
wxTextCtrl* m_OldModule; wxTextCtrl* m_OldModule;
wxStaticText* m_staticText7; wxStaticText* m_staticText7;
wxTextCtrl* m_OldValue; wxTextCtrl* m_OldValue;
wxStaticText* m_staticText8; wxStaticText* m_staticText8;
wxTextCtrl* m_NewModule; wxTextCtrl* m_NewModule;
wxRadioBox* m_Selection; wxRadioBox* m_Selection;
wxButton* m_OKbutton; wxButton* m_OKbutton;
wxButton* m_Quitbutton; wxButton* m_Quitbutton;
wxButton* m_Browsebutton; wxButton* m_Browsebutton;
wxTextCtrl* m_WinMessages; wxStaticText* m_staticTextMsg;
wxTextCtrl* m_WinMessages;
// Virtual event handlers, overide them in your derived class
virtual void OnSelectionClicked( wxCommandEvent& event ){ event.Skip(); } // Virtual event handlers, overide them in your derived class
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); } virtual void OnSelectionClicked( wxCommandEvent& event ) { event.Skip(); }
virtual void OnQuit( wxCommandEvent& event ){ event.Skip(); } virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
virtual void BrowseAndSelectFootprint( wxCommandEvent& event ){ event.Skip(); } virtual void OnQuit( wxCommandEvent& event ) { event.Skip(); }
virtual void BrowseAndSelectFootprint( wxCommandEvent& event ) { event.Skip(); }
public:
DIALOG_EXCHANGE_MODULE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Exchange Modules"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 416,469 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); public:
~DIALOG_EXCHANGE_MODULE_BASE();
DIALOG_EXCHANGE_MODULE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Exchange Modules"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 416,469 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
}; ~DIALOG_EXCHANGE_MODULE_BASE();
#endif //__dialog_exchange_modules_base__ };
#endif //__dialog_exchange_modules_base__
...@@ -304,9 +304,9 @@ void WinEDA_ModuleEditFrame::ReCreateMenuBar() ...@@ -304,9 +304,9 @@ void WinEDA_ModuleEditFrame::ReCreateMenuBar()
// Contents // Contents
item = new wxMenuItem( helpMenu, item = new wxMenuItem( helpMenu,
ID_GENERAL_HELP, wxID_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the PCBNew manual" ) ); _( "Open the PCBNew handbook" ) );
SET_BITMAP( online_help_xpm ); SET_BITMAP( online_help_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
......
...@@ -53,8 +53,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -53,8 +53,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
filesMenu->Append( item ); filesMenu->Append( item );
// Load Recent submenu // Load Recent submenu
wxMenu* openRecentMenu = new wxMenu(); static wxMenu* openRecentMenu;
wxGetApp().m_fileHistory.AddFilesToMenu( openRecentMenu ); // Add this menu to list menu managed by m_fileHistory
// (the file history will be updated when adding/removing files in history
if( openRecentMenu )
wxGetApp().m_fileHistory.RemoveMenu( openRecentMenu );
openRecentMenu = new wxMenu();
wxGetApp().m_fileHistory.UseMenu( openRecentMenu );
wxGetApp().m_fileHistory.AddFilesToMenu();
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, openRecentMenu, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, openRecentMenu,
-1, _( "Open &Recent" ), -1, _( "Open &Recent" ),
_( "Open a recent opened board" ), _( "Open a recent opened board" ),
...@@ -599,9 +605,9 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -599,9 +605,9 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
AddHelpVersionInfoMenuEntry( helpMenu ); AddHelpVersionInfoMenuEntry( helpMenu );
// Contents // Contents
item = new wxMenuItem( helpMenu, ID_GENERAL_HELP, item = new wxMenuItem( helpMenu, wxID_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the on line PCBnew documentation" ) ); _( "Open the PCBNew handbook" ) );
SET_BITMAP( online_help_xpm ); SET_BITMAP( online_help_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
......
...@@ -139,7 +139,7 @@ BEGIN_EVENT_TABLE( PCB_EDIT_FRAME, PCB_BASE_FRAME ) ...@@ -139,7 +139,7 @@ BEGIN_EVENT_TABLE( PCB_EDIT_FRAME, PCB_BASE_FRAME )
PCB_EDIT_FRAME::Process_Special_Functions ) PCB_EDIT_FRAME::Process_Special_Functions )
// Menu Help // Menu Help
EVT_MENU( ID_GENERAL_HELP, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout ) EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout )
// Menu 3D Frame // Menu 3D Frame
......
...@@ -48,7 +48,6 @@ bool g_Alternate_Track_Posture = false; ...@@ -48,7 +48,6 @@ bool g_Alternate_Track_Posture = false;
bool g_Track_45_Only_Allowed = true; // True to allow horiz, vert. and 45deg only tracks bool g_Track_45_Only_Allowed = true; // True to allow horiz, vert. and 45deg only tracks
bool Segments_45_Only; // True to allow horiz, vert. and 45deg only graphic segments bool Segments_45_Only; // True to allow horiz, vert. and 45deg only graphic segments
bool g_TwoSegmentTrackBuild = true; bool g_TwoSegmentTrackBuild = true;
bool g_HighLight_Status;
wxSize g_ModuleTextSize; /* Default footprint texts size */ wxSize g_ModuleTextSize; /* Default footprint texts size */
int g_ModuleSegmentWidth; int g_ModuleSegmentWidth;
...@@ -58,7 +57,6 @@ int Route_Layer_BOTTOM; ...@@ -58,7 +57,6 @@ int Route_Layer_BOTTOM;
int g_MaxLinksShowed; int g_MaxLinksShowed;
int g_MagneticPadOption = capture_cursor_in_track_tool; int g_MagneticPadOption = capture_cursor_in_track_tool;
int g_MagneticTrackOption = capture_cursor_in_track_tool; int g_MagneticTrackOption = capture_cursor_in_track_tool;
int g_HighLight_NetCode = -1;
wxPoint g_Offset_Module; /* Offset de trace du modul en depl */ wxPoint g_Offset_Module; /* Offset de trace du modul en depl */
......
...@@ -223,7 +223,13 @@ enum pcbnew_ids ...@@ -223,7 +223,13 @@ enum pcbnew_ids
ID_MENU_PCB_SWAP_LAYERS, ID_MENU_PCB_SWAP_LAYERS,
ID_MENU_PCB_RESET_TEXTMODULE_REFERENCE_SIZES, ID_MENU_PCB_RESET_TEXTMODULE_REFERENCE_SIZES,
ID_MENU_PCB_RESET_TEXTMODULE_VALUE_SIZES, ID_MENU_PCB_RESET_TEXTMODULE_VALUE_SIZES,
ID_GEN_EXPORT_FILE_VRML, ID_GEN_EXPORT_FILE_VRML,
ID_GEN_EXPORT_SPECCTRA,
ID_GEN_EXPORT_FILE_GENCADFORMAT,
ID_GEN_EXPORT_FILE_MODULE_REPORT,
ID_GEN_IMPORT_SPECCTRA_SESSION,
ID_GEN_IMPORT_SPECCTRA_DESIGN,
ID_TOOLBARH_PCB_MODE_MODULE, ID_TOOLBARH_PCB_MODE_MODULE,
ID_TOOLBARH_PCB_MODE_TRACKS, ID_TOOLBARH_PCB_MODE_TRACKS,
......
...@@ -68,7 +68,7 @@ void PCB_EDIT_FRAME::InstallExchangeModuleFrame( MODULE* Module ) ...@@ -68,7 +68,7 @@ void PCB_EDIT_FRAME::InstallExchangeModuleFrame( MODULE* Module )
void DIALOG_EXCHANGE_MODULE::OnQuit( wxCommandEvent& event ) void DIALOG_EXCHANGE_MODULE::OnQuit( wxCommandEvent& event )
{ {
s_SelectionMode = m_Selection->GetSelection(); s_SelectionMode = m_Selection->GetSelection();
Close( true ); // true is to force the frame to close EndModal( 0 );
} }
......
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