25#ifndef DIALOG_SYNC_SHEET_PINS_H 
   26#define DIALOG_SYNC_SHEET_PINS_H 
   33#include <unordered_map> 
   52                            std::shared_ptr<SHEET_SYNCHRONIZATION_AGENT> aAgent );
 
   56    void OnClose( wxCloseEvent& aEvent );
 
   67                                   std::set<EDA_ITEM*> 
const& aPlacementTemplateSet );
 
   92    std::shared_ptr<SHEET_SYNCHRONIZATION_AGENT>           
m_agent;
 
   96    std::unordered_map<SCH_SHEET*, PANEL_SYNC_SHEET_PINS*> 
m_panels;
 
 
DIALOG_SYNC_SHEET_PINS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Synchronize sheet pins and hierarchical labels"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
 
SCH_HIERLABEL * GetPlacementTemplate() const
Get the Placement Template SHEET_PIN / HIERLABEL used for place a new HIERLABEL/SHEET_PIN.
 
PlaceItemKind m_placeItemKind
 
std::set< EDA_ITEM * > m_placementTemplateSet
 
SCH_SHEET * m_lastEditSheet
 
std::unordered_map< SCH_SHEET *, PANEL_SYNC_SHEET_PINS * > m_panels
The same sheet may have multiple instances.
 
void EndPlaceItem(EDA_ITEM *aNewItem)
End place a new HIERLABEL/SHEET_PIN , and add the new item to the corresponding table.
 
std::shared_ptr< SHEET_SYNCHRONIZATION_AGENT > m_agent
It's the agent that performs modification and placement.
 
EDA_ITEM * m_currentTemplate
 
DIALOG_SYNC_SHEET_PINS(wxWindow *aParent, std::list< SCH_SHEET_PATH > aSheetPath, std::shared_ptr< SHEET_SYNCHRONIZATION_AGENT > aAgent)
 
void OnClose(wxCloseEvent &aEvent)
 
void PreparePlacementTemplate(SCH_SHEET *aSheet, PlaceItemKind aKind, std::set< EDA_ITEM * > const &aPlacementTemplateSet)
Either the selected HIERLABEL or SHEET_PIN will be used as templates for placing the new ones.
 
bool CanPlaceMore() const
Check if there are more items to be placed.
 
~DIALOG_SYNC_SHEET_PINS() override
 
A base class for most all the KiCad significant classes used in schematics and boards.
 
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
 
Agent for all the modifications while syncing the sheet pin and hierarchical label.
 
Definition of the SCH_SHEET_PATH and SCH_SHEET_LIST classes for Eeschema.