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

Schematic editor (Eeschema) main window. More...

#include <sch_edit_frame.h>

Inheritance diagram for SCH_EDIT_FRAME:
SCH_BASE_FRAME EDA_DRAW_FRAME KIWAY_PLAYER EDA_BASE_FRAME TOOLS_HOLDER KIWAY_HOLDER UNITS_PROVIDER

Public Types

enum  UNDO_REDO_LIST { UNDO_LIST , REDO_LIST }
 Specifies whether we are interacting with the undo or redo stacks. More...
 
enum  HOLDER_TYPE { DIALOG , FRAME , PANEL }
 

Public Member Functions

 SCH_EDIT_FRAME (KIWAY *aKiway, wxWindow *aParent)
 
 ~SCH_EDIT_FRAME () override
 
SCH_SCREENGetScreen () const override
 Return a pointer to a BASE_SCREEN or one of its derivatives.
 
SELECTIONGetCurrentSelection () override
 Get the current selection from the canvas area.
 
SCHEMATICSchematic () const
 
std::unique_ptr< GRID_HELPERMakeGridHelper () override
 
bool GetShowAllPins () const override
 Allow edit frame to show/hide hidden pins.
 
void SaveProjectLocalSettings () override
 Save changes to the project settings to the project (.pro) file.
 
bool LoadProjectSettings ()
 Load the KiCad project file (*.pro) settings specific to Eeschema.
 
void LoadDrawingSheet ()
 Load the drawing sheet file.
 
void ShowSchematicSetupDialog (const wxString &aInitialPage=wxEmptyString)
 
void LoadSettings (APP_SETTINGS_BASE *aCfg) override
 Load common frame parameters from a configuration file.
 
void SaveSettings (APP_SETTINGS_BASE *aCfg) override
 Save common frame parameters to a configuration data file.
 
void CreateScreens ()
 
void ReCreateHToolbar () override
 
void ReCreateVToolbar () override
 
void ReCreateOptToolbar () override
 
void setupUIConditions () override
 Setup the UI conditions for the various actions and their controls in this frame.
 
bool IsContentModified () const override
 Get if the current schematic has been modified but not saved.
 
void OnModify () override
 Must be called after a schematic change in order to set the "modify" flag and update other data structures and GUI elements.
 
SEVERITY GetSeverity (int aErrorCode) const override
 
wxString GetScreenDesc () const override
 Return a human-readable description of the current screen.
 
wxString GetFullScreenDesc () const override
 
void ExecuteRemoteCommand (const char *cmdline) override
 Execute a remote command sent via a socket on port KICAD_SCH_PORT_SERVICE_NUMBER (which defaults to 4243).
 
void KiwayMailIn (KIWAY_EXPRESS &aEvent) override
 Receive KIWAY_EXPRESS messages from other players.
 
void RefreshOperatingPointDisplay ()
 Refresh the display of any operaintg points.
 
void AutoRotateItem (SCH_SCREEN *aScreen, SCH_ITEM *aItem)
 Automatically set the rotation of an item (if the item supports it)
 
void ShowFindReplaceDialog (bool aReplace)
 Run the Find or Find & Replace dialog.
 
void UpdateHierarchyNavigator (bool aRefreshNetNavigator=true)
 Update the hierarchy navigation tree and history.
 
void UpdateLabelsHierarchyNavigator ()
 Update the hierarchy navigation tree labels.
 
void UpdateHierarchySelection ()
 Update the hierarchy navigation tree selection (cross-probe from schematic to hierarchy pane).
 
void ShowFindReplaceStatus (const wxString &aMsg, int aStatusTime)
 
void ClearFindReplaceStatus ()
 
void OnFindDialogClose ()
 Notification that the Find dialog has closed.
 
void UpdateDesignBlockOptions ()
 Design block panel options have changed and the panel needs to be refreshed.
 
void BreakSegment (SCH_COMMIT *aCommit, SCH_LINE *aSegment, const VECTOR2I &aPoint, SCH_LINE **aNewSegment, SCH_SCREEN *aScreen)
 Break a single segment into two at the specified point.
 
bool BreakSegments (SCH_COMMIT *aCommit, const VECTOR2I &aPoint, SCH_SCREEN *aScreen)
 Check every wire and bus for a intersection at aPoint and break into two segments at aPoint if an intersection is found.
 
bool BreakSegmentsOnJunctions (SCH_COMMIT *aCommit, SCH_SCREEN *aScreen)
 Test all junctions and bus entries in the schematic for intersections with wires and buses and breaks any intersections into multiple segments.
 
void TestDanglingEnds ()
 Test all of the connectable objects in the schematic for unused connection points.
 
void SendSelectItemsToPcb (const std::vector< EDA_ITEM * > &aItems, bool aForce)
 Send items to board editor for selection.
 
void SendCrossProbeNetName (const wxString &aNetName)
 Send a net name to Pcbnew for highlighting.
 
void SetCrossProbeConnection (const SCH_CONNECTION *aConnection)
 Send a connection (net or bus) to Pcbnew for highlighting.
 
void SendCrossProbeClearHighlight ()
 Tell Pcbnew to clear the existing highlighted net, if one exists.
 
const wxString & GetHighlightedConnection () const
 
void SetHighlightedConnection (const wxString &aConnection, const NET_NAVIGATOR_ITEM_DATA *aSelection=nullptr)
 
bool ReadyToNetlist (const wxString &aAnnotateMessage)
 Check if we are ready to write a netlist file for the current schematic.
 
bool WriteNetListFile (int aFormat, const wxString &aFullFileName, unsigned aNetlistOptions, REPORTER *aReporter=nullptr)
 Create a netlist file.
 
void DeleteAnnotation (ANNOTATE_SCOPE_T aAnnotateScope, bool aRecursive, REPORTER &aReporter)
 Clear the current symbol annotation.
 
void AnnotateSymbols (SCH_COMMIT *aCommit, ANNOTATE_SCOPE_T aAnnotateScope, ANNOTATE_ORDER_T aSortOption, ANNOTATE_ALGO_T aAlgoOption, bool aRecursive, int aStartNumber, bool aResetAnnotation, bool aRepairTimestamps, REPORTER &aReporter)
 Annotate the symbols in the schematic that are not currently annotated.
 
int CheckAnnotate (ANNOTATION_ERROR_HANDLER aErrorHandler, ANNOTATE_SCOPE_T aAnnotateScope=ANNOTATE_ALL, bool aRecursive=true)
 Check for annotation errors.
 
int ModalAnnotate (const wxString &aMessage)
 Run a modal version of the annotate dialog for a specific purpose.
 
SCH_SHEET_PATHGetCurrentSheet () const
 
void SetCurrentSheet (const SCH_SHEET_PATH &aSheet)
 
void UpdateItem (EDA_ITEM *aItem, bool isAddOrDelete=false, bool aUpdateRtree=false) override
 Mark an item for refresh.
 
void HardRedraw () override
 Rebuild the GAL and redraw the screen.
 
void DisplayCurrentSheet ()
 Draw the current sheet on the display.
 
void DrawCurrentSheetToClipboard ()
 Use the wxWidgets print code to draw an image of the current sheet onto the clipboard.
 
void OnPageSettingsChange () override
 Called when modifying the page settings.
 
void SetSheetNumberAndCount ()
 Set the m_ScreenNumber and m_NumberOfScreens members for screens.
 
wxPageSetupDialogData & GetPageSetupData ()
 
void NewProject ()
 
void LoadProject ()
 
bool SaveProject (bool aSaveAs=false)
 Save the currently-open schematic (including its hierarchy) and associated project.
 
bool OpenProjectFiles (const std::vector< wxString > &aFileSet, int aCtl=0) override
 Open a project or set of files given by aFileList.
 
wxString GetCurrentFileName () const override
 Get the full filename + path of the currently opened file in the frame.
 
bool AskToSaveChanges ()
 Check if any of the screens has unsaved changes and asks the user whether to save or drop them.
 
SCH_JUNCTIONAddJunction (SCH_COMMIT *aCommit, SCH_SCREEN *aScreen, const VECTOR2I &aPos)
 
void SchematicCleanUp (SCH_COMMIT *aCommit, SCH_SCREEN *aScreen=nullptr)
 Perform routine schematic cleaning including breaking wire and buses and deleting identical objects superimposed on top of each other.
 
bool TrimWire (SCH_COMMIT *aCommit, const VECTOR2I &aStart, const VECTOR2I &aEnd)
 If any single wire passes through both points, remove the portion between the two points, potentially splitting the wire into two.
 
void OnOpenPcbnew ()
 
void OnOpenCvpcb ()
 
void OnUpdatePCB ()
 
void OnAnnotate ()
 
bool CheckSheetForRecursion (SCH_SHEET *aSheet, SCH_SHEET_PATH *aCurrentSheet)
 Verify that aSheet will not cause a recursion error in aCurrentSheet.
 
bool AllowCaseSensitiveFileNameClashes (const wxString &aOldName, const wxString &aSchematicFileName)
 Check aSchematicFileName for a potential file name case sensitivity clashes.
 
bool EditSheetProperties (SCH_SHEET *aSheet, SCH_SHEET_PATH *aHierarchy, bool *aIsUndoable=nullptr, bool *aClearAnnotationNewItems=nullptr, bool *aUpdateHierarchyNavigator=nullptr)
 Edit an existing sheet or add a new sheet to the schematic.
 
void InitSheet (SCH_SHEET *aSheet, const wxString &aNewFilename)
 
bool LoadSheetFromFile (SCH_SHEET *aSheet, SCH_SHEET_PATH *aCurrentSheet, const wxString &aFileName, bool aSkipRecursionCheck=false, bool aSkipLibCheck=false)
 Load a the KiCad schematic file aFileName into the sheet aSheet.
 
void DeleteJunction (SCH_COMMIT *aCommit, SCH_ITEM *aItem)
 Removes a given junction and heals any wire segments under the junction.
 
void FlipBodyStyle (SCH_SYMBOL *aSymbol)
 
void SelectUnit (SCH_SYMBOL *aSymbol, int aUnit)
 
void SetAltPinFunction (SCH_PIN *aPin, const wxString &aFunction)
 
void SaveCopyInUndoList (SCH_SCREEN *aScreen, SCH_ITEM *aItemToCopy, UNDO_REDO aTypeCommand, bool aAppend, bool aDirtyConnectivity=true)
 Create a copy of the current schematic item, and put it in the undo list.
 
void SaveCopyInUndoList (const PICKED_ITEMS_LIST &aItemsList, UNDO_REDO aTypeCommand, bool aAppend, bool aDirtyConnectivity=true)
 Create a new entry in undo list of commands.
 
void PutDataInPreviousState (PICKED_ITEMS_LIST *aList)
 Restore an undo or redo command to put data pointed by aList in the previous state.
 
void ClearUndoORRedoList (UNDO_REDO_LIST whichList, int aItemCount=-1) override
 Free the undo or redo list from aList element.
 
void SaveCopyForRepeatItem (const SCH_ITEM *aItem)
 Clone aItem and owns that clone in this container.
 
void AddCopyForRepeatItem (const SCH_ITEM *aItem)
 
const std::vector< std::unique_ptr< SCH_ITEM > > & GetRepeatItems () const
 Return the items which are to be repeated with the insert key.
 
void ClearRepeatItemsList ()
 Clear the list of items which are to be repeated with the insert key.
 
EDA_ITEMGetItem (const KIID &aId) const override
 Fetch an item by KIID.
 
void RollbackSchematicFromUndo ()
 Perform an undo of the last edit WITHOUT logging a corresponding redo.
 
bool CreateArchiveLibrary (const wxString &aFileName)
 Create a library aFileName that contains all symbols used in the current schematic.
 
wxString CreateNewDesignBlockLibrary (const wxString &aLibName=wxEmptyString, const wxString &aProposedName=wxEmptyString)
 If a library name is given, creates a new design block library in the project folder with the given name.
 
bool AddDesignBlockLibrary (const wxString &aFilename, DESIGN_BLOCK_LIB_TABLE *aTable)
 Add an existing library to either the global or project library table.
 
void SaveSheetAsDesignBlock (const wxString &aLibraryName, SCH_SHEET_PATH &aSheetPath)
 
void SaveSelectionAsDesignBlock (const wxString &aLibraryName)
 
bool DeleteDesignBlockLibrary (const wxString &aLibName, bool aConfirm)
 
bool DeleteDesignBlockFromLibrary (const LIB_ID &aLibId, bool aConfirm)
 
bool EditDesignBlockProperties (const LIB_ID &aLibId)
 
DESIGN_BLOCKGetDesignBlock (const LIB_ID &aLibId, bool aUseCacheLib=false, bool aShowErrorMsg=false)
 Load design block from design block library table.
 
DESIGN_BLOCK_PANEGetDesignBlockPane () const
 
virtual void PrintPage (const RENDER_SETTINGS *aSettings) override
 Plot or print the current sheet to the clipboard.
 
void SetNetListerCommand (const wxString &aCommand)
 
void DefaultExecFlags ()
 Reset the execution flags to defaults for external netlist and bom generators.
 
void SetExecFlags (const int aFlags)
 Set (adds) specified flags for next execution of external generator of the netlist or bom.
 
void ClearExecFlags (const int aFlags)
 Clear (removes) specified flags that not needed for next execution of external generator of the netlist or bom.
 
wxString GetNetListerCommand () const
 
void RecalculateConnections (SCH_COMMIT *aCommit, SCH_CLEANUP_FLAGS aCleanupFlags)
 Generate the connection data for the entire schematic hierarchy.
 
void CommonSettingsChanged (bool aEnvVarsChanged, bool aTextVarsChanged) override
 Called after the preferences dialog is run.
 
void UpdateNetHighlightStatus ()
 
void ShowChangedLanguage () override
 
void SetScreen (BASE_SCREEN *aScreen) override
 
const BOX2I GetDocumentExtents (bool aIncludeAllVisible=true) const override
 Returns bbox of document with option to not include some items.
 
int GetSchematicJunctionSize ()
 
void FocusOnItem (SCH_ITEM *aItem)
 
bool IsSyncingSelection ()
 
void SaveSymbolToSchematic (const LIB_SYMBOL &aSymbol, const KIID &aSchematicSymbolUUID)
 Update a schematic symbol from a LIB_SYMBOL.
 
void RecomputeIntersheetRefs ()
 Update the schematic's page reference map for all global labels, and refresh the labels so that they are redrawn with up-to-date references.
 
void ShowAllIntersheetRefs (bool aShow)
 
virtual void CheckForAutoSaveFile (const wxFileName &aFileName) override
 This overloaded version checks if the auto save master file "#auto_saved_files#" exists and recovers all of the schematic files listed in it.
 
virtual void DeleteAutoSaveFile (const wxFileName &aFileName) override
 
void ToggleSchematicHierarchy ()
 Toggle the show/hide state of the left side schematic navigation panel.
 
void ToggleSearch ()
 Toggle the show/hide state of Search pane.
 
void ToggleProperties () override
 
void ToggleLibraryTree () override
 
DIALOG_BOOK_REPORTERGetSymbolDiffDialog ()
 
DIALOG_ERCGetErcDialog ()
 
DIALOG_SYMBOL_FIELDS_TABLEGetSymbolFieldsTableDialog ()
 
wxTreeCtrl * GetNetNavigator ()
 
const SCH_ITEMGetSelectedNetNavigatorItem () const
 
void AddSchematicChangeListener (wxEvtHandler *aListener)
 Add aListener to post #EDA_EVT_SCHEMATIC_CHANGED command events to.
 
void RemoveSchematicChangeListener (wxEvtHandler *aListener)
 Remove aListener to from the schematic changed listener list.
 
void RefreshNetNavigator (const NET_NAVIGATOR_ITEM_DATA *aSelection=nullptr)
 
void MakeNetNavigatorNode (const wxString &aNetName, wxTreeItemId aParentId, const NET_NAVIGATOR_ITEM_DATA *aSelection, bool aSingleSheetSchematic)
 
void SelectNetNavigatorItem (const NET_NAVIGATOR_ITEM_DATA *aSelection=nullptr)
 
void ToggleNetNavigator ()
 
PLUGIN_ACTION_SCOPE PluginActionScope () const override
 
void createCanvas ()
 
SCH_DRAW_PANELGetCanvas () const override
 Return a pointer to GAL-based canvas of given EDA draw frame.
 
EESCHEMA_SETTINGSeeconfig () const
 
SYMBOL_EDITOR_SETTINGSlibeditconfig () const
 
SCH_RENDER_SETTINGSGetRenderSettings ()
 
COLOR4D GetDrawBgColor () const override
 
void SetPageSettings (const PAGE_INFO &aPageSettings) override
 
const PAGE_INFOGetPageSettings () const override
 
const VECTOR2I GetPageSizeIU () const override
 Works off of GetPageSettings() to return the size of the paper page in the internal units of this particular view.
 
const VECTOR2IGetGridOrigin () const override
 Return the absolute coordinates of the origin of the snap grid.
 
void SetGridOrigin (const VECTOR2I &aPoint) override
 
const TITLE_BLOCKGetTitleBlock () const override
 
void SetTitleBlock (const TITLE_BLOCK &aTitleBlock) override
 
void UpdateStatusBar () override
 Update the status bar information.
 
PICKED_SYMBOL PickSymbolFromLibrary (const SYMBOL_LIBRARY_FILTER *aFilter, std::vector< PICKED_SYMBOL > &aHistoryList, std::vector< PICKED_SYMBOL > &aAlreadyPlaced, bool aShowFootprints, const LIB_ID *aHighlight=nullptr, bool aAllowFields=true)
 Call the library viewer to select symbol to import into schematic.
 
LIB_SYMBOLGetLibSymbol (const LIB_ID &aLibId, bool aUseCacheLib=false, bool aShowErrorMsg=false)
 Load symbol from symbol library table.
 
wxString SelectLibraryFromList ()
 Display a list of loaded libraries and allows the user to select a library.
 
SYMBOL_LIB_TABLESelectSymLibTable (bool aOptional=false)
 Display a dialog asking the user to select a symbol library table.
 
virtual void RedrawScreen (const VECTOR2I &aCenterPoint, bool aWarpPointer)
 
void AddToScreen (EDA_ITEM *aItem, SCH_SCREEN *aScreen=nullptr)
 Add an item to the screen (and view) aScreen is the screen the item is located on, if not the current screen.
 
void RemoveFromScreen (EDA_ITEM *aItem, SCH_SCREEN *aScreen)
 Remove an item from the screen (and view) aScreen is the screen the item is located on, if not the current screen.
 
void RefreshZoomDependentItems ()
 Mark selected items for refresh.
 
void SyncView ()
 Mark all items for refresh.
 
COLOR4D GetLayerColor (SCH_LAYER_ID aLayer)
 Helper to retrieve a layer color from the global color settings.
 
COLOR_SETTINGSGetColorSettings (bool aForceRefresh=false) const override
 Returns a pointer to the active color theme settings.
 
void ActivateGalCanvas () override
 Use to start up the GAL drawing canvas.
 
void OnSymChange (wxFileSystemWatcherEvent &aEvent)
 Handler for Symbol change events.
 
void OnSymChangeDebounceTimer (wxTimerEvent &aEvent)
 Handler for the filesystem watcher debounce timer.
 
void SetSymModificationTime (const wxDateTime &aTime)
 Set the modification time of the symbol library table file.
 
bool LockFile (const wxString &aFileName)
 Mark a schematic file as being in use.
 
void ReleaseFile ()
 Release the current file marked in use.
 
void ScriptingConsoleEnableDisable ()
 Toggles the scripting console visibility.
 
bool IsScriptingConsoleVisible ()
 Gets the current visibility of the scripting console window.
 
EDA_SEARCH_DATAGetFindReplaceData ()
 
wxArrayString & GetFindHistoryList ()
 
bool GetShowPolarCoords () const
 For those frames that support polar coordinates.
 
void SetShowPolarCoords (bool aShow)
 
void ToggleUserUnits () override
 
void GetUnitPair (EDA_UNITS &aPrimaryUnit, EDA_UNITS &aSecondaryUnits) override
 Get the pair or units in current use.
 
VECTOR2I GetNearestGridPosition (const VECTOR2I &aPosition) const
 Return the nearest aGridSize location to aPosition.
 
VECTOR2I GetNearestHalfGridPosition (const VECTOR2I &aPosition) const
 Return the nearest aGridSize / 2 location to aPosition.
 
virtual void SetDrawBgColor (const COLOR4D &aColor)
 
bool LibraryFileBrowser (bool doOpen, wxFileName &aFilename, const wxString &wildcard, const wxString &ext, bool isDirectory=false, bool aIsGlobal=false, const wxString &aGlobalPath=wxEmptyString)
 
void EraseMsgBox ()
 
virtual void ReCreateAuxiliaryToolbar ()
 
virtual void UpdateToolbarControlSizes ()
 Update the sizes of any controls in the toolbars of the frame.
 
bool IsGridVisible () const
 
virtual void SetGridVisibility (bool aVisible)
 
bool IsGridOverridden () const
 
virtual void SetGridOverrides (bool aOverride)
 
virtual COLOR4D GetGridColor ()
 
virtual void SetGridColor (const COLOR4D &aColor)
 
void OnSelectGrid (wxCommandEvent &event)
 Command event handler for selecting grid sizes.
 
void UpdateGridSelectBox ()
 Rebuild the grid combobox to respond to any changes in the GUI (units, user grid changes, etc.).
 
void OnUpdateSelectGrid (wxUpdateUIEvent &aEvent)
 Update the checked item in the grid wxchoice.
 
void OnUpdateSelectZoom (wxUpdateUIEvent &aEvent)
 Update the checked item in the zoom wxchoice.
 
void UpdateZoomSelectBox ()
 Rebuild the grid combobox to respond to any changes in the GUI (units, user grid changes, etc.)
 
const wxString GetZoomLevelIndicator () const
 Return a human readable value for display in dialogs.
 
virtual void OnSelectZoom (wxCommandEvent &event)
 Set the zoom factor when selected by the zoom list box in the main tool bar.
 
virtual void OnSize (wxSizeEvent &event) override
 Recalculate the size of toolbars and display panel when the frame size changes.
 
void OnMove (wxMoveEvent &aEvent) override
 
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.
 
void FocusOnLocation (const VECTOR2I &aPos)
 Useful to focus on a particular location, in find functions.
 
