53using namespace std::placeholders;
 
   79        footprint->
SetValue( wxT( 
"Val**" ) );
 
   91    if( is_last_fp_from_brd )
 
   97    m_treePane->GetLibTree()->ExpandLibId( aFPID );
 
 
  118        wxASSERT( aFootprint );
 
 
 
  134    wxCHECK( aFootprint,  );
 
  138    if( aTreeItem.IsOk() )   
 
 
  158    wxDataViewItem treeItem = 
m_adapter->FindItem( oldFPID );
 
 
  169    switch( aItem->
Type() )
 
  225        ZONE*         zone = 
static_cast<ZONE*
>( aItem );
 
  226        bool          success = 
false;
 
  229        zoneSettings << *static_cast<ZONE*>( aItem );
 
  248            commit.
Push( 
_( 
"Edit Zone" ) );
 
  268        wxFAIL_MSG( wxT( 
"FOOTPRINT_EDIT_FRAME::OnEditItemRequest: unsupported item type " )
 
 
  285    if( oldLayer == aLayer )
 
  294    const auto getClearanceLayerForActive = []( 
PCB_LAYER_ID aActiveLayer ) -> std::optional<int>
 
  302    if( std::optional<int> oldClearanceLayer = getClearanceLayerForActive( oldLayer ) )
 
  305    if( std::optional<int> newClearanceLayer = getClearanceLayerForActive( aLayer ) )
 
 
  325    if( 
GetBoard()->GetFirstFootprint() )
 
 
  338    const std::string& payload = mail.
GetPayload();
 
  343        if( !payload.empty() )
 
  345            wxFileName fpFileName( payload );
 
  346            wxString   libNickname;
 
  354                msg.Printf( 
_( 
"The current configuration does not include the footprint library '%s'." ),
 
  355                            fpFileName.GetPath() );
 
  356                msg += wxS( 
"\n" ) + 
_( 
"Use Manage Footprint Libraries to edit the configuration." );
 
  364            if( !libTable->
HasLibrary( libNickname, 
true ) )
 
  366                msg.Printf( 
_( 
"The footprint library '%s' is not enabled in the current configuration." ),
 
  368                msg += wxS( 
"\n" ) + 
_( 
"Use Manage Footprint Libraries to edit the configuration." );
 
  373            LIB_ID  fpId( libNickname, fpFileName.GetName() );
 
  377                m_treePane->GetLibTree()->SelectLibId( fpId );
 
  378                wxCommandEvent event( EVT_LIBITEM_CHOSEN );
 
 
static TOOL_ACTION groupProperties
 
void SetContentModified(bool aModified=true)
 
virtual void Push(const wxString &aMessage=wxEmptyString, int aCommitFlags=0) override
Execute the changes.
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
FOOTPRINT * GetFirstFootprint() const
Get the first footprint on the board or nullptr.
 
COLOR4D GetColor(int aLayer) const
 
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Modify a given item in the model.
 
void ReCreateMenuBar()
Recreate the menu bar.
 
virtual void ReCreateHToolbar()
 
virtual void Zoom_Automatique(bool aWarpPointer)
Redraw the screen with best zoom level and the best centering that shows all the page or the board.
 
KIGFX::VIEW_CONTROLS * GetViewControls() const
Return a pointer to the #VIEW_CONTROLS instance used in the panel.
 
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=nullptr) override
 
A set of EDA_ITEMs (i.e., without duplicates).
 
KICAD_T Type() const
Returns the type of object.
 
void ClearFlags(EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS)
 
virtual const wxString & GetText() const
Return the string associated with the text object.
 
A color representation with 4 components: red, green, blue, alpha.
 
virtual void SetCrossHairCursorPosition(const VECTOR2D &aPosition, bool aWarpView=true)=0
Move the graphic crosshair cursor to the requested position expressed in world coordinates.
 
virtual wxString GetClass() const =0
Return the class name.
 
void SetLayerVisible(int aLayer, bool aVisible=true)
Control the visibility of a particular layer.
 
Carry a payload from one KIWAY_PLAYER to another within a PROJECT.
 
std::string & GetPayload()
Return the payload, which can be any text but it typically self identifying s-expression.
 
MAIL_T Command()
Returns the MAIL_T associated with this mail.
 
A logical library item identifier and consists of various portions much like a URI.
 
const UTF8 & GetLibItemName() const
 
const UTF8 & GetLibNickname() const
Return the logical library name portion of a LIB_ID.
 
Hold a record identifying a library accessed by the appropriate plug in object in the LIB_TABLE.
 
const wxString & GetNickName() const
 
bool HasLibrary(const wxString &aNickname, bool aCheckEnabled=false) const
Test for the existence of aNickname in the library table.
 
const LIB_TABLE_ROW * FindRowByURI(const wxString &aURI)
 
void Update(LIB_TREE_ITEM *aItem)
Update the node using data from a LIB_ALIAS object.
 
static TOOL_ACTION layerChanged
 
void ShowTextPropertiesDialog(PCB_TEXT *aText)
 
int ShowTextBoxPropertiesDialog(PCB_TEXTBOX *aTextBox)
 
APPEARANCE_CONTROLS * m_appearancePanel
 
void ShowReferenceImagePropertiesDialog(BOARD_ITEM *aBitmap)
 
void ShowBarcodePropertiesDialog(PCB_BARCODE *aText)
 
void ShowGraphicItemPropertiesDialog(PCB_SHAPE *aShape)
 
void ShowPadPropertiesDialog(PAD *aPad)
 
virtual PCB_LAYER_ID GetActiveLayer() const
 
FOOTPRINT * LoadFootprint(const LIB_ID &aFootprintId)
Attempt to load aFootprintId from the footprint library table.
 
PCB_DRAW_PANEL_GAL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
 
PCB_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
 
virtual void SetActiveLayer(PCB_LAYER_ID aLayer)
 
virtual void Update3DView(bool aMarkDirty, bool aRefresh, const wxString *aTitle=nullptr)
Update the 3D view, if the viewer is opened by this frame.
 
virtual KIGFX::PCB_VIEW * GetView() const override
Return a pointer to the #VIEW instance used in the panel.
 
virtual void SetHighContrastLayer(int aLayer) override
SetHighContrastLayer(), with some extra smarts for PCB.
 
A set of BOARD_ITEMs (i.e., without duplicates).
 
static FP_LIB_TABLE * PcbFootprintLibs(PROJECT *aProject)
Return the table of footprint libraries without Kiway.
 
ZONE_SETTINGS handles zones parameters.
 
void ExportSetting(ZONE &aTarget, bool aFullExport=true) const
Function ExportSetting copy settings to a given zone.
 
Handle a list of polygons defining a copper zone.
 
bool GetIsRuleArea() const
Accessors to parameters used in Rule Area zones:
 
bool IsOnCopperLayer() const override
 
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
 
This file is part of the common library.
 
int InvokeCopperZonesEditor(PCB_BASE_FRAME *aCaller, ZONE_SETTINGS *aSettings, CONVERT_SETTINGS *aConvertSettings)
Function InvokeCopperZonesEditor invokes up a modal dialog window for copper zone editing.
 
int InvokeNonCopperZonesEditor(PCB_BASE_FRAME *aParent, ZONE_SETTINGS *aSettings, CONVERT_SETTINGS *aConvertSettings)
Function InvokeNonCopperZonesEditor invokes up a modal dialog window for non-copper zone editing.
 
int InvokeRuleAreaEditor(PCB_BASE_FRAME *aCaller, ZONE_SETTINGS *aZoneSettings, BOARD *aBoard, CONVERT_SETTINGS *aConvertSettings)
Function InvokeRuleAreaEditor invokes up a modal dialog window for copper zone editing.
 
bool IsCopperLayer(int aLayerId)
Test whether a layer is a copper layer.
 
#define CLEARANCE_LAYER_FOR(boardLayer)
 
PCB_LAYER_ID
A quick note on layer IDs:
 
BARCODE class definition.
 
Class to handle a set of BOARD_ITEMs.
 
@ PCB_SHAPE_T
class PCB_SHAPE, a segment not on copper layers
 
@ PCB_DIM_ORTHOGONAL_T
class PCB_DIM_ORTHOGONAL, a linear dimension constrained to x/y
 
@ PCB_DIM_LEADER_T
class PCB_DIM_LEADER, a leader dimension (graphic item)
 
@ PCB_DIM_CENTER_T
class PCB_DIM_CENTER, a center point marking (graphic item)
 
@ PCB_GROUP_T
class PCB_GROUP, a set of BOARD_ITEMs
 
@ PCB_TEXTBOX_T
class PCB_TEXTBOX, wrapped text on a layer
 
@ PCB_ZONE_T
class ZONE, a copper pour area
 
@ PCB_TEXT_T
class PCB_TEXT, text on a layer
 
@ PCB_REFERENCE_IMAGE_T
class PCB_REFERENCE_IMAGE, bitmap on a layer
 
@ PCB_FIELD_T
class PCB_FIELD, text associated with a footprint property
 
@ PCB_MARKER_T
class PCB_MARKER, a marker used to show something
 
@ PCB_BARCODE_T
class PCB_BARCODE, a barcode (graphic item)
 
@ PCB_FOOTPRINT_T
class FOOTPRINT, a footprint
 
@ PCB_DIM_ALIGNED_T
class PCB_DIM_ALIGNED, a linear dimension (graphic item)
 
@ PCB_PAD_T
class PAD, a pad in a footprint
 
@ PCB_TABLE_T
class PCB_TABLE, table of PCB_TABLECELLs
 
@ PCB_POINT_T
class PCB_POINT, a 0-dimensional point
 
@ PCB_DIM_RADIAL_T
class PCB_DIM_RADIAL, a radius or diameter dimension
 
VECTOR2< double > VECTOR2D