KiCad PCB EDA Suite
Loading...
Searching...
No Matches
API_HANDLER_PCB Class Reference

#include <api_handler_pcb.h>

Inheritance diagram for API_HANDLER_PCB:
API_HANDLER_BOARD API_HANDLER_EDITOR API_HANDLER

Public Member Functions

 API_HANDLER_PCB (PCB_EDIT_FRAME *aFrame)
 
 API_HANDLER_PCB (std::shared_ptr< PCB_CONTEXT > aContext, PCB_EDIT_FRAME *aFrame=nullptr)
 
API_RESULT Handle (ApiRequest &aMsg)
 Attempt to handle the given API request, if a handler exists in this class for the message.
 
void requestNetSettingsNotification ()
 
bool clearNetSettingsNotification ()
 Returns true if the notification had been requested at the time of the call.
 
void setApiServer (KICAD_API_SERVER *aServer)
 Set by KICAD_API_SERVER::RegisterHandler; null when the handler is not registered.
 
KICAD_API_SERVER * apiServer () const
 

Protected Types

typedef std::function< HANDLER_RESULT< ApiResponse >(ApiRequest &)> REQUEST_HANDLER
 A handler for outer messages (envelopes) that will unpack to inner messages and call a specific handler function.
 

Protected Member Functions

kiapi::common::types::DocumentType thisDocumentType () const override
 Override this to specify which document type this editor handles.
 
tl::expected< bool, ApiResponseStatus > validateDocumentInternal (const DocumentSpecifier &aDocument) const override
 
std::optional< TITLE_BLOCK * > getTitleBlock (const DocumentSpecifier &aDocument) override
 
std::optional< PAGE_INFO > getPageSettings (const DocumentSpecifier &aDocument) override
 
bool setPageSettings (const DocumentSpecifier &aDocument, const PAGE_INFO &aPageInfo) override
 
wxString getDrawingSheetFileName () override
 
void setDrawingSheetFileName (const wxString &aFileName) override
 
void onModified () override
 
void onNetSettingsChanged () override
 Called on all registered handlers after project net settings (netclasses or netclass assignments) have been changed via the API.
 
HANDLER_RESULT< commands::GetDocumentModifiedStateResponse > handleGetDocumentModifiedState (const HANDLER_CONTEXT< commands::GetDocumentModifiedState > &aCtx) override
 
std::unique_ptr< COMMIT > createCommit () override
 Override this to create an appropriate COMMIT subclass for the frame in question.
 
void deleteItemsInternal (std::map< KIID, ItemDeletionStatus > &aItemsToDelete, const std::string &aClientName) override
 
std::optional< EDA_ITEM * > getItemFromDocument (const DocumentSpecifier &aDocument, const KIID &aId) override
 
void pushCurrentCommit (const std::string &aClientName, const wxString &aMessage) override
 
HANDLER_RESULT< types::ItemRequestStatus > handleCreateUpdateItemsInternal (bool aCreate, const std::string &aClientName, const types::ItemHeader &aHeader, const google::protobuf::RepeatedPtrField< google::protobuf::Any > &aItems, std::function< void(commands::ItemStatus, google::protobuf::Any)> aItemHandler) override
 
BOARD_CONTEXT * context () const
 
BOARD * board () const
 
PROJECT & project () const
 
TOOL_MANAGER * toolManager () const
 
std::optional< BOARD_ITEM * > getItemById (const KIID &aId) const
 
virtual BOARD_ITEM_CONTAINER * getDefaultContainer ()
 
std::optional< ApiResponseStatus > checkForHeadless (const std::string &aCommandName) const
 
GENERATOR_TOOL * ensureGeneratorTool () const
 Creates the generator tool if needed (e.g. in headless mode); returns it if available.
 
void regenerateGenerators (GENERATOR_TOOL *aTool, BOARD_COMMIT *aCommit, const std::vector< PCB_GENERATOR * > &aGenerators, std::function< void(const KIID &, commands::ItemStatus)> aResultHandler) const
 
std::vector< KICAD_T > parseRequestedItemTypes (const google::protobuf::RepeatedField< int > &aTypes)
 
HANDLER_RESULT< std::optional< KIID > > validateItemHeaderDocument (const kiapi::common::types::ItemHeader &aHeader)
 If the header is valid, returns the item container.
 
HANDLER_RESULT< bool > validateDocument (const DocumentSpecifier &aDocument)
 
virtual std::optional< ApiResponseStatus > checkForBusy ()
 Checks if the editor can accept commands.
 
HANDLER_RESULT< commands::BeginCommitResponse > handleBeginCommit (const HANDLER_CONTEXT< commands::BeginCommit > &aCtx)
 
HANDLER_RESULT< commands::EndCommitResponse > handleEndCommit (const HANDLER_CONTEXT< commands::EndCommit > &aCtx)
 
COMMIT * getCurrentCommit (const std::string &aClientName)
 
HANDLER_RESULT< commands::CreateItemsResponse > handleCreateItems (const HANDLER_CONTEXT< commands::CreateItems > &aCtx)
 
HANDLER_RESULT< commands::UpdateItemsResponse > handleUpdateItems (const HANDLER_CONTEXT< commands::UpdateItems > &aCtx)
 
HANDLER_RESULT< commands::DeleteItemsResponse > handleDeleteItems (const HANDLER_CONTEXT< commands::DeleteItems > &aCtx)
 
HANDLER_RESULT< commands::HitTestResponse > handleHitTest (const HANDLER_CONTEXT< commands::HitTest > &aCtx)
 
HANDLER_RESULT< types::TitleBlockInfo > handleGetTitleBlockInfo (const HANDLER_CONTEXT< commands::GetTitleBlockInfo > &aCtx)
 
HANDLER_RESULT< google::protobuf::Empty > handleSetTitleBlockInfo (const HANDLER_CONTEXT< commands::SetTitleBlockInfo > &aCtx)
 
HANDLER_RESULT< types::PageSettings > handleGetPageSettings (const HANDLER_CONTEXT< commands::GetPageSettings > &aCtx)
 
HANDLER_RESULT< types::PageSettings > handleSetPageSettings (const HANDLER_CONTEXT< commands::SetPageSettings > &aCtx)
 
virtual const EDA_IU_SCALE & getIuScale () const
 Returns the internal-unit scale that the concrete editor uses.
 
template<class RequestType, class ResponseType, class HandlerType>
void registerHandler (HANDLER_RESULT< ResponseType >(HandlerType::*aHandler)(const HANDLER_CONTEXT< RequestType > &))
 Registers an API command handler for the given message types.
 

Static Protected Member Functions

static HANDLER_RESULT< std::unique_ptr< BOARD_ITEM > > createItemForType (KICAD_T aType, BOARD_ITEM_CONTAINER *aContainer)
 

Protected Attributes

std::map< std::string, std::pair< KIID, std::unique_ptr< COMMIT > > > m_commits
 
std::set< std::string > m_activeClients
 
EDA_BASE_FRAME * m_frame
 
std::map< std::string, REQUEST_HANDLER > m_handlers
 Maps type name (without the URL prefix) to a handler method.
 
bool m_notifyNetSettings = false
 
KICAD_API_SERVER * m_apiServer = nullptr
 

Static Protected Attributes

static const wxString m_defaultCommitMessage = _( "Modification from API" )
 

Private Types

typedef std::map< std::string, PROPERTY_BASE * > PROTO_PROPERTY_MAP
 

Private Member Functions

HANDLER_RESULT< commands::GetOpenDocumentsResponse > handleGetOpenDocuments (const HANDLER_CONTEXT< commands::GetOpenDocuments > &aCtx)
 
HANDLER_RESULT< Empty > handleSaveDocument (const HANDLER_CONTEXT< commands::SaveDocument > &aCtx)
 
HANDLER_RESULT< Empty > handleSaveDocumentAs (const HANDLER_CONTEXT< commands::SaveDocumentAs > &aCtx)
 
HANDLER_RESULT< Empty > handleSaveCopyOfDocument (const HANDLER_CONTEXT< commands::SaveCopyOfDocument > &aCtx)
 
