diff --git a/3d-viewer/3d_frame.cpp b/3d-viewer/3d_frame.cpp index b40cb7877e..9aab576ccb 100644 --- a/3d-viewer/3d_frame.cpp +++ b/3d-viewer/3d_frame.cpp @@ -222,9 +222,9 @@ void WinEDA3D_DrawFrame::OnRightClick( const wxPoint& MousePos, } -int WinEDA3D_DrawFrame::BestZoom() +double WinEDA3D_DrawFrame::BestZoom() { - return 1; + return 1.0; } diff --git a/3d-viewer/3d_viewer.h b/3d-viewer/3d_viewer.h index c5a60f58c1..a88b817902 100644 --- a/3d-viewer/3d_viewer.h +++ b/3d-viewer/3d_viewer.h @@ -246,7 +246,7 @@ public: void OnLeftClick( wxDC* DC, const wxPoint& MousePos ); void OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ); void OnKeyEvent( wxKeyEvent& event ); - int BestZoom(); + double BestZoom(); void RedrawActiveWindow( wxDC* DC, bool EraseBg ); void Process_Special_Functions( wxCommandEvent& event ); void Process_Zoom( wxCommandEvent& event ); diff --git a/common/base_screen.cpp b/common/base_screen.cpp index 5145fc0d02..58f6a2dd71 100644 --- a/common/base_screen.cpp +++ b/common/base_screen.cpp @@ -24,8 +24,7 @@ BASE_SCREEN::BASE_SCREEN( KICAD_T aType ) : EDA_ITEM( aType ) m_FirstRedraw = TRUE; m_ScreenNumber = 1; m_NumberOfScreen = 1; /* Hierarchy: Root: ScreenNumber = 1 */ - m_ZoomScalar = 10; - m_Zoom = 32 * m_ZoomScalar; + m_Zoom = 32.0; m_Grid.m_Size = wxRealPoint( 50, 50 ); /* Default grid size */ m_Grid.m_Id = ID_POPUP_GRID_LEVEL_50; m_Center = true; @@ -106,7 +105,7 @@ void BASE_SCREEN::SetPageSize( wxSize& aPageSize ) */ double BASE_SCREEN::GetScalingFactor() const { - double scale = (double) m_ZoomScalar / (double) GetZoom(); + double scale = 1.0 / GetZoom(); return scale; } @@ -118,7 +117,7 @@ double BASE_SCREEN::GetScalingFactor() const */ void BASE_SCREEN::SetScalingFactor(double aScale ) { - int zoom = static_cast( ceil(aScale * m_ZoomScalar) ); + double zoom = aScale; // Limit zoom to max and min allowed values: if (zoom < m_ZoomList[0]) @@ -132,7 +131,7 @@ void BASE_SCREEN::SetScalingFactor(double aScale ) SetZoom( zoom ); } -void BASE_SCREEN::SetZoomList( const wxArrayInt& zoomlist ) +void BASE_SCREEN::SetZoomList( const wxArrayDouble& zoomlist ) { if( !m_ZoomList.IsEmpty() ) m_ZoomList.Empty(); @@ -145,9 +144,9 @@ bool BASE_SCREEN::SetFirstZoom() { if( m_ZoomList.IsEmpty() ) { - if( m_Zoom != m_ZoomScalar ) + if( m_Zoom != 1.0 ) { - m_Zoom = m_ZoomScalar; + m_Zoom = 1.0; return true; } } @@ -161,22 +160,19 @@ bool BASE_SCREEN::SetFirstZoom() } -int BASE_SCREEN::GetZoom() const +double BASE_SCREEN::GetZoom() const { return m_Zoom; } -bool BASE_SCREEN::SetZoom( int coeff ) +bool BASE_SCREEN::SetZoom( double coeff ) { if( coeff == m_Zoom ) return false; m_Zoom = coeff; - if( m_Zoom < 1 ) - m_Zoom = 1; - return true; } diff --git a/common/build_version.cpp b/common/build_version.cpp index 0348de0666..68023eeeee 100644 --- a/common/build_version.cpp +++ b/common/build_version.cpp @@ -6,7 +6,7 @@ #endif #ifndef KICAD_BUILD_VERSION -#define KICAD_BUILD_VERSION "(2011-07-03)" +#define KICAD_BUILD_VERSION "(2011-07-04)" #endif diff --git a/common/drawframe.cpp b/common/drawframe.cpp index 6fc3cbbb53..285acf0831 100644 --- a/common/drawframe.cpp +++ b/common/drawframe.cpp @@ -384,7 +384,7 @@ void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event ) /* Return the current zoom level */ -int EDA_DRAW_FRAME::GetZoom( void ) +double EDA_DRAW_FRAME::GetZoom( void ) { return GetScreen()->GetZoom(); } @@ -658,10 +658,7 @@ void EDA_DRAW_FRAME::UpdateStatusBar() return; /* Display Zoom level: zoom = zoom_coeff/ZoomScalar */ - if ( (screen->GetZoom() % screen->m_ZoomScalar) == 0 ) - Line.Printf( wxT( "Z %d" ), screen->GetZoom() / screen->m_ZoomScalar ); - else - Line.Printf( wxT( "Z %.1f" ), (float)screen->GetZoom() / screen->m_ZoomScalar ); + Line.Printf( wxT( "Z %g" ), screen->GetZoom() ); SetStatusText( Line, 1 ); diff --git a/common/zoom.cpp b/common/zoom.cpp index 7a3d2b8760..112622ae42 100644 --- a/common/zoom.cpp +++ b/common/zoom.cpp @@ -177,12 +177,7 @@ void EDA_DRAW_FRAME::AddMenuZoomAndGrid( wxMenu* MasterMenu ) /* Populate zoom submenu. */ for( int i = 0; i < maxZoomIds; i++ ) { - if( ( screen->m_ZoomList[i] % screen->m_ZoomScalar ) == 0 ) - msg.Printf( wxT( "%u" ), - screen->m_ZoomList[i] / screen->m_ZoomScalar ); - else - msg.Printf( wxT( "%.1f" ), - (float) screen->m_ZoomList[i] / screen->m_ZoomScalar ); + msg.Printf( wxT( "%g" ), screen->m_ZoomList[i] ); zoom_choice->Append( ID_POPUP_ZOOM_LEVEL_START + i, _( "Zoom: " ) + msg, wxEmptyString, wxITEM_CHECK ); diff --git a/eeschema/libeditframe.cpp b/eeschema/libeditframe.cpp index 18a5c9c75b..7de89c18ae 100644 --- a/eeschema/libeditframe.cpp +++ b/eeschema/libeditframe.cpp @@ -346,7 +346,7 @@ void LIB_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event ) } -int LIB_EDIT_FRAME::BestZoom() +double LIB_EDIT_FRAME::BestZoom() { /* Please, note: wxMSW before version 2.9 seems have * problems with zoom values < 1 ( i.e. userscale > 1) and needs to be patched: @@ -377,12 +377,10 @@ int LIB_EDIT_FRAME::BestZoom() // Reserve a 10% margin around component bounding box. double margin_scale_factor = 0.8; - double zx =(double) dx / ( margin_scale_factor * (double)size.x ) * - (double) GetScreen()->m_ZoomScalar; - double zy = (double) dy / ( margin_scale_factor * (double)size.y) * - (double) GetScreen()->m_ZoomScalar; + double zx =(double) dx / (margin_scale_factor * (double)size.x ); + double zy = (double) dy / ( margin_scale_factor * (double)size.y ); - int bestzoom = wxRound( MAX( zx, zy ) ); + double bestzoom = MAX( zx, zy ); // keep it >= minimal existing zoom (can happen for very small components // for instance when starting a new component diff --git a/eeschema/libeditframe.h b/eeschema/libeditframe.h index d415220027..0049855b92 100644 --- a/eeschema/libeditframe.h +++ b/eeschema/libeditframe.h @@ -103,7 +103,7 @@ public: void CreateOptionToolbar(); void OnLeftClick( wxDC* DC, const wxPoint& MousePos ); bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ); - int BestZoom(); // Returns the best zoom + double BestZoom(); // Returns the best zoom void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ); SCH_SCREEN* GetScreen() { return (SCH_SCREEN*) EDA_DRAW_FRAME::GetScreen(); } diff --git a/eeschema/sch_screen.cpp b/eeschema/sch_screen.cpp index 870e722da2..3ee146e6dd 100644 --- a/eeschema/sch_screen.cpp +++ b/eeschema/sch_screen.cpp @@ -39,12 +39,13 @@ * see http://trac.wxwidgets.org/ticket/9554 * This is a workaround that is not a full fix, but remaining artifacts are acceptable */ -static int SchematicZoomList[] = +static double SchematicZoomList[] = { - 5, 7, 10, 15, 20, 30, 40, 60, 80, 120, 160, 230, 320, 480, 640, 800, 1280 + 0.5, 0.7, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 8.0, + 12.0, 16.0, 23.0, 32.0, 48.0, 64.0, 80.0, 128.0 }; -#define SCHEMATIC_ZOOM_LIST_CNT ( sizeof( SchematicZoomList ) / sizeof( int ) ) +#define SCHEMATIC_ZOOM_LIST_CNT ( sizeof( SchematicZoomList ) / sizeof( SchematicZoomList[0] ) ) #define MM_TO_SCH_UNITS 1000.0 / 25.4 //schematic internal unites are mils diff --git a/eeschema/schframe.cpp b/eeschema/schframe.cpp index 1b50d32045..9415695d89 100644 --- a/eeschema/schframe.cpp +++ b/eeschema/schframe.cpp @@ -246,7 +246,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( wxWindow* father, m_auimgr.Update(); // Now Drawpanel is sized, we can use BestZoom to show the component (if any) - BestZoom(); + GetScreen()->SetZoom( BestZoom() ); } @@ -345,7 +345,7 @@ void SCH_EDIT_FRAME::CreateScreens() if( GetScreen() == NULL ) SetScreen( new SCH_SCREEN() ); - GetScreen()->SetZoom( 4 * GetScreen()->m_ZoomScalar ); + GetScreen()->SetZoom( 32.0 ); GetScreen()->m_UndoRedoCountMax = 10; } @@ -432,7 +432,7 @@ void SCH_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event ) } -int SCH_EDIT_FRAME::BestZoom() +double SCH_EDIT_FRAME::BestZoom() { int dx, dy; wxSize size; @@ -445,12 +445,10 @@ int SCH_EDIT_FRAME::BestZoom() // Reserve no margin because best zoom shows the full page // and margins are already included in function that draws the sheet refernces double margin_scale_factor = 1.0; - double zx =(double) dx / ( margin_scale_factor * (double)size.x ) * - (double) GetScreen()->m_ZoomScalar; - double zy = (double) dy / ( margin_scale_factor * (double)size.y) * - (double) GetScreen()->m_ZoomScalar; + double zx =(double) dx / ( margin_scale_factor * (double)size.x ); + double zy = (double) dy / ( margin_scale_factor * (double)size.y ); - int bestzoom = wxRound( MAX( zx, zy ) ); + double bestzoom = MAX( zx, zy ); GetScreen()->SetScrollCenterPosition( wxPoint( dx / 2, dy / 2 ) ); diff --git a/eeschema/viewlib_frame.cpp b/eeschema/viewlib_frame.cpp index 062fe39806..360334d3d8 100644 --- a/eeschema/viewlib_frame.cpp +++ b/eeschema/viewlib_frame.cpp @@ -309,7 +309,7 @@ void LIB_VIEW_FRAME::OnSetRelativeOffset( wxCommandEvent& event ) } -int LIB_VIEW_FRAME::BestZoom() +double LIB_VIEW_FRAME::BestZoom() { /* Please, note: wxMSW before version 2.9 seems have * problems with zoom values < 1 ( i.e. userscale > 1) and needs to be patched: @@ -319,7 +319,7 @@ int LIB_VIEW_FRAME::BestZoom() */ LIB_COMPONENT* component = NULL; CMP_LIBRARY* lib; - int bestzoom = 16; // default value for bestzoom + double bestzoom = 16.0; // default value for bestzoom lib = CMP_LIBRARY::FindLibrary( m_libraryName ); @@ -339,14 +339,12 @@ int LIB_VIEW_FRAME::BestZoom() // Reserve a 10% margin around component bounding box. double margin_scale_factor = 0.8; double zx =(double) BoundaryBox.GetWidth() / - ( margin_scale_factor * (double)size.x ) * - (double) GetScreen()->m_ZoomScalar; + ( margin_scale_factor * (double)size.x ); double zy = (double) BoundaryBox.GetHeight() / - ( margin_scale_factor * (double)size.y) * - (double) GetScreen()->m_ZoomScalar; + ( margin_scale_factor * (double)size.y); // Calculates the best zoom - bestzoom = wxRound( MAX( zx, zy ) ); + bestzoom = MAX( zx, zy ); // keep it >= minimal existing zoom (can happen for very small components // like small power symbols diff --git a/eeschema/viewlib_frame.h b/eeschema/viewlib_frame.h index 91aa9c5413..08e0868902 100644 --- a/eeschema/viewlib_frame.h +++ b/eeschema/viewlib_frame.h @@ -60,7 +60,7 @@ public: void ReCreateHToolbar(); void ReCreateVToolbar(); void OnLeftClick( wxDC* DC, const wxPoint& MousePos ); - int BestZoom(); + double BestZoom(); void ClickOnLibList( wxCommandEvent& event ); void ClickOnCmpList( wxCommandEvent& event ); void OnSetRelativeOffset( wxCommandEvent& event ); diff --git a/gerbview/gerbview_frame.cpp b/gerbview/gerbview_frame.cpp index 5783617813..eca5ab8684 100644 --- a/gerbview/gerbview_frame.cpp +++ b/gerbview/gerbview_frame.cpp @@ -148,13 +148,12 @@ void GERBVIEW_FRAME::OnCloseWindow( wxCloseEvent& Event ) } -int GERBVIEW_FRAME::BestZoom() +double GERBVIEW_FRAME::BestZoom() { // gives a minimal value to zoom, if no item in list if( GetBoard()->m_Drawings == NULL ) - return 16 * GetScreen()->m_ZoomScalar; + return 160.0; - double x, y; EDA_RECT bbox; BOARD_ITEM* item = GetBoard()->m_Drawings; @@ -168,11 +167,11 @@ int GERBVIEW_FRAME::BestZoom() wxSize size = DrawPanel->GetClientSize(); - x = (double) bbox.GetWidth() / (double) size.x; - y = (double) bbox.GetHeight() / (double) size.y; + double x = (double) bbox.GetWidth() / (double) size.x; + double y = (double) bbox.GetHeight() / (double) size.y; GetScreen()->SetScrollCenterPosition( bbox.Centre() ); - int best_zoom = wxRound( MAX( x, y ) * (double) GetScreen()->m_ZoomScalar ); + double best_zoom = MAX( x, y ); return best_zoom; } diff --git a/gerbview/gerbview_frame.h b/gerbview/gerbview_frame.h index 55973ec9a6..704202b0cf 100644 --- a/gerbview/gerbview_frame.h +++ b/gerbview/gerbview_frame.h @@ -68,7 +68,7 @@ public: GERBVIEW_FRAME( wxWindow* father, const wxString& title, void OnLeftClick( wxDC* DC, const wxPoint& MousePos ); void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ); bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ); - int BestZoom(); + double BestZoom(); /** * Function ReportMessage diff --git a/include/class_base_screen.h b/include/class_base_screen.h index 46a1edd051..944cfd3db7 100644 --- a/include/class_base_screen.h +++ b/include/class_base_screen.h @@ -122,9 +122,8 @@ public: /* Grid and zoom values. */ wxPoint m_GridOrigin; - wxArrayInt m_ZoomList; /* Array of standard zoom coefficients. */ - int m_Zoom; /* Current zoom coefficient. */ - int m_ZoomScalar; /* Allow zooming to non-integer increments. */ + wxArrayDouble m_ZoomList; /* Array of standard zoom (i.e. scale) coefficients. */ + double m_Zoom; /* Current zoom coefficient. */ bool m_IsPrinting; public: @@ -278,21 +277,21 @@ public: * Note: the zoom factor is NOT the scaling factor * the scaling factor is m_ZoomScalar * GetZoom() */ - int GetZoom() const; + double GetZoom() const; /** * Function SetZoom * adjusts the current zoom factor * @param coeff - Zoom coefficient. */ - bool SetZoom( int coeff ); + bool SetZoom( double coeff ); /** * Function SetZoomList * sets the list of zoom factors. * @param aZoomList An array of zoom factors in ascending order, zero terminated */ - void SetZoomList( const wxArrayInt& aZoomList ); + void SetZoomList( const wxArrayDouble& aZoomList ); bool SetNextZoom(); bool SetPreviousZoom(); diff --git a/include/wxBasePcbFrame.h b/include/wxBasePcbFrame.h index 4c5be43ed7..9ff9f6aa4b 100644 --- a/include/wxBasePcbFrame.h +++ b/include/wxBasePcbFrame.h @@ -114,7 +114,7 @@ public: return (PCB_SCREEN*) EDA_DRAW_FRAME::GetScreen(); } - int BestZoom(); + virtual double BestZoom(); virtual void Show3D_Frame( wxCommandEvent& event ); diff --git a/include/wxEeschemaStruct.h b/include/wxEeschemaStruct.h index 2f1726a216..4f819941c5 100644 --- a/include/wxEeschemaStruct.h +++ b/include/wxEeschemaStruct.h @@ -225,7 +225,7 @@ public: void OnLeftDClick( wxDC* aDC, const wxPoint& aPosition ); bool OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu ); void OnSelectOptionToolbar( wxCommandEvent& event ); - int BestZoom(); + double BestZoom(); /** * Function LocateAndShowItem diff --git a/include/wxstruct.h b/include/wxstruct.h index 1e544d5550..7c6cf9c2f0 100644 --- a/include/wxstruct.h +++ b/include/wxstruct.h @@ -468,10 +468,10 @@ public: void Window_Zoom( EDA_RECT& Rect ); /* Return the zoom level which displays the full page on screen */ - virtual int BestZoom() = 0; + virtual double BestZoom() = 0; /* Return the current zoom level */ - int GetZoom( void ); + double GetZoom( void ); void TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_width ); void PlotWorkSheet( PLOTTER *plotter, BASE_SCREEN* screen ); diff --git a/packaging/windows/nsis/install.nsi b/packaging/windows/nsis/install.nsi index fdb3e8c34b..88a2f8c128 100644 --- a/packaging/windows/nsis/install.nsi +++ b/packaging/windows/nsis/install.nsi @@ -17,7 +17,7 @@ ; General Product Description Definitions !define PRODUCT_NAME "KiCad" -!define PRODUCT_VERSION "2011.07.03" +!define PRODUCT_VERSION "2011.07.04" !define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/" !define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/" !define COMPANY_NAME "" diff --git a/pcbnew/basepcbframe.cpp b/pcbnew/basepcbframe.cpp index 817bdb6703..00914b5b98 100644 --- a/pcbnew/basepcbframe.cpp +++ b/pcbnew/basepcbframe.cpp @@ -99,14 +99,14 @@ void PCB_BASE_FRAME::SetBoard( BOARD* aBoard ) /** * Return the "best" zoom, i.e. the zoom which shows the entire board on screen */ -int PCB_BASE_FRAME::BestZoom( void ) +double PCB_BASE_FRAME::BestZoom( void ) { - int dx, dy, ii, jj; - int bestzoom; + int dx, dy; + double ii, jj; wxSize size; if( m_Pcb == NULL ) - return 32 * GetScreen()->m_ZoomScalar; + return 32.0; m_Pcb->ComputeBoundingBox(); @@ -115,19 +115,19 @@ int PCB_BASE_FRAME::BestZoom( void ) size = DrawPanel->GetClientSize(); if( size.x ) - ii = wxRound( ( (double) dx + ((double) size.x / 2.0) ) / (double) size.x ); + ii = (double)(dx + ( size.x / 2) ) / (double) size.x; else - ii = 31; + ii = 32.0; if ( size.y ) - jj = wxRound( ( (double) dy + ((double) size.y / 2.0) ) / (double) size.y ); + jj = (double)( dy + (size.y / 2) ) / (double) size.y; else - jj = 31; + jj = 32.0; - bestzoom = MAX( ii, jj ) + 1; + double bestzoom = MAX( ii, jj ); GetScreen()->SetScrollCenterPosition( m_Pcb->m_BoundaryBox.Centre() ); - return bestzoom * GetScreen()->m_ZoomScalar; + return bestzoom ; } @@ -614,15 +614,9 @@ void PCB_BASE_FRAME::updateZoomSelectBox() { msg = _( "Zoom " ); - if ( ( GetScreen()->m_ZoomList[i] % GetScreen()->m_ZoomScalar ) == 0 ) - msg << GetScreen()->m_ZoomList[i] / GetScreen()->m_ZoomScalar; - else - { - wxString value; - value.Printf( wxT( "%.1f" ), - (float)GetScreen()->m_ZoomList[i] / GetScreen()->m_ZoomScalar ); - msg += value; - } + wxString value; + value.Printf( wxT( "%g" ), GetScreen()->m_ZoomList[i]); + msg += value; m_SelZoomBox->Append( msg ); diff --git a/pcbnew/classpcb.cpp b/pcbnew/classpcb.cpp index d6a9e4d38c..aa5fd9be50 100644 --- a/pcbnew/classpcb.cpp +++ b/pcbnew/classpcb.cpp @@ -22,13 +22,14 @@ * Also useful in Gerbview for this reason. * Zoom 5 and 10 can create artefacts when drawing (integer overflow in low level graphic functions ) */ -static const int PcbZoomList[] = +static const double PcbZoomList[] = { - 5, 10, 15, 20, 30, 45, 70, 100, 150, 220, 350, 500, 800, 1200, - 2000, 3500, 5000, 10000, 20000 + 0.5, 1.0, 1.5, 2.0, 3.0, 4.5, 7.0, + 10.0, 15.0, 22.0, 35.0, 50.0, 80.0, 120.0, + 200.0, 350.0, 500.0, 1000.0, 2000.0 }; -#define PCB_ZOOM_LIST_CNT ( sizeof( PcbZoomList ) / sizeof( int ) ) +#define PCB_ZOOM_LIST_CNT ( sizeof( PcbZoomList ) / sizeof( PcbZoomList[0] ) ) #define MM_TO_PCB_UNITS 10000.0 / 25.4 diff --git a/pcbnew/librairi.cpp b/pcbnew/librairi.cpp index 871225c551..bbf2475ca3 100644 --- a/pcbnew/librairi.cpp +++ b/pcbnew/librairi.cpp @@ -506,6 +506,9 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName, FILE* lib_module, * dest; bool added = true; + if( aModule == NULL ) + return false; + aModule->DisplayInfo( this ); if( !wxFileExists( aLibName ) ) diff --git a/pcbnew/modedit.cpp b/pcbnew/modedit.cpp index 246c43875b..dd1af35762 100644 --- a/pcbnew/modedit.cpp +++ b/pcbnew/modedit.cpp @@ -260,6 +260,8 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) } case ID_MODEDIT_SAVE_LIBMODULE: + if( GetBoard()->m_Modules == NULL ) + break; { wxFileName fn; fn = wxFileName( wxEmptyString, m_CurrentLib, ModuleFileExtension ); diff --git a/pcbnew/moduleframe.cpp b/pcbnew/moduleframe.cpp index d1593ec9d3..77b8c368ce 100644 --- a/pcbnew/moduleframe.cpp +++ b/pcbnew/moduleframe.cpp @@ -93,7 +93,6 @@ BEGIN_EVENT_TABLE( WinEDA_ModuleEditFrame, PCB_BASE_FRAME ) // Menu 3D Frame EVT_MENU( ID_MENU_PCB_SHOW_3D_FRAME, WinEDA_ModuleEditFrame::Show3D_Frame ) - EVT_UPDATE_UI( ID_MODEDIT_SAVE_LIBMODULE, WinEDA_ModuleEditFrame::OnUpdateLibSelected ) EVT_UPDATE_UI( ID_MODEDIT_DELETE_PART, WinEDA_ModuleEditFrame::OnUpdateLibSelected ) EVT_UPDATE_UI( ID_MODEDIT_EXPORT_PART, WinEDA_ModuleEditFrame::OnUpdateModuleSelected ) EVT_UPDATE_UI( ID_MODEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART, diff --git a/version.txt b/version.txt index 776b716907..9d68eb25fc 100644 --- a/version.txt +++ b/version.txt @@ -1,4 +1,4 @@ release version: -2011 jul 03 +2011 jul 04 files (.zip,.tgz): -kicad-2011-07-03 +kicad-2011-07-04