61 #include <wx/hyperlink.h> 63 using namespace std::placeholders;
68 bool aKicadFilesOnly =
false );
75 m_pickerItem( nullptr )
88 m_frame = getEditFrame<PCB_BASE_FRAME>();
105 static_cast<PCB_BASE_EDIT_FRAME*>(
m_frame )->CreateNewLibrary();
107 static_cast<PCB_BASE_EDIT_FRAME*>(
m_frame )->AddLibrary();
121 template<
class T>
void Flip( T& aValue )
155 getEditFrame<PCB_EDIT_FRAME>()->SetElementVisibility(
LAYER_RATSNEST,
198 if(
Pgm().GetCommonSettings()->m_DoNotShowAgain.zone_fill_warning )
201 bool unfilledZones =
false;
203 for(
const ZONE* zone :
board()->Zones() )
205 if( !zone->GetIsRuleArea() && !zone->IsFilled() )
207 unfilledZones =
true;
215 wxHyperlinkCtrl* button =
new wxHyperlinkCtrl( infobar, wxID_ANY,
_(
"Don't show again" ),
218 button->Bind( wxEVT_COMMAND_HYPERLINK, std::function<
void( wxHyperlinkEvent& aEvent )>(
219 [&]( wxHyperlinkEvent& aEvent )
221 Pgm().GetCommonSettings()->m_DoNotShowAgain.zone_fill_warning =
true;
229 msg.Printf(
_(
"Not all zones are filled. Use Edit > Fill All Zones (%s) " 230 "if you wish to see all fills." ),
371 if( layer < F_Cu || layer >
B_Cu )
374 while( startLayer != ++layer )
397 if( layer < F_Cu || layer >
B_Cu )
400 while( startLayer != --layer )
436 #define ALPHA_MIN 0.20 437 #define ALPHA_MAX 1.00 438 #define ALPHA_STEP 0.05 450 settings->
SetColor( currentLayer, currentColor );
460 static_cast<PCB_BASE_EDIT_FRAME*>(
m_frame )->OnLayerAlphaChanged();
480 settings->
SetColor( currentLayer, currentColor );
490 static_cast<PCB_BASE_EDIT_FRAME*>(
m_frame )->OnLayerAlphaChanged();
537 [
this](
const VECTOR2D& pt ) ->
bool 559 #define HITTEST_THRESHOLD_PIXELS 5 579 [
this](
const VECTOR2D& aPosition ) ->
bool 588 m_statusPopup->Move( wxGetMousePosition() + wxPoint( 20, 20 ) );
613 (wxPoint) aPos, guide );
616 (wxPoint) aPos, guide );
619 for(
int i = collector.
GetCount() - 1; i >= 0; --i )
621 if( !selectionTool->
Selectable( collector[ i ] ) )
644 [
this](
const int& aFinalState )
663 std::vector<BOARD_ITEM*>& aPastedItems )
671 pad->SetParent( editorFootprint );
672 aPastedItems.push_back(
pad );
675 aClipFootprint->
Pads().clear();
685 FP_SHAPE* shape = static_cast<FP_SHAPE*>( item );
699 text->SetParent(
nullptr );
700 text->SetLocalCoord();
703 item->SetParent( editorFootprint );
704 aPastedItems.push_back( item );
711 zone->SetParent( editorFootprint );
712 aPastedItems.push_back( zone );
715 aClipFootprint->
Zones().clear();
719 group->SetParent( editorFootprint );
720 aPastedItems.push_back(
group );
723 aClipFootprint->
Groups().clear();
740 const wxString defaultRef = wxT(
"REF**" );
746 if( dlg.ShowModal() == wxID_CANCEL )
754 if( isFootprintEditor )
771 switch( clipItem->
Type() )
775 BOARD* clipBoard = static_cast<BOARD*>( clipItem );
777 if( isFootprintEditor )
780 std::vector<BOARD_ITEM*> pastedItems;
789 PCB_SHAPE* clipShape = static_cast<PCB_SHAPE*>( clipDrawItem );
793 static_cast<PCB_SHAPE*>( pastedShape )->SwapData( clipShape );
797 pastedShape->
SetParent( editorFootprint );
798 pastedItems.push_back( pastedShape );
802 PCB_TEXT* clipTextItem = static_cast<PCB_TEXT*>( clipDrawItem );
806 static_cast<EDA_TEXT*>( pastedTextItem )->SwapText( *clipTextItem );
807 static_cast<EDA_TEXT*>( pastedTextItem )->SwapEffects( *clipTextItem );
809 pastedTextItem->
SetParent( editorFootprint );
810 pastedItems.push_back( pastedTextItem );
827 clipFootprint->SetReference( defaultRef );
841 FOOTPRINT* clipFootprint = static_cast<FOOTPRINT*>( clipItem );
842 std::vector<BOARD_ITEM*> pastedItems;
844 if( isFootprintEditor )
847 delete clipFootprint;
859 pastedItems.push_back( clipFootprint );
901 std::copy_if( aList.begin(), aList.end(), std::back_inserter( aTarget ),
904 bool doCopy = ( aItem->GetFlags() &
SKIP_STRUCT ) == 0;
907 aItem->SetFlags( aIsNew ?
IS_NEW : 0 );
919 if( aList.size() == 0 )
922 auto obj = aList.front();
936 aTarget.push_back( obj );
952 obj = idx < int(aList.size()-1) ? aList[++idx] :
nullptr;
962 bool isNew =
board() != aBoard;
963 std::vector<BOARD_ITEM*> items;
977 return placeBoardItems( items, isNew, aAnchorAtOrigin, aReannotateDuplicates );
982 bool aAnchorAtOrigin,
bool aReannotateDuplicates )
989 std::vector<BOARD_ITEM*> itemsToSel;
990 itemsToSel.reserve( aItems.size() );
996 const_cast<KIID&>( item->m_Uuid ) =
KIID();
1003 switch( item->Type() )
1023 static_cast<FOOTPRINT*>( item )->SetPath(
KIID_PATH() );
1034 if( !item->GetParentGroup() || !
alg::contains( aItems, item->GetParentGroup() ) )
1035 itemsToSel.push_back( item );
1049 editTool->GetCurrentCommit()->Add( item );
1051 editTool->GetCurrentCommit()->Added( item );
1058 if( aAnchorAtOrigin )
1107 std::map<wxString, wxString> oldProperties = brd->
GetProperties();
1108 std::map<wxString, wxString> newProperties;
1125 props[
"page_width"] = xbuf;
1126 props[
"page_height"] = ybuf;
1131 pi.
Load( fileName, brd, &props,
nullptr, &progressReporter );
1143 for(
const std::pair<const wxString, wxString>& prop : oldProperties )
1144 newProperties[ prop.first ] = prop.second;
1157 if( copperLayerCount > initialCopperLayerCount )
1162 enabledLayers |= initialEnabledLayers;
1173 wxCommandEvent
dummy;
1185 wxCommandEvent
dummy;
1200 if( routerTool && routerTool->RoutingInProgress() )
1202 routerTool->UpdateMessagePanel();
1209 std::vector<MSG_PANEL_ITEM> msgItems;
1216 std::vector<MSG_PANEL_ITEM> msgItems;
1219 msgItems.emplace_back(
MSG_PANEL_ITEM(
_(
"Selected Items" ), msg ) );
1222 else if(
auto editFrame = dynamic_cast<FOOTPRINT_EDIT_FRAME*>(
m_frame ) )
1229 std::vector<MSG_PANEL_ITEM> msgItems;
1236 msgItems.emplace_back(
MSG_PANEL_ITEM(
_(
"Footprint Name" ), msg ) );
1241 wxString doc, keyword;
static TOOL_ACTION selectItems
Select a list of items (specified as the event parameter)
static TOOL_ACTION selectionClear
Clear the current selection.
std::vector< ZONE * > ZONES
PCB_GROUP * GetParentGroup() const
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
static TOOL_ACTION layerBottom
static TOOL_ACTION layerInner26
int ZoneDisplayMode(const TOOL_EVENT &aEvent)
void RestoreCopyFromUndoList(wxCommandEvent &aEvent)
Undo the last edit:
bool AddItem(BOARD_ITEM *aItem)
Add item to group.
void SetUnits(EDA_UNITS aUnits)
static const KICAD_T FootprintItems[]
A scan list for primary footprint items.
static const KICAD_T BoardLevelItems[]
A scan list for all primary board items, omitting items which are subordinate to a FOOTPRINT,...
int GridSetOrigin(const TOOL_EVENT &aEvent)
static const TOOL_EVENT SelectedEvent
const UTF8 & GetLibItemName() const
void AddButton(wxButton *aButton)
Add an already created button to the infobar.
static TOOL_ACTION move
move or drag an item
class PCB_DIM_ALIGNED, a linear dimension (graphic item)
void ForceRefresh()
Force a redraw.
static TOOL_ACTION layerNext
virtual BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Returns the BOARD_DESIGN_SETTINGS for the open project.
class PCB_DIM_LEADER, a leader dimension (graphic item)
static TOOL_ACTION layerInner2
void SetCurrentCursor(KICURSOR aCursor)
Set the current cursor shape for this panel.
class FP_TEXT, text in a footprint
void SetElementVisibility(GAL_LAYER_ID aLayer, bool aNewState)
Change the visibility of an element category.
BOARD_ITEM * m_pickerItem
int NetColorModeCycle(const TOOL_EVENT &aEvent)
static NETINFO_ITEM * OrphanedItem()
Wrapper class, so you can iterate through NETINFO_ITEM*s, not std::pair<int/wxString,...
int LayerAlphaDec(const TOOL_EVENT &aEvent)
Ratsnest lines are drawn to items on visible layers only.
static TOOL_ACTION layerInner5
int GetUserUnits()
Return the currently selected user unit value for the interface.
int Redo(const TOOL_EVENT &aEvent)
int LayerNext(const TOOL_EVENT &aEvent)
static const TOOL_EVENT UnselectedEvent
#define IS_NEW
New item, just created.
void Compile_Ratsnest(bool aDisplayStatus)
Create the entire board ratsnest.
virtual void OnDisplayOptionsChanged()
This file is part of the common library.
static TOOL_ACTION doDelete
PCB_BASE_FRAME * m_frame
Grid origin marker.
virtual void SetPosition(const wxPoint &aPos)
static TOOL_ACTION layerInner6
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
static TOOL_ACTION zoneFillAll
static TOOL_ACTION layerInner7
static TOOL_ACTION layerInner8
void SetProperties(const std::map< wxString, wxString > &aProps)
virtual BOARD * Load(const wxString &aFileName, BOARD *aAppendToMe, const PROPERTIES *aProperties=nullptr, PROJECT *aProject=nullptr, PROGRESS_REPORTER *aProgressReporter=nullptr)
Load information from some input file format that this PLUGIN implementation knows about into either ...
static TOOL_ACTION layerInner21
GROUPS & Groups()
The groups must maintain the following invariants.
static TOOL_ACTION ratsnestLineMode
A set of BOARD_ITEMs (i.e., without duplicates).
static TOOL_ACTION layerAlphaDec
void Collect(BOARD_ITEM *aItem, const KICAD_T aScanList[], const wxPoint &aRefPos, const COLLECTORS_GUIDE &aGuide)
Scan a BOARD_ITEM using this class's Inspector method, which does the collection.
static TOOL_ACTION gridResetOrigin
int LayerAlphaInc(const TOOL_EVENT &aEvent)
class PCB_DIM_CENTER, a center point marking (graphic item)
PCB_DRAW_PANEL_GAL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
void RecacheAllItems()
Rebuild GAL display lists.
static TOOL_ACTION layerAlphaInc
int placeBoardItems(std::vector< BOARD_ITEM * > &aItems, bool aIsNew, bool aAnchorAtOrigin, bool aReannotateDuplicates)
Add and select or just select for move/place command a list of board items.
virtual void Remove(VIEW_ITEM *aItem)
Remove a VIEW_ITEM from the view.
Net/netclass colors are shown on all net copper.
Net/netclass colors are shown on ratsnest lines only.
void SetFlags(EDA_ITEM_FLAGS aMask)
void SetCopperLayerCount(int aCount)
class PCB_TEXT, text on a layer
class PCB_ARC, an arc track segment on a copper layer
int LAYER_NUM
This can be replaced with int and removed.
void SetColor(int aLayer, const COLOR4D &aColor)
GAL * GetGAL() const
Return the #GAL this view is using to draw graphical primitives.
int RatsnestModeCycle(const TOOL_EVENT &aEvent)
virtual void SetCursorPosition(const VECTOR2D &aPosition, bool aWarpView=true, bool aTriggeredByArrows=false, long aArrowCommand=0)=0
Move cursor to the requested position expressed in world coordinates.
class FP_SHAPE, a footprint edge
void Reset(RESET_REASON aReason) override
Bring the tool to a known, initial state.
LSET GetEnabledLayers() const
A proxy function that calls the corresponding function in m_BoardSettings.
void ShowMessageFor(const wxString &aMessage, int aTime, int aFlags=wxICON_INFORMATION, MESSAGE_TYPE aType=WX_INFOBAR::MESSAGE_TYPE::GENERIC)
Show the infobar with the provided message and icon for a specific period of time.
#define ZONE_LAYER_FOR(copperLayer)
Macro for getting the zone layer for a given copper layer.
virtual wxPoint GetPosition() const
void SetMirror(bool aMirrorX, bool aMirrorY)
Control the mirroring of the VIEW.
static TOOL_ACTION zoneDisplayFilled
void SetGridOrigin(const VECTOR2D &aGridOrigin)
Set the origin point for the grid.
A name/value tuple with unique names and optional values.
virtual bool IsLocked() const
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
static TOOL_ACTION layerInner3
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
static TOOL_ACTION layerInner24
static TOOL_ACTION layerInner11
void Remove(int aIndex)
Remove the item at aIndex (first position is 0).
static const TOOL_EVENT SelectedItemsModified
Selected items were moved, this can be very high frequency on the canvas, use with care.
void RedrawRatsnest()
Return the bounding box of the view that should be used if model is not valid.
virtual void SetParent(EDA_ITEM *aParent)
class PCB_TRACK, a track segment (segment on a copper layer)
Ratsnest lines are drawn to items on all layers (default)
static TOOL_ACTION layerTop
DIM_UNITS_MODE GetUnitsMode() const
int GetNetnameLayer(int aLayer)
Returns a netname layer corresponding to the given layer.
static TOOL_ACTION pickerTool
int Undo(const TOOL_EVENT &aEvent)
static LIB_SYMBOL * dummy()
Used to draw a dummy shape when a LIB_SYMBOL is not found in library.
virtual COLOR_SETTINGS * GetColorSettings() const override
Helper to retrieve the current color settings.
Releases a PLUGIN in the context of a potential thrown exception through its destructor.
virtual PCB_LAYER_ID GetActiveLayer() const
#define HITTEST_THRESHOLD_PIXELS
const std::map< wxString, wxString > & GetProperties() const
static TOOL_ACTION layerInner23
void setTransitions() override
< Sets up handlers for various events.
int GetCount() const
Return the number of objects in the list.
void SynchronizeNetsAndNetClasses()
Copy NETCLASS info to each NET, based on NET membership in a NETCLASS.
virtual void SwitchLayer(PCB_LAYER_ID aLayer)
Change the active layer in the frame.
void SetReferencePoint(const VECTOR2I &aP)
RATSNEST_MODE m_RatsnestMode
Ratsnest draw mode (all layers vs only visible layers)
static TOOL_ACTION appendBoard
static TOOL_ACTION zoneDisplayToggle
static TOOL_ACTION zoneDisplayFractured
void SetDisplayOptions(const PCB_DISPLAY_OPTIONS &aOptions, bool aRefresh=true)
Updates the current display options from the given options struct.
Container for display options like enable/disable some optional drawings.
Inactive layers are dimmed (old high-contrast mode)
void Dismiss() override
Dismisses the infobar and updates the containing layout and AUI manager (if one is provided).
virtual void Update(const VIEW_ITEM *aItem, int aUpdateFlags) const override
For dynamic VIEWs, inform the associated VIEW that the graphical representation of this item has chan...
GENERAL_COLLECTORS_GUIDE GetCollectorsGuide()
Item needs to be redrawn.
Multi-thread safe progress reporter dialog, intended for use of tasks that parallel reporting back of...
LSET is a set of PCB_LAYER_IDs.
static TOOL_ACTION layerInner13
static TOOL_ACTION layerPrev
FOOTPRINT * GetFirstFootprint() const
Get the first footprint on the board or nullptr.
VECTOR2< double > VECTOR2D
virtual const wxString What() const
A composite of Problem() and Where()
static void DoSetGridOrigin(KIGFX::VIEW *aView, PCB_BASE_FRAME *aFrame, EDA_ITEM *originViewItem, const VECTOR2D &aPoint)
void SetMsgPanel(const std::vector< MSG_PANEL_ITEM > &aList)
Clear the message panel and populates it with the contents of aList.
void SetVisibleLayers(LSET aLayerMask)
A proxy function that calls the correspondent function in m_BoardSettings changes the bit-mask of vis...
static TOOL_ACTION layerInner25
static TOOL_ACTION layerInner18
virtual void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList)
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
FOOTPRINTS & Footprints()
Inactive layers are shown normally (no high-contrast mode)
static TOOL_ACTION layerInner30
int GridResetOrigin(const TOOL_EVENT &aEvent)
static TOOL_ACTION layerInner29
int DeleteItemCursor(const TOOL_EVENT &aEvent)
static TOOL_ACTION showRatsnest
static TOOL_ACTION addLibrary
PCB_LAYER_ID m_Route_Layer_BOTTOM
const UTF8 & GetLibNickname() const
Return the logical library name portion of a LIB_ID.
HIGH_CONTRAST_MODE m_ContrastModeDisplay
How inactive layers are displayed.
static TOOL_ACTION layerInner10
EDA_ITEM * GetTopLeftItem(bool aFootprintsOnly=false) const override
static const TOOL_EVENT ClearedEvent
Selected item had a property changed (except movement)
NETCLASSES & GetNetClasses() const
Handle a list of polygons defining a copper zone.
static void moveUnflaggedItems(std::deque< T > &aList, std::vector< BOARD_ITEM * > &aTarget, bool aIsNew)
bool m_DisplayPcbTrackFill
static TOOL_ACTION zoneDisplayTriangulated
void unfilledZoneCheck()
We have bug reports indicating that some new users confuse zone filling/unfilling with the display mo...
virtual COLOR4D GetGridColor()
int HighContrastMode(const TOOL_EVENT &aEvent)
class PCB_DIMENSION_BASE: abstract dimension meta-type
static TOOL_ACTION layerInner15
virtual KIGFX::PCB_VIEW * GetView() const override
Return a pointer to the #VIEW instance used in the panel.
static TOOL_ACTION newLibrary
static TOOL_ACTION layerInner28
void RemoveAllButtons()
Remove all the buttons that have been added by the user.
bool contains(const _Container &__container, _Value __value)
Returns true if the container contains the given value.
static TOOL_ACTION layerInner27
bool IsCopperLayer(LAYER_NUM aLayerId)
Tests whether a layer is a copper layer.
void UpdateColors()
Update the color settings in the painter and GAL.
bool m_ShowGlobalRatsnest
static TOOL_ACTION layerInner17
class FOOTPRINT, a footprint
static TOOL_ACTION zoneDisplayOutline
static TOOL_ACTION layerInner20
static TOOL_ACTION pasteSpecial
virtual unsigned int GetSize() const override
Return the number of stored items.
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
static TOOL_ACTION viaDisplayMode
void BuildConnectivity(PROGRESS_REPORTER *aReporter=nullptr)
Build or rebuild the board connectivity database for the board, especially the list of connected item...
void UpdateLayerColor(int aLayer)
Apply the new coloring scheme held by RENDER_SETTINGS in case that it has changed.
int Quit(const TOOL_EVENT &aEvent)
A modified version of the wxInfoBar class that allows us to:
COLOR4D GetColor(int aLayer) const
static TOOL_ACTION layerInner22
virtual void OnModify()
Must be called after a change in order to set the "modify" flag of the current screen and update the ...
int LayerSwitch(const TOOL_EVENT &aEvent)
bool IsLayerVisible(PCB_LAYER_ID aLayer) const
A proxy function that calls the correspondent function in m_BoardSettings tests whether a given layer...
int Print(const TOOL_EVENT &aEvent)
int Paste(const TOOL_EVENT &aEvent)
int AppendBoard(PLUGIN &pi, wxString &fileName)
void Clear()
Destroy any contained NETCLASS instances except the default one, and clears any members from the defa...
static void pasteFootprintItemsToFootprintEditor(FOOTPRINT *aClipFootprint, BOARD *aBoard, std::vector< BOARD_ITEM * > &aPastedItems)
#define SKIP_STRUCT
flag indicating that the structure should be ignored
bool IsType(FRAME_T aType) const
Common, abstract interface for edit frames.
bool AskLoadBoardFileName(PCB_EDIT_FRAME *aParent, int *aCtl, wxString *aFileName, bool aKicadFilesOnly=false)
Show a wxFileDialog asking for a BOARD filename to open.
Information pertinent to a Pcbnew printed circuit board.
int FlipPcbView(const TOOL_EVENT &aEvent)
PCB_LAYER_ID
A quick note on layer IDs:
Net (and netclass) colors are not shown.
static PLUGIN * PluginFind(PCB_FILE_T aFileType)
Return a PLUGIN which the caller can use to import, export, save, or load design documents.
std::unique_ptr< STATUS_TEXT_POPUP > m_statusPopup
Used when the right click button is pressed, or when the select tool is in effect.
void RestoreCopyFromRedoList(wxCommandEvent &aEvent)
Redo the last edit:
A base class that BOARD loading and saving plugins should derive from.
static TOOL_ACTION layerInner14
static TOOL_ACTION layerInner9
int HighContrastModeCycle(const TOOL_EVENT &aEvent)
int GetCopperLayerCount() const
std::unique_ptr< KIGFX::ORIGIN_VIEWITEM > m_gridOrigin
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=nullptr) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
ZONE_DISPLAY_MODE m_ZoneDisplayMode
The main frame for Pcbnew.
int Size() const
Returns the number of selected parts.
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
A base class for most all the KiCad significant classes used in schematics and boards.
void SetGridOrigin(const wxPoint &aOrigin)
PCB_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
virtual void SaveCopyInUndoList(EDA_ITEM *aItemToCopy, UNDO_REDO aTypeCommand)=0
Create a new entry in undo list of commands.
static TOOL_ACTION layerInner16
int AddLibrary(const TOOL_EVENT &aEvent)
const wxSize GetPageSizeIU() const override
Works off of GetPageSettings() to return the size of the paper page in the internal units of this par...
int LayerPrev(const TOOL_EVENT &aEvent)
Color settings are a bit different than most of the settings objects in that there can be more than o...
WX_INFOBAR * GetInfoBar()
static TOOL_ACTION deleteTool
wxString KeyNameFromKeyCode(int aKeycode, bool *aIsFound)
Return the key name from the key code.
static TOOL_ACTION highContrastModeCycle
void SetLocalCoord()
Set relative coordinates from draw coordinates.
static TOOL_ACTION layerInner4
class PCB_DIM_ORTHOGONAL, a linear dimension constrained to x/y
class PCB_VIA, a via (like a track segment on a copper layer)
virtual void Add(VIEW_ITEM *aItem, int aDrawPriority=-1)
Add a VIEW_ITEM to the view.
int ToggleRatsnest(const TOOL_EVENT &aEvent)
Inactive layers are hidden.
static TOOL_ACTION ratsnestModeCycle
static TOOL_ACTION flipBoard
static TOOL_ACTION gridSetOrigin
EDA_MSG_PANEL items for displaying messages.
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
A general implementation of a COLLECTORS_GUIDE.
static TOOL_ACTION layerInner19
int LayerToggle(const TOOL_EVENT &aEvent)
bool m_DisplayRatsnestLinesCurved
PCB_FILE_T
The set of file types that the IO_MGR knows about, and for which there has been a plugin written.
static TOOL_ACTION layerInner1
class PCB_SHAPE, a segment not on copper layers
static TOOL_ACTION highContrastMode
Hold an error message and may be used when throwing exceptions containing meaningful error messages.
PCB_LAYER_ID ToLAYER_ID(int aLayer)
void SetEnabledLayers(LSET aLayerMask)
A proxy function that calls the correspondent function in m_BoardSettings.
A specialization of ZONE for use in footprints.
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
int AppendBoardFromFile(const TOOL_EVENT &aEvent)
static TOOL_ACTION netColorModeCycle
void MarkDirty()
Force redraw of view on the next rendering.
static TOOL_ACTION trackDisplayMode
PCB_LAYER_ID m_Route_Layer_TOP
int TrackDisplayMode(const TOOL_EVENT &aEvent)
int UpdateMessagePanel(const TOOL_EVENT &aEvent)
void DisplayToolMsg(const wxString &msg) override
static TOOL_ACTION layerInner12
NET_COLOR_MODE m_NetColorMode
How to use color overrides on specific nets and netclasses.
KICAD_T Type() const
Returns the type of object.
IO_MGR::PCB_FILE_T plugin_type(const wxString &aFileName, int aCtl)
static TOOL_ACTION layerToggle
A color representation with 4 components: red, green, blue, alpha.
int ViaDisplayMode(const TOOL_EVENT &aEvent)