diff --git a/3d-viewer/3d_aux.cpp b/3d-viewer/3d_aux.cpp index a4c60ad682..6947c2d126 100644 --- a/3d-viewer/3d_aux.cpp +++ b/3d-viewer/3d_aux.cpp @@ -223,7 +223,7 @@ WinEDA_VertexCtrl::WinEDA_VertexCtrl( wxWindow* parent, const wxString& title, msgtitle = new wxStaticText( parent, -1, text, wxDefaultPosition, wxSize( -1, -1 ), 0 ); - BoxSizer->Add( msgtitle, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxBOTTOM | wxADJUST_MINSIZE ); + BoxSizer->Add( msgtitle, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxBOTTOM ); wxFlexGridSizer* GridSizer = new wxFlexGridSizer( 3, 2, 0, 0 ); @@ -233,16 +233,14 @@ WinEDA_VertexCtrl::WinEDA_VertexCtrl( wxWindow* parent, const wxString& title, GridSizer->Add( msgtitle, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | - wxLEFT | wxRIGHT | wxADJUST_MINSIZE, - 5 ); + wxLEFT | wxRIGHT , 5 ); m_XValueCtrl = new wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition, wxSize( -1, -1 ), 0 ); GridSizer->Add( m_XValueCtrl, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | - wxLEFT | wxRIGHT, - 5 ); + wxLEFT | wxRIGHT, 5 ); msgtitle = new wxStaticText( parent, -1, wxT( "Y:" ), wxDefaultPosition, wxSize( -1, -1 ), 0 ); @@ -250,30 +248,26 @@ WinEDA_VertexCtrl::WinEDA_VertexCtrl( wxWindow* parent, const wxString& title, GridSizer->Add( msgtitle, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | - wxLEFT | wxRIGHT | wxADJUST_MINSIZE, - 5 ); + wxLEFT | wxRIGHT, 5 ); m_YValueCtrl = new wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition, wxSize( -1, -1 ), 0 ); GridSizer->Add( m_YValueCtrl, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | - wxLEFT | wxRIGHT, - 5 ); + wxLEFT | wxRIGHT, 5 ); msgtitle = new wxStaticText( parent, -1, wxT( "Z:" ), wxDefaultPosition, wxSize( -1, -1 ), 0 ); GridSizer->Add( msgtitle, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | - wxLEFT | wxRIGHT | wxADJUST_MINSIZE, - 5 ); + wxLEFT | wxRIGHT, 5 ); m_ZValueCtrl = new wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition, wxSize( -1, -1 ), 0 ); GridSizer->Add( m_ZValueCtrl, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | - wxLEFT | wxRIGHT, - 5 ); + wxLEFT | wxRIGHT, 5 ); } diff --git a/Documentation/compiling/COMPILING.txt b/Documentation/compiling/COMPILING.txt index 3dd41ac3c3..1e1c43ec5c 100644 --- a/Documentation/compiling/COMPILING.txt +++ b/Documentation/compiling/COMPILING.txt @@ -38,8 +38,9 @@ WARNING: see wxWidgets_patch_notes.txt for patches and issues in wxWidgets. If on windows, download -http://sourceforge.net/projects/wxwindows/files/wxAll/2.8.10/wxWidgets-2.8.12.zip/download +http://sourceforge.net/projects/wxwindows/files/wxAll/2.9.3/wxWidgets-2.9.3.zip/download or a newer version. +Do NOT use previous versions which all have issues for KiCad. Start msys so you have a bash shell. Decide where your wxWidgets build directory will be. It must be where you can access it from within the msys environment, such as home/. Edit your msys/1.0/etc/fstab file if needed to provide @@ -82,33 +83,6 @@ development versions of the wxWidgets packages which include the C++ headers. An alternative is to build static libaries from source. Verify that wx-config is in your path by running it from a command prompt. Linux users then go to next step. - -Install or Build zlib ---------------------- -If on windows, download http://www.zlib.net/zlib123.zip or a newer version. -Start msys so you have a bash shell. Decide where your zlib build directory -will be. It must be where you can access it from within the msys environment, -such as home/. Edit your msys/1.0/etc/fstab file if needed to provide -access to this build directory from msys. Unzip the zlib123.zip file into this -build directory. Change directories into there, and then: - - ./configure - make - make install - - -If linux, use your package manager to install zlib pre-built binaries. - -Note (JP Charras): -Under Linux, zlib is usually installed. -If it is not found by the wxWidget installation, wxWidgets creates an alternate zlib library. -Under Windows, if zlib is not installed, my cmake build will try to use the -wxWidgets zlib build. So, under windows kicad build should work without -zlib install. - -If you are using the wxWidget zlib, make sure that the wxWidgets/src/zlib directory is copied -to ${wxWidgets_ROOT_DIR}/src/zlib - Install CMake ------------- If windows, download the installation binary for windows from cmake.org. @@ -117,9 +91,9 @@ will have to restart and command shells for the new path to take effect. Verify that cmake is in your path by trying to run it from a command prompt. -If linux, use your package manager to install cmake. You should get cmake 2.6.1 +If linux, use your package manager to install cmake. You should get cmake 2.6.4 or later. If only an older one is available in your package repository, build -2.6.1 from source. Verify that cmake is in your path by trying to run it from a +cmake from source. Verify that cmake is in your path by trying to run it from a command prompt. diff --git a/Documentation/wxWidgets_patch_notes.txt b/Documentation/wxWidgets_patch_notes.txt index 3ff24a0640..bb2e31ae9e 100644 --- a/Documentation/wxWidgets_patch_notes.txt +++ b/Documentation/wxWidgets_patch_notes.txt @@ -6,8 +6,9 @@ Kicad needs wxWidgets, the multi platform G.U.I. Known problems: wxMSW: *DO NOT* use wxMSW.2.8.1 +in fact: use wxWidgets >= 2.9.3 -wxMSW and wxGTK +wxGTK Use wxWidgets 2.8.10 or later Linux and macOSX @@ -26,14 +27,7 @@ Some zoom values smaller than 3 to 5 create artifacts on screen, mainly values < See http://trac.wxwidgets.org/ticket/9554 (and 11669). -This is fixed in version 2.9.x - -This is a workaround that is not a full fix, but remaining artifacts are acceptable -edit file edit file /src/msw/dc.cpp - >> search for line - static const int VIEWPORT_EXTENT = 1000; - >> and replace by - static const int VIEWPORT_EXTENT = 10000; +This is fixed in version 2.9.3 wxWidgets 2.9.1 (all platforms) @@ -43,7 +37,7 @@ after calling this conversion function, the comma is changed in point. (Happens after reading a parameter stored in a wxConfig structure, if this parameter is a double) Workaround: -Use a version > 2.9.1 +Use a version >= 2.9.3 ************************************************************************************* @@ -54,7 +48,7 @@ Without this patch, printing boards and schematics under Linux, and perhaps OSX gives ugly drawings. wxGTK-2.8.11/src/generic/dcpsg.cpp -serach for: +search for: line 1636 PsPrint( "%%EndProlog\n" ); diff --git a/common/drawpanel.cpp b/common/drawpanel.cpp index 5762da186c..0514b6a424 100644 --- a/common/drawpanel.cpp +++ b/common/drawpanel.cpp @@ -1076,13 +1076,13 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event ) m_requestAutoPan = false; } - SetCursor( m_currentCursor ); + SetCursor( (wxStockCursor) m_currentCursor ); } else if( screen->m_BlockLocate.m_State == STATE_BLOCK_END ) { m_requestAutoPan = false; GetParent()->HandleBlockEnd( &DC ); - SetCursor( m_currentCursor ); + SetCursor( (wxStockCursor) m_currentCursor ); if( screen->m_BlockLocate.m_State == STATE_BLOCK_MOVE ) { m_requestAutoPan = true; diff --git a/common/wxwineda.cpp b/common/wxwineda.cpp index 514c5c8273..0f09081609 100644 --- a/common/wxwineda.cpp +++ b/common/wxwineda.cpp @@ -26,7 +26,7 @@ EDA_GRAPHIC_TEXT_CTRL::EDA_GRAPHIC_TEXT_CTRL( wxWindow* parent, m_Title = new wxStaticText( parent, -1, Title ); BoxSizer->Add( m_Title, 0, - wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 ); + wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 ); m_FrameText = new wxTextCtrl( parent, -1, TextToEdit ); @@ -38,7 +38,7 @@ EDA_GRAPHIC_TEXT_CTRL::EDA_GRAPHIC_TEXT_CTRL( wxWindow* parent, wxStaticText* text = new wxStaticText( parent, -1, msg ); BoxSizer->Add( text, 0, - wxGROW | wxLEFT | wxRIGHT | wxADJUST_MINSIZE, 5 ); + wxGROW | wxLEFT | wxRIGHT, 5 ); } wxString value = FormatSize( m_Internal_Unit, m_UserUnit, textsize ); @@ -158,7 +158,7 @@ EDA_POSITION_CTRL::EDA_POSITION_CTRL( wxWindow* parent, m_TextX = new wxStaticText( parent, -1, text ); BoxSizer->Add( m_TextX, 0, - wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 ); + wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 ); m_FramePosX = new wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition ); @@ -174,7 +174,7 @@ EDA_POSITION_CTRL::EDA_POSITION_CTRL( wxWindow* parent, m_TextY = new wxStaticText( parent, -1, text ); BoxSizer->Add( m_TextY, 0, - wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 ); + wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 ); m_FramePosY = new wxTextCtrl( parent, -1, wxEmptyString ); @@ -272,7 +272,7 @@ EDA_VALUE_CTRL::EDA_VALUE_CTRL( wxWindow* parent, const wxString& title, m_Text = new wxStaticText( parent, -1, label ); BoxSizer->Add( m_Text, 0, - wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 ); + wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 ); wxString stringvalue = ReturnStringFromValue( m_UserUnit, m_Value, m_Internal_Unit ); diff --git a/include/class_drawpanel.h b/include/class_drawpanel.h index c74fe280dd..cf3ca24c89 100644 --- a/include/class_drawpanel.h +++ b/include/class_drawpanel.h @@ -381,7 +381,7 @@ public: void SetCurrentCursor( int aCursor ) { m_currentCursor = aCursor; - SetCursor( m_currentCursor ); + SetCursor( (wxStockCursor) m_currentCursor ); } /** diff --git a/pcbnew/moduleframe.cpp b/pcbnew/moduleframe.cpp index 7c9718d88b..e7ec4482e4 100644 --- a/pcbnew/moduleframe.cpp +++ b/pcbnew/moduleframe.cpp @@ -161,7 +161,11 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( PCB_EDIT_FRAME* aParent, UpdateTitle(); if( !s_Pcb ) + { s_Pcb = new BOARD(); + // Ensure all layers and items are visible: + s_Pcb->SetVisibleAlls(); + } SetBoard( s_Pcb ); diff --git a/pcbnew/modview_frame.cpp b/pcbnew/modview_frame.cpp index 4735f038ed..85c3b09b50 100644 --- a/pcbnew/modview_frame.cpp +++ b/pcbnew/modview_frame.cpp @@ -135,6 +135,8 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( wxWindow* parent, wxSemaphore* s MakeModal(true); SetBoard( new BOARD() ); + // Ensure all layers and items are visible: + GetBoard()->SetVisibleAlls(); SetScreen( new PCB_SCREEN(GetPageSizeIU()) ); GetScreen()->m_Center = true; // Center coordinate origins on screen. LoadSettings();