Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.

This commit is contained in:
Jeff Young 2019-05-31 18:37:07 +01:00
parent d6e9bdf07b
commit c2662b0e11
138 changed files with 82 additions and 1655 deletions

View File

@ -24,20 +24,12 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file panel_prev_model.cpp
*/
#include "panel_prev_model.h"
#include <3d_canvas/eda_3d_canvas.h>
#include <common_ogl/cogl_att_list.h>
#include <class_board.h>
#include <base_units.h>
#include <bitmaps.h>
#include <class_drawpanel.h>
#include <dpi_scaling.h>
#include <pgm_base.h>
#include <project.h>

View File

@ -6,7 +6,6 @@ configure_file( 3d_plugin_dir.h.in 3d_plugin_dir.h @ONLY )
include_directories(BEFORE ${INC_BEFORE})
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
../include/legacy_wx
../pcbnew
3d_canvas
3d_cache

View File

@ -74,19 +74,11 @@ set( LEGACY_GAL_SRCS
legacy_gal/eda_draw_frame.cpp
)
set( LEGACY_WX_SRCS
legacy_wx/eda_draw_frame.cpp
legacy_wx/eda_draw_panel.cpp
)
add_library( gal STATIC ${GAL_SRCS} )
add_library( legacy_gal STATIC ${LEGACY_GAL_SRCS} )
add_library( legacy_wx STATIC ${LEGACY_WX_SRCS} )
target_include_directories( legacy_wx PUBLIC ../include/legacy_wx )
target_include_directories( legacy_gal PUBLIC ../include/legacy_gal )
target_link_libraries( legacy_wx PRIVATE bitmaps polygon )
target_link_libraries( legacy_gal PRIVATE bitmaps polygon )
target_link_libraries( gal
@ -507,7 +499,6 @@ set_source_files_properties( ${PCB_COMMON_SRCS} PROPERTIES
add_library( pcbcommon STATIC ${PCB_COMMON_SRCS} )
target_include_directories( pcbcommon PUBLIC
../include/legacy_wx
)
target_link_libraries( pcbcommon PUBLIC

View File

@ -27,7 +27,6 @@
#include <confirm.h>
#include <gr_basic.h>
#include <base_struct.h>
#include <class_drawpanel.h>
#include <title_block.h>
#include <draw_frame.h>
#include <ws_data_model.h>

View File

@ -24,8 +24,6 @@
#include <eda_dockart.h>
#include <wx/aui/tabart.h>
#include <wx/aui/auibook.h>
//#include <class_draw_panel_gal.h>
//#include <class_drawpanel.h>
#include <draw_frame.h>
void EDA_DOCKART::DrawBorder( wxDC& aDC, wxWindow* aWindow, const wxRect& aRect,

View File

@ -29,7 +29,6 @@
#include <bitmaps.h>
#include <macros.h>
#include <id.h>
#include <class_drawpanel.h>
#include <base_screen.h>
#include <msgpanel.h>
#include <draw_frame.h>
@ -82,6 +81,7 @@ BEGIN_EVENT_TABLE( EDA_DRAW_FRAME, KIWAY_PLAYER )
EVT_MENU_OPEN( EDA_DRAW_FRAME::OnMenuOpen )
EVT_MENU_CLOSE( EDA_DRAW_FRAME::OnMenuOpen )
EVT_MENU_HIGHLIGHT_ALL( EDA_DRAW_FRAME::OnMenuOpen )
EVT_MENU_RANGE( ID_POPUP_GRID_LEVEL_1000, ID_POPUP_GRID_USER, EDA_DRAW_FRAME::OnSelectGrid )
END_EVENT_TABLE()
@ -99,7 +99,6 @@ EDA_DRAW_FRAME::EDA_DRAW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame
m_zoomSelectBox = NULL;
m_hotkeysDescrList = NULL;
m_canvas = NULL;
m_canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE;
m_galCanvas = NULL;
m_actions = NULL;
@ -359,6 +358,7 @@ int EDA_DRAW_FRAME::WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList,
void EDA_DRAW_FRAME::PrintPage( wxDC* aDC, LSET aPrintMask, bool aPrintMirrorMode, void* aData )
{
wxMessageBox( wxT("EDA_DRAW_FRAME::PrintPage() error") );
}
@ -416,6 +416,12 @@ void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event )
}
double EDA_DRAW_FRAME::GetZoom()
{
return GetScreen()->GetZoom();
}
void EDA_DRAW_FRAME::DisplayToolMsg( const wxString& msg )
{
m_toolMsg = msg;

View File

@ -1,980 +0,0 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2004-2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2008 Wayne Stambaugh <stambaughw@gmail.com>
* Copyright (C) 2004-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 <fctsys.h>
#include <pgm_base.h>
#include <kiface_i.h>
#include <gr_basic.h>
#include <common.h>
#include <bitmaps.h>
#include <macros.h>
#include <id.h>
#include <class_drawpanel.h>
#include <base_screen.h>
#include <msgpanel.h>
#include <draw_frame.h>
#include <confirm.h>
#include <dialog_helpers.h>
#include <base_units.h>
#include <math/box2.h>
#include <lockfile.h>
#include <trace_helpers.h>
#include <wx/clipbrd.h>
#include <fctsys.h>
#include <gr_basic.h>
#include <common.h>
#include <id.h>
#include <base_screen.h>
#include <confirm.h>
#include <draw_frame.h>
#include <wx/fontdlg.h>
#include <wx/snglinst.h>
#include <view/view.h>
#include <view/view_controls.h>
#include <gal/graphics_abstraction_layer.h>
#include <tool/tool_manager.h>
#include <tool/tool_dispatcher.h>
#include <tool/actions.h>
#include <tool/action_menu.h>
#include <advanced_config.h>
#include <menus_helpers.h>
#include <page_info.h>
#include <title_block.h>
#include <ws_draw_item.h>
/**
* Definition for enabling and disabling scroll bar setting trace output. See the
* wxWidgets documentation on useing the WXTRACE environment variable.
*/
static const wxString traceScrollSettings( wxT( "KicadScrollSettings" ) );
///@{
/// \ingroup config
static const wxString FirstRunShownKeyword( wxT( "FirstRunShown" ) );
///@}
/**
* Integer to set the maximum number of undo items on the stack. If zero,
* undo items are unlimited.
*
* Present as:
*
* - SchematicFrameDevelMaxUndoItems (file: eeschema)
* - LibeditFrameDevelMaxUndoItems (file: eeschema)
* - PcbFrameDevelMaxUndoItems (file: pcbnew)
* - ModEditFrameDevelMaxUndoItems (file: pcbnew)
*
* \ingroup develconfig
*/
static const wxString MaxUndoItemsEntry(wxT( "DevelMaxUndoItems" ) );
BEGIN_EVENT_TABLE( EDA_DRAW_FRAME, KIWAY_PLAYER )
EVT_CHAR_HOOK( EDA_DRAW_FRAME::OnCharHook )
EVT_MENU_OPEN( EDA_DRAW_FRAME::OnMenuOpen )
EVT_MENU_CLOSE( EDA_DRAW_FRAME::OnMenuOpen )
EVT_MENU_HIGHLIGHT_ALL( EDA_DRAW_FRAME::OnMenuOpen )
EVT_MENU_RANGE( ID_POPUP_GRID_LEVEL_1000, ID_POPUP_GRID_USER,
EDA_DRAW_FRAME::OnSelectGrid )
END_EVENT_TABLE()
EDA_DRAW_FRAME::EDA_DRAW_FRAME( KIWAY* aKiway, wxWindow* aParent,
FRAME_T aFrameType,
const wxString& aTitle,
const wxPoint& aPos, const wxSize& aSize,
long aStyle, const wxString & aFrameName ) :
KIWAY_PLAYER( aKiway, aParent, aFrameType, aTitle, aPos, aSize, aStyle, aFrameName )
{
m_socketServer = nullptr;
m_mainToolBar = NULL;
m_drawToolBar = NULL;
m_optionsToolBar = NULL;
m_auxiliaryToolBar = NULL;
m_gridSelectBox = NULL;
m_zoomSelectBox = NULL;
m_hotkeysDescrList = NULL;
m_canvas = NULL;
m_canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE;
m_galCanvas = NULL;
m_actions = NULL;
m_toolManager = NULL;
m_toolDispatcher = NULL;
m_messagePanel = NULL;
m_currentScreen = NULL;
m_toolId = ID_NO_TOOL_SELECTED;
m_lastDrawToolId = ID_NO_TOOL_SELECTED;
m_showAxis = false; // true to draw axis.
m_showBorderAndTitleBlock = false; // true to display reference sheet.
m_showGridAxis = false; // true to draw the grid axis
m_showOriginAxis = false; // true to draw the grid origin
m_LastGridSizeId = 0;
m_drawGrid = true; // hide/Show grid. default = show
m_gridColor = COLOR4D( DARKGRAY ); // Default grid color
m_showPageLimits = false;
m_drawBgColor = COLOR4D( BLACK ); // the background color of the draw canvas:
// BLACK for Pcbnew, BLACK or WHITE for eeschema
m_MsgFrameHeight = EDA_MSG_PANEL::GetRequiredHeight();
m_movingCursorWithKeyboard = false;
m_zoomLevelCoeff = 1.0;
m_auimgr.SetFlags(wxAUI_MGR_DEFAULT);
CreateStatusBar( 6 );
// set the size of the status bar subwindows:
wxWindow* stsbar = GetStatusBar();
int dims[] = {
// remainder of status bar on far left is set to a default or whatever is left over.
-1,
// When using GetTextSize() remember the width of character '1' is not the same
// as the width of '0' unless the font is fixed width, and it usually won't be.
// zoom:
GetTextSize( wxT( "Z 762000" ), stsbar ).x + 10,
// cursor coords
GetTextSize( wxT( "X 0234.567890 Y 0234.567890" ), stsbar ).x + 10,
// delta distances
GetTextSize( wxT( "dx 0234.567890 dx 0234.567890 d 0234.567890" ), stsbar ).x + 10,
// units display, Inches is bigger than mm
GetTextSize( _( "Inches" ), stsbar ).x + 10,
// Size for the "Current Tool" panel; longest string from SetToolID()
GetTextSize( wxT( "Add layer alignment target" ), stsbar ).x + 10,
};
SetStatusWidths( arrayDim( dims ), dims );
// Create child subwindows.
GetClientSize( &m_FrameSize.x, &m_FrameSize.y );
m_FramePos.x = m_FramePos.y = 0;
m_FrameSize.y -= m_MsgFrameHeight;
m_canvas = new EDA_DRAW_PANEL( this, -1, wxPoint( 0, 0 ), m_FrameSize );
m_messagePanel = new EDA_MSG_PANEL( this, -1, wxPoint( 0, m_FrameSize.y ),
wxSize( m_FrameSize.x, m_MsgFrameHeight ) );
m_messagePanel->SetBackgroundColour( COLOR4D( LIGHTGRAY ).ToColour() );
}
EDA_DRAW_FRAME::~EDA_DRAW_FRAME()
{
delete m_socketServer;
for( auto socket : m_sockets )
{
socket->Shutdown();
socket->Destroy();
}
saveCanvasTypeSetting( m_canvasType );
delete m_actions;
delete m_toolManager;
delete m_toolDispatcher;
delete m_galCanvas;
delete m_currentScreen;
m_currentScreen = NULL;
m_auimgr.UnInit();
ReleaseFile();
}
void EDA_DRAW_FRAME::OnCharHook( wxKeyEvent& event )
{
wxLogTrace( kicadTraceKeyEvent, "EDA_DRAW_FRAME::OnCharHook %s", dump( event ) );
// Key events can be filtered here.
// Currently no filtering is made.
event.Skip();
}
void EDA_DRAW_FRAME::ReleaseFile()
{
m_file_checker = nullptr;
}
bool EDA_DRAW_FRAME::LockFile( const wxString& aFileName )
{
m_file_checker = ::LockFile( aFileName );
return bool( m_file_checker );
}
void EDA_DRAW_FRAME::unitsChangeRefresh()
{
UpdateStatusBar();
UpdateMsgPanel();
}
void EDA_DRAW_FRAME::CommonSettingsChanged()
{
EDA_BASE_FRAME::CommonSettingsChanged();
wxConfigBase* settings = Pgm().CommonSettings();
KIGFX::VIEW_CONTROLS* viewControls = GetGalCanvas()->GetViewControls();
int autosaveInterval;
settings->Read( AUTOSAVE_INTERVAL_KEY, &autosaveInterval );
SetAutoSaveInterval( autosaveInterval );
int historySize;
settings->Read( FILE_HISTORY_SIZE_KEY, &historySize, DEFAULT_FILE_HISTORY_SIZE );
Kiface().GetFileHistory().SetMaxFiles( (unsigned) std::max( 0, historySize ) );
bool option;
settings->Read( ENBL_MOUSEWHEEL_PAN_KEY, &option );
viewControls->EnableMousewheelPan( option );
settings->Read( ENBL_ZOOM_NO_CENTER_KEY, &option );
viewControls->EnableCursorWarping( !option );
settings->Read( ENBL_AUTO_PAN_KEY, &option );
viewControls->EnableAutoPan( option );
m_galDisplayOptions.ReadCommonConfig( *settings, this );
}
void EDA_DRAW_FRAME::EraseMsgBox()
{
if( m_messagePanel )
m_messagePanel->EraseMsgBox();
}
void EDA_DRAW_FRAME::OnMenuOpen( wxMenuEvent& event )
{
// On wxWidgets 3.0.x Windows, EVT_MENU_OPEN ( and other EVT_MENU_xx) events are not
// captured by the ACTON_MENU menus. While it is fixed in wxWidgets 3.1.x, we still
// need a solution for the earlier verions.
//
// This could be made conditional, but for now I'm going to use the same strategy
// everywhere so it gets wider testing.
// Note that if the conditional compilation is reactivated, the Connect() lines in
// ACTION_MENU::setupEvents() will need to be re-enabled.
//#if defined( __WINDOWS__ ) && wxCHECK_VERSION( 3, 0, 0 ) && !wxCHECK_VERSION( 3, 1, 0 )
// As if things weren't bad enough, wxWidgets doesn't pass the menu pointer when the
// event is a wxEVT_MENU_HIGHLIGHT, so we store the menu from the EVT_MENU_OPEN call.
static ACTION_MENU* currentMenu;
if( event.GetEventType() == wxEVT_MENU_OPEN )
{
currentMenu = dynamic_cast<ACTION_MENU*>( event.GetMenu() );
if( currentMenu )
currentMenu->OnMenuEvent( event );
}
else if( event.GetEventType() == wxEVT_MENU_HIGHLIGHT )
{
if( currentMenu )
currentMenu->OnMenuEvent( event );
}
else // if( event.GetEventType() == wxEVT_MENU_CLOSE )
{
currentMenu = nullptr;
}
//#endif
event.Skip();
}
bool EDA_DRAW_FRAME::GetToolToggled( int aToolId )
{
// Checks all the toolbars and returns true if the given tool id is toggled.
return ( ( m_mainToolBar && m_mainToolBar->GetToolToggled( aToolId ) ) ||
( m_optionsToolBar && m_optionsToolBar->GetToolToggled( aToolId ) ) ||
( m_drawToolBar && m_drawToolBar->GetToolToggled( aToolId ) ) ||
( m_auxiliaryToolBar && m_auxiliaryToolBar->GetToolToggled( aToolId ) )
);
}
void EDA_DRAW_FRAME::OnUpdateSelectGrid( wxUpdateUIEvent& aEvent )
{
// No need to update the grid select box if it doesn't exist or the grid setting change
// was made using the select box.
if( m_gridSelectBox == NULL || m_auxiliaryToolBar == NULL )
return;
int select = wxNOT_FOUND;
for( size_t i = 0; i < GetScreen()->GetGridCount(); i++ )
{
if( GetScreen()->GetGridCmdId() == GetScreen()->GetGrid( i ).m_CmdId )
{
select = (int) i;
break;
}
}
if( select != m_gridSelectBox->GetSelection() )
m_gridSelectBox->SetSelection( select );
}
void EDA_DRAW_FRAME::ReCreateAuxiliaryToolbar()
{
}
void EDA_DRAW_FRAME::ReCreateMenuBar()
{
}
int EDA_DRAW_FRAME::WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList,
wxString* aFullFileName )
{
int result = EDA_BASE_FRAME::WriteHotkeyConfig( aDescList, aFullFileName );
GetToolManager()->UpdateHotKeys();
return result;
}
void EDA_DRAW_FRAME::PrintPage( wxDC* aDC, LSET aPrintMask, bool aPrintMirrorMode, void* aData )
{
wxMessageBox( wxT("EDA_DRAW_FRAME::PrintPage() error") );
}
void EDA_DRAW_FRAME::OnSelectGrid( wxCommandEvent& event )
{
wxCHECK_RET( m_gridSelectBox, "m_gridSelectBox uninitialized" );
int id = m_gridSelectBox->GetCurrentSelection() + ID_POPUP_GRID_FIRST;
if( id == ID_POPUP_GRID_SEPARATOR )
{
// wxWidgets will check the separator, which we don't want.
// Re-check the current grid.
wxUpdateUIEvent dummy;
OnUpdateSelectGrid( dummy );
}
else if( id == ID_POPUP_GRID_SETTINGS )
{
// wxWidgets will check the Grid Settings... entry, which we don't want.
// R-check the current grid.
wxUpdateUIEvent dummy;
OnUpdateSelectGrid( dummy );
// Now run the Grid Settings... dialog
wxCommandEvent dummy2;
OnGridSettings( dummy2 );
}
else if( id >= ID_POPUP_GRID_FIRST && id < ID_POPUP_GRID_SEPARATOR )
{
m_toolManager->RunAction( ACTIONS::gridPreset, true, id );
}
UpdateStatusBar();
m_galCanvas->Refresh();
}
void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event )
{
wxCHECK_RET( m_zoomSelectBox, "m_zoomSelectBox uninitialized" );
int id = m_zoomSelectBox->GetCurrentSelection();
if( id < 0 || !( id < (int)m_zoomSelectBox->GetCount() ) )
return;
m_toolManager->RunAction( "common.Control.zoomPreset", true, id );
UpdateStatusBar();
m_galCanvas->Refresh();
}
double EDA_DRAW_FRAME::GetZoom()
{
return GetScreen()->GetZoom();
}
void EDA_DRAW_FRAME::DisplayToolMsg( const wxString& msg )
{
m_toolMsg = msg;
SetStatusText( msg, 5 );
}
void EDA_DRAW_FRAME::DisplayUnitsMsg()
{
wxString msg;
switch( m_UserUnits )
{
case INCHES: msg = _( "Inches" ); break;
case MILLIMETRES: msg = _( "mm" ); break;
default: msg = _( "Units" ); break;
}
SetStatusText( msg, 4 );
}
void EDA_DRAW_FRAME::OnSize( wxSizeEvent& SizeEv )
{
m_FrameSize = GetClientSize( );
SizeEv.Skip();
}
void EDA_DRAW_FRAME::SetToolID( int aId, int aCursor, const wxString& aToolMsg )
{
// Keep default cursor in toolbars
SetCursor( wxNullCursor );
// Change GAL canvas cursor if requested.
if( aCursor >= 0 )
GetGalCanvas()->SetCurrentCursor( aCursor );
DisplayToolMsg( aToolMsg );
if( aId < 0 )
return;
wxCHECK2_MSG( aId >= ID_NO_TOOL_SELECTED, aId = ID_NO_TOOL_SELECTED,
wxString::Format( wxT( "Current tool ID cannot be set to %d." ), aId ) );
m_toolId = aId;
}
void EDA_DRAW_FRAME::SetNoToolSelected()
{
// Select the ID_NO_TOOL_SELECTED id tool (Idle tool)
SetToolID( ID_NO_TOOL_SELECTED, GetGalCanvas()->GetDefaultCursor(), wxEmptyString );
}
void EDA_DRAW_FRAME::UpdateStatusBar()
{
SetStatusText( GetZoomLevelIndicator(), 1 );
// Absolute and relative cursor positions are handled by overloading this function and
// handling the internal to user units conversion at the appropriate level.
// refresh units display
DisplayUnitsMsg();
}
const wxString EDA_DRAW_FRAME::GetZoomLevelIndicator() const
{
wxString Line;
double level = m_galCanvas->GetGAL()->GetZoomFactor();
// returns a human readable value which can be displayed as zoom
// level indicator in dialogs.
Line.Printf( wxT( "Z %.2f" ), level );
return Line;
}
void EDA_DRAW_FRAME::LoadSettings( wxConfigBase* aCfg )
{
EDA_BASE_FRAME::LoadSettings( aCfg );
wxString baseCfgName = ConfigBaseName();
wxConfigBase* cmnCfg = Pgm().CommonSettings();
// Read units used in dialogs and toolbars
EDA_UNITS_T unitsTmp;
if( aCfg->Read( baseCfgName + UserUnitsEntryKeyword, (int*) &unitsTmp ) )
SetUserUnits( unitsTmp );
else
SetUserUnits( MILLIMETRES );
// Read show/hide grid entry
bool btmp;
if( aCfg->Read( baseCfgName + ShowGridEntryKeyword, &btmp ) )
SetGridVisibility( btmp );
// Read grid color:
COLOR4D wtmp = COLOR4D::UNSPECIFIED;
if( wtmp.SetFromWxString( aCfg->Read( baseCfgName + GridColorEntryKeyword, wxT( "NONE" ) ) ) )
SetGridColor( wtmp );
aCfg->Read( baseCfgName + LastGridSizeIdKeyword, &m_LastGridSizeId, 0L );
// m_LastGridSizeId is an offset, expected to be >= 0
if( m_LastGridSizeId < 0 )
m_LastGridSizeId = 0;
m_UndoRedoCountMax = aCfg->Read( baseCfgName + MaxUndoItemsEntry, long( DEFAULT_MAX_UNDO_ITEMS ) );
aCfg->Read( baseCfgName + FirstRunShownKeyword, &m_firstRunDialogSetting, 0L );
m_galDisplayOptions.ReadConfig( *cmnCfg, *aCfg, baseCfgName, this );
}
void EDA_DRAW_FRAME::SaveSettings( wxConfigBase* aCfg )
{
EDA_BASE_FRAME::SaveSettings( aCfg );
wxString baseCfgName = ConfigBaseName();
aCfg->Write( baseCfgName + UserUnitsEntryKeyword, (int) m_UserUnits );
aCfg->Write( baseCfgName + ShowGridEntryKeyword, IsGridVisible() );
aCfg->Write( baseCfgName + GridColorEntryKeyword,
GetGridColor().ToColour().GetAsString( wxC2S_CSS_SYNTAX ) );
aCfg->Write( baseCfgName + LastGridSizeIdKeyword, ( long ) m_LastGridSizeId );
aCfg->Write( baseCfgName + FirstRunShownKeyword, m_firstRunDialogSetting );
if( GetScreen() )
aCfg->Write( baseCfgName + MaxUndoItemsEntry, long( GetScreen()->GetMaxUndoItems() ) );
m_galDisplayOptions.WriteConfig( *aCfg, baseCfgName );
}
void EDA_DRAW_FRAME::AppendMsgPanel( const wxString& textUpper, const wxString& textLower,
COLOR4D color, int pad )
{
if( m_messagePanel == NULL )
return;
m_messagePanel->AppendMessage( textUpper, textLower, color, pad );
}
void EDA_DRAW_FRAME::ClearMsgPanel()
{
if( m_messagePanel == NULL )
return;
m_messagePanel->EraseMsgBox();
}
void EDA_DRAW_FRAME::SetMsgPanel( const MSG_PANEL_ITEMS& aList )
{
if( m_messagePanel == NULL )
return;
ClearMsgPanel();
for( MSG_PANEL_ITEM item : aList )
m_messagePanel->AppendMessage( item );
}
void EDA_DRAW_FRAME::SetMsgPanel( EDA_ITEM* aItem )
{
wxCHECK_RET( aItem != NULL, wxT( "Invalid EDA_ITEM pointer. Bad programmer." ) );
MSG_PANEL_ITEMS items;
aItem->GetMsgPanelInfo( m_UserUnits, items );
SetMsgPanel( items );
}
void EDA_DRAW_FRAME::UpdateMsgPanel()
{
GetToolManager()->PostEvent( EVENTS::SelectedItemsModified );
}
void EDA_DRAW_FRAME::ActivateGalCanvas()
{
KIGFX::GAL* gal = GetGalCanvas()->GetGAL();
// Set up grid settings
gal->SetGridVisibility( IsGridVisible() );
gal->SetGridSize( VECTOR2D( GetScreen()->GetGridSize() ) );
gal->SetGridOrigin( VECTOR2D( GetGridOrigin() ) );
m_canvas->SetEvtHandlerEnabled( false );
GetGalCanvas()->SetEvtHandlerEnabled( true );
GetGalCanvas()->StartDrawing();
// Reset current tool on switch();
SetNoToolSelected();
}
void EDA_DRAW_FRAME::SwitchCanvas( EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType )
{
GetGalCanvas()->SwitchBackend( aCanvasType );
m_canvasType = GetGalCanvas()->GetBackend();
ActivateGalCanvas();
}
EDA_DRAW_PANEL_GAL::GAL_TYPE EDA_DRAW_FRAME::LoadCanvasTypeSetting()
{
EDA_DRAW_PANEL_GAL::GAL_TYPE canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE;
wxConfigBase* cfg = Kiface().KifaceSettings();
if( cfg )
{
canvasType = (EDA_DRAW_PANEL_GAL::GAL_TYPE)
cfg->ReadLong( GetCanvasTypeKey(), EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE );
}
if( canvasType < EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE
|| canvasType >= EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST )
{
assert( false );
canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE;
}
// Coerce the value into a GAL type when Legacy is not available
// Default to Cairo, and on the first, user will be prompted for OpenGL
if( canvasType == EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE
&& !ADVANCED_CFG::GetCfg().AllowLegacyCanvas() )
{
#ifdef __WXMAC__
// Cairo renderer doesn't handle Retina displays
canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL;
#else
canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_CAIRO;
#endif
}
return canvasType;
}
bool EDA_DRAW_FRAME::saveCanvasTypeSetting( EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType )
{
// Not all classes derived from EDA_DRAW_FRAME can save the canvas type, because some
// have a fixed type, or do not have a option to set the canvas type (they inherit from
// a parent frame)
FRAME_T allowed_frames[] =
{
FRAME_SCH, FRAME_PCB, FRAME_PCB_MODULE_EDITOR, FRAME_GERBER
};
bool allow_save = false;
for( FRAME_T frame : allowed_frames )
{
if( m_Ident == frame )
{
allow_save = true;
break;
}
}
if( !allow_save )
return false;
if( aCanvasType < EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE
|| aCanvasType >= EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST )
{
wxASSERT( false );
return false;
}
wxConfigBase* cfg = Kiface().KifaceSettings();
if( cfg )
return cfg->Write( GetCanvasTypeKey(), (long) aCanvasType );
return false;
}
//-----< BASE_SCREEN API moved here >--------------------------------------------
wxPoint EDA_DRAW_FRAME::GetCrossHairPosition( bool aInvertY ) const
{
// subject to change, borrow from old BASE_SCREEN for now.
VECTOR2I cursor = GetGalCanvas()->GetViewControls()->GetCursorPosition();
return wxPoint( cursor.x, cursor.y );
}
void EDA_DRAW_FRAME::SetCrossHairPosition( const wxPoint& aPosition, bool aSnapToGrid )
{
BASE_SCREEN* screen = GetScreen(); // virtual call
screen->setCrossHairPosition( aPosition, GetGridOrigin(), aSnapToGrid );
}
wxPoint EDA_DRAW_FRAME::GetCursorPosition( bool aOnGrid, wxRealPoint* aGridSize ) const
{
BASE_SCREEN* screen = GetScreen(); // virtual call
return screen->getCursorPosition( aOnGrid, GetGridOrigin(), aGridSize );
}
wxPoint EDA_DRAW_FRAME::GetNearestGridPosition( const wxPoint& aPosition, wxRealPoint* aGridSize ) const
{
BASE_SCREEN* screen = GetScreen(); // virtual call
return screen->getNearestGridPosition( aPosition, GetGridOrigin(), aGridSize );
}
void EDA_DRAW_FRAME::SetMousePosition( const wxPoint& aPosition )
{
BASE_SCREEN* screen = GetScreen(); // virtual call
screen->setMousePosition( aPosition );
}
wxPoint EDA_DRAW_FRAME::RefPos( bool useMouse ) const
{
BASE_SCREEN* screen = GetScreen(); // virtual call
return screen->refPos( useMouse );
}
const wxPoint& EDA_DRAW_FRAME::GetScrollCenterPosition() const
{
BASE_SCREEN* screen = GetScreen(); // virtual call
return screen->getScrollCenterPosition();
}
void EDA_DRAW_FRAME::SetScrollCenterPosition( const wxPoint& aPoint )
{
BASE_SCREEN* screen = GetScreen(); // virtual call
screen->setScrollCenterPosition( aPoint );
}
//-----</BASE_SCREEN API moved here >--------------------------------------------
bool EDA_DRAW_FRAME::LibraryFileBrowser( bool doOpen, wxFileName& aFilename,
const wxString& wildcard, const wxString& ext,
bool isDirectory )
{
wxString prompt = doOpen ? _( "Select Library" ) : _( "New Library" );
aFilename.SetExt( ext );
#ifndef __WXMAC__
if( isDirectory && doOpen )
{
wxDirDialog dlg( this, prompt, Prj().GetProjectPath(),
wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST );
if( dlg.ShowModal() == wxID_CANCEL )
return false;
aFilename = dlg.GetPath();
aFilename.SetExt( ext );
}
else
#endif
{
wxFileDialog dlg( this, prompt, Prj().GetProjectPath(), aFilename.GetFullName() ,
wildcard, doOpen ? wxFD_OPEN | wxFD_FILE_MUST_EXIST
: wxFD_SAVE | wxFD_CHANGE_DIR | wxFD_OVERWRITE_PROMPT );
if( dlg.ShowModal() == wxID_CANCEL )
return false;
aFilename = dlg.GetPath();
aFilename.SetExt( ext );
}
return true;
}
void EDA_DRAW_FRAME::HardRedraw()
{
GetGalCanvas()->Refresh();
GetGalCanvas()->Update();
}
// Factor out the calculation portion of the various BestZoom() implementations.
//
// Note that like it's forerunners this routine has an intentional side-effect: it
// sets the scroll centre position. While I'm not happy about that, it's probably
// not worth fixing as its days are numbered (GAL canvases use a different method).
double EDA_DRAW_FRAME::bestZoom( double sizeX, double sizeY, double scaleFactor, wxPoint centre )
{
double bestzoom = std::max( sizeX * scaleFactor / (double) m_canvas->GetClientSize().x,
sizeY * scaleFactor / (double) m_canvas->GetClientSize().y );
// Take scrollbars into account
DSIZE scrollbarSize = m_canvas->GetSize() - m_canvas->GetClientSize();
centre.x -= int( bestzoom * scrollbarSize.x / 2.0 );
centre.y -= int( bestzoom * scrollbarSize.y / 2.0 );
SetScrollCenterPosition( centre );
return bestzoom;
}
// JEY TODO: Obsolete; replace with ACTIONS::zoomFitScreen
// JEY TODO: This is the last caller of BestZoom() too....
void EDA_DRAW_FRAME::Zoom_Automatique( bool aWarpPointer )
{
BASE_SCREEN* screen = GetScreen();
// Set the best zoom and get center point.
// BestZoom() can compute an illegal zoom if the client window size
// is small, say because frame is not maximized. So use the clamping form
// of SetZoom():
double bestzoom = BestZoom();
screen->SetScalingFactor( bestzoom );
if( !screen->m_Initialized )
SetCrossHairPosition( GetScrollCenterPosition() );
m_toolManager->RunAction( "common.Control.zoomFitScreen", true );
}
// Find the first child dialog.
wxWindow* findDialog( wxWindowList& aList )
{
for( wxWindow* window : aList )
{
if( dynamic_cast<DIALOG_SHIM*>( window ) )
return window;
}
return NULL;
}
void EDA_DRAW_FRAME::FocusOnLocation( const wxPoint& aPos, bool aWarpCursor, bool aCenterView )
{
if( aCenterView )
{
wxWindow* dialog = findDialog( GetChildren() );
// If a dialog partly obscures the window, then center on the uncovered area.
if( dialog )
{
wxRect dialogRect( GetGalCanvas()->ScreenToClient( dialog->GetScreenPosition() ),
dialog->GetSize() );
GetGalCanvas()->GetView()->SetCenter( aPos, dialogRect );
}
else
GetGalCanvas()->GetView()->SetCenter( aPos );
}
if( aWarpCursor )
GetGalCanvas()->GetViewControls()->SetCursorPosition( aPos );
else
GetGalCanvas()->GetViewControls()->SetCrossHairCursorPosition( aPos );
}
void PrintPageLayout( wxDC* aDC, const PAGE_INFO& aPageInfo, const wxString& aFullSheetName,
const wxString& aFileName, const TITLE_BLOCK& aTitleBlock, int aSheetCount,
int aSheetNumber, int aPenWidth, double aScalar, COLOR4D aColor,
const wxString& aSheetLayer )
{
WS_DRAW_ITEM_LIST drawList;
drawList.SetDefaultPenSize( aPenWidth );
drawList.SetMilsToIUfactor( aScalar );
drawList.SetSheetNumber( aSheetNumber );
drawList.SetSheetCount( aSheetCount );
drawList.SetFileName( aFileName );
drawList.SetSheetName( aFullSheetName );
drawList.SetSheetLayer( aSheetLayer );
drawList.BuildWorkSheetGraphicList( aPageInfo, aTitleBlock );
// Draw item list
drawList.Print( aDC, aColor );
}
void EDA_DRAW_FRAME::PrintWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineWidth,
double aScalar, const wxString &aFilename,
const wxString &aSheetLayer, COLOR4D aColor )
{
if( !m_showBorderAndTitleBlock )
return;
COLOR4D color = ( aColor != COLOR4D::UNSPECIFIED ) ? aColor : COLOR4D( RED );
wxPoint origin = aDC->GetDeviceOrigin();
if( origin.y > 0 )
{
aDC->SetDeviceOrigin( 0, 0 );
aDC->SetAxisOrientation( true, false );
}
PrintPageLayout( aDC, GetPageSettings(), GetScreenDesc(), aFilename, GetTitleBlock(),
aScreen->m_NumberOfScreens, aScreen->m_ScreenNumber, aLineWidth, aScalar,
color, aSheetLayer );
if( origin.y > 0 )
{
aDC->SetDeviceOrigin( origin.x, origin.y );
aDC->SetAxisOrientation( true, true );
}
}
wxString EDA_DRAW_FRAME::GetScreenDesc() const
{
// Virtual function. In basic class, returns an empty string.
return wxEmptyString;
}
const BOX2I EDA_DRAW_FRAME::GetDocumentExtents() const
{
BOX2I rv;
rv.SetMaximum();
return rv;
}
bool EDA_DRAW_FRAME::saveCanvasImageToFile( const wxString& aFileName, wxBitmapType aBitmapType )
{
return SaveCanvasImageToFile( this, aFileName, aBitmapType );
}

View File

@ -1,82 +0,0 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2019 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2007 Wayne Stambaugh <stambaughw@gmail.com>
* Copyright (C) 1992-2019 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 <fctsys.h>
#include <kiface_i.h>
#include <gr_basic.h>
#include <common.h>
#include <macros.h>
#include <id.h>
#include <class_drawpanel.h>
#include <base_screen.h>
#include <trace_helpers.h>
#ifdef __WXMAC__
const int drawPanelStyle = wxHSCROLL | wxVSCROLL | wxALWAYS_SHOW_SB;
#else
const int drawPanelStyle = wxHSCROLL | wxVSCROLL;
#endif
EDA_DRAW_PANEL::EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id, const wxPoint& pos,
const wxSize& size ) :
wxScrolledWindow( parent, id, pos, size, drawPanelStyle )
{
wxASSERT( parent );
ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS );
DisableKeyboardScrolling();
SetLayoutDirection( wxLayout_LeftToRight );
SetBackgroundColour( parent->GetDrawBgColor().ToColour() );
}
EDA_DRAW_PANEL::~EDA_DRAW_PANEL()
{
}
EDA_DRAW_FRAME* EDA_DRAW_PANEL::GetParent() const
{
wxWindow* mom = wxScrolledWindow::GetParent();
return (EDA_DRAW_FRAME*) mom;
}
BASE_SCREEN* EDA_DRAW_PANEL::GetScreen()
{
EDA_DRAW_FRAME* parentFrame = GetParent();
return parentFrame->GetScreen();
}
void EDA_DRAW_PANEL::Refresh( bool eraseBackground, const wxRect* rect )
{
GetParent()->GetGalCanvas()->Refresh();
}