HANDLER_RESULT< Empty > handleRevertDocument (const HANDLER_CONTEXT< commands::RevertDocument > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItems (const HANDLER_CONTEXT< commands::GetItems > &aCtx)
 
HANDLER_RESULT< BoardEnabledLayersResponse > handleSetBoardEnabledLayers (const HANDLER_CONTEXT< SetBoardEnabledLayers > &aCtx)
 
HANDLER_RESULT< BoardDesignRulesResponse > handleGetBoardDesignRules (const HANDLER_CONTEXT< GetBoardDesignRules > &aCtx)
 
HANDLER_RESULT< BoardDesignRulesResponse > handleSetBoardDesignRules (const HANDLER_CONTEXT< SetBoardDesignRules > &aCtx)
 
HANDLER_RESULT< CustomRulesResponse > handleGetCustomDesignRules (const HANDLER_CONTEXT< GetCustomDesignRules > &aCtx)
 
HANDLER_RESULT< CustomRulesResponse > handleSetCustomDesignRules (const HANDLER_CONTEXT< SetCustomDesignRules > &aCtx)
 
HANDLER_RESULT< common::types::EmbeddedFiles > handleGetEmbeddedFiles (const HANDLER_CONTEXT< GetEmbeddedFiles > &aCtx)
 
HANDLER_RESULT< google::protobuf::Empty > handleAddEmbeddedFiles (const HANDLER_CONTEXT< AddEmbeddedFiles > &aCtx)
 
HANDLER_RESULT< google::protobuf::Empty > handleSetEmbeddedFiles (const HANDLER_CONTEXT< SetEmbeddedFiles > &aCtx)
 
HANDLER_RESULT< types::Vector2 > handleGetBoardOrigin (const HANDLER_CONTEXT< GetBoardOrigin > &aCtx)
 
HANDLER_RESULT< Empty > handleSetBoardOrigin (const HANDLER_CONTEXT< SetBoardOrigin > &aCtx)
 
HANDLER_RESULT< BoardLayerNameResponse > handleGetBoardLayerName (const HANDLER_CONTEXT< GetBoardLayerName > &aCtx)
 
HANDLER_RESULT< BoardLayerResponse > handleGetBoardLayerByName (const HANDLER_CONTEXT< GetBoardLayerByName > &aCtx)
 
HANDLER_RESULT< NetsResponse > handleGetNets (const HANDLER_CONTEXT< GetNets > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetConnectedItems (const HANDLER_CONTEXT< GetConnectedItems > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItemsByNet (const HANDLER_CONTEXT< GetItemsByNet > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItemsByNetClass (const HANDLER_CONTEXT< GetItemsByNetClass > &aCtx)
 
HANDLER_RESULT< NetClassForNetsResponse > handleGetNetClassForNets (const HANDLER_CONTEXT< GetNetClassForNets > &aCtx)
 
HANDLER_RESULT< Empty > handleRefillZones (const HANDLER_CONTEXT< RefillZones > &aCtx)
 
HANDLER_RESULT< ImportNetlistResponse > handleImportNetlist (const HANDLER_CONTEXT< ImportNetlist > &aCtx)
 
HANDLER_RESULT< BoardEditorAppearanceSettings > handleGetBoardEditorAppearanceSettings (const HANDLER_CONTEXT< GetBoardEditorAppearanceSettings > &aCtx)
 
HANDLER_RESULT< Empty > handleSetBoardEditorAppearanceSettings (const HANDLER_CONTEXT< SetBoardEditorAppearanceSettings > &aCtx)
 
HANDLER_RESULT< BoardPlotSettingsResponse > handleGetBoardPlotSettings (const HANDLER_CONTEXT< GetBoardPlotSettings > &aCtx)
 
HANDLER_RESULT< Empty > handleSetBoardPlotSettings (const HANDLER_CONTEXT< SetBoardPlotSettings > &aCtx)
 
HANDLER_RESULT< InjectDrcErrorResponse > handleInjectDrcError (const HANDLER_CONTEXT< InjectDrcError > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExport3D (const HANDLER_CONTEXT< RunBoardJobExport3D > &aCtx)
 
HANDLER_RESULT< commands::VariantsResponse > handleGetVariants (const HANDLER_CONTEXT< commands::GetVariants > &aCtx)
 
HANDLER_RESULT< Empty > handleAddVariant (const HANDLER_CONTEXT< commands::AddVariant > &aCtx)
 
HANDLER_RESULT< Empty > handleDeleteVariant (const HANDLER_CONTEXT< commands::DeleteVariant > &aCtx)
 
HANDLER_RESULT< Empty > handleRenameVariant (const HANDLER_CONTEXT< commands::RenameVariant > &aCtx)
 
HANDLER_RESULT< Empty > handleCopyVariant (const HANDLER_CONTEXT< commands::CopyVariant > &aCtx)
 
HANDLER_RESULT< Empty > handleSetVariantDescription (const HANDLER_CONTEXT< commands::SetVariantDescription > &aCtx)
 
HANDLER_RESULT< Empty > handleSetCurrentVariant (const HANDLER_CONTEXT< commands::SetCurrentVariant > &aCtx)
 
HANDLER_RESULT< commands::CurrentVariantResponse > handleGetCurrentVariant (const HANDLER_CONTEXT< commands::GetCurrentVariant > &aCtx)
 
HANDLER_RESULT< kiapi::common::commands::PlaceFromLibraryResponse > handlePlaceFootprintFromLibrary (const HANDLER_CONTEXT< kiapi::board::commands::PlaceFootprintFromLibrary > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportRender (const HANDLER_CONTEXT< RunBoardJobExportRender > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportSvg (const HANDLER_CONTEXT< RunBoardJobExportSvg > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportDxf (const HANDLER_CONTEXT< RunBoardJobExportDxf > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPdf (const HANDLER_CONTEXT< RunBoardJobExportPdf > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPs (const HANDLER_CONTEXT< RunBoardJobExportPs > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPng (const HANDLER_CONTEXT< RunBoardJobExportPng > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportGerbers (const HANDLER_CONTEXT< RunBoardJobExportGerbers > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportDrill (const HANDLER_CONTEXT< RunBoardJobExportDrill > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportPosition (const HANDLER_CONTEXT< RunBoardJobExportPosition > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportGencad (const HANDLER_CONTEXT< RunBoardJobExportGencad > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportIpc2581 (const HANDLER_CONTEXT< RunBoardJobExportIpc2581 > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportIpcD356 (const HANDLER_CONTEXT< RunBoardJobExportIpcD356 > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportODB (const HANDLER_CONTEXT< RunBoardJobExportODB > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportIdf (const HANDLER_CONTEXT< RunBoardJobExportIdf > &aCtx)
 
HANDLER_RESULT< types::RunJobResponse > handleRunBoardJobExportStats (const HANDLER_CONTEXT< RunBoardJobExportStats > &aCtx)
 
HANDLER_RESULT< commands::CrossProbeAnnounceResponse > handleCrossProbeAnnounce (const HANDLER_CONTEXT< commands::CrossProbeAnnounce > &aCtx)
 
HANDLER_RESULT< commands::SyncSelectionResponse > handleSyncSelection (const HANDLER_CONTEXT< commands::SyncSelection > &aCtx)
 
HANDLER_RESULT< commands::HighlightNetsResponse > handleHighlightNets (const HANDLER_CONTEXT< commands::HighlightNets > &aCtx)
 
PCB_CONTEXT * pcbContext () const
 
PCB_EDIT_FRAME * frame () const
 
HANDLER_RESULT< commands::RunActionResponse > handleRunAction (const HANDLER_CONTEXT< commands::RunAction > &aCtx)
 
HANDLER_RESULT< commands::GetItemsResponse > handleGetItemsById (const HANDLER_CONTEXT< commands::GetItemsById > &aCtx)
 
HANDLER_RESULT< commands::SelectionResponse > handleGetSelection (const HANDLER_CONTEXT< commands::GetSelection > &aCtx)
 
HANDLER_RESULT< Empty > handleClearSelection (const HANDLER_CONTEXT< commands::ClearSelection > &aCtx)
 
HANDLER_RESULT< commands::SelectionResponse > handleAddToSelection (const HANDLER_CONTEXT< commands::AddToSelection > &aCtx)
 
HANDLER_RESULT< commands::SelectionResponse > handleRemoveFromSelection (const HANDLER_CONTEXT< commands::RemoveFromSelection > &aCtx)
 
HANDLER_RESULT< Empty > handleFocusOnItems (const HANDLER_CONTEXT< commands::FocusOnItems > &aCtx)
 
HANDLER_RESULT< BoardStackupResponse > handleGetStackup (const HANDLER_CONTEXT< GetBoardStackup > &aCtx)
 
HANDLER_RESULT< BoardEnabledLayersResponse > handleGetBoardEnabledLayers (const HANDLER_CONTEXT< GetBoardEnabledLayers > &aCtx)
 
HANDLER_RESULT< GraphicsDefaultsResponse > handleGetGraphicsDefaults (const HANDLER_CONTEXT< GetGraphicsDefaults > &aCtx)
 
HANDLER_RESULT< commands::GetBoundingBoxResponse > handleGetBoundingBox (const HANDLER_CONTEXT< commands::GetBoundingBox > &aCtx)
 
HANDLER_RESULT< BoardBoundingBoxResponse > handleGetBoardBoundingBox (const HANDLER_CONTEXT< GetBoardBoundingBox > &aCtx)
 
HANDLER_RESULT< PadShapeAsPolygonResponse > handleGetPadShapeAsPolygon (const HANDLER_CONTEXT< GetPadShapeAsPolygon > &aCtx)
 
HANDLER_RESULT< PadstackPresenceResponse > handleCheckPadstackPresenceOnLayers (const HANDLER_CONTEXT< CheckPadstackPresenceOnLayers > &aCtx)
 
HANDLER_RESULT< commands::ExpandTextVariablesResponse > handleExpandTextVariables (const HANDLER_CONTEXT< commands::ExpandTextVariables > &aCtx)
 
HANDLER_RESULT< Empty > handleInteractiveMoveItems (const HANDLER_CONTEXT< InteractiveMoveItems > &aCtx)
 
HANDLER_RESULT< FlipItemsResponse > handleFlipItems (const HANDLER_CONTEXT< FlipItems > &aCtx)
 
HANDLER_RESULT< commands::SavedDocumentResponse > handleSaveDocumentToString (const HANDLER_CONTEXT< commands::SaveDocumentToString > &aCtx)
 
HANDLER_RESULT< commands::SavedSelectionResponse > handleSaveSelectionToString (const HANDLER_CONTEXT< commands::SaveSelectionToString > &aCtx)
 
HANDLER_RESULT< commands::CreateItemsResponse > handleParseAndCreateItemsFromString (const HANDLER_CONTEXT< commands::ParseAndCreateItemsFromString > &aCtx)
 
HANDLER_RESULT< BoardLayers > handleGetVisibleLayers (const HANDLER_CONTEXT< GetVisibleLayers > &aCtx)
 
HANDLER_RESULT< Empty > handleSetVisibleLayers (const HANDLER_CONTEXT< SetVisibleLayers > &aCtx)
 
HANDLER_RESULT< BoardLayerResponse > handleGetActiveLayer (const HANDLER_CONTEXT< GetActiveLayer > &aCtx)
 
HANDLER_RESULT< Empty > handleSetActiveLayer (const HANDLER_CONTEXT< SetActiveLayer > &aCtx)
 
template<typename MessageType>
bool tryUnpack (ApiRequest &aRequest, ApiResponse &aReply, MessageType &aDest)
 

Private Attributes

std::shared_ptr< BOARD_CONTEXT > m_context
 

Detailed Description

Definition at line 49 of file api_handler_pcb.h.

Member Typedef Documentation

◆ PROTO_PROPERTY_MAP

typedef std::map<std::string, PROPERTY_BASE*> API_HANDLER_PCB::PROTO_PROPERTY_MAP
private

Definition at line 56 of file api_handler_pcb.h.

◆ REQUEST_HANDLER

typedef std::function<HANDLER_RESULT<ApiResponse>( ApiRequest& )> API_HANDLER::REQUEST_HANDLER
protectedinherited

A handler for outer messages (envelopes) that will unpack to inner messages and call a specific handler function.

See also
registerHandler.

Definition at line 97 of file api_handler.h.

Constructor & Destructor Documentation

◆ API_HANDLER_PCB() [1/2]

API_HANDLER_PCB::API_HANDLER_PCB ( PCB_EDIT_FRAME * aFrame)

Definition at line 114 of file api_handler_pcb.cpp.

References API_HANDLER_PCB(), and CreatePcbFrameContext().

Referenced by API_HANDLER_PCB().

◆ API_HANDLER_PCB() [2/2]

API_HANDLER_PCB::API_HANDLER_PCB ( std::shared_ptr< PCB_CONTEXT > aContext,
PCB_EDIT_FRAME * aFrame = nullptr )

Definition at line 120 of file api_handler_pcb.cpp.

References API_HANDLER_BOARD::API_HANDLER_BOARD(), handleAddEmbeddedFiles(), handleAddVariant(), handleCopyVariant(), handleCrossProbeAnnounce(), handleDeleteVariant(), handleGetBoardDesignRules(), handleGetBoardEditorAppearanceSettings(), handleGetBoardLayerByName(), handleGetBoardLayerName(), handleGetBoardOrigin(), handleGetBoardPlotSettings(), handleGetConnectedItems(), handleGetCurrentVariant(), handleGetCustomDesignRules(), handleGetEmbeddedFiles(), handleGetItems(), handleGetItemsByNet(), handleGetItemsByNetClass(), handleGetNetClassForNets(), handleGetNets(), handleGetOpenDocuments(), API_HANDLER_EDITOR::handleGetPageSettings(), handleGetVariants(), handleHighlightNets(), handleImportNetlist(), handleInjectDrcError(), handlePlaceFootprintFromLibrary(), handleRefillZones(), handleRenameVariant(), handleRevertDocument(), handleRunBoardJobExport3D(), handleRunBoardJobExportDrill(), handleRunBoardJobExportDxf(), handleRunBoardJobExportGencad(), handleRunBoardJobExportGerbers(), handleRunBoardJobExportIdf(), handleRunBoardJobExportIpc2581(), handleRunBoardJobExportIpcD356(), handleRunBoardJobExportODB(), handleRunBoardJobExportPdf(), handleRunBoardJobExportPng(), handleRunBoardJobExportPosition(), handleRunBoardJobExportPs(), handleRunBoardJobExportRender(), handleRunBoardJobExportStats(), handleRunBoardJobExportSvg(), handleSaveCopyOfDocument(), handleSaveDocument(), handleSaveDocumentAs(), handleSetBoardDesignRules(), handleSetBoardEditorAppearanceSettings(), handleSetBoardEnabledLayers(), handleSetBoardOrigin(), handleSetBoardPlotSettings(), handleSetCurrentVariant(), handleSetCustomDesignRules(), handleSetEmbeddedFiles(), API_HANDLER_EDITOR::handleSetPageSettings(), handleSetVariantDescription(), handleSyncSelection(), move, and API_HANDLER::registerHandler().

Member Function Documentation

◆ apiServer()

KICAD_API_SERVER * API_HANDLER::apiServer ( ) const
inlineinherited

◆ board()

BOARD * API_HANDLER_BOARD::board ( ) const
inlineprotectedinherited

Definition at line 79 of file api_handler_board.h.

References context(), and BOARD_CONTEXT::GetBoard().

Referenced by deleteItemsInternal(), getDefaultContainer(), API_HANDLER_FOOTPRINT::getDefaultContainer(), getItemById(), API_HANDLER_PCB::handleAddEmbeddedFiles(), API_HANDLER_PCB::handleAddVariant(), API_HANDLER_PCB::handleCopyVariant(), handleCreateUpdateItemsInternal(), API_HANDLER_PCB::handleDeleteVariant(), handleExpandTextVariables(), handleGetBoardBoundingBox(), API_HANDLER_PCB::handleGetBoardDesignRules(), handleGetBoardEnabledLayers(), API_HANDLER_PCB::handleGetBoardLayerByName(), API_HANDLER_PCB::handleGetBoardLayerName(), API_HANDLER_PCB::handleGetBoardOrigin(), API_HANDLER_PCB::handleGetBoardPlotSettings(), API_HANDLER_PCB::handleGetConnectedItems(), API_HANDLER_PCB::handleGetCustomDesignRules(), API_HANDLER_PCB::handleGetEmbeddedFiles(), handleGetGraphicsDefaults(), API_HANDLER_FOOTPRINT::handleGetItems(), API_HANDLER_PCB::handleGetItems(), API_HANDLER_PCB::handleGetItemsByNet(), API_HANDLER_PCB::handleGetItemsByNetClass(), API_HANDLER_PCB::handleGetNetClassForNets(), API_HANDLER_PCB::handleGetNets(), API_HANDLER_FOOTPRINT::handleGetOpenDocuments(), handleGetStackup(), API_HANDLER_PCB::handleGetVariants(), handleGetVisibleLayers(), API_HANDLER_PCB::handlePlaceFootprintFromLibrary(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_PCB::handleRenameVariant(), API_HANDLER_PCB::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), handleSaveDocumentToString(), handleSaveSelectionToString(), handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardDesignRules(), API_HANDLER_PCB::handleSetBoardEnabledLayers(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetBoardPlotSettings(), API_HANDLER_PCB::handleSetCurrentVariant(), API_HANDLER_PCB::handleSetCustomDesignRules(), API_HANDLER_PCB::handleSetEmbeddedFiles(), API_HANDLER_PCB::handleSetVariantDescription(), handleSetVisibleLayers(), API_HANDLER_PCB::handleSyncSelection(), API_HANDLER_PCB::onNetSettingsChanged(), regenerateGenerators(), API_HANDLER_FOOTPRINT::validateAndGetFootprint(), and API_HANDLER_FOOTPRINT::validateDocumentInternal().

◆ checkForBusy()

std::optional< ApiResponseStatus > API_HANDLER_EDITOR::checkForBusy ( )
protectedvirtualinherited

Checks if the editor can accept commands.

Returns
an error status if busy, std::nullopt if not busy

Definition at line 218 of file api_handler_editor.cpp.

References m_frame.

Referenced by API_HANDLER_PCB::handleAddEmbeddedFiles(), API_HANDLER_BOARD::handleAddToSelection(), API_HANDLER_SCH::handleAddToSelection(), API_HANDLER_PCB::handleAddVariant(), API_HANDLER_SCH::handleAddVariant(), handleBeginCommit(), API_HANDLER_BOARD::handleClearSelection(), API_HANDLER_SCH::handleClearSelection(), API_HANDLER_PCB::handleCopyVariant(), API_HANDLER_SCH::handleCopyVariant(), handleCreateItems(), handleDeleteItems(), API_HANDLER_PCB::handleDeleteVariant(), API_HANDLER_SCH::handleDeleteVariant(), handleEndCommit(), API_HANDLER_BOARD::handleFlipItems(), API_HANDLER_BOARD::handleFocusOnItems(), API_HANDLER_SCH::handleFocusOnItems(), API_HANDLER_BOARD::handleGetBoardBoundingBox(), API_HANDLER_BOARD::handleGetBoundingBox(), API_HANDLER_PCB::handleGetConnectedItems(), API_HANDLER_FOOTPRINT::handleGetItems(), API_HANDLER_PCB::handleGetItems(), API_HANDLER_SCH::handleGetItems(), API_HANDLER_SYMBOL::handleGetItems(), API_HANDLER_BOARD::handleGetItemsById(), API_HANDLER_SCH::handleGetItemsById(), API_HANDLER_SYMBOL::handleGetItemsById(), API_HANDLER_PCB::handleGetItemsByNet(), API_HANDLER_PCB::handleGetItemsByNetClass(), API_HANDLER_SCH::handleGetSchematicNetlist(), API_HANDLER_PCB::handleGetVariants(), API_HANDLER_SCH::handleGetVariants(), handleHitTest(), API_HANDLER_PCB::handleImportNetlist(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_BOARD::handleInteractiveMoveItems(), API_HANDLER_BOARD::handleParseAndCreateItemsFromString(), API_HANDLER_PCB::handlePlaceFootprintFromLibrary(), API_HANDLER_SCH::handlePlaceSymbolFromLibrary(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_BOARD::handleRemoveFromSelection(), API_HANDLER_SCH::handleRemoveFromSelection(), API_HANDLER_PCB::handleRenameVariant(), API_HANDLER_SCH::handleRenameVariant(), API_HANDLER_FOOTPRINT::handleRevertDocument(), API_HANDLER_PCB::handleRevertDocument(), API_HANDLER_SCH::handleRevertDocument(), API_HANDLER_SYMBOL::handleRevertDocument(), API_HANDLER_BOARD::handleRunAction(), API_HANDLER_PCB::handleRunBoardJobExport3D(), API_HANDLER_PCB::handleRunBoardJobExportDrill(), API_HANDLER_PCB::handleRunBoardJobExportDxf(), API_HANDLER_PCB::handleRunBoardJobExportGencad(), API_HANDLER_PCB::handleRunBoardJobExportGerbers(), API_HANDLER_PCB::handleRunBoardJobExportIdf(), API_HANDLER_PCB::handleRunBoardJobExportIpc2581(), API_HANDLER_PCB::handleRunBoardJobExportIpcD356(), API_HANDLER_PCB::handleRunBoardJobExportODB(), API_HANDLER_PCB::handleRunBoardJobExportPdf(), API_HANDLER_PCB::handleRunBoardJobExportPng(), API_HANDLER_PCB::handleRunBoardJobExportPosition(), API_HANDLER_PCB::handleRunBoardJobExportPs(), API_HANDLER_PCB::handleRunBoardJobExportRender(), API_HANDLER_PCB::handleRunBoardJobExportStats(), API_HANDLER_PCB::handleRunBoardJobExportSvg(), API_HANDLER_SCH::handleRunSchematicJobExportBOM(), API_HANDLER_SCH::handleRunSchematicJobExportDxf(), API_HANDLER_SCH::handleRunSchematicJobExportNetlist(), API_HANDLER_SCH::handleRunSchematicJobExportPdf(), API_HANDLER_SCH::handleRunSchematicJobExportPng(), API_HANDLER_SCH::handleRunSchematicJobExportPs(), API_HANDLER_SCH::handleRunSchematicJobExportSvg(), API_HANDLER_PCB::handleSaveCopyOfDocument(), API_HANDLER_SCH::handleSaveCopyOfDocument(), API_HANDLER_SYMBOL::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), API_HANDLER_SCH::handleSaveDocument(), API_HANDLER_SYMBOL::handleSaveDocument(), API_HANDLER_PCB::handleSaveDocumentAs(), API_HANDLER_SCH::handleSaveDocumentAs(), API_HANDLER_BOARD::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardEditorAppearanceSettings(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetBoardPlotSettings(), API_HANDLER_PCB::handleSetCurrentVariant(), API_HANDLER_SCH::handleSetCurrentVariant(), API_HANDLER_PCB::handleSetEmbeddedFiles(), API_HANDLER_PCB::handleSetVariantDescription(), API_HANDLER_SCH::handleSetVariantDescription(), API_HANDLER_BOARD::handleSetVisibleLayers(), handleUpdateItems(), and API_HANDLER_FOOTPRINT::validateAndGetFootprint().

◆ checkForHeadless()

◆ clearNetSettingsNotification()

bool API_HANDLER::clearNetSettingsNotification ( )
inlineinherited

Returns true if the notification had been requested at the time of the call.

Definition at line 81 of file api_handler.h.

References m_notifyNetSettings.

◆ context()

◆ createCommit()

std::unique_ptr< COMMIT > API_HANDLER_BOARD::createCommit ( )
overrideprotectedvirtualinherited

Override this to create an appropriate COMMIT subclass for the frame in question.

Returns
a new COMMIT, bound to the editor frame

Implements API_HANDLER_EDITOR.

Definition at line 137 of file api_handler_board.cpp.

References API_HANDLER_EDITOR::m_frame, API_HANDLER_EDITOR::thisDocumentType(), and toolManager().

Referenced by API_HANDLER_PCB::handleRefillZones().

◆ createItemForType()

◆ deleteItemsInternal()

void API_HANDLER_BOARD::deleteItemsInternal ( std::map< KIID, ItemDeletionStatus > & aItemsToDelete,
const std::string & aClientName )
overrideprotectedvirtualinherited

◆ ensureGeneratorTool()

GENERATOR_TOOL * API_HANDLER_BOARD::ensureGeneratorTool ( ) const
protectedinherited

Creates the generator tool if needed (e.g. in headless mode); returns it if available.

Definition at line 286 of file api_handler_board.cpp.

References TOOL_MANAGER::FindTool(), GENERATOR_TOOL_NAME, TOOL_MANAGER::GetTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_BASE::RUN, and toolManager().

Referenced by deleteItemsInternal(), and handleCreateUpdateItemsInternal().

◆ frame()

◆ getCurrentCommit()

◆ getDefaultContainer()

BOARD_ITEM_CONTAINER * API_HANDLER_BOARD::getDefaultContainer ( )
protectedvirtualinherited

Reimplemented in API_HANDLER_FOOTPRINT.

Definition at line 123 of file api_handler_board.cpp.

References board().

Referenced by handleCreateUpdateItemsInternal().

◆ getDrawingSheetFileName()

wxString API_HANDLER_PCB::getDrawingSheetFileName ( )
overrideprotectedvirtual

Reimplemented from API_HANDLER_EDITOR.

Definition at line 1505 of file api_handler_pcb.cpp.

References BASE_SCREEN::m_DrawingSheetFileName.

◆ getItemById()

◆ getItemFromDocument()

std::optional< EDA_ITEM * > API_HANDLER_BOARD::getItemFromDocument ( const DocumentSpecifier & aDocument,
const KIID & aId )
overrideprotectedvirtualinherited

Implements API_HANDLER_EDITOR.

Definition at line 333 of file api_handler_board.cpp.

References getItemById(), and API_HANDLER_EDITOR::validateDocument().

◆ getIuScale()

virtual const EDA_IU_SCALE & API_HANDLER_EDITOR::getIuScale ( ) const
inlineprotectedvirtualinherited

Returns the internal-unit scale that the concrete editor uses.

API wire coordinates are always in nanometers, so this scale drives conversion to the editor's native IU. Defaults to pcbIUScale; schematic-like editors must override.

Reimplemented in API_HANDLER_SCH, and API_HANDLER_SYMBOL.

Definition at line 119 of file api_handler_editor.h.

References pcbIUScale.

Referenced by handleHitTest().

◆ getPageSettings()

std::optional< PAGE_INFO > API_HANDLER_PCB::getPageSettings ( const DocumentSpecifier & aDocument)
overrideprotectedvirtual

◆ getTitleBlock()

std::optional< TITLE_BLOCK * > API_HANDLER_PCB::getTitleBlock ( const DocumentSpecifier & aDocument)
overrideprotectedvirtual

◆ Handle()

API_RESULT API_HANDLER::Handle ( ApiRequest & aMsg)
inherited

Attempt to handle the given API request, if a handler exists in this class for the message.

Parameters
aMsgis a request to attempt to handle
Returns
a response to send to the client, or an appropriate error

Definition at line 30 of file api_handler.cpp.

References m_handlers.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ handleAddEmbeddedFiles()

◆ handleAddToSelection()

◆ handleAddVariant()

◆ handleBeginCommit()

HANDLER_RESULT< BeginCommitResponse > API_HANDLER_EDITOR::handleBeginCommit ( const HANDLER_CONTEXT< commands::BeginCommit > & aCtx)
protectedinherited

◆ handleCheckPadstackPresenceOnLayers()

HANDLER_RESULT< PadstackPresenceResponse > API_HANDLER_BOARD::handleCheckPadstackPresenceOnLayers ( const HANDLER_CONTEXT< CheckPadstackPresenceOnLayers > & aCtx)
privateinherited

◆ handleClearSelection()

◆ handleCopyVariant()

◆ handleCreateItems()

HANDLER_RESULT< CreateItemsResponse > API_HANDLER_EDITOR::handleCreateItems ( const HANDLER_CONTEXT< commands::CreateItems > & aCtx)
protectedinherited

◆ handleCreateUpdateItemsInternal()

HANDLER_RESULT< ItemRequestStatus > API_HANDLER_BOARD::handleCreateUpdateItemsInternal ( bool aCreate,
const std::string & aClientName,
const types::ItemHeader & aHeader,
const google::protobuf::RepeatedPtrField< google::protobuf::Any > & aItems,
std::function< void(commands::ItemStatus, google::protobuf::Any)> aItemHandler )
overrideprotectedvirtualinherited

◆ handleCrossProbeAnnounce()

HANDLER_RESULT< CrossProbeAnnounceResponse > API_HANDLER_PCB::handleCrossProbeAnnounce ( const HANDLER_CONTEXT< commands::CrossProbeAnnounce > & aCtx)
private

◆ handleDeleteItems()

HANDLER_RESULT< DeleteItemsResponse > API_HANDLER_EDITOR::handleDeleteItems ( const HANDLER_CONTEXT< commands::DeleteItems > & aCtx)
protectedinherited

◆ handleDeleteVariant()

◆ handleEndCommit()

HANDLER_RESULT< EndCommitResponse > API_HANDLER_EDITOR::handleEndCommit ( const HANDLER_CONTEXT< commands::EndCommit > & aCtx)
protectedinherited

◆ handleExpandTextVariables()

HANDLER_RESULT< ExpandTextVariablesResponse > API_HANDLER_BOARD::handleExpandTextVariables ( const HANDLER_CONTEXT< commands::ExpandTextVariables > & aCtx)
privateinherited

◆ handleFlipItems()

◆ handleFocusOnItems()

◆ handleGetActiveLayer()

HANDLER_RESULT< BoardLayerResponse > API_HANDLER_BOARD::handleGetActiveLayer ( const HANDLER_CONTEXT< GetActiveLayer > & aCtx)
privateinherited

◆ handleGetBoardBoundingBox()

◆ handleGetBoardDesignRules()

HANDLER_RESULT< BoardDesignRulesResponse > API_HANDLER_PCB::handleGetBoardDesignRules ( const HANDLER_CONTEXT< GetBoardDesignRules > & aCtx)
private

Definition at line 819 of file api_handler_pcb.cpp.

References API_HANDLER_BOARD::board(), BOARD::GetDesignRulesPath(), BOARD::GetDesignSettings(), TEARDROP_PARAMETERS_LIST::GetParameters(), BOARD_DESIGN_SETTINGS::m_AllowSoldermaskBridgesInFPs, TEARDROP_PARAMETERS::m_AllowUseTwoTracks, TEARDROP_PARAMETERS::m_BestLengthRatio, TEARDROP_PARAMETERS::m_BestWidthRatio, BOARD_DESIGN_SETTINGS::m_CapVias, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, BOARD_DESIGN_SETTINGS::m_CoverViasBack, BOARD_DESIGN_SETTINGS::m_CoverViasFront, TEARDROP_PARAMETERS::m_CurvedEdges, BOARD_DESIGN_SETTINGS::m_DiffPairDimensionsList, BOARD_DESIGN_SETTINGS::m_DrcExclusions, BOARD_DESIGN_SETTINGS::m_DRCSeverities, TEARDROP_PARAMETERS::m_Enabled, BOARD_DESIGN_SETTINGS::m_FillVias, BOARD_DESIGN_SETTINGS::m_HoleClearance, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinConn, BOARD_DESIGN_SETTINGS::m_MinGrooveWidth, BOARD_DESIGN_SETTINGS::m_MinResolvedSpokes, BOARD_DESIGN_SETTINGS::m_MinSilkTextHeight, BOARD_DESIGN_SETTINGS::m_MinSilkTextThickness, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, BOARD_DESIGN_SETTINGS::m_PlugViasBack, BOARD_DESIGN_SETTINGS::m_PlugViasFront, BOARD_DESIGN_SETTINGS::m_SilkClearance, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, BOARD_DESIGN_SETTINGS::m_SolderMaskToCopperClearance, BOARD_DESIGN_SETTINGS::m_SolderPasteMargin, BOARD_DESIGN_SETTINGS::m_SolderPasteMarginRatio, TEARDROP_PARAMETERS_LIST::m_TargetPTHPads, TEARDROP_PARAMETERS_LIST::m_TargetSMDPads, TEARDROP_PARAMETERS_LIST::m_TargetTrack2Track, TEARDROP_PARAMETERS_LIST::m_TargetVias, TEARDROP_PARAMETERS::m_TdMaxLen, TEARDROP_PARAMETERS::m_TdMaxWidth, TEARDROP_PARAMETERS::m_TdOnPadsInZones, BOARD_DESIGN_SETTINGS::m_TeardropParamsList, BOARD_DESIGN_SETTINGS::m_TentViasBack, BOARD_DESIGN_SETTINGS::m_TentViasFront, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackWidthList, TEARDROP_PARAMETERS_LIST::m_UseRoundShapesOnly, BOARD_DESIGN_SETTINGS::m_ViasDimensionsList, BOARD_DESIGN_SETTINGS::m_ViasMinAnnularWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, TEARDROP_PARAMETERS::m_WidthtoSizeFilterRatio, DRC_RULES_PARSER::Parse(), HANDLER_CONTEXT< RequestMessageType >::Request, TARGET_ROUND, TARGET_TRACK, DRC_EXCLUSION::ToProto(), ToProtoEnum(), API_HANDLER_EDITOR::validateDocument(), and via.

Referenced by API_HANDLER_PCB(), and handleSetBoardDesignRules().

◆ handleGetBoardEditorAppearanceSettings()

◆ handleGetBoardEnabledLayers()

HANDLER_RESULT< BoardEnabledLayersResponse > API_HANDLER_BOARD::handleGetBoardEnabledLayers ( const HANDLER_CONTEXT< GetBoardEnabledLayers > & aCtx)
privateinherited

◆ handleGetBoardLayerByName()

HANDLER_RESULT< BoardLayerResponse > API_HANDLER_PCB::handleGetBoardLayerByName ( const HANDLER_CONTEXT< GetBoardLayerByName > & aCtx)
private

◆ handleGetBoardLayerName()

HANDLER_RESULT< BoardLayerNameResponse > API_HANDLER_PCB::handleGetBoardLayerName ( const HANDLER_CONTEXT< GetBoardLayerName > & aCtx)
private

◆ handleGetBoardOrigin()

◆ handleGetBoardPlotSettings()

◆ handleGetBoundingBox()

HANDLER_RESULT< GetBoundingBoxResponse > API_HANDLER_BOARD::handleGetBoundingBox ( const HANDLER_CONTEXT< commands::GetBoundingBox > & aCtx)
privateinherited

◆ handleGetConnectedItems()

◆ handleGetCurrentVariant()

HANDLER_RESULT< CurrentVariantResponse > API_HANDLER_PCB::handleGetCurrentVariant ( const HANDLER_CONTEXT< commands::GetCurrentVariant > & aCtx)
private

◆ handleGetCustomDesignRules()

◆ handleGetDocumentModifiedState()

HANDLER_RESULT< GetDocumentModifiedStateResponse > API_HANDLER_PCB::handleGetDocumentModifiedState ( const HANDLER_CONTEXT< commands::GetDocumentModifiedState > & aCtx)
overrideprotectedvirtual

◆ handleGetEmbeddedFiles()

HANDLER_RESULT< common::types::EmbeddedFiles > API_HANDLER_PCB::handleGetEmbeddedFiles ( const HANDLER_CONTEXT< GetEmbeddedFiles > & aCtx)
private

◆ handleGetGraphicsDefaults()

◆ handleGetItems()

◆ handleGetItemsById()

HANDLER_RESULT< GetItemsResponse > API_HANDLER_BOARD::handleGetItemsById ( const HANDLER_CONTEXT< commands::GetItemsById > & aCtx)
privateinherited

◆ handleGetItemsByNet()

◆ handleGetItemsByNetClass()

◆ handleGetNetClassForNets()

HANDLER_RESULT< NetClassForNetsResponse > API_HANDLER_PCB::handleGetNetClassForNets ( const HANDLER_CONTEXT< GetNetClassForNets > & aCtx)
private

◆ handleGetNets()

HANDLER_RESULT< NetsResponse > API_HANDLER_PCB::handleGetNets ( const HANDLER_CONTEXT< GetNets > & aCtx)
private

◆ handleGetOpenDocuments()

HANDLER_RESULT< GetOpenDocumentsResponse > API_HANDLER_PCB::handleGetOpenDocuments ( const HANDLER_CONTEXT< commands::GetOpenDocuments > & aCtx)
private

◆ handleGetPadShapeAsPolygon()

HANDLER_RESULT< PadShapeAsPolygonResponse > API_HANDLER_BOARD::handleGetPadShapeAsPolygon ( const HANDLER_CONTEXT< GetPadShapeAsPolygon > & aCtx)
privateinherited

◆ handleGetPageSettings()

◆ handleGetSelection()

◆ handleGetStackup()

HANDLER_RESULT< BoardStackupResponse > API_HANDLER_BOARD::handleGetStackup ( const HANDLER_CONTEXT< GetBoardStackup > & aCtx)
privateinherited

◆ handleGetTitleBlockInfo()

HANDLER_RESULT< types::TitleBlockInfo > API_HANDLER_EDITOR::handleGetTitleBlockInfo ( const HANDLER_CONTEXT< commands::GetTitleBlockInfo > & aCtx)
protectedinherited

◆ handleGetVariants()

HANDLER_RESULT< VariantsResponse > API_HANDLER_PCB::handleGetVariants ( const HANDLER_CONTEXT< commands::GetVariants > & aCtx)
private

◆ handleGetVisibleLayers()

HANDLER_RESULT< BoardLayers > API_HANDLER_BOARD::handleGetVisibleLayers ( const HANDLER_CONTEXT< GetVisibleLayers > & aCtx)
privateinherited

◆ handleHighlightNets()

◆ handleHitTest()

HANDLER_RESULT< HitTestResponse > API_HANDLER_EDITOR::handleHitTest ( const HANDLER_CONTEXT< commands::HitTest > & aCtx)
protectedinherited

◆ handleImportNetlist()

◆ handleInjectDrcError()

◆ handleInteractiveMoveItems()

◆ handleParseAndCreateItemsFromString()

HANDLER_RESULT< CreateItemsResponse > API_HANDLER_BOARD::handleParseAndCreateItemsFromString ( const HANDLER_CONTEXT< commands::ParseAndCreateItemsFromString > & aCtx)
privateinherited

◆ handlePlaceFootprintFromLibrary()

◆ handleRefillZones()

◆ handleRemoveFromSelection()

◆ handleRenameVariant()

◆ handleRevertDocument()

HANDLER_RESULT< Empty > API_HANDLER_PCB::handleRevertDocument ( const HANDLER_CONTEXT< commands::RevertDocument > & aCtx)
private

◆ handleRunAction()

HANDLER_RESULT< RunActionResponse > API_HANDLER_BOARD::handleRunAction ( const HANDLER_CONTEXT< commands::RunAction > & aCtx)
privateinherited

◆ handleRunBoardJobExport3D()

HANDLER_RESULT< types::RunJobResponse > API_HANDLER_PCB::handleRunBoardJobExport3D ( const HANDLER_CONTEXT< RunBoardJobExport3D > & aCtx)
private

Definition at line 2316 of file api_handler_pcb.cpp.

References API_HANDLER_EDITOR::checkForBusy(), ExecuteBoardJob(), FromProtoEnum(), PCB_CONTEXT::GetCurrentFileName(), JOB_EXPORT_PCB_3D::m_3dparams, EXPORTER_STEP_PARAMS::m_BoardOnly, EXPORTER_STEP_PARAMS::m_BoardOutlinesChainingEpsilon, EXPORTER_STEP_PARAMS::m_ComponentFilter, EXPORTER_STEP_PARAMS::m_CutViasInBody, EXPORTER_STEP_PARAMS::m_ExportBoardBody, EXPORTER_STEP_PARAMS::m_ExportComponents, EXPORTER_STEP_PARAMS::m_ExportInnerCopper, EXPORTER_STEP_PARAMS::m_ExportPads, EXPORTER_STEP_PARAMS::m_ExportSilkscreen, EXPORTER_STEP_PARAMS::m_ExportSoldermask, EXPORTER_STEP_PARAMS::m_ExportTracksVias, EXPORTER_STEP_PARAMS::m_ExportZones, EXPORTER_STEP_PARAMS::m_ExtraPadThickness, JOB_EXPORT_PCB_3D::m_filename, EXPORTER_STEP_PARAMS::m_FillAllVias, JOB_EXPORT_PCB_3D::m_format, EXPORTER_STEP_PARAMS::m_FuseShapes, JOB_EXPORT_PCB_3D::m_hasUserOrigin, EXPORTER_STEP_PARAMS::m_IncludeDNP, EXPORTER_STEP_PARAMS::m_IncludeUnspecified, EXPORTER_STEP_PARAMS::m_NetFilter, EXPORTER_STEP_PARAMS::m_OptimizeStep, EXPORTER_STEP_PARAMS::m_Origin, EXPORTER_STEP_PARAMS::m_Overwrite, EXPORTER_STEP_PARAMS::m_SubstModels, EXPORTER_STEP_PARAMS::m_UseDefinedOrigin, EXPORTER_STEP_PARAMS::m_UseDrillOrigin, EXPORTER_STEP_PARAMS::m_UseGridOrigin, EXPORTER_STEP_PARAMS::m_UsePcbCenterOrigin, JOB_EXPORT_PCB_3D::m_variant, JOB_EXPORT_PCB_3D::m_vrmlModelDir, JOB_EXPORT_PCB_3D::m_vrmlRelativePaths, JOB_EXPORT_PCB_3D::m_vrmlUnits, pcbContext(), HANDLER_CONTEXT< RequestMessageType >::Request, JOB::SetConfiguredOutputPath(), and API_HANDLER_EDITOR::validateDocument().

Referenced by API_HANDLER_PCB().

◆ handleRunBoardJobExportDrill()

◆ handleRunBoardJobExportDxf()

◆ handleRunBoardJobExportGencad()

◆ handleRunBoardJobExportGerbers()

◆ handleRunBoardJobExportIdf()

◆ handleRunBoardJobExportIpc2581()

◆ handleRunBoardJobExportIpcD356()

◆ handleRunBoardJobExportODB()

◆ handleRunBoardJobExportPdf()

◆ handleRunBoardJobExportPng()

◆ handleRunBoardJobExportPosition()

◆ handleRunBoardJobExportPs()

◆ handleRunBoardJobExportRender()

◆ handleRunBoardJobExportStats()

◆ handleRunBoardJobExportSvg()

◆ handleSaveCopyOfDocument()

◆ handleSaveDocument()

HANDLER_RESULT< Empty > API_HANDLER_PCB::handleSaveDocument ( const HANDLER_CONTEXT< commands::SaveDocument > & aCtx)
private

◆ handleSaveDocumentAs()

◆ handleSaveDocumentToString()

HANDLER_RESULT< SavedDocumentResponse > API_HANDLER_BOARD::handleSaveDocumentToString ( const HANDLER_CONTEXT< commands::SaveDocumentToString > & aCtx)
privateinherited

◆ handleSaveSelectionToString()

HANDLER_RESULT< SavedSelectionResponse > API_HANDLER_BOARD::handleSaveSelectionToString ( const HANDLER_CONTEXT< commands::SaveSelectionToString > & aCtx)
privateinherited

◆ handleSetActiveLayer()

◆ handleSetBoardDesignRules()

HANDLER_RESULT< BoardDesignRulesResponse > API_HANDLER_PCB::handleSetBoardDesignRules ( const HANDLER_CONTEXT< SetBoardDesignRules > & aCtx)
private

Definition at line 964 of file api_handler_pcb.cpp.

References API_HANDLER_BOARD::board(), HANDLER_CONTEXT< RequestMessageType >::ClientName, BOARD_DESIGN_SETTINGS::VALIDATION_ERROR::error_message, DRC_EXCLUSION::FromProto(), FromProtoEnum(), TEARDROP_PARAMETERS_LIST::GetParameters(), handleGetBoardDesignRules(), BOARD_DESIGN_SETTINGS::m_AllowSoldermaskBridgesInFPs, TEARDROP_PARAMETERS::m_AllowUseTwoTracks, TEARDROP_PARAMETERS::m_BestLengthRatio, TEARDROP_PARAMETERS::m_BestWidthRatio, BOARD_DESIGN_SETTINGS::m_CapVias, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, BOARD_DESIGN_SETTINGS::m_CoverViasBack, BOARD_DESIGN_SETTINGS::m_CoverViasFront, TEARDROP_PARAMETERS::m_CurvedEdges, BOARD_DESIGN_SETTINGS::m_DiffPairDimensionsList, BOARD_DESIGN_SETTINGS::m_DrcExclusions, BOARD_DESIGN_SETTINGS::m_DRCSeverities, TEARDROP_PARAMETERS::m_Enabled, BOARD_DESIGN_SETTINGS::m_FillVias, BOARD_DESIGN_SETTINGS::m_HoleClearance, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinConn, BOARD_DESIGN_SETTINGS::m_MinGrooveWidth, BOARD_DESIGN_SETTINGS::m_MinResolvedSpokes, BOARD_DESIGN_SETTINGS::m_MinSilkTextHeight, BOARD_DESIGN_SETTINGS::m_MinSilkTextThickness, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, BOARD_DESIGN_SETTINGS::m_PlugViasBack, BOARD_DESIGN_SETTINGS::m_PlugViasFront, BOARD_DESIGN_SETTINGS::m_SilkClearance, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, BOARD_DESIGN_SETTINGS::m_SolderMaskToCopperClearance, BOARD_DESIGN_SETTINGS::m_SolderPasteMargin, BOARD_DESIGN_SETTINGS::m_SolderPasteMarginRatio, TEARDROP_PARAMETERS_LIST::m_TargetPTHPads, TEARDROP_PARAMETERS_LIST::m_TargetSMDPads, TEARDROP_PARAMETERS_LIST::m_TargetTrack2Track, TEARDROP_PARAMETERS_LIST::m_TargetVias, TEARDROP_PARAMETERS::m_TdMaxLen, TEARDROP_PARAMETERS::m_TdMaxWidth, TEARDROP_PARAMETERS::m_TdOnPadsInZones, BOARD_DESIGN_SETTINGS::m_TeardropParamsList, BOARD_DESIGN_SETTINGS::m_TentViasBack, BOARD_DESIGN_SETTINGS::m_TentViasFront, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackWidthList, TEARDROP_PARAMETERS_LIST::m_UseRoundShapesOnly, BOARD_DESIGN_SETTINGS::m_ViasDimensionsList, BOARD_DESIGN_SETTINGS::m_ViasMinAnnularWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, TEARDROP_PARAMETERS::m_WidthtoSizeFilterRatio, onModified(), HANDLER_CONTEXT< RequestMessageType >::Request, RPT_SEVERITY_ERROR, RPT_SEVERITY_IGNORE, RPT_SEVERITY_WARNING, BOARD::SetDesignSettings(), BOARD_DESIGN_SETTINGS::VALIDATION_ERROR::setting_name, TARGET_UNKNOWN, BOARD_DESIGN_SETTINGS::ValidateDesignRules(), API_HANDLER_EDITOR::validateDocument(), and via.

Referenced by API_HANDLER_PCB().

◆ handleSetBoardEditorAppearanceSettings()

◆ handleSetBoardEnabledLayers()

◆ handleSetBoardOrigin()

◆ handleSetBoardPlotSettings()

◆ handleSetCurrentVariant()

◆ handleSetCustomDesignRules()

◆ handleSetEmbeddedFiles()

HANDLER_RESULT< Empty > API_HANDLER_PCB::handleSetEmbeddedFiles ( const HANDLER_CONTEXT< SetEmbeddedFiles > & aCtx)
private

◆ handleSetPageSettings()

◆ handleSetTitleBlockInfo()

HANDLER_RESULT< google::protobuf::Empty > API_HANDLER_EDITOR::handleSetTitleBlockInfo ( const HANDLER_CONTEXT< commands::SetTitleBlockInfo > & aCtx)
protectedinherited

◆ handleSetVariantDescription()

HANDLER_RESULT< Empty > API_HANDLER_PCB::handleSetVariantDescription ( const HANDLER_CONTEXT< commands::SetVariantDescription > & aCtx)
private

◆ handleSetVisibleLayers()

◆ handleSyncSelection()

◆ handleUpdateItems()

HANDLER_RESULT< UpdateItemsResponse > API_HANDLER_EDITOR::handleUpdateItems ( const HANDLER_CONTEXT< commands::UpdateItems > & aCtx)
protectedinherited

◆ onModified()

◆ onNetSettingsChanged()

void API_HANDLER_PCB::onNetSettingsChanged ( )
overrideprotectedvirtual

Called on all registered handlers after project net settings (netclasses or netclass assignments) have been changed via the API.

Reimplemented from API_HANDLER.

Definition at line 1533 of file api_handler_pcb.cpp.

References API_HANDLER_BOARD::board(), frame(), EVENTS::SelectedItemsModified, API_HANDLER_BOARD::toolManager(), and PCB_EDIT_FRAME::UpdateUserInterface().

◆ parseRequestedItemTypes()

std::vector< KICAD_T > API_HANDLER_BOARD::parseRequestedItemTypes ( const google::protobuf::RepeatedField< int > & aTypes)
protectedinherited

◆ pcbContext()

◆ project()

◆ pushCurrentCommit()

void API_HANDLER_BOARD::pushCurrentCommit ( const std::string & aClientName,
const wxString & aMessage )
overrideprotectedvirtualinherited

◆ regenerateGenerators()

void API_HANDLER_BOARD::regenerateGenerators ( GENERATOR_TOOL * aTool,
BOARD_COMMIT * aCommit,
const std::vector< PCB_GENERATOR * > & aGenerators,
std::function< void(const KIID &, commands::ItemStatus)> aResultHandler ) const
protectedinherited

Definition at line 300 of file api_handler_board.cpp.

References board().

Referenced by handleCreateUpdateItemsInternal().

◆ registerHandler()

template<class RequestType, class ResponseType, class HandlerType>
void API_HANDLER::registerHandler ( HANDLER_RESULT< ResponseType >(HandlerType::* aHandler )(const HANDLER_CONTEXT< RequestType > &))
inlineprotectedinherited

Registers an API command handler for the given message types.

When an API request matching the given type comes in, the handler will be called and its response will be packed into an envelope for sending back to the API client.

If the given message does not unpack into the request type, an envelope is returned with status AS_BAD_REQUEST, which probably indicates corruption in the message.

Template Parameters
RequestTypeis a protobuf message type containing a command
ResponseTypeis a protobuf message type containing a command response
HandlerTypeis the implied type of the API_HANDLER subclass
Parameters
aHandleris the handler function for the given request and response types

Definition at line 114 of file api_handler.h.

References HANDLER_CONTEXT< RequestMessageType >::ClientName, m_handlers, HANDLER_CONTEXT< RequestMessageType >::Request, and tryUnpack().

Referenced by API_HANDLER_BOARD::API_HANDLER_BOARD(), API_HANDLER_COMMON::API_HANDLER_COMMON(), API_HANDLER_EDITOR::API_HANDLER_EDITOR(), API_HANDLER_FOOTPRINT::API_HANDLER_FOOTPRINT(), API_HANDLER_LIBRARIES::API_HANDLER_LIBRARIES(), API_HANDLER_PCB::API_HANDLER_PCB(), API_HANDLER_SCH::API_HANDLER_SCH(), and API_HANDLER_SYMBOL::API_HANDLER_SYMBOL().

◆ requestNetSettingsNotification()

void API_HANDLER::requestNetSettingsNotification ( )
inlineinherited

◆ setApiServer()

void API_HANDLER::setApiServer ( KICAD_API_SERVER * aServer)
inlineinherited

Set by KICAD_API_SERVER::RegisterHandler; null when the handler is not registered.

Definition at line 89 of file api_handler.h.

References m_apiServer.

Referenced by KICAD_API_SERVER::DeregisterHandler(), and KICAD_API_SERVER::RegisterHandler().

◆ setDrawingSheetFileName()

void API_HANDLER_PCB::setDrawingSheetFileName ( const wxString & aFileName)
overrideprotectedvirtual

◆ setPageSettings()

bool API_HANDLER_PCB::setPageSettings ( const DocumentSpecifier & aDocument,
const PAGE_INFO & aPageInfo )
overrideprotectedvirtual

◆ thisDocumentType()

kiapi::common::types::DocumentType API_HANDLER_PCB::thisDocumentType ( ) const
inlineoverrideprotectedvirtual

Override this to specify which document type this editor handles.

Implements API_HANDLER_EDITOR.

Definition at line 212 of file api_handler_pcb.h.

Referenced by handleSaveDocumentAs().

◆ toolManager()

◆ tryUnpack()

template<typename MessageType>
bool API_HANDLER::tryUnpack ( ApiRequest & aRequest,
ApiResponse & aReply,
MessageType & aDest )
inlineprivateinherited

Definition at line 161 of file api_handler.h.

Referenced by registerHandler().

◆ validateDocument()

HANDLER_RESULT< bool > API_HANDLER_EDITOR::validateDocument ( const DocumentSpecifier & aDocument)
protectedinherited

Definition at line 180 of file api_handler_editor.cpp.

References validateDocumentInternal().

Referenced by API_HANDLER_BOARD::getItemFromDocument(), API_HANDLER_SCH::getItemFromDocument(), API_HANDLER_SYMBOL::getItemFromDocument(), API_HANDLER_PCB::handleAddEmbeddedFiles(), API_HANDLER_PCB::handleAddVariant(), API_HANDLER_SCH::handleAddVariant(), API_HANDLER_BOARD::handleCheckPadstackPresenceOnLayers(), API_HANDLER_PCB::handleCopyVariant(), API_HANDLER_SCH::handleCopyVariant(), API_HANDLER_PCB::handleDeleteVariant(), API_HANDLER_SCH::handleDeleteVariant(), API_HANDLER_BOARD::handleExpandTextVariables(), API_HANDLER_SCH::handleExpandTextVariables(), API_HANDLER_BOARD::handleFocusOnItems(), API_HANDLER_SCH::handleFocusOnItems(), API_HANDLER_BOARD::handleGetActiveLayer(), API_HANDLER_BOARD::handleGetBoardBoundingBox(), API_HANDLER_PCB::handleGetBoardDesignRules(), API_HANDLER_BOARD::handleGetBoardEnabledLayers(), API_HANDLER_PCB::handleGetBoardLayerByName(), API_HANDLER_PCB::handleGetBoardLayerName(), API_HANDLER_PCB::handleGetBoardOrigin(), API_HANDLER_PCB::handleGetBoardPlotSettings(), API_HANDLER_PCB::handleGetCurrentVariant(), API_HANDLER_SCH::handleGetCurrentVariant(), API_HANDLER_PCB::handleGetCustomDesignRules(), handleGetDocumentModifiedState(), API_HANDLER_PCB::handleGetDocumentModifiedState(), API_HANDLER_SCH::handleGetDocumentModifiedState(), API_HANDLER_SYMBOL::handleGetDocumentModifiedState(), API_HANDLER_PCB::handleGetEmbeddedFiles(), API_HANDLER_BOARD::handleGetGraphicsDefaults(), API_HANDLER_PCB::handleGetNets(), API_HANDLER_BOARD::handleGetPadShapeAsPolygon(), handleGetPageSettings(), API_HANDLER_SCH::handleGetSchematicHierarchy(), API_HANDLER_SCH::handleGetSchematicNetlist(), API_HANDLER_BOARD::handleGetStackup(), handleGetTitleBlockInfo(), API_HANDLER_PCB::handleGetVariants(), API_HANDLER_SCH::handleGetVariants(), API_HANDLER_BOARD::handleGetVisibleLayers(), API_HANDLER_PCB::handleImportNetlist(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_BOARD::handleInteractiveMoveItems(), API_HANDLER_BOARD::handleParseAndCreateItemsFromString(), API_HANDLER_PCB::handleRefillZones(), API_HANDLER_PCB::handleRenameVariant(), API_HANDLER_SCH::handleRenameVariant(), API_HANDLER_FOOTPRINT::handleRevertDocument(), API_HANDLER_PCB::handleRevertDocument(), API_HANDLER_SCH::handleRevertDocument(), API_HANDLER_SYMBOL::handleRevertDocument(), API_HANDLER_PCB::handleRunBoardJobExport3D(), API_HANDLER_PCB::handleRunBoardJobExportDrill(), API_HANDLER_PCB::handleRunBoardJobExportDxf(), API_HANDLER_PCB::handleRunBoardJobExportGencad(), API_HANDLER_PCB::handleRunBoardJobExportGerbers(), API_HANDLER_PCB::handleRunBoardJobExportIdf(), API_HANDLER_PCB::handleRunBoardJobExportIpc2581(), API_HANDLER_PCB::handleRunBoardJobExportIpcD356(), API_HANDLER_PCB::handleRunBoardJobExportODB(), API_HANDLER_PCB::handleRunBoardJobExportPdf(), API_HANDLER_PCB::handleRunBoardJobExportPng(), API_HANDLER_PCB::handleRunBoardJobExportPosition(), API_HANDLER_PCB::handleRunBoardJobExportPs(), API_HANDLER_PCB::handleRunBoardJobExportRender(), API_HANDLER_PCB::handleRunBoardJobExportStats(), API_HANDLER_PCB::handleRunBoardJobExportSvg(), API_HANDLER_SCH::handleRunSchematicJobExportBOM(), API_HANDLER_SCH::handleRunSchematicJobExportDxf(), API_HANDLER_SCH::handleRunSchematicJobExportNetlist(), API_HANDLER_SCH::handleRunSchematicJobExportPdf(), API_HANDLER_SCH::handleRunSchematicJobExportPng(), API_HANDLER_SCH::handleRunSchematicJobExportPs(), API_HANDLER_SCH::handleRunSchematicJobExportSvg(), API_HANDLER_PCB::handleSaveCopyOfDocument(), API_HANDLER_SCH::handleSaveCopyOfDocument(), API_HANDLER_SYMBOL::handleSaveCopyOfDocument(), API_HANDLER_PCB::handleSaveDocument(), API_HANDLER_SCH::handleSaveDocument(), API_HANDLER_SYMBOL::handleSaveDocument(), API_HANDLER_PCB::handleSaveDocumentAs(), API_HANDLER_SCH::handleSaveDocumentAs(), API_HANDLER_BOARD::handleSaveDocumentToString(), API_HANDLER_SCH::handleSaveDocumentToString(), API_HANDLER_BOARD::handleSetActiveLayer(), API_HANDLER_PCB::handleSetBoardDesignRules(), API_HANDLER_PCB::handleSetBoardEnabledLayers(), API_HANDLER_PCB::handleSetBoardOrigin(), API_HANDLER_PCB::handleSetBoardPlotSettings(), API_HANDLER_PCB::handleSetCurrentVariant(), API_HANDLER_SCH::handleSetCurrentVariant(), API_HANDLER_PCB::handleSetCustomDesignRules(), API_HANDLER_PCB::handleSetEmbeddedFiles(), handleSetPageSettings(), handleSetTitleBlockInfo(), API_HANDLER_PCB::handleSetVariantDescription(), API_HANDLER_SCH::handleSetVariantDescription(), API_HANDLER_BOARD::handleSetVisibleLayers(), API_HANDLER_FOOTPRINT::validateAndGetFootprint(), and validateItemHeaderDocument().

◆ validateDocumentInternal()

tl::expected< bool, ApiResponseStatus > API_HANDLER_PCB::validateDocumentInternal ( const DocumentSpecifier & aDocument) const
overrideprotectedvirtual
Returns
true if the given document is valid for this editor and is currently open

Implements API_HANDLER_EDITOR.

Definition at line 432 of file api_handler_pcb.cpp.

References pcbContext().

◆ validateItemHeaderDocument()

HANDLER_RESULT< std::optional< KIID > > API_HANDLER_EDITOR::validateItemHeaderDocument ( const kiapi::common::types::ItemHeader & aHeader)
protectedinherited

Member Data Documentation

◆ m_activeClients

◆ m_apiServer

KICAD_API_SERVER* API_HANDLER::m_apiServer = nullptr
protectedinherited

Definition at line 154 of file api_handler.h.

Referenced by apiServer(), and setApiServer().

◆ m_commits

std::map<std::string, std::pair<KIID, std::unique_ptr<COMMIT> > > API_HANDLER_EDITOR::m_commits
protectedinherited

◆ m_context

std::shared_ptr<BOARD_CONTEXT> API_HANDLER_BOARD::m_context
privateinherited

Definition at line 176 of file api_handler_board.h.

Referenced by API_HANDLER_BOARD(), and context().

◆ m_defaultCommitMessage

const wxString API_HANDLER::m_defaultCommitMessage = _( "Modification from API" )
staticprotectedinherited

Definition at line 156 of file api_handler.h.

Referenced by API_HANDLER_EDITOR::pushCurrentCommit().

◆ m_frame

◆ m_handlers

std::map<std::string, REQUEST_HANDLER> API_HANDLER::m_handlers
protectedinherited

Maps type name (without the URL prefix) to a handler method.

Definition at line 150 of file api_handler.h.

Referenced by Handle(), and registerHandler().

◆ m_notifyNetSettings

bool API_HANDLER::m_notifyNetSettings = false
protectedinherited

Definition at line 152 of file api_handler.h.

Referenced by clearNetSettingsNotification(), and requestNetSettingsNotification().


The documentation for this class was generated from the following files: