Loading common/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ set(COMMON_SRCS block_commande.cpp build_version.cpp class_colors_design_settings.cpp class_layerchoicebox.cpp class_marker_base.cpp class_plotter.cpp class_undoredo_container.cpp Loading pcbnew/class_layerchoicebox.cpp→common/class_layerchoicebox.cpp +39 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,10 @@ WinEDALayerChoiceBox::WinEDALayerChoiceBox( WinEDA_Toolbar* parent, wxWindowID i { m_layerorder = true; m_layerhotkeys = true; m_hotkeys = NULL; if( choices != NULL ) ResyncBitmapOnly(); } Loading @@ -40,6 +44,10 @@ WinEDALayerChoiceBox::WinEDALayerChoiceBox( WinEDA_Toolbar* parent, wxWindowID i { m_layerorder = true; m_layerhotkeys = true; m_hotkeys = NULL; if( !choices.IsEmpty() ) ResyncBitmapOnly(); } Loading Loading @@ -136,10 +144,38 @@ void WinEDALayerChoiceBox::Resync() layername = board->GetLayerName( layerid ); if( m_layerhotkeys ) layername = AddHotkeyName( layername, s_Board_Editor_Hokeys_Descr, layerhk[layerid], false ); if( m_layerhotkeys && m_hotkeys != NULL ) layername = AddHotkeyName( layername, m_hotkeys, layerhk[layerid], false ); Append( layername, layerbmp, (void*) layerid ); } } void WinEDALayerChoiceBox::ResyncBitmapOnly() { WinEDA_BasePcbFrame* pcbFrame = (WinEDA_BasePcbFrame*) GetParent()->GetParent(); BOARD* board = pcbFrame->GetBoard(); int elements = GetCount(); for( int i = 0; i < elements; i++ ) { wxBitmap layerbmp( 14, 14 ); wxMemoryDC bmpDC; wxBrush brush; wxString layername; int layerid = i; // Prepare Bitmap bmpDC.SelectObject( layerbmp ); brush.SetColour( MakeColour( board->GetLayerColor( layerid ) ) ); brush.SetStyle( wxSOLID ); bmpDC.SetBrush( brush ); bmpDC.DrawRectangle( 0, 0, layerbmp.GetWidth(), layerbmp.GetHeight() ); bmpDC.SetBrush( *wxTRANSPARENT_BRUSH ); bmpDC.SetPen( *wxBLACK_PEN ); bmpDC.DrawRectangle( 0, 0, layerbmp.GetWidth(), layerbmp.GetHeight() ); SetItemBitmap(i, layerbmp); } } gerbview/toolbars_gerber.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ #include "gerbview_id.h" #include "hotkeys.h" #include "class_GERBER.h" #include "class_layerchoicebox.h" void WinEDA_GerberFrame::ReCreateHToolbar( void ) { Loading Loading @@ -89,7 +89,7 @@ void WinEDA_GerberFrame::ReCreateHToolbar( void ) choices.Add( msg ); } m_SelLayerBox = new WinEDAChoiceBox( m_HToolBar, m_SelLayerBox = new WinEDALayerChoiceBox( m_HToolBar, ID_TOOLBARH_GERBVIEW_SELECT_LAYER, wxDefaultPosition, wxSize( 150, -1 ), choices ); Loading gerbview/wxGerberFrame.h +2 −2 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ #include "id.h" #include "class_gerbview_layer_widget.h" #include "class_layerchoicebox.h" /** * Command IDs for the gerber file viewer. Loading Loading @@ -44,7 +44,7 @@ protected: GERBER_LAYER_WIDGET* m_LayersManager; public: WinEDAChoiceBox* m_SelLayerBox; WinEDALayerChoiceBox* m_SelLayerBox; WinEDAChoiceBox* m_SelLayerTool; wxTextCtrl* m_TextInfo; // a wxTextCtrl used to display some info about // gerber data (format..) Loading include/class_layerchoicebox.h +4 −0 Original line number Diff line number Diff line #ifndef CLASS_LAYERCHOICEBOX_H #define CLASS_LAYERCHOICEBOX_H 1 #include "hotkeys_basic.h" #include <wx/bmpcbox.h> /* class to display a layer list. Loading Loading @@ -33,9 +34,12 @@ public: // Reload the Layers void Resync(); void ResyncBitmapOnly(); bool SetLayersOrdered(bool value); bool SetLayersHotkeys(bool value); // Hotkey Info struct Ki_HotkeyInfoSectionDescriptor* m_hotkeys; }; #define DECLARE_LAYERS_HOTKEY(list) int list[LAYER_COUNT] = \ Loading Loading
common/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ set(COMMON_SRCS block_commande.cpp build_version.cpp class_colors_design_settings.cpp class_layerchoicebox.cpp class_marker_base.cpp class_plotter.cpp class_undoredo_container.cpp Loading
pcbnew/class_layerchoicebox.cpp→common/class_layerchoicebox.cpp +39 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,10 @@ WinEDALayerChoiceBox::WinEDALayerChoiceBox( WinEDA_Toolbar* parent, wxWindowID i { m_layerorder = true; m_layerhotkeys = true; m_hotkeys = NULL; if( choices != NULL ) ResyncBitmapOnly(); } Loading @@ -40,6 +44,10 @@ WinEDALayerChoiceBox::WinEDALayerChoiceBox( WinEDA_Toolbar* parent, wxWindowID i { m_layerorder = true; m_layerhotkeys = true; m_hotkeys = NULL; if( !choices.IsEmpty() ) ResyncBitmapOnly(); } Loading Loading @@ -136,10 +144,38 @@ void WinEDALayerChoiceBox::Resync() layername = board->GetLayerName( layerid ); if( m_layerhotkeys ) layername = AddHotkeyName( layername, s_Board_Editor_Hokeys_Descr, layerhk[layerid], false ); if( m_layerhotkeys && m_hotkeys != NULL ) layername = AddHotkeyName( layername, m_hotkeys, layerhk[layerid], false ); Append( layername, layerbmp, (void*) layerid ); } } void WinEDALayerChoiceBox::ResyncBitmapOnly() { WinEDA_BasePcbFrame* pcbFrame = (WinEDA_BasePcbFrame*) GetParent()->GetParent(); BOARD* board = pcbFrame->GetBoard(); int elements = GetCount(); for( int i = 0; i < elements; i++ ) { wxBitmap layerbmp( 14, 14 ); wxMemoryDC bmpDC; wxBrush brush; wxString layername; int layerid = i; // Prepare Bitmap bmpDC.SelectObject( layerbmp ); brush.SetColour( MakeColour( board->GetLayerColor( layerid ) ) ); brush.SetStyle( wxSOLID ); bmpDC.SetBrush( brush ); bmpDC.DrawRectangle( 0, 0, layerbmp.GetWidth(), layerbmp.GetHeight() ); bmpDC.SetBrush( *wxTRANSPARENT_BRUSH ); bmpDC.SetPen( *wxBLACK_PEN ); bmpDC.DrawRectangle( 0, 0, layerbmp.GetWidth(), layerbmp.GetHeight() ); SetItemBitmap(i, layerbmp); } }
gerbview/toolbars_gerber.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ #include "gerbview_id.h" #include "hotkeys.h" #include "class_GERBER.h" #include "class_layerchoicebox.h" void WinEDA_GerberFrame::ReCreateHToolbar( void ) { Loading Loading @@ -89,7 +89,7 @@ void WinEDA_GerberFrame::ReCreateHToolbar( void ) choices.Add( msg ); } m_SelLayerBox = new WinEDAChoiceBox( m_HToolBar, m_SelLayerBox = new WinEDALayerChoiceBox( m_HToolBar, ID_TOOLBARH_GERBVIEW_SELECT_LAYER, wxDefaultPosition, wxSize( 150, -1 ), choices ); Loading
gerbview/wxGerberFrame.h +2 −2 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ #include "id.h" #include "class_gerbview_layer_widget.h" #include "class_layerchoicebox.h" /** * Command IDs for the gerber file viewer. Loading Loading @@ -44,7 +44,7 @@ protected: GERBER_LAYER_WIDGET* m_LayersManager; public: WinEDAChoiceBox* m_SelLayerBox; WinEDALayerChoiceBox* m_SelLayerBox; WinEDAChoiceBox* m_SelLayerTool; wxTextCtrl* m_TextInfo; // a wxTextCtrl used to display some info about // gerber data (format..) Loading
include/class_layerchoicebox.h +4 −0 Original line number Diff line number Diff line #ifndef CLASS_LAYERCHOICEBOX_H #define CLASS_LAYERCHOICEBOX_H 1 #include "hotkeys_basic.h" #include <wx/bmpcbox.h> /* class to display a layer list. Loading Loading @@ -33,9 +34,12 @@ public: // Reload the Layers void Resync(); void ResyncBitmapOnly(); bool SetLayersOrdered(bool value); bool SetLayersHotkeys(bool value); // Hotkey Info struct Ki_HotkeyInfoSectionDescriptor* m_hotkeys; }; #define DECLARE_LAYERS_HOTKEY(list) int list[LAYER_COUNT] = \ Loading