View File

@ -7,7 +7,6 @@ add_definitions( -DCVPCB )
include_directories( BEFORE ${INC_BEFORE} )
include_directories(
../include/legacy_wx
./dialogs
../3d-viewer
../pcbnew
@ -145,7 +144,7 @@ target_link_libraries( cvpcb_kiface
pcad2kicadpcb
3d-viewer
gal
legacy_wx
legacy_gal
common
${wxWidgets_LIBRARIES}
${GDI_PLUS_LIBRARIES}

View File

@ -22,12 +22,9 @@
*/
#include <fctsys.h>
#include <common.h>
#include <cvpcb.h>
#include <class_drawpanel.h>
#include <display_footprints_frame.h>
#include <dialog_display_options.h>

View File

@ -26,7 +26,6 @@
#include <fctsys.h>
#include <common.h>
#include <gal/graphics_abstraction_layer.h>
#include <class_drawpanel.h>
#include <class_draw_panel_gal.h>
#include <pcb_draw_panel_gal.h>
#include <confirm.h>
@ -167,7 +166,7 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, wxWindow* aPa
auto& galOpts = GetGalDisplayOptions();
galOpts.m_axesEnabled = true;
GetGalCanvas()->GetView()->SetScale( GetZoomLevelCoeff() / m_canvas->GetScreen()->GetZoom() );
GetGalCanvas()->GetView()->SetScale( GetZoomLevelCoeff() / GetScreen()->GetZoom() );
ActivateGalCanvas();

View File

@ -22,16 +22,13 @@
*/
#include <dialog_set_grid_base.h>
#include <common.h>
#include <sch_base_frame.h>
#include <class_drawpanel.h>
#include <class_draw_panel_gal.h>
#include <sch_view.h>
#include <gal/graphics_abstraction_layer.h>
class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE
{
SCH_BASE_FRAME* m_frame;

View File

@ -17,7 +17,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <class_drawpanel.h>
#include <lib_edit_frame.h>
#include <view/view.h>
#include <widgets/gal_options_panel.h>

View File

@ -23,15 +23,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file eeschema.cpp
* @brief the main file
*/
#include <fctsys.h>
#include <pgm_base.h>
#include <kiface_i.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <gestfich.h>
#include <eda_dde.h>

View File

@ -199,7 +199,7 @@ void SCH_EDIT_FRAME::OnPreferencesOptions( wxCommandEvent& event )
if( ShowPreferences( g_Eeschema_Hotkeys_Descr, g_Schematic_Hotkeys_Descr, wxT( "eeschema" ) ) )
{
SaveSettings( config() ); // save values shared by eeschema applications.
m_canvas->Refresh( true );
GetGalCanvas()->Refresh( true );
}
}
@ -613,7 +613,7 @@ void LIB_EDIT_FRAME::OnPreferencesOptions( wxCommandEvent& event )
if( ShowPreferences( g_Eeschema_Hotkeys_Descr, g_Libedit_Hotkeys_Descr, wxT( "eeschema" ) ) )
{
SaveSettings( config() ); // save values shared by eeschema applications.
m_canvas->Refresh( true );
GetGalCanvas()->Refresh( true );
}
}

View File

@ -211,7 +211,7 @@ LIB_EDIT_FRAME::LIB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
.BestSize( m_defaultLibWidth, -1 ).Resizable() );
m_auimgr.AddPane( m_drawToolBar, EDA_PANE().VToolbar().Name( "ToolsToolbar" ).Right().Layer(1) );
m_auimgr.AddPane( m_canvas->GetWindow(), wxAuiPaneInfo().Name( "DrawFrame" ).CentrePane() );
m_auimgr.AddPane( GetGalCanvas(), wxAuiPaneInfo().Name( "DrawFrame" ).CentrePane() );
m_auimgr.Update();

