refactoring: derive PCB-specific PCB_VIEW from VIEW with the intention of moving PCB_EDIT_FRAME entries used by the tools (e.g. GetActiveLayer) there
This commit is contained in:
parent
81d1e17f02
commit
8a09a1d329
|
@ -74,9 +74,6 @@ EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWin
|
|||
ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS );
|
||||
EnableScrolling( false, false ); // otherwise Zoom Auto disables GAL canvas
|
||||
|
||||
m_view = new KIGFX::VIEW( true );
|
||||
m_view->SetGAL( m_gal );
|
||||
|
||||
Connect( wxEVT_SIZE, wxSizeEventHandler( EDA_DRAW_PANEL_GAL::onSize ), NULL, this );
|
||||
Connect( wxEVT_ENTER_WINDOW, wxEventHandler( EDA_DRAW_PANEL_GAL::onEnter ), NULL, this );
|
||||
Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( EDA_DRAW_PANEL_GAL::onLostFocus ), NULL, this );
|
||||
|
@ -103,10 +100,6 @@ EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWin
|
|||
NULL, m_eventDispatcher );
|
||||
}
|
||||
|
||||
// View controls is the first in the event handler chain, so the Tool Framework operates
|
||||
// on updated viewport data.
|
||||
m_viewControls = new KIGFX::WX_VIEW_CONTROLS( m_view, this );
|
||||
|
||||
m_pendingRefresh = false;
|
||||
m_drawing = false;
|
||||
m_drawingEnabled = false;
|
||||
|
|
|
@ -68,7 +68,7 @@ public:
|
|||
*/
|
||||
VIEW( bool aIsDynamic = true );
|
||||
|
||||
~VIEW();
|
||||
virtual ~VIEW();
|
||||
|
||||
// nasty hack, invoked by the destructor of VIEW_ITEM to auto-remove the item
|
||||
// from the owning VIEW if there is any. Kicad relies too much on this mechanism.
|
||||
|
@ -83,14 +83,14 @@ public:
|
|||
* @param aItem: item to be added. No ownership is given
|
||||
* @param aDrawPriority: priority to draw this item on its layer, lowest first.
|
||||
*/
|
||||
void Add( VIEW_ITEM* aItem, int aDrawPriority = -1 );
|
||||
virtual void Add( VIEW_ITEM* aItem, int aDrawPriority = -1 );
|
||||
|
||||
/**
|
||||
* Function Remove()
|
||||
* Removes a VIEW_ITEM from the view.
|
||||
* @param aItem: item to be removed. Caller must dispose the removed item if necessary
|
||||
*/
|
||||
void Remove( VIEW_ITEM* aItem );
|
||||
virtual void Remove( VIEW_ITEM* aItem );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -102,7 +102,7 @@ public:
|
|||
* first).
|
||||
* @return Number of found items.
|
||||
*/
|
||||
int Query( const BOX2I& aRect, std::vector<LAYER_ITEM_PAIR>& aResult ) const;
|
||||
virtual int Query( const BOX2I& aRect, std::vector<LAYER_ITEM_PAIR>& aResult ) const;
|
||||
|
||||
/**
|
||||
* Sets the item visibility.
|
||||
|
@ -136,8 +136,8 @@ public:
|
|||
* @param aItem: the item to update.
|
||||
* @param aUpdateFlags: how much the object has changed.
|
||||
*/
|
||||
void Update( VIEW_ITEM* aItem, int aUpdateFlags );
|
||||
void Update( VIEW_ITEM* aItem );
|
||||
virtual void Update( VIEW_ITEM* aItem, int aUpdateFlags );
|
||||
virtual void Update( VIEW_ITEM* aItem );
|
||||
|
||||
/**
|
||||
* Function SetRequired()
|
||||
|
@ -476,7 +476,7 @@ public:
|
|||
* @param aLayer: the layer or -1 in case when no particular layer should
|
||||
* be displayed on the top.
|
||||
*/
|
||||
void SetTopLayer( int aLayer, bool aEnabled = true );
|
||||
virtual void SetTopLayer( int aLayer, bool aEnabled = true );
|
||||
|
||||
/**
|
||||
* Function EnableTopLayer()
|
||||
|
@ -485,9 +485,9 @@ public:
|
|||
* layer set previously with SetTopLayer function.
|
||||
* @param aEnable whether to enable or disable display of the top layer.
|
||||
*/
|
||||
void EnableTopLayer( bool aEnable );
|
||||
virtual void EnableTopLayer( bool aEnable );
|
||||
|
||||
int GetTopLayer() const;
|
||||
virtual int GetTopLayer() const;
|
||||
|
||||
/**
|
||||
* Function ClearTopLayers()
|
||||
|
@ -513,7 +513,7 @@ public:
|
|||
* Function Redraw()
|
||||
* Immediately redraws the whole view.
|
||||
*/
|
||||
void Redraw();
|
||||
virtual void Redraw();
|
||||
|
||||
/**
|
||||
* Function RecacheAllItems()
|
||||
|
|
|
@ -47,7 +47,7 @@ class WX_VIEW_CONTROLS : public VIEW_CONTROLS, public wxEvtHandler
|
|||
{
|
||||
public:
|
||||
WX_VIEW_CONTROLS( VIEW* aView, wxScrolledCanvas* aParentPanel );
|
||||
~WX_VIEW_CONTROLS()
|
||||
virtual ~WX_VIEW_CONTROLS()
|
||||
{}
|
||||
|
||||
/// Handler functions
|
||||
|
|
|
@ -264,6 +264,7 @@ set( PCBNEW_CLASS_SRCS
|
|||
pcbplot.cpp
|
||||
pcb_draw_panel_gal.cpp
|
||||
pcb_general_settings.cpp
|
||||
pcb_view.cpp
|
||||
plot_board_layers.cpp
|
||||
plot_brditems_plotter.cpp
|
||||
print_board_functions.cpp
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
#include <collectors.h>
|
||||
#include <class_drawpanel.h>
|
||||
#include <pcb_draw_panel_gal.h>
|
||||
#include <view/view.h>
|
||||
#include <pcb_view.h>
|
||||
#include <math/vector2d.h>
|
||||
#include <trigo.h>
|
||||
#include <pcb_painter.h>
|
||||
|
@ -450,10 +450,8 @@ void PCB_BASE_FRAME::OnTogglePadDrawMode( wxCommandEvent& aEvent )
|
|||
if( gal )
|
||||
{
|
||||
// Apply new display options to the GAL canvas
|
||||
auto view = gal->GetView();
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*> ( view->GetPainter() );
|
||||
auto settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*> ( painter->GetSettings() );
|
||||
settings->LoadDisplayOptions( displ_opts );
|
||||
auto view = static_cast<KIGFX::PCB_VIEW*>( gal->GetView() );
|
||||
view->UpdateDisplayOptions( displ_opts );
|
||||
|
||||
// Update pads
|
||||
BOARD* board = GetBoard();
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
#include <dialog_display_options_base.h>
|
||||
|
||||
#include <class_draw_panel_gal.h>
|
||||
#include <view/view.h>
|
||||
#include <pcb_view.h>
|
||||
#include <pcb_painter.h>
|
||||
|
||||
#include <widgets/gal_options_panel.h>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "pcb_draw_panel_gal.h"
|
||||
#include <view/view.h>
|
||||
#include <pcb_view.h>
|
||||
#include <view/wx_view_controls.h>
|
||||
#include <pcb_painter.h>
|
||||
#include <worksheet_viewitem.h>
|
||||
|
@ -104,12 +104,19 @@ PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWin
|
|||
KIGFX::GAL_DISPLAY_OPTIONS& aOptions, GAL_TYPE aGalType ) :
|
||||
EDA_DRAW_PANEL_GAL( aParentWindow, aWindowId, aPosition, aSize, aOptions, aGalType )
|
||||
{
|
||||
setDefaultLayerOrder();
|
||||
setDefaultLayerDeps();
|
||||
m_view = new KIGFX::PCB_VIEW( true );
|
||||
m_view->SetGAL( m_gal );
|
||||
|
||||
m_painter.reset( new KIGFX::PCB_PAINTER( m_gal ) );
|
||||
m_view->SetPainter( m_painter.get() );
|
||||
|
||||
setDefaultLayerOrder();
|
||||
setDefaultLayerDeps();
|
||||
|
||||
// View controls is the first in the event handler chain, so the Tool Framework operates
|
||||
// on updated viewport data.
|
||||
m_viewControls = new KIGFX::WX_VIEW_CONTROLS( m_view, this );
|
||||
|
||||
// Load display options (such as filled/outline display of items).
|
||||
// Can be made only if the parent window is an EDA_DRAW_FRAME (or a derived class)
|
||||
// which is not always the case (namely when it is used from a wxDialog like the pad editor)
|
||||
|
@ -117,8 +124,8 @@ EDA_DRAW_PANEL_GAL( aParentWindow, aWindowId, aPosition, aSize, aOptions, aGalTy
|
|||
|
||||
if( frame )
|
||||
{
|
||||
auto displ_opts = (PCB_DISPLAY_OPTIONS*) frame->GetDisplayOptions();
|
||||
static_cast<KIGFX::PCB_RENDER_SETTINGS*>( m_view->GetPainter()->GetSettings() )->LoadDisplayOptions( displ_opts );
|
||||
auto opts = (PCB_DISPLAY_OPTIONS*) frame->GetDisplayOptions();
|
||||
static_cast<KIGFX::PCB_VIEW*>( m_view )->UpdateDisplayOptions( opts );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -442,3 +449,9 @@ void PCB_DRAW_PANEL_GAL::setDefaultLayerDeps()
|
|||
m_view->SetLayerDisplayOnly( LAYER_GRID );
|
||||
m_view->SetLayerDisplayOnly( LAYER_DRC );
|
||||
}
|
||||
|
||||
|
||||
KIGFX::PCB_VIEW* PCB_DRAW_PANEL_GAL::view() const
|
||||
{
|
||||
return static_cast<KIGFX::PCB_VIEW*>( m_view );
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ namespace KIGFX
|
|||
{
|
||||
class WORKSHEET_VIEWITEM;
|
||||
class RATSNEST_VIEWITEM;
|
||||
class PCB_VIEW;
|
||||
}
|
||||
class COLORS_DESIGN_SETTINGS;
|
||||
|
||||
|
@ -103,6 +104,9 @@ public:
|
|||
void RedrawRatsnest();
|
||||
|
||||
protected:
|
||||
|
||||
KIGFX::PCB_VIEW* view() const;
|
||||
|
||||
///> Reassigns layer order to the initial settings.
|
||||
void setDefaultLayerOrder();
|
||||
|
||||
|
|
|
@ -63,6 +63,9 @@ PCB_RENDER_SETTINGS::PCB_RENDER_SETTINGS()
|
|||
m_sketchMode[i] = false;
|
||||
}
|
||||
|
||||
COLORS_DESIGN_SETTINGS dummyCds( FRAME_PCB );
|
||||
ImportLegacyColors( &dummyCds );
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
#include <pcb_view.h>
|
||||
#include <pcb_display_options.h>
|
||||
#include <pcb_painter.h>
|
||||
|
||||
namespace KIGFX
|
||||
{
|
||||
|
||||
PCB_VIEW::PCB_VIEW( bool aIsDynamic ) :
|
||||
VIEW ( aIsDynamic )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
PCB_VIEW::~PCB_VIEW()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void PCB_VIEW::Add( VIEW_ITEM* aItem, int aDrawPriority )
|
||||
{
|
||||
VIEW::Add( aItem, aDrawPriority );
|
||||
}
|
||||
|
||||
void PCB_VIEW::Remove( VIEW_ITEM* aItem )
|
||||
{
|
||||
VIEW::Remove( aItem );
|
||||
}
|
||||
|
||||
void PCB_VIEW::Update( VIEW_ITEM* aItem, int aUpdateFlags )
|
||||
{
|
||||
VIEW::Update( aItem, aUpdateFlags );
|
||||
}
|
||||
|
||||
/// @copydoc VIEW::Update()
|
||||
void PCB_VIEW::Update( VIEW_ITEM* aItem )
|
||||
{
|
||||
VIEW::Update( aItem );
|
||||
}
|
||||
|
||||
void PCB_VIEW::UpdateDisplayOptions( PCB_DISPLAY_OPTIONS* aOptions )
|
||||
{
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*>( GetPainter() );
|
||||
auto settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*>( painter->GetSettings() );
|
||||
settings->LoadDisplayOptions( aOptions );
|
||||
}
|
||||
|
||||
};
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2013-2016 CERN
|
||||
* @author Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
|
||||
*
|
||||
* 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 __PCB_VIEW_H
|
||||
#define __PCB_VIEW_H
|
||||
|
||||
#include <layers_id_colors_and_visibility.h>
|
||||
#include <view/view.h>
|
||||
|
||||
class PCB_DISPLAY_OPTIONS;
|
||||
|
||||
namespace KIGFX {
|
||||
|
||||
class PCB_VIEW : public VIEW
|
||||
{
|
||||
public:
|
||||
PCB_VIEW( bool aIsDynamic = true );
|
||||
virtual ~PCB_VIEW();
|
||||
|
||||
/// @copydoc VIEW::Add()
|
||||
virtual void Add( VIEW_ITEM* aItem, int aDrawPriority = -1 ) override;
|
||||
/// @copydoc VIEW::Remove()
|
||||
|
||||
virtual void Remove( VIEW_ITEM* aItem ) override;
|
||||
|
||||
/// @copydoc VIEW::Update()
|
||||
virtual void Update( VIEW_ITEM* aItem, int aUpdateFlags ) override;
|
||||
|
||||
/// @copydoc VIEW::Update()
|
||||
virtual void Update( VIEW_ITEM* aItem ) override;
|
||||
|
||||
void UpdateDisplayOptions( PCB_DISPLAY_OPTIONS* aOptions );
|
||||
private:
|
||||
|
||||
PCB_LAYER_ID m_activeLayer;
|
||||
PCB_LAYER_ID m_routeLayerTop;
|
||||
PCB_LAYER_ID m_routeLayerBottom;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
|
@ -30,6 +30,7 @@
|
|||
#include <board_commit.h>
|
||||
|
||||
#include <class_module.h>
|
||||
#include <pcb_draw_panel_gal.h>
|
||||
|
||||
#include "selection_tool.h"
|
||||
#include "pcb_actions.h"
|
||||
|
@ -193,3 +194,13 @@ void PCB_TOOL::doInteractiveItemPlacement( INTERACTIVE_PLACER_BASE* aPlacer,
|
|||
|
||||
view()->Remove( &preview );
|
||||
}
|
||||
|
||||
PCB_DISPLAY_OPTIONS* PCB_TOOL::displayOptions() const
|
||||
{
|
||||
return static_cast<PCB_DISPLAY_OPTIONS*>( frame()->GetDisplayOptions() );
|
||||
}
|
||||
|
||||
PCB_DRAW_PANEL_GAL* PCB_TOOL::canvas() const
|
||||
{
|
||||
return static_cast<PCB_DRAW_PANEL_GAL*>( frame()->GetGalCanvas() );
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <wxPcbStruct.h>
|
||||
#include <class_board.h>
|
||||
#include <view/view_group.h>
|
||||
#include <pcb_view.h>
|
||||
|
||||
#include <functional>
|
||||
|
||||
|
@ -44,6 +45,8 @@
|
|||
|
||||
class PCB_TOOL;
|
||||
class PCB_EDIT_FRAME;
|
||||
class PCB_DISPLAY_OPTIONS;
|
||||
class PCB_DRAW_PANEL_GAL;
|
||||
|
||||
struct INTERACTIVE_PLACER_BASE
|
||||
{
|
||||
|
@ -120,11 +123,13 @@ protected:
|
|||
const wxString& aCommitMessage,
|
||||
int aOptions = IPO_ROTATE | IPO_FLIP | IPO_REPEAT );
|
||||
|
||||
KIGFX::VIEW* view() const { return getView(); }
|
||||
KIGFX::PCB_VIEW* view() const { return static_cast<KIGFX::PCB_VIEW*>( getView() ); }
|
||||
KIGFX::VIEW_CONTROLS* controls() const { return getViewControls(); }
|
||||
PCB_EDIT_FRAME* frame() const { return getEditFrame<PCB_EDIT_FRAME>(); }
|
||||
BOARD* board() const { return getModel<BOARD>(); }
|
||||
MODULE* module() const { return board()->m_Modules; }
|
||||
PCB_DISPLAY_OPTIONS* displayOptions() const;
|
||||
PCB_DRAW_PANEL_GAL* canvas() const;
|
||||
|
||||
bool m_editModules;
|
||||
};
|
||||
|
|
|
@ -256,16 +256,17 @@ void PCBNEW_CONTROL::Reset( RESET_REASON aReason )
|
|||
}
|
||||
}
|
||||
|
||||
template<class T> void Flip( T& aValue )
|
||||
{
|
||||
aValue = !aValue;
|
||||
}
|
||||
|
||||
int PCBNEW_CONTROL::TrackDisplayMode( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*>( getView()->GetPainter() );
|
||||
auto settings = painter->GetSettings();
|
||||
auto opts = displayOptions();
|
||||
|
||||
// Apply new display options to the GAL canvas
|
||||
PCB_DISPLAY_OPTIONS* displ_opts = (PCB_DISPLAY_OPTIONS*)m_frame->GetDisplayOptions();
|
||||
displ_opts->m_DisplayPcbTrackFill = !displ_opts->m_DisplayPcbTrackFill;
|
||||
settings->LoadDisplayOptions( displ_opts );
|
||||
Flip( opts->m_DisplayPcbTrackFill );
|
||||
view()->UpdateDisplayOptions( opts );
|
||||
|
||||
for( auto track : board()->Tracks() )
|
||||
{
|
||||
|
@ -273,30 +274,25 @@ int PCBNEW_CONTROL::TrackDisplayMode( const TOOL_EVENT& aEvent )
|
|||
view()->Update( track, KIGFX::GEOMETRY );
|
||||
}
|
||||
|
||||
m_frame->GetGalCanvas()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int PCBNEW_CONTROL::PadDisplayMode( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*>( getView()->GetPainter() );
|
||||
auto settings = painter->GetSettings();
|
||||
auto opts = displayOptions();
|
||||
|
||||
PCB_DISPLAY_OPTIONS* displ_opts = (PCB_DISPLAY_OPTIONS*)m_frame->GetDisplayOptions();
|
||||
Flip( opts->m_DisplayPadFill );
|
||||
view()->UpdateDisplayOptions( opts );
|
||||
|
||||
// Apply new display options to the GAL canvas
|
||||
displ_opts->m_DisplayPadFill = !displ_opts->m_DisplayPadFill;
|
||||
settings->LoadDisplayOptions( displ_opts );
|
||||
|
||||
for( auto module : board()->Modules() )
|
||||
for( auto module : board()->Modules() ) // fixme: move to PCB_VIEW
|
||||
{
|
||||
for( auto pad : module->Pads() )
|
||||
getView()->Update( pad, KIGFX::GEOMETRY );
|
||||
view()->Update( pad, KIGFX::GEOMETRY );
|
||||
}
|
||||
|
||||
m_frame->GetGalCanvas()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -304,21 +300,18 @@ int PCBNEW_CONTROL::PadDisplayMode( const TOOL_EVENT& aEvent )
|
|||
|
||||
int PCBNEW_CONTROL::ViaDisplayMode( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*>( getView()->GetPainter() );
|
||||
auto settings = painter->GetSettings();
|
||||
PCB_DISPLAY_OPTIONS* displ_opts = (PCB_DISPLAY_OPTIONS*)m_frame->GetDisplayOptions();
|
||||
auto opts = displayOptions();
|
||||
|
||||
// Apply new display options to the GAL canvas
|
||||
displ_opts->m_DisplayViaFill = !displ_opts->m_DisplayViaFill;
|
||||
settings->LoadDisplayOptions( displ_opts );
|
||||
Flip( opts->m_DisplayViaFill );
|
||||
view()->UpdateDisplayOptions( opts );
|
||||
|
||||
for( auto track : board()->Tracks() )
|
||||
{
|
||||
if( track->Type() == PCB_TRACE_T || track->Type() == PCB_VIA_T )
|
||||
getView()->Update( track, KIGFX::GEOMETRY );
|
||||
view()->Update( track, KIGFX::GEOMETRY );
|
||||
}
|
||||
|
||||
m_frame->GetGalCanvas()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -326,26 +319,24 @@ int PCBNEW_CONTROL::ViaDisplayMode( const TOOL_EVENT& aEvent )
|
|||
|
||||
int PCBNEW_CONTROL::ZoneDisplayMode( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*>( getView()->GetPainter() );
|
||||
auto settings = painter->GetSettings();
|
||||
PCB_DISPLAY_OPTIONS* displ_opts = (PCB_DISPLAY_OPTIONS*)m_frame->GetDisplayOptions();
|
||||
auto opts = displayOptions();
|
||||
|
||||
// Apply new display options to the GAL canvas
|
||||
if( aEvent.IsAction( &PCB_ACTIONS::zoneDisplayEnable ) )
|
||||
displ_opts->m_DisplayZonesMode = 0;
|
||||
opts->m_DisplayZonesMode = 0;
|
||||
else if( aEvent.IsAction( &PCB_ACTIONS::zoneDisplayDisable ) )
|
||||
displ_opts->m_DisplayZonesMode = 1;
|
||||
opts->m_DisplayZonesMode = 1;
|
||||
else if( aEvent.IsAction( &PCB_ACTIONS::zoneDisplayOutlines ) )
|
||||
displ_opts->m_DisplayZonesMode = 2;
|
||||
opts->m_DisplayZonesMode = 2;
|
||||
else
|
||||
assert( false );
|
||||
|
||||
settings->LoadDisplayOptions( displ_opts );
|
||||
view()->UpdateDisplayOptions( opts );
|
||||
|
||||
for( int i = 0; i < board()->GetAreaCount(); ++i )
|
||||
view()->Update( board()->GetArea( i ), KIGFX::GEOMETRY );
|
||||
|
||||
m_frame->GetGalCanvas()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -353,13 +344,11 @@ int PCBNEW_CONTROL::ZoneDisplayMode( const TOOL_EVENT& aEvent )
|
|||
|
||||
int PCBNEW_CONTROL::HighContrastMode( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
auto painter = static_cast<KIGFX::PCB_PAINTER*>( getView()->GetPainter() );
|
||||
auto settings = painter->GetSettings();
|
||||
PCB_DISPLAY_OPTIONS* displ_opts = (PCB_DISPLAY_OPTIONS*)m_frame->GetDisplayOptions();
|
||||
auto opts = displayOptions();
|
||||
|
||||
displ_opts->m_ContrastModeDisplay = !displ_opts->m_ContrastModeDisplay;
|
||||
settings->LoadDisplayOptions( displ_opts );
|
||||
m_frame->GetGalCanvas()->SetHighContrastLayer( m_frame->GetActiveLayer() );
|
||||
Flip( opts->m_ContrastModeDisplay );
|
||||
view()->UpdateDisplayOptions( opts );
|
||||
canvas()->SetHighContrastLayer( m_frame->GetActiveLayer() );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue