Commit 0eb40500 authored by jean-pierre charras's avatar jean-pierre charras

* Fix 3D frame issue (3D frame not show) when it is iconized and reactivated...

* Fix 3D frame issue (3D frame not show) when it is iconized and reactivated by Pcbnew or CvPcb menus (Windows only)
* Add in help menu a direct link to the new doc Getting_Started_in_KiCad.pdf, written by contributors (useful for beginners)
* Fix other very minor issues in CvPcb.
* Update howto doc about translation
parents 04bf11c2 0b9f39fa
......@@ -258,6 +258,30 @@ void EDA_BASE_FRAME::GetKicadHelp( wxCommandEvent& event )
{
wxString msg;
/* We have to get document for beginners,
* or the the full specific doc
* if event id is wxID_INDEX, we want the document for beginners.
* else the specific doc file (its name is in wxGetApp().m_HelpFileName)
* The document for beginners is the same for all kicad utilities
*/
if( event.GetId() == wxID_INDEX )
{
// Temporary change the help filename
wxString tmp = wxGetApp().m_HelpFileName;
wxGetApp().m_HelpFileName = "Getting_Started_in_KiCad.pdf";
wxString helpFile = wxGetApp().GetHelpFile();
if( !helpFile )
{
msg.Printf( _( "Help file %s could not be found." ),
GetChars( wxGetApp().m_HelpFileName ) );
DisplayError( this, msg );
}
else
GetAssociatedDocument( this, helpFile );
wxGetApp().m_HelpFileName = tmp;
return;
}
#if defined ONLINE_HELP_FILES_FORMAT_IS_HTML
if( wxGetApp().m_HtmlCtrl == NULL )
......
......@@ -6,7 +6,7 @@
#endif
#ifndef KICAD_BUILD_VERSION
#define KICAD_BUILD_VERSION "(2011-07-19)"
#define KICAD_BUILD_VERSION "(2011-aug-04)"
#endif
......
......@@ -106,7 +106,7 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( CVPCB_MAINFRAME* father,
wxAuiPaneInfo( vert ).Name( wxT( "m_VToolBar" ) ).Right() );
m_auimgr.AddPane( DrawPanel,
wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() );
wxAuiPaneInfo().Name( wxT( "DisplayFrame" ) ).CentrePane() );
m_auimgr.AddPane( MsgPanel,
wxAuiPaneInfo( horiz ).Name( wxT( "MsgPanel" ) ).Bottom() );
......@@ -126,7 +126,7 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
delete GetScreen();
SetScreen( NULL );
( (CVPCB_MAINFRAME*) wxGetApp().GetTopWindow() )->DrawFrame = NULL;
( (CVPCB_MAINFRAME*) wxGetApp().GetTopWindow() )->m_DisplayFootprintFrame = NULL;
}
/* Called when the frame is closed
......@@ -134,12 +134,8 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
*/
void DISPLAY_FOOTPRINTS_FRAME::OnCloseWindow( wxCloseEvent& event )
{
wxPoint pos;
wxSize size;
size = GetSize();
pos = GetPosition();
if( m_Draw3DFrame )
m_Draw3DFrame->Close(true);
SaveSettings();
Destroy();
}
......@@ -408,6 +404,10 @@ void DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame( wxCommandEvent& event )
{
if( m_Draw3DFrame )
{
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if( m_Draw3DFrame->IsIconized() )
m_Draw3DFrame->Iconize( false );
m_Draw3DFrame->Raise();
// Raising the window does not set the focus on Linux. This should work on any platform.
......
......@@ -244,7 +244,7 @@ void FOOTPRINTS_LISTBOX::OnLeftClick( wxListEvent& event )
Module = GetParent()->m_footprints.GetModuleInfo( FootprintName );
wxASSERT(Module);
if( GetParent()->DrawFrame )
if( GetParent()->m_DisplayFootprintFrame )
{
GetParent()->CreateScreenCmp(); /* refresh general */
}
......
This diff is collapsed.
......@@ -17,7 +17,6 @@ class COMPONENTS_LISTBOX;
class DISPLAY_FOOTPRINTS_FRAME;
/**
* The CVPcb application main window.
*/
......@@ -26,18 +25,18 @@ class CVPCB_MAINFRAME : public EDA_BASE_FRAME
public:
bool m_KeepCvpcbOpen;
FOOTPRINTS_LISTBOX* m_FootprintList;
COMPONENTS_LISTBOX* m_ListCmp;
DISPLAY_FOOTPRINTS_FRAME* DrawFrame;
EDA_TOOLBAR* m_HToolBar;
wxFileName m_NetlistFileName;
wxArrayString m_ModuleLibNames;
wxArrayString m_AliasLibNames;
wxString m_UserLibraryPath;
wxString m_NetlistFileExtension;
wxString m_DocModulesFileName;
FOOTPRINT_LIST m_footprints;
COMPONENT_LIST m_components;
FOOTPRINTS_LISTBOX* m_FootprintList;
COMPONENTS_LISTBOX* m_ListCmp;
DISPLAY_FOOTPRINTS_FRAME* m_DisplayFootprintFrame;
EDA_TOOLBAR* m_HToolBar;
wxFileName m_NetlistFileName;
wxArrayString m_ModuleLibNames;
wxArrayString m_AliasLibNames;
wxString m_UserLibraryPath;
wxString m_NetlistFileExtension;
wxString m_DocModulesFileName;
FOOTPRINT_LIST m_footprints;
COMPONENT_LIST m_components;
protected:
int m_undefinedComponentCnt;
......@@ -45,9 +44,8 @@ protected:
bool m_isEESchemaNetlist;
PARAM_CFG_ARRAY m_projectFileParams;
public:
CVPCB_MAINFRAME( const wxString& title,
long style = KICAD_DEFAULT_DRAWFRAME_STYLE );
public: CVPCB_MAINFRAME( const wxString& title,
long style = KICAD_DEFAULT_DRAWFRAME_STYLE );
~CVPCB_MAINFRAME();
void OnLeftClick( wxListEvent& event );
......@@ -108,21 +106,21 @@ public:
* fills m_footprints
* @return true if libraries are found, false otherwise.
*/
bool LoadFootprintFiles( );
bool LoadFootprintFiles();
/**
* function GenNetlistPcbnew
* writes the output netlist file
*
*/
int GenNetlistPcbnew( FILE* f, bool isEESchemaNetlist = true );
int GenNetlistPcbnew( FILE* f, bool isEESchemaNetlist = true );
/**
* Function LoadComponentFile
* Loads the .cmp file that stores the component/footprint association.
* @param aCmpFileName = the full filename of .cmp file to load
*/
bool LoadComponentFile( const wxString& aCmpFileName );
bool LoadComponentFile( const wxString& aCmpFileName );
PARAM_CFG_ARRAY& GetProjectFileParameters( void );
......
......@@ -31,28 +31,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
FootprintName = m_FootprintList->GetSelectedFootprint();
if( DrawFrame == NULL )
if( m_DisplayFootprintFrame == NULL )
{
DrawFrame = new DISPLAY_FOOTPRINTS_FRAME( this, _( "Module" ),
m_DisplayFootprintFrame = new DISPLAY_FOOTPRINTS_FRAME( this, _( "Module" ),
wxPoint( 0, 0 ),
wxSize( 600, 400 ),
KICAD_DEFAULT_DRAWFRAME_STYLE );
IsNew = true;
DrawFrame->Show( true );
m_DisplayFootprintFrame->Show( true );
}
else
{
DrawFrame->Raise();
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if( m_DisplayFootprintFrame->IsIconized() )
m_DisplayFootprintFrame->Iconize( false );
m_DisplayFootprintFrame->Raise();
// Raising the window does not set the focus on Linux. This should work on any platform.
if( wxWindow::FindFocus() != DrawFrame )
DrawFrame->SetFocus();
if( wxWindow::FindFocus() != m_DisplayFootprintFrame )
m_DisplayFootprintFrame->SetFocus();
}
if( !FootprintName.IsEmpty() )
{
msg = _( "Footprint: " ) + FootprintName;
DrawFrame->SetTitle( msg );
m_DisplayFootprintFrame->SetTitle( msg );
FOOTPRINT_INFO* Module = m_footprints.GetModuleInfo( FootprintName );
msg = _( "Lib: " );
......@@ -61,32 +65,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
else
msg += wxT( "???" );
DrawFrame->SetStatusText( msg, 0 );
m_DisplayFootprintFrame->SetStatusText( msg, 0 );
if( DrawFrame->GetBoard()->m_Modules.GetCount() )
if( m_DisplayFootprintFrame->GetBoard()->m_Modules.GetCount() )
{
// there is only one module in the list
DrawFrame->GetBoard()->m_Modules.DeleteAll();
m_DisplayFootprintFrame->GetBoard()->m_Modules.DeleteAll();
}
MODULE* mod = DrawFrame->Get_Module( FootprintName );
MODULE* mod = m_DisplayFootprintFrame->Get_Module( FootprintName );
if( mod )
DrawFrame->GetBoard()->m_Modules.PushBack( mod );
m_DisplayFootprintFrame->GetBoard()->m_Modules.PushBack( mod );
DrawFrame->Zoom_Automatique( false );
DrawFrame->DrawPanel->Refresh();
DrawFrame->UpdateStatusBar(); /* Display new cursor coordinates and zoom value */
m_DisplayFootprintFrame->Zoom_Automatique( false );
m_DisplayFootprintFrame->DrawPanel->Refresh();
m_DisplayFootprintFrame->UpdateStatusBar(); /* Display new cursor coordinates and zoom value */
if( DrawFrame->m_Draw3DFrame )
DrawFrame->m_Draw3DFrame->NewDisplay();
if( m_DisplayFootprintFrame->m_Draw3DFrame )
m_DisplayFootprintFrame->m_Draw3DFrame->NewDisplay();
}
else if( !IsNew )
{
DrawFrame->Refresh();
m_DisplayFootprintFrame->Refresh();
if( DrawFrame->m_Draw3DFrame )
DrawFrame->m_Draw3DFrame->NewDisplay();
if( m_DisplayFootprintFrame->m_Draw3DFrame )
m_DisplayFootprintFrame->m_Draw3DFrame->NewDisplay();
}
}
......
......@@ -115,6 +115,7 @@ BEGIN_EVENT_TABLE( LIB_EDIT_FRAME, EDA_DRAW_FRAME )
EVT_MENU( ID_LIBEDIT_GEN_PNG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent )
EVT_MENU( ID_LIBEDIT_GEN_SVG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent )
EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout )
EVT_MENU( ID_COLORS_SETUP, LIB_EDIT_FRAME::OnColorConfig )
......
......@@ -496,8 +496,14 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
_( "&Contents" ),
_( "Open the Eeschema handbook" ),
online_help_xpm );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_INDEX,
_( "&Getting Started in KiCad" ),
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
help_xpm );
// About EESchema
helpMenu->AppendSeparator();
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_ABOUT,
_( "&About EESchema" ),
......
......@@ -244,8 +244,14 @@ void LIB_EDIT_FRAME::ReCreateMenuBar()
_( "&Contents" ),
_( "Open the eeschema manual" ),
online_help_xpm );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_INDEX,
_( "&Getting Started in KiCad" ),
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
help_xpm );
// About EESchema
helpMenu->AppendSeparator();
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_ABOUT,
_( "&About EESchema" ),
......
......@@ -103,6 +103,7 @@ BEGIN_EVENT_TABLE( SCH_EDIT_FRAME, EDA_DRAW_FRAME )
EVT_TOOL( ID_POPUP_SCH_MOVE_ITEM, SCH_EDIT_FRAME::OnMoveItem )
EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout )
// Tools and buttons for vertical toolbar.
......
......@@ -37,6 +37,7 @@ BEGIN_EVENT_TABLE( KICAD_MANAGER_FRAME, EDA_BASE_FRAME )
EVT_MENU( ID_READ_ZIP_ARCHIVE, KICAD_MANAGER_FRAME::OnUnarchiveFiles )
EVT_MENU( ID_PROJECT_TREE_REFRESH, KICAD_MANAGER_FRAME::OnRefresh )
EVT_MENU( wxID_HELP, KICAD_MANAGER_FRAME::GetKicadHelp )
EVT_MENU( wxID_INDEX, KICAD_MANAGER_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, KICAD_MANAGER_FRAME::GetKicadAbout )
/* Range menu events */
......@@ -227,6 +228,11 @@ void KICAD_MANAGER_FRAME::ReCreateMenuBar()
_( "&Contents" ),
_( "Open the Kicad handbook" ),
online_help_xpm );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_INDEX,
_( "&Getting Started in KiCad" ),
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
help_xpm );
// Separator
helpMenu->AppendSeparator();
......
......@@ -17,7 +17,7 @@
; General Product Description Definitions
!define PRODUCT_NAME "KiCad"
!define PRODUCT_VERSION "2011.07.19"
!define PRODUCT_VERSION "2011.08.04"
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
!define COMPANY_NAME ""
......
......@@ -168,6 +168,8 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
}
else
{
if( m_ModuleEditFrame->IsIconized() )
m_ModuleEditFrame->Iconize( false );
m_ModuleEditFrame->Raise();
// Raising the window does not set the focus on Linux. This should work on
......
......@@ -303,20 +303,23 @@ void WinEDA_ModuleEditFrame::ReCreateMenuBar()
AddHelpVersionInfoMenuEntry( helpMenu );
// Contents
item = new wxMenuItem( helpMenu,
wxID_HELP,
_( "&Contents" ),
_( "Open the PCBNew handbook" ) );
SET_BITMAP( online_help_xpm );
helpMenu->Append( item );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_HELP,
_( "&Contents" ),
_( "Open the PCBNew handbook" ),
online_help_xpm );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_INDEX,
_( "&Getting Started in KiCad" ),
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
help_xpm );
// About PCBNew
item = new wxMenuItem( helpMenu,
wxID_ABOUT,
helpMenu->AppendSeparator();
ADD_MENUITEM_WITH_HELP( helpMenu, wxID_ABOUT,
_( "&About PCBNew" ),
_( "About PCBNew PCB designer" ) );
SET_BITMAP( info_xpm );
helpMenu->Append( item );
_( "About PCBNew PCB designer" ),
info_xpm );
// Append menus to the menubar
menuBar->Append( fileMenu, _( "&File" ) );
......
......@@ -644,19 +644,23 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
AddHelpVersionInfoMenuEntry( helpMenu );
// Contents
item = new wxMenuItem( helpMenu, wxID_HELP,
_( "&Contents" ),
_( "Open the PCBNew handbook" ) );
SET_BITMAP( online_help_xpm );
helpMenu->Append( item );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_HELP,
_( "&Contents" ),
_( "Open the PCBNew handbook" ),
online_help_xpm );
ADD_MENUITEM_WITH_HELP( helpMenu,
wxID_INDEX,
_( "&Getting Started in KiCad" ),
_( "Open the \"Getting Started in KiCad\" guide for beginners" ),
help_xpm );
// About
item = new wxMenuItem( helpMenu, wxID_ABOUT,
helpMenu->AppendSeparator();
ADD_MENUITEM_WITH_HELP( helpMenu, wxID_ABOUT,
_( "&About PCBNew" ),
_( "About PCBnew printed circuit board designer" ));
SET_BITMAP( info_xpm );
helpMenu->Append( item );
_( "About PCBnew printed circuit board designer" ),
info_xpm );
/**
* Append all menus to the menuBar
......
......@@ -325,6 +325,10 @@ void WinEDA_ModuleEditFrame::Show3D_Frame( wxCommandEvent& event )
{
if( m_Draw3DFrame )
{
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if( m_Draw3DFrame->IsIconized() )
m_Draw3DFrame->Iconize( false );
m_Draw3DFrame->Raise();
// Raising the window does not set the focus on Linux. This should work on any platform.
......
......@@ -140,6 +140,7 @@ BEGIN_EVENT_TABLE( PCB_EDIT_FRAME, PCB_BASE_FRAME )
// Menu Help
EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp )
EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout )
// Menu 3D Frame
......@@ -483,6 +484,10 @@ void PCB_EDIT_FRAME::Show3D_Frame( wxCommandEvent& event )
{
if( m_Draw3DFrame )
{
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if( m_Draw3DFrame->IsIconized() )
m_Draw3DFrame->Iconize( false );
m_Draw3DFrame->Raise();
// Raising the window does not set the focus on Linux. This should work on any platform.
......
release version:
2011 jul 19
2011 aug 04
files (.zip,.tgz):
kicad-2011-07-19
kicad-2011-08-04
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