View File

@ -394,10 +394,8 @@ void SCH_BASE_FRAME::createCanvas()
m_canvasType = EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL;
}
m_canvas = new SCH_DRAW_PANEL( this, wxID_ANY, wxPoint( 0, 0 ), m_FrameSize,
GetGalDisplayOptions(), m_canvasType );
SetGalCanvas( static_cast<SCH_DRAW_PANEL*>( m_canvas ) );
SetGalCanvas( new SCH_DRAW_PANEL( this, wxID_ANY, wxPoint( 0, 0 ), m_FrameSize,
GetGalDisplayOptions(), m_canvasType ) );
ActivateGalCanvas();
}

View File

@ -86,16 +86,16 @@ class SCH_BASE_FRAME : public EDA_DRAW_FRAME
{
protected:
TEMPLATES m_templateFieldNames;
wxPoint m_repeatStep; ///< the increment value of the position of an item
///< when it is repeated
int m_repeatDeltaLabel; ///< the increment value of labels like bus members
///< when they are repeated
bool m_showPinElectricalTypeName;
bool m_moveTakesCursorAsOrigin; ///< eemodern: always take the cursor (instead of item origin) as move anchor
bool m_dragActionIsMove; ///< eemodern: if true, drag action defaults to move, otherwise it's drag
bool m_dragAlwaysSelects; ///< eemodern: if true, drag action only selects items (and never drags/moves)
bool m_moveWarpsCursor; ///< eemodern: if true, cursor is warped to move/drag origin
wxPoint m_repeatStep; // the increment value of the position of an item
// when it is repeated
int m_repeatDeltaLabel; // the increment value of labels like bus members
// when they are repeated
bool m_showPinElectricalTypeName;
bool m_moveTakesCursorAsOrigin; // always take the cursor (instead of item origin) as
// the move anchor
bool m_dragActionIsMove; // drag action defaults to move, otherwise it's drag
bool m_dragAlwaysSelects; // drag action selects items (and never drags/moves)
bool m_moveWarpsCursor; // cursor is warped to move/drag origin
public:
SCH_BASE_FRAME( KIWAY* aKiway, wxWindow* aParent,
@ -108,7 +108,7 @@ public:
void createCanvas();
SCH_DRAW_PANEL* GetCanvas() const override;
SCH_DRAW_PANEL* GetCanvas() const;
SCH_SCREEN* GetScreen() const override;
void SetScreen( BASE_SCREEN* aScreen ) override;

View File

@ -168,32 +168,16 @@ KIGFX::SCH_VIEW* SCH_DRAW_PANEL::view() const
return static_cast<KIGFX::SCH_VIEW*>( m_view );
}
BASE_SCREEN* SCH_DRAW_PANEL::GetScreen()
{
return GetParent()->GetScreen();
}
EDA_DRAW_FRAME* SCH_DRAW_PANEL::GetParent() const
{
return static_cast<EDA_DRAW_FRAME*>(m_parent); // static_cast<SCH_EDIT_FRAME*> (m_parent);
}
void SCH_DRAW_PANEL::Refresh( bool aEraseBackground, const wxRect* aRect )
{
EDA_DRAW_PANEL_GAL::Refresh( aEraseBackground, aRect );
}
void SCH_DRAW_PANEL::onPaint( wxPaintEvent& aEvent )
{
// The first wxPaintEvent can be fired at startup before the GAL engine is fully initialized
// (depending on platforms). Do nothing in this case
if( !m_gal->IsInitialized() || !m_gal->IsVisible() )
// The first wxPaintEvent can be fired at startup before the GAL engine is fully initialized
// (depending on platforms). Do nothing in this case
return;
if( m_painter )
static_cast<KIGFX::SCH_PAINTER*>(m_painter.get())->GetSettings()->ImportLegacyColors( nullptr );
static_cast<KIGFX::SCH_PAINTER*>( m_painter.get() )->GetSettings()->ImportLegacyColors( nullptr );
EDA_DRAW_PANEL_GAL::onPaint( aEvent );
}

View File

@ -6,8 +6,6 @@
#include <gr_basic.h>
#include <eda_rect.h>
#include <legacy_gal/class_drawpanel.h>
namespace KIGFX
{
@ -26,7 +24,7 @@ class COLORS_DESIGN_SETTINGS;
class SCH_EDIT_FRAME;
class SCH_DRAW_PANEL : public EDA_DRAW_PANEL, public EDA_DRAW_PANEL_GAL
class SCH_DRAW_PANEL : public EDA_DRAW_PANEL_GAL
{
public:
SCH_DRAW_PANEL( wxWindow* aParentWindow, wxWindowID aWindowId, const wxPoint& aPosition,
@ -35,22 +33,13 @@ public:
~SCH_DRAW_PANEL();
virtual wxWindow* GetWindow() override { return this; }
void DisplayComponent( const LIB_PART *aComponent );
void DisplaySheet( const SCH_SCREEN *aScreen );
bool SwitchBackend( GAL_TYPE aGalType ) override;
BASE_SCREEN* GetScreen() override;
virtual EDA_DRAW_FRAME* GetParent() const override;
KIGFX::SCH_VIEW* GetView() const { return view(); }
/// @copydoc wxWindow::Refresh()
void Refresh( bool aEraseBackground = true, const wxRect* aRect = NULL ) override;
protected:
virtual void onPaint( wxPaintEvent& WXUNUSED( aEvent ) ) override;

View File

@ -323,7 +323,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ):
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->GetWindow(), EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
m_auimgr.AddPane( m_messagePanel, EDA_PANE().Messages().Name( "MsgPanel" ).Bottom().Layer(6) );
m_auimgr.Update();
@ -505,15 +505,14 @@ void SCH_EDIT_FRAME::SetCurrentSheet( const SCH_SHEET_PATH& aSheet )
if( aSheet != *g_CurrentSheet )
{
*g_CurrentSheet = aSheet;
static_cast<SCH_DRAW_PANEL*>( m_canvas )->DisplaySheet( g_CurrentSheet->LastScreen() );
GetCanvas()->DisplaySheet( g_CurrentSheet->LastScreen() );
}
}
void SCH_EDIT_FRAME::HardRedraw()
{
static_cast<SCH_DRAW_PANEL*>( m_canvas )->DisplaySheet( g_CurrentSheet->LastScreen() );
GetCanvas()->DisplaySheet( g_CurrentSheet->LastScreen() );
GetGalCanvas()->ForceRefresh();
}
@ -669,7 +668,7 @@ void SCH_EDIT_FRAME::OnModify()
if( ADVANCED_CFG::GetCfg().m_realTimeConnectivity && CONNECTION_GRAPH::m_allowRealTime )
RecalculateConnections( false );
m_canvas->Refresh();
GetCanvas()->Refresh();
}
@ -852,7 +851,7 @@ void SCH_EDIT_FRAME::OnLoadFile( wxCommandEvent& event )
void SCH_EDIT_FRAME::OnLoadCmpToFootprintLinkFile( wxCommandEvent& event )
{
LoadCmpToFootprintLinkFile();
m_canvas->Refresh();
GetCanvas()->Refresh();
}
@ -867,7 +866,7 @@ void SCH_EDIT_FRAME::OnUpdateFields( wxCommandEvent& event )
}
if( InvokeDialogUpdateFields( this, components, true ) == wxID_OK )
m_canvas->Refresh();
GetCanvas()->Refresh();
}
@ -1045,7 +1044,7 @@ void SCH_EDIT_FRAME::OnRemapSymbols( wxCommandEvent& event )
dlgRemap.ShowQuasiModal();
m_canvas->Refresh( true );
GetCanvas()->Refresh( true );
}
@ -1057,7 +1056,7 @@ void SCH_EDIT_FRAME::OnRemapSymbols( wxCommandEvent& event )
void SCH_EDIT_FRAME::OnEditComponentSymbolsId( wxCommandEvent& event )
{
InvokeDialogEditComponentsLibId( this );
m_canvas->Refresh( true );
GetCanvas()->Refresh( true );
}
@ -1292,8 +1291,7 @@ void SCH_EDIT_FRAME::ShowChangedLanguage()
void SCH_EDIT_FRAME::SetScreen( BASE_SCREEN* aScreen )
{
SCH_BASE_FRAME::SetScreen( aScreen );
auto c = static_cast<SCH_DRAW_PANEL*>(m_canvas);
c->DisplaySheet( static_cast<SCH_SCREEN*>( aScreen ) );
GetCanvas()->DisplaySheet( static_cast<SCH_SCREEN*>( aScreen ) );
}

