21#ifndef DIALOG_SYNC_SHEET_PINS_H
22#define DIALOG_SYNC_SHEET_PINS_H
30#include <unordered_map>
49 std::shared_ptr<SHEET_SYNCHRONIZATION_AGENT> aAgent,
54 void OnClose( wxCloseEvent& aEvent );
67 std::set<EDA_ITEM*>
const& aPlacementTemplateSet );
94 std::shared_ptr<SHEET_SYNCHRONIZATION_AGENT>
m_agent;
98 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)
DIALOG_SYNC_SHEET_PINS(wxWindow *aParent, std::list< SCH_SHEET_PATH > aSheetPath, std::shared_ptr< SHEET_SYNCHRONIZATION_AGENT > aAgent, SCH_SHEET *aInitialSheet=nullptr)
SCH_HIERLABEL * GetPlacementTemplate() const
Get the Placement Template SHEET_PIN / HIERLABEL used for place a new DIALOG_SYNC_SHEET_PINS::HIERLAB...
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 DIALOG_SYNC_SHEET_PINS::HIERLABEL/DIALOG_SYNC_SHEET_PINS::SHEET_PIN ,...
std::shared_ptr< SHEET_SYNCHRONIZATION_AGENT > m_agent
It's the agent that performs modification and placement.
EDA_ITEM * m_currentTemplate
void OnClose(wxCloseEvent &aEvent)
void PreparePlacementTemplate(SCH_SHEET *aSheet, PlaceItemKind aKind, std::set< EDA_ITEM * > const &aPlacementTemplateSet)
Either the selected DIALOG_SYNC_SHEET_PINS::HIERLABEL or DIALOG_SYNC_SHEET_PINS::SHEET_PIN will be us...
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.