diff --git a/TODO.txt b/TODO.txt index 816ffbbbcf..b2ff7662e2 100644 --- a/TODO.txt +++ b/TODO.txt @@ -91,7 +91,6 @@ P2) Write accessors for all items in PCB_VISIBLE such as grid control, so that * Fix DIALOG_PAD_PROPERTIES_BASE class to use actual layer names in the BOARD. * Use BOARD_ITEM::MenuIcon() in the onrightclick.cpp -* Document specctra round tripper, and fix the english translation of help. * Add ARC support to gerber polygons. * Need to add polygon aperture type. Then example 2 in RS274xrevd_e.pdf will draw properly. @@ -108,15 +107,10 @@ L6) Test, and fix up any remaining issues with the PCB_VISIBLE support after P2) all interested in the same setting, such as the two grid buttons which have to remain synchronized. Using accessors makes this easy. -L7) make the bitmapbutton a staticbitmap, and make its size dependent on - the point size. - L8) LAYER_WIDGET::GetBestSize() needs platform independence. L9) On board load, ReFill() is called, this should also update the Render - checkboxes and colors. Will need to extend the widget API. - -L10)still thinking about background colors, easier now without wxformbuilder. + checkboxes and colors. Use wxDC for coordinate scaling and offsetting fix. (Wayne) diff --git a/pcbnew/layer_widget.cpp b/pcbnew/layer_widget.cpp index 6c663174a6..27706c59ad 100644 --- a/pcbnew/layer_widget.cpp +++ b/pcbnew/layer_widget.cpp @@ -31,8 +31,6 @@ //#define STAND_ALONE 1 // define to enable test program for LAYER_WIDGET -// also enable KICAD_AUIMANAGER and KICAD_AUITOOLBAR in ccmake to -// build this test program #include "layer_widget.h" @@ -40,7 +38,7 @@ #include "macros.h" #include "common.h" #include "colors.h" - +#include #define BUTT_SIZE_X 20 #define BUTT_SIZE_Y 18 @@ -429,20 +427,27 @@ LAYER_WIDGET::LAYER_WIDGET( wxWindow* aParent, wxWindow* aFocusOwner, int aPoint wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( aParent, id, pos, size, style ) { - m_PointSize = aPointSize; - - wxBoxSizer* boxSizer; - boxSizer = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* boxSizer = new wxBoxSizer( wxVERTICAL ); m_notebook = new wxAuiNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TOP ); - // change the font size on the notebook's tabs to match aPointSize wxFont font = m_notebook->GetFont(); - font.SetPointSize( aPointSize ); - m_notebook->SetFont( font ); - m_notebook->SetNormalFont( font ); - m_notebook->SetSelectedFont( font ); - m_notebook->SetMeasuringFont( font ); + + if( aPointSize == -1 ) + { + m_PointSize = font.GetPointSize(); + } + else + { + m_PointSize = aPointSize; + + // change the font size on the notebook's tabs to match aPointSize + font.SetPointSize( aPointSize ); + m_notebook->SetFont( font ); + m_notebook->SetNormalFont( font ); + m_notebook->SetSelectedFont( font ); + m_notebook->SetMeasuringFont( font ); + } m_LayerPanel = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); diff --git a/pcbnew/layer_widget.h b/pcbnew/layer_widget.h index 37e38b5717..7c61afb11b 100644 --- a/pcbnew/layer_widget.h +++ b/pcbnew/layer_widget.h @@ -191,7 +191,7 @@ public: * @param aFocusOwner is the window that should be sent the focus after * every operation. */ - LAYER_WIDGET( wxWindow* aParent, wxWindow* aFocusOwner, int aPointSize, + LAYER_WIDGET( wxWindow* aParent, wxWindow* aFocusOwner, int aPointSize = -1, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL );