diff --git a/3d-viewer/3d_viewer/eda_3d_viewer.cpp b/3d-viewer/3d_viewer/eda_3d_viewer.cpp index a1b33aa485..44e8e39fa7 100644 --- a/3d-viewer/3d_viewer/eda_3d_viewer.cpp +++ b/3d-viewer/3d_viewer/eda_3d_viewer.cpp @@ -181,15 +181,8 @@ EDA_3D_VIEWER::EDA_3D_VIEWER( KIWAY *aKiway, PCB_BASE_FRAME *aParent, m_auimgr.SetManagedWindow( this ); - EDA_PANEINFO horiztb; - horiztb.HorizontalToolbarPane(); - - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiztb ).Name( wxT( "m_mainToolBar" ) ).Top() ); - - if( m_canvas ) - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() ); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() ); m_auimgr.Update(); diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index ca31d61c29..8755bc1a89 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -264,6 +264,7 @@ set( COMMON_SRCS eda_base_frame.cpp eda_dde.cpp eda_doc.cpp + eda_dockart.cpp eda_pattern_match.cpp eda_size_ctrl.cpp env_paths.cpp diff --git a/common/colors_design_settings.cpp b/common/colors_design_settings.cpp index 4a34f7737c..36ab086d97 100644 --- a/common/colors_design_settings.cpp +++ b/common/colors_design_settings.cpp @@ -189,7 +189,7 @@ void COLORS_DESIGN_SETTINGS::setupConfigParams() case FRAME_PCB_MODULE_VIEWER: case FRAME_PCB_MODULE_VIEWER_MODAL: - case FRAME_PCB_FOOTPRINT_WIZARD_MODAL: + case FRAME_PCB_FOOTPRINT_WIZARD: case FRAME_PCB_FOOTPRINT_PREVIEW: SetConfigPrefix( "fpview_" ); break; diff --git a/common/dialogs/dialog_page_settings.cpp b/common/dialogs/dialog_page_settings.cpp index 57b9705478..d5a11e6a0f 100644 --- a/common/dialogs/dialog_page_settings.cpp +++ b/common/dialogs/dialog_page_settings.cpp @@ -84,7 +84,7 @@ void EDA_DRAW_FRAME::Process_PageSettings( wxCommandEvent& event ) FRAME_T smallSizeFrames[] = { FRAME_PCB, FRAME_PCB_MODULE_EDITOR, FRAME_PCB_MODULE_VIEWER, - FRAME_PCB_MODULE_VIEWER_MODAL, FRAME_PCB_FOOTPRINT_WIZARD_MODAL, + FRAME_PCB_MODULE_VIEWER_MODAL, FRAME_PCB_FOOTPRINT_WIZARD, FRAME_PCB_FOOTPRINT_PREVIEW, FRAME_CVPCB_DISPLAY }; diff --git a/common/draw_frame.cpp b/common/draw_frame.cpp index b716a8db1b..8e2249ccb4 100644 --- a/common/draw_frame.cpp +++ b/common/draw_frame.cpp @@ -1232,8 +1232,8 @@ void EDA_DRAW_FRAME::UseGalCanvas( bool aEnable ) GetGalCanvas()->SetEvtHandlerEnabled( aEnable ); // Switch panes - m_auimgr.GetPane( wxT( "DrawFrame" ) ).Show( !aEnable ); - m_auimgr.GetPane( wxT( "DrawFrameGal" ) ).Show( aEnable ); + m_auimgr.GetPane( "DrawFrame" ).Show( !aEnable ); + m_auimgr.GetPane( "DrawFrameGal" ).Show( aEnable ); m_auimgr.Update(); // Reset current tool on switch(); diff --git a/common/draw_panel.cpp b/common/draw_panel.cpp index f6a8eae62d..8ffb1af044 100644 --- a/common/draw_panel.cpp +++ b/common/draw_panel.cpp @@ -79,9 +79,9 @@ END_EVENT_TABLE() /***********************************************************************/ #ifdef __WXMAC__ -const int drawPanelStyle = wxBORDER | wxHSCROLL | wxVSCROLL | wxALWAYS_SHOW_SB; +const int drawPanelStyle = wxHSCROLL | wxVSCROLL | wxALWAYS_SHOW_SB; #else -const int drawPanelStyle = wxBORDER | wxHSCROLL | wxVSCROLL; +const int drawPanelStyle = wxHSCROLL | wxVSCROLL; #endif EDA_DRAW_PANEL::EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id, diff --git a/common/eda_base_frame.cpp b/common/eda_base_frame.cpp index 82f13689d8..bdeb6a4a4a 100644 --- a/common/eda_base_frame.cpp +++ b/common/eda_base_frame.cpp @@ -95,9 +95,6 @@ EDA_BASE_FRAME::EDA_BASE_FRAME( wxWindow* aParent, FRAME_T aFrameType, // hook wxEVT_CLOSE_WINDOW so we can call SaveSettings(). This function seems // to be called before any other hook for wxCloseEvent, which is necessary. Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( EDA_BASE_FRAME::windowClosing ) ); - - // remove border from wxAui panes for all derived classes - Connect( wxEVT_SHOW, wxShowEventHandler( EDA_BASE_FRAME::removePaneBorder ) ); } @@ -148,22 +145,6 @@ void EDA_BASE_FRAME::windowClosing( wxCloseEvent& event ) } -void EDA_BASE_FRAME::removePaneBorder( wxShowEvent& event ) -{ - // nothing to be set - if( !m_auimgr.GetManagedWindow() ) - return; - - // remove the ugly 1-pixel white border on AUI panes - wxAuiPaneInfoArray panes = m_auimgr.GetAllPanes(); - - for( size_t i = 0; i < panes.GetCount(); i++ ) - m_auimgr.GetPane( panes.Item( i ).name ).PaneBorder( false ); - - m_auimgr.Update(); -} - - EDA_BASE_FRAME::~EDA_BASE_FRAME() { delete m_autoSaveTimer; diff --git a/common/eda_dockart.cpp b/common/eda_dockart.cpp new file mode 100644 index 0000000000..64e672dcda --- /dev/null +++ b/common/eda_dockart.cpp @@ -0,0 +1,95 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2018 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include +#include +#include +#include +#include + +void EDA_DOCKART::DrawBorder( wxDC& aDC, wxWindow* aWindow, const wxRect& aRect, + wxAuiPaneInfo& aPane ) +{ + const wxRect& r = aRect; + aDC.SetPen( m_borderPen ); + aDC.SetBrush( *wxTRANSPARENT_BRUSH ); + + // notebooks draw the border themselves, so they can use native rendering (e.g. tabartgtk) + wxAuiTabArt* art = nullptr; + wxAuiNotebook* nb = wxDynamicCast( aWindow, wxAuiNotebook ); + + if( nb ) + art = nb->GetArtProvider(); + + if( art ) + { + art->DrawBorder( aDC, aWindow, r ); + } + else if( aPane.name == "DrawFrame" || aPane.name == "DrawFrameGal" ) + { + // We don't want to re-write the layout manager, so we give the canvas a single-pixel + // border and then fill in the top and left with the canvas background colour. + // + // This achieves a right-bottom-bordered canvas, which works reasonably well with + // wxWidgets right-bottom bordered toolbars. + + wxWindow* window = m_frame->GetCanvas(); + wxSize scrollbarSize = window->GetSize() - window->GetClientSize(); + // Not sure why it takes a pen twice as wide as the border to fill it in, but it does. + int borderWidth = GetMetric( wxAUI_DOCKART_PANE_BORDER_SIZE ) * 2; + int borderAdjust = borderWidth; + + aDC.SetPen( wxPen( m_frame->GetDrawBgColor().ToColour(), borderWidth ) ); + + // Yes, this leaves me scratching my head too. + if( m_frame->IsType( FRAME_PCB ) + || m_frame->IsType( FRAME_PCB_MODULE_EDITOR ) + || m_frame->IsType( FRAME_PCB_MODULE_VIEWER ) + || m_frame->IsType( FRAME_PCB_MODULE_VIEWER_MODAL ) + || m_frame->IsType( FRAME_GERBER ) ) + { + borderAdjust += 1; + } + + // left + aDC.DrawLine( r.x + 1, r.y, r.x + 1, r.y + r.height - borderAdjust - scrollbarSize.y ); + // top + aDC.DrawLine( r.x + 1, r.y, r.x + r.width - borderAdjust - scrollbarSize.x, r.y ); + + aDC.SetPen( m_borderPen ); + + // finish off bottom of left side (at end of scrollbar) + aDC.DrawLine( r.x, r.y + r.height - 1 - scrollbarSize.y, r.x, r.y + r.height - 1 ); + // right + aDC.DrawLine( r.x + r.width, r.y, r.x + r.width, r.y + r.height - 1 ); + // bottom + aDC.DrawLine( r.x, r.y + r.height - 1, r.x + r.width - 1, r.y + r.height - 1 ); + } + else + { + aDC.DrawRectangle( r ); + } +} + + diff --git a/common/kiway.cpp b/common/kiway.cpp index ad7423726a..b9805b1a13 100644 --- a/common/kiway.cpp +++ b/common/kiway.cpp @@ -262,7 +262,7 @@ KIWAY::FACE_T KIWAY::KifaceType( FRAME_T aFrameType ) case FRAME_PCB_MODULE_EDITOR: case FRAME_PCB_MODULE_VIEWER: case FRAME_PCB_MODULE_VIEWER_MODAL: - case FRAME_PCB_FOOTPRINT_WIZARD_MODAL: + case FRAME_PCB_FOOTPRINT_WIZARD: case FRAME_PCB_DISPLAY3D: return FACE_PCB; diff --git a/cvpcb/cvpcb_mainframe.cpp b/cvpcb/cvpcb_mainframe.cpp index 2223914010..144f360a2b 100644 --- a/cvpcb/cvpcb_mainframe.cpp +++ b/cvpcb/cvpcb_mainframe.cpp @@ -148,32 +148,18 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( KIWAY* aKiway, wxWindow* aParent ) : m_auimgr.SetManagedWindow( this ); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); - EDA_PANEINFO layers; - layers.LayersToolbarPane(); + m_auimgr.AddPane( m_libListBox, EDA_PANE().Palette().Name( "Libraries" ).Left().Layer(1) + .Caption( _( "Footprint Libraries" ) ) + .BestSize( (int) ( m_FrameSize.x * 0.20 ), m_FrameSize.y ) ); - if( m_mainToolBar ) - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top() ); + m_auimgr.AddPane( m_compListBox, EDA_PANE().Palette().Name( "Components" ).Center().Layer(0) + .Caption( _( "Symbol : Footprint Assignments" ) ) ); - if( m_compListBox ) - m_auimgr.AddPane( m_compListBox, - wxAuiPaneInfo( layers ).Name( wxT( "m_compListBox" ) ) - .Caption( _( "Symbol : Footprint Assignments" ) ).Center() ); - - if( m_libListBox) - m_auimgr.AddPane( m_libListBox, - wxAuiPaneInfo( layers ).Name( wxT( "m_libListBox" ) ) - .Caption( _( "Footprint Libraries" ) ) - .Left().BestSize( (int) ( m_FrameSize.x * 0.20 ), m_FrameSize.y ) ); - - if( m_footprintListBox ) - m_auimgr.AddPane( m_footprintListBox, - wxAuiPaneInfo( layers ).Name( wxT( "m_footprintListBox" ) ) - .Caption( _( "Filtered Footprints" ) ) - .Right().BestSize( (int) ( m_FrameSize.x * 0.30 ), m_FrameSize.y ) ); + m_auimgr.AddPane( m_footprintListBox, EDA_PANE().Palette().Name( "Footprints" ).Right().Layer(1) + .Caption( _( "Filtered Footprints" ) ) + .BestSize( (int) ( m_FrameSize.x * 0.30 ), m_FrameSize.y ) ); // Build the bottom panel, to display 2 status texts and the buttons: auto bottomPanel = new wxPanel( this ); @@ -221,7 +207,7 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( KIWAY* aKiway, wxWindow* aParent ) : sdbSizerOK->SetDefault(); - m_auimgr.AddPane( bottomPanel, wxAuiPaneInfo( horiz ).Name( wxT( "buttons" ) ).Bottom() ); + m_auimgr.AddPane( bottomPanel, EDA_PANE().HToolbar().Name( "Buttons" ).Bottom().Layer(6) ); m_auimgr.Update(); m_initialized = true; diff --git a/cvpcb/display_footprints_frame.cpp b/cvpcb/display_footprints_frame.cpp index 50296b9add..dc023045e4 100644 --- a/cvpcb/display_footprints_frame.cpp +++ b/cvpcb/display_footprints_frame.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -119,42 +120,20 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, wxWindow* aPa // Create GAL canvas EDA_DRAW_PANEL_GAL::GAL_TYPE backend = EDA_DRAW_PANEL_GAL::GAL_TYPE_CAIRO; - //EDA_DRAW_PANEL_GAL::GAL_TYPE backend = EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE; - PCB_DRAW_PANEL_GAL* gal_drawPanel = new PCB_DRAW_PANEL_GAL( this, -1, wxPoint( 0, 0 ), m_FrameSize, - GetGalDisplayOptions(), backend ); + auto* gal_drawPanel = new PCB_DRAW_PANEL_GAL( this, -1, wxPoint( 0, 0 ), m_FrameSize, + GetGalDisplayOptions(), backend ); SetGalCanvas( gal_drawPanel ); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); + m_auimgr.AddPane( m_optionsToolBar, EDA_PANE().VToolbar().Name( "OptToolbar" ).Left().Layer(3) ); - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); - - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top(). Row( 0 ) ); - - if( m_drawToolBar ) // Currently, no vertical right toolbar. - m_auimgr.AddPane( m_drawToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_drawToolBar" ) ).Right() ); - - if( m_canvas ) - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() ); - - if( GetGalCanvas() ) - m_auimgr.AddPane( (wxWindow*) GetGalCanvas(), - wxAuiPaneInfo().Name( wxT( "DrawFrameGal" ) ).CentrePane().Hide() ); - - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer(10) ); - - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_optionsToolBar" ) ).Left() ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center().Hide() ); + m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrameGal" ).Center() ); m_auimgr.Update(); @@ -180,7 +159,6 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, wxWindow* aPa UseGalCanvas( backend != EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE ); updateView(); - Show( true ); } diff --git a/cvpcb/footprints_listbox.cpp b/cvpcb/footprints_listbox.cpp index 295b51d3fd..11b1df27b2 100644 --- a/cvpcb/footprints_listbox.cpp +++ b/cvpcb/footprints_listbox.cpp @@ -41,7 +41,7 @@ FOOTPRINTS_LISTBOX::FOOTPRINTS_LISTBOX( CVPCB_MAINFRAME* parent, wxWindowID id, const wxPoint& loc, const wxSize& size ) : - ITEMS_LISTBOX_BASE( parent, id, loc, size, wxLC_SINGLE_SEL ) + ITEMS_LISTBOX_BASE( parent, id, loc, size, wxLC_SINGLE_SEL | wxNO_BORDER ) { } diff --git a/cvpcb/listboxes.h b/cvpcb/listboxes.h index 7f8c89d00a..5d7be68b2f 100644 --- a/cvpcb/listboxes.h +++ b/cvpcb/listboxes.h @@ -36,7 +36,7 @@ class CVPCB_MAINFRAME; class COMPONENT; class FOOTPRINT_LIST; -#define LISTBOX_STYLE ( wxBORDER_SIMPLE | wxLC_NO_HEADER | wxLC_REPORT | wxLC_VIRTUAL | \ +#define LISTBOX_STYLE ( wxBORDER_NONE | wxLC_NO_HEADER | wxLC_REPORT | wxLC_VIRTUAL | \ wxVSCROLL | wxHSCROLL ) /*********************************************************************/ diff --git a/eeschema/lib_edit_frame.cpp b/eeschema/lib_edit_frame.cpp index e603dc4105..2ed40b7090 100644 --- a/eeschema/lib_edit_frame.cpp +++ b/eeschema/lib_edit_frame.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include @@ -276,34 +277,18 @@ LIB_EDIT_FRAME::LIB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : UpdatePartSelectList(); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); + m_auimgr.AddPane( m_optionsToolBar, EDA_PANE().VToolbar().Name( "OptToolbar" ).Left().Layer(3) ); + m_auimgr.AddPane( m_treePane, EDA_PANE().Palette().Name( "ComponentTree" ).Left().Layer(1) + .Caption( _( "Libraries" ) ).MinSize( 250, -1 ).Resizable() ); + m_auimgr.AddPane( m_drawToolBar, EDA_PANE().VToolbar().Name( "ToolsToolbar" ).Right().Layer(1) ); - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( "m_mainToolBar" ).Top().Row( 0 ) ); - - m_auimgr.AddPane( m_drawToolBar, - wxAuiPaneInfo( vert ).Name( "m_VToolBar" ).Right() ); - - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( "m_optionsToolBar" ).Left().Row( 0 ) ); - - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( "DrawFrame" ).CentrePane() ); - - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( "MsgPanel" ).Bottom().Layer( 10 ) ); - - m_auimgr.AddPane( m_treePane, - wxAuiPaneInfo().Name( "ComponentTree" ).Caption( _( "Libraries" ) ).Left() - .Row( 1 ).Resizable().MinSize( 250, 400 ).Dock().CloseButton( false ) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() ); m_auimgr.Update(); diff --git a/eeschema/sch_base_frame.cpp b/eeschema/sch_base_frame.cpp index 95f56f5aa5..64159e59cb 100644 --- a/eeschema/sch_base_frame.cpp +++ b/eeschema/sch_base_frame.cpp @@ -128,6 +128,9 @@ void SCH_BASE_FRAME::SetDrawBgColor( COLOR4D aColor ) { m_drawBgColor= aColor; SetLayerColor( aColor, LAYER_SCHEMATIC_BACKGROUND ); + + if( m_auimgr.GetManagedWindow() ) + m_auimgr.Update(); } diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp index 029fd48cd1..e08a167f60 100644 --- a/eeschema/sch_edit_frame.cpp +++ b/eeschema/sch_edit_frame.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -394,8 +395,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ): SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y ); - if( m_canvas ) - m_canvas->SetEnableBlockCommands( true ); + m_canvas->SetEnableBlockCommands( true ); ReCreateMenuBar(); ReCreateHToolbar(); @@ -409,33 +409,13 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ): m_pageSetupData.GetPrintData().SetNoCopies( 1 ); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); - - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); - - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); - - if( m_mainToolBar ) - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top().Row( 0 ) ); - - if( m_drawToolBar ) - m_auimgr.AddPane( m_drawToolBar, wxAuiPaneInfo( vert ).Name( wxT( "m_drawToolBar" ) ).Right() ); - - if( m_optionsToolBar ) - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_optionsToolBar" ) ).Left() ); - - if( m_canvas ) - m_auimgr.AddPane( m_canvas, wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() ); - - if( m_messagePanel ) - m_auimgr.AddPane( m_messagePanel, wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom(). - Layer(10) ); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_optionsToolBar, EDA_PANE().VToolbar().Name( "OptToolbar" ).Left().Layer(3) ); + m_auimgr.AddPane( m_drawToolBar, EDA_PANE().VToolbar().Name( "ToolsToolbar" ).Right().Layer(1) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); m_auimgr.Update(); @@ -460,15 +440,11 @@ SCH_EDIT_FRAME::~SCH_EDIT_FRAME() delete m_CurrentSheet; // a SCH_SHEET_PATH, on the heap. delete m_undoItem; - delete g_RootSheet; delete m_findReplaceData; delete m_findReplaceStatus; - m_CurrentSheet = NULL; - m_undoItem = NULL; + delete g_RootSheet; g_RootSheet = NULL; - m_findReplaceData = NULL; - m_findReplaceStatus = NULL; } diff --git a/eeschema/viewlib_frame.cpp b/eeschema/viewlib_frame.cpp index 3419c6eff0..19369f64de 100644 --- a/eeschema/viewlib_frame.cpp +++ b/eeschema/viewlib_frame.cpp @@ -33,7 +33,7 @@ #include #include #include - +#include #include #include #include @@ -141,8 +141,10 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame SetIcon( icon ); m_hotkeysDescrList = g_Viewlib_Hokeys_Descr; - m_cmpList = NULL; - m_libList = NULL; + m_libList = NULL; + m_cmpList = NULL; + m_libListWidth = 200; + m_cmpListWidth = 300; m_listPowerCmpOnly = false; SetShowElectricalType( true ); @@ -162,12 +164,15 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame ReCreateHToolbar(); ReCreateVToolbar(); + m_libList = new wxListBox( this, ID_LIBVIEW_LIB_LIST, wxDefaultPosition, wxDefaultSize, + 0, NULL, wxLB_HSCROLL | wxNO_BORDER ); + + m_cmpList = new wxListBox( this, ID_LIBVIEW_CMP_LIST, wxDefaultPosition, wxDefaultSize, + 0, NULL, wxLB_HSCROLL | wxNO_BORDER ); + if( aLibraryName.empty() ) { - // Creates the libraries window display - m_libList = new wxListBox( this, ID_LIBVIEW_LIB_LIST, - wxPoint( 0, 0 ), wxSize( m_libListWidth, -1 ), - 0, NULL, wxLB_HSCROLL ); + ReCreateListLib(); } else { @@ -175,64 +180,27 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame m_entryName.Clear(); m_unit = 1; m_convert = 1; - m_libListWidth = 0; } m_selection_changed = false; - // Creates the component window display - m_cmpList = new wxListBox( this, ID_LIBVIEW_CMP_LIST, wxPoint( 0, 0 ), - wxSize( m_cmpListWidth, -1 ), 0, NULL, wxLB_HSCROLL ); - - if( m_libList ) - ReCreateListLib(); - DisplayLibInfos(); m_auimgr.SetManagedWindow( this ); - - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); - - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); - - EDA_PANEINFO info; - info.InfoToolbarPane(); - - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); - + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); // Manage main toolbar - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( "m_mainToolBar" ).Top().Row( 0 ) ); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - // Manage the left window (list of libraries) - if( m_libList ) - m_auimgr.AddPane( m_libList, wxAuiPaneInfo( info ).Name( "m_libList" ).Left().Row( 0 ) ); + m_auimgr.AddPane( m_libList, EDA_PANE().Palette().Name( "Libraries" ).Left().Layer(3) + .CaptionVisible( false ).MinSize( 80, -1 ).BestSize( m_libListWidth, -1 ) ); + m_auimgr.AddPane( m_cmpList, EDA_PANE().Palette().Name( "Symbols" ).Left().Layer(1) + .CaptionVisible( false ).MinSize( 80, -1 ).BestSize( m_cmpListWidth, -1 ) ); - // Manage the list of components) - m_auimgr.AddPane( m_cmpList, wxAuiPaneInfo( info ).Name( "m_cmpList" ).Left().Row( 1 ) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() ); - // Manage the draw panel - m_auimgr.AddPane( m_canvas, wxAuiPaneInfo().Name( "DrawFrame" ).CentrePane() ); - - // Manage the message panel - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( "MsgPanel" ).Bottom().Layer( 10 ) ); - - /* Now the minimum windows are fixed, set library list - * and component list of the previous values from last viewlib use - */ - if( m_libList ) - { - m_auimgr.GetPane( m_libList ).MinSize( wxSize( 80, -1 ) ); - m_auimgr.GetPane( m_libList ).BestSize( wxSize( m_libListWidth, -1 ) ); - } - - m_auimgr.GetPane( m_cmpList ).MinSize( wxSize( 80, -1) ); - m_auimgr.GetPane( m_cmpList ).BestSize( wxSize( m_cmpListWidth, -1 ) ); + m_auimgr.GetPane( m_libList ).Show( aLibraryName.empty() ); m_auimgr.Update(); diff --git a/gerbview/events_called_functions.cpp b/gerbview/events_called_functions.cpp index 5faa8369ef..29bbbdf24c 100644 --- a/gerbview/events_called_functions.cpp +++ b/gerbview/events_called_functions.cpp @@ -444,7 +444,7 @@ void GERBVIEW_FRAME::OnToggleShowLayerManager( wxCommandEvent& aEvent ) m_show_layer_manager_tools = !m_show_layer_manager_tools; // show/hide auxiliary Vertical layers and visibility manager toolbar - m_auimgr.GetPane( wxT( "m_LayersManagerToolBar" ) ).Show( m_show_layer_manager_tools ); + m_auimgr.GetPane( "LayersManager" ).Show( m_show_layer_manager_tools ); m_auimgr.Update(); } diff --git a/gerbview/gerbview_frame.cpp b/gerbview/gerbview_frame.cpp index 61a1e69a9f..ec656a0df0 100644 --- a/gerbview/gerbview_frame.cpp +++ b/gerbview/gerbview_frame.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -134,64 +135,25 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent ): GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId ); - m_auimgr.SetManagedWindow( this ); - ReCreateMenuBar(); ReCreateHToolbar(); ReCreateOptToolbar(); ReCreateAuxiliaryToolbar(); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); + m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_auxiliaryToolBar, EDA_PANE().HToolbar().Name( "AuxToolbar" ).Top().Layer(4) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); + m_auimgr.AddPane( m_optionsToolBar, EDA_PANE().VToolbar().Name( "OptToolbar" ).Left().Layer(3) ); + m_auimgr.AddPane( m_LayersManager, EDA_PANE().Palette().Name( "LayersManager" ).Right().Layer(3) + .Caption( _( "Layers Manager" ) ).PaneBorder( false ) + .MinSize( 80, -1 ).BestSize( m_LayersManager->GetBestSize() ) ); - // Create a wxAuiPaneInfo for the Layers Manager, not derived from the template. - // the Layers Manager is floatable, but initially docked at far right - EDA_PANEINFO lyrs; - lyrs.LayersToolbarPane(); - lyrs.MinSize( m_LayersManager->GetBestSize() ); - lyrs.BestSize( m_LayersManager->GetBestSize() ); - lyrs.Caption( _( "Visibles" ) ); - lyrs.TopDockable( false ).BottomDockable( false ); - - - if( m_mainToolBar ) - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top().Row( 0 ) ); - - if( m_auxiliaryToolBar ) // the auxiliary horizontal toolbar, that shows component and netname lists - { - m_auimgr.AddPane( m_auxiliaryToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_auxiliaryToolBar" ) ).Top().Row( 1 ) ); - } - - if( m_drawToolBar ) - m_auimgr.AddPane( m_drawToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_drawToolBar" ) ).Right().Row( 1 ) ); - - m_auimgr.AddPane( m_LayersManager, - lyrs.Name( wxT( "m_LayersManagerToolBar" ) ).Right().Layer( 0 ) ); - - if( m_optionsToolBar ) - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_optionsToolBar" ) ).Left() ); - - if( m_canvas ) - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() ); - - if( GetGalCanvas() ) - m_auimgr.AddPane( (wxWindow*) GetGalCanvas(), - wxAuiPaneInfo().Name( wxT( "DrawFrameGal" ) ).CentrePane().Hide() ); - - if( m_messagePanel ) - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer( 10 ) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center().Hide() ); + m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrameGal" ).Center() ); ReFillLayerWidget(); // this is near end because contents establish size m_auimgr.Update(); diff --git a/include/eda_base_frame.h b/include/eda_base_frame.h index 4d9a0797f4..8049f8924e 100644 --- a/include/eda_base_frame.h +++ b/include/eda_base_frame.h @@ -126,11 +126,6 @@ class EDA_BASE_FRAME : public wxFrame wxWindow* findQuasiModalDialog(); - /** - * Removes border from wxAui panes. - */ - void removePaneBorder( wxShowEvent& event ); - protected: FRAME_T m_Ident; ///< Id Type (pcb, schematic, library..) wxPoint m_FramePos; @@ -440,85 +435,81 @@ public: * then after a //==// break has additional calls to anchor toolbars in a way that matches * present functionality. */ -class EDA_PANEINFO : public wxAuiPaneInfo +class EDA_PANE : public wxAuiPaneInfo { - public: - - /** - * Function HorizontalToolbarPane - * Change *this to a horizontal toolbar for KiCad. - */ - EDA_PANEINFO& HorizontalToolbarPane() + EDA_PANE() { - ToolbarPane(); - CloseButton( false ); - LeftDockable( false ); - RightDockable( false ); - //==================== Remove calls below here for movable toolbars // Gripper( false ); - DockFixed( true ); - Movable( false ); - Resizable( true ); - return *this; + CloseButton( false ); + PaneBorder( false ); } /** - * Function VerticalToolbarPane - * Change *this to a vertical toolbar for KiCad. + * Function HToolbar + * Turn *this to a horizontal toolbar for KiCad. */ - EDA_PANEINFO& VerticalToolbarPane() + EDA_PANE& HToolbar() { - ToolbarPane(); - CloseButton( false ); - TopDockable( false ); - BottomDockable( false ); - //==================== Remove calls below here for movable toolbars // - Gripper( false ); - DockFixed( true ); - Movable( false ); - Resizable( true ); - return *this; - } - - /** - * Function MessageToolbarPane - * Change *this to a message pane for KiCad. - * - */ - EDA_PANEINFO& MessageToolbarPane() - { - Gripper( false ); - DockFixed( true ); - Movable( false ); - Floatable( false ); - CloseButton( false ); + SetFlag( optionToolbar, true ); CaptionVisible( false ); + TopDockable().BottomDockable(); + DockFixed( true ); + Movable( false ); + Resizable( true ); // expand to fit available space return *this; } /** - * Function LayersToolbarPane - * Change *this to a layers toolbar for KiCad. + * Function VToolbar + * Turn *this into a vertical toolbar for KiCad. */ - EDA_PANEINFO& LayersToolbarPane() + EDA_PANE& VToolbar() { - CloseButton( false ); - return *this; - } - - /** - * Function InfoToolbarPane - * Change *this to a information panel for for KiCad. - * - * Info panes are used for vertical display of information next to the center pane. - * Used in CvPcb and the library viewer primarily. - */ - EDA_PANEINFO& InfoToolbarPane() - { - Gripper( false ); - CloseButton( false ); + SetFlag( optionToolbar, true ); CaptionVisible( false ); + LeftDockable().RightDockable(); + DockFixed( true ); + Movable( false ); + Resizable( true ); // expand to fit available space + return *this; + } + + /** + * Function Palette + * Turn *this into a captioned palette suitable for a symbol tree, layers manager, etc. + */ + EDA_PANE& Palette() + { + CaptionVisible( true ); + PaneBorder( true ); + return *this; + } + + /** + * Function Canvas + * Turn *this into an undecorated pane suitable for a drawing canvas. + */ + EDA_PANE& Canvas() + { + CaptionVisible( false ); + Layer( 0 ); + PaneBorder( true ); + Resizable( true ); // expand to fit available space + return *this; + } + + /** + * Function Messages + * Turn *this into a messages pane for KiCad. + */ + EDA_PANE& Messages() + { + CaptionVisible( false ); + BottomDockable( true ); + DockFixed( true ); + Movable( false ); + Resizable( true ); // expand to fit available space return *this; } }; diff --git a/include/eda_dockart.h b/include/eda_dockart.h new file mode 100644 index 0000000000..a58ca54f60 --- /dev/null +++ b/include/eda_dockart.h @@ -0,0 +1,59 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2018 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef EDA_DOCKART_H +#define EDA_DOCKART_H + +#include +#include +#include + +class EDA_DRAW_FRAME; + + +class EDA_DOCKART : public wxAuiDefaultDockArt +{ +private: + EDA_DRAW_FRAME* m_frame; + +public: + EDA_DOCKART( EDA_DRAW_FRAME* aParent ) : + m_frame( aParent ) + { + SetMetric( wxAUI_DOCKART_PANE_BORDER_SIZE, 1 ); + } + + /** + * Draw borders for Kicad AUI panes. + * + * The principal specialization over wxWidgets' default borders is the absence of a + * white single-pixel frame (which looks particularly poor on canvasses with dark + * backgrounds). + */ + void DrawBorder( wxDC& aDC, wxWindow* aWindow, const wxRect& r, + wxAuiPaneInfo& aPane ) override; +}; + + +#endif //EDA_DOCKART_H diff --git a/include/frame_type.h b/include/frame_type.h index 8aa8256d50..9aa151678f 100644 --- a/include/frame_type.h +++ b/include/frame_type.h @@ -43,7 +43,7 @@ enum FRAME_T FRAME_PCB_MODULE_EDITOR, FRAME_PCB_MODULE_VIEWER, FRAME_PCB_MODULE_VIEWER_MODAL, - FRAME_PCB_FOOTPRINT_WIZARD_MODAL, + FRAME_PCB_FOOTPRINT_WIZARD, FRAME_PCB_DISPLAY3D, FRAME_PCB_FOOTPRINT_PREVIEW, diff --git a/include/pcb_base_frame.h b/include/pcb_base_frame.h index b8e94ba5a7..43eff1ff50 100644 --- a/include/pcb_base_frame.h +++ b/include/pcb_base_frame.h @@ -154,6 +154,8 @@ public: virtual BOARD_DESIGN_SETTINGS& GetDesignSettings() const; virtual void SetDesignSettings( const BOARD_DESIGN_SETTINGS& aSettings ); + void SetDrawBgColor( COLOR4D aColor ) override; + /** * Function GetDisplayOptions * returns the display options current in use diff --git a/kicad/mainframe.cpp b/kicad/mainframe.cpp index e980e12b7b..6f06004bff 100644 --- a/kicad/mainframe.cpp +++ b/kicad/mainframe.cpp @@ -82,37 +82,23 @@ KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent, // Add the wxTextCtrl showing all messages from KiCad: m_MessagesBox = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE | wxTE_READONLY ); + wxTE_MULTILINE | wxTE_READONLY | wxBORDER_NONE ); RecreateBaseHToolbar(); ReCreateMenuBar(); m_auimgr.SetManagedWindow( this ); - EDA_PANEINFO horiztb; - horiztb.HorizontalToolbarPane(); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); - EDA_PANEINFO info; - info.InfoToolbarPane(); + m_auimgr.AddPane( m_LeftWin, EDA_PANE().Palette().Name( "ProjectTree" ).Left().Layer(3) + .CaptionVisible( false ).PaneBorder( false ) + .MinSize( 150, -1 ).BestSize( m_leftWinWidth, -1 ) ); - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiztb ).Name( wxT( "m_mainToolBar" ) ).Top() ); + m_auimgr.AddPane( m_Launcher, EDA_PANE().HToolbar().Name( "Launcher" ).Top().Layer(1) + .MinSize( m_Launcher->GetPanelWidth(), m_Launcher->GetPanelHeight() ) ); - m_auimgr.AddPane( m_LeftWin, - wxAuiPaneInfo(info).Name( wxT( "m_LeftWin" ) ).Left(). - BestSize( m_leftWinWidth, -1 ). - Layer( 1 ) ); - - m_auimgr.AddPane( m_Launcher, wxTOP ); - m_auimgr.GetPane( m_Launcher).CaptionVisible( false ).PaneBorder(false) - .MinSize( wxSize( m_Launcher->GetPanelWidth(), m_Launcher->GetPanelHeight() ) ) - .Resizable( false ); - - m_auimgr.AddPane( m_MessagesBox, - wxAuiPaneInfo().Name( wxT( "m_MessagesBox" ) ).CentrePane().Layer( 2 ) ); - - m_auimgr.GetPane( m_LeftWin ).MinSize( wxSize( 150, -1) ); - m_auimgr.GetPane( m_LeftWin ).BestSize(wxSize(m_leftWinWidth, -1) ); + m_auimgr.AddPane( m_MessagesBox, EDA_PANE().Messages().Name( "MsgPanel" ).Center() ); m_auimgr.Update(); diff --git a/pagelayout_editor/dialogs/properties_frame_base.cpp b/pagelayout_editor/dialogs/properties_frame_base.cpp index 67c94f0756..7b8d1b6d4d 100644 --- a/pagelayout_editor/dialogs/properties_frame_base.cpp +++ b/pagelayout_editor/dialogs/properties_frame_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Apr 19 2018) +// C++ code generated with wxFormBuilder (version Dec 30 2017) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -133,18 +133,18 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlTextSizeX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer2->Add( m_textCtrlTextSizeX, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + fgSizer2->Add( m_textCtrlTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units1 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units1->Wrap( -1 ); - fgSizer2->Add( m_units1, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer2->Add( m_units1, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_textCtrlTextSizeY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer2->Add( m_textCtrlTextSizeY, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + fgSizer2->Add( m_textCtrlTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units11 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units11->Wrap( -1 ); - fgSizer2->Add( m_units11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer2->Add( m_units11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_staticTextConstraints = new wxStaticText( m_swItemProperties, wxID_ANY, _("Constraints:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextConstraints->Wrap( -1 ); @@ -174,18 +174,18 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlConstraintX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer2->Add( m_textCtrlConstraintX, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + fgSizer2->Add( m_textCtrlConstraintX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units111->Wrap( -1 ); - fgSizer2->Add( m_units111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer2->Add( m_units111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_textCtrlConstraintY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer2->Add( m_textCtrlConstraintY, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + fgSizer2->Add( m_textCtrlConstraintY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units1111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units1111->Wrap( -1 ); - fgSizer2->Add( m_units1111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer2->Add( m_units1111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_SizerTextOptions->Add( fgSizer2, 1, wxEXPAND, 5 ); @@ -230,11 +230,11 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlPosX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer3->Add( m_textCtrlPosX, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + fgSizer3->Add( m_textCtrlPosX, 1, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_units12 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units12->Wrap( -1 ); - fgSizer3->Add( m_units12, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); + fgSizer3->Add( m_units12, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 ); m_staticTextPosY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Start Y:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextPosY->Wrap( -1 ); @@ -244,7 +244,7 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlPosY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer3->Add( m_textCtrlPosY, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + fgSizer3->Add( m_textCtrlPosY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); m_units121 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units121->Wrap( -1 ); @@ -290,11 +290,11 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer4->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlEndX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer4->Add( m_textCtrlEndX, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer4->Add( m_textCtrlEndX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units1211 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units1211->Wrap( -1 ); - fgSizer4->Add( m_units1211, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); + fgSizer4->Add( m_units1211, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 ); m_staticTextEndY = new wxStaticText( m_swItemProperties, wxID_ANY, _("End Y:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextEndY->Wrap( -1 ); @@ -304,11 +304,11 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer4->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlEndY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer4->Add( m_textCtrlEndY, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer4->Add( m_textCtrlEndY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units12111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units12111->Wrap( -1 ); - fgSizer4->Add( m_units12111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); + fgSizer4->Add( m_units12111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 ); m_SizerEndPosition->Add( fgSizer4, 1, wxEXPAND|wxRIGHT, 5 ); @@ -452,18 +452,18 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer8->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlStepX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer8->Add( m_textCtrlStepX, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + fgSizer8->Add( m_textCtrlStepX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units121111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units121111->Wrap( -1 ); - fgSizer8->Add( m_units121111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer8->Add( m_units121111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_textCtrlStepY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer8->Add( m_textCtrlStepY, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer8->Add( m_textCtrlStepY, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_units1211111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units1211111->Wrap( -1 ); - fgSizer8->Add( m_units1211111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer8->Add( m_units1211111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); bSizerMain->Add( fgSizer8, 1, wxEXPAND, 5 ); @@ -507,18 +507,18 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlDefaultTextSizeX = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer5->Add( m_textCtrlDefaultTextSizeX, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + fgSizer5->Add( m_textCtrlDefaultTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units14 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units14->Wrap( -1 ); - fgSizer5->Add( m_units14, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer5->Add( m_units14, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_textCtrlDefaultTextSizeY = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer5->Add( m_textCtrlDefaultTextSizeY, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + fgSizer5->Add( m_textCtrlDefaultTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units141 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units141->Wrap( -1 ); - fgSizer5->Add( m_units141, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer5->Add( m_units141, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_staticTextDefLineW = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextDefLineW->Wrap( -1 ); @@ -535,14 +535,18 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlDefaultLineWidth = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer5->Add( m_textCtrlDefaultLineWidth, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer5->Add( m_textCtrlDefaultLineWidth, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_staticText221 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText221->Wrap( -1 ); - fgSizer5->Add( m_staticText221, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer5->Add( m_staticText221, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_textCtrlDefaultTextThickness = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer5->Add( m_textCtrlDefaultTextThickness, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer5->Add( m_textCtrlDefaultTextThickness, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); + + m_staticText2211 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText2211->Wrap( -1 ); + fgSizer5->Add( m_staticText2211, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 ); @@ -588,14 +592,14 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlLeftMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer6->Add( m_textCtrlLeftMargin, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer6->Add( m_textCtrlLeftMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); m_units142 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units142->Wrap( -1 ); fgSizer6->Add( m_units142, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); m_textCtrlRightMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer6->Add( m_textCtrlRightMargin, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer6->Add( m_textCtrlRightMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); m_units143 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units143->Wrap( -1 ); @@ -616,18 +620,18 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); m_textCtrlTopMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer6->Add( m_textCtrlTopMargin, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer6->Add( m_textCtrlTopMargin, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_units1431 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units1431->Wrap( -1 ); - fgSizer6->Add( m_units1431, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer6->Add( m_units1431, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_textCtrlDefaultBottomMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer6->Add( m_textCtrlDefaultBottomMargin, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + fgSizer6->Add( m_textCtrlDefaultBottomMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_units1432 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_units1432->Wrap( -1 ); - fgSizer6->Add( m_units1432, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 ); + fgSizer6->Add( m_units1432, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); bSizerGeneraMargins->Add( fgSizer6, 1, wxEXPAND, 5 ); @@ -645,7 +649,7 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c bSizerGeneralOpts->Fit( m_swGeneralOpts ); m_notebook->AddPage( m_swGeneralOpts, _("General Options"), true ); - bSizerpanel->Add( m_notebook, 1, wxEXPAND | wxALL, 5 ); + bSizerpanel->Add( m_notebook, 1, wxEXPAND, 5 ); this->SetSizer( bSizerpanel ); diff --git a/pagelayout_editor/dialogs/properties_frame_base.fbp b/pagelayout_editor/dialogs/properties_frame_base.fbp index 8f719fb634..14e5dc2892 100644 --- a/pagelayout_editor/dialogs/properties_frame_base.fbp +++ b/pagelayout_editor/dialogs/properties_frame_base.fbp @@ -14,7 +14,6 @@ properties_frame_base 1000 none - 1 properties_frame @@ -86,7 +85,7 @@ none 5 - wxEXPAND | wxALL + wxEXPAND 1 1 @@ -251,20 +250,20 @@ bSizerMain wxVERTICAL none - + 5 0 - + bSizerButt wxHORIZONTAL none - + 5 0 - + bSizerType wxVERTICAL @@ -445,11 +444,11 @@ - + 5 0 - + bSizerPageOpt wxVERTICAL @@ -893,20 +892,20 @@ - + 5 wxEXPAND 0 - + bSizerFontOpt wxVERTICAL none - + 5 wxEXPAND 1 - + 3 wxBOTH @@ -1444,7 +1443,7 @@ 5 wxEXPAND 1 - + 4 wxBOTH 0,2 @@ -1644,7 +1643,7 @@ 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -1735,7 +1734,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -1818,7 +1817,7 @@ 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -1909,7 +1908,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -2291,7 +2290,7 @@ 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -2382,7 +2381,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -2465,7 +2464,7 @@ 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -2556,7 +2555,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -3155,11 +3154,11 @@ bSizerPos wxHORIZONTAL none - + 5 wxEXPAND|wxRIGHT 1 - + 2 wxBOTH 0 @@ -3266,7 +3265,7 @@ 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL 1 1 @@ -3357,7 +3356,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM 0 1 @@ -3533,7 +3532,7 @@ 5 - wxEXPAND|wxRIGHT|wxLEFT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT 0 1 @@ -3905,11 +3904,11 @@ m_SizerEndPosition wxHORIZONTAL protected - + 5 wxEXPAND|wxRIGHT 1 - + 2 wxBOTH 0 @@ -4016,7 +4015,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -4107,7 +4106,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM 0 1 @@ -4283,7 +4282,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -4374,7 +4373,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM 0 1 @@ -4457,11 +4456,11 @@ - + 5 wxALIGN_CENTER_VERTICAL 0 - + bSizer61 wxVERTICAL @@ -4646,20 +4645,20 @@ - + 5 0 - + m_SizerLineThickness wxHORIZONTAL protected - + 5 wxEXPAND 0 - + bSizerThickness wxVERTICAL @@ -4929,7 +4928,7 @@ 5 wxEXPAND 0 - + m_SizerRotation wxVERTICAL @@ -5015,11 +5014,11 @@ - + 5 wxEXPAND 1 - + 2 wxBOTH @@ -5573,7 +5572,7 @@ 5 wxEXPAND 1 - + 4 wxBOTH 0,2 @@ -6161,7 +6160,7 @@ 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -6252,7 +6251,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -6335,7 +6334,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -6426,7 +6425,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -6516,7 +6515,7 @@ General Options 1 - + 1 1 1 @@ -6592,16 +6591,16 @@ - + bSizerGeneralOpts wxVERTICAL none - + 5 wxEXPAND 0 - + bSizerGeneralOpts1 wxVERTICAL @@ -6689,11 +6688,11 @@ - + 5 wxEXPAND 1 - + 4 wxBOTH 0,2 @@ -6893,7 +6892,7 @@ 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -6984,7 +6983,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -7067,7 +7066,7 @@ 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -7158,7 +7157,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -7427,7 +7426,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -7518,7 +7517,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -7601,7 +7600,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -7690,6 +7689,89 @@ + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + + 0 + + + 0 + + 1 + m_staticText2211 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + 5 wxEXPAND @@ -7873,11 +7955,11 @@ - + 5 wxEXPAND 0 - + bSizerGeneraMargins wxVERTICAL @@ -7965,11 +8047,11 @@ - + 5 wxEXPAND 1 - + 4 wxBOTH 0,2 @@ -8169,7 +8251,7 @@ 5 - wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT 0 1 @@ -8343,7 +8425,7 @@ 5 - wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT 0 1 @@ -8703,7 +8785,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -8794,7 +8876,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -8877,7 +8959,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT 0 1 @@ -8968,7 +9050,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 diff --git a/pagelayout_editor/dialogs/properties_frame_base.h b/pagelayout_editor/dialogs/properties_frame_base.h index 66d9b77821..8896f149b4 100644 --- a/pagelayout_editor/dialogs/properties_frame_base.h +++ b/pagelayout_editor/dialogs/properties_frame_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Apr 19 2018) +// C++ code generated with wxFormBuilder (version Dec 30 2017) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -129,6 +129,7 @@ class PANEL_PROPERTIES_BASE : public wxPanel wxTextCtrl* m_textCtrlDefaultLineWidth; wxStaticText* m_staticText221; wxTextCtrl* m_textCtrlDefaultTextThickness; + wxStaticText* m_staticText2211; wxButton* m_buttonDefault; wxStaticLine* m_staticline9; wxStaticText* m_staticTextMargins; diff --git a/pagelayout_editor/pl_editor_frame.cpp b/pagelayout_editor/pl_editor_frame.cpp index 553a90d9f7..14d3f8e006 100644 --- a/pagelayout_editor/pl_editor_frame.cpp +++ b/pagelayout_editor/pl_editor_frame.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -93,7 +94,6 @@ PL_EDITOR_FRAME::PL_EDITOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) : ReCreateMenuBar(); ReCreateHToolbar(); - ReCreateOptToolbar(); wxWindow* stsbar = GetStatusBar(); int dims[] = { @@ -122,57 +122,23 @@ PL_EDITOR_FRAME::PL_EDITOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) : SetStatusWidths( DIM( dims ), dims ); - m_auimgr.SetManagedWindow( this ); - - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); - - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); - - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); m_propertiesPagelayout = new PROPERTIES_FRAME( this ); - EDA_PANEINFO props; - props.LayersToolbarPane(); - props.MinSize( m_propertiesPagelayout->GetMinSize() ); - props.BestSize( m_propertiesFrameWidth, -1 ); - props.Caption( _( "Properties" ) ); - m_treePagelayout = new DESIGN_TREE_FRAME( this ); - EDA_PANEINFO tree; - tree.LayersToolbarPane(); - tree.MinSize( m_treePagelayout->GetMinSize() ); - tree.BestSize( m_designTreeWidth, -1 ); - tree.Caption( _( "Design" ) ); - if( m_mainToolBar ) - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top().Row( 0 ) ); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - if( m_drawToolBar ) - m_auimgr.AddPane( m_drawToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_drawToolBar" ) ).Right().Row( 1 ) ); + m_auimgr.AddPane( m_treePagelayout, EDA_PANE().Palette().Name( "Design" ).Left().Layer(1) + .Caption( _( "Design" ) ).MinSize( m_treePagelayout->GetMinSize() ) + .BestSize( m_designTreeWidth, -1 ) ); + m_auimgr.AddPane( m_propertiesPagelayout, EDA_PANE().Palette().Name( "Props" ).Right().Layer(1) + .Caption( _( "Properties" ) ).MinSize( m_propertiesPagelayout->GetMinSize() ) + .BestSize( m_propertiesFrameWidth, -1 ) ); - m_auimgr.AddPane( m_propertiesPagelayout, - props.Name( wxT( "m_propertiesPagelayout" ) ).Right().Layer( 1 ) ); - - m_auimgr.AddPane( m_treePagelayout, - tree.Name( wxT( "m_treePagelayout" ) ).Left().Layer( 0 ) ); - - if( m_optionsToolBar ) - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_optionsToolBar" ) ).Left() ); - - if( m_canvas ) - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane().Layer( 5 ) ); - - if( m_messagePanel ) - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer( 10 ) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() ); m_auimgr.Update(); diff --git a/pcbnew/footprint_edit_frame.cpp b/pcbnew/footprint_edit_frame.cpp index ea08afaea8..f7a31f1acf 100644 --- a/pcbnew/footprint_edit_frame.cpp +++ b/pcbnew/footprint_edit_frame.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -287,54 +288,25 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent, m_canvas->SetEnableBlockCommands( true ); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); + // Horizontal items; layers 4 - 6 + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_auxiliaryToolBar, EDA_PANE().HToolbar().Name( "AuxToolbar" ).Top().Layer(4) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); + // Vertical items; layers 1 - 3 + m_auimgr.AddPane( m_optionsToolBar, EDA_PANE().VToolbar().Name( "OptToolbar" ).Left().Layer(3) ); + m_auimgr.AddPane( m_treePane, EDA_PANE().Palette().Name( "Footprints" ).Left().Layer(1) + .Caption( _( "Libraries" ) ).MinSize( 250, 400 ) ); - EDA_PANEINFO mesg_pane; - mesg_pane.MessageToolbarPane(); + m_auimgr.AddPane( m_drawToolBar, EDA_PANE().VToolbar().Name( "ToolsToolbar" ).Right().Layer(1) ); + m_auimgr.AddPane( m_Layers, EDA_PANE().Palette().Name( "LayersManager" ).Right().Layer(3) + .Caption( _( "Layers Manager" ) ).PaneBorder( false ) + .MinSize( 80, -1 ).BestSize( m_Layers->GetBestSize() ) ); - // Create a wxAuiPaneInfo for the Layers Manager, not derived from the template. - // LAYER_WIDGET is floatable, but initially docked at far right - EDA_PANEINFO lyrs; - lyrs.LayersToolbarPane(); - lyrs.MinSize( m_Layers->GetBestSize() ); // updated in ReFillLayerWidget - lyrs.BestSize( m_Layers->GetBestSize() ); - lyrs.Caption( _( "Visibles" ) ); - - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( "m_mainToolBar" ).Top(). Row( 0 ) ); - - m_auimgr.AddPane( m_auxiliaryToolBar, - wxAuiPaneInfo( horiz ).Name( "m_auxiliaryToolBar" ).Top().Row( 1 ) ); - - // The main right vertical toolbar - m_auimgr.AddPane( m_drawToolBar, - wxAuiPaneInfo( vert ).Name( "m_VToolBar" ).Right().Layer(1) ); - - // Add the layer manager ( most right side of pcbframe ) - m_auimgr.AddPane( m_Layers, lyrs.Name( "m_LayersManagerToolBar" ).Right().Layer( 2 ) ); - // Layers manager is visible - m_auimgr.GetPane( "m_LayersManagerToolBar" ).Show( true ); - - // The left vertical toolbar (fast acces to display options) - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( "m_optionsToolBar" ). Left().Layer(1) ); - - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( "DrawFrame" ).CentrePane() ); - m_auimgr.AddPane( (wxWindow*) GetGalCanvas(), - wxAuiPaneInfo().Name( "DrawFrameGal" ).CentrePane().Hide() ); - - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg_pane ).Name( "MsgPanel" ).Bottom().Layer(10) ); - - m_auimgr.AddPane( m_treePane, - wxAuiPaneInfo().Name( "FootprintTree" ).Caption( _( "Libraries" ) ).Left() - .Row( 1 ).Resizable().MinSize( 250, 400 ).Dock().CloseButton( false ) ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center().Hide() ); + m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrameGal" ).Center() ); // Create the manager and dispatcher & route draw panel events to the dispatcher setupTools(); @@ -715,11 +687,11 @@ void FOOTPRINT_EDIT_FRAME::ShowChangedLanguage() // So force show panes wxAuiPaneInfo& tree_pane_info = m_auimgr.GetPane( m_treePane ); bool tree_shown = tree_pane_info.IsShown(); - tree_pane_info.Caption( _( "Footprint Libraries" ) ); + tree_pane_info.Caption( _( "Libraries" ) ); wxAuiPaneInfo& lm_pane_info = m_auimgr.GetPane( m_Layers ); bool lm_shown = lm_pane_info.IsShown(); - lm_pane_info.Caption( _( "Visibles" ) ); + lm_pane_info.Caption( _( "Layers Manager" ) ); // update the layer manager m_Layers->SetLayersManagerTabsText(); diff --git a/pcbnew/footprint_editor_utils.cpp b/pcbnew/footprint_editor_utils.cpp index 6f9759bafb..def1866c83 100644 --- a/pcbnew/footprint_editor_utils.cpp +++ b/pcbnew/footprint_editor_utils.cpp @@ -362,7 +362,7 @@ void FOOTPRINT_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event ) } FOOTPRINT_WIZARD_FRAME* wizard = (FOOTPRINT_WIZARD_FRAME*) Kiway().Player( - FRAME_PCB_FOOTPRINT_WIZARD_MODAL, true, this ); + FRAME_PCB_FOOTPRINT_WIZARD, true, this ); if( wizard->ShowModal( NULL, this ) ) { diff --git a/pcbnew/footprint_viewer_frame.cpp b/pcbnew/footprint_viewer_frame.cpp index bc426c4dd5..424da28681 100644 --- a/pcbnew/footprint_viewer_frame.cpp +++ b/pcbnew/footprint_viewer_frame.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -154,11 +155,11 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent m_hotkeysDescrList = g_Module_Viewer_Hotkeys_Descr; - m_libList = new wxListBox( this, ID_MODVIEW_LIB_LIST, - wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL ); + m_libList = new wxListBox( this, ID_MODVIEW_LIB_LIST, wxDefaultPosition, wxDefaultSize, + 0, NULL, wxLB_HSCROLL | wxNO_BORDER ); - m_footprintList = new wxListBox( this, ID_MODVIEW_FOOTPRINT_LIST, - wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL ); + m_footprintList = new wxListBox( this, ID_MODVIEW_FOOTPRINT_LIST, wxDefaultPosition, wxDefaultSize, + 0, NULL, wxLB_HSCROLL | wxNO_BORDER ); SetBoard( new BOARD() ); // In viewer, the default net clearance is not known (it depends on the actual board). @@ -219,59 +220,20 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent drawPanel->DisplayBoard( m_Pcb ); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - wxSize minsize( 100, -1 ); // Min size of list boxes + // Horizontal items; layers 4 - 6 + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().VToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - // Main toolbar is initially docked at the top of the main window and dockable on any side. - // The close button is disable because the footprint viewer has no main menu to re-enable it. - // The tool bar will only be dockable on the top or bottom of the main frame window. This is - // most likely due to the fact that the other windows are not dockable and are preventing the - // tool bar from docking on the right and left. - wxAuiPaneInfo toolbarPaneInfo; - toolbarPaneInfo.Name( "m_mainToolBar" ).ToolbarPane().Top().CloseButton( false ); + // Vertical items; layers 1 - 3 + m_auimgr.AddPane( m_libList, EDA_PANE().Palette().Name( "Libraries" ).Left().Layer(2) + .CaptionVisible( false ).MinSize( 100, -1 ).BestSize( 200, -1 ) ); + m_auimgr.AddPane( m_footprintList, EDA_PANE().Palette().Name( "Footprints" ).Left().Layer(1) + .CaptionVisible( false ).MinSize( 100, -1 ).BestSize( 300, -1 ) ); - EDA_PANEINFO info; - info.InfoToolbarPane(); - - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); - - // Manage main toolbar, top pane - m_auimgr.AddPane( m_mainToolBar, toolbarPaneInfo ); - - // Manage the list of libraries, left pane. - m_auimgr.AddPane( m_libList, - wxAuiPaneInfo( info ).Name( "m_libList" ) - .Left().Row( 1 ).MinSize( minsize ) ); - - // Manage the list of footprints, center pane. - m_auimgr.AddPane( m_footprintList, - wxAuiPaneInfo( info ).Name( "m_footprintList" ) - .Left().Row( 2 ).MinSize( minsize ) ); - - // Manage the draw panel, right pane. - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( "DrawFrame" ).CentrePane() ); - m_auimgr.AddPane( (wxWindow*) GetGalCanvas(), - wxAuiPaneInfo().Name( "DrawFrameGal" ).CentrePane().Hide() ); - - // Manage the message panel, bottom pane. - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( "MsgPanel" ).Bottom() ); - - if( !m_perspective.IsEmpty() ) - { - // Restore last saved sizes, pos and other params - // However m_mainToolBar size cannot be set to its last saved size - // because the actual size change depending on the way modview was called: - // the tool to export the current footprint exist or not. - // and the saved size is not always OK - // the trick is to get the default toolbar size, and set the size after - // calling LoadPerspective - wxSize tbsize = m_mainToolBar->GetSize(); - m_auimgr.LoadPerspective( m_perspective, false ); - m_auimgr.GetPane( m_mainToolBar ).BestSize( tbsize ); - } + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center().Hide() ); + m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrameGal" ).Center() ); // after changing something to the aui manager, // call Update()() to reflect the changes diff --git a/pcbnew/footprint_wizard_frame.cpp b/pcbnew/footprint_wizard_frame.cpp index f8569304db..2ea5ccde7a 100644 --- a/pcbnew/footprint_wizard_frame.cpp +++ b/pcbnew/footprint_wizard_frame.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -49,12 +50,12 @@ #include #include #include +#include #include #include #include - BEGIN_EVENT_TABLE( FOOTPRINT_WIZARD_FRAME, EDA_DRAW_FRAME ) // Window events @@ -113,7 +114,7 @@ FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME( KIWAY* aKiway, : KICAD_DEFAULT_DRAWFRAME_STYLE | wxSTAY_ON_TOP, FOOTPRINT_WIZARD_FRAME_NAME ) { - wxASSERT( aFrameType == FRAME_PCB_FOOTPRINT_WIZARD_MODAL ); + wxASSERT( aFrameType == FRAME_PCB_FOOTPRINT_WIZARD ); // This frame is always show modal: SetModal( true ); @@ -156,8 +157,11 @@ FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME( KIWAY* aKiway, m_parametersPanel = new wxPanel( this, wxID_ANY ); m_pageList = new wxListBox( m_parametersPanel, ID_FOOTPRINT_WIZARD_PAGE_LIST, - wxDefaultPosition, wxDefaultSize, - 0, NULL, wxLB_HSCROLL ); + wxDefaultPosition, wxDefaultSize, 0, NULL, + wxLB_HSCROLL | wxNO_BORDER ); + + auto divider = new wxStaticLine( m_parametersPanel, wxID_ANY, + wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); m_parameterGrid = new wxGrid( m_parametersPanel, ID_FOOTPRINT_WIZARD_PARAMETER_LIST ); initParameterGrid(); @@ -166,58 +170,31 @@ FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME( KIWAY* aKiway, ReCreatePageList(); wxBoxSizer* parametersSizer = new wxBoxSizer( wxHORIZONTAL ); - parametersSizer->Add( m_pageList, 0, wxEXPAND|wxALL, 5 ); - parametersSizer->Add( m_parameterGrid, 1, wxEXPAND|wxALL, 5 ); + parametersSizer->Add( m_pageList, 0, wxEXPAND, 5 ); + parametersSizer->Add( divider, 0, wxEXPAND, 5 ); + parametersSizer->Add( m_parameterGrid, 1, wxEXPAND, 5 ); m_parametersPanel->SetSizer( parametersSizer ); m_parametersPanel->Layout(); // Create the build message box m_buildMessageBox = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE|wxTE_READONLY ); + wxTE_MULTILINE | wxTE_READONLY | wxNO_BORDER ); DisplayWizardInfos(); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO horiztb; - horiztb.HorizontalToolbarPane(); + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - EDA_PANEINFO info; - info.InfoToolbarPane(); + m_auimgr.AddPane( m_parametersPanel, EDA_PANE().Palette().Name( "Params" ).Left().Position(0) + .Caption( _( "Parameters" ) ).MinSize( 360, 180 ) ); + m_auimgr.AddPane( m_buildMessageBox, EDA_PANE().Palette().Name( "Output" ).Left().Position(1) + .CaptionVisible( false ).MinSize( 360, -1 ) ); - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); - - // Manage main toolbal - m_auimgr.AddPane( m_mainToolBar, wxAuiPaneInfo( horiztb ). - Name( wxT ("m_mainToolBar" ) ).Top().Row( 0 ) ); - - // Manage the parameters panel - EDA_PANEINFO parametersPaneInfo; - parametersPaneInfo.InfoToolbarPane().Name( wxT( "m_parametersPanel" ) ).Left().Position( 0 ); - m_auimgr.AddPane( m_parametersPanel, wxAuiPaneInfo( parametersPaneInfo ) ); - - // Manage the build message box - EDA_PANEINFO buildMessageBoxInfo; - buildMessageBoxInfo.InfoToolbarPane().Name( wxT( "m_buildMessageBox" ) ).Left().Position( 1 ); - m_auimgr.AddPane( m_buildMessageBox, wxAuiPaneInfo( buildMessageBoxInfo ) ); - - // Manage the draw panel - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() ); - - // Manage the message panel - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer(1) ); - - // Give a min size to the parameters - m_auimgr.GetPane( m_parametersPanel ).MinSize( wxSize( 360, 180 ) ); - - m_auimgr.LoadPerspective( m_auiPerspective ); - - // Ensure the draw panel is shown, regardless the perspective config: - m_auimgr.GetPane( wxT( "DrawFrame" ) ).Show( true ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() ); // Now Drawpanel is sized, we can use BestZoom to show the component (if any) #ifdef USE_WX_GRAPHICS_CONTEXT diff --git a/pcbnew/pcb_base_frame.cpp b/pcbnew/pcb_base_frame.cpp index 5d762089ad..0ec4e5fbab 100644 --- a/pcbnew/pcb_base_frame.cpp +++ b/pcbnew/pcb_base_frame.cpp @@ -294,6 +294,13 @@ void PCB_BASE_FRAME::SetDesignSettings( const BOARD_DESIGN_SETTINGS& aSettings ) } +void PCB_BASE_FRAME::SetDrawBgColor( COLOR4D aColor ) +{ + m_drawBgColor= aColor; + m_auimgr.Update(); +} + + const ZONE_SETTINGS& PCB_BASE_FRAME::GetZoneSettings() const { wxASSERT( m_Pcb ); diff --git a/pcbnew/pcb_edit_frame.cpp b/pcbnew/pcb_edit_frame.cpp index 5eef5ebc99..91ab57c114 100644 --- a/pcbnew/pcb_edit_frame.cpp +++ b/pcbnew/pcb_edit_frame.cpp @@ -72,6 +72,7 @@ #include #include #include +#include #if defined(KICAD_SCRIPTING) || defined(KICAD_SCRIPTING_WXPYTHON) #include @@ -359,73 +360,30 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : ReCreateAuxiliaryToolbar(); ReCreateVToolbar(); ReCreateOptToolbar(); - ReCreateMicrowaveVToolbar(); m_auimgr.SetManagedWindow( this ); + m_auimgr.SetArtProvider( new EDA_DOCKART( this ) ); - EDA_PANEINFO horiz; - horiz.HorizontalToolbarPane(); + // Horizontal items; layers 4 - 6 + m_auimgr.AddPane( m_mainToolBar, EDA_PANE().HToolbar().Name( "MainToolbar" ).Top().Layer(6) ); + m_auimgr.AddPane( m_auxiliaryToolBar, EDA_PANE().HToolbar().Name( "AuxToolbar" ).Top().Layer(4) ); + m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) ); - EDA_PANEINFO vert; - vert.VerticalToolbarPane(); + // Vertical items; layers 1 - 3 + m_auimgr.AddPane( m_optionsToolBar, EDA_PANE().VToolbar().Name( "OptToolbar" ).Left().Layer(3) ); - EDA_PANEINFO mesg; - mesg.MessageToolbarPane(); + m_auimgr.AddPane( m_microWaveToolBar, EDA_PANE().VToolbar().Name( "MicrowaveToolbar" ).Right().Layer(1) ); + m_auimgr.AddPane( m_drawToolBar, EDA_PANE().VToolbar().Name( "ToolsToolbar" ).Right().Layer(2) ); + m_auimgr.AddPane( m_Layers, EDA_PANE().Palette().Name( "LayersManager" ).Right().Layer(3) + .Caption( _( "Layers Manager" ) ).PaneBorder( false ) + .MinSize( 80, -1 ).BestSize( m_Layers->GetBestSize() ) ); - // Create a wxAuiPaneInfo for the Layers Manager, not derived from the template. - // LAYER_WIDGET is floatable, but initially docked at far right - EDA_PANEINFO lyrs; - lyrs.LayersToolbarPane(); - lyrs.MinSize( m_Layers->GetBestSize() ); // updated in ReFillLayerWidget - lyrs.BestSize( m_Layers->GetBestSize() ); - lyrs.Caption( _( "Layers Manager" ) ); - lyrs.TopDockable( false ).BottomDockable( false ); + m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center().Hide() ); + m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrameGal" ).Center() ); - if( m_mainToolBar ) // The main horizontal toolbar - { - m_auimgr.AddPane( m_mainToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top().Row( 0 ) ); - } - - if( m_auxiliaryToolBar ) // the auxiliary horizontal toolbar, that shows track and via sizes, zoom ...) - { - m_auimgr.AddPane( m_auxiliaryToolBar, - wxAuiPaneInfo( horiz ).Name( wxT( "m_auxiliaryToolBar" ) ).Top().Row( 1 ) ); - } - - if( m_microWaveToolBar ) // The auxiliary vertical right toolbar (currently microwave tools) - m_auimgr.AddPane( m_microWaveToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_microWaveToolBar" ) ). - Right().Layer( 1 ).Position(1).Hide() ); - - if( m_drawToolBar ) // The main right vertical toolbar - m_auimgr.AddPane( m_drawToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_VToolBar" ) ).Right().Layer( 2 ) ); - - // Add the layer manager ( most right side of pcbframe ) - m_auimgr.AddPane( m_Layers, lyrs.Name( wxT( "m_LayersManagerToolBar" ) ).Right().Layer( 3 ) ); - - if( m_optionsToolBar ) // The left vertical toolbar (fast acces display options of Pcbnew) - { - m_auimgr.AddPane( m_optionsToolBar, - wxAuiPaneInfo( vert ).Name( wxT( "m_optionsToolBar" ) ).Left().Layer(1) ); - - m_auimgr.GetPane( wxT( "m_LayersManagerToolBar" ) ).Show( m_show_layer_manager_tools ); - m_auimgr.GetPane( wxT( "m_microWaveToolBar" ) ).Show( m_show_microwave_tools ); - } - - if( m_canvas ) - m_auimgr.AddPane( m_canvas, - wxAuiPaneInfo().Name( wxT( "DrawFrame" ) ).CentrePane() ); - - if( GetGalCanvas() ) - m_auimgr.AddPane( (wxWindow*) GetGalCanvas(), - wxAuiPaneInfo().Name( wxT( "DrawFrameGal" ) ).CentrePane().Hide() ); - - if( m_messagePanel ) - m_auimgr.AddPane( m_messagePanel, - wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer(10) ); + m_auimgr.GetPane( "LayersManager" ).Show( m_show_layer_manager_tools ); + m_auimgr.GetPane( "MicrowaveToolbar" ).Show( m_show_microwave_tools ); ReFillLayerWidget(); // this is near end because contents establish size m_Layers->ReFillRender(); // Update colors in Render after the config is read diff --git a/pcbnew/pcb_layer_widget.cpp b/pcbnew/pcb_layer_widget.cpp index 826b1aa6d5..766b21a958 100644 --- a/pcbnew/pcb_layer_widget.cpp +++ b/pcbnew/pcb_layer_widget.cpp @@ -604,6 +604,9 @@ void PCB_LAYER_WIDGET::OnLayerColorChange( int aLayer, COLOR4D aColor ) myframe->ReCreateHToolbar(); myframe->GetCanvas()->Refresh(); + + if( aLayer == LAYER_PCB_BACKGROUND ) + myframe->SetDrawBgColor( aColor ); } diff --git a/pcbnew/pcbnew.cpp b/pcbnew/pcbnew.cpp index 744f53dc91..ae98e67a6e 100644 --- a/pcbnew/pcbnew.cpp +++ b/pcbnew/pcbnew.cpp @@ -149,7 +149,7 @@ static struct IFACE : public KIFACE_I } } - case FRAME_PCB_FOOTPRINT_WIZARD_MODAL: + case FRAME_PCB_FOOTPRINT_WIZARD: return new FOOTPRINT_WIZARD_FRAME( aKiway, aParent, FRAME_T( aClassId ) ); case FRAME_PCB_FOOTPRINT_PREVIEW: diff --git a/pcbnew/tool_pcb_editor.cpp b/pcbnew/tool_pcb_editor.cpp index 1aac4fc348..66b6223570 100644 --- a/pcbnew/tool_pcb_editor.cpp +++ b/pcbnew/tool_pcb_editor.cpp @@ -798,14 +798,14 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) case ID_TB_OPTIONS_SHOW_EXTRA_VERTICAL_TOOLBAR_MICROWAVE: m_show_microwave_tools = state; - m_auimgr.GetPane( wxT( "m_microWaveToolBar" ) ).Show( m_show_microwave_tools ); + m_auimgr.GetPane( "MicrowaveToolbar" ).Show( m_show_microwave_tools ); m_auimgr.Update(); break; case ID_TB_OPTIONS_SHOW_MANAGE_LAYERS_VERTICAL_TOOLBAR: // show auxiliary Vertical layers and visibility manager toolbar m_show_layer_manager_tools = state; - m_auimgr.GetPane( wxT( "m_LayersManagerToolBar" ) ).Show( m_show_layer_manager_tools ); + m_auimgr.GetPane( "LayersManager" ).Show( m_show_layer_manager_tools ); m_auimgr.Update(); break; diff --git a/pcbnew/toolbars_update_user_interface.cpp b/pcbnew/toolbars_update_user_interface.cpp index 6161cbaa85..28b9ca0524 100644 --- a/pcbnew/toolbars_update_user_interface.cpp +++ b/pcbnew/toolbars_update_user_interface.cpp @@ -150,12 +150,12 @@ void PCB_EDIT_FRAME::OnUpdateHighContrastDisplayMode( wxUpdateUIEvent& aEvent ) void PCB_EDIT_FRAME::OnUpdateShowLayerManager( wxUpdateUIEvent& aEvent ) { - aEvent.Check( m_auimgr.GetPane( wxT( "m_LayersManagerToolBar" ) ).IsShown() ); + aEvent.Check( m_auimgr.GetPane( "LayersManager" ).IsShown() ); } void PCB_EDIT_FRAME::OnUpdateShowMicrowaveToolbar( wxUpdateUIEvent& aEvent ) { - aEvent.Check( m_auimgr.GetPane( wxT( "m_microWaveToolBar" ) ).IsShown() ); + aEvent.Check( m_auimgr.GetPane( "MicrowaveToolbar" ).IsShown() ); }