View File

@ -105,10 +105,11 @@ public:
private:
SCH_BASE_FRAME* m_frame; // The frame using this view. Can be null. Used mainly
// to know the sheet path name when drawing the page layout
std::unique_ptr<WS_PROXY_VIEW_ITEM> m_worksheet;
std::unique_ptr<WS_PROXY_VIEW_ITEM> m_worksheet;
std::unique_ptr<KIGFX::PREVIEW::SELECTION_AREA> m_selectionArea;
std::unique_ptr<KIGFX::VIEW_GROUP> m_preview;
std::vector<EDA_ITEM *> m_ownedItems;
std::unique_ptr<KIGFX::VIEW_GROUP> m_preview;
std::vector<EDA_ITEM *> m_ownedItems;
};
}; // namespace

View File

@ -407,7 +407,7 @@ SCH_HIERLABEL* SCH_EDIT_FRAME::ImportHierLabel( SCH_SHEET* aSheet )
void SCH_EDIT_FRAME::DrawCurrentSheetToClipboard( wxCommandEvent& aEvt )
{
wxRect DrawArea;
BASE_SCREEN* screen = GetCanvas()->GetScreen();
BASE_SCREEN* screen = GetScreen();
DrawArea.SetSize( GetPageSizeIU() );

View File

@ -186,7 +186,7 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame
m_auimgr.AddPane( m_cmpList, EDA_PANE().Palette().Name( "Symbols" ).Left().Layer(1)
.CaptionVisible( false ).MinSize( 80, -1 ).BestSize( m_cmpListWidth, -1 ) );
m_auimgr.AddPane( m_canvas->GetWindow(), EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
m_auimgr.GetPane( m_libList ).Show( aLibraryName.empty() );
@ -555,7 +555,7 @@ bool LIB_VIEW_FRAME::ReCreateListLib()
bool cmp_changed = ReCreateListCmp();
DisplayLibInfos();
m_canvas->Refresh();
GetCanvas()->Refresh();
return cmp_changed;
}
@ -631,7 +631,7 @@ void LIB_VIEW_FRAME::SetSelectedLibrary( const wxString& aLibraryName )
m_libraryName = aLibraryName;
ReCreateListCmp();
m_canvas->Refresh();
GetCanvas()->Refresh();
DisplayLibInfos();
// Ensure the corresponding line in m_libList is selected

View File

@ -7,7 +7,6 @@ add_definitions(-DGERBVIEW)
include_directories( BEFORE ${INC_BEFORE} )
include_directories(
../include/legacy_wx
../pcbnew
dialogs
../common
@ -113,7 +112,7 @@ target_link_libraries( gerbview
#singletop # replaces common, giving us restrictive control and link warnings.
# There's way too much crap coming in from common yet.
gal
legacy_wx
legacy_gal
common
${wxWidgets_LIBRARIES}
)
@ -137,7 +136,7 @@ set_target_properties( gerbview_kiface PROPERTIES
)
target_link_libraries( gerbview_kiface
gal
legacy_wx
legacy_gal
common
${wxWidgets_LIBRARIES}
${GDI_PLUS_LIBRARIES}

View File

@ -28,9 +28,7 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <gerbview_frame.h>
#include <gerber_file_image.h>
#include <gerber_file_image_list.h>

View File

@ -30,9 +30,7 @@
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <trigo.h>
#include <gerbview_frame.h>
#include <gerber_file_image.h>
#include <convert_to_biu.h>

View File

@ -25,20 +25,15 @@
*/
#include <fctsys.h>
#include <kiface_i.h>
#include <common.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <dialogs/dialog_print_generic.h>
#include <gerbview_printout.h>
#include <gerbview.h>
#include <gerbview_frame.h>
#include <gerber_file_image.h>
#include <gerber_file_image_list.h>
#include <tool/tool_manager.h>
#include <tools/gerbview_actions.h>

View File

@ -18,11 +18,8 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <gerbview.h>
#include <gerbview_frame.h>
#include <class_draw_panel_gal.h>

View File

@ -21,7 +21,6 @@
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <gerbview.h>
#include <gerbview_frame.h>

View File

@ -22,16 +22,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file events_called_functions.cpp
* @brief GerbView command event functions.
*/
#include <fctsys.h>
#include <pgm_base.h>
#include <class_drawpanel.h>
#include <gestfich.h>
#include <gerbview.h>
#include <gerbview_frame.h>
#include <gerbview_id.h>
@ -40,7 +33,6 @@
#include <dialog_helpers.h>
#include <DCodeSelectionbox.h>
#include <gerbview_layer_widget.h>
#include <gerbview_draw_panel_gal.h>
#include <gal/graphics_abstraction_layer.h>
#include <tool/tool_manager.h>

View File

@ -26,12 +26,9 @@
#include <wx/fs_zip.h>
#include <wx/wfstream.h>
#include <wx/zipstrm.h>
#include <common.h>
#include <class_drawpanel.h>
#include <reporter.h>
#include <html_messagebox.h>
#include <gerbview_frame.h>
#include <gerbview_id.h>
#include <gerber_file_image.h>

View File

@ -22,16 +22,10 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file gbr_layout.cpp
* @brief GBR_LAYOUT class functions.
*/
#include <fctsys.h>
#include <gr_basic.h>
#include <gr_text.h>
#include <gerbview_frame.h>
#include <class_drawpanel.h>
#include <gbr_layout.h>
#include <gerber_file_image.h>
#include <gerber_file_image_list.h>

View File

@ -22,20 +22,14 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file gerber_draw_item.cpp
*/
#include <fctsys.h>
#include <gr_basic.h>
#include <common.h>
#include <trigo.h>
#include <bitmaps.h>
#include <class_drawpanel.h>
#include <msgpanel.h>
#include <gerbview_frame.h>
#include <convert_basic_shapes_to_polygon.h>
#include <gerber_draw_item.h>
#include <gerber_file_image.h>
#include <gerber_file_image_list.h>

View File

@ -29,15 +29,12 @@
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <macros.h>
#include <convert_to_biu.h>
#include <gerbview.h>
#include <gerbview_frame.h>
#include <gerber_file_image.h>
#include <X2_gerber_attributes.h>
#include <algorithm>
#include <map>

View File

@ -29,8 +29,6 @@
#include <fctsys.h>
#include <kiface_i.h>
#include <pgm_base.h>
#include <class_drawpanel.h>
#include <gerbview.h>
#include <hotkeys.h>
#include <gerbview_frame.h>

View File

@ -23,15 +23,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file gerbview_config.cpp
* @brief GerbView configuration.
*/
#include <fctsys.h>
#include <id.h>
#include <common.h>
#include <class_drawpanel.h>
#include <config_params.h>
#include <gerbview_frame.h>
#include <hotkeys.h>

View File

@ -22,7 +22,6 @@
#include <kiface_i.h>
#include <pgm_base.h>
#include <eda_base_frame.h>
#include <class_drawpanel.h>
#include <build_version.h>
#include <trigo.h>
#include <base_units.h>
@ -123,7 +122,7 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent ):
SetScreen( new GBR_SCREEN( GetPageSettings().GetSizeIU() ) );
// Create the PCB_LAYER_WIDGET *after* SetLayout():
m_LayersManager = new GERBER_LAYER_WIDGET( this, m_canvas );
m_LayersManager = new GERBER_LAYER_WIDGET( this, GetGalCanvas() );
// LoadSettings() *after* creating m_LayersManager, because LoadSettings()
// initialize parameters in m_LayersManager

View File

@ -23,20 +23,16 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <macros.h>
#include <gbr_layer_box_selector.h>
#include <menus_helpers.h>
#include <gerbview.h>
#include <gerbview_frame.h>
#include <gerber_file_image_list.h>
#include <layer_widget.h>
#include <gerbview_layer_widget.h>
#include <view/view.h>
#include <gerbview_painter.h>
#include <gal/graphics_abstraction_layer.h>

View File

@ -22,25 +22,15 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file printout_control.cpp
* @brief Board print handler implementation file.
*/
#include <fctsys.h>
#include <pgm_base.h>
#include <gr_basic.h>
#include <class_drawpanel.h>
#include <base_units.h>
#include <base_screen.h>
#include <gerbview_frame.h>
#include <gerber_file_image.h>
#include <gerber_file_image_list.h>
#include "gerbview_printout.h"
#include <gal/gal_print.h>
#include <view/view.h>
#include <gerbview_painter.h>

View File

@ -22,17 +22,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file gerbview/hotkeys.cpp
*/
#include <fctsys.h>
#include <common.h>
#include <gerbview_id.h>
#include <gerbview.h>
#include <gerbview_frame.h>
#include <class_drawpanel.h>
#include <gerbview_layer_widget.h>
#include <hotkeys.h>

View File

@ -29,10 +29,8 @@
#include <fctsys.h>
#include <wx/filename.h>
#include <wildcards_and_files_ext.h>
#include <gerbview.h>
#include <richio.h>
#include <class_drawpanel.h>
#include <gerber_file_image.h>
#include <gerber_file_image_list.h>
#include <gerbview_frame.h>
@ -40,7 +38,6 @@
#include <gbr_metadata.h>
#include <html_messagebox.h>
#include <view/view.h>
#include "json11.hpp" // A light JSON parser
/**

View File

@ -37,7 +37,6 @@
class wxSingleInstanceChecker;
class EDA_HOTKEY;
class ACTION_TOOLBAR;
class EDA_DRAW_PANEL;
using KIGFX::COLOR4D;
@ -82,10 +81,6 @@ namespace KIGFX
*/
class EDA_DRAW_FRAME : public KIWAY_PLAYER
{
/// Let the #EDA_DRAW_PANEL object have access to the protected data since
/// it is closely tied to the #EDA_DRAW_FRAME.
friend class EDA_DRAW_PANEL;
///< Id of active button on the vertical toolbar.
int m_toolId;
wxString m_toolMsg;
@ -121,9 +116,6 @@ protected:
EDA_UNITS_T m_UserUnits;
bool m_PolarCoords; //< for those frames that support polar coordinates
/// The area to draw on.
EDA_DRAW_PANEL* m_canvas;
TOOL_MANAGER* m_toolManager;
TOOL_DISPATCHER* m_toolDispatcher;
ACTIONS* m_actions;
@ -376,8 +368,6 @@ public:
bool ShowPageLimits() const { return m_showPageLimits; }
void SetShowPageLimits( bool aShow ) { m_showPageLimits = aShow; }
virtual EDA_DRAW_PANEL* GetCanvas() const { return m_canvas; }
virtual wxString GetScreenDesc() const;
/**

View File

@ -1,32 +0,0 @@
#ifndef __EDA_DRAW_PANEL_H
#define __EDA_DRAW_PANEL_H
#include <wx/wx.h>
#include <base_struct.h>
#include <gr_basic.h>
#include <eda_rect.h>
class BASE_SCREEN;
class EDA_DRAW_PANEL
{
public:
EDA_DRAW_PANEL()
{};
virtual ~EDA_DRAW_PANEL(){};
virtual BASE_SCREEN* GetScreen() = 0;
virtual EDA_DRAW_FRAME* GetParent() const = 0;
// Only used for printing, so no clipping
virtual EDA_RECT* GetClipBox() { return nullptr; }
virtual void Refresh( bool eraseBackground = true, const wxRect* rect = NULL ) {}
virtual wxWindow* GetWindow() = 0;
};
#endif

View File

@ -1,56 +0,0 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@gmail.com>
* Copyright (C) 1992-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 PANEL_WXSTRUCT_H
#define PANEL_WXSTRUCT_H
#include <base_struct.h>
#include <gr_basic.h>
#include <eda_rect.h>
class BASE_SCREEN;
class PCB_SCREEN;
class EDA_DRAW_PANEL : public wxScrolledWindow
{
public:
EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id, const wxPoint& pos, const wxSize& size );
~EDA_DRAW_PANEL();
BASE_SCREEN* GetScreen();
EDA_DRAW_FRAME* GetParent() const;
// Only used for printing, so no clipping
virtual EDA_RECT* GetClipBox() { return nullptr; }
/// @copydoc wxWindow::Refresh()
void Refresh( bool eraseBackground = true, const wxRect* rect = NULL ) override;
};
#endif /* #ifndef PANEL_WXSTRUCT_H */

View File

@ -7,7 +7,6 @@ add_definitions(-DPL_EDITOR)
include_directories(BEFORE ${INC_BEFORE})
include_directories(
../include/legacy_wx
dialogs
../common/dialogs
${INC_AFTER}
@ -81,7 +80,7 @@ set_source_files_properties( ../common/single_top.cpp PROPERTIES
target_link_libraries( pl_editor
#singletop # replaces common, giving us restrictive control and link warnings.
# There's way too much crap coming in from common yet.
legacy_wx
legacy_gal
gal
common
${wxWidgets_LIBRARIES}
@ -100,7 +99,7 @@ add_library( pl_editor_kiface MODULE
${PL_EDITOR_EXTRA_SRCS}
)
target_link_libraries( pl_editor_kiface
legacy_wx
legacy_gal
gal
common
${wxWidgets_LIBRARIES}

View File

@ -24,8 +24,6 @@
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <pl_editor_frame.h>
#include <ws_data_item.h>
#include <dialog_new_dataitem_base.h>

View File

@ -28,9 +28,7 @@
#include <fctsys.h>
#include <gr_basic.h>
#include <class_drawpanel.h>
#include <base_units.h>
#include <pl_editor_frame.h>
#include <pl_editor_id.h>
#include <dialog_helpers.h>
@ -58,7 +56,7 @@ public:
bool OnPrintPage( int aPageNum ) override;
bool HasPage( int aPageNum ) override { return ( aPageNum <= 2 ); }
void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
void DrawPage( int aPageNum );
void PrintPage( int aPageNum );
};
/**
@ -132,7 +130,7 @@ END_EVENT_TABLE()
bool PLEDITOR_PRINTOUT::OnPrintPage( int aPageNum )
{
DrawPage( aPageNum );
PrintPage( aPageNum );
return true;
}

View File

@ -26,7 +26,6 @@
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <gestfich.h>
#include <macros.h>

View File

@ -26,8 +26,6 @@
#include <fctsys.h>
#include <common.h>
#include <id.h>
#include <class_drawpanel.h>
#include <pl_editor_frame.h>
#include <hotkeys.h>
#include <pl_editor_id.h>

View File

@ -174,7 +174,7 @@ PL_EDITOR_FRAME::PL_EDITOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
m_auimgr.AddPane( GetGalCanvas(), EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
GetGalCanvas()->GetView()->SetScale( GetZoomLevelCoeff() / m_canvas->GetScreen()->GetZoom() );
GetGalCanvas()->GetView()->SetScale( GetZoomLevelCoeff() / GetScreen()->GetZoom() );
ActivateGalCanvas();
m_auimgr.Update();

View File

@ -29,7 +29,6 @@
#include <config_params.h>
#include <draw_frame.h>
#include <class_drawpanel.h>
#include <pl_editor_screen.h>
#include <pl_editor_layout.h>

View File

@ -24,7 +24,6 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <macros.h>
#include <ws_data_model.h>
#include <ws_draw_item.h>
@ -121,7 +120,7 @@ void PL_EDITOR_FRAME::GetLayoutFromUndoList()
HardRedraw(); // items based off of corners will need re-calculating
}
else
GetCanvas()->Refresh();
GetGalCanvas()->Refresh();
OnModify();
}
@ -153,5 +152,5 @@ void PL_EDITOR_FRAME::RollbackFromUndo()
HardRedraw(); // items based off of corners will need re-calculating
}
else
GetCanvas()->Refresh();
GetGalCanvas()->Refresh();
}

View File

@ -24,7 +24,6 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <ws_draw_item.h>
#include <ws_data_model.h>
#include <properties_frame.h>
@ -309,7 +308,7 @@ void PROPERTIES_FRAME::OnAcceptPrms( wxCommandEvent& event )
CopyPrmsFromGeneralToPanel();
m_parent->OnModify();
m_parent->GetCanvas()->Refresh();
m_parent->GetGalCanvas()->Refresh();
}
@ -322,7 +321,7 @@ void PROPERTIES_FRAME::OnSetDefaultValues( wxCommandEvent& event )
model.m_DefaultTextThickness = 0.15;
CopyPrmsFromGeneralToPanel();
m_parent->GetCanvas()->Refresh();
m_parent->GetGalCanvas()->Refresh();
}

View File

@ -140,7 +140,7 @@ int PL_EDITOR_CONTROL::ToggleBackgroundColor( const TOOL_EVENT& aEvent )
getView()->GetPainter()->GetSettings()->SetBackgroundColor( m_frame->GetDrawBgColor() );
m_frame->GetGalCanvas()->GetView()->UpdateAllLayersColor();
m_frame->GetCanvas()->Refresh();
m_frame->GetGalCanvas()->Refresh();
return 0;
}

View File

@ -254,7 +254,7 @@ int PL_POINT_EDITOR::Main( const TOOL_EVENT& aEvent )
m_frame->OnModify();
m_editPoints.reset();
m_frame->GetCanvas()->Refresh();
m_frame->GetGalCanvas()->Refresh();
}
return 0;

View File

@ -591,7 +591,7 @@ bool PL_SELECTION_TOOL::doSelectionMenu( COLLECTOR* aCollector )
}
getView()->UpdateItems();
m_frame->GetCanvas()->Refresh();
m_frame->GetGalCanvas()->Refresh();
}
if( current )
@ -599,7 +599,7 @@ bool PL_SELECTION_TOOL::doSelectionMenu( COLLECTOR* aCollector )
unhighlight( current, BRIGHTENED );
getView()->UpdateItems();
m_frame->GetCanvas()->Refresh();
m_frame->GetGalCanvas()->Refresh();
aCollector->Empty();
aCollector->Append( current );

View File

@ -37,7 +37,6 @@ endif()
include_directories( BEFORE ${INC_BEFORE} )
include_directories(
../include/legacy_wx
./dialogs
./autorouter
../3d-viewer
@ -644,7 +643,7 @@ set( PCBNEW_KIFACE_LIBRARIES
pcbcommon
pnsrouter
pcad2kicadpcb
legacy_wx
legacy_gal
common
gal
lib_dxf

View File

@ -26,27 +26,21 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <gr_basic.h>
#include <macros.h>
#include <msgpanel.h>
#include <class_board.h>
#include <class_module.h>
#include <class_track.h>
#include <class_drawsegment.h>
#include <class_pad.h>
#include <board_commit.h>
#include <connectivity/connectivity_data.h>
#include <ratsnest_data.h>
#include <widgets/progress_reporter.h>
#include "ar_matrix.h"
#include "ar_cell.h"
#include "ar_autoplacer.h"

View File

@ -35,16 +35,13 @@
*/
#include <algorithm>
#include <fctsys.h>
#include <convert_to_biu.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <class_board.h>
#include <class_module.h>
#include <rect_placement/rect_placement.h>
struct TSubRect : public CRectPlacement::TRect

View File

@ -24,15 +24,10 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_dimension.cpp
*/
#include <fctsys.h>
#include <macros.h>
#include <gr_basic.h>
#include <trigo.h>
#include <class_drawpanel.h>
#include <kicad_string.h>
#include <richio.h>
#include <bitmaps.h>

View File

@ -24,25 +24,16 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_drawsegment.cpp
* @brief Class and functions to handle a graphic segments.
*/
#include <fctsys.h>
#include <macros.h>
#include <gr_basic.h>
#include <bezier_curves.h>
#include <class_drawpanel.h>
#include <pcb_screen.h>
#include <trigo.h>
#include <msgpanel.h>
#include <bitmaps.h>
#include <pcb_edit_frame.h>
#include <pcbnew.h>
#include <class_board.h>
#include <class_module.h>
#include <class_drawsegment.h>

View File

@ -32,7 +32,6 @@
#include <fctsys.h>
#include <gr_basic.h>
#include <trigo.h>
#include <class_drawpanel.h>
#include <pcb_screen.h>
#include <confirm.h>
#include <kicad_string.h>

View File

@ -30,12 +30,10 @@
#include <fctsys.h>
#include <gr_basic.h>
#include <class_drawpanel.h>
#include <trigo.h>
#include <msgpanel.h>
#include <bitmaps.h>
#include <base_units.h>
#include <pcbnew.h>
#include <class_marker_pcb.h>
#include <layers_id_colors_and_visibility.h>

View File

@ -24,15 +24,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_module.cpp
* @brief MODULE class implementation.
*/
#include <fctsys.h>
#include <gr_basic.h>
#include <plotter.h>
#include <class_drawpanel.h>
#include <trigo.h>
#include <confirm.h>
#include <kicad_string.h>
@ -44,13 +38,11 @@
#include <msgpanel.h>
#include <bitmaps.h>
#include <unordered_set>
#include <pcb_edit_frame.h>
#include <class_board.h>
#include <class_edge_mod.h>
#include <class_module.h>
#include <convert_basic_shapes_to_polygon.h>
#include <view/view.h>
MODULE::MODULE( BOARD* parent ) :

View File

@ -49,7 +49,6 @@ enum CUST_PAD_SHAPE_IN_ZONE
class LINE_READER;
class EDA_3D_CANVAS;
class EDA_DRAW_PANEL;
class MODULE;
class EDGE_MODULE;
class TRACK;

View File

@ -32,14 +32,12 @@
#include <fctsys.h>
#include <gr_basic.h>
#include <common.h>
#include <class_drawpanel.h>
#include <kicad_string.h>
#include <trigo.h>
#include <macros.h>
#include <richio.h>
#include <bitmaps.h>
#include <pcb_edit_frame.h>
#include <class_board.h>
#include <class_pcb_target.h>
#include <base_units.h>

View File

@ -35,7 +35,6 @@
#include <kicad_string.h>
#include <trigo.h>
#include <richio.h>
#include <class_drawpanel.h>
#include <macros.h>
#include <pcb_edit_frame.h>
#include <msgpanel.h>

View File

@ -23,15 +23,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_module.cpp
* @brief TEXT_MODULE class implementation.
*/
#include <fctsys.h>
#include <gr_basic.h>
#include <trigo.h>
#include <class_drawpanel.h>
#include <gr_text.h>
#include <kicad_string.h>
#include <richio.h>
@ -40,12 +34,9 @@
#include <msgpanel.h>
#include <base_units.h>
#include <bitmaps.h>
#include <class_board.h>
#include <class_module.h>
#include <view/view.h>
#include <pcbnew.h>

View File

@ -24,18 +24,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_track.h
* @brief Functions relatives to tracks, vias and segments used to fill zones.
*/
#include <fctsys.h>
#include <gr_basic.h>
#include <common.h>
#include <trigo.h>
#include <macros.h>
#include <class_drawpanel.h>
#include <pcb_screen.h>
#include <gr_text.h>
#include <pcb_base_frame.h>

View File

@ -23,13 +23,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_zone.cpp
* @brief Implementation of class to handle copper zones.
*/
#include <bitmaps.h>
#include <class_drawpanel.h>
#include <fctsys.h>
#include <geometry/geometry_utils.h>
#include <kicad_string.h>
@ -39,11 +33,9 @@
#include <pcb_screen.h>
#include <richio.h>
#include <trigo.h>
#include <convert_to_biu.h>
#include <class_board.h>
#include <class_zone.h>
#include <pcbnew.h>
#include <zones.h>
#include <math_for_graphics.h>

View File

@ -33,7 +33,6 @@
#include <pcb_edit_frame.h>
#include <tracks_cleaner.h>
#include <reporter.h>
#include <class_drawpanel.h>
#include <tool/tool_manager.h>
#include <collectors.h>
#include "dialog_drclistbox.h"

View File

@ -28,14 +28,11 @@
#define _DIALOG_DRC_H_
#include <wx/htmllbox.h>
#include <fctsys.h>
#include <pcbnew.h>
#include <class_drawpanel.h>
#include <drc.h>
#include <class_marker_pcb.h>
#include <class_board.h>
#include <dialog_drc_base.h>
#include <dialog_drclistbox.h>
#include <widgets/unit_binder.h>

View File

@ -27,25 +27,14 @@
#define _DIALOG_DRCLISTBOX_H_
#include <wx/htmllbox.h>
#include <fctsys.h>
#include <pcbnew.h>
#include <class_drawpanel.h>
#include <drc.h>
#include <class_marker_pcb.h>
#include <class_board.h>
#include <dialog_drc_base.h>
// outside @end control identifiers since wxFormBuilder knows not DRCLISTBOX
#define ID_DRCLISTCTRL 14000
#define ID_POPUP_UNCONNECTED_A 14001
#define ID_POPUP_UNCONNECTED_B 14002
#define ID_POPUP_MARKERS_A 14003
#define ID_POPUP_MARKERS_B 14004
/**
* Class DRC_LIST_MARKERS
* is an implementation of the interface named DRC_ITEM_LIST which uses

View File

@ -24,12 +24,10 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <fctsys.h>
#include <kiface_i.h>
#include <view/view.h>
#include <gr_basic.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <pcbnew.h>
#include <pgm_base.h>

View File

@ -24,11 +24,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <fctsys.h>
#include <base_units.h>
#include <view/view.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <dialog_text_entry.h>
#include <pcbnew.h>

View File

@ -26,7 +26,6 @@
#include <fctsys.h>
#include <kicad_string.h>
#include <class_drawpanel.h>
#include <pcb_edit_frame.h>
#include <macros.h>
#include <board_commit.h>
@ -36,7 +35,6 @@
#include <project.h>
#include <wx_html_report_panel.h>
#include <kiway.h>
#include <dialog_exchange_footprints.h>

View File

@ -25,7 +25,6 @@
#include <fctsys.h>
#include <gr_basic.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <kicad_string.h>
#include <pcb_edit_frame.h>
@ -34,7 +33,6 @@
#include <class_board.h>
#include <class_module.h>
#include <class_marker_pcb.h>
#include <pcbnew.h>
#include <pcbnew_id.h>
#include <dialog_find.h>
@ -97,7 +95,7 @@ void DIALOG_FIND::onButtonFindItemClick( wxCommandEvent& aEvent )
prevSearchString = searchString;
parent->GetCanvas()->GetViewStart( &screen->m_StartVisu.x, &screen->m_StartVisu.y );
parent->GetGalCanvas()->GetViewStart( &screen->m_StartVisu.x, &screen->m_StartVisu.y );
int count = 0;
@ -159,7 +157,7 @@ void DIALOG_FIND::onButtonFindMarkerClick( wxCommandEvent& aEvent )
foundItem = NULL;
parent->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
parent->GetCanvas()->GetViewStart( &screen->m_StartVisu.x, &screen->m_StartVisu.y );
parent->GetGalCanvas()->GetViewStart( &screen->m_StartVisu.x, &screen->m_StartVisu.y );
MARKER_PCB* marker = parent->GetBoard()->GetMARKER( markerCount++ );

View File

@ -22,11 +22,8 @@
*/
#include <fctsys.h>
#include <common.h>
#include <class_drawpanel.h>
#include <footprint_viewer_frame.h>
#include <dialog_fp_browser_display_options.h>

View File

@ -25,21 +25,17 @@
using namespace std::placeholders;
#include <fctsys.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <ratsnest_data.h>
#include <board_commit.h>
#include <class_board.h>
#include <class_module.h>
#include <class_track.h>
#include <class_zone.h>
#include <tool/tool_manager.h>
#include <tools/pcb_actions.h>
#include <dialog_global_deletion.h>

View File

@ -23,7 +23,6 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <kicad_string.h>
#include <board_commit.h>
#include <pcb_edit_frame.h>

View File

@ -25,7 +25,6 @@
#include <fctsys.h>
#include <confirm.h>
#include <pcb_edit_frame.h>
#include <class_drawpanel.h>
#include <class_board.h>
#include <connectivity/connectivity_data.h>
#include <view/view.h>

View File

@ -29,7 +29,6 @@
#include <fctsys.h>
#include <macros.h>
#include <confirm.h>
#include <class_drawpanel.h>
#include <pcb_base_edit_frame.h>
#include <wx/valnum.h>
#include <board_commit.h>

View File

@ -30,24 +30,19 @@
#include <gal/graphics_abstraction_layer.h>
#include <view/view_controls.h>
#include <trigo.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <pcbnew.h>
#include <pcb_base_frame.h>
#include <base_units.h>
#include <board_commit.h>
#include <bitmaps.h>
#include <class_board.h>
#include <class_module.h>
#include <pcb_painter.h>
#include <widgets/net_selector.h>
#include <dialog_pad_properties.h>
#include <dialog_pad_properties.h>
#include <html_messagebox.h>
#include <convert_basic_shapes_to_polygon.h> // for enum RECT_CHAMFER_POSITIONS definition

View File

@ -32,18 +32,14 @@
#ifndef _DIALOG_PAD_PROPERTIES_H_
#define _DIALOG_PAD_PROPERTIES_H_
#include <class_drawpanel.h>
#include <pcbnew.h>
#include <pcb_base_frame.h>
#include <base_units.h>
#include <wx/valnum.h>
#include <class_board.h>
#include <class_module.h>
#include <class_drawsegment.h>
#include <origin_viewitem.h>
#include <dialog_pad_properties_base.h>
#include <widgets/text_ctrl_eval.h>
#include <pcb_draw_panel_gal.h>

View File

@ -26,7 +26,6 @@
#include <fctsys.h>
#include <kiface_i.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <base_units.h>
#include <pcbnew.h>

View File

@ -24,14 +24,12 @@
#include <fctsys.h>
#include <kicad_string.h>
#include <class_drawpanel.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <class_board.h>
#include <dialog_select_net_from_list_base.h>
#include <eda_pattern_match.h>
#include <wildcards_and_files_ext.h>
#include <view/view.h>
#include <view/view_controls.h>
#include <pcb_painter.h>

View File

@ -21,25 +21,16 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file dialog_set_grid.cpp
* @brief Manage user grid.
*/
#include <dialog_set_grid_base.h>
#include <base_units.h>
#include <common.h>
#include <widgets/unit_binder.h>
#include <hotkeys.h>
#include <pcb_base_edit_frame.h>
#include <class_drawpanel.h>
#include <class_draw_panel_gal.h>
#include <gal/graphics_abstraction_layer.h>
#include <tools/pcb_actions.h>
#include <tool/tool_manager.h>
#include <pcbnew_id.h>
// Max values for grid size

View File

@ -26,7 +26,6 @@
#include <grid_layer_box_helpers.h>
#include <board_commit.h>
#include <class_drawsegment.h>
#include <class_drawpanel.h>
#include <class_track.h>
#include <view/view.h>
#include <widgets/wx_grid.h>

View File

@ -24,16 +24,13 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <pcb_edit_frame.h>
#include <dialog_helpers.h>
#include <base_units.h>
#include <gr_basic.h>
#include <board_commit.h>
#include <class_board.h>
#include <class_pcb_target.h>
#include <pcbnew.h>
#include <dialog_target_properties_base.h>
#include <widgets/unit_binder.h>

View File

@ -23,16 +23,12 @@
*/
#include <dialog_text_properties.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <gr_text.h>
#include <fctsys.h>
#include <gr_basic.h>
#include <widgets/tab_traversal.h>
#include <widgets/unit_binder.h>
#include <board_commit.h>
#include <class_board.h>
#include <class_dimension.h>
@ -42,7 +38,6 @@
#include <pcb_edit_frame.h>
#include <pcb_layer_box_selector.h>
#include <pcbnew.h>
#include <wx/valnum.h>

View File

@ -35,11 +35,9 @@
#include <tools/pcb_actions.h>
#include <tools/selection_tool.h>
#include <class_draw_panel_gal.h>
#include <class_drawpanel.h>
#include <class_board.h>
#include <ratsnest_data.h>
#include <view/view.h>
#include <functional>
#include <kiface_i.h>

View File

@ -17,7 +17,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <class_drawpanel.h>
#include <footprint_edit_frame.h>
#include <view/view.h>
#include <widgets/gal_options_panel.h>

View File

@ -19,7 +19,6 @@
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <pcb_display_options.h>
@ -30,7 +29,6 @@
#include <pcb_view.h>
#include <pcb_painter.h>
#include <widgets/paged_dialog.h>
#include <widgets/gal_options_panel.h>

View File

@ -23,12 +23,10 @@
#include <fctsys.h>
#include <class_drawpanel.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <board_design_settings.h>
#include <dialog_text_entry.h>
#include <panel_setup_mask_and_paste.h>

View File

@ -23,9 +23,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <fctsys.h>
#include <class_drawpanel.h>
#include <base_units.h>
#include <confirm.h>
#include <pcb_edit_frame.h>
@ -33,7 +31,6 @@
#include <bitmaps.h>
#include <widgets/wx_grid.h>
#include <grid_tricks.h>
#include <panel_setup_netclasses.h>

View File

@ -21,15 +21,12 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <fctsys.h>
#include <base_units.h>
#include <class_drawpanel.h>
#include <pcb_edit_frame.h>
#include <board_design_settings.h>
#include <widgets/wx_grid.h>
#include <grid_tricks.h>
#include <panel_setup_text_and_graphics.h>

View File

@ -23,7 +23,6 @@
#include <fctsys.h>
#include <class_drawpanel.h>
#include <base_units.h>
#include <pcb_edit_frame.h>
#include <board_design_settings.h>

View File

@ -27,7 +27,6 @@
#include <fctsys.h>
#include <pgm_base.h>
#include <kiface_i.h>
#include <class_drawpanel.h>
#include <confirm.h>
#include <eda_doc.h>
#include <gestfich.h>

View File

@ -24,12 +24,10 @@
#include <fctsys.h>
#include <gr_basic.h>
#include <class_drawpanel.h>
#include <pcb_edit_frame.h>
#include <pcbnew_id.h>
#include <class_board.h>
#include <class_track.h>
#include <pcbnew.h>
#include <drc.h>

Some files were not shown because too many files have changed in this diff Show More