void AddStandardSubMenus (TOOL_MENU &aMenu)
 Construct a "basic" menu for a tool, containing only items that apply to all tools (e.g.
 
void PrintDrawingSheet (const RENDER_SETTINGS *aSettings, BASE_SCREEN *aScreen, const std::map< wxString, wxString > *aProperties, double aMils2Iu, const wxString &aFilename, const wxString &aSheetLayer=wxEmptyString)
 Prints the drawing-sheet (frame and title block).
 
void DisplayToolMsg (const wxString &msg) override
 
void DisplayConstraintsMsg (const wxString &msg)
 
void DisplayUnitsMsg ()
 Display current unit pane in the status bar.
 
virtual void DisplayGridMsg ()
 Display current grid size in the status bar.
 
void AppendMsgPanel (const wxString &aTextUpper, const wxString &aTextLower, int aPadding=6)
 Append a message to the message panel.
 
virtual void ClearMsgPanel ()
 Clear all messages from the message panel.
 
void SetMsgPanel (const std::vector< MSG_PANEL_ITEM > &aList)
 Clear the message panel and populates it with the contents of aList.
 
void SetMsgPanel (EDA_ITEM *aItem)
 
void SetMsgPanel (const wxString &aTextUpper, const wxString &aTextLower, int aPadding=6)
 Helper function that erases the msg panel and then appends a single message.
 
virtual void UpdateMsgPanel ()
 Redraw the message panel.
 
virtual LIB_TREEGetLibTree () const
 
virtual LIB_ID GetTargetLibId () const
 
virtual bool IsLibraryTreeShown () const
 
virtual void FocusLibraryTreeInput ()
 
PROPERTIES_PANELGetPropertiesPanel ()
 
void UpdateProperties ()
 
virtual void SwitchCanvas (EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType)
 Changes the current rendering backend.
 
void SetCanvas (EDA_DRAW_PANEL_GAL *aPanel)
 
wxWindow * GetToolCanvas () const override
 Canvas access.
 
GAL_DISPLAY_OPTIONS_IMPLGetGalDisplayOptions ()
 Return a reference to the gal rendering options used by GAL for rendering.
 
void RefreshCanvas () override
 
void RecreateToolbars ()
 Rebuild all toolbars, and update the checked state of check tools.
 
void OnToolbarSizeChanged ()
 Update toolbars if desired toolbar icon changed.
 
HOTKEY_CYCLE_POPUPGetHotkeyPopup ()
 
virtual void CreateHotkeyPopup ()
 
bool SaveCanvasImageToFile (const wxString &aFileName, BITMAP_TYPE aBitmapType)
 Save the current view as an image file.
 
virtual void OnApiPluginInvoke (wxCommandEvent &aEvent)
 Handler for activating an API plugin (via toolbar or menu)
 
virtual bool ShowModal (wxString *aResult=nullptr, wxWindow *aResultantFocusWindow=nullptr)
 Show this wxFrame as if it were a modal dialog, with all other instantiated wxFrames disabled until this KIWAY_PLAYER derivative calls DismissModal().
 
bool Destroy () override
 Our version of Destroy() which is virtual from wxWidgets.
 
bool IsModal () const override
 Return true if the frame is shown in our modal mode and false if the frame is shown as an usual frame.
 
void SetModal (bool aIsModal)
 
bool IsDismissed ()
 
void DismissModal (bool aRetVal, const wxString &aResult=wxEmptyString)
 
void CreateServer (int service, bool local=true)
 
void OnSockRequest (wxSocketEvent &evt)
 
void OnSockRequestServer (wxSocketEvent &evt)
 
void ChangeUserUnits (EDA_UNITS aUnits)
 
ORIGIN_TRANSFORMSGetOriginTransforms () override
 Return a reference to the default ORIGIN_TRANSFORMS object.
 
SETTINGS_MANAGERGetSettingsManager () const
 
bool ProcessEvent (wxEvent &aEvent) override
 Override the default process event handler to implement the auto save feature.
 
virtual void OnCharHook (wxKeyEvent &aKeyEvent)
 Capture the key event before it is sent to the GUI.
 
void OnMenuEvent (wxMenuEvent &event)
 The TOOL_DISPATCHER needs these to work around some issues in wxWidgets where the menu events aren't captured by the menus themselves.
 
virtual void RegisterUIUpdateHandler (int aID, const ACTION_CONDITIONS &aConditions) override
 Register a UI update handler for the control with ID aID.
 
virtual void RegisterUIUpdateHandler (const TOOL_ACTION &aAction, const ACTION_CONDITIONS &aConditions)
 Register an action's update conditions with the UI layer to allow the UI to appropriately display the state of its controls.
 
virtual void UnregisterUIUpdateHandler (int aID) override
 Unregister a UI handler for a given ID that was registered using RegisterUIUpdateHandler.
 
virtual void UnregisterUIUpdateHandler (const TOOL_ACTION &aAction)
 Unregister a UI handler for an action that was registered using RegisterUIUpdateHandler.
 
void OnMaximize (wxMaximizeEvent &aEvent)
 
int GetAutoSaveInterval () const
 
bool IsType (FRAME_T aType) const
 
FRAME_T GetFrameType () const
 
virtual const SEARCH_STACKsys_search ()
 Return a SEARCH_STACK pertaining to entire program.
 
virtual wxString help_name ()
 
void OnKicadAbout (wxCommandEvent &event)
 
void OnPreferences (wxCommandEvent &event)
 
void ShowPreferences (wxString aStartPage, wxString aStartParentPage)
 Displays the preferences and settings of all opened editors paged dialog, starting with a particular page.
 
void PrintMsg (const wxString &text)
 
void CreateInfoBar ()
 
void FinishAUIInitialization ()
 
WX_INFOBARGetInfoBar ()
 
void ShowInfoBarError (const wxString &aErrorMsg, bool aShowCloseButton=false, WX_INFOBAR::MESSAGE_TYPE aType=WX_INFOBAR::MESSAGE_TYPE::GENERIC)
 Show the WX_INFOBAR displayed on the top of the canvas with a message and an error icon on the left of the infobar, and an optional closebox to the right.
 
void ShowInfoBarError (const wxString &aErrorMsg, bool aShowCloseButton, std::function< void(void)> aCallback)
 Show the WX_INFOBAR displayed on the top of the canvas with a message and an error icon on the left of the infobar, and an optional closebox to the right.
 
void ShowInfoBarWarning (const wxString &aWarningMsg, bool aShowCloseButton=false)
 Show the WX_INFOBAR displayed on the top of the canvas with a message and a warning icon on the left of the infobar.
 
void ShowInfoBarMsg (const wxString &aMsg, bool aShowCloseButton=false)
 Show the WX_INFOBAR displayed on the top of the canvas with a message and an info icon on the left of the infobar.
 
virtual APP_SETTINGS_BASEconfig () const
 Returns the settings object used in SaveSettings(), and is overloaded in KICAD_MANAGER_FRAME.
 
void LoadWindowState (const wxString &aFileName)
 
virtual void LoadWindowState (const WINDOW_STATE &aState)
 Load frame state info from a configuration file.
 
void LoadWindowSettings (const WINDOW_SETTINGS *aCfg)
 Load window settings from the given settings object.
 
void SaveWindowSettings (WINDOW_SETTINGS *aCfg)
 Save window settings to the given settings object.
 
virtual WINDOW_SETTINGSGetWindowSettings (APP_SETTINGS_BASE *aCfg)
 Return a pointer to the window settings for this frame.
 
wxString ConfigBaseName () override
 Get the configuration base name.
 
void ImportHotkeyConfigFromFile (std::map< std::string, TOOL_ACTION * > aActionMap, const wxString &aDefaultShortname)
 Prompt the user for a hotkey file to read, and read it.
 
wxString GetFileFromHistory (int cmdId, const wxString &type, FILE_HISTORY *aFileHistory=nullptr)
 Fetches the file name from the file history list.
 
void ClearFileHistory (FILE_HISTORY *aFileHistory=nullptr)
 Removes all files from the file history.
 
void UpdateFileHistory (const wxString &FullFileName, FILE_HISTORY *aFileHistory=nullptr)
 Update the list of recently opened files.
 
FILE_HISTORYGetFileHistory ()
 Get the frame's main file history.
 
void SetMruPath (const wxString &aPath)
 
wxString GetMruPath () const
 
void ReCreateMenuBar ()
 Recreates the menu bar.
 
void SetMenuBar (wxMenuBar *menu_bar) override
 
void AddStandardHelpMenu (wxMenuBar *aMenuBar)
 Adds the standard KiCad help menu to the menubar.
 
bool IsWritable (const wxFileName &aFileName, bool aVerbose=true)
 Checks if aFileName can be written.
 
virtual void ThemeChanged ()
 Process light/dark theme change.
 
virtual void ProjectChanged ()
 Notification event that the project has changed.
 
const wxString & GetAboutTitle () const
 
const wxString & GetUntranslatedAboutTitle () const
 
wxSize GetWindowSize ()
 Get the undecorated window size that can be used for restoring the window size.
 
virtual void ClearUndoRedoList ()
 Clear the undo and redo list using ClearUndoORRedoList()
 
virtual void PushCommandToUndoList (PICKED_ITEMS_LIST *aItem)
 Add a command to undo in the undo list.
 
virtual void PushCommandToRedoList (PICKED_ITEMS_LIST *aItem)
 Add a command to redo in the redo list.
 
virtual PICKED_ITEMS_LISTPopCommandFromUndoList ()
 Return the last command to undo and remove it from list, nothing is deleted.
 
virtual PICKED_ITEMS_LISTPopCommandFromRedoList ()
 Return the last command to undo and remove it from list, nothing is deleted.
 
virtual int GetUndoCommandCount () const
 
virtual int GetRedoCommandCount () const
 
virtual wxString GetUndoActionDescription () const
 
virtual wxString GetRedoActionDescription () const
 
int GetMaxUndoItems () const
 
bool NonUserClose (bool aForce)
 
virtual void HandleSystemColorChange ()
 Update the UI in response to a change in the system colors.
 
virtual bool CanAcceptApiCommands ()
 Checks if this frame is ready to accept API commands.
 
TOOL_MANAGERGetToolManager () const
 Return the MVC controller.
 
TOOL_DISPATCHERGetToolDispatcher () const
 
virtual void PushTool (const TOOL_EVENT &aEvent)
 NB: the definition of "tool" is different at the user level.
 
virtual void PopTool (const TOOL_EVENT &aEvent)
 Pops a tool from the stack.
 
bool ToolStackIsEmpty ()
 
std::string CurrentToolName () const
 
bool IsCurrentTool (const TOOL_ACTION &aAction) const
 
bool GetDoImmediateActions () const
 Indicate that hotkeys should perform an immediate action even if another tool is currently active.
 
MOUSE_DRAG_ACTION GetDragAction () const
 Indicates whether a drag should draw a selection rectangle or drag selected (or unselected) objects.
 
bool GetMoveWarpsCursor () const
 Indicate that a move operation should warp the mouse pointer to the origin of the move object.
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in.
 
bool HasKiway () const
 Safety check before asking for the Kiway reference.
 
PROJECTPrj () const
 Return a reference to the PROJECT associated with this KIWAY.
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 It is only used for debugging, since "this" is not a wxWindow*.
 
EDA_UNITS GetUserUnits () const
 
void SetUserUnits (EDA_UNITS aUnits)
 
const EDA_IU_SCALEGetIuScale () const
 
wxString StringFromValue (double aValue, bool aAddUnitLabel=false, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const
 Converts aValue in internal units into a united string.
 
wxString StringFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=false) const
 
wxString StringFromOptionalValue (std::optional< int > aValue, bool aAddUnitLabel=false, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const
 Converts an optional aValue in internal units into a united string.
 
wxString MessageTextFromValue (double aValue, bool aAddUnitLabel=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const
 A lower-precision version of StringFromValue().
 
wxString MessageTextFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=true) const
 
wxString MessageTextFromMinOptMax (const MINOPTMAX< int > &aValue) const
 
int ValueFromString (const wxString &aTextValue, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const
 Converts aTextValue in aUnits to internal units used by the frame.
 
std::optional< int > OptionalValueFromString (const wxString &aTextValue, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE) const
 Converts aTextValue in aUnits to internal units used by the frame.
 
EDA_ANGLE AngleValueFromString (const wxString &aTextValue) const
 

Static Public Member Functions

static const wxString SchematicHierarchyPaneName ()
 
static const wxString SearchPaneName ()
 
static const wxString NetNavigatorPaneName ()
 
static const wxString PropertiesPaneName ()
 
static const wxString NetInspectorPanelName ()
 
static const wxString DesignBlocksPaneName ()
 
static void HandleUpdateUIEvent (wxUpdateUIEvent &aEvent, EDA_BASE_FRAME *aFrame, ACTION_CONDITIONS aCond)
 Handle events generated when the UI is trying to figure out the current state of the UI controls related to TOOL_ACTIONS (e.g.
 

Static Public Attributes

static const wxString NullUiString = ""
 The string that is used in the UI to represent a null value.
 

Protected Member Functions

bool doAutoSave () override
 Save the schematic files that have been modified and not yet saved.
 
void doReCreateMenuBar () override
 
void sendNetlistToCvpcb ()
 Send the KiCad netlist over to CVPCB.
 
void onSize (wxSizeEvent &aEvent)
 
void saveProjectSettings () override
 Saves any design-related project settings associated with this frame.
 
void onCloseSymbolDiffDialog (wxCommandEvent &aEvent)
 
void onCloseErcDialog (wxCommandEvent &aEvent)
 
void onCloseSymbolFieldsTableDialog (wxCommandEvent &aEvent)
 
void unitsChangeRefresh () override
 Called when when the units setting has changed to allow for any derived classes to handle refreshing and controls that have units based measurements in them.
 
void updateSelectionFilterVisbility () override
 Selection filter panel doesn't have a dedicated visibility control, so show it if any other AUI panel is shown and docked.
 
DESIGN_BLOCK_LIB_TABLEselectDesignBlockLibTable (bool aOptional=false)
 Prompts a user to select global or project library tables.
 
wxString createNewDesignBlockLibrary (const wxString &aLibName, const wxString &aProposedName, DESIGN_BLOCK_LIB_TABLE *aTable)
 Create a new library in the given table (presumed to be either the global or project library table).
 
void handleActivateEvent (wxActivateEvent &aEvent) override
 Handle a window activation event.
 
void handleIconizeEvent (wxIconizeEvent &aEvent) override
 Handle a window iconize event.
 
bool saveSymbolLibTables (bool aGlobal, bool aProject)
 Save Symbol Library Tables to disk.
 
void setSymWatcher (const LIB_ID *aSymbol)
 Creates (or removes) a watcher on the specified symbol library.
 
void setupUnits (APP_SETTINGS_BASE *aCfg)
 
void updateStatusBarWidths ()
 
std::vector< wxWindow * > findDialogs ()
 
virtual void resolveCanvasType ()
 Determines the Canvas type to load (with prompt if required) and initializes m_canvasType.
 
EDA_DRAW_PANEL_GAL::GAL_TYPE loadCanvasTypeSetting (APP_SETTINGS_BASE *aCfg=nullptr)
 Returns the canvas type stored in the application settings.
 
bool saveCanvasTypeSetting (EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType)
 Stores the canvas type in the application settings.
 
void onActivate (wxActivateEvent &aEvent)
 
virtual void addApiPluginTools ()
 Append actions from API plugins to the main toolbar.
 
void kiway_express (KIWAY_EXPRESS &aEvent)
 event handler, routes to derivative specific virtual KiwayMailIn()
 
void language_change (wxCommandEvent &event)
 An event handler called on a language menu selection.
 
void onAutoSaveTimer (wxTimerEvent &aEvent)
 Handle the auto save timer event.
 
void onIconize (wxIconizeEvent &aEvent)
 
virtual bool isAutoSaveRequired () const
 Return the auto save status of the application.
 
void onSystemColorChange (wxSysColourChangedEvent &aEvent)
 
void initExitKey ()
 Sets the common key-pair for exiting the application (Ctrl-Q) and ties it to the wxID_EXIT event id.
 
void ensureWindowIsOnScreen ()
 
virtual void OnDropFiles (wxDropFilesEvent &aEvent)
 Handles event fired when a file is dropped to the window.
 
void AddMenuLanguageList (ACTION_MENU *aMasterMenu, TOOL_INTERACTIVE *aControlTool)
 Function AddMenuLanguageList creates a menu list for language choice, and add it as submenu to MasterMenu.
 
virtual void DoWithAcceptedFiles ()
 Execute action on accepted dropped file.
 

Protected Attributes

SCHEMATIC_SETTINGS m_base_frame_defaults
 These are only used by symbol_editor.
 
PANEL_SCH_SELECTION_FILTERm_selectionFilterPanel
 
wxSocketServer * m_socketServer
 Prevents opening same file multiple times.
 
std::unique_ptr< LOCKFILEm_file_checker
 
COLOR4D m_gridColor
 
COLOR4D m_drawBgColor
 
int m_undoRedoCountMax
 
bool m_polarCoords
 
bool m_showBorderAndTitleBlock
 
wxChoice * m_gridSelectBox
 
wxChoice * m_zoomSelectBox
 
ACTION_TOOLBARm_mainToolBar
 
ACTION_TOOLBARm_auxiliaryToolBar
 
ACTION_TOOLBARm_drawToolBar
 
ACTION_TOOLBARm_optionsToolBar
 
std::unique_ptr< EDA_SEARCH_DATAm_findReplaceData
 
wxArrayString m_findStringHistoryList
 
wxArrayString m_replaceStringHistoryList
 
EDA_MSG_PANELm_messagePanel
 
int m_msgFrameHeight
 
COLOR_SETTINGSm_colorSettings
 
SEARCH_PANEm_searchPane
 
PROPERTIES_PANELm_propertiesPanel
 
NET_INSPECTOR_PANELm_netInspectorPanel
 
HOTKEY_CYCLE_POPUPm_hotkeyPopup
 The current canvas type.
 
EDA_DRAW_PANEL_GAL::GAL_TYPE m_canvasType
 
bool m_modal
 
wxGUIEventLoop * m_modal_loop
 < Points to nested event_loop. NULL means not modal and dismissed.
 
wxWindow * m_modal_resultant_parent
 
wxString m_modal_string
 
bool m_modal_ret_val
 
std::vector< wxSocketBase * > m_sockets
 interprocess communication
 
std::vector< wxFileName > m_AcceptedFiles
 
FRAME_T m_ident
 
wxPoint m_framePos
 
wxSize m_frameSize
 
bool m_maximizeByDefault
 
int m_displayIndex
 
wxPoint m_normalFramePos
 
wxSize m_normalFrameSize
 
wxString m_aboutTitle
 
wxAuiManager m_auimgr
 
wxString m_perspective
 
WX_INFOBARm_infoBar
 
APPEARANCE_CONTROLS_3Dm_appearancePanel
 
wxString m_configName
 
SETTINGS_MANAGERm_settingsManager
 
FILE_HISTORYm_fileHistory
 
bool m_supportsAutoSave
 
bool m_autoSavePending
 
bool m_autoSaveRequired
 
wxTimer * m_autoSaveTimer
 
UNDO_REDO_CONTAINER m_undoList
 
UNDO_REDO_CONTAINER m_redoList
 
wxString m_mruPath
 
ORIGIN_TRANSFORMS m_originTransforms
 
std::map< int, UIUpdateHandlerm_uiUpdateMap
 < Map containing the UI update handlers registered with wx for each action.
 
bool m_isClosing
 Set by NonUserClose() to indicate that the user did not request the current close.
 
bool m_isNonUserClose
 
std::map< const wxString, TOOL_ACTION * > m_acceptedExts
 Associates files extensions with action to execute.
 
TOOL_MANAGERm_toolManager
 
ACTIONSm_actions
 
TOOL_DISPATCHERm_toolDispatcher
 
SELECTION m_dummySelection
 
std::vector< std::string > m_toolStack
 
bool m_immediateActions
 
MOUSE_DRAG_ACTION m_dragAction
 
bool m_moveWarpsCursor
 

Static Protected Attributes

static bool m_openGLFailureOccured = false
 Has any failure occured when switching to OpenGL in any EDA_DRAW_FRAME?
 
static constexpr int KICAD_AUI_TB_STYLE = wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_PLAIN_BACKGROUND
 < Default style flags used for wxAUI toolbars.
 

Private Member Functions

void OnResizeHierarchyNavigator (wxSizeEvent &aEvent)
 
void onResizeNetNavigator (wxSizeEvent &aEvent)
 
void setupTools ()
 
void OnExit (wxCommandEvent &event)
 
void OnLoadFile (wxCommandEvent &event)
 
void OnImportProject (wxCommandEvent &event)
 
void OnClearFileHistory (wxCommandEvent &aEvent)
 
bool canCloseWindow (wxCloseEvent &aCloseEvent) override
 
void doCloseWindow () override
 
void updateTitle ()
 Set the main window title bar text.
 
void initScreenZoom ()
 Initialize the zoom value of the current screen and mark the screen as zoom-initialized.
 
bool checkForNoFullyDefinedLibIds (SCH_SHEET *aSheet)
 Verify that the symbol library links aSheet and all of its child sheets have been remapped to the symbol library table.
 
bool importFile (const wxString &aFileName, int aFileType, const std::map< std::string, UTF8 > *aProperties=nullptr)
 Load the given filename but sets the path to the current project path.
 
bool saveSchematicFile (SCH_SHEET *aSheet, const wxString &aSavePath)
 Save aSheet to a schematic file.
 
void mapExistingAnnotation (std::map< wxString, wxString > &aMap)
 Fill a map of uuid -> reference from the currently loaded schematic.
 
bool updateAutoSaveFile ()
 
const wxString & getAutoSaveFileName () const
 
wxTreeCtrl * createHighlightedNetNavigator ()
 
void onNetNavigatorSelection (wxTreeEvent &aEvent)
 
void onNetNavigatorSelChanging (wxTreeEvent &aEvent)
 
void CaptureHierarchyPaneSize ()
 
void windowClosing (wxCloseEvent &event)
 (with its unexpected name so it does not collide with the real OnWindowClose() function provided in derived classes) is called just before a window closing, and is used to call a derivation specific SaveSettings().
 
void commonInit (FRAME_T aFrameType)
 Collect common initialization functions used in all CTORs.
 
wxWindow * findQuasiModalDialog ()
 

Private Attributes

SCHEMATICm_schematic
 The currently loaded schematic.
 
wxString m_highlightedConn
 The highlighted net or bus or empty string.
 
wxPageSetupDialogData m_pageSetupData
 
std::vector< std::unique_ptr< SCH_ITEM > > m_items_to_repeat
 For the repeat-last-item cmd.
 
wxString m_netListerCommand
 Command line to call a custom net list generator.
 
int m_exec_flags
 Flags of the wxExecute() function to call a custom net list generator.
 
DIALOG_SCH_FINDm_findReplaceDialog
 
DIALOG_ERCm_ercDialog
 
DIALOG_BOOK_REPORTERm_diffSymbolDialog
 
HIERARCHY_PANEm_hierarchy
 
DIALOG_SYMBOL_FIELDS_TABLEm_symbolFieldsTableDialog
 
wxTreeCtrl * m_netNavigator
 
bool m_syncingPcbToSchSelection
 
bool m_show_search
 
bool m_highlightedConnChanged
 
std::vector< wxEvtHandler * > m_schematicChangeListeners
 
std::vector< LIB_IDm_designBlockHistoryList
 
DESIGN_BLOCK_PANEm_designBlocksPane
 
std::unique_ptr< wxFileSystemWatcherm_watcher
 These are file watchers for the symbol library tables.
 
wxFileName m_watcherFileName
 
wxDateTime m_watcherLastModified
 
wxTimer m_watcherDebounceTimer
 
NL_SCHEMATIC_PLUGINm_spaceMouse
 
BASE_SCREENm_currentScreen
 current used SCREEN
 
EDA_DRAW_PANEL_GALm_canvas
 This the frame's interface to setting GAL display options.
 
GAL_DISPLAY_OPTIONS_IMPL m_galDisplayOptions
 
int m_lastToolbarIconSize
 
KIWAYm_kiway
 
HOLDER_TYPE m_type
 
const EDA_IU_SCALEm_iuScale
 
EDA_UNITS m_userUnits
 

Friends

class SCH_EDITOR_CONTROL
 
class SCH_FIND_REPLACE_TOOL
 

Detailed Description

Schematic editor (Eeschema) main window.

Definition at line 135 of file sch_edit_frame.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 41 of file kiway_holder.h.

◆ UNDO_REDO_LIST

Specifies whether we are interacting with the undo or redo stacks.

Enumerator
UNDO_LIST 
REDO_LIST 

Definition at line 113 of file eda_base_frame.h.

Constructor & Destructor Documentation

◆ SCH_EDIT_FRAME()

SCH_EDIT_FRAME::SCH_EDIT_FRAME ( KIWAY aKiway,
wxWindow *  aParent 
)

Definition at line 138 of file sch_edit_frame.cpp.

References _, _HKI, EE_ACTIONS::ddAppendFile, defaultDesignBlocksPaneInfo(), defaultNetNavigatorPaneInfo(), defaultPropertiesPaneInfo(), defaultSchSelectionFilterPaneInfo(), EESCHEMA_SETTINGS::AUI_PANELS::design_blocks_panel_docked_width, EESCHEMA_SETTINGS::AUI_PANELS::design_blocks_show, EDA_EVT_PLUGIN_AVAILABILITY_CHANGED, EESCHEMA_SETTINGS::AUI_PANELS::float_net_nav_panel, KIGFX::VIEW::GetPainter(), EESCHEMA_SETTINGS::AUI_PANELS::hierarchy_panel_docked_height, EESCHEMA_SETTINGS::AUI_PANELS::hierarchy_panel_docked_width, EESCHEMA_SETTINGS::AUI_PANELS::hierarchy_panel_float_height, EESCHEMA_SETTINGS::AUI_PANELS::hierarchy_panel_float_width, icon_eeschema, icon_eeschema_16, icon_eeschema_32, KiBitmap(), FILEEXT::KiCadSchematicFileExtension, LAYER_ERC_ERR, LAYER_ERC_EXCLUSION, LAYER_ERC_WARN, LAYER_OP_CURRENTS, LAYER_OP_VOLTAGES, EESCHEMA_SETTINGS::m_Appearance, EESCHEMA_SETTINGS::m_AuiPanels, EESCHEMA_SETTINGS::AUI_PANELS::net_nav_panel_docked_size, EESCHEMA_SETTINGS::AUI_PANELS::net_nav_panel_float_pos, EESCHEMA_SETTINGS::AUI_PANELS::net_nav_panel_float_size, onCloseErcDialog(), onCloseSymbolDiffDialog(), onCloseSymbolFieldsTableDialog(), onNetNavigatorSelChanging(), onNetNavigatorSelection(), OnResizeHierarchyNavigator(), onResizeNetNavigator(), onSize(), Pgm(), EESCHEMA_SETTINGS::AUI_PANELS::properties_panel_width, SCH_SHEET_PATH::push_back(), EESCHEMA_SETTINGS::AUI_PANELS::schematic_hierarchy_float, EESCHEMA_SETTINGS::AUI_PANELS::search_panel_dock_direction, EESCHEMA_SETTINGS::AUI_PANELS::search_panel_height, EESCHEMA_SETTINGS::AUI_PANELS::search_panel_width, SetAuiPaneSize(), KIGFX::VIEW::SetLayerVisible(), KIPLATFORM::APP::SetShutdownBlockReason(), EESCHEMA_SETTINGS::APPEARANCE::show_erc_errors, EESCHEMA_SETTINGS::APPEARANCE::show_erc_exclusions, EESCHEMA_SETTINGS::APPEARANCE::show_erc_warnings, EESCHEMA_SETTINGS::AUI_PANELS::show_net_nav_panel, EESCHEMA_SETTINGS::APPEARANCE::show_op_currents, EESCHEMA_SETTINGS::APPEARANCE::show_op_voltages, EESCHEMA_SETTINGS::AUI_PANELS::show_properties, and EESCHEMA_SETTINGS::AUI_PANELS::show_schematic_hierarchy.

◆ ~SCH_EDIT_FRAME()

Member Function Documentation

◆ ActivateGalCanvas()

void SCH_BASE_FRAME::ActivateGalCanvas ( )
overridevirtualinherited

◆ addApiPluginTools()

void EDA_DRAW_FRAME::addApiPluginTools ( )
protectedvirtualinherited

◆ AddCopyForRepeatItem()

void SCH_EDIT_FRAME::AddCopyForRepeatItem ( const SCH_ITEM aItem)

◆ AddDesignBlockLibrary()

◆ AddJunction()

◆ AddMenuLanguageList()

◆ AddSchematicChangeListener()

void SCH_EDIT_FRAME::AddSchematicChangeListener ( wxEvtHandler *  aListener)

Add aListener to post #EDA_EVT_SCHEMATIC_CHANGED command events to.

Warning
The caller is reponsible for removing any listeners that are no long valid.
Note
This only gets called when the schematic editor is in stand alone mode. Changing projects in the project manager closes the schematic editor when a new project is loaded.

Definition at line 2562 of file sch_edit_frame.cpp.

References m_schematicChangeListeners.

◆ AddStandardHelpMenu()

◆ AddStandardSubMenus()

void EDA_DRAW_FRAME::AddStandardSubMenus ( TOOL_MENU aMenu)
inherited

◆ AddToScreen()

◆ AllowCaseSensitiveFileNameClashes()

bool SCH_EDIT_FRAME::AllowCaseSensitiveFileNameClashes ( const wxString &  aOldName,
const wxString &  aSchematicFileName 
)

Check aSchematicFileName for a potential file name case sensitivity clashes.

On platforms where file names are case sensitive, it is possible to schematic sheet file names that would cause issues on platforms where file name are case insensitive. File names foo.sch and Foo.sch are unique files on Linux and MacOS but on Windows this would result in a broken schematic.

Parameters
aSchematicFileNameis the absolute path and file name of the file to test.
Returns
true if the user accepts the potential file name clash risk.

Definition at line 699 of file sheet.cpp.

References _, SCH_BASE_FRAME::eeconfig(), SCHEMATIC::Hierarchy(), EESCHEMA_SETTINGS::m_Appearance, Schematic(), and EESCHEMA_SETTINGS::APPEARANCE::show_sheet_filename_case_sensitivity_dialog.

Referenced by DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged().

◆ AngleValueFromString()

EDA_ANGLE UNITS_PROVIDER::AngleValueFromString ( const wxString &  aTextValue) const
inlineinherited

◆ AnnotateSymbols()

void SCH_EDIT_FRAME::AnnotateSymbols ( SCH_COMMIT aCommit,
ANNOTATE_SCOPE_T  aAnnotateScope,
ANNOTATE_ORDER_T  aSortOption,
ANNOTATE_ALGO_T  aAlgoOption,
bool  aRecursive,
int  aStartNumber,
bool  aResetAnnotation,
bool  aRepairTimestamps,
REPORTER aReporter 
)

Annotate the symbols in the schematic that are not currently annotated.

Multi-unit symbols are annotated together. E.g. if two symbols were R8A and R8B, they may become R3A and R3B, but not R3A and R3C or R3C and R4D.

Parameters
aCommitTransaction container used to record changes for undo/redo
aAnnotateScopeSee ANNOTATE_SCOPE_T
aSortOptionDefine the annotation order. See ANNOTATE_ORDER_T.
aAlgoOptionDefine the annotation style. See ANNOTATE_ALGO_T.
aRecursiveAnnotation should descend into and annotate subsheets
aStartNumberThe start number for non-sheet-based annotation styles.
aResetAnnotationClear any previous annotation if true. Otherwise, keep the existing symbol annotation.
aRepairTimestampsTest for and repair any duplicate time stamps if true. Otherwise, keep the existing time stamps. This option could change previous annotation because time stamps are used to handle annotation in complex hierarchies.
aReporterA sink for error messages. Use NULL_REPORTER if you don't need errors.

When the sheet number is used in annotation, each sheet annotation starts from sheet number * 100. In other words the first sheet uses 100 to 199, the second sheet uses 200 to 299, and so on.

Definition at line 212 of file annotate.cpp.

References _, SCH_REFERENCE_LIST::AddItem(), SCH_REFERENCE::Annotate(), ANNOTATE_ALL, ANNOTATE_CURRENT_SHEET, ANNOTATE_SELECTION, SCH_REFERENCE_LIST::AnnotateByOptions(), SCH_SHEET_PATH::AppendMultiUnitSymbol(), SCH_SHEET_PATH::AppendSymbol(), KIID_PATH::AsString(), CheckAnnotate(), SCH_REFERENCE_LIST::Contains(), DIALOG_ERC_WINDOW_NAME, SCH_BASE_FRAME::GetCanvas(), SCH_REFERENCE_LIST::GetCount(), GetCurrentSheet(), getInferredSymbols(), SCH_SHEET_PATH::GetMultiUnitSymbols(), SCH_SHEET_LIST::GetMultiUnitSymbols(), SCH_SYMBOL::GetRef(), EE_SELECTION_TOOL::GetSelection(), SCH_REFERENCE::GetSheetPath(), SCH_SCREEN::GetSheets(), SCH_SHEET_LIST::GetSheetsWithinPath(), SCH_REFERENCE::GetSymbol(), SCH_SHEET_PATH::GetSymbols(), SCH_SHEET_LIST::GetSymbols(), SCH_SHEET_LIST::GetSymbolsWithinPath(), TOOL_MANAGER::GetTool(), SCH_ITEM::GetUnit(), SCH_SYMBOL::GetUnitCount(), SCH_SYMBOL::GetUnitSelection(), SCH_SYMBOL::GetValue(), SCHEMATIC::Hierarchy(), SCH_SHEET_PATH::LastScreen(), TOOLS_HOLDER::m_toolManager, EDA_ITEM::m_Uuid, mapExistingAnnotation(), COMMIT::Modify(), OnModify(), SCH_SHEET_PATH::Path(), SCH_SHEET_PATH::push_back(), EDA_DRAW_PANEL_GAL::Refresh(), SCH_REFERENCE_LIST::RemoveAnnotation(), SCH_SCREENS::ReplaceDuplicateTimeStamps(), REPORTER::Report(), REPORTER::ReportTail(), RPT_SEVERITY_ACTION, RPT_SEVERITY_ERROR, RPT_SEVERITY_WARNING, SCH_SHEET_T, Schematic(), SetSheetNumberAndCount(), SCH_REFERENCE_LIST::SplitReferences(), SCH_SYMBOL::SubReference(), SCH_BASE_FRAME::SyncView(), SCH_SHEET_PATH::UpdateAllScreenReferences(), and UpdateNetHighlightStatus().

Referenced by SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::ImportSheet(), DIALOG_ANNOTATE::OnAnnotateClick(), and SCH_EDIT_TOOL::RepeatDrawItem().

◆ AppendMsgPanel()

void EDA_DRAW_FRAME::AppendMsgPanel ( const wxString &  aTextUpper,
const wxString &  aTextLower,
int  aPadding = 6 
)
inherited

Append a message to the message panel.

This helper method checks to make sure the message panel exists in the frame and appends a message to it using the message panel AppendMessage() method.

Parameters
aTextUpperThe message upper text.
aTextLowerThe message lower text.
aPaddingNumber of spaces to pad between messages.

Definition at line 802 of file eda_draw_frame.cpp.

References EDA_MSG_PANEL::AppendMessage(), EDA_BASE_FRAME::m_isClosing, and EDA_DRAW_FRAME::m_messagePanel.

Referenced by GERBER_FILE_IMAGE::DisplayImageInfo(), SYMBOL_VIEWER_FRAME::updatePreviewSymbol(), and SYMBOL_EDIT_FRAME::UpdateSymbolMsgPanelInfo().

◆ AskToSaveChanges()

bool SCH_EDIT_FRAME::AskToSaveChanges ( )

Check if any of the screens has unsaved changes and asks the user whether to save or drop them.

Returns
True if user decided to save or drop changes, false if the operation should be canceled.

Definition at line 1456 of file eeschema/files-io.cpp.

References _, FRAME_SIMULATOR, SCH_SCREENS::GetFirst(), SCH_SCREENS::GetNext(), HandleUnsavedChanges(), Kiway, KIWAY::Player(), SaveProject(), and Schematic().

Referenced by OpenProjectFiles().

◆ AutoRotateItem()

◆ BreakSegment()

void SCH_EDIT_FRAME::BreakSegment ( SCH_COMMIT aCommit,
SCH_LINE aSegment,
const VECTOR2I aPoint,
SCH_LINE **  aNewSegment,
SCH_SCREEN aScreen 
)

Break a single segment into two at the specified point.

Parameters
aCommitTransaction container used to record changes for undo/redo
aSegmentLine segment to break
aPointPoint at which to break the segment
aNewSegmentPointer to the newly created segment (if created)
aScreenis the screen to examine

Definition at line 302 of file bus-wire-junction.cpp.

References COMMIT::Added(), SCH_BASE_FRAME::AddToScreen(), SCH_LINE::BreakAt(), IS_BROKEN, IS_CHANGED, IS_NEW, COMMIT::Modify(), and EDA_ITEM::SetFlags().

Referenced by BreakSegments(), SCH_EDIT_TOOL::BreakWire(), and TrimWire().

◆ BreakSegments()

bool SCH_EDIT_FRAME::BreakSegments ( SCH_COMMIT aCommit,
const VECTOR2I aPoint,
SCH_SCREEN aScreen 
)

Check every wire and bus for a intersection at aPoint and break into two segments at aPoint if an intersection is found.

Parameters
aCommitTransaction container used to record changes for undo/redo
aPointTest this point for an intersection.
aScreenis the screen to examine.
Returns
True if any wires or buses were broken.

Definition at line 320 of file bus-wire-junction.cpp.

References BreakSegment(), and SCH_SCREEN::GetBusesAndWires().

Referenced by AddJunction(), and BreakSegmentsOnJunctions().

◆ BreakSegmentsOnJunctions()

bool SCH_EDIT_FRAME::BreakSegmentsOnJunctions ( SCH_COMMIT aCommit,
SCH_SCREEN aScreen 
)

Test all junctions and bus entries in the schematic for intersections with wires and buses and breaks any intersections into multiple segments.

Parameters
aCommitTransaction container used to record changes for undo/redo
aScreenis the screen to examine.
Returns
True if any wires or buses were broken.

Definition at line 335 of file bus-wire-junction.cpp.

References BreakSegments(), SCH_BUS_ENTRY_BASE::GetEnd(), SCH_BUS_ENTRY_BASE::GetPosition(), SCH_SCREEN::Items(), EE_RTREE::OfType(), SCH_BUS_WIRE_ENTRY_T, and SCH_JUNCTION_T.

Referenced by SchematicCleanUp().

◆ CanAcceptApiCommands()

virtual bool EDA_BASE_FRAME::CanAcceptApiCommands ( )
inlinevirtualinherited

Checks if this frame is ready to accept API commands.

A frame might not accept commands if a long-running process is underway, a dialog is open, the user is interacting with a tool, etc.

Reimplemented in PCB_EDIT_FRAME.

Definition at line 608 of file eda_base_frame.h.

Referenced by PCB_EDIT_FRAME::CanAcceptApiCommands(), and API_HANDLER_EDITOR::checkForBusy().

◆ canCloseWindow()

◆ CaptureHierarchyPaneSize()

◆ ChangeUserUnits()

void EDA_BASE_FRAME::ChangeUserUnits ( EDA_UNITS  aUnits)
inherited

◆ CheckAnnotate()

int SCH_EDIT_FRAME::CheckAnnotate ( ANNOTATION_ERROR_HANDLER  aErrorHandler,
ANNOTATE_SCOPE_T  aAnnotateScope = ANNOTATE_ALL,
bool  aRecursive = true 
)

Check for annotation errors.

The following list of items are checked:

  • Symbols that are not annotated.
  • Duplicate symbol references.
  • Multiple part per package symbols where the part number is greater number of parts in the package.
  • Multiple part per package symbols where the reference designator is different between parts.
Returns
Number of annotation errors found.
Parameters
aReporterA handler for error reporting.
aAnnotateScopeSee ANNOTATE_SCOPE_T Check the current sheet only if true. Otherwise check the entire schematic.

Definition at line 460 of file annotate.cpp.

References ANNOTATE_ALL, ANNOTATE_CURRENT_SHEET, ANNOTATE_SELECTION, SCH_SHEET_PATH::AppendSymbol(), SCH_REFERENCE_LIST::CheckAnnotation(), SCH_REFERENCE_LIST::GetCount(), GetCurrentSheet(), getInferredSymbols(), SCH_SCREEN::GetSheets(), SCH_SHEET_LIST::GetSheetsWithinPath(), SCH_SHEET_PATH::GetSymbols(), SCH_SHEET_LIST::GetSymbols(), TOOL_MANAGER::GetTool(), SCHEMATIC::Hierarchy(), SCH_SHEET_PATH::LastScreen(), TOOLS_HOLDER::m_toolManager, SCH_SHEET_PATH::push_back(), EE_SELECTION_TOOL::RequestSelection(), SCH_SHEET_T, and Schematic().

Referenced by AnnotateSymbols(), DIALOG_ERC::OnRunERCClick(), ReadyToNetlist(), and DIALOG_ERC::UpdateAnnotationWarning().

◆ CheckForAutoSaveFile()

void SCH_EDIT_FRAME::CheckForAutoSaveFile ( const wxFileName &  aFileName)
overridevirtual

This overloaded version checks if the auto save master file "#auto_saved_files#" exists and recovers all of the schematic files listed in it.

Parameters
aFileNameis the project auto save master file name.

Reimplemented from EDA_BASE_FRAME.

Definition at line 1556 of file eeschema/files-io.cpp.

References _, FILEEXT::AutoSaveFilePrefix, FILEEXT::BackupFileSuffix, DeleteAutoSaveFile(), Pgm(), removeFile(), and traceAutoSave.

Referenced by OpenProjectFiles().

◆ checkForNoFullyDefinedLibIds()

bool SCH_EDIT_FRAME::checkForNoFullyDefinedLibIds ( SCH_SHEET aSheet)
private

Verify that the symbol library links aSheet and all of its child sheets have been remapped to the symbol library table.

Parameters
aSheetis the SCH_SHEET object to test.
Returns
true if aSheet and its child sheets have not been remapped.

Definition at line 85 of file sheet.cpp.

References _, DisplayInfoMessage(), SCH_SCREEN::GetFileName(), SCH_SHEET::GetScreen(), and SCH_SCREENS::HasNoFullyDefinedLibIds().

Referenced by LoadSheetFromFile().

◆ CheckSheetForRecursion()

bool SCH_EDIT_FRAME::CheckSheetForRecursion ( SCH_SHEET aSheet,
SCH_SHEET_PATH aCurrentSheet 
)

Verify that aSheet will not cause a recursion error in aCurrentSheet.

Parameters
aSheetis the SCH_SHEET object to test.
aCurrentSheetis the SCH_SHEET_PATH where aSheet is going to reside.
Returns
true if aSheet will cause a recursion error in aCurrentSheet.

Definition at line 51 of file sheet.cpp.

References _, DisplayError(), SCH_SCREEN::GetFileName(), SCHEMATIC::Hierarchy(), SCH_SHEET_PATH::LastScreen(), Schematic(), and SCH_SHEET_LIST::TestForRecursion().

Referenced by LoadSheetFromFile(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), and SCH_EDIT_TOOL::RepeatDrawItem().

◆ ClearExecFlags()

void SCH_EDIT_FRAME::ClearExecFlags ( const int  aFlags)
inline

Clear (removes) specified flags that not needed for next execution of external generator of the netlist or bom.

Parameters
aFlagsis the wxEXEC_* flags, see wxExecute documentation.

Definition at line 817 of file sch_edit_frame.h.

References m_exec_flags.

◆ ClearFileHistory()

◆ ClearFindReplaceStatus()

void SCH_EDIT_FRAME::ClearFindReplaceStatus ( )

◆ ClearMsgPanel()

◆ ClearRepeatItemsList()

void SCH_EDIT_FRAME::ClearRepeatItemsList ( )
inline

Clear the list of items which are to be repeated with the insert key.

These objects are owned by this container.

Definition at line 724 of file sch_edit_frame.h.

References m_items_to_repeat.

Referenced by importFile(), OnImportProject(), OpenProjectFiles(), PutDataInPreviousState(), and ~SCH_EDIT_FRAME().

◆ ClearUndoORRedoList()

void SCH_EDIT_FRAME::ClearUndoORRedoList ( UNDO_REDO_LIST  whichList,
int  aItemCount = -1 
)
overridevirtual

Free the undo or redo list from aList element.

  • Wrappers are deleted.
  • data pointed by wrappers are deleted if not in use in schematic i.e. when they are copy of a schematic item or they are no more in use (DELETED)
Parameters
whichListis the UNDO_REDO_CONTAINER to clear
aItemCountis the count of items to remove. Use < 0 to remove all items from the beginning of the list.

Reimplemented from EDA_BASE_FRAME.

Definition at line 573 of file schematic_undo_redo.cpp.

References UNDO_REDO_CONTAINER::ClearCommandList(), PICKED_ITEMS_LIST::ClearListAndDeleteItems(), UNDO_REDO_CONTAINER::m_CommandsList, EDA_BASE_FRAME::m_redoList, EDA_BASE_FRAME::m_undoList, and EDA_BASE_FRAME::UNDO_LIST.

Referenced by DIALOG_SYMBOL_REMAP::OnRemapSymbols(), and SaveCopyInUndoList().

◆ ClearUndoRedoList()

◆ commonInit()

void EDA_BASE_FRAME::commonInit ( FRAME_T  aFrameType)
privateinherited

◆ CommonSettingsChanged()

void SCH_EDIT_FRAME::CommonSettingsChanged ( bool  aEnvVarsChanged,
bool  aTextVarsChanged 
)
overridevirtual

Called after the preferences dialog is run.

Reimplemented from SCH_BASE_FRAME.

Definition at line 2136 of file sch_edit_frame.cpp.

References TEMPLATES::AddTemplateFieldNames(), SCH_BASE_FRAME::CommonSettingsChanged(), EESCHEMA_SETTINGS::APPEARANCE::default_font, TEMPLATES::DeleteAllFieldNameTemplates(), EESCHEMA_SETTINGS::DRAWING::field_names, EDA_DRAW_PANEL_GAL::ForceRefresh(), SETTINGS_MANAGER::GetAppSettings(), SCH_BASE_FRAME::GetCanvas(), GetCurrentSheet(), EDA_DRAW_FRAME::GetGalDisplayOptions(), SCH_SCREEN::GetLibSymbols(), SCH_BASE_FRAME::GetRenderSettings(), GetSchematicJunctionSize(), PGM_BASE::GetSettingsManager(), SCH_DRAW_PANEL::GetView(), SCH_SCREEN::Items(), SCH_SHEET_PATH::LastScreen(), LAYER_ERC_ERR, LAYER_ERC_EXCLUSION, LAYER_ERC_WARN, LAYER_OP_CURRENTS, LAYER_OP_VOLTAGES, EESCHEMA_SETTINGS::m_Appearance, EESCHEMA_SETTINGS::m_Drawing, SCHEMATIC_SETTINGS::m_IntersheetRefsShow, SCHEMATIC_SETTINGS::m_JunctionSize, SCHEMATIC_SETTINGS::m_TemplateFieldNames, APP_SETTINGS_BASE::m_Window, Pgm(), GAL_DISPLAY_OPTIONS_IMPL::ReadWindowSettings(), EDA_DRAW_FRAME::RecreateToolbars(), RefreshOperatingPointDisplay(), Schematic(), KIGFX::RENDER_SETTINGS::SetDefaultFont(), KIGFX::VIEW::SetLayerVisible(), SCHEMATIC::Settings(), EESCHEMA_SETTINGS::APPEARANCE::show_erc_errors, EESCHEMA_SETTINGS::APPEARANCE::show_erc_exclusions, EESCHEMA_SETTINGS::APPEARANCE::show_erc_warnings, EESCHEMA_SETTINGS::APPEARANCE::show_op_currents, EESCHEMA_SETTINGS::APPEARANCE::show_op_voltages, and ShowAllIntersheetRefs().

◆ config()

APP_SETTINGS_BASE * EDA_BASE_FRAME::config ( ) const
virtualinherited

Returns the settings object used in SaveSettings(), and is overloaded in KICAD_MANAGER_FRAME.

Reimplemented in SYMBOL_EDIT_FRAME, KICAD_MANAGER_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 883 of file eda_base_frame.cpp.

References Kiface(), and KIFACE_BASE::KifaceSettings().

Referenced by GERBVIEW_FRAME::ActivateGalCanvas(), PCB_BASE_FRAME::ActivateGalCanvas(), AskLoadBoardFileName(), EDA_DRAW_FRAME::CommonSettingsChanged(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), SIMULATOR_FRAME::doCloseWindow(), SCH_BASE_FRAME::eeconfig(), GERBVIEW_FRAME::GERBVIEW_FRAME(), COMMON_TOOLS::GridFast1(), COMMON_TOOLS::GridFast2(), COMMON_TOOLS::GridFastCycle(), GERBVIEW_FRAME::gvconfig(), EDA_DRAW_FRAME::IsGridOverridden(), EDA_DRAW_FRAME::IsGridVisible(), SCH_BASE_FRAME::libeditconfig(), PCB_CALCULATOR_FRAME::loadPages(), EDA_DRAW_FRAME::OnUpdateSelectGrid(), EDA_DRAW_FRAME::OnUpdateSelectZoom(), GERBVIEW_FRAME::Read_EXCELLON_File(), EDA_BASE_FRAME::SaveSettings(), PCB_BASE_EDIT_FRAME::SetBoard(), PCB_BASE_FRAME::SetDisplayOptions(), EDA_DRAW_FRAME::SetGridOverrides(), EDA_DRAW_FRAME::SetGridVisibility(), CVPCB_MAINFRAME::setupTools(), setupTools(), SIMULATOR_FRAME::setupTools(), SYMBOL_VIEWER_FRAME::setupTools(), GERBVIEW_FRAME::setupTools(), PL_EDITOR_FRAME::setupTools(), BITMAP2CMP_FRAME::ShowChangedLanguage(), PCB_CALCULATOR_FRAME::ShowChangedLanguage(), SYMBOL_DIFF_FRAME::SYMBOL_DIFF_FRAME(), GRID_MENU::update(), ZOOM_MENU::update(), EDA_DRAW_FRAME::UpdateGridSelectBox(), EDA_DRAW_FRAME::UpdateZoomSelectBox(), EDA_BASE_FRAME::windowClosing(), and BITMAP2CMP_FRAME::~BITMAP2CMP_FRAME().

◆ ConfigBaseName()

wxString EDA_BASE_FRAME::ConfigBaseName ( )
inlineoverridevirtualinherited

Get the configuration base name.

This is usually the name of the frame set by CTOR, except for frames shown in multiple modes in which case the m_configName must be set to the base name so that a single configuration can be used.

Returns
a base name prefix used in Load/Save settings to build the full name of keys used in configuration.

Reimplemented from TOOLS_HOLDER.

Definition at line 349 of file eda_base_frame.h.

References EDA_BASE_FRAME::m_configName.

◆ CreateArchiveLibrary()

bool SCH_EDIT_FRAME::CreateArchiveLibrary ( const wxString &  aFileName)

Create a library aFileName that contains all symbols used in the current schematic.

Parameters
aFileNameThe full path and file name of the archive library.
Returns
True if aFileName was written successfully.

Definition at line 41 of file libarch.cpp.

References _, DisplayErrorMessage(), LIB_SYMBOL::Flatten(), SCH_SCREENS::GetFirst(), SCH_SYMBOL::GetLibId(), SCH_BASE_FRAME::GetLibSymbol(), SCH_SCREENS::GetNext(), LIB_ID::GetUniStringLibId(), LIB_ID::GetUniStringLibItemName(), SCH_SYMBOL_T, Schematic(), and IO_ERROR::What().

◆ createCanvas()

◆ createHighlightedNetNavigator()

wxTreeCtrl * SCH_EDIT_FRAME::createHighlightedNetNavigator ( )
private

Definition at line 2584 of file sch_edit_frame.cpp.

References m_netNavigator.

◆ CreateHotkeyPopup()

void EDA_DRAW_FRAME::CreateHotkeyPopup ( )
virtualinherited

◆ CreateInfoBar()

void EDA_BASE_FRAME::CreateInfoBar ( )
inherited

◆ createNewDesignBlockLibrary()

◆ CreateNewDesignBlockLibrary()

wxString SCH_EDIT_FRAME::CreateNewDesignBlockLibrary ( const wxString &  aLibName = wxEmptyString,
const wxString &  aProposedName = wxEmptyString 
)

If a library name is given, creates a new design block library in the project folder with the given name.

If no library name is given it prompts user for a library path, then creates a new design block library at that location. If library exists, user is warned about that, and is given a chance to abort the new creation, and in that case existing library is first deleted.

Parameters
aProposedNameis the initial path and filename shown in the file chooser dialog.
Returns
The newly created library path if library was successfully created, else wxEmptyString because user aborted or error.

Definition at line 105 of file design_block_utils.cpp.

References createNewDesignBlockLibrary(), and selectDesignBlockLibTable().

Referenced by SCH_DESIGN_BLOCK_CONTROL::NewLibrary().

◆ CreateScreens()

◆ CreateServer()

void KIWAY_PLAYER::CreateServer ( int  service,
bool  local = true 
)
inherited

◆ CurrentToolName()

std::string TOOLS_HOLDER::CurrentToolName ( ) const
inherited

◆ DefaultExecFlags()

void SCH_EDIT_FRAME::DefaultExecFlags ( )
inline

Reset the execution flags to defaults for external netlist and bom generators.

Definition at line 802 of file sch_edit_frame.h.

References m_exec_flags.

Referenced by WriteNetListFile().

◆ DeleteAnnotation()

◆ DeleteAutoSaveFile()

void SCH_EDIT_FRAME::DeleteAutoSaveFile ( const wxFileName &  aFileName)
overridevirtual

Reimplemented from EDA_BASE_FRAME.

Definition at line 1661 of file eeschema/files-io.cpp.

References _, Pgm(), and removeFile().

Referenced by CheckForAutoSaveFile(), and OpenProjectFiles().

◆ DeleteDesignBlockFromLibrary()

◆ DeleteDesignBlockLibrary()

bool SCH_EDIT_FRAME::DeleteDesignBlockLibrary ( const wxString &  aLibName,
bool  aConfirm 
)

◆ DeleteJunction()

void SCH_EDIT_FRAME::DeleteJunction ( SCH_COMMIT aCommit,
SCH_ITEM aItem 
)

Removes a given junction and heals any wire segments under the junction.

Parameters
aItemThe junction to delete

Note that std::list or similar is required here as we may insert values in the loop below. This will invalidate iterators in a std::vector or std::deque

Definition at line 361 of file bus-wire-junction.cpp.

References alg::for_all_pairs(), EDA_ITEM::GetEditFlags(), SCH_LINE::GetEndPoint(), EDA_ITEM::GetPosition(), GetScreen(), SCH_LINE::GetStartPoint(), TOOL_MANAGER::GetTool(), SCH_LINE::IsBus(), SCH_LINE::IsEndPoint(), SCH_LINE::IsWire(), SCH_SCREEN::Items(), TOOLS_HOLDER::m_toolManager, SCH_LINE::MergeOverlap(), EE_RTREE::Overlapping(), COMMIT::Removed(), SCH_BASE_FRAME::RemoveFromScreen(), SCH_LINE_T, EDA_ITEM::SetFlags(), and STRUCT_DELETED.

Referenced by SCH_EDIT_TOOL::DoDelete().

◆ DesignBlocksPaneName()

static const wxString EDA_DRAW_FRAME::DesignBlocksPaneName ( )
inlinestaticinherited

◆ Destroy()

◆ DismissModal()

◆ DisplayConstraintsMsg()

void EDA_DRAW_FRAME::DisplayConstraintsMsg ( const wxString &  msg)
inherited

◆ DisplayCurrentSheet()

◆ DisplayGridMsg()

void EDA_DRAW_FRAME::DisplayGridMsg ( )
virtualinherited

◆ DisplayToolMsg()

void EDA_DRAW_FRAME::DisplayToolMsg ( const wxString &  msg)
overridevirtualinherited

Reimplemented from TOOLS_HOLDER.

Definition at line 615 of file eda_draw_frame.cpp.

Referenced by EDIT_TOOL::Duplicate(), and PCB_CONTROL::Paste().

◆ DisplayUnitsMsg()

void EDA_DRAW_FRAME::DisplayUnitsMsg ( )
inherited

Display current unit pane in the status bar.

Definition at line 641 of file eda_draw_frame.cpp.

References _, and UNITS_PROVIDER::GetUserUnits().

Referenced by EDA_DRAW_FRAME::UpdateGridSelectBox(), SCH_BASE_FRAME::UpdateStatusBar(), and EDA_DRAW_FRAME::UpdateStatusBar().

◆ doAutoSave()

◆ doCloseWindow()

◆ doReCreateMenuBar()

void SCH_EDIT_FRAME::doReCreateMenuBar ( )
overrideprotectedvirtual

Reimplemented from EDA_BASE_FRAME.

Definition at line 42 of file eeschema/menubar.cpp.

References _, ACTION_MENU::Add(), FILE_HISTORY::AddFilesToMenu(), EDA_BASE_FRAME::AddMenuLanguageList(), ACTION_MENU::AddQuitOrClose(), EDA_BASE_FRAME::AddStandardHelpMenu(), EE_ACTIONS::annotate, EE_ACTIONS::assignFootprints, EE_ACTIONS::changeSymbols, ACTION_MENU::CHECK, ACTION_MENU::Clone(), ACTIONS::configurePaths, ACTIONS::copy, ACTIONS::cut, ACTIONS::deleteTool, EE_ACTIONS::diffSymbol, ACTIONS::doDelete, ACTIONS::doNew, EE_ACTIONS::drawArc, EE_ACTIONS::drawBezier, EE_ACTIONS::drawBus, EE_ACTIONS::drawCircle, EE_ACTIONS::drawLines, EE_ACTIONS::drawRectangle, EE_ACTIONS::drawRuleArea, EE_ACTIONS::drawSheet, EE_ACTIONS::drawSheetOnClipboard, EE_ACTIONS::drawTable, EE_ACTIONS::drawTextBox, EE_ACTIONS::drawWire, EE_ACTIONS::editPageNumber, EE_ACTIONS::editSymbolFields, EE_ACTIONS::editSymbolLibraryLinks, EE_ACTIONS::editTextAndGraphics, ACTION_CONDITIONS::Enable(), ACTIONS::excludeMarker, EE_ACTIONS::exportNetlist, EE_ACTIONS::exportSymbolsToLibrary, EE_ACTIONS::exportSymbolsToNewLibrary, FILE_HISTORY::FileHistoryNotEmpty(), ACTIONS::find, ACTIONS::findAndReplace, EE_ACTIONS::generateBOM, EE_ACTIONS::generateBOMLegacy, ADVANCED_CFG::GetCfg(), EDA_BASE_FRAME::GetFileHistory(), TOOL_MANAGER::GetTool(), ID_IMPORT_NON_KICAD_SCH, EE_ACTIONS::importFPAssignments, EE_ACTIONS::importGraphics, EE_ACTIONS::importSheet, EE_ACTIONS::incrementAnnotations, Kiface(), TOOLS_HOLDER::m_toolManager, EE_ACTIONS::markSimExclusions, EE_ACTIONS::navigateBack, EE_ACTIONS::navigateForward, EE_ACTIONS::navigateNext, EE_ACTIONS::navigatePrevious, EE_ACTIONS::navigateUp, ACTIONS::nextMarker, ACTION_MENU::NORMAL, ACTIONS::open, ACTIONS::openPreferences, ACTIONS::pageSettings, ACTIONS::paste, ACTIONS::pasteSpecial, EE_ACTIONS::placeBusWireEntry, EE_ACTIONS::placeClassLabel, EE_ACTIONS::placeGlobalLabel, EE_ACTIONS::placeHierLabel, EE_ACTIONS::placeImage, EE_ACTIONS::placeJunction, EE_ACTIONS::placeLabel, EE_ACTIONS::placeNoConnect, EE_ACTIONS::placePower, EE_ACTIONS::placeSchematicText, EE_ACTIONS::placeSheetPin, EE_ACTIONS::placeSymbol, ACTIONS::plot, ACTIONS::pluginsReload, ACTIONS::prevMarker, ACTIONS::print, ACTIONS::redo, EDA_BASE_FRAME::RegisterUIUpdateHandler(), EE_ACTIONS::remapSymbols, EE_ACTIONS::repairSchematic, EE_ACTIONS::rescueSymbols, ACTIONS::revert, EE_ACTIONS::runERC, ACTIONS::save, ACTIONS::saveAs, EE_ACTIONS::saveCurrSheetCopyAs, EE_ACTIONS::schematicSetup, ACTIONS::selectAll, EE_ACTIONS::setDNP, EE_ACTIONS::setExcludeFromBoard, EE_ACTIONS::setExcludeFromBOM, EE_ACTIONS::setExcludeFromSimulation, ACTION_MENU::SetIcon(), EDA_BASE_FRAME::SetMenuBar(), ACTION_MENU::SetTitle(), EE_ACTIONS::showBusSyntaxHelp, ACTIONS::showDesignBlockLibTable, EE_ACTIONS::showDesignBlockPanel, EE_ACTIONS::showHierarchy, EE_ACTIONS::showNetNavigator, EE_ACTIONS::showPcbNew, ACTIONS::showProjectManager, ACTIONS::showProperties, ACTIONS::showSearch, EE_ACTIONS::showSimulator, ACTIONS::showSymbolBrowser, ACTIONS::showSymbolEditor, ACTIONS::showSymbolLibTable, EE_ACTIONS::syncAllSheetsPins, EE_ACTIONS::toggleDirectiveLabels, EE_ACTIONS::toggleDNP, EE_ACTIONS::toggleERCErrors, EE_ACTIONS::toggleERCExclusions, EE_ACTIONS::toggleERCWarnings, EE_ACTIONS::toggleExcludeFromBoard, EE_ACTIONS::toggleExcludeFromBOM, EE_ACTIONS::toggleExcludeFromSimulation, EE_ACTIONS::toggleHiddenFields, EE_ACTIONS::toggleHiddenPins, EE_ACTIONS::toggleOPCurrents, EE_ACTIONS::toggleOPVoltages, EE_ACTIONS::togglePinAltIcons, ACTIONS::undo, ACTIONS::unselectAll, EE_ACTIONS::unsetDNP, EE_ACTIONS::unsetExcludeFromBoard, EE_ACTIONS::unsetExcludeFromBOM, EE_ACTIONS::unsetExcludeFromSimulation, FILE_HISTORY::UpdateClearText(), ACTIONS::updatePcbFromSchematic, ACTIONS::updateSchematicFromPcb, EE_ACTIONS::updateSymbols, ACTIONS::zoomFitObjects, ACTIONS::zoomFitScreen, ACTIONS::zoomInCenter, ACTIONS::zoomOutCenter, ACTIONS::zoomRedraw, and ACTIONS::zoomTool.

◆ DoWithAcceptedFiles()

void EDA_BASE_FRAME::DoWithAcceptedFiles ( )
protectedvirtualinherited

Execute action on accepted dropped file.

Called in OnDropFiles and should be populated with the action to execute in inherited classes.

Reimplemented in GERBVIEW_FRAME, KICAD_MANAGER_FRAME, and PL_EDITOR_FRAME.

Definition at line 1313 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::m_acceptedExts, EDA_BASE_FRAME::m_AcceptedFiles, TOOLS_HOLDER::m_toolManager, and TOOL_MANAGER::RunAction().

Referenced by EDA_BASE_FRAME::OnDropFiles().

◆ DrawCurrentSheetToClipboard()

◆ EditDesignBlockProperties()

◆ EditSheetProperties()

bool SCH_EDIT_FRAME::EditSheetProperties ( SCH_SHEET aSheet,
SCH_SHEET_PATH aHierarchy,
bool *  aIsUndoable = nullptr,
bool *  aClearAnnotationNewItems = nullptr,
bool *  aUpdateHierarchyNavigator = nullptr 
)

Edit an existing sheet or add a new sheet to the schematic.

When aSheet is a new sheet:

  • and the file name already exists in the schematic hierarchy, the screen associated with the sheet found in the hierarchy is associated with aSheet.
  • and the file name already exists on the system, then aSheet is loaded with the existing file.
  • and the file name does not exist in the schematic hierarchy or on the file system, then a new screen is created and associated with aSheet.

When aSheet is an existing sheet:

  • and the file name already exists in the schematic hierarchy, the current associated screen is replace by the one found in the hierarchy.
  • and the file name already exists on the system, the current associated screen file name is changed and the file is loaded.
  • and the file name does not exist in the schematic hierarchy or on the file system, the current associated screen file name is changed and saved to disk.

Note: the screen is not refresh. The caller is responsible to do that

Parameters
aSheetis the sheet to edit
aHierarchyis the current hierarchy containing aSheet
aIsUndoableis a reference to a bool to know if this operation must clear the undo-redo list, since the operation is not reversible.
aClearAnnotationNewItemsis a reference to a bool to know if the items managed by this sheet need to have their annotation cleared i.e. when an existing item list is used. it can happens when the edited sheet used an existing file, or becomes a new instance of a already existing sheet.
aUpdateHierarchyNavigatoris an optional flag to indicate the sheet changes require the hierarchy navigator panel to be updated.

Definition at line 599 of file sheet.cpp.

References TOOLS_HOLDER::m_toolManager, TOOL_MANAGER::ProcessEvent(), and EVENTS::SelectedItemsModified.

Referenced by SCH_DRAWING_TOOLS::DrawSheet(), SCH_EDIT_TOOL::Properties(), and SCH_EDIT_TOOL::RepeatDrawItem().

◆ eeconfig()

EESCHEMA_SETTINGS * SCH_BASE_FRAME::eeconfig ( ) const
inherited

Definition at line 138 of file sch_base_frame.cpp.

References EDA_BASE_FRAME::config().

Referenced by SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), AllowCaseSensitiveFileNameClashes(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDITOR_CONTROL::ChangeLineMode(), DIALOG_BOM::DIALOG_BOM(), DIALOG_IMPORT_GFX_SCH::DIALOG_IMPORT_GFX_SCH(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_FIELDS_TABLE::doApplyBomPreset(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), DrawCurrentSheetToClipboard(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_EDIT_TOOL::editFieldText(), ExecuteRemoteCommand(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), GetSchematicJunctionSize(), GetShowAllPins(), importFile(), SCH_DRAWING_TOOLS::ImportSheet(), InitSheet(), DIALOG_BOM::installGeneratorsList(), KiwayMailIn(), SCH_EDITOR_CONDITIONS::lineModeFunc(), LoadSettings(), EE_SELECTION_TOOL::Main(), SCH_EDITOR_CONTROL::MarkSimExclusions(), SCH_EDITOR_CONTROL::NextLineMode(), DIALOG_SHAPE_PROPERTIES::onBorderChecked(), DIALOG_TABLE_PROPERTIES::onBorderChecked(), DIALOG_TEXT_PROPERTIES::onBorderChecked(), DIALOG_SYMBOL_FIELDS_TABLE::OnClose(), DIALOG_SYMBOL_FIELDS_TABLE::OnColMove(), OnImportProject(), DIALOG_PRINT_USING_PRINTER::OnOutputChoice(), OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_PRINTOUT::PrintPage(), DIALOG_CHANGE_SYMBOLS::processSymbols(), SCH_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_TOOL::Rotate(), DIALOG_PRINT_USING_PRINTER::SavePrintOptions(), SaveSettings(), EE_SELECTION_TOOL::Selectable(), SelectUnit(), DIALOG_SYMBOL_FIELDS_TABLE::SetupAllColumnProperties(), setupUIConditions(), SIMULATOR_FRAME_UI::SIMULATOR_FRAME_UI(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), EE_SELECTION_TOOL::SyncSelection(), SCH_EDITOR_CONTROL::ToggleAnnotateAuto(), SCH_EDITOR_CONTROL::ToggleAnnotateRecursive(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCExclusions(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), ToggleLibraryTree(), ToggleNetNavigator(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_EDITOR_CONTROL::TogglePinAltIcons(), ToggleProperties(), ToggleSchematicHierarchy(), ToggleSearch(), DIALOG_PRINT_USING_PRINTER::TransferDataToWindow(), and DIALOG_BOM::~DIALOG_BOM().

◆ ensureWindowIsOnScreen()

void EDA_BASE_FRAME::ensureWindowIsOnScreen ( )
protectedinherited

Definition at line 732 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::GetWindowSize(), and traceDisplayLocation.

Referenced by EDA_BASE_FRAME::OnSize().

◆ EraseMsgBox()

void EDA_DRAW_FRAME::EraseMsgBox ( )
inherited

◆ ExecuteRemoteCommand()

void SCH_EDIT_FRAME::ExecuteRemoteCommand ( const char *  cmdline)
overridevirtual

Execute a remote command sent via a socket on port KICAD_SCH_PORT_SERVICE_NUMBER (which defaults to 4243).

When user selects a footprint or pin in Pcbnew, Eeschema shows that same symbol or pin and moves cursor on the item.

Valid commands are:

  • $PART: "reference" Put cursor on symbol.
  • $PART: "reference" $REF: "ref" Put cursor on symbol reference.
  • $PART: "reference" $VAL: "value" Put cursor on symbol value.
  • $PART: "reference" $PAD: "pin name" Put cursor on the symbol pin.
  • $NET: "netname" Highlight a specified net
  • $CLEAR: "HIGHLIGHTED" Clear symbols highlight

They are a keyword followed by a quoted string.

Parameters
cmdlineis the command received from Pcbnew.

Reimplemented from KIWAY_PLAYER.

Definition at line 192 of file eeschema/cross-probing.cpp.

References _, CROSS_PROBING_SETTINGS::auto_highlight, editor, SCH_BASE_FRAME::eeconfig(), From_UTF8(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), HIGHLIGHT_PIN, HIGHLIGHT_SYMBOL, APP_SETTINGS_BASE::m_CrossProbing, m_highlightedConn, TOOLS_HOLDER::m_toolManager, CROSS_PROBING_SETTINGS::on_selection, RefreshNetNavigator(), TOOL_MANAGER::RunAction(), EE_ACTIONS::runERC, Schematic(), ACTIONS::showSymbolLibTable, text, UnescapeString(), and EE_ACTIONS::updateNetHighlighting.

Referenced by KiwayMailIn().

◆ findDialogs()

std::vector< wxWindow * > EDA_DRAW_FRAME::findDialogs ( )
protectedinherited

◆ findQuasiModalDialog()

wxWindow * EDA_BASE_FRAME::findQuasiModalDialog ( )
privateinherited

◆ FinishAUIInitialization()

void EDA_BASE_FRAME::FinishAUIInitialization ( )
inherited

Definition at line 920 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::m_auimgr.

Referenced by SYMBOL_DIFF_FRAME::SYMBOL_DIFF_FRAME().

◆ FlipBodyStyle()

◆ FocusLibraryTreeInput()

virtual void EDA_DRAW_FRAME::FocusLibraryTreeInput ( )
inlinevirtualinherited

Reimplemented in SYMBOL_EDIT_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 408 of file eda_draw_frame.h.

Referenced by LIBRARY_EDITOR_CONTROL::LibraryTreeSearch().

◆ FocusOnItem()

◆ FocusOnLocation()

void EDA_DRAW_FRAME::FocusOnLocation ( const VECTOR2I aPos)
inherited

◆ GetAboutTitle()

const wxString & EDA_BASE_FRAME::GetAboutTitle ( ) const
inlineinherited

◆ getAutoSaveFileName()

const wxString & SCH_EDIT_FRAME::getAutoSaveFileName ( ) const
private

Definition at line 1692 of file eeschema/files-io.cpp.

Referenced by doCloseWindow(), OpenProjectFiles(), and updateAutoSaveFile().

◆ GetAutoSaveInterval()

◆ GetCanvas()

SCH_DRAW_PANEL * SCH_BASE_FRAME::GetCanvas ( ) const
overridevirtualinherited

Return a pointer to GAL-based canvas of given EDA draw frame.

Returns
Pointer to GAL-based canvas.

Reimplemented from EDA_DRAW_FRAME.

Definition at line 329 of file sch_base_frame.cpp.

References EDA_DRAW_FRAME::GetCanvas().

Referenced by SCH_BASE_FRAME::ActivateGalCanvas(), SCH_BASE_FRAME::AddToScreen(), AnnotateSymbols(), SCH_EDITOR_CONTROL::AssignFootprints(), SCH_EDITOR_CONTROL::AssignNetclass(), SCH_NAVIGATE_TOOL::changeSheet(), SYMBOL_VIEWER_FRAME::ClickOnSymbolList(), SCH_BASE_FRAME::CommonSettingsChanged(), CommonSettingsChanged(), SYMBOL_EDIT_FRAME::CommonSettingsChanged(), SYMBOL_VIEWER_FRAME::CommonSettingsChanged(), EE_INSPECTION_TOOL::constructDiffPanel(), PANEL_SYMBOL_CHOOSER::constructRightPanel(), DisplayCurrentSheet(), doCloseWindow(), SYMBOL_VIEWER_FRAME::doCloseWindow(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SYMBOL_EDITOR_EDIT_TOOL::editShapeProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextBoxProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextProperties(), EE_INSPECTION_TOOL::ExcludeMarker(), DIALOG_ERC::ExcludeMarker(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), GetDocumentExtents(), SCH_BASE_FRAME::GetRenderSettings(), SCH_BASE_FRAME::HardRedraw(), HardRedraw(), SCH_EDITOR_CONTROL::ImportFPAssignments(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDIT_TOOL::Init(), KiwayMailIn(), SYMBOL_VIEWER_FRAME::KiwayMailIn(), SYMBOL_EDIT_FRAME::LoadOneLibrarySymbolAux(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), SCH_EDITOR_CONTROL::MarkSimExclusions(), DIALOG_MIGRATE_BUSES::onAcceptClicked(), DIALOG_LIB_EDIT_PIN_TABLE::OnCellSelected(), DIALOG_ERC::OnERCItemRClick(), DIALOG_ERC::OnERCItemSelected(), EE_SELECTION_TOOL::OnIdle(), DIALOG_MIGRATE_BUSES::onItemSelected(), OnModify(), onNetNavigatorSelection(), OnPageSettingsChange(), SIMULATOR_FRAME_UI::onPlotClosed(), SCH_PRINTOUT::OnPrintPage(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SIMULATOR_FRAME::onSimFinished(), DIALOG_UPDATE_FROM_PCB::OnUpdateClick(), SYMBOL_TREE_PANE::onUpdateUI(), OpenProjectFiles(), SCH_EDITOR_CONTROL::PageSetup(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_PRINTOUT::PrintPage(), DIALOG_CHANGE_SYMBOLS::processSymbols(), SCH_EDIT_TOOL::Properties(), SCH_COMMIT::pushSchEdit(), PutDataInPreviousState(), SYMBOL_EDIT_FRAME::RebuildView(), RecalculateConnections(), RecomputeIntersheetRefs(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), SCH_EDITOR_CONTROL::Redo(), DIALOG_ERC::redrawDrawPanel(), SCH_BASE_FRAME::RedrawScreen(), RefreshOperatingPointDisplay(), SCH_BASE_FRAME::RefreshZoomDependentItems(), SCH_EDITOR_CONTROL::RemapSymbols(), SCH_BASE_FRAME::RemoveFromScreen(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::rescueProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), SCH_EDITOR_CONTROL::Revert(), RollbackSchematicFromUndo(), SaveSymbolToSchematic(), SCH_SEARCH_HANDLER::SelectItems(), EE_SELECTION_TOOL::selectMultiple(), SetCurrentSheet(), SYMBOL_EDIT_FRAME::SetCurSymbol(), EE_POINT_EDITOR::setEditedPoint(), SetScreen(), SYMBOL_VIEWER_FRAME::SetSelectedLibrary(), setupTools(), SYMBOL_EDIT_FRAME::setupTools(), SYMBOL_VIEWER_FRAME::setupTools(), ShowAllIntersheetRefs(), SYMBOL_EDIT_FRAME::ShowChangedLanguage(), SYMBOL_EDITOR_CONTROL::ShowElectricalTypes(), SYMBOL_EDITOR_CONTROL::ShowPinNumbers(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), ShowSchematicSetupDialog(), SCH_DRAWING_TOOLS::SingleClickPlace(), SYMBOL_EDIT_FRAME::SwitchCanvas(), SYMBOL_DIFF_FRAME::SYMBOL_DIFF_FRAME(), SCH_BASE_FRAME::SyncView(), TestDanglingEnds(), DIALOG_ERC::testErc(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCExclusions(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SYMBOL_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), SYMBOL_EDITOR_CONTROL::ToggleHiddenPins(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_EDITOR_CONTROL::TogglePinAltIcons(), SYMBOL_EDITOR_CONTROL::TogglePinAltIcons(), DIALOG_JUNCTION_PROPS::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SCH_FIND_REPLACE_TOOL::UpdateFind(), SCH_BASE_FRAME::UpdateItem(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), SYMBOL_VIEWER_FRAME::updatePreviewSymbol(), SCH_BASE_FRAME::UpdateStatusBar(), DIALOG_LIB_EDIT_PIN_TABLE::~DIALOG_LIB_EDIT_PIN_TABLE(), ~SCH_EDIT_FRAME(), SYMBOL_DIFF_FRAME::~SYMBOL_DIFF_FRAME(), and SYMBOL_VIEWER_FRAME::~SYMBOL_VIEWER_FRAME().

◆ GetColorSettings()

COLOR_SETTINGS * SCH_BASE_FRAME::GetColorSettings ( bool  aForceRefresh = false) const
overridevirtualinherited

◆ GetCurrentFileName()

wxString SCH_EDIT_FRAME::GetCurrentFileName ( ) const
overridevirtual

Get the full filename + path of the currently opened file in the frame.

If no file is open, an empty string is returned.

Returns
the filename and full path to the open file

Reimplemented from EDA_BASE_FRAME.

Definition at line 2319 of file sch_edit_frame.cpp.

References SCHEMATIC::GetFileName(), and Schematic().

Referenced by API_HANDLER_SCH::handleGetOpenDocuments(), and OpenProjectFiles().

◆ GetCurrentSelection()

SELECTION & SCH_EDIT_FRAME::GetCurrentSelection ( )
overridevirtual

Get the current selection from the canvas area.

Returns
the current selection.

Reimplemented from TOOLS_HOLDER.

Definition at line 2325 of file sch_edit_frame.cpp.

References TOOL_MANAGER::GetTool(), and TOOLS_HOLDER::m_toolManager.

◆ GetCurrentSheet()

SCH_SHEET_PATH & SCH_EDIT_FRAME::GetCurrentSheet ( ) const

Definition at line 929 of file sch_edit_frame.cpp.

References SCHEMATIC::CurrentSheet(), and m_schematic.

Referenced by SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), AnnotateSymbols(), SCH_EDITOR_CONTROL::AssignNetclass(), AutoRotateItem(), SCH_NAVIGATE_TOOL::CanGoNext(), SCH_NAVIGATE_TOOL::CanGoPrevious(), SCH_NAVIGATE_TOOL::CanGoUp(), CheckAnnotate(), CommonSettingsChanged(), DeleteAnnotation(), DisplayCurrentSheet(), doCloseWindow(), SCH_EDITOR_CONTROL::doCopy(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_EDIT_TOOL::editFieldText(), SCH_EDIT_TOOL::EditPageNumber(), SCH_NAVIGATE_TOOL::EnterSheet(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_DRAWING_TOOLS::findWireLabelDriverName(), GetFullScreenDesc(), SCH_PIN::GetMsgPanelInfo(), SCH_SYMBOL::GetMsgPanelInfo(), GetScreen(), GetScreenDesc(), ERC_TREE_MODEL::GetValue(), HardRedraw(), SCH_FIND_REPLACE_TOOL::HasMatch(), highlightNet(), importFile(), SCH_DRAWING_TOOLS::ImportSheet(), EE_SELECTION_TOOL::Init(), SCH_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_NAVIGATE_TOOL::LeaveSheet(), EE_SELECTION_TOOL::Main(), SCH_NAVIGATE_TOOL::Next(), DIALOG_ERC::OnERCItemSelected(), DIALOG_MIGRATE_BUSES::onItemSelected(), onNetNavigatorSelection(), SCH_PRINTOUT::OnPrintPage(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), HIERARCHY_PANE::onRightClick(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), HIERARCHY_PANE::onTreeEditFinished(), DIALOG_UPDATE_FROM_PCB::OnUpdateClick(), DIALOG_SHEET_PROPERTIES::OnUpdateUI(), OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_NAVIGATE_TOOL::Previous(), DIALOG_CHANGE_SYMBOLS::processMatchingSymbols(), SCH_EDIT_TOOL::Properties(), SCH_COMMIT::pushSchEdit(), PutDataInPreviousState(), RefreshOperatingPointDisplay(), HIERARCHY_PANE::renameIdenticalSheets(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), SCH_NAVIGATE_TOOL::ResetHistory(), SCH_EDITOR_CONTROL::Revert(), SCH_EDITOR_CONTROL::SaveCurrSheetCopyAs(), SaveSelectionAsDesignBlock(), SCH_DESIGN_BLOCK_CONTROL::SaveSheetAsDesignBlock(), SaveSymbolToSchematic(), SCH_SEARCH_HANDLER::SelectItems(), SelectUnit(), SendSelectItemsToPcb(), SetCurrentSheet(), SCH_EDITOR_CONTROL::SimProbe(), SCH_DRAWING_TOOLS::SyncSheetsPins(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataToWindow(), SCH_FIND_REPLACE_TOOL::UpdateFind(), HIERARCHY_PANE::UpdateHierarchySelection(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), DIALOG_SYMBOL_FIELDS_TABLE::UpdateScope(), and updateTitle().

◆ GetDesignBlock()

DESIGN_BLOCK * SCH_EDIT_FRAME::GetDesignBlock ( const LIB_ID aLibId,
bool  aUseCacheLib = false,
bool  aShowErrorMsg = false 
)

Load design block from design block library table.

Parameters
aLibIdis the design block library identifier to load.
aUseCacheLibset to true to fall back to cache library if design block is not found in design block library table.
aShowErrorMessageset to true to show any error messages.
Returns
The design block found in the library or NULL if the design block was not found.

Definition at line 626 of file design_block_utils.cpp.

References Prj(), and SchGetDesignBlock().

Referenced by EditDesignBlockProperties(), SCH_DRAWING_TOOLS::ImportSheet(), and PANEL_DESIGN_BLOCK_CHOOSER::onDesignBlockSelected().

◆ GetDesignBlockPane()

DESIGN_BLOCK_PANE * SCH_EDIT_FRAME::GetDesignBlockPane ( ) const
inline

◆ GetDocumentExtents()

const BOX2I SCH_EDIT_FRAME::GetDocumentExtents ( bool  aIncludeAllVisible = true) const
overridevirtual

Returns bbox of document with option to not include some items.

Used most commonly by "Zoom to Fit" and "Zoom to Objects". In Eeschema for "Zoom to Fit" it's passed "true" to include drawing sheet border, and "false" by "Zoom To Objects" to ignore drawing sheet border. In Pcbnew, false makes it ignore any items outside the PCB edge such as fabrication notes.

Parameters
aIncludeAllVisibleTrue to include everything visible in bbox calculations, false to ignore some visible items (program dependent).
Returns
Bounding box of the document (ignoring some items as requested).

Reimplemented from EDA_DRAW_FRAME.

Definition at line 2247 of file sch_edit_frame.cpp.

References SCH_BASE_FRAME::GetCanvas(), KIGFX::SCH_VIEW::GetDrawingSheet(), PAGE_INFO::GetHeightIU(), SCH_SCREEN::GetPageSettings(), GetScreen(), SCH_DRAW_PANEL::GetView(), PAGE_INFO::GetWidthIU(), SCH_SCREEN::Items(), EDA_IU_SCALE::IU_PER_MILS, BOX2< Vec >::Merge(), and schIUScale.

◆ GetDoImmediateActions()

bool TOOLS_HOLDER::GetDoImmediateActions ( ) const
inlineinherited

Indicate that hotkeys should perform an immediate action even if another tool is currently active.

If false, the first hotkey should select the relevant tool.

Definition at line 138 of file tools_holder.h.

References TOOLS_HOLDER::m_immediateActions.

◆ GetDragAction()

MOUSE_DRAG_ACTION TOOLS_HOLDER::GetDragAction ( ) const
inlineinherited

Indicates whether a drag should draw a selection rectangle or drag selected (or unselected) objects.

Definition at line 144 of file tools_holder.h.

References TOOLS_HOLDER::m_dragAction.

Referenced by EE_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), and PCB_SELECTION_TOOL::Main().

◆ GetDrawBgColor()

COLOR4D SCH_BASE_FRAME::GetDrawBgColor ( ) const
overridevirtualinherited

◆ GetErcDialog()

◆ GetFileFromHistory()

wxString EDA_BASE_FRAME::GetFileFromHistory ( int  cmdId,
const wxString &  type,
FILE_HISTORY aFileHistory = nullptr 
)
inherited

Fetches the file name from the file history list.

This removes the selected file, if this file does not exist. The menu is also updated, if #FILE_HISTORY::UseMenu was called at initialization time.

Parameters
cmdIdThe command ID associated with the aFileHistory object.
typePlease document me!
aFileHistoryThe FILE_HISTORY in use. If null, the main application file history is used
Returns
a wxString containing the selected filename

Definition at line 1003 of file eda_base_frame.cpp.

References _, DisplayErrorMessage(), EDA_BASE_FRAME::m_fileHistory, and EDA_BASE_FRAME::ReCreateMenuBar().

Referenced by GERBVIEW_FRAME::OnDrlFileHistory(), BITMAP2CMP_FRAME::OnFileHistory(), KICAD_MANAGER_FRAME::OnFileHistory(), PL_EDITOR_FRAME::OnFileHistory(), PCB_EDIT_FRAME::OnFileHistory(), GERBVIEW_FRAME::OnGbrFileHistory(), GERBVIEW_FRAME::OnJobFileHistory(), OnLoadFile(), and GERBVIEW_FRAME::OnZipFileHistory().

◆ GetFileHistory()

FILE_HISTORY & EDA_BASE_FRAME::GetFileHistory ( )
inlineinherited

◆ GetFindHistoryList()

wxArrayString & EDA_DRAW_FRAME::GetFindHistoryList ( )
inlineinherited

◆ GetFindReplaceData()

◆ GetFrameType()

◆ GetFullScreenDesc()

wxString SCH_EDIT_FRAME::GetFullScreenDesc ( ) const
overridevirtual

Reimplemented from EDA_DRAW_FRAME.

Definition at line 892 of file sch_edit_frame.cpp.

References GetCurrentSheet(), and SCH_SHEET_PATH::PathHumanReadable().

Referenced by KIGFX::SCH_VIEW::DisplaySheet().

◆ GetGalDisplayOptions()

◆ GetGridColor()

virtual COLOR4D EDA_DRAW_FRAME::GetGridColor ( )
inlinevirtualinherited

◆ GetGridOrigin()

const VECTOR2I & SCH_BASE_FRAME::GetGridOrigin ( ) const
inlineoverridevirtualinherited

Return the absolute coordinates of the origin of the snap grid.

This is treated as a relative offset and snapping will occur at multiples of the grid size relative to this point.

Implements EDA_DRAW_FRAME.

Definition at line 137 of file sch_base_frame.h.

◆ GetHighlightedConnection()

◆ GetHotkeyPopup()

◆ GetInfoBar()

◆ GetItem()

EDA_ITEM * SCH_EDIT_FRAME::GetItem ( const KIID aId) const
overridevirtual

Fetch an item by KIID.

Frame-type-specific implementation.

Reimplemented from EDA_DRAW_FRAME.

Definition at line 862 of file sch_edit_frame.cpp.

References SCHEMATIC::GetItem(), and Schematic().

Referenced by ERC_TREE_MODEL::GetValue(), and EE_INSPECTION_TOOL::InspectERCError().

◆ GetIuScale()

◆ GetLayerColor()

COLOR4D SCH_BASE_FRAME::GetLayerColor ( SCH_LAYER_ID  aLayer)
inherited

Helper to retrieve a layer color from the global color settings.

Definition at line 496 of file sch_base_frame.cpp.

References COLOR_SETTINGS::GetColor(), and SCH_BASE_FRAME::GetColorSettings().

◆ GetLibSymbol()

LIB_SYMBOL * SCH_BASE_FRAME::GetLibSymbol ( const LIB_ID aLibId,
bool  aUseCacheLib = false,
bool  aShowErrorMsg = false 
)
inherited

Load symbol from symbol library table.

Parameters
aLibIdis the symbol library identifier to load.
aUseCacheLibset to true to fall back to cache library if symbol is not found in symbol library table.
aShowErrorMessageset to true to show any error messages.
Returns
The symbol found in the library or NULL if the symbol was not found.

Definition at line 213 of file sch_base_frame.cpp.

References KIWAY_HOLDER::Prj(), SchGetLibSymbol(), PROJECT_SCH::SchLibs(), and PROJECT_SCH::SchSymbolLibTable().

Referenced by CreateArchiveLibrary(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), SCH_DRAWING_TOOLS::PlaceSymbol(), DIALOG_CHANGE_SYMBOLS::processSymbols(), SelectUnit(), and DIALOG_CHANGE_SYMBOLS::updateFieldsList().

◆ GetLibTree()

◆ GetMaxUndoItems()

int EDA_BASE_FRAME::GetMaxUndoItems ( ) const
inlineinherited

Definition at line 584 of file eda_base_frame.h.

References EDA_BASE_FRAME::m_undoRedoCountMax.

Referenced by EDA_DRAW_FRAME::SaveSettings().

◆ GetMoveWarpsCursor()

bool TOOLS_HOLDER::GetMoveWarpsCursor ( ) const
inlineinherited

Indicate that a move operation should warp the mouse pointer to the origin of the move object.

This improves snapping, but some users are allergic to mouse warping.

Definition at line 150 of file tools_holder.h.

References TOOLS_HOLDER::m_moveWarpsCursor.

Referenced by EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), and ROUTER_TOOL::InlineDrag().

◆ GetMruPath()

◆ GetNearestGridPosition()

VECTOR2I EDA_DRAW_FRAME::GetNearestGridPosition ( const VECTOR2I aPosition) const
inherited

Return the nearest aGridSize location to aPosition.

Parameters
aPositionThe position to check.
Returns
The nearest grid position.

Definition at line 930 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::GetCanvas(), EDA_DRAW_PANEL_GAL::GetGAL(), EDA_DRAW_FRAME::GetGridOrigin(), KIGFX::GAL::GetGridSize(), KiROUND(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by SCH_EDIT_TOOL::ChangeTextType(), and SCH_DRAWING_TOOLS::sizeSheet().

◆ GetNearestHalfGridPosition()

VECTOR2I EDA_DRAW_FRAME::GetNearestHalfGridPosition ( const VECTOR2I aPosition) const
inherited

Return the nearest aGridSize / 2 location to aPosition.

This is useful when attempting for keep outer points on grid but not the middle point.

Parameters
aPositionThe position to check.
Returns
The nearest half-grid position.

Definition at line 944 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::GetCanvas(), EDA_DRAW_PANEL_GAL::GetGAL(), EDA_DRAW_FRAME::GetGridOrigin(), KIGFX::GAL::GetGridSize(), KiROUND(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Rotate(), and SYMBOL_EDITOR_EDIT_TOOL::Rotate().

◆ GetNetListerCommand()

wxString SCH_EDIT_FRAME::GetNetListerCommand ( ) const
inline

Definition at line 819 of file sch_edit_frame.h.

References m_netListerCommand.

◆ GetNetNavigator()

wxTreeCtrl * SCH_EDIT_FRAME::GetNetNavigator ( )
inline

Definition at line 893 of file sch_edit_frame.h.

References m_netNavigator.

◆ GetOriginTransforms()

ORIGIN_TRANSFORMS & EDA_BASE_FRAME::GetOriginTransforms ( )
inlineoverridevirtualinherited

Return a reference to the default ORIGIN_TRANSFORMS object.

Reimplemented from UNITS_PROVIDER.

Reimplemented in PCB_BASE_FRAME.

Definition at line 132 of file eda_base_frame.h.

References EDA_BASE_FRAME::m_originTransforms.

Referenced by PCB_DIMENSION_BASE::GetMsgPanelInfo(), and PCB_DIM_LEADER::GetMsgPanelInfo().

◆ GetPageSettings()

const PAGE_INFO & SCH_BASE_FRAME::GetPageSettings ( ) const
overridevirtualinherited

Implements EDA_DRAW_FRAME.

Definition at line 156 of file sch_base_frame.cpp.

References SCH_SCREEN::GetPageSettings(), and SCH_BASE_FRAME::GetScreen().

Referenced by InitSheet().

◆ GetPageSetupData()

◆ GetPageSizeIU()

const VECTOR2I SCH_BASE_FRAME::GetPageSizeIU ( ) const
overridevirtualinherited

Works off of GetPageSettings() to return the size of the paper page in the internal units of this particular view.

Implements EDA_DRAW_FRAME.

Definition at line 162 of file sch_base_frame.cpp.

References SCH_SCREEN::GetPageSettings(), SCH_BASE_FRAME::GetScreen(), PAGE_INFO::GetSizeIU(), EDA_IU_SCALE::IU_PER_MILS, and schIUScale.

Referenced by DrawCurrentSheetToClipboard().

◆ GetPropertiesPanel()

PROPERTIES_PANEL * EDA_DRAW_FRAME::GetPropertiesPanel ( )
inlineinherited

Definition at line 410 of file eda_draw_frame.h.

References EDA_DRAW_FRAME::m_propertiesPanel.

◆ GetRedoActionDescription()

wxString EDA_BASE_FRAME::GetRedoActionDescription ( ) const
virtualinherited

◆ GetRedoCommandCount()

◆ GetRenderSettings()

◆ GetRepeatItems()

const std::vector< std::unique_ptr< SCH_ITEM > > & SCH_EDIT_FRAME::GetRepeatItems ( ) const
inline

Return the items which are to be repeated with the insert key.

Such objects are owned by this container, and must be cloned.

Definition at line 715 of file sch_edit_frame.h.

References m_items_to_repeat.

Referenced by SCH_EDIT_TOOL::RepeatDrawItem(), and SaveCopyInUndoList().

◆ GetSchematicJunctionSize()

◆ GetScreen()

SCH_SCREEN * SCH_EDIT_FRAME::GetScreen ( ) const
overridevirtual

Return a pointer to a BASE_SCREEN or one of its derivatives.

It is overloaded by derived classes to return SCH_SCREEN or PCB_SCREEN.

Reimplemented from SCH_BASE_FRAME.

Definition at line 874 of file sch_edit_frame.cpp.

References GetCurrentSheet(), and SCH_SHEET_PATH::LastScreen().

Referenced by SCH_LINE_WIRE_BUS_TOOL::AddJunctionsIfNeeded(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_TOOL::BreakWire(), SCH_EDIT_TOOL::ChangeBodyStyle(), SCH_NAVIGATE_TOOL::changeSheet(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::CleanupSheetPins(), SCH_MOVE_TOOL::clearNewDragLines(), RULE_AREA_CREATE_HELPER::commitRuleArea(), CreateScreens(), DeleteAnnotation(), DeleteJunction(), DisplayCurrentSheet(), SCH_EDITOR_CONTROL::doCopy(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_MOVE_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), DrawCurrentSheetToClipboard(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), SCH_EDIT_TOOL::editFieldText(), SCH_EDIT_TOOL::EditPageNumber(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_DRAWING_TOOLS::findWire(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), FlipBodyStyle(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), GetDocumentExtents(), SCH_EDIT_TABLE_TOOL::getScreen(), SCH_LINE_WIRE_BUS_TOOL::getSheetPin(), API_HANDLER_SCH::handleCreateUpdateItemsInternal(), importFile(), SCH_DRAWING_TOOLS::ImportGraphics(), PANEL_SETUP_BUSES::ImportSettingsFrom(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDIT_TOOL::Init(), initScreenZoom(), InitSheet(), SCH_EDIT_TOOL::InteractiveDelete(), SCH_EDIT_TOOL::JustifyText(), EE_SELECTION_TOOL::Main(), SCH_EDIT_TOOL::Mirror(), PANEL_SETUP_BUSES::OnAddAlias(), DIALOG_ERC::OnERCItemRClick(), DIALOG_ERC::OnERCItemSelected(), OnModify(), OnPageSettingsChange(), HIERARCHY_PANE::onRightClick(), OpenProjectFiles(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_EDITOR_CONTROL::PageSetup(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PrintPage(), SCH_PRINTOUT::PrintPage(), SCH_EDIT_TOOL::Properties(), PutDataInPreviousState(), RecalculateConnections(), RefreshOperatingPointDisplay(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SaveSelectionAsDesignBlock(), SchematicCleanUp(), SelectUnit(), SetAltPinFunction(), SCH_EDIT_TOOL::SetAttribute(), setupUIConditions(), SCH_LINE_WIRE_BUS_TOOL::simplifyWireList(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), TestDanglingEnds(), DIALOG_ERC::testErc(), SCH_EDIT_TOOL::ToggleAttribute(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_JUNCTION_PROPS::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_LINE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLE_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLECELL_PROPERTIES::TransferDataFromWindow(), DIALOG_WIRE_BUS_PROPERTIES::TransferDataFromWindow(), DIALOG_PRINT_USING_PRINTER::TransferDataToWindow(), SCH_MOVE_TOOL::trimDanglingLines(), TrimWire(), SCH_DRAWING_TOOLS::TwoClickPlace(), SCH_EDIT_TOOL::UnsetAttribute(), SCH_FIND_REPLACE_TOOL::UpdateFind(), and updateTitle().

◆ GetScreenDesc()

wxString SCH_EDIT_FRAME::GetScreenDesc ( ) const
overridevirtual

Return a human-readable description of the current screen.

Reimplemented from EDA_DRAW_FRAME.

Definition at line 886 of file sch_edit_frame.cpp.

References GetCurrentSheet(), SCH_SHEET::GetName(), and SCH_SHEET_PATH::Last().

Referenced by KIGFX::SCH_VIEW::DisplaySheet().

◆ GetSelectedNetNavigatorItem()

const SCH_ITEM * SCH_EDIT_FRAME::GetSelectedNetNavigatorItem ( ) const

Definition at line 390 of file net_navigator.cpp.

References NET_NAVIGATOR_ITEM_DATA::GetItem(), and m_netNavigator.

Referenced by highlightNet().

◆ GetSettingsManager()

◆ GetSeverity()

SEVERITY SCH_EDIT_FRAME::GetSeverity ( int  aErrorCode) const
overridevirtual

Reimplemented from EDA_BASE_FRAME.

Definition at line 1162 of file sch_edit_frame.cpp.

References SCHEMATIC::ErcSettings(), ERC_SETTINGS::GetSeverity(), and Schematic().

Referenced by ERC_TREE_MODEL::GetValue().

◆ GetShowAllPins()

bool SCH_EDIT_FRAME::GetShowAllPins ( ) const
overridevirtual

Allow edit frame to show/hide hidden pins.

Reimplemented from SCH_BASE_FRAME.

Definition at line 2282 of file sch_edit_frame.cpp.

References SCH_BASE_FRAME::eeconfig(), EESCHEMA_SETTINGS::m_Appearance, and EESCHEMA_SETTINGS::APPEARANCE::show_hidden_pins.

Referenced by setupUIConditions().

◆ GetShowPolarCoords()

bool EDA_DRAW_FRAME::GetShowPolarCoords ( ) const
inlineinherited

◆ GetSymbolDiffDialog()

DIALOG_BOOK_REPORTER * SCH_EDIT_FRAME::GetSymbolDiffDialog ( )

Definition at line 2504 of file sch_edit_frame.cpp.

References _, DIFF_SYMBOLS_DIALOG_NAME, and m_diffSymbolDialog.

Referenced by EE_INSPECTION_TOOL::DiffSymbol().

◆ GetSymbolFieldsTableDialog()

DIALOG_SYMBOL_FIELDS_TABLE * SCH_EDIT_FRAME::GetSymbolFieldsTableDialog ( )

◆ GetTargetLibId()

virtual LIB_ID EDA_DRAW_FRAME::GetTargetLibId ( ) const
inlinevirtualinherited

Reimplemented in SYMBOL_EDIT_FRAME.

Definition at line 404 of file eda_draw_frame.h.

Referenced by LIBRARY_EDITOR_CONTROL::regenerateLibraryTree().

◆ GetTitleBlock()

const TITLE_BLOCK & SCH_BASE_FRAME::GetTitleBlock ( ) const
overridevirtualinherited

Implements EDA_DRAW_FRAME.

Definition at line 169 of file sch_base_frame.cpp.

References SCH_BASE_FRAME::GetScreen(), and SCH_SCREEN::GetTitleBlock().

◆ GetToolCanvas()

wxWindow * EDA_DRAW_FRAME::GetToolCanvas ( ) const
inlineoverridevirtualinherited

Canvas access.

Implements TOOLS_HOLDER.

Definition at line 452 of file eda_draw_frame.h.

References EDA_DRAW_FRAME::GetCanvas().

◆ GetToolDispatcher()

TOOL_DISPATCHER * TOOLS_HOLDER::GetToolDispatcher ( ) const
inlineinherited

Definition at line 57 of file tools_holder.h.

References TOOLS_HOLDER::m_toolDispatcher.

Referenced by LIB_TREE_MODEL_ADAPTER::GetToolDispatcher().

◆ GetToolManager()

TOOL_MANAGER * TOOLS_HOLDER::GetToolManager ( ) const
inlineinherited

Return the MVC controller.

Definition at line 55 of file tools_holder.h.

References TOOLS_HOLDER::m_toolManager.

Referenced by PROJECT_TREE_ITEM::Activate(), SCH_SEARCH_HANDLER::ActivateItem(), PCB_SEARCH_HANDLER::ActivateItem(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_PROPERTIES_PANEL::AfterCommit(), PCB_PROPERTIES_PANEL::AfterCommit(), APPEARANCE_CONTROLS::APPEARANCE_CONTROLS(), SCH_NAVIGATE_TOOL::Back(), PCB_EDIT_FRAME::CanAcceptApiCommands(), SCH_NAVIGATE_TOOL::changeSheet(), TOOLS_HOLDER::CommonSettingsChanged(), EDA_DRAW_FRAME::CommonSettingsChanged(), DIALOG_FOOTPRINT_CHECKER::deleteAllMarkers(), DIALOG_ERC::deleteAllMarkers(), DIALOG_DRC::deleteAllMarkers(), DESIGN_BLOCK_PANE::DESIGN_BLOCK_PANE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_MIGRATE_BUSES::DIALOG_MIGRATE_BUSES(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), KIGFX::SCH_VIEW::DisplaySheet(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), SIMULATOR_FRAME::doCloseWindow(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), SCH_FIELD::DoHypertextAction(), SCH_TEXT::DoHypertextAction(), SCH_TEXTBOX::DoHypertextAction(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), DRAWING_TOOL::DrawVia(), TRACK_WIDTH_MENU::eventHandler(), DIFF_PAIR_MENU::eventHandler(), ExecuteRemoteCommand(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), SIMULATOR_CONTROL::ExportPlotToSchematic(), SCH_NAVIGATE_TOOL::Forward(), GERBVIEW_FRAME::GERBVIEW_FRAME(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::GetContextMenuTool(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetContextMenuTool(), FP_TREE_SYNCHRONIZING_ADAPTER::GetContextMenuTool(), PL_EDITOR_FRAME::GetLayoutFromRedoList(), PL_EDITOR_FRAME::GetLayoutFromUndoList(), PCB_TUNING_PATTERN::GetPreviewItems(), SCH_PROPERTIES_PANEL::getPropertyFromEvent(), PCB_PROPERTIES_PANEL::getPropertyFromEvent(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), API_HANDLER_PCB::handleInteractiveMoveItems(), API_HANDLER_PCB::handleRefillZones(), DIALOG_PAD_PROPERTIES::initValues(), KiwayMailIn(), PCB_EDIT_FRAME::KiwayMailIn(), LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), FOOTPRINT_EDIT_FRAME::LoadSettings(), SYMBOL_EDIT_FRAME::LoadSymbol(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), PROPERTIES_FRAME::OnAcceptPrms(), DIALOG_DRC::OnActivateDlg(), DIALOG_DRC::OnCancelClick(), DIALOG_FOOTPRINT_CHECKER::OnCancelClick(), DIALOG_GENERATORS::OnCancelClick(), DIALOG_INSPECTOR::onCellClicked(), DIALOG_DRC::OnDeleteOneClick(), DIALOG_ERC::OnDeleteOneClick(), DIALOG_FOOTPRINT_CHECKER::OnDeleteOneClick(), DIALOG_DRC::OnDRCItemRClick(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_ERC::OnERCItemRClick(), DIALOG_ERC::OnERCItemSelected(), KICAD_MANAGER_FRAME::OnIdle(), DIALOG_GENERATORS::OnItemSelected(), PANEL_KICAD_LAUNCHER::onLauncherButtonClick(), FOOTPRINTS_LISTBOX::OnLeftDClick(), APPEARANCE_CONTROLS::onNetclassContextMenu(), APPEARANCE_CONTROLS::onNetContextMenu(), PCB_EDIT_FRAME::OnNetlistChanged(), onNetNavigatorSelection(), DIALOG_EXCHANGE_FOOTPRINTS::OnOKClicked(), GERBER_LAYER_WIDGET::onPopupSelection(), DIALOG_GENERATORS::OnRebuildAllClick(), DIALOG_GENERATORS::OnRebuildTypeClick(), DIALOG_PLOT::onRunDRC(), DIALOG_DRC::OnRunDRCClick(), HIERARCHY_PANE::onSelectSheetPath(), onSize(), PCB_EDIT_FRAME::onSize(), SYMBOL_TREE_PANE::onSymbolSelected(), DIALOG_SYMBOL_FIELDS_TABLE::OnTableRangeSelected(), PANEL_SCH_SELECTION_FILTER::PANEL_SCH_SELECTION_FILTER(), PANEL_SELECTION_FILTER::PANEL_SELECTION_FILTER(), DIALOG_UPDATE_PCB::PerformUpdate(), DIALOG_PLOT::Plot(), TOOLS_HOLDER::PopTool(), SCH_PRINTOUT::PrintPage(), SIMULATOR_CONTROL::Probe(), SYMBOL_EDIT_FRAME::PushSymbolToUndoList(), PutDataInPreviousState(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), PCB_BASE_FRAME::rebuildConnectivity(), RecalculateConnections(), SIMULATOR_FRAME::ReCreateHToolbar(), PL_EDITOR_FRAME::RollbackFromUndo(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SaveProjectLocalSettings(), PCB_EDIT_FRAME::saveProjectSettings(), EDA_3D_VIEWER_FRAME::SaveSettings(), SYMBOL_EDIT_FRAME::SaveSettings(), FOOTPRINT_EDIT_FRAME::SaveSettings(), SCH_COMMIT::SCH_COMMIT(), DIALOG_FIND::search(), SCH_SEARCH_HANDLER::SelectItems(), PCB_SEARCH_HANDLER::SelectItems(), NL_3D_VIEWER_PLUGIN_IMPL::SetActiveCommand(), CVPCB_MAINFRAME::setupEventHandlers(), FOOTPRINT_EDIT_FRAME::setupTools(), TOOLS_HOLDER::ShowChangedLanguage(), APPEARANCE_CONTROLS::showNetclass(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), SYMBOL_DIFF_FRAME::SYMBOL_DIFF_FRAME(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEARDROPS::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataToWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TEARDROPS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), SIMULATOR_CONTROL::Tune(), SCH_PROPERTIES_PANEL::UpdateData(), PCB_PROPERTIES_PANEL::UpdateData(), DIALOG_DRC::updateDisplayedCounts(), CVPCB_MAINFRAME::updateFootprintViewerOnIdle(), NET_GRID_TABLE::updateNetVisibility(), SCH_PROPERTIES_PANEL::valueChanged(), PCB_PROPERTIES_PANEL::valueChanged(), SCH_PROPERTIES_PANEL::valueChanging(), PCB_PROPERTIES_PANEL::valueChanging(), DIALOG_IMPORT_NETLIST::~DIALOG_IMPORT_NETLIST(), and DIALOG_UPDATE_PCB::~DIALOG_UPDATE_PCB().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 48 of file kiway_holder.h.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUndoActionDescription()

wxString EDA_BASE_FRAME::GetUndoActionDescription ( ) const
virtualinherited

◆ GetUndoCommandCount()

◆ GetUnitPair()

void EDA_DRAW_FRAME::GetUnitPair ( EDA_UNITS aPrimaryUnit,
EDA_UNITS aSecondaryUnits 
)
overridevirtualinherited

Get the pair or units in current use.

The primary unit is the main unit of the frame, and the secondary unit is the unit of the other system that was used most recently.

Reimplemented from UNITS_PROVIDER.

Definition at line 1281 of file eda_draw_frame.cpp.

References COMMON_TOOLS::GetLastImperialUnits(), COMMON_TOOLS::GetLastMetricUnits(), TOOL_MANAGER::GetTool(), UNITS_PROVIDER::GetUserUnits(), EDA_UNIT_UTILS::IsImperialUnit(), and TOOLS_HOLDER::m_toolManager.

Referenced by GRID_MENU::BuildChoiceList(), and PCB_EDIT_FRAME::UpdateTrackWidthSelectBox().

◆ GetUntranslatedAboutTitle()

const wxString & EDA_BASE_FRAME::GetUntranslatedAboutTitle ( ) const
inlineinherited

◆ GetUserUnits()

EDA_UNITS UNITS_PROVIDER::GetUserUnits ( ) const
inlineinherited

Definition at line 45 of file units_provider.h.

References UNITS_PROVIDER::m_userUnits.

Referenced by DIALOG_BOOK_REPORTER::AddHTMLPage(), PANEL_SYMBOL_CHOOSER::constructRightPanel(), PG_UNIT_EDITOR::CreateControls(), PCB::IFACE::CreateKiWindow(), DIALOG_SHIM::DIALOG_SHIM(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), PL_EDITOR_FRAME::DisplayGridMsg(), EDA_DRAW_FRAME::DisplayUnitsMsg(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawSpecificationStackup(), EVT_GRID_CMD_CELL_CHANGED(), FOOTPRINT_PREVIEW_PANEL::FOOTPRINT_PREVIEW_PANEL(), PCB_NET_INSPECTOR_PANEL::generateReport(), RC_ITEM::GetJsonViolation(), GERBER_DRAW_ITEM::GetMsgPanelInfo(), WX_GRID::GetOptionalUnitValue(), UNITS_PROVIDER::GetUnitPair(), EDA_DRAW_FRAME::GetUnitPair(), WX_GRID::GetUnitValue(), GetUserUnits(), UNIT_BINDER::init(), FIELDS_GRID_TABLE::initGrid(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), UNITS_PROVIDER::MessageTextFromMinOptMax(), UNITS_PROVIDER::MessageTextFromValue(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), PANEL_SETUP_BOARD_STACKUP::onExportToClipboard(), DIALOG_ERC::OnSaveReport(), PANEL_PREVIEW_3D_MODEL::onUnitsChanged(), PANEL_SETUP_NETCLASSES::onUnitsChanged(), UNIT_BINDER::onUnitsChanged(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), PANEL_SETUP_BOARD_STACKUP::onUnitsChanged(), DIALOG_GENERATORS::onUnitsChanged(), UNITS_PROVIDER::OptionalValueFromString(), PANEL_FOOTPRINT_CHOOSER::PANEL_FOOTPRINT_CHOOSER(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PCB_FIELDS_GRID_TABLE::PCB_FIELDS_GRID_TABLE(), PG_UNIT_EDITOR::PG_UNIT_EDITOR(), PIN_TABLE_DATA_MODEL::PIN_TABLE_DATA_MODEL(), POSITION_RELATIVE_TOOL::PositionRelative(), DRC_TOOL::RunTests(), EDA_DRAW_FRAME::SaveSettings(), PCB_BASE_FRAME::SetBoard(), WX_GRID::SetUnitsProvider(), PIN_TABLE_DATA_MODEL::SetValue(), FIELDS_GRID_TABLE::SetValue(), PCB_FIELDS_GRID_TABLE::SetValue(), GERBVIEW_INSPECTION_TOOL::ShowDCodes(), UNITS_PROVIDER::StringFromOptionalValue(), UNITS_PROVIDER::StringFromValue(), COMMON_TOOLS::ToggleUnits(), EDA_DRAW_FRAME::ToggleUserUnits(), PCB_BASE_FRAME::unitsChangeRefresh(), EDITOR_CONDITIONS::unitsFunc(), GERBVIEW_FRAME::updateDCodeSelectBox(), PG_UNIT_EDITOR::UpdateFrame(), PL_EDITOR_FRAME::UpdateStatusBar(), DRC_TOOL::userUnits(), GRID::UserUnitsMessageText(), and UNITS_PROVIDER::ValueFromString().

◆ GetWindowSettings()

WINDOW_SETTINGS * EDA_BASE_FRAME::GetWindowSettings ( APP_SETTINGS_BASE aCfg)
virtualinherited

Return a pointer to the window settings for this frame.

By default, points to aCfg->m_Window for top-level frames.

Parameters
aCfgis this frame's config object

Reimplemented in DISPLAY_FOOTPRINTS_FRAME, SIMULATOR_FRAME, SYMBOL_CHOOSER_FRAME, SYMBOL_DIFF_FRAME, SYMBOL_VIEWER_FRAME, FOOTPRINT_CHOOSER_FRAME, FOOTPRINT_VIEWER_FRAME, and FOOTPRINT_WIZARD_FRAME.

Definition at line 877 of file eda_base_frame.cpp.

References APP_SETTINGS_BASE::m_Window.

Referenced by EDA_BASE_FRAME::LoadSettings(), EDA_DRAW_FRAME::LoadSettings(), EDA_BASE_FRAME::SaveSettings(), and EDA_DRAW_FRAME::SaveSettings().

◆ GetWindowSize()

wxSize EDA_BASE_FRAME::GetWindowSize ( )
inherited

Get the undecorated window size that can be used for restoring the window size.

This is needed for GTK, since the normal wxWidgets GetSize() call will return a window size that includes the window decorations added by the window manager.

Returns
the undecorated window size

Definition at line 1558 of file eda_base_frame.cpp.

References KICAD_MAIN_FRAME_T, and EDA_BASE_FRAME::m_ident.

Referenced by EDA_BASE_FRAME::ensureWindowIsOnScreen(), EDA_BASE_FRAME::OnMaximize(), and EDA_BASE_FRAME::SaveWindowSettings().

◆ GetZoomLevelIndicator()

const wxString EDA_DRAW_FRAME::GetZoomLevelIndicator ( ) const
inherited

Return a human readable value for display in dialogs.

Definition at line 720 of file eda_draw_frame.cpp.

References EDA_DRAW_PANEL_GAL::GetGAL(), KIGFX::GAL::GetZoomFactor(), EDA_DRAW_FRAME::m_canvas, and zoom.

Referenced by EDA_DRAW_FRAME::UpdateStatusBar(), and PL_EDITOR_FRAME::UpdateStatusBar().

◆ handleActivateEvent()

void SCH_BASE_FRAME::handleActivateEvent ( wxActivateEvent &  aEvent)
overrideprotectedvirtualinherited

Handle a window activation event.

Reimplemented from EDA_DRAW_FRAME.

Definition at line 548 of file sch_base_frame.cpp.

References EDA_DRAW_FRAME::handleActivateEvent(), SCH_BASE_FRAME::m_spaceMouse, and NL_SCHEMATIC_PLUGIN::SetFocus().

◆ handleIconizeEvent()

void SCH_BASE_FRAME::handleIconizeEvent ( wxIconizeEvent &  aEvent)
overrideprotectedvirtualinherited

Handle a window iconize event.

Parameters
aEventis the data for the event.

Reimplemented from EDA_BASE_FRAME.

Definition at line 557 of file sch_base_frame.cpp.

References EDA_BASE_FRAME::handleIconizeEvent(), SCH_BASE_FRAME::m_spaceMouse, and NL_SCHEMATIC_PLUGIN::SetFocus().

◆ HandleSystemColorChange()

void EDA_BASE_FRAME::HandleSystemColorChange ( )
virtualinherited

Update the UI in response to a change in the system colors.

Definition at line 1582 of file eda_base_frame.cpp.

References GetBitmapStore(), EDA_BASE_FRAME::ReCreateMenuBar(), BITMAP_STORE::ThemeChanged(), and EDA_BASE_FRAME::ThemeChanged().

Referenced by EDA_BASE_FRAME::onSystemColorChange().

◆ HandleUpdateUIEvent()

void EDA_BASE_FRAME::HandleUpdateUIEvent ( wxUpdateUIEvent &  aEvent,
EDA_BASE_FRAME aFrame,
ACTION_CONDITIONS  aCond 
)
staticinherited

Handle events generated when the UI is trying to figure out the current state of the UI controls related to TOOL_ACTIONS (e.g.

enabled, checked, etc.).

Parameters
aEventis the wxUpdateUIEvent to be processed.
aFrameis the frame to get the selection from
aCondare the #UI SELECTION_CONDITIONS used

Definition at line 401 of file eda_base_frame.cpp.

References _, ACTION_CONDITIONS::checkCondition, ACTIONS::copy, ACTIONS::cut, ACTION_CONDITIONS::enableCondition, TOOLS_HOLDER::GetCurrentSelection(), EDA_BASE_FRAME::GetRedoActionDescription(), TOOL_ACTION::GetUIId(), EDA_BASE_FRAME::GetUndoActionDescription(), ACTIONS::paste, ACTIONS::redo, ACTION_CONDITIONS::showCondition, and ACTIONS::undo.

Referenced by EDA_BASE_FRAME::RegisterUIUpdateHandler().

◆ HardRedraw()

◆ HasKiway()

bool KIWAY_HOLDER::HasKiway ( ) const
inlineinherited

Safety check before asking for the Kiway reference.

Returns
true if kiway is non-null

Definition at line 65 of file kiway_holder.h.

Referenced by DIALOG_SHIM::~DIALOG_SHIM().

◆ help_name()

wxString EDA_BASE_FRAME::help_name ( )
virtualinherited

Reimplemented in KICAD_MANAGER_FRAME.

Definition at line 896 of file eda_base_frame.cpp.

References KIFACE_BASE::GetHelpFileName(), and Kiface().

Referenced by COMMON_CONTROL::ShowHelp().

◆ importFile()

◆ ImportHotkeyConfigFromFile()

void EDA_BASE_FRAME::ImportHotkeyConfigFromFile ( std::map< std::string, TOOL_ACTION * >  aActionMap,
const wxString &  aDefaultShortname 
)
inherited

Prompt the user for a hotkey file to read, and read it.

Parameters
aActionMapcurrent hotkey map (over which the imported hotkeys will be applied).
aDefaultShortnamea default short name (extension not needed) like Eeschema, KiCad...

◆ initExitKey()

void EDA_BASE_FRAME::initExitKey ( )
protectedinherited

Sets the common key-pair for exiting the application (Ctrl-Q) and ties it to the wxID_EXIT event id.

This is useful in sub-applications to pass the event up to a non-owning window.

Definition at line 1440 of file eda_base_frame.cpp.

◆ initScreenZoom()

void SCH_EDIT_FRAME::initScreenZoom ( )
private

Initialize the zoom value of the current screen and mark the screen as zoom-initialized.

Definition at line 1754 of file sch_edit_frame.cpp.

References GetScreen(), TOOLS_HOLDER::m_toolManager, SCH_SCREEN::m_zoomInitialized, TOOL_MANAGER::RunAction(), and ACTIONS::zoomFitScreen.

Referenced by DisplayCurrentSheet(), importFile(), and OpenProjectFiles().

◆ InitSheet()

void SCH_EDIT_FRAME::InitSheet ( SCH_SHEET aSheet,
const wxString &  aNewFilename 
)

◆ isAutoSaveRequired()

virtual bool EDA_BASE_FRAME::isAutoSaveRequired ( ) const
inlineprotectedvirtualinherited

Return the auto save status of the application.

Override this function if your derived frame supports automatic file saving.

Definition at line 635 of file eda_base_frame.h.

References EDA_BASE_FRAME::m_autoSaveRequired.

Referenced by EDA_BASE_FRAME::ProcessEvent().

◆ IsContentModified()

bool SCH_EDIT_FRAME::IsContentModified ( ) const
overridevirtual

Get if the current schematic has been modified but not saved.

Returns
true if the any changes have not been saved

Reimplemented from EDA_BASE_FRAME.

Definition at line 2276 of file sch_edit_frame.cpp.

References SCHEMATIC::Hierarchy(), SCH_SHEET_LIST::IsModified(), and Schematic().

Referenced by canCloseWindow(), doAutoSave(), SaveProject(), and updateTitle().

◆ IsCurrentTool()

bool TOOLS_HOLDER::IsCurrentTool ( const TOOL_ACTION aAction) const
inherited

◆ IsDismissed()

bool KIWAY_PLAYER::IsDismissed ( )
inherited
Returns
false only if both the frame is acting in modal mode and it has not been dismissed yet with DismissModal(). True if the dialog is not modal or if it is modal and has been dismissed.

Definition at line 179 of file kiway_player.cpp.

References KIWAY_PLAYER::m_modal_loop.

Referenced by SYMBOL_CHOOSER_FRAME::doCloseWindow(), FOOTPRINT_CHOOSER_FRAME::doCloseWindow(), and FOOTPRINT_WIZARD_FRAME::doCloseWindow().

◆ IsGridOverridden()

bool EDA_DRAW_FRAME::IsGridOverridden ( ) const
inherited

◆ IsGridVisible()

◆ IsLibraryTreeShown()

virtual bool EDA_DRAW_FRAME::IsLibraryTreeShown ( ) const
inlinevirtualinherited

Reimplemented in SYMBOL_EDIT_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 406 of file eda_draw_frame.h.

Referenced by LIBRARY_EDITOR_CONTROL::LibraryTreeSearch().

◆ IsModal()

bool KIWAY_PLAYER::IsModal ( ) const
inlineoverridevirtualinherited

Return true if the frame is shown in our modal mode and false if the frame is shown as an usual frame.

In modal mode, the caller that created the frame is responsible to Destroy() this frame after closing.

Reimplemented from EDA_BASE_FRAME.

Definition at line 154 of file kiway_player.h.

References KIWAY_PLAYER::m_modal.

Referenced by FOOTPRINT_WIZARD_FRAME::doCloseWindow(), KIWAY_PLAYER::ShowModal(), and SYMBOL_DIFF_FRAME::SYMBOL_DIFF_FRAME().

◆ IsScriptingConsoleVisible()

bool EDA_DRAW_FRAME::IsScriptingConsoleVisible ( )
inherited

Gets the current visibility of the scripting console window.

Definition at line 258 of file eda_draw_frame.cpp.

References FRAME_PYTHON, KIWAY_HOLDER::Kiway(), and KIWAY::Player().

Referenced by EDITOR_CONDITIONS::consoleVisibleFunc().

◆ IsSyncingSelection()

bool SCH_EDIT_FRAME::IsSyncingSelection ( )
inline

Definition at line 843 of file sch_edit_frame.h.

References m_syncingPcbToSchSelection.

Referenced by SCH_EDITOR_CONTROL::doCrossProbeSchToPcb().

◆ IsType()

bool EDA_BASE_FRAME::IsType ( FRAME_T  aType) const
inlineinherited

Definition at line 202 of file eda_base_frame.h.

References EDA_BASE_FRAME::m_ident.

Referenced by SYMBOL_EDITOR_CONTROL::AddLibrary(), PCB_CONTROL::AddLibrary(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), BOARD_COMMIT::BOARD_COMMIT(), PCB_POINT_EDITOR::changeArcEditMode(), SYMBOL_EDITOR_CONTROL::DdAddLibrary(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), KIGFX::SCH_VIEW::DisplaySheet(), ALIGN_DISTRIBUTE_TOOL::DistributeItems(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), COMMON_TOOLS::doZoomFit(), EE_POINT_EDITOR::dragPinsOnEdge(), PCB_EDITOR_CONDITIONS::get45degModeFunc(), SCH_BASE_FRAME::GetColorSettings(), FOOTPRINT::GetMsgPanelInfo(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), SYMBOL_EDITOR_CONTROL::Init(), CONVERT_TOOL::Init(), PCB_SELECTION_TOOL::Init(), DIALOG_PAD_PROPERTIES::initValues(), PCB_BASE_FRAME::loadFootprint(), PCB_SELECTION_TOOL::Main(), APPEARANCE_CONTROLS::OnColorSwatchChanged(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), APPEARANCE_CONTROLS::onObjectVisibilityChanged(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_FIELDS_GRID_TABLE::PCB_FIELDS_GRID_TABLE(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PROPERTIES_PANEL::rebuildProperties(), PCB_SELECTION_TOOL::Reset(), SYMBOL_EDITOR_CONTROL::Revert(), SCH_COMMIT::SCH_COMMIT(), APPEARANCE_CONTROLS::setVisibleObjects(), EE_INSPECTION_TOOL::ShowDatasheet(), SYMBOL_EDITOR_CONTROL::ToggleProperties(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), and DRAWING_TOOL::UpdateStatusBar().

◆ IsWritable()

bool EDA_BASE_FRAME::IsWritable ( const wxFileName &  aFileName,
bool  aVerbose = true 
)
inherited

Checks if aFileName can be written.

The function performs a number of tests on aFileName to verify that it can be saved. If aFileName defines a path with no file name, them the path is tested for user write permission. If aFileName defines a file name that does not exist in the path, the path is tested for user write permission. If aFileName defines a file that already exits, the file name is tested for user write permissions.

Note
The file name path must be set or an assertion will be raised on debug builds and return false on release builds.
Parameters
aFileNameThe full path and/or file name of the file to test.
aVerboseIf true will show an error dialog if the file is not writable
Returns
False if aFileName cannot be written.

Definition at line 1323 of file eda_base_frame.cpp.

References _, and DisplayErrorMessage().

Referenced by doAutoSave(), PCB_EDIT_FRAME::GenIPC2581File(), PCB_EDIT_FRAME::GenODBPPFiles(), PCB_EDIT_FRAME::SavePcbCopy(), PCB_EDIT_FRAME::SavePcbFile(), saveProjectSettings(), and saveSchematicFile().

◆ Kiway()

KIWAY & KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Return a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 55 of file kiway_holder.h.

Referenced by PROJECT_TREE_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), CVPCB_MAINFRAME::BuildLibrariesList(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), BOARD_INSPECTION_TOOL::constructDiffPanel(), PANEL_SYMBOL_CHOOSER::constructRightPanel(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), KIWAY_PLAYER::Destroy(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), FIELDS_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), PANEL_JOBS::EnsurePcbSchFramesOpen(), SIMULATOR_CONTROL::ExportPlotToSchematic(), BACK_ANNOTATE::FetchNetlistFromPCB(), PANEL_SYMBOL_CHOOSER::FinishSetup(), IMPORT_PROJ_HELPER::ImportIndividualFile(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), KIWAY_PLAYER::language_change(), KICAD_MANAGER_FRAME::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), PGM_SINGLE_TOP::MacOpenFile(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PCB_CALCULATOR_FRAME::OnExit(), SIMULATOR_FRAME::onExit(), SAVE_AS_TRAVERSER::OnFile(), KIGFX::WX_VIEW_CONTROLS::onMotion(), PANEL_JOB_OUTPUT::OnOutputRunClick(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_FIELD_PROPERTIES::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), PANEL_JOBS::openJobOptionsForListItem(), PANEL_FOOTPRINT_CHOOSER::PANEL_FOOTPRINT_CHOOSER(), PCB_FIELDS_GRID_TABLE::PCB_FIELDS_GRID_TABLE(), KIWAY_HOLDER::Prj(), SIMULATOR_CONTROL::Probe(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), CVPCB_MAINFRAME::SaveFootprintAssociation(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), CVPCB_MAINFRAME::SendComponentSelectionToSch(), CVPCB_CONTROL::ShowFootprintViewer(), showFrame(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPluginManager(), EDA_BASE_FRAME::ShowPreferences(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), FP_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), COMMON_CONTROL::ShowProjectManager(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), DIALOG_ERC::testErc(), DIALOG_FOOTPRINT_ASSOCIATIONS::TransferDataToWindow(), SIMULATOR_CONTROL::Tune(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ kiway_express()

void KIWAY_PLAYER::kiway_express ( KIWAY_EXPRESS aEvent)
protectedinherited

event handler, routes to derivative specific virtual KiwayMailIn()

Definition at line 200 of file kiway_player.cpp.

References KIWAY_PLAYER::KiwayMailIn().

◆ KiwayMailIn()

◆ language_change()

void KIWAY_PLAYER::language_change ( wxCommandEvent &  event)
protectedinherited

An event handler called on a language menu selection.

Definition at line 207 of file kiway_player.cpp.

References KIWAY_HOLDER::Kiway(), and KIWAY::SetLanguage().

◆ libeditconfig()

◆ LibraryFileBrowser()

bool EDA_DRAW_FRAME::LibraryFileBrowser ( bool  doOpen,
wxFileName &  aFilename,
const wxString &  wildcard,
const wxString &  ext,
bool  isDirectory = false,
bool  aIsGlobal = false,
const wxString &  aGlobalPath = wxEmptyString 
)
inherited
Parameters
doOpenif true runs an Open Library browser, otherwise New Library
aFilenamefor New may contain a default name; in both cases return the chosen filename.
wildcarda wildcard to filter the displayed files
extthe library file extension
isDirectoryindicates the library files are directories
Returns
true for OK; false for Cancel.

Definition at line 1111 of file eda_draw_frame.cpp.

References _, EDA_BASE_FRAME::GetMruPath(), PROJECT::GetProjectPath(), PROJECT::IsNullProject(), KIWAY_HOLDER::Prj(), and EDA_BASE_FRAME::SetMruPath().

Referenced by AddDesignBlockLibrary(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), createNewDesignBlockLibrary(), PCB_BASE_EDIT_FRAME::createNewLibrary(), and SCH_EDITOR_CONTROL::ExportSymbolsToLibrary().

◆ loadCanvasTypeSetting()

EDA_DRAW_PANEL_GAL::GAL_TYPE EDA_DRAW_FRAME::loadCanvasTypeSetting ( APP_SETTINGS_BASE aCfg = nullptr)
protectedinherited

Returns the canvas type stored in the application settings.

Parameters
aCfgis the APP_SETTINGS_BASE config storing the canvas type. If nullptr (default) the KifaceSettings() will be used

Definition at line 871 of file eda_draw_frame.cpp.

References APP_SETTINGS_BASE::GRAPHICS::canvas_type, EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST, EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE, EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL, Kiface(), KIFACE_BASE::KifaceSettings(), and APP_SETTINGS_BASE::m_Graphics.

Referenced by SCH_BASE_FRAME::createCanvas(), EDA_DRAW_FRAME::resolveCanvasType(), and FOOTPRINT_EDIT_FRAME::resolveCanvasType().

◆ LoadDrawingSheet()

◆ LoadProject()

◆ LoadProjectSettings()

◆ LoadSettings()

◆ LoadSheetFromFile()

bool SCH_EDIT_FRAME::LoadSheetFromFile ( SCH_SHEET aSheet,
SCH_SHEET_PATH aCurrentSheet,
const wxString &  aFileName,
bool  aSkipRecursionCheck = false,
bool  aSkipLibCheck = false 
)

Load a the KiCad schematic file aFileName into the sheet aSheet.

If aSheet does not have a valid SCH_SCREEN object, the schematic is loaded into Sheet. Otherwise, it is appended to the current SCH_SCREEN object.

In order to import a schematic a lot of things have to happen to before the contents of the imported schematic can be appended to the current page. The following list describes this process:

  • Load the schematic into a temporary SCH_SHEET object.
  • Make sure the imported schematic does not cause any hierarchy recursion issues.
  • Verify the imported schematic uses fully qualified LIB_ID objects (symbol library table).
  • Check all of the possible combinations that could cause broken symbol library links and give the user the option to cancel the append process. The following conditions are check but they still do not guarantee that there will not be any broken symbol library links:
    • The source schematic is in the current project path and contains symbol library nicknames not found in the project symbol library table. This can happen if the schematic is copied to the current project path from another project.
    • The source schematic is in a different path and there are symbol library link nicknames that do not exist in either the current symbol library table or the source project symbol library table if it exists in the source path.
    • The source schematic is in a different path and contains duplicate symbol library nicknames that point to different libraries.
  • Check to see if any symbol libraries need to be added to the current project's symbol library table. This includes:
    • Check if the symbol library already exists in the project or global symbol library table.
    • Convert symbol library URLS that use the ${KIPRJMOD} environment variable to absolute paths. ${KIPRJMOD} will not be the same for this project.
  • Clear all of the annotation in the imported schematic to prevent clashes.
  • Append the objects from the temporary sheet to the current page.
  • Replace any duplicate time stamps.
  • Refresh the symbol library links.
Parameters
aSheetis the sheet to either append or load the schematic.
aCurrentSheetis the current position in the schematic hierarchy used to test for possible file recursion issues.
aFileNameis the file name to load. The file name is expected to have an absolute path.
aSkipRecursionCheckis true to skip the recursion check. This is used when loading a schematic sheet that is not part of the current project. If we are placing sheet contents instead of a sheet, then we do not need to check for recursion.
aSkipLibCheckis true to skip the new/duplicate lib check. This is always triggered when placing design blocks so it is not necessary to check for new/duplicate libs.
Returns
True if the schematic was imported properly.

Definition at line 166 of file sheet.cpp.

References _, SCH_SHEET_LIST::AddNewSheetInstances(), SCH_SHEET_LIST::AddNewSymbolInstances(), SCH_SCREEN::Append(), checkForNoFullyDefinedLibIds(), CheckSheetForRecursion(), DisplayErrorMessage(), SYMBOL_LIB_TABLE::FindRow(), LIB_TABLE_ROW::GetDescr(), SCH_SCREEN::GetFileFormatVersionAtLoad(), SCH_SCREEN::GetFileName(), LIB_TABLE_ROW::GetFullURI(), LIB_TABLE::GetFullURI(), SCH_SHEET_LIST::GetLastVirtualPageNumber(), SCH_SCREENS::GetLibNicknames(), LIB_TABLE_ROW::GetOptions(), PROJECT::GetProjectPath(), SCH_SHEET::GetScreen(), SCH_SCREEN::GetSymbolInstances(), SYMBOL_LIB_TABLE::GetSymbolLibTableFileName(), SYMBOL_LIB_TABLE_ROW::GetType(), SCH_IO_MGR::GuessPluginTypeFromSchPath(), LIB_TABLE::HasLibrary(), SCH_SCREENS::HasSchematic(), SCHEMATIC::Hierarchy(), LIB_TABLE::InsertRow(), LIB_TABLE::IsEmpty(), LIB_TABLE::Load(), EDA_ITEM::m_Uuid, SCH_SCREEN::MigrateSimModels(), name, Prj(), SCH_SCREENS::ReplaceDuplicateTimeStamps(), LIB_TABLE::Save(), Schematic(), PROJECT_SCH::SchSymbolLibTable(), SCH_SCREEN::SetFileName(), SCH_SHEET::SetFileName(), EDA_DRAW_FRAME::SetMsgPanel(), SCH_SHEET::SetScreen(), SCH_SHEET_LIST::UpdateSymbolInstanceData(), and IO_ERROR::What().

Referenced by SCH_DRAWING_TOOLS::ImportSheet(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), and SCH_EDITOR_CONTROL::Paste().

◆ LoadWindowSettings()

void EDA_BASE_FRAME::LoadWindowSettings ( const WINDOW_SETTINGS aCfg)
inherited

Load window settings from the given settings object.

Normally called by LoadSettings() unless the window in question is a child window that* stores its settings somewhere other than APP_SETTINGS_BASE::m_Window.

Definition at line 785 of file eda_base_frame.cpp.

References TOOLS_HOLDER::CommonSettingsChanged(), EDA_BASE_FRAME::LoadWindowState(), EDA_BASE_FRAME::m_mruPath, EDA_BASE_FRAME::m_perspective, WINDOW_SETTINGS::mru_path, WINDOW_SETTINGS::perspective, and WINDOW_SETTINGS::state.

Referenced by EDA_BASE_FRAME::LoadSettings().

◆ LoadWindowState() [1/2]

◆ LoadWindowState() [2/2]

◆ LockFile()

bool EDA_DRAW_FRAME::LockFile ( const wxString &  aFileName)
inherited

Mark a schematic file as being in use.

Use ReleaseFile() to undo this.

Parameters
aFileNamefull path to the file.
Returns
true if the file is locked or read-only, false otherwise.

Definition at line 202 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::m_file_checker, and Pgm().

Referenced by OpenProjectFiles(), PCB_EDIT_FRAME::SavePcbFile(), and SaveProject().

◆ MakeGridHelper()

std::unique_ptr< GRID_HELPER > SCH_EDIT_FRAME::MakeGridHelper ( )
overridevirtual

Reimplemented from EDA_DRAW_FRAME.

Definition at line 2130 of file sch_edit_frame.cpp.

References TOOLS_HOLDER::m_toolManager.

◆ MakeNetNavigatorNode()

void SCH_EDIT_FRAME::MakeNetNavigatorNode ( const wxString &  aNetName,
wxTreeItemId  aParentId,
const NET_NAVIGATOR_ITEM_DATA aSelection,
bool  aSingleSheetSchematic 
)

◆ mapExistingAnnotation()

void SCH_EDIT_FRAME::mapExistingAnnotation ( std::map< wxString, wxString > &  aMap)
private

Fill a map of uuid -> reference from the currently loaded schematic.

Parameters
aMapis a map to fill

Definition at line 39 of file annotate.cpp.

References KIID_PATH::AsString(), SCH_REFERENCE_LIST::GetCount(), SCH_SYMBOL::GetRef(), SCH_SHEET_LIST::GetSymbols(), SCHEMATIC::Hierarchy(), SCH_SYMBOL::IsAnnotated(), EDA_ITEM::m_Uuid, SCH_SHEET_PATH::Path(), and Schematic().

Referenced by AnnotateSymbols().

◆ MessageTextFromMinOptMax()

wxString UNITS_PROVIDER::MessageTextFromMinOptMax ( const MINOPTMAX< int > &  aValue) const
inlineinherited

◆ MessageTextFromValue() [1/2]

wxString UNITS_PROVIDER::MessageTextFromValue ( const EDA_ANGLE aValue,
bool  aAddUnitLabel = true 
) const
inlineinherited

◆ MessageTextFromValue() [2/2]

wxString UNITS_PROVIDER::MessageTextFromValue ( double  aValue,
bool  aAddUnitLabel = true,
EDA_DATA_TYPE  aType = EDA_DATA_TYPE::DISTANCE 
) const
inlineinherited

A lower-precision version of StringFromValue().

Should ONLY be used for status text and messages. Not suitable for dialogs, files, etc. where the loss of precision matters.

Definition at line 127 of file units_provider.h.

References UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), and EDA_UNIT_UTILS::UI::MessageTextFromValue().

Referenced by CheckDuplicatePins(), CheckLibSymbol(), CheckLibSymbolGraphics(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DIALOG_BOARD_REANNOTATE::CoordTowxString(), GERBVIEW_FRAME::DisplayGridMsg(), GERBER_FILE_IMAGE::DisplayImageInfo(), DRAWING_TOOL::DrawBoardCharacteristics(), DRC_ENGINE::EvalRules(), PCB_NET_INSPECTOR_PANEL::formatLength(), DRC_TEST_PROVIDER::formatMsg(), SCH_LINE::GetItemDescription(), SCH_SHAPE::GetItemDescription(), DS_DRAW_ITEM_LINE::GetItemDescription(), DS_DRAW_ITEM_RECT::GetItemDescription(), PCB_TRACK::GetItemDescription(), SCH_BITMAP::GetMsgPanelInfo(), SCH_FIELD::GetMsgPanelInfo(), SCH_JUNCTION::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_PIN::GetMsgPanelInfo(), SCH_TABLECELL::GetMsgPanelInfo(), SCH_TEXT::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), DS_DRAW_ITEM_BASE::GetMsgPanelInfo(), PCB_TUNING_PATTERN::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_ALIGNED::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_REFERENCE_IMAGE::GetMsgPanelInfo(), PCB_TABLECELL::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), STROKE_PARAMS::GetMsgPanelInfo(), GetNetNavigatorItemText(), SYMBOL_SEARCH_HANDLER::getResultCell(), POWER_SEARCH_HANDLER::getResultCell(), TEXT_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), DIALOG_BOARD_REANNOTATE::MakeSampleText(), PCB_BASE_FRAME::MessageTextFromCoord(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DIALOG_BOARD_STATISTICS::saveReportClicked(), TUNING_STATUS_VIEW_ITEM::SetCurrent(), TUNING_STATUS_VIEW_ITEM::SetMinMax(), EDA_SHAPE::ShapeGetMsgPanelInfo(), showCoord(), TRACK_WIDTH_MENU::update(), DIFF_PAIR_MENU::update(), VIA_SIZE_MENU::update(), DIALOG_POSITION_RELATIVE::updateAnchorInfo(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), DIALOG_BOARD_STATISTICS::updateDrillGrid(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_FRAME::UpdateMsgPanelInfo(), SCH_BASE_FRAME::UpdateStatusBar(), GERBVIEW_FRAME::UpdateStatusBar(), PCB_BASE_FRAME::UpdateStatusBar(), and DIALOG_BOARD_STATISTICS::updateWidets().

◆ ModalAnnotate()

int SCH_EDIT_FRAME::ModalAnnotate ( const wxString &  aMessage)

Run a modal version of the annotate dialog for a specific purpose.

Parameters
aMessageA user message indicating the purpose.
Returns
the result of ShowModal()

Definition at line 313 of file dialog_annotate.cpp.

Referenced by ReadyToNetlist().

◆ NetInspectorPanelName()

static const wxString EDA_DRAW_FRAME::NetInspectorPanelName ( )
inlinestaticinherited

◆ NetNavigatorPaneName()

static const wxString SCH_EDIT_FRAME::NetNavigatorPaneName ( )
inlinestatic

◆ NewProject()

◆ NonUserClose()

bool EDA_BASE_FRAME::NonUserClose ( bool  aForce)
inlineinherited

Definition at line 592 of file eda_base_frame.h.

References EDA_BASE_FRAME::m_isNonUserClose.

Referenced by KIWAY::PlayerClose().

◆ onActivate()

void EDA_DRAW_FRAME::onActivate ( wxActivateEvent &  aEvent)
protectedinherited

Definition at line 1326 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::handleActivateEvent().

◆ OnAnnotate()

void SCH_EDIT_FRAME::OnAnnotate ( )

◆ OnApiPluginInvoke()

void EDA_DRAW_FRAME::OnApiPluginInvoke ( wxCommandEvent &  aEvent)
virtualinherited

Handler for activating an API plugin (via toolbar or menu)

Definition at line 1399 of file eda_draw_frame.cpp.

References API_PLUGIN_MANAGER::ButtonBindings(), API_PLUGIN_MANAGER::InvokeAction(), and Pgm().

Referenced by EDA_DRAW_FRAME::addApiPluginTools().

◆ onAutoSaveTimer()

void EDA_BASE_FRAME::onAutoSaveTimer ( wxTimerEvent &  aEvent)
protectedinherited

◆ OnCharHook()

void EDA_BASE_FRAME::OnCharHook ( wxKeyEvent &  aKeyEvent)
virtualinherited

Capture the key event before it is sent to the GUI.

The basic frame does not capture this event. Editor frames should override this event function to capture and filter these keys when they are used as hotkeys, and skip it if the key is not used as hotkey (otherwise the key events will be not sent to menus).

Reimplemented in SYMBOL_VIEWER_FRAME, and FOOTPRINT_VIEWER_FRAME.

Definition at line 358 of file eda_base_frame.cpp.

References dump(), and kicadTraceKeyEvent.

◆ OnClearFileHistory()

void SCH_EDIT_FRAME::OnClearFileHistory ( wxCommandEvent &  aEvent)
private

Definition at line 1344 of file sch_edit_frame.cpp.

References EDA_BASE_FRAME::ClearFileHistory().

◆ onCloseErcDialog()

void SCH_EDIT_FRAME::onCloseErcDialog ( wxCommandEvent &  aEvent)
protected

Definition at line 2533 of file sch_edit_frame.cpp.

References m_ercDialog.

Referenced by doCloseWindow(), and SCH_EDIT_FRAME().

◆ onCloseSymbolDiffDialog()

void SCH_EDIT_FRAME::onCloseSymbolDiffDialog ( wxCommandEvent &  aEvent)
protected

Definition at line 2514 of file sch_edit_frame.cpp.

References DIFF_SYMBOLS_DIALOG_NAME, and m_diffSymbolDialog.

Referenced by doCloseWindow(), and SCH_EDIT_FRAME().

◆ onCloseSymbolFieldsTableDialog()

void SCH_EDIT_FRAME::onCloseSymbolFieldsTableDialog ( wxCommandEvent &  aEvent)
protected

Definition at line 2552 of file sch_edit_frame.cpp.

References m_symbolFieldsTableDialog.

Referenced by doCloseWindow(), and SCH_EDIT_FRAME().

◆ OnDropFiles()

void EDA_BASE_FRAME::OnDropFiles ( wxDropFilesEvent &  aEvent)
protectedvirtualinherited

Handles event fired when a file is dropped to the window.

In this base class, stores the path of files accepted. Calls DoWithAcceptedFiles() to execute actions on files.

Definition at line 1291 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::DoWithAcceptedFiles(), FILEEXT::GerberFileExtension, FILEEXT::IsGerberFileExtension(), EDA_BASE_FRAME::m_acceptedExts, and EDA_BASE_FRAME::m_AcceptedFiles.

◆ OnExit()

void SCH_EDIT_FRAME::OnExit ( wxCommandEvent &  event)
private

Definition at line 1496 of file sch_edit_frame.cpp.

References Kiface(), Kiway, and KIWAY::OnKiCadExit().

◆ OnFindDialogClose()

◆ onIconize()

void EDA_BASE_FRAME::onIconize ( wxIconizeEvent &  aEvent)
protectedinherited

Definition at line 1608 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::handleIconizeEvent().

◆ OnImportProject()

◆ OnKicadAbout()

void EDA_BASE_FRAME::OnKicadAbout ( wxCommandEvent &  event)
inherited

Definition at line 1061 of file eda_base_frame.cpp.

References ShowAboutDialog().

◆ OnLoadFile()

void SCH_EDIT_FRAME::OnLoadFile ( wxCommandEvent &  event)
private

Definition at line 1335 of file sch_edit_frame.cpp.

References _, EDA_BASE_FRAME::GetFileFromHistory(), and OpenProjectFiles().

◆ OnMaximize()

void EDA_BASE_FRAME::OnMaximize ( wxMaximizeEvent &  aEvent)
inherited

◆ OnMenuEvent()

void EDA_BASE_FRAME::OnMenuEvent ( wxMenuEvent &  event)
inherited

The TOOL_DISPATCHER needs these to work around some issues in wxWidgets where the menu events aren't captured by the menus themselves.

Definition at line 368 of file eda_base_frame.cpp.

References TOOL_DISPATCHER::DispatchWxEvent(), and TOOLS_HOLDER::m_toolDispatcher.

◆ OnModify()

void SCH_EDIT_FRAME::OnModify ( )
overridevirtual

Must be called after a schematic change in order to set the "modify" flag and update other data structures and GUI elements.

Reimplemented from EDA_BASE_FRAME.

Definition at line 1168 of file sch_edit_frame.cpp.

References SCH_BASE_FRAME::GetCanvas(), GetScreen(), EDA_BASE_FRAME::m_autoSaveRequired, EDA_BASE_FRAME::OnModify(), EDA_DRAW_PANEL_GAL::Refresh(), BASE_SCREEN::SetContentModified(), and updateTitle().

Referenced by AnnotateSymbols(), SCH_EDITOR_CONTROL::AssignFootprints(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_EDIT_TOOL::EditPageNumber(), DIALOG_ERC::ExcludeMarker(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), SCH_EDITOR_CONTROL::ImportFPAssignments(), SCH_DRAWING_TOOLS::ImportSheet(), DIALOG_ERC::OnERCItemRClick(), DIALOG_ERC::OnIgnoredItemRClick(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), HIERARCHY_PANE::onRightClick(), DIALOG_UPDATE_FROM_PCB::OnUpdateClick(), OpenProjectFiles(), SCH_EDITOR_CONTROL::PageSetup(), SCH_EDITOR_CONTROL::Plot(), SCH_EDIT_TOOL::Properties(), SCH_COMMIT::pushSchEdit(), SCH_EDITOR_CONTROL::Redo(), SCH_EDITOR_CONTROL::RepairSchematic(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), SCH_EDITOR_CONTROL::rescueProject(), DIALOG_SYMBOL_FIELDS_TABLE::savePresetsToSchematic(), SIMULATOR_FRAME::SaveSettings(), ShowSchematicSetupDialog(), SCH_EDIT_TOOL::Swap(), DIALOG_EXPORT_NETLIST::TransferDataFromWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataFromWindow(), SCH_EDITOR_CONTROL::Undo(), SIMULATOR_FRAME_UI::UpdateTunerValue(), DIALOG_EXPORT_NETLIST::WriteCurrentNetlistSetup(), and DIALOG_ANNOTATE::~DIALOG_ANNOTATE().

◆ OnMove()

◆ onNetNavigatorSelChanging()

void SCH_EDIT_FRAME::onNetNavigatorSelChanging ( wxTreeEvent &  aEvent)
private

Definition at line 455 of file net_navigator.cpp.

References m_netNavigator.

Referenced by doCloseWindow(), and SCH_EDIT_FRAME().

◆ onNetNavigatorSelection()

◆ OnOpenCvpcb()

◆ OnOpenPcbnew()

◆ OnPageSettingsChange()

void SCH_EDIT_FRAME::OnPageSettingsChange ( )
overridevirtual

Called when modifying the page settings.

In derived classes it can be used to modify parameters like draw area size, and any other local parameter related to the page settings.

Reimplemented from EDA_DRAW_FRAME.

Definition at line 2180 of file sch_edit_frame.cpp.

References DisplayCurrentSheet(), SCH_BASE_FRAME::GetCanvas(), KIGFX::VIEW::GetScale(), GetScreen(), SCH_DRAW_PANEL::GetView(), and SCH_SCREEN::m_LastZoomLevel.

Referenced by SCH_EDIT_TOOL::EditPageNumber(), HIERARCHY_PANE::onRightClick(), HIERARCHY_PANE::onTreeEditFinished(), and HIERARCHY_PANE::renameIdenticalSheets().

◆ OnPreferences()

void EDA_BASE_FRAME::OnPreferences ( wxCommandEvent &  event)
inherited

Definition at line 1068 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::ShowPreferences().

◆ OnResizeHierarchyNavigator()

void SCH_EDIT_FRAME::OnResizeHierarchyNavigator ( wxSizeEvent &  aEvent)
private

Definition at line 483 of file sch_edit_frame.cpp.

References CaptureHierarchyPaneSize().

Referenced by SCH_EDIT_FRAME(), and ~SCH_EDIT_FRAME().

◆ onResizeNetNavigator()

◆ OnSelectGrid()

void EDA_DRAW_FRAME::OnSelectGrid ( wxCommandEvent &  event)
inherited

Command event handler for selecting grid sizes.

All commands that set the grid size should eventually end up here. This is where the application setting is saved. If you override this method, make sure you call down to the base class.

Parameters
eventCommand event from the grid size combobox on the toolbar.

Definition at line 444 of file eda_draw_frame.cpp.

References dummy, ACTIONS::gridPreset, ACTIONS::gridProperties, EDA_DRAW_FRAME::m_canvas, EDA_DRAW_FRAME::m_gridSelectBox, TOOLS_HOLDER::m_toolManager, EDA_DRAW_FRAME::OnUpdateSelectGrid(), EDA_DRAW_PANEL_GAL::Refresh(), TOOL_MANAGER::RunAction(), EDA_DRAW_PANEL_GAL::SetFocus(), and EDA_DRAW_FRAME::UpdateStatusBar().

◆ OnSelectZoom()

void EDA_DRAW_FRAME::OnSelectZoom ( wxCommandEvent &  event)
virtualinherited

Set the zoom factor when selected by the zoom list box in the main tool bar.

Note
List position 0 is fit to page. List position >= 1 = zoom (1 to zoom max). Last list position is custom zoom not in zoom list.

Definition at line 560 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::m_canvas, TOOLS_HOLDER::m_toolManager, EDA_DRAW_FRAME::m_zoomSelectBox, EDA_DRAW_PANEL_GAL::Refresh(), TOOL_MANAGER::RunAction(), EDA_DRAW_PANEL_GAL::SetFocus(), EDA_DRAW_FRAME::UpdateStatusBar(), and ACTIONS::zoomPreset.

◆ onSize()

void SCH_EDIT_FRAME::onSize ( wxSizeEvent &  aEvent)
protected

◆ OnSize()

void EDA_DRAW_FRAME::OnSize ( wxSizeEvent &  event)
overridevirtualinherited

Recalculate the size of toolbars and display panel when the frame size changes.

Reimplemented from EDA_BASE_FRAME.

Reimplemented in SYMBOL_DIFF_FRAME, SYMBOL_VIEWER_FRAME, FOOTPRINT_VIEWER_FRAME, and FOOTPRINT_WIZARD_FRAME.

Definition at line 657 of file eda_draw_frame.cpp.

References EDA_BASE_FRAME::m_frameSize, and EDA_BASE_FRAME::OnSize().

Referenced by onSize(), and PCB_EDIT_FRAME::onSize().

◆ OnSockRequest()

void KIWAY_PLAYER::OnSockRequest ( wxSocketEvent &  evt)
inherited

Definition at line 69 of file eda_dde.cpp.

References client_ipc_buffer, KIWAY_PLAYER::ExecuteRemoteCommand(), and IPC_BUF_SIZE.

◆ OnSockRequestServer()

void KIWAY_PLAYER::OnSockRequestServer ( wxSocketEvent &  evt)
inherited

Definition at line 99 of file eda_dde.cpp.

References ID_EDA_SOCKET_EVENT, and KIWAY_PLAYER::m_sockets.

◆ OnSymChange()

void SCH_BASE_FRAME::OnSymChange ( wxFileSystemWatcherEvent &  aEvent)
inherited

Handler for Symbol change events.

Responds to the filesystem watcher set in setSymWatcher.

Definition at line 698 of file sch_base_frame.cpp.

References SCH_BASE_FRAME::m_watcher, SCH_BASE_FRAME::m_watcherDebounceTimer, SCH_BASE_FRAME::m_watcherFileName, KIWAY_HOLDER::Prj(), and PROJECT_SCH::SchLibs().

Referenced by SCH_BASE_FRAME::setSymWatcher().

◆ OnSymChangeDebounceTimer()

void SCH_BASE_FRAME::OnSymChangeDebounceTimer ( wxTimerEvent &  aEvent)
inherited

◆ onSystemColorChange()

void EDA_BASE_FRAME::onSystemColorChange ( wxSysColourChangedEvent &  aEvent)
protectedinherited

Definition at line 1598 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::HandleSystemColorChange().

◆ OnToolbarSizeChanged()

void EDA_DRAW_FRAME::OnToolbarSizeChanged ( )
inherited

◆ OnUpdatePCB()

◆ OnUpdateSelectGrid()

void EDA_DRAW_FRAME::OnUpdateSelectGrid ( wxUpdateUIEvent &  aEvent)
inherited

◆ OnUpdateSelectZoom()

void EDA_DRAW_FRAME::OnUpdateSelectZoom ( wxUpdateUIEvent &  aEvent)
inherited

◆ OpenProjectFiles()

bool SCH_EDIT_FRAME::OpenProjectFiles ( const std::vector< wxString > &  aFileList,
int  aCtl = 0 
)
overridevirtual

Open a project or set of files given by aFileList.

This is generalized in the direction of worst case. In a typical case aFileList will only hold a single file, like "myboard.kicad_pcb" because any KIWAY_PLAYER is only in one KIWAY and the KIWAY owns the PROJECT. Therefore opening files from multiple projects into the same KIWAY_PLAYER is precluded.

Each derived class should handle this in a way specific to its needs. No filename prompting is done inside here for any file or project. There should be no need to call this with aFileList which is empty. However, calling it with a single filename which does not exist should indicate to the implementer that a new session is being started and that the given name is the desired name for the data file at time of save.

This function does not support "appending". Use a different function for that. Any prior project data tree should be cleared before loading the new stuff. Therefore, one of the first things an implementation should do is test for existence of the first file in the list, and if it does not exist, treat it as a new session, possibly with a UI notification to that effect.

After loading the window should update its Title as part of this operation. If the KIWAY_PLAYER needs to, it can load the *.pro file as part of this operation.

If the KIWAY_PLAYER cannot load any of the file(s) in the list, then it should say why through some GUI interface, and return false.

Parameters
aFileListincludes files that this frame should open according to the knowledge in the derived wxFrame. In almost every case, the list will have only a single file in it.
aCtlis a set of bit flags ORed together from the set of KICTL_* #defined above.
Returns
true if all requested files were opened OK, else false.

Reimplemented from KIWAY_PLAYER.

Definition at line 86 of file eeschema/files-io.cpp.

References _, PROJECT::AbsolutePath(), WX_INFOBAR::AddCloseButton(), SCH_SHEET_LIST::AllSheetPageNumbersEmpty(), AskOverrideLock(), AskToSaveChanges(), CheckForAutoSaveFile(), SCH_SHEET_LIST::CheckForMissingSymbolInstances(), SCH_SCREEN::ClearDrawingState(), ClearRepeatItemsList(), EDA_BASE_FRAME::ClearUndoRedoList(), SCHEMATIC::ConnectionGraph(), CreateScreens(), DeleteAutoSaveFile(), WX_INFOBAR::Dismiss(), DisplayError(), DisplayErrorMessage(), DisplayInfoMessage(), SCH_DRAW_PANEL::DisplaySheet(), dummy, editor, SCH_BASE_FRAME::eeconfig(), SCHEMATIC::FixupJunctions(), getAutoSaveFileName(), SCH_BASE_FRAME::GetCanvas(), GetCurrentFileName(), GetCurrentSheet(), SCH_BUS_ENTRY_BASE::GetEnd(), SCH_SCREEN::GetFileFormatVersionAtLoad(), SCH_SCREENS::GetFirst(), SYMBOL_LIBS::GetLibNamesAndPaths(), SYMBOL_LIBS::GetLibraryCount(), SCH_SCREENS::GetNext(), SCH_BUS_ENTRY_BASE::GetPosition(), PROJECT::GetProjectFullName(), GetScreen(), EDA_BASE_FRAME::GetSettingsManager(), TOOL_MANAGER::GetTool(), GLOBAL_CLEANUP, SCH_IO_MGR::GuessPluginTypeFromSchPath(), SCH_SCREENS::HasNoFullyDefinedLibIds(), SCH_SCREENS::HasSymbolFieldNamesWithWhiteSpace(), PGM_BASE::HideSplash(), SCHEMATIC::Hierarchy(), initScreenZoom(), SCH_SHEET_LIST::IsModified(), IsOK(), KICTL_CREATE, KICTL_KICAD_ONLY, KICTL_REVERT, Kiface(), KIFACE_BASE::KifaceSettings(), LAYER_BUS, FILEEXT::LegacyProjectFileExtension, FILEEXT::LegacySymbolLibFileExtension, LoadDrawingSheet(), SETTINGS_MANAGER::LoadProject(), LoadProjectSettings(), EDA_BASE_FRAME::LoadWindowState(), EDA_DRAW_FRAME::LockFile(), EESCHEMA_SETTINGS::m_Appearance, EDA_DRAW_FRAME::m_file_checker, EDA_BASE_FRAME::m_infoBar, EESCHEMA_SETTINGS::m_RescueNeverShow, m_schematicChangeListeners, TOOLS_HOLDER::m_toolManager, OnModify(), WX_INFOBAR::OUTDATED_SAVE, Pgm(), Prj(), IO_ERROR::Problem(), FILEEXT::ProjectFileExtension, SCH_SCREENS::PruneOrphanedSheetInstances(), SCH_SCREENS::PruneOrphanedSymbolInstances(), WX_INFOBAR::QueueShowMessage(), RecalculateConnections(), RecomputeIntersheetRefs(), KIPLATFORM::APP::RegisterApplicationRestart(), WX_INFOBAR::RemoveAllButtons(), SCH_SCREENS::ReplaceDuplicateTimeStamps(), CONNECTION_GRAPH::Reset(), SCHEMATIC::Reset(), Reset(), SCHEMATIC::ResolveERCExclusionsPostUpdate(), SCHEMATIC::Root(), TOOL_MANAGER::RunAction(), SETTINGS_MANAGER::SaveProject(), SaveProjectLocalSettings(), SCH_BUS_BUS_ENTRY_T, PROJECT::SCH_SYMBOL_LIBS, Schematic(), PROJECT_SCH::SchLibs(), PROJECT_SCH::SchSymbolLibTable(), BASE_SCREEN::SetContentModified(), PROJECT::SetElem(), SCH_SCREEN::SetFileName(), SCH_SHEET_LIST::SetInitialPageNumbers(), SYMBOL_LIBS::SetLibNamesAndPaths(), EDA_DRAW_FRAME::SetMsgPanel(), SCH_SHEET::SetName(), SCHEMATIC::SetProject(), PROJECT::SetReadOnly(), SCHEMATIC::SetRoot(), SetScreen(), SetSheetNumberAndCount(), KIPLATFORM::APP::SetShutdownBlockReason(), SEXPR_SCHEMATIC_FILE_VERSION, PROF_TIMER::Show(), EESCHEMA_SETTINGS::APPEARANCE::show_illegal_symbol_lib_dialog, WX_INFOBAR::ShowMessage(), DIALOG_SHIM::ShowQuasiModal(), TOOL_BASE::SUPERMODEL_RELOAD, PROJECT::SYMBOL_LIB_TABLE, SCH_BASE_FRAME::SyncView(), TestDanglingEnds(), tracePathsAndFiles, SETTINGS_MANAGER::UnloadProject(), SCH_SHEET_PATH::UpdateAllScreenReferences(), EDA_BASE_FRAME::UpdateFileHistory(), UpdateHierarchyNavigator(), SCH_SHEET_LIST::UpdateSheetInstanceData(), SCH_SHEET_LIST::UpdateSymbolInstanceData(), SCH_SCREENS::UpdateSymbolLinks(), updateTitle(), IO_ERROR::What(), and ACTIONS::zoomFitScreen.

Referenced by LoadProject(), NewProject(), OnLoadFile(), and SCH_EDITOR_CONTROL::Revert().

◆ OptionalValueFromString()

std::optional< int > UNITS_PROVIDER::OptionalValueFromString ( const wxString &  aTextValue,
EDA_DATA_TYPE  aType = EDA_DATA_TYPE::DISTANCE 
) const
inlineinherited

Converts aTextValue in aUnits to internal units used by the frame.

Allows the return of an empty optional if the string represents a null value (currently empty string)

Warning
This utilizes the current locale and will break if decimal formats differ
Parameters
aTypeis the type of this value, and controls the way the string is converted to a value
aTextValueA reference to a wxString object containing the string to convert.
Returns
internal units value

Definition at line 175 of file units_provider.h.

References EDA_UNIT_UTILS::UI::DoubleValueFromString(), UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), and UNITS_PROVIDER::NullUiString.

Referenced by WX_GRID::GetOptionalUnitValue(), and WX_GRID::onCellEditorHidden().

◆ PickSymbolFromLibrary()

PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibrary ( const SYMBOL_LIBRARY_FILTER aFilter,
std::vector< PICKED_SYMBOL > &  aHistoryList,
std::vector< PICKED_SYMBOL > &  aAlreadyPlaced,
bool  aShowFootprints,
const LIB_ID aHighlight = nullptr,
bool  aAllowFields = true 
)
inherited

Call the library viewer to select symbol to import into schematic.

If the library viewer is currently running, it is closed and reopened in modal mode.

aAllowFields chooses whether or not features that permit the user to edit fields (e.g. footprint selection) should be enabled. This should be false when they would have no effect, for example loading a part into symbol_editor.

Parameters
aFilteris an optional SYMBOL_LIBRARY_FILTER filter to pass the allowed library names and/or the library name to load the symbol from and/or some other filter
aHistoryListis the list of previously loaded symbols - will be edited
aHighlightis the name of symbol to highlight in the list. highlights none if there isn't one by that name.
aShowFootprintsis the whether to show footprints in the dialog.
aAllowFieldsis whether to allow field editing in the dialog.
Returns
the selected symbol

Definition at line 49 of file picksymbol.cpp.

References alg::delete_if(), PICKED_SYMBOL::Fields, DIALOG_SYMBOL_CHOOSER::g_Mutex, DIALOG_SYMBOL_CHOOSER::GetFields(), DIALOG_SYMBOL_CHOOSER::GetSelectedLibId(), LIB_ID::IsValid(), PICKED_SYMBOL::LibId, and PICKED_SYMBOL::Unit.

Referenced by SCH_DRAWING_TOOLS::PlaceSymbol(), and DIALOG_EDIT_SYMBOLS_LIBID::setLibIdByBrowser().

◆ PluginActionScope()

PLUGIN_ACTION_SCOPE SCH_EDIT_FRAME::PluginActionScope ( ) const
inlineoverridevirtual

Reimplemented from EDA_DRAW_FRAME.

Definition at line 941 of file sch_edit_frame.h.

◆ PopCommandFromRedoList()

PICKED_ITEMS_LIST * EDA_BASE_FRAME::PopCommandFromRedoList ( )
virtualinherited

◆ PopCommandFromUndoList()

◆ PopTool()

void TOOLS_HOLDER::PopTool ( const TOOL_EVENT aEvent)
virtualinherited

Pops a tool from the stack.

Parameters
aEventThe event that started the tool that was pushed to the stack.

Definition at line 77 of file tools_holder.cpp.

References TOOLS_HOLDER::DisplayToolMsg(), ACTION_MANAGER::FindAction(), TOOL_MANAGER::GetActionManager(), TOOL_EVENT::getCommandStr(), TOOLS_HOLDER::GetToolManager(), TOOLS_HOLDER::m_toolManager, TOOLS_HOLDER::m_toolStack, TOOL_ACTION::MakeEvent(), TOOL_MANAGER::PostEvent(), ACTIONS::selectionTool, TOOL_EVENT::SetHasPosition(), and TOOL_EVENT::SetReactivate().

Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), DRAWING_TOOL::InteractivePlaceWithPreview(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().

◆ PrintDrawingSheet()

void EDA_DRAW_FRAME::PrintDrawingSheet ( const RENDER_SETTINGS aSettings,
BASE_SCREEN aScreen,
const std::map< wxString, wxString > *  aProperties,
double  aMils2Iu,
const wxString &  aFilename,
const wxString &  aSheetLayer = wxEmptyString 
)
inherited

Prints the drawing-sheet (frame and title block).

Parameters
aScreenscreen to draw.
aPropertiesOptional properties for text variable resolution.
aMils2IuThe mils to Iu conversion factor.
aFilenameThe filename to display in basic inscriptions.
aSheetLayerThe layer displayed from PcbNew.

Definition at line 1067 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::GetFullScreenDesc(), BASE_SCREEN::GetPageCount(), BASE_SCREEN::GetPageNumber(), EDA_DRAW_FRAME::GetPageSettings(), KIGFX::RENDER_SETTINGS::GetPrintDC(), EDA_DRAW_FRAME::GetScreenDesc(), EDA_DRAW_FRAME::GetTitleBlock(), BASE_SCREEN::GetVirtualPageNumber(), EDA_DRAW_FRAME::m_showBorderAndTitleBlock, EDA_DRAW_FRAME::PrintDrawingSheet(), and KIWAY_HOLDER::Prj().

Referenced by EDA_DRAW_FRAME::PrintDrawingSheet(), PrintPage(), PL_EDITOR_FRAME::PrintPage(), PLEDITOR_PRINTOUT::PrintPage(), and SCH_PRINTOUT::PrintPage().

◆ PrintMsg()

void EDA_BASE_FRAME::PrintMsg ( const wxString &  text)
inherited

Definition at line 902 of file eda_base_frame.cpp.

References text.

Referenced by KICAD_MANAGER_FRAME::OnUnarchiveFiles().

◆ PrintPage()

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 36 of file kiway_holder.cpp.

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), SYMBOL_LIBRARY_MANAGER::addLibrary(), DIALOG_PLOT::applyPlotSettings(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), DIALOG_FOOTPRINT_CHOOSER::build3DCanvas(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesList(), PCB_BASE_FRAME::canCloseWindow(), SIMULATOR_FRAME::canCloseWindow(), PANEL_SETUP_NETCLASSES::checkReload(), KICAD_MANAGER_FRAME::CloseProject(), PCB_BASE_FRAME::CreateNewFootprint(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_ASSIGN_NETCLASS::DIALOG_ASSIGN_NETCLASS(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_IBIS_PARSER_REPORTER::DIALOG_IBIS_PARSER_REPORTER(), DIALOG_IMPORT_NETLIST::DIALOG_IMPORT_NETLIST(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), EE_INSPECTION_TOOL::DiffSymbol(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), CVPCB_MAINFRAME::DisplayStatus(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), FIELDS_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), BOARD_EDITOR_CONTROL::ExportNetlist(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), SYMBOL_EDITOR_CONTROL::ExportView(), BACK_ANNOTATE::FetchNetlistFromPCB(), PANEL_SYMBOL_CHOOSER::FinishSetup(), FIELDS_GRID_TABLE::GetAttr(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), SIMULATOR_CONTROL::getDefaultFilename(), SIMULATOR_CONTROL::getDefaultPath(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), SCH_BASE_FRAME::GetLibSymbol(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), KICAD_MANAGER_FRAME::GetProjectFileName(), SCH_NAVIGATE_TOOL::HypertextCommand(), SCH_EDITOR_CONTROL::ImportFPAssignments(), PANEL_SETUP_RULES::ImportSettingsFrom(), SCH_DRAWING_TOOLS::ImportSheet(), DIALOG_EXPORT_2581::Init(), DIALOG_PLOT::init_Dialog(), DIALOG_EXPORT_SVG::initDialog(), DIALOG_GEN_FOOTPRINT_POSITION::initDialog(), FIELDS_GRID_TABLE::initGrid(), SIMULATOR_FRAME_UI::InitWorkbook(), EDA_DRAW_FRAME::LibraryFileBrowser(), PCB_BASE_FRAME::loadFootprint(), CVPCB_MAINFRAME::LoadFootprintFiles(), KICAD_MANAGER_FRAME::LoadProject(), SIMULATOR_FRAME::LoadSettings(), SIMULATOR_FRAME::LoadSimulator(), EDA_BASE_FRAME::LoadWindowState(), SIMULATOR_FRAME_UI::LoadWorkbook(), EDA_3D_VIEWER_FRAME::NewDisplay(), PANEL_FP_PROPERTIES_3D_MODEL::On3DModelCellChanged(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), DIALOG_BOARD_SETUP::onAuxiliaryAction(), DIALOG_EXPORT_STEP::onBrowseClicked(), DIALOG_EXPORT_2581::onBrowseClicked(), DIALOG_EXPORT_ODBPP::onBrowseClicked(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), DIALOG_IMPORT_NETLIST::onBrowseNetlistFiles(), WX_HTML_REPORT_PANEL::onBtnSaveToFile(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), DIALOG_SYMBOL_FIELDS_TABLE::OnExport(), DIALOG_EXPORT_STEP::onExportButton(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), DIALOG_GEN_FOOTPRINT_POSITION::OnGenerate(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), DIALOG_CONFIG_EQUFILES::OnOkClick(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SYMBOL_FIELDS_TABLE::OnOutputFileBrowseClicked(), DIALOG_SCHEMATIC_SETUP::onPageChanged(), DIALOG_BOARD_SETUP::onPageChanged(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), SCH_BASE_FRAME::OnSymChange(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), DIALOG_PAGES_SETTINGS::OnWksFileSelection(), FOOTPRINT_EDITOR_CONTROL::OpenDirectory(), FOOTPRINT_EDITOR_CONTROL::OpenWithTextEditor(), PANEL_DESIGN_BLOCK_CHOOSER::PANEL_DESIGN_BLOCK_CHOOSER(), PANEL_FOOTPRINT_CHOOSER::PANEL_FOOTPRINT_CHOOSER(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), LIBRARY_EDITOR_CONTROL::PinLibrary(), SCH_DESIGN_BLOCK_CONTROL::PinLibrary(), LIB_TREE_MODEL_ADAPTER::PinLibrary(), SCH_DRAWING_TOOLS::PlaceSymbol(), PANEL_SYMBOL_CHOOSER::populateFootprintSelector(), EDA_DRAW_FRAME::PrintDrawingSheet(), KICAD_MANAGER_FRAME::PrintPrjInfo(), SCH_EDITOR_CONTROL::prunePastedSymbolInstances(), CVPCB_MAINFRAME::readNetListAndFpFiles(), APPEARANCE_CONTROLS::rebuildNets(), PANEL_DESIGN_BLOCK_CHOOSER::RefreshLibs(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), EDA_3D_VIEWER_FRAME::ReloadRequest(), SIMULATOR_FRAME::ReloadSimulator(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), SAVE_AS_DIALOG::SAVE_AS_DIALOG(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), DIALOG_BOARD_STATISTICS::saveReportClicked(), EDA_BASE_FRAME::SaveSettings(), SIMULATOR_FRAME::SaveSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), SIMULATOR_CONTROL::SaveWorkbook(), SIMULATOR_FRAME_UI::SaveWorkbook(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), SCH_BASE_FRAME::SelectSymLibTable(), PCB_BASE_FRAME::setFPWatcher(), GERBVIEW_FRAME::SetPageSettings(), SCH_BASE_FRAME::setSymWatcher(), DIALOG_SYMBOL_FIELDS_TABLE::SetupColumnProperties(), EE_INSPECTION_TOOL::ShowDatasheet(), PANEL_SYMBOL_CHOOSER::showFootprintFor(), COMMON_CONTROL::ShowHelp(), APPEARANCE_CONTROLS::showNetclass(), SCH_EDITOR_CONTROL::SimProbe(), SYMBOL_LIBRARY_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), EDA_3D_VIEWER_FRAME::takeScreenshot(), DIALOG_ERC::testErc(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), DIALOG_EXPORT_NETLIST::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_ASSIGN_NETCLASS::TransferDataFromWindow(), DIALOG_EXPORT_2581::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataFromWindow(), PANEL_SETUP_NETCLASSES::TransferDataToWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), LIBRARY_EDITOR_CONTROL::UnpinLibrary(), SCH_DESIGN_BLOCK_CONTROL::UnpinLibrary(), LIB_TREE_MODEL_ADAPTER::UnpinLibrary(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), SCH_EDITOR_CONTROL::updatePastedSymbol(), SIMULATOR_FRAME::UpdateTitle(), SIMULATOR_FRAME_UI::UpdateTunerValue(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), DIALOG_EXPORT_SVG::~DIALOG_EXPORT_SVG(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), EDA_3D_VIEWER_FRAME::~EDA_3D_VIEWER_FRAME(), and PANEL_FP_PROPERTIES_3D_MODEL::~PANEL_FP_PROPERTIES_3D_MODEL().

◆ ProcessEvent()

bool EDA_BASE_FRAME::ProcessEvent ( wxEvent &  aEvent)
overrideinherited

Override the default process event handler to implement the auto save feature.

Warning
If you override this function in a derived class, make sure you call down to this or the auto save feature will be disabled.

Definition at line 289 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::findQuasiModalDialog(), EDA_BASE_FRAME::GetAutoSaveInterval(), EDA_BASE_FRAME::isAutoSaveRequired(), EDA_BASE_FRAME::m_autoSavePending, EDA_BASE_FRAME::m_autoSaveTimer, EDA_BASE_FRAME::m_isClosing, EDA_BASE_FRAME::m_supportsAutoSave, Pgm(), and traceAutoSave.

Referenced by SYMBOL_VIEWER_FRAME::onSelectNextSymbol(), SYMBOL_VIEWER_FRAME::onSelectPreviousSymbol(), KIWAY::ProcessEvent(), and KIWAY::SetLanguage().

◆ ProjectChanged()

virtual void EDA_BASE_FRAME::ProjectChanged ( )
inlinevirtualinherited

Notification event that the project has changed.

Reimplemented in KICAD_MANAGER_FRAME, and PCB_EDIT_FRAME.

Definition at line 509 of file eda_base_frame.h.

Referenced by KIWAY::ProjectChanged().

◆ PropertiesPaneName()

◆ PushCommandToRedoList()

void EDA_BASE_FRAME::PushCommandToRedoList ( PICKED_ITEMS_LIST aItem)
virtualinherited

◆ PushCommandToUndoList()

◆ PushTool()

void TOOLS_HOLDER::PushTool ( const TOOL_EVENT aEvent)
virtualinherited

NB: the definition of "tool" is different at the user level.

The implementation uses a single TOOL_BASE derived class to implement several user "tools", such as rectangle and circle, or wire and bus. So each user-level tool is actually a TOOL_ACTION.

Pushes a tool to the stack.

Parameters
aEventThe event that is starting the tool to be pushed to the stack.

Definition at line 56 of file tools_holder.cpp.

References TOOLS_HOLDER::DisplayToolMsg(), ACTION_MANAGER::FindAction(), TOOL_MANAGER::GetActionManager(), TOOL_EVENT::getCommandStr(), TOOL_ACTION::GetFriendlyName(), TOOLS_HOLDER::m_toolManager, and TOOLS_HOLDER::m_toolStack.

Referenced by SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), DRAWING_TOOL::InteractivePlaceWithPreview(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().

◆ PutDataInPreviousState()

void SCH_EDIT_FRAME::PutDataInPreviousState ( PICKED_ITEMS_LIST aList)

Restore an undo or redo command to put data pointed by aList in the previous state.

Parameters
aLista PICKED_ITEMS_LIST pointer to the list of items to undo/redo

Definition at line 280 of file schematic_undo_redo.cpp.

References AddCopyForRepeatItem(), SCH_BASE_FRAME::AddToScreen(), EDA_ITEM::ClearEditFlags(), KIGFX::SCH_VIEW::ClearHiddenFlags(), ClearRepeatItemsList(), EDA_ITEM::ClearTempFlags(), DisplayCurrentSheet(), SCH_SHEET_LIST::FindSheetForScreen(), SCH_BASE_FRAME::GetCanvas(), PICKED_ITEMS_LIST::GetCount(), GetCurrentSheet(), SCH_SHEET::GetFileName(), SCH_FIELD::GetId(), SCH_SHEET::GetName(), EDA_ITEM::GetParent(), PICKED_ITEMS_LIST::GetPickedItem(), PICKED_ITEMS_LIST::GetPickedItemLink(), PICKED_ITEMS_LIST::GetPickedItemStatus(), PICKED_ITEMS_LIST::GetPickerFlags(), SCH_SHEET::GetPins(), SCH_SYMBOL::GetPins(), GetScreen(), PICKED_ITEMS_LIST::GetScreenForItem(), EDA_TEXT::GetText(), TOOLS_HOLDER::GetToolManager(), SCH_DRAW_PANEL::GetView(), GLOBAL_CLEANUP, SCH_ITEM::HasConnectivityChanges(), SCH_SHEET::HasPageNumberChanges(), SCHEMATIC::Hierarchy(), SCH_ITEM::IsConnectable(), EE_ACTIONS::leaveSheet, LOCAL_CLEANUP, m_highlightedConnChanged, m_schematic, TOOLS_HOLDER::m_toolManager, NO_CLEANUP, SCHEMATIC::OnItemsAdded(), SCHEMATIC::OnItemsChanged(), SCHEMATIC::OnItemsRemoved(), pin, TOOL_MANAGER::PostAction(), RecalculateConnections(), REFERENCE_FIELD, SCHEMATIC::RefreshHierarchy(), SCH_BASE_FRAME::RemoveFromScreen(), DS_PROXY_UNDO_ITEM::Restore(), SCHEMATIC::Root(), SCH_FIELD_T, SCH_RULE_AREA_T, SCH_SHEET_T, SCH_SYMBOL_T, Schematic(), SCH_ITEM::SetConnectivityDirty(), SetCurrentSheet(), EDA_ITEM::SetFlags(), PICKED_ITEMS_LIST::SetPickedItemStatus(), SCH_SYMBOL::SetRef(), SetSheetNumberAndCount(), SCH_ITEM::SwapData(), EDA_ITEM::Type(), UpdateHierarchyNavigator(), and SCH_SYMBOL::UpdatePins().

Referenced by SCH_EDITOR_CONTROL::Redo(), RollbackSchematicFromUndo(), and SCH_EDITOR_CONTROL::Undo().

◆ ReadyToNetlist()

bool SCH_EDIT_FRAME::ReadyToNetlist ( const wxString &  aAnnotateMessage)

Check if we are ready to write a netlist file for the current schematic.

Test for some issues (missing or duplicate references and sheet names).

Parameters
aAnnotateMessagea message to put up in case annotation needs to be performed.
Returns
true if all is well (i.e. you can call WriteNetListFile next).

Definition at line 193 of file netlist_generator.cpp.

References _, SCH_SHEET_LIST::AnnotatePowerSymbols(), CheckAnnotate(), erc, SCHEMATIC::Hierarchy(), IsOK(), ModalAnnotate(), and Schematic().

Referenced by BACK_ANNOTATE::checkForUnusedSymbols(), KiwayMailIn(), SIMULATOR_FRAME::LoadSimulator(), OnOpenCvpcb(), DIALOG_BOM::OnRunGenerator(), DIALOG_EXPORT_NETLIST::TransferDataFromWindow(), and WriteNetListFile().

◆ RecalculateConnections()

void SCH_EDIT_FRAME::RecalculateConnections ( SCH_COMMIT aCommit,
SCH_CLEANUP_FLAGS  aCleanupFlags 
)

Generate the connection data for the entire schematic hierarchy.

Definition at line 1761 of file sch_edit_frame.cpp.

References _, SCH_CONNECTION::ClearDriverChanged(), SHAPE_POLY_SET::CollideEdge(), SCH_ITEM::Connection(), SCHEMATIC::ConnectionGraph(), COMMIT::Empty(), CONNECTION_GRAPH::ExtractAffectedItems(), CONNECTION_GRAPH::FindFirstSubgraphByName(), KIGFX::GEOMETRY, SCH_BASE_FRAME::GetCanvas(), ADVANCED_CFG::GetCfg(), PICKED_ITEMS_LIST::GetCount(), GetHighlightedConnection(), SCH_RULE_AREA::GetPastAndPresentContainedItems(), PICKED_ITEMS_LIST::GetPickedItem(), PICKED_ITEMS_LIST::GetPickedItemLink(), PICKED_ITEMS_LIST::GetPickedItemStatus(), SCH_SHEET::GetPins(), SCH_SYMBOL::GetPins(), EDA_SHAPE::GetPolyShape(), PROJECT::GetProjectFile(), GetScreen(), PICKED_ITEMS_LIST::GetScreenForItem(), TOOLS_HOLDER::GetToolManager(), SCH_DRAW_PANEL::GetView(), GLOBAL_CLEANUP, SCH_CONNECTION::HasDriverChanged(), SCHEMATIC::Hierarchy(), SCH_ITEM::IsConnectable(), SCH_SCREEN::Items(), LOCAL_CLEANUP, UNDO_REDO_CONTAINER::m_CommandsList, m_highlightedConnChanged, SCHEMATIC_SETTINGS::m_IntersheetRefsShow, TOOLS_HOLDER::m_toolManager, EDA_BASE_FRAME::m_undoList, SCH_RULE_AREA::MakeEffectiveShapes(), CONNECTION_GRAPH::Merge(), PROF_TIMER::msecs(), SCH_CONNECTION::Name(), PROJECT_FILE::NetSettings(), EE_RTREE::Overlapping(), path, Prj(), SCH_COMMIT::Push(), CONNECTION_GRAPH::Recalculate(), RecomputeIntersheetRefs(), RefreshNetNavigator(), KIGFX::REPAINT, SCH_RULE_AREA::ResetDirectivesAndItems(), TOOL_MANAGER::RunAction(), SCH_ITEM::RunOnChildren(), SCH_DIRECTIVE_LABEL_T, SCH_LINE_T, SCH_RULE_AREA_T, SCH_SHEET_T, SCH_SYMBOL_T, Schematic(), SchematicCleanUp(), CONNECTION_GRAPH::SetLastCodes(), SCHEMATIC::Settings(), PROF_TIMER::Stop(), text, EDA_ITEM::Type(), KIGFX::VIEW::Update(), SCH_SCREEN::Update(), KIGFX::VIEW::UpdateAllItemsConditionally(), EE_ACTIONS::updateNetHighlighting, and SCH_RULE_AREA::UpdateRuleAreasInScreens().

Referenced by BACK_ANNOTATE::applyChangelist(), SCH_EDITOR_CONTROL::DrawSheetOnClipboard(), highlightNet(), importFile(), KiwayMailIn(), SIMULATOR_FRAME::LoadSimulator(), OnOpenCvpcb(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), OpenProjectFiles(), SCH_COMMIT::pushSchEdit(), PutDataInPreviousState(), SCH_EDITOR_CONTROL::rescueProject(), SCH_COMMIT::Revert(), ERC_TESTER::RunTests(), ShowSchematicSetupDialog(), and WriteNetListFile().

◆ RecomputeIntersheetRefs()

void SCH_EDIT_FRAME::RecomputeIntersheetRefs ( )

Update the schematic's page reference map for all global labels, and refresh the labels so that they are redrawn with up-to-date references.

Definition at line 2109 of file sch_edit_frame.cpp.

References EDA_TEXT::ClearBoundingBoxCache(), SCH_BASE_FRAME::GetCanvas(), SCH_LABEL_BASE::GetFields(), SCHEMATIC::RecomputeIntersheetRefs(), and Schematic().

Referenced by HardRedraw(), SCH_PRINTOUT::OnPrintPage(), OpenProjectFiles(), RecalculateConnections(), and ShowAllIntersheetRefs().

◆ ReCreateAuxiliaryToolbar()

virtual void EDA_DRAW_FRAME::ReCreateAuxiliaryToolbar ( )
inlinevirtualinherited

◆ ReCreateHToolbar()

◆ ReCreateMenuBar()

void EDA_BASE_FRAME::ReCreateMenuBar ( )
inherited

Recreates the menu bar.

Needed when the language or icons are changed

As of wxWidgets 3.2, recreating the menubar from within an event handler of that menubar will result in memory corruption on macOS. In order to minimize the chance of programmer error causing regressions here, we always wrap calls to ReCreateMenuBar in a CallAfter to ensure that they do not occur within the same event handling call stack.

Definition at line 487 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::doReCreateMenuBar(), and EDA_BASE_FRAME::m_isClosing.

Referenced by GERBVIEW_FRAME::ActivateGalCanvas(), EDA_BASE_FRAME::ClearFileHistory(), EDA_BASE_FRAME::CommonSettingsChanged(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), GERBVIEW_FRAME::GERBVIEW_FRAME(), EDA_BASE_FRAME::GetFileFromHistory(), EDA_BASE_FRAME::HandleSystemColorChange(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), SYMBOL_EDIT_FRAME::LoadOneLibrarySymbolAux(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), EDA_BASE_FRAME::ShowChangedLanguage(), SYMBOL_DIFF_FRAME::SYMBOL_DIFF_FRAME(), and EDA_BASE_FRAME::UpdateFileHistory().

◆ ReCreateOptToolbar()

◆ RecreateToolbars()

◆ ReCreateVToolbar()

◆ RedrawScreen()

◆ RefreshCanvas()

void EDA_DRAW_FRAME::RefreshCanvas ( )
inlineoverridevirtualinherited

Reimplemented from TOOLS_HOLDER.

Definition at line 459 of file eda_draw_frame.h.

References EDA_DRAW_FRAME::GetCanvas(), and EDA_DRAW_PANEL_GAL::Refresh().

Referenced by DIALOG_DRC::OnDRCItemSelected(), and OnImportProject().

◆ RefreshNetNavigator()

◆ RefreshOperatingPointDisplay()

◆ RefreshZoomDependentItems()

◆ RegisterUIUpdateHandler() [1/2]

void TOOLS_HOLDER::RegisterUIUpdateHandler ( const TOOL_ACTION aAction,
const ACTION_CONDITIONS aConditions 
)
virtualinherited

Register an action's update conditions with the UI layer to allow the UI to appropriately display the state of its controls.

Parameters
aActionis the action to register.
aConditionsare the UI conditions to use for the control states.

Definition at line 42 of file tools_holder.cpp.

References TOOL_ACTION::GetUIId(), and TOOLS_HOLDER::RegisterUIUpdateHandler().

Referenced by ACTION_TOOLBAR::doSelectAction(), TOOLS_HOLDER::RegisterUIUpdateHandler(), and ACTION_MANAGER::SetConditions().

◆ RegisterUIUpdateHandler() [2/2]

void EDA_BASE_FRAME::RegisterUIUpdateHandler ( int  aID,
const ACTION_CONDITIONS aConditions 
)
overridevirtualinherited

Register a UI update handler for the control with ID aID.

Parameters
aIDis the control ID to register the handler for
aConditionsare the UI conditions to use for the control states

Reimplemented from TOOLS_HOLDER.

Definition at line 377 of file eda_base_frame.cpp.

References EDA_BASE_FRAME::HandleUpdateUIEvent(), and EDA_BASE_FRAME::m_uiUpdateMap.

Referenced by BITMAP2CMP_FRAME::doReCreateMenuBar(), doReCreateMenuBar(), GERBVIEW_FRAME::doReCreateMenuBar(), KICAD_MANAGER_FRAME::doReCreateMenuBar(), PL_EDITOR_FRAME::doReCreateMenuBar(), PCB_EDIT_FRAME::doReCreateMenuBar(), EDA_BASE_FRAME::setupUIConditions(), EDA_3D_VIEWER_FRAME::setupUIConditions(), and KICAD_MANAGER_FRAME::setupUIConditions().

◆ ReleaseFile()

void EDA_DRAW_FRAME::ReleaseFile ( )
inherited

Release the current file marked in use.

See m_file_checker.

Definition at line 195 of file eda_draw_frame.cpp.

References EDA_DRAW_FRAME::m_file_checker.

Referenced by PCB_EDIT_FRAME::Clear_Pcb(), PCB_EDIT_FRAME::Files_io_from_id(), SCH_EDITOR_CONTROL::Revert(), and EDA_DRAW_FRAME::~EDA_DRAW_FRAME().

◆ RemoveFromScreen()

void SCH_BASE_FRAME::RemoveFromScreen ( EDA_ITEM aItem,
SCH_SCREEN