KiCad PCB EDA Suite
SCH_BASE_FRAME Class Referenceabstract

A shim class between EDA_DRAW_FRAME and several derived classes: LIB_EDIT_FRAME, LIB_VIEW_FRAME, and SCH_EDIT_FRAME, and it brings in a common way of handling the provided virtual functions for the derived classes. More...

#include <sch_base_frame.h>

Inheritance diagram for SCH_BASE_FRAME:
EDA_DRAW_FRAME KIWAY_PLAYER EDA_BASE_FRAME KIWAY_HOLDER LIB_EDIT_FRAME LIB_VIEW_FRAME SCH_EDIT_FRAME

Public Types

typedef std::vector< COMPONENT_SELECTIONHISTORY_LIST
 
enum  HOLDER_TYPE { DIALOG, FRAME, PANEL, SCREEN }
 

Public Member Functions

 SCH_BASE_FRAME (KIWAY *aKiway, wxWindow *aParent, FRAME_T aWindowType, const wxString &aTitle, const wxPoint &aPosition, const wxSize &aSize, long aStyle, const wxString &aFrameName)
 
virtual ~SCH_BASE_FRAME ()
 
void createCanvas ()
 
SCH_DRAW_PANELGetCanvas () const override
 Return a pointer to GAL-based canvas of given EDA draw frame. More...
 
SCH_SCREENGetScreen () const override
 Return a pointer to a BASE_SCREEN or one of its derivatives. More...
 
void SetScreen (BASE_SCREEN *aScreen) override
 
KIGFX::SCH_RENDER_SETTINGSGetRenderSettings ()
 
virtual bool GetShowAllPins () const
 Allow some frames to show/hide hidden pins. More...
 
virtual bool GetSelectPinSelectSymbol () const
 Allow some frames to select the parent symbol when trying to select a pin. More...
 
bool GetShowElectricalType ()
 Allow some frames to show/hide pin electrical type names. More...
 
void SetShowElectricalType (bool aShow)
 
const wxPoint GetRepeatStep () const
 
void SetRepeatStep (const wxPoint &aStep)
 Sets the repeat step value for repeat command. More...
 
int GetRepeatDeltaLabel () const
 
void SetRepeatDeltaLabel (int aDelta)
 Sets the repeat delta label value for repeat command. More...
 
const bool GetRepeatComponent ()
 
void SetRepeatComponent (bool aRepeat)
 If true, keep placing new copies of the same symbol on each click. More...
 
const bool GetUseAllUnits ()
 
void SetUseAllUnits (bool aUseAll)
 Sets whether to utilize all units of a component when placing. More...
 
const wxString GetZoomLevelIndicator () const override
 Function GetZoomLevelIndicator returns a human readable value which can be displayed as zoom level indicator in dialogs. More...
 
void SetDragActionIsMove (bool aValue)
 
bool GetDragActionIsMove () const
 
void SetPageSettings (const PAGE_INFO &aPageSettings) override
 
const PAGE_INFOGetPageSettings () const override
 
const wxSize GetPageSizeIU () const override
 Works off of GetPageSettings() to return the size of the paper page in the internal units of this particular view. More...
 
const wxPointGetAuxOrigin () const override
 Return the origin of the axis used for plotting and various exports. More...
 
void SetAuxOrigin (const wxPoint &aPosition) override
 
const wxPointGetGridOrigin () const override
 Return the absolute coordinates of the origin of the snap grid. More...
 
void SetGridOrigin (const wxPoint &aPoint) override
 
void OnGridSettings (wxCommandEvent &aEvent) override
 
const TITLE_BLOCKGetTitleBlock () const override
 
void SetTitleBlock (const TITLE_BLOCK &aTitleBlock) override
 
void UpdateStatusBar () override
 Update the status bar information. More...
 
COMPONENT_SELECTION SelectCompFromLibTree (const SCHLIB_FILTER *aFilter, std::vector< COMPONENT_SELECTION > &aHistoryList, bool aUseLibBrowser, int aUnit, int aConvert, bool aShowFootprints, const LIB_ID *aHighlight=nullptr, bool aAllowFields=true)
 Function SelectComponentFromLib Calls the library viewer to select component to import into schematic. More...
 
const TEMPLATE_FIELDNAMESGetTemplateFieldNames () const
 Return a template field names list for read only access. More...
 
const TEMPLATE_FIELDNAMEGetTemplateFieldName (const wxString &aName) const
 Search for aName in the the template field name list. More...
 
LIB_PARTGetLibPart (const LIB_ID &aLibId, bool aUseCacheLib=false, bool aShowErrorMsg=false)
 Load symbol from symbol library table. More...
 
LIB_PARTGetFlattenedLibPart (const LIB_ID &aLibId, bool aShowErrorMsg=false)
 
COMPONENT_SELECTION SelectComponentFromLibBrowser (wxTopLevelWindow *aParent, const SCHLIB_FILTER *aFilter, const LIB_ID &aPreselectedLibid, int aUnit, int aConvert)
 Function SelectComponentFromLibBrowser Calls the library viewer to select component to import into schematic. More...
 
virtual void RedrawScreen (const wxPoint &aCenterPoint, bool aWarpPointer)
 
virtual void CenterScreen (const wxPoint &aCenterPoint, bool aWarpPointer)
 
void HardRedraw () override
 Rebuild the GAL and redraws the screen. More...
 
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. More...
 
void RemoveFromScreen (EDA_ITEM *aItem, SCH_SCREEN *aScreen=nullptr)
 Remove an item from the screen (and view) aScreen is the screen the item is located on, if not the current screen. More...
 
void RefreshItem (EDA_ITEM *aItem, bool isAddOrDelete=false)
 Mark an item for refresh. More...
 
void RefreshSelection ()
 Mark selected items for refresh. More...
 
void SyncView ()
 Mark all items for refresh. More...
 
virtual void OnModify ()
 Must be called after a model change in order to set the "modify" flag and do other frame-specific processing. More...
 
bool LockFile (const wxString &aFileName)
 Mark a schematic file as being in use. More...
 
void ReleaseFile ()
 Release the current file marked in use. More...
 
wxFindReplaceData & GetFindReplaceData ()
 
wxArrayString & GetFindHistoryList ()
 
bool GetShowPolarCoords () const
 For those frames that support polar coordinates. More...
 
void SetShowPolarCoords (bool aShow)
 
int GetLastGridSizeId () const
 
void SetLastGridSizeId (int aId)
 
wxPoint GetNearestGridPosition (const wxPoint &aPosition) const
 Return the nearest aGridSize location to aPosition. More...
 
virtual COLOR4D GetDrawBgColor () const
 
virtual void SetDrawBgColor (COLOR4D aColor)
 
bool ShowPageLimits () const
 
void SetShowPageLimits (bool aShow)
 
virtual wxString GetScreenDesc () const
 
virtual void ExecuteRemoteCommand (const char *cmdline)
 Execute a remote command send via a socket to the application, port KICAD_PCB_PORT_SERVICE_NUMBER (currently 4242) It called by EDA_DRAW_FRAME::OnSockRequest(). More...
 
double GetZoomLevelCoeff () const
 Return the coefficient to convert internal display scale factor to zoom level. More...
 
void EraseMsgBox ()
 
void ReCreateMenuBar () override
 Recreates the menu bar. More...
 
virtual void ReCreateHToolbar ()=0
 
virtual void ReCreateVToolbar ()=0
 
virtual void ReCreateOptToolbar ()=0
 
virtual void ReCreateAuxiliaryToolbar ()
 
virtual bool IsGridVisible () const
 
virtual void SetGridVisibility (bool aVisible)
 
virtual COLOR4D GetGridColor ()
 
virtual void SetGridColor (COLOR4D aColor)
 
virtual void OnSelectGrid (wxCommandEvent &event)
 Command event handler for selecting grid sizes. More...
 
virtual void OnSelectZoom (wxCommandEvent &event)
 Set the zoom factor when selected by the zoom list box in the main tool bar. More...
 
void OnUpdateSelectGrid (wxUpdateUIEvent &aEvent)
 
virtual void OnSize (wxSizeEvent &event)
 Recalculate the size of toolbars and display panel when the frame size changes. More...
 
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. More...
 
void FocusOnLocation (const wxPoint &aPos, bool aCenterView=false)
 Useful to focus on a particular location, in find functions Move the graphic cursor (crosshair cursor) at a given coordinate and reframes the drawing if the requested point is out of view or if center on location is requested. More...
 
double GetZoom ()
 
void AddStandardSubMenus (TOOL_MENU &aMenu)
 Function CreateBasicMenu. More...
 
void PrintWorkSheet (wxDC *aDC, BASE_SCREEN *aScreen, int aLineWidth, double aScale, const wxString &aFilename, const wxString &aSheetLayer=wxEmptyString, COLOR4D aColor=COLOR4D::UNSPECIFIED)
 Prints the page layout with the frame and the basic inscriptions. More...
 
void DisplayToolMsg (const wxString &msg) override
 
virtual void OnPageSettingsChange ()
 Called when modifying the page settings. More...
 
void DisplayUnitsMsg ()
 Display current unit pane on the status bar. More...
 
void DisplayGridMsg ()
 Display current grid pane on the status bar. More...
 
void CreateServer (int service, bool local=true)
 
void OnSockRequest (wxSocketEvent &evt)
 
void OnSockRequestServer (wxSocketEvent &evt)
 
void LoadSettings (wxConfigBase *aCfg) override
 Load common frame parameters from a configuration file. More...
 
void SaveSettings (wxConfigBase *aCfg) override
 Saves common frame parameters to a configuration data file. More...
 
void AppendMsgPanel (const wxString &textUpper, const wxString &textLower, COLOR4D color, int pad=6)
 Append a message to the message panel. More...
 
virtual void ClearMsgPanel ()
 Clear all messages from the message panel. More...
 
void SetMsgPanel (const std::vector< MSG_PANEL_ITEM > &aList)
 Clear the message panel and populates it with the contents of aList. More...
 
void SetMsgPanel (EDA_ITEM *aItem)
 
virtual void UpdateMsgPanel ()
 Redraw the message panel. More...
 
virtual void PrintPage (wxDC *aDC)
 Print the page pointed by current screen, set by the calling print function. More...
 
EDA_DRAW_PANEL_GAL::GAL_TYPE LoadCanvasTypeSetting ()
 Returns the canvas type stored in the application settings. More...
 
virtual void ActivateGalCanvas ()
 Use to start up the GAL drawing canvas. More...
 
virtual void SwitchCanvas (EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType)
 Changes the current rendering backend. More...
 
void SetCanvas (EDA_DRAW_PANEL_GAL *aPanel)
 
KIGFX::GAL_DISPLAY_OPTIONSGetGalDisplayOptions ()
 Return a reference to the gal rendering options used by GAL for rendering. More...
 
void RefreshCanvas () override
 Notification to refresh the drawing canvas (if any). More...
 
virtual const BOX2I GetDocumentExtents () const
 
void RecreateToolbars ()
 Rebuild all toolbars, and update the checked state of ckeck tools. More...
 
virtual bool OpenProjectFiles (const std::vector< wxString > &aFileList, int aCtl=0)
 Function OpenProjectFiles is abstract, and opens a project or set of files given by aFileList. More...
 
virtual bool ShowModal (wxString *aResult=NULL, wxWindow *aResultantFocusWindow=NULL)
 Function ShowModal puts up this wxFrame as if it were a modal dialog, with all other instantiated wxFrames disabled until this KIWAY_PLAYER derivative calls DismissModal(). More...
 
virtual void KiwayMailIn (KIWAY_EXPRESS &aEvent)
 Function KiwayMailIn receives KIWAY_EXPRESS messages from other players. More...
 
bool Destroy () override
 Our version of Destroy() which is virtual from wxWidgets. More...
 
bool IsModal ()
 
void SetModal (bool aIsModal)
 
bool IsDismissed ()
 Function IsDismissed returns false only if both the frame is acting in modal mode and it has not been dismissed yet with DismissModal(). More...
 
void DismissModal (bool aRetVal, const wxString &aResult=wxEmptyString)
 
EDA_UNITS GetUserUnits () const
 Return the user units currently in use. More...
 
void SetUserUnits (EDA_UNITS aUnits)
 
void ChangeUserUnits (EDA_UNITS aUnits)
 
TOOL_MANAGERGetToolManager () const
 Return the MVC controller. More...
 
virtual void PushTool (const std::string &actionName)
 NB: the definition of "tool" is different at the user level. More...
 
virtual void PopTool (const std::string &actionName)
 
bool ToolStackIsEmpty ()
 
std::string CurrentToolName () const
 
bool IsCurrentTool (const TOOL_ACTION &aAction) const
 
bool GetDoImmediateActions () const
 Indicates that hotkeys should perform an immediate action even if another tool is currently active. More...
 
bool GetDragSelects () const
 Indicates that a drag should draw a selection rectangle, even when started over an item. More...
 
bool GetMoveWarpsCursor () const
 Indicates that a move operation should warp the mouse pointer to the origin of the move object. More...
 
bool ProcessEvent (wxEvent &aEvent) override
 Override the default process event handler to implement the auto save feature. More...
 
virtual void OnCharHook (wxKeyEvent &event)
 Capture the key event before it is sent to the GUI. More...
 
void OnMenuOpen (wxMenuEvent &event)
 Workaround some issues in wxWidgets where the menu events aren't captured by the menus themselves. More...
 
void SetAutoSaveInterval (int aInterval)
 
int GetAutoSaveInterval () const
 
bool IsType (FRAME_T aType) const
 
virtual const SEARCH_STACKsys_search ()
 Return a SEARCH_STACK pertaining to entire program. More...
 
virtual wxString help_name ()
 
void OnKicadAbout (wxCommandEvent &event)
 
void OnPreferences (wxCommandEvent &event)
 
void PrintMsg (const wxString &text)
 
virtual wxConfigBase * config ()
 Returns the wxConfigBase used in SaveSettings(), and is overloaded in KICAD_MANAGER_FRAME. More...
 
virtual void InstallPreferences (PAGED_DIALOG *, PANEL_HOTKEYS_EDITOR *)
 Function InstallPreferences Allow a frame to load its preference panels (if any) into the preferences dialog. More...
 
wxString ConfigBaseName ()
 
virtual void SaveProjectSettings (bool aAskForSave)
 Save changes to the project settings to the project (.pro) file. More...
 
void ImportHotkeyConfigFromFile (std::map< std::string, TOOL_ACTION * > aActionMap, const wxString &aDefaultShortname)
 Prompt the user for a hotkey file to read, and read it. More...
 
wxString GetFileFromHistory (int cmdId, const wxString &type, FILE_HISTORY *aFileHistory=NULL)
 Fetches the file name from the file history list. More...
 
void UpdateFileHistory (const wxString &FullFileName, FILE_HISTORY *aFileHistory=NULL)
 Update the list of recently opened files. More...
 
void SetMruPath (const wxString &aPath)
 
wxString GetMruPath () const
 
void AddStandardHelpMenu (wxMenuBar *aMenuBar)
 Adds the standard KiCad help menu to the menubar. More...
 
bool IsWritable (const wxFileName &aFileName)
 Checks if aFileName can be written. More...
 
void CheckForAutoSaveFile (const wxFileName &aFileName)
 Check if an auto save file exists for aFileName and takes the appropriate action depending on the user input. More...
 
virtual void SyncToolbars ()
 Update the toolbars (mostly settings/check buttons/checkboxes) with the current controller state. More...
 
virtual void ShowChangedLanguage ()
 Redraw the menus and what not in current language. More...
 
const wxString & GetAboutTitle () const
 
void SetShutdownBlockReason (const wxString &reason)
 Sets the block reason why the window/application is preventing OS shutdown. More...
 
void RemoveShutdownBlockReason ()
 Removes any shutdown block reason set. More...
 
bool SupportsShutdownBlockReason ()
 Whether or not the window supports setting a shutdown block reason. More...
 
virtual bool IsContentModified ()
 Get if the contents of the frame have been modified since the last save. More...
 
HOLDER_TYPE GetType ()
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Protected Member Functions

bool saveSymbolLibTables (bool aGlobal, bool aProject)
 Saves Symbol Library Tables to disk. More...
 
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. More...
 
void CommonSettingsChanged (bool aEnvVarsChanged) override
 Notification event that some of the common (suite-wide) settings have changed. More...
 
void InitExitKey ()
 Sets the common key-pair for exiting the application (Ctrl-Q) and ties it to the wxID_EXIT event id. More...
 
bool LibraryFileBrowser (bool doOpen, wxFileName &aFilename, const wxString &wildcard, const wxString &ext, bool isDirectory=false)
 
bool saveCanvasTypeSetting (EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType)
 Stores the canvas type in the application settings. More...
 
virtual wxString GetCanvasTypeKey ()
 
void kiway_express (KIWAY_EXPRESS &aEvent)
 event handler, routes to derivative specific virtual KiwayMailIn() More...
 
void language_change (wxCommandEvent &event)
 Function language_change is an event handler called on a language menu selection. More...
 
void onAutoSaveTimer (wxTimerEvent &aEvent)
 Handle the auto save timer event. More...
 
virtual bool isAutoSaveRequired () const
 Return the auto save status of the application. More...
 
virtual bool doAutoSave ()
 This should be overridden by the derived class to handle the auto save feature. More...
 

Static Protected Member Functions

static wxString GetBackupSuffix ()
 
static wxString GetAutoSaveFilePrefix ()
 

Protected Attributes

TEMPLATES m_templateFieldNames
 
wxPoint m_repeatStep
 
int m_repeatDeltaLabel
 
bool m_showPinElectricalTypeName
 
bool m_dragActionIsMove
 
bool m_repeatComponent
 
bool m_useAllUnits
 
wxSocketServer * m_socketServer
 
std::vector< wxSocketBase * > m_sockets
 interprocess communication More...
 
std::unique_ptr< wxSingleInstanceChecker > m_file_checker
 prevents opening same file multiple times. More...
 
int m_LastGridSizeId
 
bool m_drawGrid
 
bool m_showPageLimits
 
COLOR4D m_gridColor
 
COLOR4D m_drawBgColor
 
double m_zoomLevelCoeff
 
int m_UndoRedoCountMax
 
bool m_PolarCoords
 
TOOL_DISPATCHERm_toolDispatcher
 
bool m_showBorderAndTitleBlock
 
long m_firstRunDialogSetting
 
wxChoice * m_gridSelectBox
 
wxChoice * m_zoomSelectBox
 
ACTION_TOOLBARm_mainToolBar
 
ACTION_TOOLBARm_auxiliaryToolBar
 
ACTION_TOOLBARm_drawToolBar
 
ACTION_TOOLBARm_optionsToolBar
 
wxFindReplaceData * m_findReplaceData
 
wxArrayString m_findStringHistoryList
 
wxArrayString m_replaceStringHistoryList
 
EDA_MSG_PANELm_messagePanel
 
int m_MsgFrameHeight
 
EDA_DRAW_PANEL_GAL::GAL_TYPE m_canvasType
 The current canvas type. More...
 
bool m_modal
 
WX_EVENT_LOOPm_modal_loop
 
wxWindow * m_modal_resultant_parent
 
wxString m_modal_string
 
bool m_modal_ret_val
 
FRAME_T m_Ident
 
wxPoint m_FramePos
 
wxSize m_FrameSize
 
wxString m_AboutTitle
 
wxAuiManager m_auimgr
 
wxString m_configName
 
TOOL_MANAGERm_toolManager
 
ACTIONSm_actions
 
std::vector< std::string > m_toolStack
 
bool m_immediateActions
 
bool m_dragSelects
 
bool m_moveWarpsCursor
 
bool m_hasAutoSave
 
bool m_autoSaveState
 
int m_autoSaveInterval
 
wxTimer * m_autoSaveTimer
 
wxString m_perspective
 
wxString m_mruPath
 
EDA_UNITS m_userUnits
 

Static Protected Attributes

static constexpr int KICAD_AUI_TB_STYLE = wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_PLAIN_BACKGROUND
 

Default style flags used for wxAUI toolbars

More...
 

Detailed Description

A shim class between EDA_DRAW_FRAME and several derived classes: LIB_EDIT_FRAME, LIB_VIEW_FRAME, and SCH_EDIT_FRAME, and it brings in a common way of handling the provided virtual functions for the derived classes.

The motivation here is to switch onto GetScreen() for the underlying data model.

Author
Dick Hollenbeck

Definition at line 87 of file sch_base_frame.h.

Member Typedef Documentation

◆ HISTORY_LIST

Definition at line 216 of file sch_base_frame.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 
SCREEN 

Definition at line 42 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ SCH_BASE_FRAME()

SCH_BASE_FRAME::SCH_BASE_FRAME ( KIWAY aKiway,
wxWindow *  aParent,
FRAME_T  aWindowType,
const wxString &  aTitle,
const wxPoint aPosition,
const wxSize &  aSize,
long  aStyle,
const wxString &  aFrameName 
)

Definition at line 77 of file sch_base_frame.cpp.

79  :
80  EDA_DRAW_FRAME( aKiway, aParent, aWindowType, aTitle, aPosition, aSize, aStyle, aFrameName )
81 {
82  createCanvas();
83 
84  m_zoomLevelCoeff = 11.0 * IU_PER_MILS; // Adjusted to roughly displays zoom level = 1
85  // when the screen shows a 1:1 image
86  // obviously depends on the monitor,
87  // but this is an acceptable value
89  Mils2iu( DEFAULT_REPEAT_OFFSET_Y ) );
92  m_repeatComponent = false;
93  m_useAllUnits = false;
94 }
#define DEFAULT_REPEAT_LABEL_INC
the default value (overwritten by the eeschema config)
Definition: general.h:51
wxPoint m_repeatStep
EDA_DRAW_FRAME(KIWAY *aKiway, wxWindow *aParent, FRAME_T aFrameType, const wxString &aTitle, const wxPoint &aPos, const wxSize &aSize, long aStyle, const wxString &aFrameName)
#define DEFAULT_REPEAT_OFFSET_Y
the default Y value (overwritten by the eeschema config)
Definition: general.h:49
bool m_showPinElectricalTypeName
#define DEFAULT_REPEAT_OFFSET_X
the default X value (overwritten by the eeschema config)
Definition: general.h:48
double m_zoomLevelCoeff
#define IU_PER_MILS
Definition: plotter.cpp:137

References createCanvas(), DEFAULT_REPEAT_LABEL_INC, DEFAULT_REPEAT_OFFSET_X, DEFAULT_REPEAT_OFFSET_Y, IU_PER_MILS, m_repeatComponent, m_repeatDeltaLabel, m_repeatStep, m_showPinElectricalTypeName, m_useAllUnits, and EDA_DRAW_FRAME::m_zoomLevelCoeff.

◆ ~SCH_BASE_FRAME()

SCH_BASE_FRAME::~SCH_BASE_FRAME ( )
virtual

Definition at line 97 of file sch_base_frame.cpp.

98 {
99 }

Member Function Documentation

◆ ActivateGalCanvas()

void EDA_DRAW_FRAME::ActivateGalCanvas ( )
virtualinherited

Use to start up the GAL drawing canvas.

Reimplemented in GERBVIEW_FRAME, PCB_EDIT_FRAME, PCB_BASE_FRAME, FOOTPRINT_EDIT_FRAME, and PCB_BASE_EDIT_FRAME.

Definition at line 602 of file eda_draw_frame.cpp.

603 {
604  GetCanvas()->SetEvtHandlerEnabled( true );
605  GetCanvas()->StartDrawing();
606 }
virtual EDA_DRAW_PANEL_GAL * GetCanvas() const
Return a pointer to GAL-based canvas of given EDA draw frame.
void StartDrawing()
Function StartDrawing() Begins drawing if it was stopped previously.

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

Referenced by PCB_BASE_FRAME::ActivateGalCanvas(), GERBVIEW_FRAME::ActivateGalCanvas(), createCanvas(), SCH_DRAW_PANEL::OnShow(), and EDA_DRAW_FRAME::SwitchCanvas().

◆ AddStandardHelpMenu()

void EDA_BASE_FRAME::AddStandardHelpMenu ( wxMenuBar *  aMenuBar)
inherited

Adds the standard KiCad help menu to the menubar.

Definition at line 412 of file eda_base_frame.cpp.

413 {
414  COMMON_CONTROL* commonControl = m_toolManager->GetTool<COMMON_CONTROL>();
415  ACTION_MENU* helpMenu = new ACTION_MENU( false );
416 
417  helpMenu->SetTool( commonControl );
418 
419  helpMenu->Add( ACTIONS::help );
420  helpMenu->Add( ACTIONS::gettingStarted );
421  helpMenu->Add( ACTIONS::listHotKeys );
422  helpMenu->Add( ACTIONS::getInvolved );
423 
424  helpMenu->AppendSeparator();
425  helpMenu->Add( _( "&About KiCad" ), "", wxID_ABOUT, about_xpm );
426 
427  aMenuBar->Append( helpMenu, _( "&Help" ) );
428 }
static TOOL_ACTION listHotKeys
Definition: actions.h:167
ACTION_MENU.
Definition: action_menu.h:43
const BITMAP_OPAQUE about_xpm[1]
Definition: about.cpp:84
COMMON_CONTROL.
#define _(s)
Definition: 3d_actions.cpp:31
static TOOL_ACTION help
Definition: actions.h:166
TOOL_MANAGER * m_toolManager
static TOOL_ACTION getInvolved
Definition: actions.h:168
static TOOL_ACTION gettingStarted
Definition: actions.h:165

References _, about_xpm, ACTIONS::getInvolved, ACTIONS::gettingStarted, TOOL_MANAGER::GetTool(), ACTIONS::help, ACTIONS::listHotKeys, and EDA_BASE_FRAME::m_toolManager.

Referenced by EDA_3D_VIEWER::CreateMenuBar(), KICAD_MANAGER_FRAME::ReCreateMenuBar(), LIB_VIEW_FRAME::ReCreateMenuBar(), FOOTPRINT_VIEWER_FRAME::ReCreateMenuBar(), FOOTPRINT_EDIT_FRAME::ReCreateMenuBar(), LIB_EDIT_FRAME::ReCreateMenuBar(), CVPCB_MAINFRAME::ReCreateMenuBar(), GERBVIEW_FRAME::ReCreateMenuBar(), SCH_EDIT_FRAME::ReCreateMenuBar(), and PCB_EDIT_FRAME::ReCreateMenuBar().

◆ AddStandardSubMenus()

void EDA_DRAW_FRAME::AddStandardSubMenus ( TOOL_MENU aMenu)
inherited

Function CreateBasicMenu.

Construct a "basic" menu for a tool, containing only items that apply to all tools (e.g. zoom and grid)

Definition at line 350 of file eda_draw_frame.cpp.

351 {
352  COMMON_TOOLS* commonTools = m_toolManager->GetTool<COMMON_TOOLS>();
353  CONDITIONAL_MENU& aMenu = aToolMenu.GetMenu();
354 
355  aMenu.AddSeparator( 1000 );
357  aMenu.AddItem( ACTIONS::zoomIn, SELECTION_CONDITIONS::ShowAlways, 1000 );
358  aMenu.AddItem( ACTIONS::zoomOut, SELECTION_CONDITIONS::ShowAlways, 1000 );
360 
361  aMenu.AddSeparator( 1000 );
362 
363  auto zoomMenu = std::make_shared<ZOOM_MENU>( this );
364  zoomMenu->SetTool( commonTools );
365  aToolMenu.AddSubMenu( zoomMenu );
366 
367  auto gridMenu = std::make_shared<GRID_MENU>( this );
368  gridMenu->SetTool( commonTools );
369  aToolMenu.AddSubMenu( gridMenu );
370 
371  aMenu.AddMenu( zoomMenu.get(), SELECTION_CONDITIONS::ShowAlways, 1000 );
372  aMenu.AddMenu( gridMenu.get(), SELECTION_CONDITIONS::ShowAlways, 1000 );
373 }
static bool ShowAlways(const SELECTION &aSelection)
Function ShowAlways The default condition function (always returns true).
CONDITIONAL_MENU & GetMenu()
Function GetMenu.
Definition: tool_menu.cpp:46
static TOOL_ACTION zoomFitScreen
Definition: actions.h:93
COMMON_TOOLS.
Definition: common_tools.h:38
void AddSeparator(int aOrder=ANY_ORDER)
Function AddSeparator()
static TOOL_ACTION zoomCenter
Definition: actions.h:92
static TOOL_ACTION zoomIn
Definition: actions.h:88
static TOOL_ACTION zoomOut
Definition: actions.h:89
TOOL_MANAGER * m_toolManager

References CONDITIONAL_MENU::AddSeparator(), TOOL_MENU::AddSubMenu(), TOOL_MENU::GetMenu(), TOOL_MANAGER::GetTool(), EDA_BASE_FRAME::m_toolManager, SELECTION_CONDITIONS::ShowAlways(), ACTIONS::zoomCenter, ACTIONS::zoomFitScreen, ACTIONS::zoomIn, and ACTIONS::zoomOut.

Referenced by PICKER_TOOL::Init(), EE_SELECTION_TOOL::Init(), SELECTION_TOOL::Init(), and EDIT_TOOL::Init().

◆ AddToScreen()

void SCH_BASE_FRAME::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.

Definition at line 407 of file sch_base_frame.cpp.

408 {
409  auto screen = aScreen;
410 
411  if( aScreen == nullptr )
412  screen = GetScreen();
413 
414  screen->Append( (SCH_ITEM*) aItem );
415 
416  if( screen == GetScreen() )
417  {
418  GetCanvas()->GetView()->Add( aItem );
419  RefreshItem( aItem, true ); // handle any additional parent semantics
420  }
421 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
void RefreshItem(EDA_ITEM *aItem, bool isAddOrDelete=false)
Mark an item for refresh.
virtual void Add(VIEW_ITEM *aItem, int aDrawPriority=-1)
Function Add() Adds a VIEW_ITEM to the view.
Definition: view.cpp:346
SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container class,...
Definition: sch_item.h:136

References KIGFX::VIEW::Add(), GetCanvas(), GetScreen(), SCH_DRAW_PANEL::GetView(), and RefreshItem().

Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_FRAME::AddJunction(), SCH_EDIT_FRAME::BreakSegment(), SCH_EDIT_FRAME::ConvertTextType(), SCH_EDIT_FRAME::DeleteJunction(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), SCH_EDIT_TOOL::Duplicate(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_EDIT_FRAME::PutDataInPreviousState(), SCH_EDIT_TOOL::RepeatDrawItem(), and SCH_EDIT_FRAME::SchematicCleanUp().

◆ AppendMsgPanel()

void EDA_DRAW_FRAME::AppendMsgPanel ( const wxString &  textUpper,
const wxString &  textLower,
COLOR4D  color,
int  pad = 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
textUpper- The message upper text.
textLower- The message lower text.
color- A color ID from the KiCad color list (see colors.h).
pad- Number of spaces to pad between messages (default = 4).

Definition at line 559 of file eda_draw_frame.cpp.

561 {
562  if( m_messagePanel )
563  m_messagePanel->AppendMessage( textUpper, textLower, color, pad );
564 }
int color
Definition: DXF_plotter.cpp:61
EDA_MSG_PANEL * m_messagePanel
void AppendMessage(const wxString &aUpperText, const wxString &aLowerText, COLOR4D aColor, int aPad=6)
Function AppendMessage appends a message to the message panel.
Definition: msgpanel.cpp:110

References EDA_MSG_PANEL::AppendMessage(), color, and EDA_DRAW_FRAME::m_messagePanel.

Referenced by PCB_BASE_FRAME::Compile_Ratsnest(), LIB_EDIT_FRAME::DisplayCmpDoc(), GERBER_FILE_IMAGE::DisplayImageInfo(), SCH_EDIT_FRAME::EditSheet(), SCH_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SCH_PRINTOUT::OnPrintPage(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::SaveEEFile(), LIB_EDIT_FRAME::saveLibrary(), PCB_EDIT_FRAME::SavePcbFile(), and LIB_VIEW_FRAME::updatePreviewSymbol().

◆ CenterScreen()

void SCH_BASE_FRAME::CenterScreen ( const wxPoint aCenterPoint,
bool  aWarpPointer 
)
virtual

Definition at line 304 of file sch_base_frame.cpp.

305 {
306  GetCanvas()->GetView()->SetCenter( aCenterPoint );
307 
308  if( aWarpPointer )
309  GetCanvas()->GetViewControls()->WarpCursor( aCenterPoint, true );
310 
311  GetCanvas()->Refresh();
312 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
KIGFX::VIEW_CONTROLS * GetViewControls() const
Function GetViewControls() Returns a pointer to the VIEW_CONTROLS instance used in the panel.
virtual void WarpCursor(const VECTOR2D &aPosition, bool aWorldCoordinates=false, bool aWarpView=false)=0
Function WarpCursor() If enabled (.
void SetCenter(const VECTOR2D &aCenter)
Function SetCenter() Sets the center point of the VIEW (i.e.
Definition: view.cpp:604
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...

References GetCanvas(), SCH_DRAW_PANEL::GetView(), EDA_DRAW_PANEL_GAL::GetViewControls(), EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::VIEW::SetCenter(), and KIGFX::VIEW_CONTROLS::WarpCursor().

Referenced by SCH_EDITOR_CONTROL::FindComponentAndItem().

◆ ChangeUserUnits()

void EDA_BASE_FRAME::ChangeUserUnits ( EDA_UNITS  aUnits)
inlineinherited

Definition at line 221 of file eda_base_frame.h.

222  {
223  SetUserUnits( aUnits );
225  }
virtual void unitsChangeRefresh()
Called when when the units setting has changed to allow for any derived classes to handle refreshing ...
void SetUserUnits(EDA_UNITS aUnits)

References EDA_BASE_FRAME::SetUserUnits(), and EDA_BASE_FRAME::unitsChangeRefresh().

Referenced by COMMON_TOOLS::ImperialUnits(), COMMON_TOOLS::MetricUnits(), and COMMON_TOOLS::ToggleUnits().

◆ CheckForAutoSaveFile()

void EDA_BASE_FRAME::CheckForAutoSaveFile ( const wxFileName &  aFileName)
inherited

Check if an auto save file exists for aFileName and takes the appropriate action depending on the user input.

If an auto save file exists for aFileName, the user is prompted if they wish to replace file aFileName with the auto saved file. If the user chooses to replace the file, the backup file of aFileName is removed, aFileName is renamed to the backup file name, and the auto save file is renamed to aFileName. If user chooses to keep the existing version of aFileName, the auto save file is removed.

Parameters
aFileNameA wxFileName object containing the file name to check.

Definition at line 735 of file eda_base_frame.cpp.

736 {
737  wxCHECK_RET( aFileName.IsOk(), wxT( "Invalid file name!" ) );
738 
739  wxFileName autoSaveFileName = aFileName;
740 
741  // Check for auto save file.
742  autoSaveFileName.SetName( GetAutoSaveFilePrefix() + aFileName.GetName() );
743 
744  wxLogTrace( traceAutoSave,
745  wxT( "Checking for auto save file " ) + autoSaveFileName.GetFullPath() );
746 
747  if( !autoSaveFileName.FileExists() )
748  return;
749 
750  wxString msg = wxString::Format( _(
751  "Well this is potentially embarrassing!\n"
752  "It appears that the last time you were editing the file\n"
753  "\"%s\"\n"
754  "it was not saved properly. Do you wish to restore the last saved edits you made?" ),
755  GetChars( aFileName.GetFullName() )
756  );
757 
758  int response = wxMessageBox( msg, Pgm().App().GetAppName(), wxYES_NO | wxICON_QUESTION, this );
759 
760  // Make a backup of the current file, delete the file, and rename the auto save file to
761  // the file name.
762  if( response == wxYES )
763  {
764  // Get the backup file name.
765  wxFileName backupFileName = aFileName;
766  backupFileName.SetExt( aFileName.GetExt() + GetBackupSuffix() );
767 
768  // If an old backup file exists, delete it. If an old copy of the file exists, rename
769  // it to the backup file name
770  if( aFileName.FileExists() )
771  {
772  // Rename the old file to the backup file name.
773  if( !wxRenameFile( aFileName.GetFullPath(), backupFileName.GetFullPath(), true ) )
774  {
775  msg.Printf( _( "Could not create backup file \"%s\"" ),
776  GetChars( backupFileName.GetFullPath() ) );
777  wxMessageBox( msg );
778  }
779  }
780 
781  if( !wxRenameFile( autoSaveFileName.GetFullPath(), aFileName.GetFullPath() ) )
782  {
783  wxMessageBox( _( "The auto save file could not be renamed to the board file name." ),
784  Pgm().App().GetAppName(), wxOK | wxICON_EXCLAMATION, this );
785  }
786  }
787  else
788  {
789  wxLogTrace( traceAutoSave,
790  wxT( "Removing auto save file " ) + autoSaveFileName.GetFullPath() );
791 
792  // Remove the auto save file when using the previous file as is.
793  wxRemoveFile( autoSaveFileName.GetFullPath() );
794  }
795 }
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:98
const wxChar *const traceAutoSave
Flag to enable auto save feature debug tracing.
static wxString GetBackupSuffix()
static wxString GetAutoSaveFilePrefix()
static const wxChar * GetChars(const wxString &s)
Function GetChars returns a wxChar* to the actual wxChar* data within a wxString, and is helpful for ...
Definition: macros.h:101
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
#define _(s)
Definition: 3d_actions.cpp:31

References _, Format(), EDA_BASE_FRAME::GetAutoSaveFilePrefix(), EDA_BASE_FRAME::GetBackupSuffix(), GetChars(), Pgm(), and traceAutoSave.

Referenced by SCH_EDIT_FRAME::OpenProjectFiles(), and PCB_EDIT_FRAME::OpenProjectFiles().

◆ ClearMsgPanel()

◆ CommonSettingsChanged()

void EDA_DRAW_FRAME::CommonSettingsChanged ( bool  aEnvVarsChanged)
overrideprotectedvirtualinherited

Notification event that some of the common (suite-wide) settings have changed.

Update menus, toolbars, local variables, etc.

Reimplemented from EDA_BASE_FRAME.

Reimplemented in PCB_EDIT_FRAME, PCB_BASE_FRAME, FOOTPRINT_EDIT_FRAME, and FOOTPRINT_VIEWER_FRAME.

Definition at line 216 of file eda_draw_frame.cpp.

217 {
218  EDA_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged );
219 
220  wxConfigBase* settings = Pgm().CommonSettings();
221  KIGFX::VIEW_CONTROLS* viewControls = GetCanvas()->GetViewControls();
222 
223  int autosaveInterval;
224  settings->Read( AUTOSAVE_INTERVAL_KEY, &autosaveInterval );
225  SetAutoSaveInterval( autosaveInterval );
226 
227  int historySize;
228  settings->Read( FILE_HISTORY_SIZE_KEY, &historySize, DEFAULT_FILE_HISTORY_SIZE );
229  Kiface().GetFileHistory().SetMaxFiles( (unsigned) std::max( 0, historySize ) );
230 
231  bool option;
232  settings->Read( ENBL_MOUSEWHEEL_PAN_KEY, &option );
233  viewControls->EnableMousewheelPan( option );
234 
235  settings->Read( ENBL_ZOOM_NO_CENTER_KEY, &option );
236  viewControls->EnableCursorWarping( !option );
237 
238  settings->Read( ENBL_AUTO_PAN_KEY, &option );
239  viewControls->EnableAutoPan( option );
240 
241  m_galDisplayOptions.ReadCommonConfig( *settings, this );
242 }
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:98
KIGFX::VIEW_CONTROLS * GetViewControls() const
Function GetViewControls() Returns a pointer to the VIEW_CONTROLS instance used in the panel.
void ReadCommonConfig(wxConfigBase &aCommonConfig, wxWindow *aWindow)
Read GAL config options from the common config store.
virtual EDA_DRAW_PANEL_GAL * GetCanvas() const
Return a pointer to GAL-based canvas of given EDA draw frame.
virtual void EnableMousewheelPan(bool aEnable)
Function EnableMousewheelPan() Enables or disables mousewheel panning.
#define ENBL_ZOOM_NO_CENTER_KEY
Definition: pgm_base.h:49
void EnableCursorWarping(bool aEnable)
Function EnableCursorWarping() Enables or disables warping the cursor.
#define ENBL_AUTO_PAN_KEY
Definition: pgm_base.h:52
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
#define ENBL_MOUSEWHEEL_PAN_KEY
Definition: pgm_base.h:50
#define FILE_HISTORY_SIZE_KEY
Definition: pgm_base.h:53
VIEW_CONTROLS is an interface for classes handling user events controlling the view behaviour (such a...
virtual void EnableAutoPan(bool aEnabled)
Function EnableAutoPan Turns on/off auto panning (user setting to disable it entirely).
#define AUTOSAVE_INTERVAL_KEY
Definition: pgm_base.h:48
virtual void CommonSettingsChanged(bool aEnvVarsChanged)
Notification event that some of the common (suite-wide) settings have changed.
void SetMaxFiles(size_t aMaxFiles)
Update the number of files that will be contained inside the file history.
Definition: filehistory.cpp:42
void SetAutoSaveInterval(int aInterval)
KIGFX::GAL_DISPLAY_OPTIONS m_galDisplayOptions
#define DEFAULT_FILE_HISTORY_SIZE
IDs range for menuitems file history: The default range file history size is 9 (compatible with defau...
Definition: id.h:69
FILE_HISTORY & GetFileHistory()
Definition: kiface_i.h:123

References AUTOSAVE_INTERVAL_KEY, EDA_BASE_FRAME::CommonSettingsChanged(), DEFAULT_FILE_HISTORY_SIZE, KIGFX::VIEW_CONTROLS::EnableAutoPan(), KIGFX::VIEW_CONTROLS::EnableCursorWarping(), KIGFX::VIEW_CONTROLS::EnableMousewheelPan(), ENBL_AUTO_PAN_KEY, ENBL_MOUSEWHEEL_PAN_KEY, ENBL_ZOOM_NO_CENTER_KEY, FILE_HISTORY_SIZE_KEY, EDA_DRAW_FRAME::GetCanvas(), KIFACE_I::GetFileHistory(), EDA_DRAW_PANEL_GAL::GetViewControls(), Kiface(), EDA_DRAW_FRAME::m_galDisplayOptions, Pgm(), KIGFX::GAL_DISPLAY_OPTIONS::ReadCommonConfig(), EDA_BASE_FRAME::SetAutoSaveInterval(), and FILE_HISTORY::SetMaxFiles().

Referenced by LIB_VIEW_FRAME::CommonSettingsChanged(), PCB_BASE_FRAME::CommonSettingsChanged(), LIB_EDIT_FRAME::CommonSettingsChanged(), GERBVIEW_FRAME::CommonSettingsChanged(), and SCH_EDIT_FRAME::CommonSettingsChanged().

◆ config()

wxConfigBase * EDA_BASE_FRAME::config ( )
virtualinherited

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

Reimplemented in KICAD_MANAGER_FRAME.

Definition at line 584 of file eda_base_frame.cpp.

585 {
586  // KICAD_MANAGER_FRAME overrides this
587  wxConfigBase* ret = Kiface().KifaceSettings();
588  //wxASSERT( ret );
589  return ret;
590 }
wxConfigBase * KifaceSettings() const
Definition: kiface_i.h:103
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.

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

Referenced by CVPCB_MAINFRAME::CVPCB_MAINFRAME(), FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), GERBVIEW_FRAME::GERBVIEW_FRAME(), PCB_EDIT_FRAME::GetSettings(), LIB_VIEW_FRAME::LIB_VIEW_FRAME(), SIM_PLOT_FRAME::onClose(), FOOTPRINT_WIZARD_FRAME::OnCloseWindow(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), and EDA_BASE_FRAME::windowClosing().

◆ ConfigBaseName()

wxString EDA_BASE_FRAME::ConfigBaseName ( )
inlineinherited
Returns
a base name prefix used in Load/Save settings to build the full name of keys used in config. 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 config can be used.

Definition at line 345 of file eda_base_frame.h.

346  {
347  wxString baseCfgName = m_configName.IsEmpty() ? GetName() : m_configName;
348  return baseCfgName;
349  }
wxString m_configName

References EDA_BASE_FRAME::m_configName.

Referenced by DISPLAY_FOOTPRINTS_FRAME::LoadSettings(), FOOTPRINT_VIEWER_FRAME::LoadSettings(), EDA_BASE_FRAME::LoadSettings(), EDA_DRAW_FRAME::LoadSettings(), DISPLAY_FOOTPRINTS_FRAME::SaveSettings(), FOOTPRINT_VIEWER_FRAME::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), EDA_DRAW_FRAME::SaveSettings(), and ACTION_MANAGER::UpdateHotKeys().

◆ createCanvas()

void SCH_BASE_FRAME::createCanvas ( )

Definition at line 335 of file sch_base_frame.cpp.

336 {
338 
339  // Allows only a CAIRO or OPENGL canvas:
342  {
344  }
345 
346  SetCanvas( new SCH_DRAW_PANEL( this, wxID_ANY, wxPoint( 0, 0 ), m_FrameSize,
349 }
KIGFX::GAL_DISPLAY_OPTIONS & GetGalDisplayOptions()
Return a reference to the gal rendering options used by GAL for rendering.
EDA_DRAW_PANEL_GAL::GAL_TYPE m_canvasType
The current canvas type.
EDA_DRAW_PANEL_GAL::GAL_TYPE LoadCanvasTypeSetting()
Returns the canvas type stored in the application settings.
virtual void ActivateGalCanvas()
Use to start up the GAL drawing canvas.
void SetCanvas(EDA_DRAW_PANEL_GAL *aPanel)

References EDA_DRAW_FRAME::ActivateGalCanvas(), EDA_DRAW_PANEL_GAL::GAL_TYPE_CAIRO, EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL, EDA_DRAW_FRAME::GetGalDisplayOptions(), EDA_DRAW_FRAME::LoadCanvasTypeSetting(), EDA_DRAW_FRAME::m_canvasType, EDA_BASE_FRAME::m_FrameSize, and EDA_DRAW_FRAME::SetCanvas().

Referenced by SCH_BASE_FRAME().

◆ CreateServer()

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

Definition at line 49 of file eda_dde.cpp.

50 {
51  wxIPV4address addr;
52 
53  // Set the port number
54  addr.Service( service );
55 
56  // Listen on localhost only if requested
57  if( local )
58  addr.Hostname( HOSTNAME );
59 
60  delete m_socketServer;
61  m_socketServer = new wxSocketServer( addr );
62 
63  m_socketServer->SetNotify( wxSOCKET_CONNECTION_FLAG );
64  m_socketServer->SetEventHandler( *this, ID_EDA_SOCKET_EVENT_SERV );
65  m_socketServer->Notify( true );
66 }
static const wxString HOSTNAME(wxT("localhost"))
wxSocketServer * m_socketServer

References HOSTNAME(), ID_EDA_SOCKET_EVENT_SERV, and EDA_DRAW_FRAME::m_socketServer.

Referenced by SCH::IFACE::CreateWindow().

◆ CurrentToolName()

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

Definition at line 267 of file eda_base_frame.cpp.

268 {
269  if( m_toolStack.empty() )
270  return ACTIONS::selectionTool.GetName();
271  else
272  return m_toolStack.back();
273 }
std::vector< std::string > m_toolStack
static TOOL_ACTION selectionTool
Definition: actions.h:143

References EDA_BASE_FRAME::m_toolStack, and ACTIONS::selectionTool.

◆ Destroy()

◆ DismissModal()

void KIWAY_PLAYER::DismissModal ( bool  aRetVal,
const wxString &  aResult = wxEmptyString 
)
inherited

Definition at line 160 of file kiway_player.cpp.

161 {
162  m_modal_ret_val = aRetVal;
163  m_modal_string = aResult;
164 
165  if( m_modal_loop )
166  {
167  m_modal_loop->Exit();
168  m_modal_loop = 0; // this marks it as dismissed.
169  }
170 
171  Show( false );
172 }
bool m_modal_ret_val
Definition: kiway_player.h:192
wxString m_modal_string
Definition: kiway_player.h:191
WX_EVENT_LOOP * m_modal_loop
Definition: kiway_player.h:189

References KIWAY_PLAYER::m_modal_loop, KIWAY_PLAYER::m_modal_ret_val, and KIWAY_PLAYER::m_modal_string.

Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), FOOTPRINT_WIZARD_FRAME::ExportSelectedFootprint(), LIB_VIEW_FRAME::FinishModal(), LIB_VIEW_FRAME::OnCloseWindow(), FOOTPRINT_VIEWER_FRAME::OnCloseWindow(), and FOOTPRINT_WIZARD_FRAME::OnCloseWindow().

◆ DisplayGridMsg()

void EDA_DRAW_FRAME::DisplayGridMsg ( )
inherited

Display current grid pane on the status bar.

Definition at line 385 of file eda_draw_frame.cpp.

386 {
387  wxString line;
388  wxString gridformatter;
389 
390  switch( m_userUnits )
391  {
392  case EDA_UNITS::INCHES:
393  gridformatter = "grid %.3f";
394  break;
395 
397  gridformatter = "grid %.4f";
398  break;
399 
400  default:
401  gridformatter = "grid %f";
402  break;
403  }
404 
405  wxRealPoint curr_grid_size = GetScreen()->GetGridSize();
406  double grid = To_User_Unit( m_userUnits, curr_grid_size.x );
407  line.Printf( gridformatter, grid );
408 
409  SetStatusText( line, 4 );
410 }
double To_User_Unit(EDA_UNITS aUnit, double aValue, bool aUseMils)
Function To_User_Unit convert aValue in internal units to the appropriate user units defined by aUnit...
Definition: base_units.cpp:95
const wxRealPoint & GetGridSize() const
Return the grid size of the currently selected grid.
Definition: base_screen.h:279
EDA_UNITS m_userUnits
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.

References BASE_SCREEN::GetGridSize(), EDA_DRAW_FRAME::GetScreen(), INCHES, EDA_BASE_FRAME::m_userUnits, MILLIMETRES, and To_User_Unit().

Referenced by UpdateStatusBar().

◆ DisplayToolMsg()

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

Reimplemented from EDA_BASE_FRAME.

Definition at line 376 of file eda_draw_frame.cpp.

377 {
378  SetStatusText( msg, 6 );
379 }

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

◆ DisplayUnitsMsg()

void EDA_DRAW_FRAME::DisplayUnitsMsg ( )
inherited

Display current unit pane on the status bar.

Definition at line 413 of file eda_draw_frame.cpp.

414 {
415  wxString msg;
416 
417  switch( m_userUnits )
418  {
419  case EDA_UNITS::INCHES:
420  msg = _( "Inches" );
421  break;
423  msg = _( "mm" );
424  break;
425  default: msg = _( "Units" ); break;
426  }
427 
428  SetStatusText( msg, 5 );
429 }
#define _(s)
Definition: 3d_actions.cpp:31
EDA_UNITS m_userUnits

References _, INCHES, EDA_BASE_FRAME::m_userUnits, and MILLIMETRES.

Referenced by GERBVIEW_FRAME::updateGridSelectBox(), PCB_BASE_FRAME::UpdateGridSelectBox(), UpdateStatusBar(), and EDA_DRAW_FRAME::UpdateStatusBar().

◆ doAutoSave()

bool EDA_BASE_FRAME::doAutoSave ( )
protectedvirtualinherited

This should be overridden by the derived class to handle the auto save feature.

Returns
true if the auto save was successful otherwise false.

Reimplemented in PCB_EDIT_FRAME, and SCH_EDIT_FRAME.

Definition at line 350 of file eda_base_frame.cpp.

351 {
352  wxCHECK_MSG( false, true, wxT( "Auto save timer function not overridden. Bad programmer!" ) );
353 }

Referenced by EDA_BASE_FRAME::onAutoSaveTimer().

◆ EraseMsgBox()

void EDA_DRAW_FRAME::EraseMsgBox ( )
inherited

Definition at line 245 of file eda_draw_frame.cpp.

246 {
247  if( m_messagePanel )
249 }
EDA_MSG_PANEL * m_messagePanel
void EraseMsgBox()
Definition: msgpanel.cpp:216

References EDA_MSG_PANEL::EraseMsgBox(), and EDA_DRAW_FRAME::m_messagePanel.

Referenced by GERBVIEW_CONTROL::UpdateMessagePanel().

◆ ExecuteRemoteCommand()

virtual void EDA_DRAW_FRAME::ExecuteRemoteCommand ( const char *  cmdline)
inlinevirtualinherited

Execute a remote command send via a socket to the application, port KICAD_PCB_PORT_SERVICE_NUMBER (currently 4242) It called by EDA_DRAW_FRAME::OnSockRequest().

this is a virtual function becuse the actual commands depends on the application. the basic function do nothing

Parameters
cmdline= received command from socket

Reimplemented in SCH_EDIT_FRAME, and PCB_EDIT_FRAME.

Definition at line 274 of file eda_draw_frame.h.

274 {}

Referenced by EDA_DRAW_FRAME::OnSockRequest().

◆ FocusOnLocation()

void EDA_DRAW_FRAME::FocusOnLocation ( const wxPoint aPos,
bool  aCenterView = false 
)
inherited

Useful to focus on a particular location, in find functions Move the graphic cursor (crosshair cursor) at a given coordinate and reframes the drawing if the requested point is out of view or if center on location is requested.

Parameters
aPosis the point to go to.
aCenterViewis true if the new cursor position should be centered on canvas.

Definition at line 732 of file eda_draw_frame.cpp.

733 {
734  if( aCenterView )
735  {
736  wxWindow* dialog = findDialog( GetChildren() );
737 
738  // If a dialog partly obscures the window, then center on the uncovered area.
739  if( dialog )
740  {
741  wxRect dialogRect( GetCanvas()->ScreenToClient( dialog->GetScreenPosition() ),
742  dialog->GetSize() );
743  GetCanvas()->GetView()->SetCenter( aPos, dialogRect );
744  }
745  else
746  GetCanvas()->GetView()->SetCenter( aPos );
747  }
748 
750 }
KIGFX::VIEW_CONTROLS * GetViewControls() const
Function GetViewControls() Returns a pointer to the VIEW_CONTROLS instance used in the panel.
virtual EDA_DRAW_PANEL_GAL * GetCanvas() const
Return a pointer to GAL-based canvas of given EDA draw frame.
void SetCenter(const VECTOR2D &aCenter)
Function SetCenter() Sets the center point of the VIEW (i.e.
Definition: view.cpp:604
wxWindow * findDialog(wxWindowList &aList)
virtual KIGFX::VIEW * GetView() const
Function GetView() Returns a pointer to the VIEW instance used in the panel.
virtual void SetCrossHairCursorPosition(const VECTOR2D &aPosition, bool aWarpView=true)=0
Moves the graphic crosshair cursor to the requested position expressed in world coordinates.

References findDialog(), EDA_DRAW_FRAME::GetCanvas(), EDA_DRAW_PANEL_GAL::GetView(), EDA_DRAW_PANEL_GAL::GetViewControls(), KIGFX::VIEW::SetCenter(), and KIGFX::VIEW_CONTROLS::SetCrossHairCursorPosition().

Referenced by DIALOG_DRC_CONTROL::doSelectionMenu(), SELECTION_TOOL::findCallback(), SCH_EDITOR_CONTROL::FindNext(), DIALOG_DRC_CONTROL::focusOnItem(), DIALOG_ERC::OnLeftClickMarkersList(), DIALOG_ERC::OnLeftDblClickMarkersList(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnSelectItem(), and DIALOG_FIND::search().

◆ GetAboutTitle()

const wxString& EDA_BASE_FRAME::GetAboutTitle ( ) const
inlineinherited

Definition at line 475 of file eda_base_frame.h.

475 { return m_AboutTitle; }
wxString m_AboutTitle

References EDA_BASE_FRAME::m_AboutTitle.

Referenced by DIALOG_ABOUT::DIALOG_ABOUT().

◆ GetAutoSaveFilePrefix()

static wxString EDA_BASE_FRAME::GetAutoSaveFilePrefix ( )
inlinestaticprotectedinherited
Returns
the string to prepend to a file name for automatic save.

Definition at line 167 of file eda_base_frame.h.

168  {
169  return wxT( "_autosave-" );
170  }

Referenced by EDA_BASE_FRAME::CheckForAutoSaveFile(), SCH_EDIT_FRAME::doAutoSave(), PCB_EDIT_FRAME::doAutoSave(), PCB_EDIT_FRAME::Files_io_from_id(), SCH_EDIT_FRAME::OnCloseWindow(), PCB_EDIT_FRAME::OnExportSTEP(), SCH_EDIT_FRAME::SaveEEFile(), and PCB_EDIT_FRAME::SavePcbFile().

◆ GetAutoSaveInterval()

int EDA_BASE_FRAME::GetAutoSaveInterval ( ) const
inlineinherited

Definition at line 290 of file eda_base_frame.h.

290 { return m_autoSaveInterval; }

References EDA_BASE_FRAME::m_autoSaveInterval.

◆ GetAuxOrigin()

const wxPoint & SCH_BASE_FRAME::GetAuxOrigin ( ) const
overridevirtual

Return the origin of the axis used for plotting and various exports.

Implements EDA_DRAW_FRAME.

Definition at line 145 of file sch_base_frame.cpp.

146 {
147  wxASSERT( GetScreen() );
148  return GetScreen()->GetAuxOrigin();
149 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
const wxPoint & GetAuxOrigin() const
Definition: sch_screen.h:159

References SCH_SCREEN::GetAuxOrigin(), and GetScreen().

◆ GetBackupSuffix()

static wxString EDA_BASE_FRAME::GetBackupSuffix ( )
inlinestaticprotectedinherited
Returns
the suffix to be appended to the file extension on backup

Definition at line 159 of file eda_base_frame.h.

160  {
161  return wxT( "-bak" );
162  }

Referenced by EDA_BASE_FRAME::CheckForAutoSaveFile(), PCB_EDIT_FRAME::createBackupFile(), PCB_EDIT_FRAME::Files_io_from_id(), and SCH_EDIT_FRAME::SaveEEFile().

◆ GetCanvas()

SCH_DRAW_PANEL * SCH_BASE_FRAME::GetCanvas ( ) const
overridevirtual

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 322 of file sch_base_frame.cpp.

323 {
324  return static_cast<SCH_DRAW_PANEL*>( EDA_DRAW_FRAME::GetCanvas() );
325 }
virtual EDA_DRAW_PANEL_GAL * GetCanvas() const
Return a pointer to GAL-based canvas of given EDA draw frame.

References EDA_DRAW_FRAME::GetCanvas().

Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_FRAME::AddJunction(), AddToScreen(), SCH_EDIT_FRAME::AnnotateComponents(), SCH_EDITOR_CONTROL::BackAnnotateFootprints(), SCH_EDIT_TOOL::BreakWire(), CenterScreen(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), SCH_EDIT_FRAME::ConvertTextType(), SCH_EDIT_FRAME::CreateNewText(), SCH_EDIT_FRAME::CreateSheetPin(), SCH_EDIT_FRAME::DeleteAnnotation(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), EE_SELECTION_TOOL::doSelectionMenu(), LIB_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), LIB_EDIT_TOOL::editFieldProperties(), LIB_EDIT_TOOL::editGraphicProperties(), SCH_EDIT_FRAME::EditSheet(), LIB_EDIT_TOOL::editTextProperties(), SCH_EDIT_FRAME::ExecuteRemoteCommand(), SCH_EDITOR_CONTROL::FindComponentAndItem(), SCH_EDITOR_CONTROL::FindNext(), GetRenderSettings(), HardRedraw(), SCH_EDIT_FRAME::HardRedraw(), SCH_EDITOR_CONTROL::ImportFPAssignments(), SCH_EDIT_FRAME::KiwayMailIn(), LIB_VIEW_FRAME::LIB_VIEW_FRAME(), LIB_EDIT_FRAME::LoadSettings(), SCH_MOVE_TOOL::Main(), EE_POINT_EDITOR::Main(), LIB_MOVE_TOOL::Main(), EE_SELECTION_TOOL::Main(), SIM_PLOT_FRAME::NewPlotPanel(), DIALOG_MIGRATE_BUSES::onAcceptClicked(), DIALOG_EDIT_COMPONENTS_LIBID::onApplyButton(), DIALOG_ANNOTATE::OnApplyClick(), LIB_VIEW_FRAME::OnCloseWindow(), DIALOG_ERC::OnEraseDrcMarkersClick(), OnGridSettings(), DIALOG_MIGRATE_BUSES::onItemSelected(), SCH_EDIT_FRAME::OnModify(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OnRemapSymbols(), DIALOG_FIELDS_EDITOR_GLOBAL::OnTableCellClick(), LIB_DRAWING_TOOLS::PlaceAnchor(), SCH_DRAWING_TOOLS::PlaceComponent(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::PutDataInPreviousState(), LIB_EDIT_FRAME::RebuildView(), LIB_VIEW_FRAME::ReCreateListLib(), LIB_EDIT_FRAME::ReCreateMenuBar(), SCH_EDIT_FRAME::ReCreateMenuBar(), SCH_EDITOR_CONTROL::Redo(), DIALOG_ERC::RedrawDrawPanel(), RedrawScreen(), RefreshItem(), RefreshSelection(), RemoveFromScreen(), SCH_EDIT_FRAME::RescueLegacyProject(), SCH_EDIT_FRAME::rescueProject(), SCH_EDIT_FRAME::RescueSymbolLibTableProject(), DIALOG_EDIT_COMPONENTS_LIBID::revertChanges(), SCH_EDIT_FRAME::RollbackSchematicFromUndo(), SCH_EDIT_FRAME::SetCurrentSheet(), EE_POINT_EDITOR::setEditedPoint(), SetScreen(), SCH_EDIT_FRAME::SetScreen(), LIB_VIEW_FRAME::SetSelectedLibrary(), LIB_VIEW_FRAME::setupTools(), LIB_EDIT_FRAME::setupTools(), SCH_EDIT_FRAME::setupTools(), LIB_CONTROL::ShowElectricalTypes(), SCH_DRAWING_TOOLS::SingleClickPlace(), LIB_EDIT_FRAME::SwitchCanvas(), SyncView(), SCH_EDIT_FRAME::TestDanglingEnds(), DIALOG_ERC::TestErc(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), PANEL_LIBEDIT_SETTINGS::TransferDataFromWindow(), DIALOG_SET_GRID::TransferDataFromWindow(), DIALOG_EDIT_LINE_STYLE::TransferDataFromWindow(), PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataFromWindow(), DIALOG_EDIT_SHEET_PIN::TransferDataFromWindow(), DIALOG_UPDATE_FIELDS::TransferDataFromWindow(), DIALOG_LABEL_EDITOR::TransferDataFromWindow(), LIB_DRAWING_TOOLS::TwoClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SCH_EDIT_TOOL::UpdateFields(), SCH_EDITOR_CONTROL::UpdateFind(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), LIB_VIEW_FRAME::updatePreviewSymbol(), UpdateStatusBar(), DIALOG_FIELDS_EDITOR_GLOBAL::~DIALOG_FIELDS_EDITOR_GLOBAL(), and LIB_VIEW_FRAME::~LIB_VIEW_FRAME().

◆ GetCanvasTypeKey()

virtual wxString EDA_DRAW_FRAME::GetCanvasTypeKey ( )
inlineprotectedvirtualinherited
Returns
the key in KifaceSettings to store the canvas type. the base version returns only CanvasTypeKeyBase. Can be overriden to return a key specific of a frame name

Definition at line 170 of file eda_draw_frame.h.

170 { return CanvasTypeKeyBase; }
#define CanvasTypeKeyBase
The key to store the canvas type in config.

References CanvasTypeKeyBase.

Referenced by EDA_DRAW_FRAME::LoadCanvasTypeSetting(), and EDA_DRAW_FRAME::saveCanvasTypeSetting().

◆ GetDocumentExtents()

const BOX2I EDA_DRAW_FRAME::GetDocumentExtents ( ) const
virtualinherited

Reimplemented in SCH_EDIT_FRAME, LIB_EDIT_FRAME, GERBVIEW_FRAME, LIB_VIEW_FRAME, PCB_BASE_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 702 of file eda_draw_frame.cpp.

703 {
704  return BOX2I();
705 }
BOX2< VECTOR2I > BOX2I
Definition: box2.h:521

Referenced by COMMON_TOOLS::ZoomFitScreen().

◆ GetDoImmediateActions()

bool EDA_BASE_FRAME::GetDoImmediateActions ( ) const
inlineinherited

Indicates 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 251 of file eda_base_frame.h.

251 { return m_immediateActions; }

References EDA_BASE_FRAME::m_immediateActions.

◆ GetDragActionIsMove()

bool SCH_BASE_FRAME::GetDragActionIsMove ( ) const
inline

Definition at line 193 of file sch_base_frame.h.

193 { return m_dragActionIsMove; }

References m_dragActionIsMove.

Referenced by SCH_MOVE_TOOL::Main(), and PANEL_EESCHEMA_SETTINGS::TransferDataToWindow().

◆ GetDragSelects()

bool EDA_BASE_FRAME::GetDragSelects ( ) const
inlineinherited

Indicates that a drag should draw a selection rectangle, even when started over an item.

Definition at line 257 of file eda_base_frame.h.

257 { return m_dragSelects; }

References EDA_BASE_FRAME::m_dragSelects.

Referenced by EE_SELECTION_TOOL::Main().

◆ GetDrawBgColor()

virtual COLOR4D EDA_DRAW_FRAME::GetDrawBgColor ( ) const
inlinevirtualinherited
Returns
the COLOR4D for the canvas background

Definition at line 246 of file eda_draw_frame.h.

246 { return m_drawBgColor; }
COLOR4D m_drawBgColor

References EDA_DRAW_FRAME::m_drawBgColor.

Referenced by GERBVIEW_FRAME::GetNegativeItemsColor(), and SCH_PRINTOUT::PrintPage().

◆ GetFileFromHistory()

wxString EDA_BASE_FRAME::GetFileFromHistory ( int  cmdId,
const wxString &  type,
FILE_HISTORY aFileHistory = NULL 
)
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 init 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 622 of file eda_base_frame.cpp.

624 {
625  FILE_HISTORY* fileHistory = aFileHistory;
626 
627  if( !fileHistory )
628  fileHistory = &Kiface().GetFileHistory();
629 
630  int baseId = fileHistory->GetBaseId();
631 
632  wxASSERT( cmdId >= baseId && cmdId < baseId + (int) fileHistory->GetCount() );
633 
634  unsigned i = cmdId - baseId;
635 
636  if( i < fileHistory->GetCount() )
637  {
638  wxString fn = fileHistory->GetHistoryFile( i );
639 
640  if( wxFileName::FileExists( fn ) )
641  return fn;
642  else
643  {
644  wxString msg = wxString::Format( _( "File \"%s\" was not found." ), fn );
645  wxMessageBox( msg );
646 
647  fileHistory->RemoveFileFromHistory( i );
648  }
649  }
650 
651  return wxEmptyString;
652 }
This class implements a file history object to store a list of files, that can then be added to a men...
Definition: filehistory.h:40
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
#define _(s)
Definition: 3d_actions.cpp:31
FILE_HISTORY & GetFileHistory()
Definition: kiface_i.h:123

References _, Format(), KIFACE_I::GetFileHistory(), and Kiface().

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

◆ GetFindHistoryList()

wxArrayString& EDA_DRAW_FRAME::GetFindHistoryList ( )
inlineinherited

Definition at line 196 of file eda_draw_frame.h.

196 { return m_findStringHistoryList; }
wxArrayString m_findStringHistoryList

References EDA_DRAW_FRAME::m_findStringHistoryList.

Referenced by DIALOG_FIND::DIALOG_FIND(), and DIALOG_FIND::search().

◆ GetFindReplaceData()

wxFindReplaceData& EDA_DRAW_FRAME::GetFindReplaceData ( )
inlineinherited

Definition at line 195 of file eda_draw_frame.h.

195 { return *m_findReplaceData; }
wxFindReplaceData * m_findReplaceData

References EDA_DRAW_FRAME::m_findReplaceData.

Referenced by DIALOG_FIND::search().

◆ GetFlattenedLibPart()

LIB_PART* SCH_BASE_FRAME::GetFlattenedLibPart ( const LIB_ID aLibId,
bool  aShowErrorMsg = false 
)

◆ GetGalDisplayOptions()

◆ GetGridColor()

virtual COLOR4D EDA_DRAW_FRAME::GetGridColor ( )
inlinevirtualinherited

◆ GetGridOrigin()

const wxPoint& SCH_BASE_FRAME::GetGridOrigin ( ) const
inlineoverridevirtual

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 202 of file sch_base_frame.h.

203  {
204  static wxPoint zero;
205  return zero;
206  }

◆ GetLastGridSizeId()

int EDA_DRAW_FRAME::GetLastGridSizeId ( ) const
inlineinherited

Definition at line 227 of file eda_draw_frame.h.

227 { return m_LastGridSizeId; }

References EDA_DRAW_FRAME::m_LastGridSizeId.

◆ GetLibPart()

LIB_PART * SCH_BASE_FRAME::GetLibPart ( const LIB_ID aLibId,
bool  aUseCacheLib = false,
bool  aShowErrorMsg = false 
)

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 235 of file sch_base_frame.cpp.

236 {
237  PART_LIB* cache = ( aUseCacheLib ) ? Prj().SchLibs()->GetCacheLibrary() : NULL;
238 
239  return SchGetLibPart( aLibId, Prj().SchSymbolLibTable(), cache, this, aShowErrorMsg );
240 }
static S3D_CACHE * cache
Definition: export_vrml.cpp:65
#define NULL
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
LIB_PART * SchGetLibPart(const LIB_ID &aLibId, SYMBOL_LIB_TABLE *aLibTable, PART_LIB *aCacheLib, wxWindow *aParent, bool aShowErrorMsg)
Load symbol from symbol library table.
Object used to load, save, search, and otherwise manipulate symbol library files.

References cache, NULL, KIWAY_HOLDER::Prj(), and SchGetLibPart().

Referenced by SCH_EDIT_FRAME::ConvertPart(), SCH_EDIT_FRAME::CreateArchiveLibrary(), DIALOG_SCH_EDIT_ONE_FIELD::DIALOG_SCH_EDIT_ONE_FIELD(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnBrowseLibrary(), SCH_DRAWING_TOOLS::PlaceComponent(), SelectCompFromLibTree(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(), and DIALOG_UPDATE_FIELDS::updateFields().

◆ GetMoveWarpsCursor()

bool EDA_BASE_FRAME::GetMoveWarpsCursor ( ) const
inlineinherited

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

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

Definition at line 263 of file eda_base_frame.h.

263 { return m_moveWarpsCursor; }

References EDA_BASE_FRAME::m_moveWarpsCursor.

Referenced by SCH_MOVE_TOOL::Main(), and LIB_MOVE_TOOL::Main().

◆ GetMruPath()

◆ GetNearestGridPosition()

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

Return the nearest aGridSize location to aPosition.

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

Definition at line 695 of file eda_draw_frame.cpp.

696 {
697  return GetScreen()->getNearestGridPosition( aPosition, GetGridOrigin() );
698 }
virtual const wxPoint & GetGridOrigin() const =0
Return the absolute coordinates of the origin of the snap grid.
wxPoint getNearestGridPosition(const wxPoint &aPosition, const wxPoint &aGridOrigin) const
Function getNearestGridPosition returns the nearest aGridSize location to aPosition.
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.

References EDA_DRAW_FRAME::GetGridOrigin(), BASE_SCREEN::getNearestGridPosition(), and EDA_DRAW_FRAME::GetScreen().

Referenced by LIB_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), LIB_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), and SCH_DRAWING_TOOLS::sizeSheet().

◆ GetPageSettings()

const PAGE_INFO & SCH_BASE_FRAME::GetPageSettings ( ) const
overridevirtual

Implements EDA_DRAW_FRAME.

Definition at line 132 of file sch_base_frame.cpp.

133 {
134  return GetScreen()->GetPageSettings();
135 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
const PAGE_INFO & GetPageSettings() const
Definition: sch_screen.h:152

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

Referenced by DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPDF(), and DIALOG_PLOT_SCHEMATIC::plotOneSheetPS().

◆ GetPageSizeIU()

const wxSize SCH_BASE_FRAME::GetPageSizeIU ( ) const
overridevirtual

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 138 of file sch_base_frame.cpp.

139 {
140  // GetSizeIU is compile time dependent:
141  return GetScreen()->GetPageSettings().GetSizeIU();
142 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
const PAGE_INFO & GetPageSettings() const
Definition: sch_screen.h:152

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

Referenced by SCH_EDIT_FRAME::DrawCurrentSheetToClipboard().

◆ GetRenderSettings()

KIGFX::SCH_RENDER_SETTINGS * SCH_BASE_FRAME::GetRenderSettings ( )

Definition at line 328 of file sch_base_frame.cpp.

329 {
330  KIGFX::PAINTER* painter = GetCanvas()->GetView()->GetPainter();
331  return static_cast<KIGFX::SCH_RENDER_SETTINGS*>( painter->GetSettings() );
332 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
PAINTER * GetPainter() const
Function GetPainter() Returns the painter object used by the view for drawing VIEW_ITEMS.
Definition: view.h:199
PAINTER contains all the knowledge about how to draw graphical object onto any particular output devi...
Definition: painter.h:313
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
virtual RENDER_SETTINGS * GetSettings()=0
Function GetSettings Returns pointer to current settings that are going to be used when drawing items...

References GetCanvas(), KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), and SCH_DRAW_PANEL::GetView().

Referenced by DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN(), LIB_VIEW_FRAME::LIB_VIEW_FRAME(), SCH_EDIT_FRAME::LoadSettings(), LIB_EDIT_FRAME::RebuildView(), LIB_CONTROL::ShowElectricalTypes(), PANEL_LIBEDIT_SETTINGS::TransferDataFromWindow(), PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataFromWindow(), and LIB_VIEW_FRAME::updatePreviewSymbol().

◆ GetRepeatComponent()

const bool SCH_BASE_FRAME::GetRepeatComponent ( )
inline
Returns
the current setting of placing copies of the same symbol for each click

Definition at line 164 of file sch_base_frame.h.

164 { return m_repeatComponent; }

References m_repeatComponent.

Referenced by SCH_DRAWING_TOOLS::PlaceComponent().

◆ GetRepeatDeltaLabel()

int SCH_BASE_FRAME::GetRepeatDeltaLabel ( ) const
inline
Returns
the increment value of labels like bus members for the repeat command

Definition at line 152 of file sch_base_frame.h.

152 { return m_repeatDeltaLabel; }

References m_repeatDeltaLabel.

Referenced by SCH_EDIT_TOOL::RepeatDrawItem(), LIB_PIN_TOOL::RepeatPin(), LIB_EDIT_FRAME::SaveSettings(), PANEL_EESCHEMA_SETTINGS::TransferDataToWindow(), and PANEL_LIBEDIT_SETTINGS::TransferDataToWindow().

◆ GetRepeatStep()

const wxPoint SCH_BASE_FRAME::GetRepeatStep ( ) const
inline
Returns
the increment value of the position of an item for the repeat command

Definition at line 139 of file sch_base_frame.h.

139 { return m_repeatStep; }
wxPoint m_repeatStep

References m_repeatStep.

Referenced by SCH_EDIT_TOOL::RepeatDrawItem(), LIB_EDIT_FRAME::SaveSettings(), PANEL_LIBEDIT_SETTINGS::TransferDataToWindow(), and PANEL_EESCHEMA_SETTINGS::TransferDataToWindow().

◆ GetScreen()

SCH_SCREEN * SCH_BASE_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 EDA_DRAW_FRAME.

Reimplemented in SCH_EDIT_FRAME.

Definition at line 102 of file sch_base_frame.cpp.

103 {
105 }
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.

References EDA_DRAW_FRAME::GetScreen().

Referenced by AddToScreen(), EE_INSPECTION_TOOL::checkPart(), LIB_EDIT_TOOL::DeleteItemCursor(), LIB_CONTROL::ExportSymbolAsSVG(), GetAuxOrigin(), LIB_EDIT_FRAME::GetComponentFromRedoList(), LIB_EDIT_FRAME::GetComponentFromUndoList(), EE_SELECTION_TOOL::GetNode(), GetPageSettings(), GetPageSizeIU(), GetTitleBlock(), LIB_EDIT_FRAME::IsContentModified(), LIB_VIEW_FRAME::LIB_VIEW_FRAME(), LIB_EDIT_FRAME::LoadComponentAndSelectLib(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), LIB_EDIT_FRAME::LoadOneLibraryPartAux(), EDIT_POINTS_FACTORY::Make(), LIB_EDIT_FRAME::OnModify(), LIB_EDIT_FRAME::PrintPage(), EE_SELECTION_TOOL::RebuildSelection(), LIB_EDIT_FRAME::ReCreateMenuBar(), RedrawScreen(), RemoveFromScreen(), LIB_EDIT_FRAME::RollbackPartFromUndo(), LIB_EDIT_FRAME::SaveCopyInUndoList(), EE_SELECTION_TOOL::SelectConnection(), EE_SELECTION_TOOL::SelectPoint(), SetAuxOrigin(), SetPageSettings(), SetTitleBlock(), LIB_VIEW_FRAME::setupTools(), LIB_EDIT_FRAME::setupTools(), LIB_EDIT_FRAME::storeCurrentPart(), LIB_EDIT_FRAME::SVG_PlotComponent(), LIB_EDIT_FRAME::SyncToolbars(), SyncView(), DIALOG_SET_GRID::TransferDataFromWindow(), DIALOG_SET_GRID::TransferDataToWindow(), and UpdateStatusBar().

◆ GetScreenDesc()

wxString EDA_DRAW_FRAME::GetScreenDesc ( ) const
virtualinherited

Reimplemented in SCH_EDIT_FRAME.

Definition at line 806 of file eda_draw_frame.cpp.

807 {
808  // Virtual function. Base class implementation returns an empty string.
809  return wxEmptyString;
810 }

Referenced by KIGFX::SCH_VIEW::DisplaySheet(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), and EDA_DRAW_FRAME::PrintWorkSheet().

◆ GetSelectPinSelectSymbol()

virtual bool SCH_BASE_FRAME::GetSelectPinSelectSymbol ( ) const
inlinevirtual

Allow some frames to select the parent symbol when trying to select a pin.

The default impl select the pin.

Reimplemented in SCH_EDIT_FRAME.

Definition at line 127 of file sch_base_frame.h.

127 { return false; }

Referenced by EE_SELECTION_TOOL::GuessSelectionCandidates().

◆ GetShowAllPins()

virtual bool SCH_BASE_FRAME::GetShowAllPins ( ) const
inlinevirtual

Allow some frames to show/hide hidden pins.

The default impl shows all pins.

Reimplemented in SCH_EDIT_FRAME.

Definition at line 121 of file sch_base_frame.h.

121 { return true; }

Referenced by EE_SELECTION_TOOL::Selectable().

◆ GetShowElectricalType()

◆ GetShowPolarCoords()

◆ GetTemplateFieldName()

const TEMPLATE_FIELDNAME* SCH_BASE_FRAME::GetTemplateFieldName ( const wxString &  aName) const
inline

Search for aName in the the template field name list.

Parameters
aNameA wxString object containing the field name to search for.
Returns
the template fieldname if found; NULL otherwise.

Definition at line 266 of file sch_base_frame.h.

267  {
268  return m_templateFieldNames.GetFieldName( aName );
269  }
TEMPLATES m_templateFieldNames
const TEMPLATE_FIELDNAME * GetFieldName(const wxString &aName) const
Function GetFieldName searches for aName in the the template field name list.

References TEMPLATES::GetFieldName(), and m_templateFieldNames.

◆ GetTemplateFieldNames()

const TEMPLATE_FIELDNAMES& SCH_BASE_FRAME::GetTemplateFieldNames ( ) const
inline

Return a template field names list for read only access.

Definition at line 255 of file sch_base_frame.h.

256  {
258  }
TEMPLATES m_templateFieldNames
const TEMPLATE_FIELDNAMES & GetTemplateFieldNames() const
Function GetTemplateFieldName returns a template fieldnames list for read only access.

References TEMPLATES::GetTemplateFieldNames(), and m_templateFieldNames.

Referenced by DIALOG_FIELDS_EDITOR_GLOBAL::LoadFieldNames(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(), PANEL_EESCHEMA_TEMPLATE_FIELDNAMES::TransferDataToWindow(), and DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::UpdateFieldsFromLibrary().

◆ GetTitleBlock()

const TITLE_BLOCK & SCH_BASE_FRAME::GetTitleBlock ( ) const
overridevirtual

Implements EDA_DRAW_FRAME.

Definition at line 159 of file sch_base_frame.cpp.

160 {
161  wxASSERT( GetScreen() );
162  return GetScreen()->GetTitleBlock();
163 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
const TITLE_BLOCK & GetTitleBlock() const
Definition: sch_screen.h:162

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

Referenced by DIALOG_PLOT_SCHEMATIC::createPDFFile(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPDF(), and DIALOG_PLOT_SCHEMATIC::plotOneSheetPS().

◆ GetToolManager()

TOOL_MANAGER* EDA_BASE_FRAME::GetToolManager ( ) const
inlineinherited

Return the MVC controller.

Definition at line 230 of file eda_base_frame.h.

230 { return m_toolManager; }
TOOL_MANAGER * m_toolManager

References EDA_BASE_FRAME::m_toolManager.

Referenced by DIALOG_GLOBAL_DELETION::AcceptPcbDelete(), TREEPROJECT_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), LIB_CONTROL::AddSymbolToSchematic(), BOARD_COMMIT::BOARD_COMMIT(), FOOTPRINT_VIEWER_FRAME::ClickOnFootprintList(), EDA_BASE_FRAME::CommonSettingsChanged(), DIALOG_DRC_CONTROL::DelDRCMarkers(), DIALOG_MIGRATE_BUSES::DIALOG_MIGRATE_BUSES(), DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), DIALOG_DRC_CONTROL::doSelectionMenu(), TRACK_WIDTH_MENU::eventHandler(), DIFF_PAIR_MENU::eventHandler(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), SCH_EDIT_FRAME::ExecuteRemoteCommand(), DIALOG_DRC_CONTROL::focusOnItem(), GERBVIEW_FRAME::GERBVIEW_FRAME(), FP_TREE_SYNCHRONIZING_ADAPTER::GetContextMenuTool(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetContextMenuTool(), KICAD_MANAGER_FRAME::InstallPreferences(), FOOTPRINT_EDIT_FRAME::InstallPreferences(), LIB_EDIT_FRAME::InstallPreferences(), GERBVIEW_FRAME::InstallPreferences(), PCB_EDIT_FRAME::InstallPreferences(), SCH_EDIT_FRAME::InstallPreferences(), LIB_VIEW_FRAME::LIB_VIEW_FRAME(), SIM_PLOT_FRAME::onClose(), SYMBOL_TREE_PANE::onComponentSelected(), DIALOG_DRC_CONTROL::OnDeleteOneClick(), DIALOG_ERC::OnLeftClickMarkersList(), FOOTPRINTS_LISTBOX::OnLeftDClick(), SIM_PLOT_FRAME::onProbe(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnRightUpItem(), DIALOG_PLOT::onRunDRC(), HIERARCHY_NAVIG_DLG::onSelectSheetPath(), DIALOG_FIELDS_EDITOR_GLOBAL::OnTableCellClick(), SIM_PLOT_FRAME::onTune(), DIALOG_PLOT::Plot(), EDA_BASE_FRAME::PopTool(), SCH_EDIT_FRAME::PutDataInPreviousState(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), DIALOG_FIND::search(), PCB_BASE_FRAME::SetFastGrid1(), PCB_BASE_FRAME::SetFastGrid2(), CVPCB_MAINFRAME::setupEventHandlers(), PCB_LAYER_WIDGET::SyncLayerAlphaIndicators(), PANEL_SETUP_NETCLASSES::TransferDataFromWindow(), DIALOG_FIELDS_EDITOR_GLOBAL::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataToWindow(), EDA_DRAW_FRAME::UpdateMsgPanel(), DIALOG_NETLIST::~DIALOG_NETLIST(), and DIALOG_UPDATE_PCB::~DIALOG_UPDATE_PCB().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( )
inlineinherited

Definition at line 49 of file kiway_holder.h.

49 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:82

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM(), and GERBVIEW_FRAME::SaveSettings().

◆ GetUseAllUnits()

const bool SCH_BASE_FRAME::GetUseAllUnits ( )
inline
Returns
the current setting to use all units when placing a component

Definition at line 175 of file sch_base_frame.h.

175 { return m_useAllUnits; }

References m_useAllUnits.

Referenced by SCH_DRAWING_TOOLS::PlaceComponent().

◆ GetUserUnits()

EDA_UNITS EDA_BASE_FRAME::GetUserUnits ( ) const
inlineinherited

Return the user units currently in use.

Definition at line 211 of file eda_base_frame.h.

212  {
213  return m_userUnits;
214  }
EDA_UNITS m_userUnits

References EDA_BASE_FRAME::m_userUnits.

Referenced by PANEL_SETUP_TRACKS_AND_VIAS::AppendDiffPairs(), PANEL_SETUP_TRACKS_AND_VIAS::AppendTrackWidth(), PANEL_SETUP_TRACKS_AND_VIAS::AppendViaSize(), PCB_EDIT_FRAME::Create_MuWaveComponent(), MWAVE::CreateMicrowaveInductor(), GERBVIEW_SELECTION_TOOL::disambiguationMenu(), GERBER_FILE_IMAGE::DisplayImageInfo(), MARKER_BASE::DisplayMarkerInfo(), DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), EE_SELECTION_TOOL::doSelectionMenu(), SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::drawArc(), LIB_EDIT_TOOL::editGraphicProperties(), LIB_PIN_TOOL::EditPinProperties(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), EVT_GRID_CMD_CELL_CHANGED(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), PCB_EDIT_FRAME::GenFootprintsReport(), PANEL_MODEDIT_DEFAULTS::getGridValue(), PANEL_SETUP_TEXT_AND_GRAPHICS::getGridValue(), PANEL_SETUP_NETCLASSES::getNetclassValue(), GetUserUnits(), GRID_MENU::GRID_MENU(), PCB_INSPECTION_TOOL::highlightNet(), GERBVIEW_FRAME::Liste_D_Codes(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::MeasureTool(), GERBVIEW_SELECTION_TOOL::MeasureTool(), EDIT_TOOL::MeasureTool(), PANEL_SETUP_BOARD_STACKUP::onThicknessChange(), PANEL_SETUP_BOARD_STACKUP::onUpdateThicknessValue(), PANEL_PREV_3D::PANEL_PREV_3D(), PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP(), POSITION_RELATIVE_TOOL::PositionRelative(), FOOTPRINT_EDIT_FRAME::ReCreateMenuBar(), LIB_EDIT_FRAME::ReCreateMenuBar(), GERBVIEW_FRAME::ReCreateMenuBar(), SCH_EDIT_FRAME::ReCreateMenuBar(), PCB_EDIT_FRAME::ReCreateMenuBar(), DRC::Reset(), CONNECTION_SUBGRAPH::ResolveDrivers(), DISPLAY_FOOTPRINTS_FRAME::SyncToolbars(), FOOTPRINT_EDIT_FRAME::SyncToolbars(), LIB_EDIT_FRAME::SyncToolbars(), GERBVIEW_FRAME::SyncToolbars(), PCB_EDIT_FRAME::SyncToolbars(), SCH_EDIT_FRAME::SyncToolbars(), DRC::testDrilledHoles(), DRC::testUnconnected(), COMMON_TOOLS::ToggleUnits(), PANEL_SETUP_BOARD_STACKUP::transferDataFromUIToStackup(), PANEL_SETUP_TRACKS_AND_VIAS::TransferDataFromWindow(), PANEL_SETUP_NETCLASSES::TransferDataFromWindow(), PANEL_EESCHEMA_SETTINGS::TransferDataToWindow(), PANEL_MODEDIT_SETTINGS::TransferDataToWindow(), PANEL_GERBVIEW_SETTINGS::TransferDataToWindow(), PANEL_PCBNEW_SETTINGS::TransferDataToWindow(), PANEL_SETUP_NETCLASSES::TransferDataToWindow(), UNIT_BINDER::UNIT_BINDER(), GRID_MENU::update(), TRACK_WIDTH_MENU::update(), DIFF_PAIR_MENU::update(), GERBVIEW_FRAME::updateDCodeSelectBox(), GERBVIEW_FRAME::updateGridSelectBox(), PCB_BASE_FRAME::UpdateGridSelectBox(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCBNEW_CONTROL::UpdateMessagePanel(), DRC::updatePointers(), PNS_TUNE_STATUS_POPUP::UpdateStatus(), PCB_BASE_FRAME::UpdateStatusBar(), UpdateStatusBar(), GERBVIEW_FRAME::UpdateStatusBar(), PCB_EDIT_FRAME::UpdateTrackWidthSelectBox(), PCB_EDIT_FRAME::UpdateViaSizeSelectBox(), PANEL_SETUP_TRACKS_AND_VIAS::validateData(), and PANEL_SETUP_NETCLASSES::validateData().

◆ GetZoom()

double EDA_DRAW_FRAME::GetZoom ( )
inherited
Returns
The current zoom level.

Definition at line 344 of file eda_draw_frame.cpp.

345 {
346  return GetScreen()->GetZoom();
347 }
double GetZoom() const
Function GetZoom returns the current "zoom factor", which is a measure of "internal units per device ...
Definition: base_screen.h:240
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.

References EDA_DRAW_FRAME::GetScreen(), and BASE_SCREEN::GetZoom().

Referenced by FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), PCB_BASE_FRAME::updateZoomSelectBox(), and GERBVIEW_FRAME::updateZoomSelectBox().

◆ GetZoomLevelCoeff()

double EDA_DRAW_FRAME::GetZoomLevelCoeff ( ) const
inlineinherited

Return the coefficient to convert internal display scale factor to zoom level.

Definition at line 289 of file eda_draw_frame.h.

289 { return m_zoomLevelCoeff; }
double m_zoomLevelCoeff

References EDA_DRAW_FRAME::m_zoomLevelCoeff.

Referenced by COMMON_TOOLS::doZoomToPreset(), FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), EDA_DRAW_PANEL_GAL::GetLegacyZoom(), and ZOOM_MENU::ZOOM_MENU().

◆ GetZoomLevelIndicator()

const wxString SCH_BASE_FRAME::GetZoomLevelIndicator ( ) const
overridevirtual

Function GetZoomLevelIndicator returns a human readable value which can be displayed as zoom level indicator in dialogs.

Virtual from the base class

Reimplemented from EDA_DRAW_FRAME.

Definition at line 120 of file sch_base_frame.cpp.

121 {
123 }
virtual const wxString GetZoomLevelIndicator() const
Return a human readable value which can be displayed as zoom level indicator in dialogs.

References EDA_DRAW_FRAME::GetZoomLevelIndicator().

◆ HardRedraw()

void SCH_BASE_FRAME::HardRedraw ( )
overridevirtual

Rebuild the GAL and redraws the screen.

Call when something went wrong.

Reimplemented from EDA_DRAW_FRAME.

Reimplemented in SCH_EDIT_FRAME.

Definition at line 315 of file sch_base_frame.cpp.

316 {
318  GetCanvas()->ForceRefresh();
319 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
void ForceRefresh()
Function ForceRefresh() Forces a redraw.
void UpdateAllItems(int aUpdateFlags)
Updates all items in the view according to the given flags.
Definition: view.cpp:1444
Item needs to be redrawn.
Definition: view_item.h:61
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.

References KIGFX::ALL, EDA_DRAW_PANEL_GAL::ForceRefresh(), GetCanvas(), SCH_DRAW_PANEL::GetView(), and KIGFX::VIEW::UpdateAllItems().

◆ help_name()

wxString EDA_BASE_FRAME::help_name ( )
virtualinherited

Reimplemented in KICAD_MANAGER_FRAME.

Definition at line 599 of file eda_base_frame.cpp.

600 {
601  return Kiface().GetHelpFileName();
602 }
const wxString & GetHelpFileName() const
Function GetHelpFileName returns just the basename portion of the current help file.
Definition: kiface_i.h:121
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.

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

Referenced by COMMON_CONTROL::ShowHelp().

◆ 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
aActionMap= current hotkey map (over which the imported hotkeys will be applied)
aDefaultShortname= a default short name (extension not needed) like eechema, kicad...

◆ InitExitKey()

void EDA_DRAW_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 317 of file eda_draw_frame.cpp.

318 {
319  wxAcceleratorEntry entries[1];
320  entries[0].Set( wxACCEL_CTRL, int( 'Q' ), wxID_EXIT );
321  wxAcceleratorTable accel( 1, entries );
322  SetAcceleratorTable( accel );
323 }

Referenced by FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME().

◆ InstallPreferences()

virtual void EDA_BASE_FRAME::InstallPreferences ( PAGED_DIALOG ,
PANEL_HOTKEYS_EDITOR  
)
inlinevirtualinherited

Function InstallPreferences Allow a frame to load its preference panels (if any) into the preferences dialog.

Parameters
aParenta paged dialog into which the preference panels should be installed

Reimplemented in SCH_EDIT_FRAME, PCB_EDIT_FRAME, GERBVIEW_FRAME, LIB_EDIT_FRAME, FOOTPRINT_EDIT_FRAME, and KICAD_MANAGER_FRAME.

Definition at line 319 of file eda_base_frame.h.

319 { }

Referenced by EDA_BASE_FRAME::OnPreferences().

◆ 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.

Reimplemented in PCB_EDIT_FRAME, and SCH_EDIT_FRAME.

Definition at line 182 of file eda_base_frame.h.

182 { return false; }

Referenced by EDA_BASE_FRAME::ProcessEvent().

◆ IsContentModified()

bool EDA_BASE_FRAME::IsContentModified ( )
virtualinherited

Get if the contents of the frame have been modified since the last save.

Returns
true if the contents of the frame have not been saved

Reimplemented in SCH_EDIT_FRAME, PCB_EDIT_FRAME, CVPCB_MAINFRAME, LIB_EDIT_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 798 of file eda_base_frame.cpp.

799 {
800  // This function should be overridden in child classes
801  return false;
802 }

◆ IsCurrentTool()

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

Definition at line 276 of file eda_base_frame.cpp.

277 {
278  if( m_toolStack.empty() )
279  return &aAction == &ACTIONS::selectionTool;
280  else
281  return m_toolStack.back() == aAction.GetName();
282 }
std::vector< std::string > m_toolStack
static TOOL_ACTION selectionTool
Definition: actions.h:143
const std::string & GetName() const
Function GetName() Returns name of the action.
Definition: tool_action.h:78

References TOOL_ACTION::GetName(), EDA_BASE_FRAME::m_toolStack, and ACTIONS::selectionTool.

Referenced by PCB_INSPECTION_TOOL::HighlightNetTool(), SCH_EDIT_TOOL::Init(), PCB_EDITOR_CONTROL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), DISPLAY_FOOTPRINTS_FRAME::SyncToolbars(), and LIB_EDIT_FRAME::SyncToolbars().

◆ IsDismissed()

bool KIWAY_PLAYER::IsDismissed ( )
inherited

Function IsDismissed returns false only if both the frame is acting in modal mode and it has not been dismissed yet with DismissModal().

IOW, it will return true if the dialog is not modal or if it is modal and has been dismissed.

Definition at line 154 of file kiway_player.cpp.

155 {
156  return !m_modal_loop;
157 }
WX_EVENT_LOOP * m_modal_loop
Definition: kiway_player.h:189

References KIWAY_PLAYER::m_modal_loop.

Referenced by LIB_VIEW_FRAME::OnCloseWindow(), FOOTPRINT_VIEWER_FRAME::OnCloseWindow(), and FOOTPRINT_WIZARD_FRAME::OnCloseWindow().

◆ IsGridVisible()

◆ IsModal()

◆ IsType()

bool EDA_BASE_FRAME::IsType ( FRAME_T  aType) const
inlineinherited

Definition at line 292 of file eda_base_frame.h.

292 { return m_Ident == aType; }

References EDA_BASE_FRAME::m_Ident.

Referenced by LIB_CONTROL::AddLibrary(), PCBNEW_CONTROL::AddLibrary(), LIB_CONTROL::AddSymbol(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), BOARD_COMMIT::BOARD_COMMIT(), EDA_3D_VIEWER::CreateMenuBar(), LIB_CONTROL::CutCopyDelete(), DIALOG_KEEPOUT_AREA_PROPERTIES::DIALOG_KEEPOUT_AREA_PROPERTIES(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), KIGFX::SCH_VIEW::DisplaySheet(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), LIB_CONTROL::DuplicateSymbol(), LIB_CONTROL::EditSymbol(), LIB_CONTROL::ExportSymbol(), LIB_CONTROL::Init(), DIALOG_EDIT_ONE_FIELD::init(), SELECTION_TOOL::Init(), DIALOG_PAD_PROPERTIES::initValues(), PICKER_TOOL::Main(), LIB_CONTROL::OnDeMorgan(), PCB_LAYER_WIDGET::OnRenderEnable(), PCBNEW_CONTROL::Paste(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), LIB_CONTROL::Revert(), EE_INSPECTION_TOOL::RunERC(), LIB_CONTROL::Save(), PCBNEW_CONTROL::Show3DViewer(), LIB_CONTROL::ShowComponentTree(), EE_INSPECTION_TOOL::ShowDatasheet(), and COMMON_TOOLS::ZoomFitScreen().

◆ IsWritable()

bool EDA_BASE_FRAME::IsWritable ( const wxFileName &  aFileName)
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.
Returns
False if aFileName cannot be written.

Definition at line 691 of file eda_base_frame.cpp.

692 {
693  wxString msg;
694  wxFileName fn = aFileName;
695 
696  // Check for absence of a file path with a file name. Unfortunately KiCad
697  // uses paths relative to the current project path without the ./ part which
698  // confuses wxFileName. Making the file name path absolute may be less than
699  // elegant but it solves the problem.
700  if( fn.GetPath().IsEmpty() && fn.HasName() )
701  fn.MakeAbsolute();
702 
703  wxCHECK_MSG( fn.IsOk(), false,
704  wxT( "File name object is invalid. Bad programmer!" ) );
705  wxCHECK_MSG( !fn.GetPath().IsEmpty(), false,
706  wxT( "File name object path <" ) + fn.GetFullPath() +
707  wxT( "> is not set. Bad programmer!" ) );
708 
709  if( fn.IsDir() && !fn.IsDirWritable() )
710  {
711  msg.Printf( _( "You do not have write permissions to folder \"%s\"." ),
712  GetChars( fn.GetPath() ) );
713  }
714  else if( !fn.FileExists() && !fn.IsDirWritable() )
715  {
716  msg.Printf( _( "You do not have write permissions to save file \"%s\" to folder \"%s\"." ),
717  GetChars( fn.GetFullName() ), GetChars( fn.GetPath() ) );
718  }
719  else if( fn.FileExists() && !fn.IsFileWritable() )
720  {
721  msg.Printf( _( "You do not have write permissions to save file \"%s\"." ),
722  GetChars( fn.GetFullPath() ) );
723  }
724 
725  if( !msg.IsEmpty() )
726  {
727  wxMessageBox( msg );
728  return false;
729  }
730 
731  return true;
732 }
static const wxChar * GetChars(const wxString &s)
Function GetChars returns a wxChar* to the actual wxChar* data within a wxString, and is helpful for ...
Definition: macros.h:101
#define _(s)
Definition: 3d_actions.cpp:31

References _, and GetChars().

Referenced by SCH_EDIT_FRAME::doAutoSave(), SCH_EDIT_FRAME::SaveEEFile(), LIB_EDIT_FRAME::saveLibrary(), PCB_EDIT_FRAME::SavePcbCopy(), PCB_EDIT_FRAME::SavePcbFile(), CVPCB_MAINFRAME::SaveProjectFile(), and SCH_EDIT_FRAME::SaveProjectSettings().

◆ Kiway()

KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns 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 56 of file kiway_holder.h.

57  {
58  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
59  return *m_kiway;
60  }
KIWAY * m_kiway
Definition: kiway_holder.h:81

References KIWAY_HOLDER::m_kiway.

Referenced by TREEPROJECT_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_CONTROL::AddSymbolToSchematic(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), SCH_EDIT_FRAME::CreateScreens(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), CVPCB_MAINFRAME::DisplayStatus(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), EDIT_TOOL::EditFpInFpEditor(), SCH_EDIT_FRAME::EditSheet(), SCH_EDITOR_CONTROL::EditWithLibEdit(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), LIB_MANAGER::GetBufferedPart(), LIB_MANAGER::getLibraryBuffer(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::InitSheet(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), CVPCB_MAINFRAME::LoadFootprintFiles(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadSheetFromFile(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), KICAD_MANAGER_FRAME::OnCloseWindow(), SCH_EDIT_FRAME::OnCloseWindow(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), LIB_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), KICAD_MANAGER_FRAME::OnImportEagleFiles(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), KIWAY_HOLDER::Prj(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SelectComponentFromLibBrowser(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), FOOTPRINT_EDIT_FRAME::SetPlotSettings(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::UpdatePart(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ kiway_express()

void KIWAY_PLAYER::kiway_express ( KIWAY_EXPRESS aEvent)
protectedinherited

event handler, routes to derivative specific virtual KiwayMailIn()

Definition at line 175 of file kiway_player.cpp.

176 {
177  // logging support
178  KiwayMailIn( aEvent ); // call the virtual, override in derived.
179 }
virtual void KiwayMailIn(KIWAY_EXPRESS &aEvent)
Function KiwayMailIn receives KIWAY_EXPRESS messages from other players.

References KIWAY_PLAYER::KiwayMailIn().

◆ KiwayMailIn()

void KIWAY_PLAYER::KiwayMailIn ( KIWAY_EXPRESS aEvent)
virtualinherited

Function KiwayMailIn receives KIWAY_EXPRESS messages from other players.

Merely override it in derived classes.

Reimplemented in LIB_EDIT_FRAME, SCH_EDIT_FRAME, FOOTPRINT_EDIT_FRAME, PCB_EDIT_FRAME, and CVPCB_MAINFRAME.

Definition at line 69 of file kiway_player.cpp.

70 {
71  // override this in derived classes.
72 }

Referenced by KIWAY_PLAYER::kiway_express(), and KIWAY::ProcessEvent().

◆ language_change()

void KIWAY_PLAYER::language_change ( wxCommandEvent &  event)
protectedinherited

Function language_change is an event handler called on a language menu selection.

Definition at line 182 of file kiway_player.cpp.

183 {
184  int id = event.GetId();
185 
186  // tell all the KIWAY_PLAYERs about the language change.
187  Kiway().SetLanguage( id );
188 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
VTBL_ENTRY void SetLanguage(int aLanguage)
Function SetLanguage changes the language and then calls ShowChangedLanguage() on all KIWAY_PLAYERs.
Definition: kiway.cpp:435

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

◆ LibraryFileBrowser()

bool EDA_DRAW_FRAME::LibraryFileBrowser ( bool  doOpen,
wxFileName &  aFilename,
const wxString &  wildcard,
const wxString &  ext,
bool  isDirectory = false 
)
protectedinherited
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 812 of file eda_draw_frame.cpp.

815 {
816  wxString prompt = doOpen ? _( "Select Library" ) : _( "New Library" );
817  aFilename.SetExt( ext );
818 
819  if( isDirectory && doOpen )
820  {
821  wxDirDialog dlg( this, prompt, Prj().GetProjectPath(),
822  wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST );
823 
824  if( dlg.ShowModal() == wxID_CANCEL )
825  return false;
826 
827  aFilename = dlg.GetPath();
828  aFilename.SetExt( ext );
829  }
830  else
831  {
832  wxFileDialog dlg( this, prompt, Prj().GetProjectPath(), aFilename.GetFullName() ,
833  wildcard, doOpen ? wxFD_OPEN | wxFD_FILE_MUST_EXIST
834  : wxFD_SAVE | wxFD_CHANGE_DIR | wxFD_OVERWRITE_PROMPT );
835 
836  if( dlg.ShowModal() == wxID_CANCEL )
837  return false;
838 
839  aFilename = dlg.GetPath();
840  aFilename.SetExt( ext );
841  }
842 
843  return true;
844 }
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
#define _(s)
Definition: 3d_actions.cpp:31

References _, and KIWAY_HOLDER::Prj().

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_EDIT_FRAME::AddLibraryFile(), and PCB_BASE_EDIT_FRAME::CreateNewLibrary().

◆ LoadCanvasTypeSetting()

EDA_DRAW_PANEL_GAL::GAL_TYPE EDA_DRAW_FRAME::LoadCanvasTypeSetting ( )
inherited

Returns the canvas type stored in the application settings.

Definition at line 618 of file eda_draw_frame.cpp.

619 {
621  wxConfigBase* cfg = Kiface().KifaceSettings();
622 
623  if( cfg )
624  {
625  canvasType = (EDA_DRAW_PANEL_GAL::GAL_TYPE)
627  }
628 
629  if( canvasType < EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE
630  || canvasType >= EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST )
631  {
632  wxASSERT( false );
634  }
635 
636  // Legacy canvas no longer supported. Switch to Cairo, and on the first instantiation
637  // the user will be prompted to switch to OpenGL
638  if( canvasType == EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE )
639  {
640 #ifdef __WXMAC__
641  // Cairo renderer doesn't handle Retina displays
643 #else
645 #endif
646  }
647 
648  return canvasType;
649 }
wxConfigBase * KifaceSettings() const
Definition: kiface_i.h:103
virtual wxString GetCanvasTypeKey()
Sentinel, do not use as a parameter.
GAL not used (the legacy wxDC engine is used)
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.

References EDA_DRAW_PANEL_GAL::GAL_TYPE_CAIRO, EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST, EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE, EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL, EDA_DRAW_FRAME::GetCanvasTypeKey(), Kiface(), and KIFACE_I::KifaceSettings().

Referenced by createCanvas(), FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), and GERBVIEW_FRAME::GERBVIEW_FRAME().

◆ LoadSettings()

void EDA_DRAW_FRAME::LoadSettings ( wxConfigBase *  aCfg)
overridevirtualinherited

Load common frame parameters from a configuration file.

Don't forget to call the base method or your frames won't remember their positions and sizes.

Reimplemented from EDA_BASE_FRAME.

Reimplemented in PCB_EDIT_FRAME, PCB_BASE_FRAME, FOOTPRINT_WIZARD_FRAME, FOOTPRINT_VIEWER_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 460 of file eda_draw_frame.cpp.

461 {
463 
464  wxString baseCfgName = ConfigBaseName();
465  wxConfigBase* cmnCfg = Pgm().CommonSettings();
466 
467  // Read units used in dialogs and toolbars
468  EDA_UNITS unitsTmp;
469 
470  if( aCfg->Read( baseCfgName + UserUnitsEntryKeyword, (int*) &unitsTmp ) )
471  SetUserUnits( unitsTmp );
472  else
474 
475  // Read show/hide grid entry
476  bool btmp;
477  if( aCfg->Read( baseCfgName + ShowGridEntryKeyword, &btmp ) )
478  SetGridVisibility( btmp );
479 
480  aCfg->Read( baseCfgName + LastGridSizeIdKeyword, &m_LastGridSizeId, m_LastGridSizeId );
481 
482  // m_LastGridSizeId is an offset, expected to be >= 0
483  if( m_LastGridSizeId < 0 )
484  m_LastGridSizeId = 0;
485 
486  m_UndoRedoCountMax = aCfg->Read( baseCfgName + MaxUndoItemsEntry,
487  long( DEFAULT_MAX_UNDO_ITEMS ) );
488 
489  aCfg->Read( baseCfgName + FirstRunShownKeyword, &m_firstRunDialogSetting, 0L );
490 
491  m_galDisplayOptions.ReadConfig( *cmnCfg, *aCfg, baseCfgName, this );
492 
493  long tmp;
494  aCfg->Read( FindReplaceFlagsEntry, &tmp, (long) wxFR_DOWN );
495  m_findReplaceData->SetFlags( (wxUint32) tmp & ~FR_REPLACE_ITEM_FOUND );
496  m_findReplaceData->SetFindString( aCfg->Read( FindStringEntry, wxEmptyString ) );
497  m_findReplaceData->SetReplaceString( aCfg->Read( ReplaceStringEntry, wxEmptyString ) );
498 
499  // Load the find and replace string history list.
500  for( int i = 0; i < FR_HISTORY_LIST_CNT; ++i )
501  {
502  wxString tmpHistory;
503  wxString entry;
504  entry.Printf( FindStringHistoryEntry, i );
505  tmpHistory = aCfg->Read( entry, wxEmptyString );
506 
507  if( !tmpHistory.IsEmpty() )
508  m_findStringHistoryList.Add( tmpHistory );
509 
510  entry.Printf( ReplaceStringHistoryEntry, i );
511  tmpHistory = aCfg->Read( entry, wxEmptyString );
512 
513  if( !tmpHistory.IsEmpty() )
514  m_replaceStringHistoryList.Add( tmpHistory );
515  }
516 }
EDA_UNITS
Definition: common.h:72
static const wxChar ReplaceStringHistoryEntry[]
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:98
static const wxString MaxUndoItemsEntry(wxT("DevelMaxUndoItems"))
Integer to set the maximum number of undo items on the stack.
static const wxChar ReplaceStringEntry[]
#define LastGridSizeIdKeyword
Most recently used grid size (suffix)
wxString ConfigBaseName()
wxArrayString m_findStringHistoryList
#define DEFAULT_MAX_UNDO_ITEMS
static const wxChar FirstRunShownKeyword[]
void ReadConfig(wxConfigBase &aCommonConfig, wxConfigBase &aAppCondfig, const wxString &aBaseCfgName, wxWindow *aWindow)
Read application and common configs.
#define UserUnitsEntryKeyword
User units.
static const wxChar FindReplaceFlagsEntry[]
static const wxChar FindStringHistoryEntry[]
wxArrayString m_replaceStringHistoryList
virtual void LoadSettings(wxConfigBase *aCfg)
Load common frame parameters from a configuration file.
#define FR_HISTORY_LIST_CNT
Maximum size of the find/replace history stacks.
#define ShowGridEntryKeyword
Nonzero to show grid (suffix)
KIGFX::GAL_DISPLAY_OPTIONS m_galDisplayOptions
wxFindReplaceData * m_findReplaceData
void SetUserUnits(EDA_UNITS aUnits)
virtual void SetGridVisibility(bool aVisible)
long m_firstRunDialogSetting
static const wxChar FindStringEntry[]

References EDA_BASE_FRAME::ConfigBaseName(), DEFAULT_MAX_UNDO_ITEMS, FindReplaceFlagsEntry, FindStringEntry, FindStringHistoryEntry, FirstRunShownKeyword, FR_HISTORY_LIST_CNT, FR_REPLACE_ITEM_FOUND, LastGridSizeIdKeyword, EDA_BASE_FRAME::LoadSettings(), EDA_DRAW_FRAME::m_findReplaceData, EDA_DRAW_FRAME::m_findStringHistoryList, EDA_DRAW_FRAME::m_firstRunDialogSetting, EDA_DRAW_FRAME::m_galDisplayOptions, EDA_DRAW_FRAME::m_LastGridSizeId, EDA_DRAW_FRAME::m_replaceStringHistoryList, EDA_DRAW_FRAME::m_UndoRedoCountMax, MaxUndoItemsEntry(), MILLIMETRES, Pgm(), KIGFX::GAL_DISPLAY_OPTIONS::ReadConfig(), ReplaceStringEntry, ReplaceStringHistoryEntry, EDA_DRAW_FRAME::SetGridVisibility(), EDA_BASE_FRAME::SetUserUnits(), ShowGridEntryKeyword, and UserUnitsEntryKeyword.

Referenced by LIB_VIEW_FRAME::LoadSettings(), FOOTPRINT_WIZARD_FRAME::LoadSettings(), LIB_EDIT_FRAME::LoadSettings(), SCH_EDIT_FRAME::LoadSettings(), PCB_BASE_FRAME::LoadSettings(), and GERBVIEW_FRAME::LoadSettings().

◆ LockFile()

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

Mark a schematic file as being in use.

Use ReleaseFile() to undo this.

Parameters
aFileName= full path to the file.
Returns
false if the file was already locked, true otherwise.

Definition at line 201 of file eda_draw_frame.cpp.

202 {
203  m_file_checker = ::LockFile( aFileName );
204 
205  return bool( m_file_checker );
206 }
std::unique_ptr< wxSingleInstanceChecker > m_file_checker
prevents opening same file multiple times.
bool LockFile(const wxString &aFileName)
Mark a schematic file as being in use.

References EDA_DRAW_FRAME::m_file_checker.

Referenced by SCH_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), and SCH_EDIT_FRAME::SaveEEFile().

◆ onAutoSaveTimer()

void EDA_BASE_FRAME::onAutoSaveTimer ( wxTimerEvent &  aEvent)
protectedinherited

Handle the auto save timer event.

Definition at line 343 of file eda_base_frame.cpp.

344 {
345  if( !doAutoSave() )
346  m_autoSaveTimer->Start( m_autoSaveInterval * 1000, wxTIMER_ONE_SHOT );
347 }
virtual bool doAutoSave()
This should be overridden by the derived class to handle the auto save feature.
wxTimer * m_autoSaveTimer

References EDA_BASE_FRAME::doAutoSave(), EDA_BASE_FRAME::m_autoSaveInterval, and EDA_BASE_FRAME::m_autoSaveTimer.

Referenced by EDA_BASE_FRAME::EDA_BASE_FRAME().

◆ OnCharHook()

void EDA_BASE_FRAME::OnCharHook ( wxKeyEvent &  event)
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 FOOTPRINT_VIEWER_FRAME.

Definition at line 356 of file eda_base_frame.cpp.

357 {
358  wxLogTrace( kicadTraceKeyEvent, "EDA_BASE_FRAME::OnCharHook %s", dump( event ) );
359  // Key events can be filtered here.
360  // Currently no filtering is made.
361  event.Skip();
362 }
wxString dump(const wxArrayString &aArray)
Debug helper for printing wxArrayString contents.
const wxChar *const kicadTraceKeyEvent
Flag to enable wxKeyEvent debug tracing.

References dump(), and kicadTraceKeyEvent.

◆ OnGridSettings()

void SCH_BASE_FRAME::OnGridSettings ( wxCommandEvent &  aEvent)
overridevirtual

Reimplemented from EDA_DRAW_FRAME.

Definition at line 84 of file eeschema/dialogs/dialog_set_grid.cpp.

85 {
86  DIALOG_SET_GRID dlg( this );
87 
88  dlg.ShowModal();
89 
91  GetCanvas()->Refresh();
92 }
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
void UpdateStatusBar() override
Update the status bar information.

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

◆ OnKicadAbout()

void EDA_BASE_FRAME::OnKicadAbout ( wxCommandEvent &  event)
inherited

Definition at line 655 of file eda_base_frame.cpp.

656 {
657  void ShowAboutDialog(EDA_BASE_FRAME * aParent); // See AboutDialog_main.cpp
658  ShowAboutDialog( this );
659 }
void ShowAboutDialog(EDA_BASE_FRAME *aParent)
The base frame for deriving all KiCad main window classes.

References ShowAboutDialog().

◆ OnMenuOpen()

void EDA_BASE_FRAME::OnMenuOpen ( wxMenuEvent &  event)
inherited

Workaround some issues in wxWidgets where the menu events aren't captured by the menus themselves.

Definition at line 365 of file eda_base_frame.cpp.

366 {
367  //
368  // wxWidgets has several issues that we have to work around:
369  //
370  // 1) wxWidgets 3.0.x Windows has a bug where wxEVT_MENU_OPEN and wxEVT_MENU_HIGHLIGHT
371  // events are not captured by the ACTON_MENU menus. So we forward them here.
372  // (FWIW, this one is fixed in wxWidgets 3.1.x.)
373  //
374  // 2) wxWidgets doesn't pass the menu pointer for wxEVT_MENU_HIGHLIGHT events. So we
375  // store the menu pointer from the wxEVT_MENU_OPEN call.
376  //
377  // 3) wxWidgets has no way to tell whether a command is from a menu selection or a
378  // hotkey. So we keep track of menu highlighting so we can differentiate.
379  //
380 
381  static ACTION_MENU* currentMenu;
382 
383  if( event.GetEventType() == wxEVT_MENU_OPEN )
384  {
385  currentMenu = dynamic_cast<ACTION_MENU*>( event.GetMenu() );
386 
387  if( currentMenu )
388  currentMenu->OnMenuEvent( event );
389  }
390  else if( event.GetEventType() == wxEVT_MENU_HIGHLIGHT )
391  {
392  if( currentMenu )
393  currentMenu->OnMenuEvent( event );
394  }
395  else if( event.GetEventType() == wxEVT_MENU_CLOSE )
396  {
397  if( currentMenu )
398  currentMenu->OnMenuEvent( event );
399 
400  currentMenu = nullptr;
401  }
402 
403  event.Skip();
404 }
ACTION_MENU.
Definition: action_menu.h:43
void OnMenuEvent(wxMenuEvent &aEvent)

References ACTION_MENU::OnMenuEvent().

◆ OnModify()

virtual void SCH_BASE_FRAME::OnModify ( )
inlinevirtual

Must be called after a model change in order to set the "modify" flag and do other frame-specific processing.

Reimplemented in SCH_EDIT_FRAME, and LIB_EDIT_FRAME.

Definition at line 340 of file sch_base_frame.h.

340 {}

Referenced by EE_POINT_EDITOR::Main().

◆ OnPageSettingsChange()

virtual void EDA_DRAW_FRAME::OnPageSettingsChange ( )
inlinevirtualinherited

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 in SCH_EDIT_FRAME.

Definition at line 395 of file eda_draw_frame.h.

395 {}

Referenced by DIALOG_PAGES_SETTINGS::OnOkClick().

◆ OnPreferences()

void EDA_BASE_FRAME::OnPreferences ( wxCommandEvent &  event)
inherited

Definition at line 662 of file eda_base_frame.cpp.

663 {
664  PAGED_DIALOG dlg( this, _( "Preferences" ) );
665  wxTreebook* book = dlg.GetTreebook();
666 
667  book->AddPage( new PANEL_COMMON_SETTINGS( &dlg, book ), _( "Common" ) );
668 
669  PANEL_HOTKEYS_EDITOR* hotkeysPanel = new PANEL_HOTKEYS_EDITOR( this, book, false );
670  book->AddPage( hotkeysPanel, _( "Hotkeys" ) );
671 
672  for( unsigned i = 0; i < KIWAY_PLAYER_COUNT; ++i )
673  {
674  KIWAY_PLAYER* frame = dlg.Kiway().Player( (FRAME_T) i, false );
675 
676  if( frame )
677  frame->InstallPreferences( &dlg, hotkeysPanel );
678  }
679 
680  // The Kicad manager frame is not a player so we have to add it by hand
681  wxWindow* manager = wxFindWindowByName( KICAD_MANAGER_FRAME_NAME );
682 
683  if( manager )
684  static_cast<EDA_BASE_FRAME*>( manager )->InstallPreferences( &dlg, hotkeysPanel );
685 
686  if( dlg.ShowModal() == wxID_OK )
687  dlg.Kiway().CommonSettingsChanged( false );
688 }
KIWAY_PLAYER is a wxFrame capable of the OpenProjectFiles function, meaning it can load a portion of ...
Definition: kiway_player.h:59
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
FRAME_T
Enum FRAME_T is the set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
Definition: frame_type.h:34
VTBL_ENTRY KIWAY_PLAYER * Player(FRAME_T aFrameType, bool doCreate=true, wxTopLevelWindow *aParent=NULL)
Function Player returns the KIWAY_PLAYER* given a FRAME_T.
Definition: kiway.cpp:341
#define KICAD_MANAGER_FRAME_NAME
#define _(s)
Definition: 3d_actions.cpp:31
virtual void InstallPreferences(PAGED_DIALOG *, PANEL_HOTKEYS_EDITOR *)
Function InstallPreferences Allow a frame to load its preference panels (if any) into the preferences...

References _, KIWAY::CommonSettingsChanged(), PAGED_DIALOG::GetTreebook(), EDA_BASE_FRAME::InstallPreferences(), KICAD_MANAGER_FRAME_NAME, KIWAY_HOLDER::Kiway(), KIWAY_PLAYER_COUNT, and KIWAY::Player().

◆ OnSelectGrid()

void EDA_DRAW_FRAME::OnSelectGrid ( wxCommandEvent &  event)
virtualinherited

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
event- Command event passed by selecting grid size from the grid size combobox on the toolbar.

Definition at line 284 of file eda_draw_frame.cpp.

285 {
286  wxCHECK_RET( m_gridSelectBox, "m_gridSelectBox uninitialized" );
287 
288  int id = m_gridSelectBox->GetCurrentSelection() + ID_POPUP_GRID_FIRST;
289 
290  if( id == ID_POPUP_GRID_SEPARATOR )
291  {
292  // wxWidgets will check the separator, which we don't want.
293  // Re-check the current grid.
294  wxUpdateUIEvent dummy;
296  }
297  else if( id == ID_POPUP_GRID_SETTINGS )
298  {
299  // wxWidgets will check the Grid Settings... entry, which we don't want.
300  // R-check the current grid.
301  wxUpdateUIEvent dummy;
303  // Now run the Grid Settings... dialog
304  wxCommandEvent dummy2;
305  OnGridSettings( dummy2 );
306  }
307  else if( id >= ID_POPUP_GRID_FIRST && id < ID_POPUP_GRID_SEPARATOR )
308  {
310  }
311 
312  UpdateStatusBar();
313  m_canvas->Refresh();
314 }
virtual void OnGridSettings(wxCommandEvent &event)
bool RunAction(const std::string &aActionName, bool aNow=false, T aParam=NULL)
Function RunAction() Runs the specified action.
Definition: tool_manager.h:109
wxChoice * m_gridSelectBox
EDA_DRAW_PANEL_GAL * m_canvas
GAL display options - this is the frame's interface to setting GAL display options.
static TOOL_ACTION gridPreset
Definition: actions.h:131
void OnUpdateSelectGrid(wxUpdateUIEvent &aEvent)
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
static LIB_PART * dummy()
Used to draw a dummy shape when a LIB_PART is not found in library.
TOOL_MANAGER * m_toolManager
void UpdateStatusBar() override
Update the status bar information.

References dummy(), ACTIONS::gridPreset, ID_POPUP_GRID_FIRST, ID_POPUP_GRID_SEPARATOR, ID_POPUP_GRID_SETTINGS, EDA_DRAW_FRAME::m_canvas, EDA_DRAW_FRAME::m_gridSelectBox, EDA_BASE_FRAME::m_toolManager, EDA_DRAW_FRAME::OnGridSettings(), EDA_DRAW_FRAME::OnUpdateSelectGrid(), EDA_DRAW_PANEL_GAL::Refresh(), TOOL_MANAGER::RunAction(), 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 329 of file eda_draw_frame.cpp.

330 {
331  wxCHECK_RET( m_zoomSelectBox, "m_zoomSelectBox uninitialized" );
332 
333  int id = m_zoomSelectBox->GetCurrentSelection();
334 
335  if( id < 0 || !( id < (int)m_zoomSelectBox->GetCount() ) )
336  return;
337 
338  m_toolManager->RunAction( "common.Control.zoomPreset", true, id );
339  UpdateStatusBar();
340  m_canvas->Refresh();
341 }
bool RunAction(const std::string &aActionName, bool aNow=false, T aParam=NULL)
Function RunAction() Runs the specified action.
Definition: tool_manager.h:109
EDA_DRAW_PANEL_GAL * m_canvas
GAL display options - this is the frame's interface to setting GAL display options.
wxChoice * m_zoomSelectBox
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
TOOL_MANAGER * m_toolManager
void UpdateStatusBar() override
Update the status bar information.

References EDA_DRAW_FRAME::m_canvas, EDA_BASE_FRAME::m_toolManager, EDA_DRAW_FRAME::m_zoomSelectBox, EDA_DRAW_PANEL_GAL::Refresh(), TOOL_MANAGER::RunAction(), and EDA_DRAW_FRAME::UpdateStatusBar().

◆ OnSize()

void EDA_DRAW_FRAME::OnSize ( wxSizeEvent &  event)
virtualinherited

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

Reimplemented in FOOTPRINT_VIEWER_FRAME, FOOTPRINT_WIZARD_FRAME, and LIB_VIEW_FRAME.

Definition at line 432 of file eda_draw_frame.cpp.

433 {
434  m_FrameSize = GetClientSize( );
435 
436  SizeEv.Skip();
437 }

References EDA_BASE_FRAME::m_FrameSize.

◆ OnSockRequest()

void EDA_DRAW_FRAME::OnSockRequest ( wxSocketEvent &  evt)
inherited

Definition at line 71 of file eda_dde.cpp.

72 {
73  size_t len;
74  wxSocketBase* sock = evt.GetSocket();
75 
76  switch( evt.GetSocketEvent() )
77  {
78  case wxSOCKET_INPUT:
79  sock->Read( client_ipc_buffer, 1 );
80 
81  if( sock->LastCount() == 0 )
82  break; // No data, occurs on opening connection
83 
84  sock->Read( client_ipc_buffer + 1, IPC_BUF_SIZE - 2 );
85  len = 1 + sock->LastCount();
86  client_ipc_buffer[len] = 0;
88  break;
89 
90  case wxSOCKET_LOST:
91  return;
92  break;
93 
94  default:
95  wxPrintf( wxT( "EDA_DRAW_FRAME::OnSockRequest() error: Invalid event !" ) );
96  break;
97  }
98 }
#define IPC_BUF_SIZE
Definition: eda_dde.cpp:39
static char client_ipc_buffer[IPC_BUF_SIZE]
Definition: eda_dde.cpp:40
virtual void ExecuteRemoteCommand(const char *cmdline)
Execute a remote command send via a socket to the application, port KICAD_PCB_PORT_SERVICE_NUMBER (cu...

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

◆ OnSockRequestServer()

void EDA_DRAW_FRAME::OnSockRequestServer ( wxSocketEvent &  evt)
inherited

Definition at line 103 of file eda_dde.cpp.

104 {
105  wxSocketBase* socket;
106  wxSocketServer* server = (wxSocketServer*) evt.GetSocket();
107 
108  socket = server->Accept();
109 
110  if( socket == NULL )
111  return;
112 
113  m_sockets.push_back( socket );
114 
115  socket->Notify( true );
116  socket->SetEventHandler( *this, ID_EDA_SOCKET_EVENT );
117  socket->SetNotify( wxSOCKET_INPUT_FLAG | wxSOCKET_LOST_FLAG );
118 }
std::vector< wxSocketBase * > m_sockets
interprocess communication
#define NULL

References ID_EDA_SOCKET_EVENT, EDA_DRAW_FRAME::m_sockets, and NULL.

◆ OnUpdateSelectGrid()

void EDA_DRAW_FRAME::OnUpdateSelectGrid ( wxUpdateUIEvent &  aEvent)
inherited

Definition at line 252 of file eda_draw_frame.cpp.

253 {
254  // No need to update the grid select box if it doesn't exist or the grid setting change
255  // was made using the select box.
256  if( m_gridSelectBox == NULL )
257  return;
258 
259  int select = wxNOT_FOUND;
260 
261  for( size_t i = 0; i < GetScreen()->GetGridCount(); i++ )
262  {
263  if( GetScreen()->GetGridCmdId() == GetScreen()->GetGrid( i ).m_CmdId )
264  {
265  select = (int) i;
266  break;
267  }
268  }
269 
270  if( select != m_gridSelectBox->GetSelection() )
271  m_gridSelectBox->SetSelection( select );
272 }
const GRID_TYPE & GetGrid() const
Return the grid object of the currently selected grid.
Definition: base_screen.h:286
wxChoice * m_gridSelectBox
#define NULL
size_t GetGridCount() const
Function GetGridCount().
Definition: base_screen.h:324
int m_CmdId
Definition: base_screen.h:46
int GetGridCmdId() const
Return the command ID of the currently selected grid.
Definition: base_screen.h:272
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.

References BASE_SCREEN::GetGrid(), BASE_SCREEN::GetGridCmdId(), BASE_SCREEN::GetGridCount(), EDA_DRAW_FRAME::GetScreen(), GRID_TYPE::m_CmdId, EDA_DRAW_FRAME::m_gridSelectBox, and NULL.

Referenced by COMMON_TOOLS::GridPreset(), and EDA_DRAW_FRAME::OnSelectGrid().

◆ OpenProjectFiles()

virtual bool KIWAY_PLAYER::OpenProjectFiles ( const std::vector< wxString > &  aFileList,
int  aCtl = 0 
)
inlinevirtualinherited

Function OpenProjectFiles is abstract, and opens 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 implementor 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
bool - true if all requested files were opened OK, else false.

Reimplemented in PCB_EDIT_FRAME, SCH_EDIT_FRAME, FOOTPRINT_EDIT_FRAME, GERBVIEW_FRAME, CVPCB_MAINFRAME, and BM2CMP_FRAME.

Definition at line 118 of file kiway_player.h.

119  {
120  // overload me for your wxFrame type.
121 
122  // Any overload should probably do this also:
123  // Prj().MaybeLoadProjectSettings();
124 
125  // Then update the window title.
126 
127  return false;
128  }

Referenced by PCB_EDIT_FRAME::FetchNetlistFromSchematic(), PGM_SINGLE_TOP::MacOpenFile(), PGM_MOCK_EESCHEMA_FRAME::MacOpenFile(), PGM_TEST_FRAME::MacOpenFile(), SCH_EDIT_FRAME::OnOpenPcbnew(), PGM_SINGLE_TOP::OnPgmInit(), SCH_EDIT_FRAME::OnUpdatePCB(), and PCB_EDIT_FRAME::RunEeschema().

◆ PopTool()

void EDA_BASE_FRAME::PopTool ( const std::string &  actionName)
virtualinherited

Definition at line 229 of file eda_base_frame.cpp.

230 {
231  // Push/pop events can get out of order (such as when they're generated by the Simulator
232  // frame but not processed until the mouse is back in the Schematic frame), so make sure
233  // we're popping the right stack frame.
234 
235  for( int i = m_toolStack.size() - 1; i >= 0; --i )
236  {
237  if( m_toolStack[ i ] == actionName )
238  {
239  m_toolStack.erase( m_toolStack.begin() + i );
240 
241  // If there's something underneath us, and it's now the top of the stack, then
242  // re-activate it
243  if( ( --i ) >= 0 && i == (int)m_toolStack.size() - 1 )
244  {
245  std::string back = m_toolStack[ i ];
247 
248  if( action )
249  {
250  // Pop the action as running it will push it back onto the stack
251  m_toolStack.pop_back();
252 
253  TOOL_EVENT evt = action->MakeEvent();
254  evt.SetHasPosition( false );
255  GetToolManager()->PostEvent( evt );
256  }
257  }
258  else
260 
261  return;
262  }
263  }
264 }
TOOL_MANAGER * GetToolManager() const
Return the MVC controller.
TOOL_ACTION * FindAction(const std::string &aActionName) const
Function FindAction() Finds an action with a given name (if there is one available).
virtual void DisplayToolMsg(const wxString &msg)
TOOL_EVENT.
Definition: tool_event.h:171
std::vector< std::string > m_toolStack
ACTION_MANAGER * GetActionManager()
Definition: tool_manager.h:163
TOOL_ACTION.
Definition: tool_action.h:46
TOOL_EVENT MakeEvent() const
Function MakeEvent() Returns the event associated with the action (i.e.
Definition: tool_action.h:107
TOOL_MANAGER * m_toolManager
void PostEvent(const TOOL_EVENT &aEvent)
Puts an event to the event queue to be processed at the end of event processing cycle.
Definition: tool_manager.h:237
static TOOL_ACTION selectionTool
Definition: actions.h:143
void SetHasPosition(bool aHasPosition)
Definition: tool_event.h:261

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

Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawSegment(), LIB_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ZOOM_TOOL::Main(), SCH_MOVE_TOOL::Main(), LIB_MOVE_TOOL::Main(), PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), LENGTH_TUNER_TOOL::MainLoop(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::MeasureTool(), GERBVIEW_SELECTION_TOOL::MeasureTool(), EDIT_TOOL::MeasureTool(), EDIT_TOOL::Move(), LIB_DRAWING_TOOLS::PlaceAnchor(), SCH_DRAWING_TOOLS::PlaceComponent(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PCB_EDITOR_CONTROL::PlaceModule(), PCB_EDITOR_CONTROL::PlaceTarget(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), LIB_DRAWING_TOOLS::TwoClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().

◆ PrintMsg()

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

Definition at line 605 of file eda_base_frame.cpp.

606 {
607  SetStatusText( text );
608 }

◆ PrintPage()

void EDA_DRAW_FRAME::PrintPage ( wxDC *  aDC)
virtualinherited

Print the page pointed by current screen, set by the calling print function.

Parameters
aDC= wxDC given by the calling print function

Reimplemented in SCH_EDIT_FRAME, and LIB_EDIT_FRAME.

Definition at line 275 of file eda_draw_frame.cpp.

276 {
277  wxMessageBox( wxT("EDA_DRAW_FRAME::PrintPage() error") );
278 }

◆ PrintWorkSheet()

void EDA_DRAW_FRAME::PrintWorkSheet ( wxDC *  aDC,
BASE_SCREEN aScreen,
int  aLineWidth,
double  aScale,
const wxString &  aFilename,
const wxString &  aSheetLayer = wxEmptyString,
COLOR4D  aColor = COLOR4D::UNSPECIFIED 
)
inherited

Prints the page layout with the frame and the basic inscriptions.

Parameters
aDCThe device context.
aScreenscreen to draw
aLineWidthThe pen width to use to draw the layout.
aScaleThe mils to Iu conversion factor.
aFilenameThe filename to display in basic inscriptions.
aSheetLayerThe layer displayed from pcbnew.

Definition at line 777 of file eda_draw_frame.cpp.

780 {
782  return;
783 
784  COLOR4D color = ( aColor != COLOR4D::UNSPECIFIED ) ? aColor : COLOR4D( RED );
785 
786  wxPoint origin = aDC->GetDeviceOrigin();
787 
788  if( origin.y > 0 )
789  {
790  aDC->SetDeviceOrigin( 0, 0 );
791  aDC->SetAxisOrientation( true, false );
792  }
793 
795  aScreen->m_NumberOfScreens, aScreen->m_ScreenNumber, aLineWidth, aScalar,
796  color, aSheetLayer );
797 
798  if( origin.y > 0 )
799  {
800  aDC->SetDeviceOrigin( origin.x, origin.y );
801  aDC->SetAxisOrientation( true, true );
802  }
803 }
int m_ScreenNumber
Definition: base_screen.h:135
virtual const TITLE_BLOCK & GetTitleBlock() const =0
int color
Definition: DXF_plotter.cpp:61
virtual const PAGE_INFO & GetPageSettings() const =0
bool m_showBorderAndTitleBlock
Definition: colors.h:60
int m_NumberOfScreens
Definition: base_screen.h:136
virtual wxString GetScreenDesc() const
COLOR4D is the color representation with 4 components: red, green, blue, alpha.
Definition: color4d.h:39
void PrintPageLayout(wxDC *aDC, const PAGE_INFO &aPageInfo, const wxString &aFullSheetName, const wxString &aFileName, const TITLE_BLOCK &aTitleBlock, int aSheetCount, int aSheetNumber, int aPenWidth, double aScalar, COLOR4D aColor, const wxString &aSheetLayer)
Function PrintPageLayout is a core function to print the page layout with the frame and the basic ins...

References color, EDA_DRAW_FRAME::GetPageSettings(), EDA_DRAW_FRAME::GetScreenDesc(), EDA_DRAW_FRAME::GetTitleBlock(), BASE_SCREEN::m_NumberOfScreens, BASE_SCREEN::m_ScreenNumber, EDA_DRAW_FRAME::m_showBorderAndTitleBlock, PrintPageLayout(), RED, wxPoint::x, and wxPoint::y.

Referenced by SCH_PRINTOUT::PrintPage(), and SCH_EDIT_FRAME::PrintPage().

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 35 of file kiway_holder.cpp.

36 {
37  return Kiway().Prj();
38 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:171

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

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_MANAGER::addLibrary(), LIB_CONTROL::AddSymbolToSchematic(), SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_BOARD_EDITOR::Cfg3DPath(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), KICAD_MANAGER_FRAME::CreateNewProject(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromLibrary(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PCB_EDIT_FRAME::doAutoSave(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), LIB_CONTROL::ExportSymbolAsSVG(), LIB_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), GetLibPart(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), KICAD_MANAGER_FRAME::GetProjectFileName(), LIB_VIEW_FRAME::GetSelectedSymbol(), FP_THREAD_IFACE::GetTable(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), LIB_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectFile(), CVPCB_MAINFRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), DIALOG_FOOTPRINT_FP_EDITOR::On3DModelCellChanged(), DIALOG_FOOTPRINT_BOARD_EDITOR::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_FOOTPRINT_FP_EDITOR::OnAdd3DModel(), DIALOG_FOOTPRINT_BOARD_EDITOR::OnAdd3DModel(), DIALOG_SCH_SHEET_PROPS::OnBrowseClicked(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), SCH_EDIT_FRAME::OnCloseWindow(), DIALOG_GENDRILL::OnGenReportFile(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_BOM::OnRunGenerator(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_SPICE_MODEL::onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), PANEL_PREV_3D::PANEL_PREV_3D(), SCH_EDITOR_CONTROL::Paste(), MODULE_EDITOR_TOOLS::PasteFootprint(), PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME(), SCH_DRAWING_TOOLS::PlaceComponent(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDIT_FRAME::Print(), SCH_EDIT_FRAME::PrintPage(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SCH_EDIT_FRAME::RescueLegacyProject(), SCH_EDIT_FRAME::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), LIB_EDIT_FRAME::savePartAs(), SCH_EDIT_FRAME::SaveProject(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SelectCompFromLibTree(), PCB_BASE_FRAME::SelectLibrary(), LIB_EDIT_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), KICAD_MANAGER_FRAME::SetProjectFileName(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), LIB_VIEW_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER::takeScreenshot(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataToWindow(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::UpdateFieldsFromLibrary(), SIM_PLOT_FRAME::updateNetlistExporter(), SCH_SCREEN::UpdateSymbolLinks(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::UpdateTitle(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::Validate(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::~DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::~DIALOG_FOOTPRINT_FP_EDITOR(), and PCB_BASE_EDIT_FRAME::~PCB_BASE_EDIT_FRAME().

◆ 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 285 of file eda_base_frame.cpp.

286 {
287 #ifdef __WXMAC__
288  // Apple in its infinite wisdom will raise a disabled window before even passing
289  // us the event, so we have no way to stop it. Instead, we have to catch an
290  // improperly ordered disabled window and quasi-modal dialog here and reorder
291  // them.
292  if( !IsEnabled() && IsActive() )
293  {
294  wxWindow* dlg = findQuasiModalDialog();
295  if( dlg )
296  dlg->Raise();
297  }
298 #endif
299 
300  if( !wxFrame::ProcessEvent( aEvent ) )
301  return false;
302 
303  if( IsShown() && m_hasAutoSave && IsActive() &&
305  {
306  if( !m_autoSaveState )
307  {
308  wxLogTrace( traceAutoSave, wxT( "Starting auto save timer." ) );
309  m_autoSaveTimer->Start( m_autoSaveInterval * 1000, wxTIMER_ONE_SHOT );
310  m_autoSaveState = true;
311  }
312  else if( m_autoSaveTimer->IsRunning() )
313  {
314  wxLogTrace( traceAutoSave, wxT( "Stopping auto save timer." ) );
315  m_autoSaveTimer->Stop();
316  m_autoSaveState = false;
317  }
318  }
319 
320  return true;
321 }
const wxChar *const traceAutoSave
Flag to enable auto save feature debug tracing.
virtual bool isAutoSaveRequired() const
Return the auto save status of the application.
wxTimer * m_autoSaveTimer
wxWindow * findQuasiModalDialog()

References EDA_BASE_FRAME::findQuasiModalDialog(), EDA_BASE_FRAME::isAutoSaveRequired(), EDA_BASE_FRAME::m_autoSaveInterval, EDA_BASE_FRAME::m_autoSaveState, EDA_BASE_FRAME::m_autoSaveTimer, EDA_BASE_FRAME::m_hasAutoSave, and traceAutoSave.

Referenced by COMMON_TOOLS::GridProperties(), LIB_VIEW_FRAME::onSelectNextSymbol(), LIB_VIEW_FRAME::onSelectPreviousSymbol(), KIWAY::ProcessEvent(), and LIB_VIEW_FRAME::ReCreateListCmp().

◆ PushTool()

void EDA_BASE_FRAME::PushTool ( const std::string &  actionName)
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.

Definition at line 212 of file eda_base_frame.cpp.

213 {
214  m_toolStack.push_back( actionName );
215 
216  // Human cognitive stacking is very shallow; deeper tool stacks just get annoying
217  if( m_toolStack.size() > 3 )
218  m_toolStack.erase( m_toolStack.begin() );
219 
220  TOOL_ACTION* action = m_toolManager->GetActionManager()->FindAction( actionName );
221 
222  if( action )
223  DisplayToolMsg( action->GetLabel() );
224  else
225  DisplayToolMsg( actionName );
226 }
TOOL_ACTION * FindAction(const std::string &aActionName) const
Function FindAction() Finds an action with a given name (if there is one available).
virtual void DisplayToolMsg(const wxString &msg)
wxString GetLabel() const
Definition: tool_action.cpp:69
std::vector< std::string > m_toolStack
ACTION_MANAGER * GetActionManager()
Definition: tool_manager.h:163
TOOL_ACTION.
Definition: tool_action.h:46
TOOL_MANAGER * m_toolManager

References EDA_BASE_FRAME::DisplayToolMsg(), ACTION_MANAGER::FindAction(), TOOL_MANAGER::GetActionManager(), TOOL_ACTION::GetLabel(), EDA_BASE_FRAME::m_toolManager, and EDA_BASE_FRAME::m_toolStack.

Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), LIB_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ZOOM_TOOL::Main(), SCH_MOVE_TOOL::Main(), LIB_MOVE_TOOL::Main(), PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), LENGTH_TUNER_TOOL::MainLoop(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::MeasureTool(), GERBVIEW_SELECTION_TOOL::MeasureTool(), EDIT_TOOL::MeasureTool(), EDIT_TOOL::Move(), LIB_DRAWING_TOOLS::PlaceAnchor(), SCH_DRAWING_TOOLS::PlaceComponent(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PCB_EDITOR_CONTROL::PlaceModule(), PCB_EDITOR_CONTROL::PlaceTarget(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), LIB_DRAWING_TOOLS::TwoClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().

◆ ReCreateAuxiliaryToolbar()

virtual void EDA_DRAW_FRAME::ReCreateAuxiliaryToolbar ( )
inlinevirtualinherited

Reimplemented in PCB_EDIT_FRAME, and GERBVIEW_FRAME.

Definition at line 297 of file eda_draw_frame.h.

297 { }

Referenced by PCB_BASE_EDIT_FRAME::unitsChangeRefresh().

◆ ReCreateHToolbar()

◆ ReCreateMenuBar()

void EDA_DRAW_FRAME::ReCreateMenuBar ( )
inlineoverridevirtualinherited

Recreates the menu bar.

Needed when the language is changed

Reimplemented from EDA_BASE_FRAME.

Reimplemented in PCB_EDIT_FRAME, PCB_BASE_FRAME, FOOTPRINT_EDIT_FRAME, and FOOTPRINT_VIEWER_FRAME.

Definition at line 293 of file eda_draw_frame.h.

293 { }

◆ ReCreateOptToolbar()

virtual void EDA_DRAW_FRAME::ReCreateOptToolbar ( )
pure virtualinherited

◆ RecreateToolbars()

void EDA_DRAW_FRAME::RecreateToolbars ( )
inherited

Rebuild all toolbars, and update the checked state of ckeck tools.

Definition at line 847 of file eda_draw_frame.cpp.

848 {
849  // Rebuild all toolbars, and update the checked state of check tools
850  if( m_mainToolBar )
852 
853  if( m_drawToolBar ) // Drawing tools (typically on right edge of window)
855 
856  if( m_optionsToolBar ) // Options (typically on left edge of window)
858 
859  if( m_auxiliaryToolBar ) // Additional tools under main toolbar
861 
862  // Update the checked state of tools
863  SyncToolbars();
864 }
virtual void ReCreateVToolbar()=0
ACTION_TOOLBAR * m_auxiliaryToolBar
ACTION_TOOLBAR * m_optionsToolBar
ACTION_TOOLBAR * m_mainToolBar
virtual void SyncToolbars()
Update the toolbars (mostly settings/check buttons/checkboxes) with the current controller state.
virtual void ReCreateOptToolbar()=0
virtual void ReCreateHToolbar()=0
ACTION_TOOLBAR * m_drawToolBar

References EDA_DRAW_FRAME::m_auxiliaryToolBar, EDA_DRAW_FRAME::m_drawToolBar, EDA_DRAW_FRAME::m_mainToolBar, EDA_DRAW_FRAME::m_optionsToolBar, EDA_DRAW_FRAME::ReCreateHToolbar(), EDA_DRAW_FRAME::ReCreateOptToolbar(), EDA_DRAW_FRAME::ReCreateVToolbar(), and EDA_BASE_FRAME::SyncToolbars().

Referenced by PCB_BASE_FRAME::CommonSettingsChanged(), LIB_EDIT_FRAME::CommonSettingsChanged(), GERBVIEW_FRAME::CommonSettingsChanged(), SCH_EDIT_FRAME::CommonSettingsChanged(), PCB_BASE_FRAME::ShowChangedLanguage(), LIB_EDIT_FRAME::ShowChangedLanguage(), and SCH_EDIT_FRAME::ShowChangedLanguage().

◆ ReCreateVToolbar()

◆ RedrawScreen()

void SCH_BASE_FRAME::RedrawScreen ( const wxPoint aCenterPoint,
bool  aWarpPointer 
)
virtual

Definition at line 282 of file sch_base_frame.cpp.

283 {
284  KIGFX::GAL* gal = GetCanvas()->GetGAL();
285 
286  double selectedZoom = GetScreen()->GetZoom();
287  double zoomFactor = gal->GetWorldScale() / gal->GetZoomFactor();
288  double scale = 1.0 / ( zoomFactor * selectedZoom );
289 
290  if( aCenterPoint != wxPoint( 0, 0 ) )
291  GetCanvas()->GetView()->SetScale( scale, aCenterPoint );
292  else
293  GetCanvas()->GetView()->SetScale( scale );
294 
295  GetCanvas()->GetView()->SetCenter( aCenterPoint );
296 
297  if( aWarpPointer )
299 
300  GetCanvas()->Refresh();
301 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
KIGFX::VIEW_CONTROLS * GetViewControls() const
Function GetViewControls() Returns a pointer to the VIEW_CONTROLS instance used in the panel.
double GetZoom() const
Function GetZoom returns the current "zoom factor", which is a measure of "internal units per device ...
Definition: base_screen.h:240
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
virtual void CenterOnCursor() const =0
Function CenterOnCursor() Sets the viewport center to the current cursor position and warps the curso...
void SetCenter(const VECTOR2D &aCenter)
Function SetCenter() Sets the center point of the VIEW (i.e.
Definition: view.cpp:604
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
KIGFX::GAL * GetGAL() const
Function GetGAL() Returns a pointer to the GAL instance used in the panel.
double GetZoomFactor() const
Get the zoom factor.
void SetScale(double aScale, VECTOR2D aAnchor={ 0, 0 }) override
Function SetScale() Sets the scaling factor, zooming around a given anchor point.
Definition: sch_view.cpp:73
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
const int scale
double GetWorldScale() const
Get the world scale.
Class GAL is the abstract interface for drawing on a 2D-surface.

References KIGFX::VIEW_CONTROLS::CenterOnCursor(), GetCanvas(), EDA_DRAW_PANEL_GAL::GetGAL(), GetScreen(), SCH_DRAW_PANEL::GetView(), EDA_DRAW_PANEL_GAL::GetViewControls(), KIGFX::GAL::GetWorldScale(), BASE_SCREEN::GetZoom(), KIGFX::GAL::GetZoomFactor(), EDA_DRAW_PANEL_GAL::Refresh(), scale, KIGFX::VIEW::SetCenter(), and KIGFX::SCH_VIEW::SetScale().

Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), DIALOG_MIGRATE_BUSES::onItemSelected(), and DIALOG_ERC::OnLeftClickMarkersList().

◆ RefreshCanvas()

void EDA_DRAW_FRAME::RefreshCanvas ( )
inlineoverridevirtualinherited

Notification to refresh the drawing canvas (if any).

Reimplemented from EDA_BASE_FRAME.

Definition at line 494 of file eda_draw_frame.h.

495  {
496  GetCanvas()->Refresh();
497  }
virtual EDA_DRAW_PANEL_GAL * GetCanvas() const
Return a pointer to GAL-based canvas of given EDA draw frame.
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...

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

◆ RefreshItem()

void SCH_BASE_FRAME::RefreshItem ( EDA_ITEM aItem,
bool  isAddOrDelete = false 
)

Mark an item for refresh.

Definition at line 352 of file sch_base_frame.cpp.

353 {
354  EDA_ITEM* parent = aItem->GetParent();
355 
356  if( aItem->Type() == SCH_SHEET_PIN_T )
357  {
358  // Sheet pins aren't in the view. Refresh their parent.
359  if( parent )
360  GetCanvas()->GetView()->Update( parent );
361  }
362  else
363  {
364  if( !isAddOrDelete )
365  GetCanvas()->GetView()->Update( aItem );
366 
367  // Component children are drawn from their parents. Mark them for re-paint.
368  if( parent && parent->Type() == SCH_COMPONENT_T )
369  GetCanvas()->GetView()->Update( parent, KIGFX::REPAINT );
370  }
371 
372  GetCanvas()->Refresh();
373 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
Item is being added to the view.
Definition: view_item.h:60
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
EDA_ITEM * GetParent() const
Definition: base_struct.h:215
virtual void Update(VIEW_ITEM *aItem, int aUpdateFlags)
For dynamic VIEWs, informs the associated VIEW that the graphical representation of this item has cha...
Definition: view.cpp:1540
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
EDA_ITEM is a base class for most all the KiCad significant classes, used in schematics and boards.
Definition: base_struct.h:163
KICAD_T Type() const
Function Type()
Definition: base_struct.h:207

References GetCanvas(), EDA_ITEM::GetParent(), SCH_DRAW_PANEL::GetView(), EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::REPAINT, SCH_COMPONENT_T, SCH_SHEET_PIN_T, EDA_ITEM::Type(), and KIGFX::VIEW::Update().

Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), AddToScreen(), SCH_EDIT_FRAME::BreakSegment(), SCH_EDIT_FRAME::ConvertPart(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_EDIT_TOOL::editComponentFieldText(), LIB_PIN_TOOL::EditPinProperties(), LIB_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), RemoveFromScreen(), LIB_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_EDIT_LINE_STYLE::TransferDataFromWindow(), DIALOG_EDIT_SHEET_PIN::TransferDataFromWindow(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(), and DIALOG_LABEL_EDITOR::TransferDataFromWindow().

◆ RefreshSelection()

void SCH_BASE_FRAME::RefreshSelection ( )

Mark selected items for refresh.

Definition at line 376 of file sch_base_frame.cpp.

377 {
378  if( m_toolManager )
379  {
381  SELECTION& selection = selectionTool->GetSelection();
382  KIGFX::SCH_VIEW* view = GetCanvas()->GetView();
383 
384  for( EDA_ITEM* item : selection )
385  {
386  EDA_ITEM* parent = item->GetParent();
387 
388  if( item->Type() == SCH_SHEET_PIN_T )
389  {
390  // Sheet pins aren't in the view. Refresh their parent.
391  if( parent )
392  GetCanvas()->GetView()->Update( parent );
393  }
394  else
395  {
396  view->Update( item, KIGFX::REPAINT );
397 
398  // Component children are drawn from their parents. Mark them for re-paint.
399  if( parent && parent->Type() == SCH_COMPONENT_T )
400  GetCanvas()->GetView()->Update( parent, KIGFX::REPAINT );
401  }
402  }
403  }
404 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
EE_SELECTION & GetSelection()
Function GetSelection()
Item is being added to the view.
Definition: view_item.h:60
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
EDA_ITEM * GetParent() const
Definition: base_struct.h:215
virtual void Update(VIEW_ITEM *aItem, int aUpdateFlags)
For dynamic VIEWs, informs the associated VIEW that the graphical representation of this item has cha...
Definition: view.cpp:1540
EDA_ITEM is a base class for most all the KiCad significant classes, used in schematics and boards.
Definition: base_struct.h:163
TOOL_MANAGER * m_toolManager
KICAD_T Type() const
Function Type()
Definition: base_struct.h:207

References GetCanvas(), EDA_ITEM::GetParent(), EE_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), SCH_DRAW_PANEL::GetView(), EDA_BASE_FRAME::m_toolManager, KIGFX::REPAINT, SCH_COMPONENT_T, SCH_SHEET_PIN_T, EDA_ITEM::Type(), and KIGFX::VIEW::Update().

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

◆ 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.

196 {
197  m_file_checker = nullptr;
198 }
std::unique_ptr< wxSingleInstanceChecker > m_file_checker
prevents opening same file multiple times.

References EDA_DRAW_FRAME::m_file_checker.

Referenced by PCB_EDIT_FRAME::Clear_Pcb(), PCB_EDIT_FRAME::OpenProjectFiles(), and EDA_DRAW_FRAME::~EDA_DRAW_FRAME().

◆ RemoveFromScreen()

void SCH_BASE_FRAME::RemoveFromScreen ( EDA_ITEM aItem,
SCH_SCREEN aScreen = nullptr 
)

Remove an item from the screen (and view) aScreen is the screen the item is located on, if not the current screen.

Definition at line 424 of file sch_base_frame.cpp.

425 {
426  auto screen = aScreen;
427 
428  if( aScreen == nullptr )
429  screen = GetScreen();
430 
431  if( screen == GetScreen() )
432  GetCanvas()->GetView()->Remove( aItem );
433 
434  screen->Remove( (SCH_ITEM*) aItem );
435 
436  if( screen == GetScreen() )
437  RefreshItem( aItem, true ); // handle any additional parent semantics
438 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
virtual void Remove(VIEW_ITEM *aItem)
Function Remove() Removes a VIEW_ITEM from the view.
Definition: view.cpp:376
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
void RefreshItem(EDA_ITEM *aItem, bool isAddOrDelete=false)
Mark an item for refresh.
SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container class,...
Definition: sch_item.h:136

References GetCanvas(), GetScreen(), SCH_DRAW_PANEL::GetView(), RefreshItem(), and KIGFX::VIEW::Remove().

Referenced by SCH_EDIT_FRAME::ConvertTextType(), SCH_EDIT_FRAME::DeleteJunction(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_EDIT_FRAME::PutDataInPreviousState(), SCH_EDIT_FRAME::SchematicCleanUp(), and SCH_EDIT_FRAME::TrimWire().

◆ RemoveShutdownBlockReason()

void EDA_BASE_FRAME::RemoveShutdownBlockReason ( )
inherited

Removes any shutdown block reason set.

Definition at line 184 of file eda_base_frame.cpp.

185 {
186 #if defined( _WIN32 )
187  // Windows: Destroys any block reason that may have existed
188  ShutdownBlockReasonDestroy( GetHandle() );
189 #endif
190 }

Referenced by EDA_BASE_FRAME::~EDA_BASE_FRAME().

◆ saveCanvasTypeSetting()

bool EDA_DRAW_FRAME::saveCanvasTypeSetting ( EDA_DRAW_PANEL_GAL::GAL_TYPE  aCanvasType)
protectedinherited

Stores the canvas type in the application settings.

Definition at line 652 of file eda_draw_frame.cpp.

653 {
654  // Not all classes derived from EDA_DRAW_FRAME can save the canvas type, because some
655  // have a fixed type, or do not have a option to set the canvas type (they inherit from
656  // a parent frame)
657  FRAME_T allowed_frames[] =
658  {
659  FRAME_SCH,
662  };
663 
664  bool allow_save = false;
665 
666  for( unsigned ii = 0; ii < arrayDim( allowed_frames ); ii++ )
667  {
668  if( m_Ident == allowed_frames[ii] )
669  {
670  allow_save = true;
671  break;
672  }
673  }
674 
675  if( !allow_save )
676  return false;
677 
678  if( aCanvasType < EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE
679  || aCanvasType >= EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST )
680  {
681  wxASSERT( false );
682  return false;
683  }
684 
685  wxConfigBase* cfg = Kiface().KifaceSettings();
686 
687  if( cfg )
688  return cfg->Write( GetCanvasTypeKey(), (long) aCanvasType );
689 
690  return false;
691 }
FRAME_T
Enum FRAME_T is the set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
Definition: frame_type.h:34
wxConfigBase * KifaceSettings() const
Definition: kiface_i.h:103
virtual wxString GetCanvasTypeKey()
Sentinel, do not use as a parameter.
GAL not used (the legacy wxDC engine is used)
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
constexpr std::size_t arrayDim(T const (&)[N]) noexcept
Definition: macros.h:108

References arrayDim(), FRAME_FOOTPRINT_EDITOR, FRAME_GERBER, FRAME_PCB_EDITOR, FRAME_SCH, EDA_DRAW_PANEL_GAL::GAL_TYPE_LAST, EDA_DRAW_PANEL_GAL::GAL_TYPE_NONE, EDA_DRAW_FRAME::GetCanvasTypeKey(), Kiface(), KIFACE_I::KifaceSettings(), and EDA_BASE_FRAME::m_Ident.

Referenced by GERBVIEW_FRAME::GERBVIEW_FRAME(), and EDA_DRAW_FRAME::~EDA_DRAW_FRAME().

◆ SaveProjectSettings()

virtual void EDA_BASE_FRAME::SaveProjectSettings ( bool  aAskForSave)
inlinevirtualinherited

Save changes to the project settings to the project (.pro) file.

The method is virtual so you can override it to call the suitable save method. The base method do nothing

Parameters
aAskForSave= true to open a dialog before saving the settings

Reimplemented in PCB_EDIT_FRAME, and SCH_EDIT_FRAME.

Definition at line 358 of file eda_base_frame.h.

358 {};

Referenced by DIALOG_PAGES_SETTINGS::OnOkClick().

◆ SaveSettings()

void EDA_DRAW_FRAME::SaveSettings ( wxConfigBase *  aCfg)
overridevirtualinherited

Saves common frame parameters to a configuration data file.

Don't forget to call the base class's SaveSettings() from your derived SaveSettings() otherwise the frames won't remember their positions and sizes.

Reimplemented from EDA_BASE_FRAME.

Reimplemented in PCB_EDIT_FRAME, PCB_BASE_FRAME, FOOTPRINT_WIZARD_FRAME, FOOTPRINT_VIEWER_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 519 of file eda_draw_frame.cpp.

520 {
522 
523  wxString baseCfgName = ConfigBaseName();
524 
525  aCfg->Write( baseCfgName + UserUnitsEntryKeyword, (int) m_userUnits );
526  aCfg->Write( baseCfgName + ShowGridEntryKeyword, IsGridVisible() );
527  aCfg->Write( baseCfgName + LastGridSizeIdKeyword, ( long ) m_LastGridSizeId );
528  aCfg->Write( baseCfgName + FirstRunShownKeyword, m_firstRunDialogSetting );
529 
530  if( GetScreen() )
531  aCfg->Write( baseCfgName + MaxUndoItemsEntry, long( GetScreen()->GetMaxUndoItems() ) );
532 
533  m_galDisplayOptions.WriteConfig( *aCfg, baseCfgName );
534 
535  // Save find dialog session setting.
536  aCfg->Write( FindReplaceFlagsEntry, (long) m_findReplaceData->GetFlags() );
537  aCfg->Write( FindStringEntry, m_findReplaceData->GetFindString() );
538  aCfg->Write( ReplaceStringEntry, m_findReplaceData->GetReplaceString() );
539 
540  // Save the find and replace string history list.
541  unsigned i;
542  wxString tmpHistory;
543  wxString entry; // invoke constructor outside of any loops
544 
545  for( i = 0; i < m_findStringHistoryList.GetCount() && i < FR_HISTORY_LIST_CNT; i++ )
546  {
547  entry.Printf( FindStringHistoryEntry, i );
548  aCfg->Write( entry, m_findStringHistoryList[ i ] );
549  }
550 
551  for( i = 0; i < m_replaceStringHistoryList.GetCount() && i < FR_HISTORY_LIST_CNT; i++ )
552  {
553  entry.Printf( ReplaceStringHistoryEntry, i );
554  aCfg->Write( entry, m_replaceStringHistoryList[ i ] );
555  }
556 }
static const wxChar ReplaceStringHistoryEntry[]
static const wxString MaxUndoItemsEntry(wxT("DevelMaxUndoItems"))
Integer to set the maximum number of undo items on the stack.
static const wxChar ReplaceStringEntry[]
#define LastGridSizeIdKeyword
Most recently used grid size (suffix)
virtual bool IsGridVisible() const
virtual void SaveSettings(wxConfigBase *aCfg)
Saves common frame parameters to a configuration data file.
wxString ConfigBaseName()
wxArrayString m_findStringHistoryList
static const wxChar FirstRunShownKeyword[]
#define UserUnitsEntryKeyword
User units.
static const wxChar FindReplaceFlagsEntry[]
static const wxChar FindStringHistoryEntry[]
wxArrayString m_replaceStringHistoryList
void WriteConfig(wxConfigBase &aCfg, const wxString &aBaseName)
#define FR_HISTORY_LIST_CNT
Maximum size of the find/replace history stacks.
#define ShowGridEntryKeyword
Nonzero to show grid (suffix)
KIGFX::GAL_DISPLAY_OPTIONS m_galDisplayOptions
EDA_UNITS m_userUnits
wxFindReplaceData * m_findReplaceData
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.
long m_firstRunDialogSetting
static const wxChar FindStringEntry[]

References EDA_BASE_FRAME::ConfigBaseName(), FindReplaceFlagsEntry, FindStringEntry, FindStringHistoryEntry, FirstRunShownKeyword, FR_HISTORY_LIST_CNT, EDA_DRAW_FRAME::GetScreen(), EDA_DRAW_FRAME::IsGridVisible(), LastGridSizeIdKeyword, EDA_DRAW_FRAME::m_findReplaceData, EDA_DRAW_FRAME::m_findStringHistoryList, EDA_DRAW_FRAME::m_firstRunDialogSetting, EDA_DRAW_FRAME::m_galDisplayOptions, EDA_DRAW_FRAME::m_LastGridSizeId, EDA_DRAW_FRAME::m_replaceStringHistoryList, EDA_BASE_FRAME::m_userUnits, MaxUndoItemsEntry(), ReplaceStringEntry, ReplaceStringHistoryEntry, EDA_BASE_FRAME::SaveSettings(), ShowGridEntryKeyword, UserUnitsEntryKeyword, and KIGFX::GAL_DISPLAY_OPTIONS::WriteConfig().

Referenced by LIB_VIEW_FRAME::SaveSettings(), FOOTPRINT_WIZARD_FRAME::SaveSettings(), LIB_EDIT_FRAME::SaveSettings(), SCH_EDIT_FRAME::SaveSettings(), PCB_BASE_FRAME::SaveSettings(), and GERBVIEW_FRAME::SaveSettings().

◆ saveSymbolLibTables()

bool SCH_BASE_FRAME::saveSymbolLibTables ( bool  aGlobal,
bool  aProject 
)
protected

Saves Symbol Library Tables to disk.

Parameters
aGlobalwhen true, the Global Table is saved.
aProjectwhen true, the Project Table is saved.
Returns
True when all requested actions succeeded.

Definition at line 243 of file sch_base_frame.cpp.

244 {
245  wxString msg;
246  bool success = true;
247 
248  if( aGlobal )
249  {
250  try
251  {
253  }
254  catch( const IO_ERROR& ioe )
255  {
256  success = false;
257  msg.Printf( _( "Error saving global symbol library table:\n%s" ), ioe.What() );
258  wxMessageBox( msg, _( "File Save Error" ), wxOK | wxICON_ERROR );
259  }
260  }
261 
262  if( aProject && !Prj().GetProjectName().IsEmpty() )
263  {
264  wxFileName fn( Prj().GetProjectPath(), SYMBOL_LIB_TABLE::GetSymbolLibTableFileName() );
265 
266  try
267  {
268  Prj().SchSymbolLibTable()->Save( fn.GetFullPath() );
269  }
270  catch( const IO_ERROR& ioe )
271  {
272  success = false;
273  msg.Printf( _( "Error saving project-specific symbol library table:\n%s" ), ioe.What() );
274  wxMessageBox( msg, _( "File Save Error" ), wxOK | wxICON_ERROR );
275  }
276  }
277 
278  return success;
279 }
static const wxString & GetSymbolLibTableFileName()
static SYMBOL_LIB_TABLE & GetGlobalLibTable()
virtual const wxString What() const
A composite of Problem() and Where()
Definition: exceptions.cpp:33
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
#define _(s)
Definition: 3d_actions.cpp:31
void Save(const wxString &aFileName) const
Write this library table to aFileName in s-expression form.
Struct IO_ERROR is a class used to hold an error message and may be used when throwing exceptions con...
Definition: ki_exception.h:76
static wxString GetGlobalTableFileName()
Fetch the global symbol library table file name.

References _, SYMBOL_LIB_TABLE::GetGlobalLibTable(), SYMBOL_LIB_TABLE::GetGlobalTableFileName(), SYMBOL_LIB_TABLE::GetSymbolLibTableFileName(), KIWAY_HOLDER::Prj(), LIB_TABLE::Save(), and IO_ERROR::What().

Referenced by LIB_EDIT_FRAME::AddLibraryFile(), and LIB_EDIT_FRAME::ExportPart().

◆ SelectCompFromLibTree()

COMPONENT_SELECTION SCH_BASE_FRAME::SelectCompFromLibTree ( const SCHLIB_FILTER aFilter,
std::vector< COMPONENT_SELECTION > &  aHistoryList,
bool  aUseLibBrowser,
int  aUnit,
int  aConvert,
bool  aShowFootprints,
const LIB_ID aHighlight = nullptr,
bool  aAllowFields = true 
)

Function SelectComponentFromLib Calls the library viewer to select component 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 libedit.

Parameters
aFilteris a SCHLIB_FILTER filter to pass the allowed library names and/or the library name to load the component from and/or some other filter if NULL, no filtering.
aHistoryListlist of previously loaded components - will be edited
aUseLibBrowserbool to call the library viewer to select the component
aUnitpreselected unit
aConvertpreselected De Morgan shape
aHighlightname of component to highlight in the list. highlights none if there isn't one by that name
aShowFootprintswhether to show footprints in the dialog
aAllowFieldswhether to allow field editing in the dialog
Returns
the selected component

Definition at line 94 of file getpart.cpp.

97 {
98  std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_COMPONENT::g_Mutex, std::defer_lock );
99  wxString dialogTitle;
100  SYMBOL_LIB_TABLE* libs = Prj().SchSymbolLibTable();
101 
102  // One CHOOSE_COMPONENT dialog at a time. User probaby can't handle more anyway.
103  if( !dialogLock.try_lock() )
104  return COMPONENT_SELECTION();
105 
106  auto adapterPtr( SYMBOL_TREE_MODEL_ADAPTER::Create( libs ) );
107  auto adapter = static_cast<SYMBOL_TREE_MODEL_ADAPTER*>( adapterPtr.get() );
108  bool loaded = false;
109 
110  if( aFilter )
111  {
112  const wxArrayString& liblist = aFilter->GetAllowedLibList();
113 
114  for( unsigned ii = 0; ii < liblist.GetCount(); ii++ )
115  {
116  if( libs->HasLibrary( liblist[ii], true ) )
117  {
118  loaded = true;
119  adapter->AddLibrary( liblist[ii] );
120  }
121  }
122 
123  adapter->AssignIntrinsicRanks();
124 
125  if( aFilter->GetFilterPowerParts() )
126  adapter->SetFilter( SYMBOL_TREE_MODEL_ADAPTER::CMP_FILTER_POWER );
127  }
128 
129  std::vector< LIB_TREE_ITEM* > history_list;
130 
131  for( auto const& i : aHistoryList )
132  {
133  LIB_PART* symbol = GetLibPart( i.LibId );
134 
135  // This can be null, for example when a symbol has been deleted from a library
136  if( symbol )
137  history_list.push_back( symbol );
138  }
139 
140  adapter->DoAddLibrary( "-- " + _( "Recently Used" ) + " --", wxEmptyString, history_list,
141  true );
142 
143  if( !aHistoryList.empty() )
144  adapter->SetPreselectNode( aHistoryList[0].LibId, aHistoryList[0].Unit );
145 
146  const std::vector< wxString > libNicknames = libs->GetLogicalLibs();
147 
148  if( !loaded )
149  adapter->AddLibraries( libNicknames, this );
150 
151  if( aHighlight && aHighlight->IsValid() )
152  adapter->SetPreselectNode( *aHighlight, /* aUnit */ 0 );
153 
154  if( adapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::CMP_FILTER_POWER )
155  dialogTitle.Printf( _( "Choose Power Symbol (%d items loaded)" ), adapter->GetItemCount() );
156  else
157  dialogTitle.Printf( _( "Choose Symbol (%d items loaded)" ), adapter->GetItemCount() );
158 
159  DIALOG_CHOOSE_COMPONENT dlg( this, dialogTitle, adapterPtr, aConvert,
160  aAllowFields, aShowFootprints, aUseLibBrowser );
161 
162  if( dlg.ShowQuasiModal() == wxID_CANCEL )
163  return COMPONENT_SELECTION();
164 
166  LIB_ID id = dlg.GetSelectedLibId( &sel.Unit );
167 
168  if( dlg.IsExternalBrowserSelected() ) // User requested component browser.
169  {
170  sel = SelectComponentFromLibBrowser( this, aFilter, id, sel.Unit, sel.Convert );
171  id = sel.LibId;
172  }
173 
174  if( !id.IsValid() ) // Dialog closed by OK button,
175  // or the selection by lib browser was requested,
176  // but no symbol selected
177  return COMPONENT_SELECTION();
178 
179  SetUseAllUnits( dlg.GetUseAllUnits() );
180  SetRepeatComponent( dlg.GetKeepSymbol() );
181 
182  if( sel.Unit == 0 )
183  sel.Unit = 1;
184 
185  sel.Fields = dlg.GetFields();
186  sel.LibId = id;
187 
188  if( sel.LibId.IsValid() )
189  {
190  aHistoryList.erase(
191  std::remove_if(
192  aHistoryList.begin(),
193  aHistoryList.end(),
194  [ &sel ]( COMPONENT_SELECTION const& i ){ return i.LibId == sel.LibId; } ),
195  aHistoryList.end() );
196 
197  aHistoryList.insert( aHistoryList.begin(), sel );
198  }
199 
200  return sel;
201 }
bool HasLibrary(const wxString &aNickname, bool aCheckEnabled=false) const
Test for the existence of aNickname in the library table.
LIB_PART * GetLibPart(const LIB_ID &aLibId, bool aUseCacheLib=false, bool aShowErrorMsg=false)
Load symbol from symbol library table.
A logical library item identifier and consists of various portions much like a URI.
Definition: lib_id.h:51
bool IsValid() const
Definition: lib_id.h:171
Dialog class to select a component from the libraries.
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
Define a library symbol object.
bool GetFilterPowerParts() const
void SetUseAllUnits(bool aUseAll)
Sets whether to utilize all units of a component when placing.
COMPONENT_SELECTION SelectComponentFromLibBrowser(wxTopLevelWindow *aParent, const SCHLIB_FILTER *aFilter, const LIB_ID &aPreselectedLibid, int aUnit, int aConvert)
Function SelectComponentFromLibBrowser Calls the library viewer to select component to import into sc...
Definition: getpart.cpp:50
static PTR Create(LIB_TABLE *aLibs)
Factory function: create a model adapter in a reference-counting container.
#define _(s)
Definition: 3d_actions.cpp:31
const wxArrayString & GetAllowedLibList() const
std::vector< std::pair< int, wxString > > Fields
Definition: sch_screen.h:78
void SetRepeatComponent(bool aRepeat)
If true, keep placing new copies of the same symbol on each click.
std::vector< wxString > GetLogicalLibs()
Return the logical library names, all of them that are pertinent to a look up done on this LIB_TABLE.

References _, LIB_TREE_MODEL_ADAPTER::CMP_FILTER_POWER, COMPONENT_SELECTION::Convert, SYMBOL_TREE_MODEL_ADAPTER::Create(), COMPONENT_SELECTION::Fields, DIALOG_CHOOSE_COMPONENT::g_Mutex, SCHLIB_FILTER::GetAllowedLibList(), DIALOG_CHOOSE_COMPONENT::GetFields(), SCHLIB_FILTER::GetFilterPowerParts(), DIALOG_CHOOSE_COMPONENT::GetKeepSymbol(), GetLibPart(), LIB_TABLE::GetLogicalLibs(), DIALOG_CHOOSE_COMPONENT::GetSelectedLibId(), DIALOG_CHOOSE_COMPONENT::GetUseAllUnits(), LIB_TABLE::HasLibrary(), DIALOG_CHOOSE_COMPONENT::IsExternalBrowserSelected(), LIB_ID::IsValid(), COMPONENT_SELECTION::LibId, KIWAY_HOLDER::Prj(), SelectComponentFromLibBrowser(), SetRepeatComponent(), SetUseAllUnits(), DIALOG_SHIM::ShowQuasiModal(), and COMPONENT_SELECTION::Unit.

Referenced by DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnBrowseLibrary(), and SCH_DRAWING_TOOLS::PlaceComponent().

◆ SelectComponentFromLibBrowser()

COMPONENT_SELECTION SCH_BASE_FRAME::SelectComponentFromLibBrowser ( wxTopLevelWindow *  aParent,
const SCHLIB_FILTER aFilter,
const LIB_ID aPreselectedLibid,
int  aUnit,
int  aConvert 
)

Function SelectComponentFromLibBrowser Calls the library viewer to select component to import into schematic.

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

Parameters
aParentis the caller
aFilteris a filter to pass the allowed library names and/or some other filter
aPreselectedLibIdPreselected component LIB_ID. Not valid if none selected.
aUnitpreselected unit
aConvertpreselected deMorgan conversion
Returns
the selected component

Definition at line 50 of file getpart.cpp.

52 {
53  // Close any open non-modal Lib browser, and open a new one, in "modal" mode:
54  LIB_VIEW_FRAME* viewlibFrame = (LIB_VIEW_FRAME*) Kiway().Player( FRAME_SCH_VIEWER, false );
55 
56  if( viewlibFrame )
57  viewlibFrame->Destroy();
58 
59  viewlibFrame = (LIB_VIEW_FRAME*) Kiway().Player( FRAME_SCH_VIEWER_MODAL, true, aParent );
60 
61  if( aFilter )
62  viewlibFrame->SetFilter( aFilter );
63 
64  if( aPreselectedLibId.IsValid() )
65  {
66  viewlibFrame->SetSelectedLibrary( aPreselectedLibId.GetLibNickname() );
67  viewlibFrame->SetSelectedComponent( aPreselectedLibId.GetLibItemName() );
68  }
69 
70  viewlibFrame->SetUnitAndConvert( aUnit, aConvert );
71 
72  viewlibFrame->Refresh();
73 
75  wxString symbol;
76 
77  if( viewlibFrame->ShowModal( &symbol, aParent ) )
78  {
79  LIB_ID id;
80 
81  if( id.Parse( symbol, LIB_ID::ID_SCH ) == -1 )
82  sel.LibId = id;
83 
84  sel.Unit = viewlibFrame->GetUnit();
85  sel.Convert = viewlibFrame->GetConvert();
86  }
87 
88  viewlibFrame->Destroy();
89 
90  return sel;
91 }
void SetFilter(const SCHLIB_FILTER *aFilter)
Set a filter to display only libraries and/or components which match the filter.
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
void SetUnitAndConvert(int aUnit, int aConvert)
Set unit and convert, and set flag preventing them from automatically resetting to 1.
bool ShowModal(wxString *aSymbol, wxWindow *aParent) override
Function ShowModal.
void Parse(void *yyp, int yymajor, ParseTOKENTYPE yyminor ParseARG_PDECL)
int GetUnit() const
A logical library item identifier and consists of various portions much like a URI.
Definition: lib_id.h:51
void SetSelectedComponent(const wxString &aComponentName)
Set the selected component.
Symbol library viewer main window.
int GetConvert() const
VTBL_ENTRY KIWAY_PLAYER * Player(FRAME_T aFrameType, bool doCreate=true, wxTopLevelWindow *aParent=NULL)
Function Player returns the KIWAY_PLAYER* given a FRAME_T.
Definition: kiway.cpp:341
bool Destroy() override
Our version of Destroy() which is virtual from wxWidgets.
void SetSelectedLibrary(const wxString &aLibName)
Set the selected library in the library window.

References COMPONENT_SELECTION::Convert, KIWAY_PLAYER::Destroy(), FRAME_SCH_VIEWER, FRAME_SCH_VIEWER_MODAL, LIB_VIEW_FRAME::GetConvert(), LIB_ID::GetLibItemName(), LIB_ID::GetLibNickname(), LIB_VIEW_FRAME::GetUnit(), LIB_ID::ID_SCH, LIB_ID::IsValid(), KIWAY_HOLDER::Kiway(), COMPONENT_SELECTION::LibId, numEval::Parse(), KIWAY::Player(), LIB_VIEW_FRAME::SetFilter(), LIB_VIEW_FRAME::SetSelectedComponent(), LIB_VIEW_FRAME::SetSelectedLibrary(), LIB_VIEW_FRAME::SetUnitAndConvert(), LIB_VIEW_FRAME::ShowModal(), and COMPONENT_SELECTION::Unit.

Referenced by SelectCompFromLibTree(), and DIALOG_EDIT_COMPONENTS_LIBID::setLibIdByBrowser().

◆ SetAutoSaveInterval()

void EDA_BASE_FRAME::SetAutoSaveInterval ( int  aInterval)
inherited

Definition at line 324 of file eda_base_frame.cpp.

325 {
326  m_autoSaveInterval = aInterval;
327 
328  if( m_autoSaveTimer->IsRunning() )
329  {
330  if( m_autoSaveInterval > 0 )
331  {
332  m_autoSaveTimer->Start( m_autoSaveInterval * 1000, wxTIMER_ONE_SHOT );
333  }
334  else
335  {
336  m_autoSaveTimer->Stop();
337  m_autoSaveState = false;
338  }
339  }
340 }
wxTimer * m_autoSaveTimer

References EDA_BASE_FRAME::m_autoSaveInterval, EDA_BASE_FRAME::m_autoSaveState, and EDA_BASE_FRAME::m_autoSaveTimer.

Referenced by EDA_DRAW_FRAME::CommonSettingsChanged().

◆ SetAuxOrigin()

void SCH_BASE_FRAME::SetAuxOrigin ( const wxPoint aPosition)
overridevirtual

Implements EDA_DRAW_FRAME.

Definition at line 152 of file sch_base_frame.cpp.

153 {
154  wxASSERT( GetScreen() );
155  GetScreen()->SetAuxOrigin( aPosition );
156 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
void SetAuxOrigin(const wxPoint &aPosition)
Definition: sch_screen.h:160

References GetScreen(), and SCH_SCREEN::SetAuxOrigin().

◆ SetCanvas()

void EDA_DRAW_FRAME::SetCanvas ( EDA_DRAW_PANEL_GAL aPanel)
inlineinherited

Definition at line 487 of file eda_draw_frame.h.

487 { m_canvas = aPanel; }
EDA_DRAW_PANEL_GAL * m_canvas
GAL display options - this is the frame's interface to setting GAL display options.

References EDA_DRAW_FRAME::m_canvas.

Referenced by createCanvas(), FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), and GERBVIEW_FRAME::GERBVIEW_FRAME().

◆ SetDragActionIsMove()

void SCH_BASE_FRAME::SetDragActionIsMove ( bool  aValue)
inline

Definition at line 192 of file sch_base_frame.h.

192 { m_dragActionIsMove = aValue; }

References m_dragActionIsMove.

Referenced by PANEL_EESCHEMA_SETTINGS::TransferDataFromWindow().

◆ SetDrawBgColor()

virtual void EDA_DRAW_FRAME::SetDrawBgColor ( COLOR4D  aColor)
inlinevirtualinherited
Parameters
aColorthe COLOR4D for the canvas background

Reimplemented in PCB_BASE_FRAME.

Definition at line 251 of file eda_draw_frame.h.

251 { m_drawBgColor= aColor ; }
COLOR4D m_drawBgColor

References EDA_DRAW_FRAME::m_drawBgColor.

Referenced by SCH_PRINTOUT::PrintPage(), and GERBVIEW_FRAME::SetVisibleElementColor().

◆ SetGridColor()

virtual void EDA_DRAW_FRAME::SetGridColor ( COLOR4D  aColor)
inlinevirtualinherited

Reimplemented in PCB_EDIT_FRAME, and GERBVIEW_FRAME.

Definition at line 307 of file eda_draw_frame.h.

307 { m_gridColor = aColor; }

References EDA_DRAW_FRAME::m_gridColor.

Referenced by LIB_VIEW_FRAME::LoadSettings(), and FOOTPRINT_VIEWER_FRAME::LoadSettings().

◆ SetGridOrigin()

void SCH_BASE_FRAME::SetGridOrigin ( const wxPoint aPoint)
inlineoverridevirtual

Implements EDA_DRAW_FRAME.

Definition at line 207 of file sch_base_frame.h.

207 {}

◆ SetGridVisibility()

virtual void EDA_DRAW_FRAME::SetGridVisibility ( bool  aVisible)
inlinevirtualinherited

◆ SetKiway()

void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 42 of file kiway_holder.cpp.

43 {
44 #if defined(DEBUG)
45  // offer a trap point for debugging most any window
46  wxASSERT( aDest );
47  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
48  {
49  int breakhere=1;
50  (void) breakhere;
51  }
52 #endif
53 
54  (void) aDest;
55 
56  m_kiway = aKiway;
57 }
KIWAY * m_kiway
Definition: kiway_holder.h:81
const char * name
Definition: DXF_plotter.cpp:60

References KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), InvokePcbLibTableEditor(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetLastGridSizeId()

void EDA_DRAW_FRAME::SetLastGridSizeId ( int  aId)
inlineinherited

◆ SetModal()

void KIWAY_PLAYER::SetModal ( bool  aIsModal)
inlineinherited

Definition at line 164 of file kiway_player.h.

164 { m_modal = aIsModal; }

References KIWAY_PLAYER::m_modal.

Referenced by FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME(), and LIB_VIEW_FRAME::LIB_VIEW_FRAME().

◆ SetMruPath()

void EDA_BASE_FRAME::SetMruPath ( const wxString &  aPath)
inlineinherited

Definition at line 398 of file eda_base_frame.h.

398 { m_mruPath = aPath; }
wxString m_mruPath

References EDA_BASE_FRAME::m_mruPath.

Referenced by PANEL_HOTKEYS_EDITOR::ImportHotKeys(), and KICAD_MANAGER_FRAME::LoadProject().

◆ SetMsgPanel() [1/2]

void EDA_DRAW_FRAME::SetMsgPanel ( const std::vector< MSG_PANEL_ITEM > &  aList)
inherited

Clear the message panel and populates it with the contents of aList.

Parameters
aListis the list of MSG_PANEL_ITEM objects to fill the message panel.

Definition at line 574 of file eda_draw_frame.cpp.

575 {
576  if( m_messagePanel )
577  {
579 
580  for( const MSG_PANEL_ITEM& item : aList )
581  m_messagePanel->AppendMessage( item );
582  }
583 }
EDA_MSG_PANEL * m_messagePanel
void EraseMsgBox()
Definition: msgpanel.cpp:216
void AppendMessage(const wxString &aUpperText, const wxString &aLowerText, COLOR4D aColor, int aPad=6)
Function AppendMessage appends a message to the message panel.
Definition: msgpanel.cpp:110
EDA_MSG_ITEM is used EDA_MSG_PANEL as the item type for displaying messages.
Definition: msgpanel.h:53

References EDA_MSG_PANEL::AppendMessage(), EDA_MSG_PANEL::EraseMsgBox(), and EDA_DRAW_FRAME::m_messagePanel.

Referenced by PCB_INSPECTION_TOOL::ClearHighlight(), PCB_BASE_FRAME::Compile_Ratsnest(), EDIT_TOOL::copyToClipboard(), PCB_BASE_FRAME::CreateNewModule(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawSegment(), LIB_EDIT_TOOL::editGraphicProperties(), LIB_PIN_TOOL::EditPinProperties(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), PCB_INSPECTION_TOOL::highlightNet(), FOOTPRINT_EDIT_FRAME::Import_Module(), DRAWING_TOOL::PlaceText(), PAD_TOOL::pushPadSettings(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), EDA_DRAW_FRAME::SetMsgPanel(), DIALOG_LIB_EDIT_TEXT::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), EE_POINT_EDITOR::updateItem(), POINT_EDITOR::updateItem(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCBNEW_CONTROL::UpdateMessagePanel(), DISPLAY_FOOTPRINTS_FRAME::UpdateMsgPanel(), and FOOTPRINT_WIZARD_FRAME::UpdateMsgPanel().

◆ SetMsgPanel() [2/2]

void EDA_DRAW_FRAME::SetMsgPanel ( EDA_ITEM aItem)
inherited

Definition at line 586 of file eda_draw_frame.cpp.

587 {
588  wxCHECK_RET( aItem, wxT( "Invalid EDA_ITEM pointer. Bad programmer." ) );
589 
590  MSG_PANEL_ITEMS items;
591  aItem->GetMsgPanelInfo( m_userUnits, items );
592  SetMsgPanel( items );
593 }
void SetMsgPanel(const std::vector< MSG_PANEL_ITEM > &aList)
Clear the message panel and populates it with the contents of aList.
EDA_UNITS m_userUnits
std::vector< MSG_PANEL_ITEM > MSG_PANEL_ITEMS
Definition: msgpanel.h:102
virtual void GetMsgPanelInfo(EDA_UNITS aUnits, std::vector< MSG_PANEL_ITEM > &aList)
Function GetMsgPanelInfo populates aList of MSG_PANEL_ITEM objects with it's internal state for displ...
Definition: base_struct.h:318

References EDA_ITEM::GetMsgPanelInfo(), EDA_BASE_FRAME::m_userUnits, and EDA_DRAW_FRAME::SetMsgPanel().

◆ SetPageSettings()

void SCH_BASE_FRAME::SetPageSettings ( const PAGE_INFO aPageSettings)
overridevirtual

Implements EDA_DRAW_FRAME.

Definition at line 126 of file sch_base_frame.cpp.

127 {
128  GetScreen()->SetPageSettings( aPageSettings );
129 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
void SetPageSettings(const PAGE_INFO &aPageSettings)
Definition: sch_screen.h:153

References GetScreen(), and SCH_SCREEN::SetPageSettings().

◆ SetRepeatComponent()

void SCH_BASE_FRAME::SetRepeatComponent ( bool  aRepeat)
inline

If true, keep placing new copies of the same symbol on each click.

Parameters
aRepeatTrue to repeat the same symbol, False to only set one

Definition at line 170 of file sch_base_frame.h.

170 { m_repeatComponent = aRepeat; }

References m_repeatComponent.

Referenced by SelectCompFromLibTree().

◆ SetRepeatDeltaLabel()

void SCH_BASE_FRAME::SetRepeatDeltaLabel ( int  aDelta)
inline

Sets the repeat delta label value for repeat command.

Parameters
aDeltathe increment value of labels like bus members for the repeat command

Definition at line 159 of file sch_base_frame.h.

159 { m_repeatDeltaLabel = aDelta; }

References m_repeatDeltaLabel.

Referenced by LIB_EDIT_FRAME::LoadSettings(), PANEL_LIBEDIT_SETTINGS::TransferDataFromWindow(), and PANEL_EESCHEMA_SETTINGS::TransferDataFromWindow().

◆ SetRepeatStep()

void SCH_BASE_FRAME::SetRepeatStep ( const wxPoint aStep)
inline

Sets the repeat step value for repeat command.

Parameters
aStepthe increment value of the position of an item for the repeat command

Definition at line 146 of file sch_base_frame.h.

146 { m_repeatStep = aStep; }
wxPoint m_repeatStep

References m_repeatStep.

Referenced by LIB_EDIT_FRAME::LoadSettings(), PANEL_LIBEDIT_SETTINGS::TransferDataFromWindow(), and PANEL_EESCHEMA_SETTINGS::TransferDataFromWindow().

◆ SetScreen()

void SCH_BASE_FRAME::SetScreen ( BASE_SCREEN aScreen)
overridevirtual

Reimplemented from EDA_DRAW_FRAME.

Reimplemented in SCH_EDIT_FRAME.

Definition at line 108 of file sch_base_frame.cpp.

109 {
110  EDA_DRAW_FRAME::SetScreen( aScreen );
111 
112  if( m_toolManager )
113  {
114  m_toolManager->SetEnvironment( aScreen, GetCanvas()->GetView(),
115  GetCanvas()->GetViewControls(), this );
116  }
117 }
virtual void SetScreen(BASE_SCREEN *aScreen)
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
void SetEnvironment(EDA_ITEM *aModel, KIGFX::VIEW *aView, KIGFX::VIEW_CONTROLS *aViewControls, EDA_BASE_FRAME *aFrame)
Sets the work environment (model, view, view controls and the parent window).
TOOL_MANAGER * m_toolManager

References GetCanvas(), EDA_BASE_FRAME::m_toolManager, TOOL_MANAGER::SetEnvironment(), and EDA_DRAW_FRAME::SetScreen().

Referenced by LIB_VIEW_FRAME::LIB_VIEW_FRAME(), LIB_EDIT_FRAME::SetScreen(), and SCH_EDIT_FRAME::SetScreen().

◆ SetShowElectricalType()

void SCH_BASE_FRAME::SetShowElectricalType ( bool  aShow)
inline

◆ SetShowPageLimits()

void EDA_DRAW_FRAME::SetShowPageLimits ( bool  aShow)
inlineinherited

◆ SetShowPolarCoords()

◆ SetShutdownBlockReason()

void EDA_BASE_FRAME::SetShutdownBlockReason ( const wxString &  reason)
inherited

Sets the block reason why the window/application is preventing OS shutdown.

This should be set far ahead of any close event.

This is mainly intended for Windows platforms where this is a native feature.

Definition at line 193 of file eda_base_frame.cpp.

194 {
195 #if defined( _WIN32 )
196  // Windows: sets up the pretty message on the shutdown page on why it's being "blocked"
197  // This is used in conjunction with handling WM_QUERYENDSESSION (wxCloseEvent)
198  // ShutdownBlockReasonCreate does not block by itself
199 
200  ShutdownBlockReasonDestroy( GetHandle() ); // Destroys any existing or nonexisting reason
201 
202  if( !ShutdownBlockReasonCreate( GetHandle(), aReason.wc_str() ) )
203  {
204  // Nothing bad happens if this fails, at worst it uses a generic application is preventing shutdown message
205  wxLogDebug( wxT( "ShutdownBlockReasonCreate failed to set reason: %s" ), aReason );
206  }
207 #endif
208 }

Referenced by CVPCB_MAINFRAME::CVPCB_MAINFRAME(), and SCH_EDIT_FRAME::OpenProjectFiles().

◆ SetTitleBlock()

void SCH_BASE_FRAME::SetTitleBlock ( const TITLE_BLOCK aTitleBlock)
overridevirtual

Implements EDA_DRAW_FRAME.

Definition at line 166 of file sch_base_frame.cpp.

167 {
168  wxASSERT( GetScreen() );
169  GetScreen()->SetTitleBlock( aTitleBlock );
170 }
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock)
Definition: sch_screen.h:164

References GetScreen(), and SCH_SCREEN::SetTitleBlock().

◆ SetUseAllUnits()

void SCH_BASE_FRAME::SetUseAllUnits ( bool  aUseAll)
inline

Sets whether to utilize all units of a component when placing.

Parameters
aUseAllTrue to iterate through Units A, B, ...

Definition at line 181 of file sch_base_frame.h.

181 { m_useAllUnits = aUseAll; }

References m_useAllUnits.

Referenced by SelectCompFromLibTree().

◆ SetUserUnits()

◆ ShowChangedLanguage()

void EDA_BASE_FRAME::ShowChangedLanguage ( )
virtualinherited

◆ ShowModal()

bool KIWAY_PLAYER::ShowModal ( wxString *  aResult = NULL,
wxWindow *  aResultantFocusWindow = NULL 
)
virtualinherited

Function ShowModal puts up this wxFrame as if it were a modal dialog, with all other instantiated wxFrames disabled until this KIWAY_PLAYER derivative calls DismissModal().

That is, behavior is similar to a modal dialog window. Not all KIWAY_PLAYERs use this interface, so don't call this unless the implementation knows how to call DismissModal() on a button click or double click or some special event which ends the modal behavior.

Parameters
aResultif not NULL, indicates a place to put a resultant string.
aResultantFocusWindowif not NULL, indicates what window to pass focus to on return.
Returns
bool - true if frame implementation called KIWAY_PLAYER::DismissModal() with aRetVal of true.

Reimplemented in FOOTPRINT_VIEWER_FRAME, and LIB_VIEW_FRAME.

Definition at line 75 of file kiway_player.cpp.

76 {
77  wxASSERT_MSG( IsModal(), wxT( "ShowModal() shouldn't be called on non-modal frame" ) );
78 
79  /*
80  This function has a nice interface but a necessarily unsightly implementation.
81  Now the implementation is encapsulated, localizing future changes.
82 
83  It works in tandem with DismissModal(). But only ShowModal() is in the
84  vtable and therefore cross-module capable.
85  */
86 
87  // This is an exception safe way to zero a pointer before returning.
88  // Yes, even though DismissModal() clears this first normally, this is
89  // here in case there's an exception before the dialog is dismissed.
90  struct NULLER
91  {
92  void*& m_what;
93  NULLER( void*& aPtr ) : m_what( aPtr ) {}
94  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
95  } clear_this( (void*&) m_modal_loop );
96 
97 
98  m_modal_resultant_parent = aResultantFocusWindow;
99 
100  Show( true );
101  Raise(); // Needed on some Window managers to always display the frame
102 
103  SetFocus();
104 
105  {
106  // We have to disable all frames but the the modal one.
107  // wxWindowDisabler does that, but it also disables all top level windows
108  // We do not want to disable top level windows which are child of the modal one,
109  // if they are enabled.
110  // An example is an aui toolbar which was moved
111  // or a dialog or another frame or miniframe opened by the modal one.
112  wxWindowList wlist = GetChildren();
113  std::vector<wxWindow*> enabledTopLevelWindows;
114 
115  for( unsigned ii = 0; ii < wlist.size(); ii++ )
116  if( wlist[ii]->IsTopLevel() && wlist[ii]->IsEnabled() )
117  enabledTopLevelWindows.push_back( wlist[ii] );
118 
119  // exception safe way to disable all top level windows except the modal one,
120  // re-enables only those that were disabled on exit
121  wxWindowDisabler toggle( this );
122 
123  for( unsigned ii = 0; ii < enabledTopLevelWindows.size(); ii++ )
124  enabledTopLevelWindows[ii]->Enable( true );
125 
126  WX_EVENT_LOOP event_loop;
127  m_modal_loop = &event_loop;
128  event_loop.Run();
129 
130  } // End of scope for some variables.
131  // End nesting before setting focus below.
132 
133  if( aResult )
134  *aResult = m_modal_string;
135 
136  if( aResultantFocusWindow )
137  {
138  aResultantFocusWindow->Raise();
139 
140  // have the final say, after wxWindowDisabler reenables my parent and
141  // the events settle down, set the focus
142  wxSafeYield();
143  aResultantFocusWindow->SetFocus();
144  }
145 
146  return m_modal_ret_val;
147 }
bool m_modal_ret_val
Definition: kiway_player.h:192
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
wxWindow * m_modal_resultant_parent
Definition: kiway_player.h:190
wxString m_modal_string
Definition: kiway_player.h:191
bool IsModal()
Definition: kiway_player.h:163
WX_EVENT_LOOP * m_modal_loop
Definition: kiway_player.h:189

References KIWAY_PLAYER::IsModal(), KIWAY_PLAYER::m_modal_loop, KIWAY_PLAYER::m_modal_resultant_parent, KIWAY_PLAYER::m_modal_ret_val, KIWAY_PLAYER::m_modal_string, and WX_EVENT_LOOP.

Referenced by FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), LIB_VIEW_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ ShowPageLimits()

◆ SupportsShutdownBlockReason()

bool EDA_BASE_FRAME::SupportsShutdownBlockReason ( )
inherited

Whether or not the window supports setting a shutdown block reason.

Definition at line 174 of file eda_base_frame.cpp.

175 {
176 #if defined( _WIN32 )
177  return true;
178 #else
179  return false;
180 #endif
181 }

Referenced by FOOTPRINT_EDIT_FRAME::OnCloseWindow(), CVPCB_MAINFRAME::OnCloseWindow(), SCH_EDIT_FRAME::OnCloseWindow(), LIB_EDIT_FRAME::OnCloseWindow(), and EDA_BASE_FRAME::~EDA_BASE_FRAME().

◆ SwitchCanvas()

void EDA_DRAW_FRAME::SwitchCanvas ( EDA_DRAW_PANEL_GAL::GAL_TYPE  aCanvasType)
virtualinherited

Changes the current rendering backend.

Reimplemented in PCB_EDIT_FRAME, LIB_EDIT_FRAME, and FOOTPRINT_EDIT_FRAME.

Definition at line 609 of file eda_draw_frame.cpp.

610 {
611  GetCanvas()->SwitchBackend( aCanvasType );
613 
615 }
virtual bool SwitchBackend(GAL_TYPE aGalType)
Function SwitchBackend Switches method of rendering graphics.
EDA_DRAW_PANEL_GAL::GAL_TYPE m_canvasType
The current canvas type.
virtual EDA_DRAW_PANEL_GAL * GetCanvas() const
Return a pointer to GAL-based canvas of given EDA draw frame.
virtual void ActivateGalCanvas()
Use to start up the GAL drawing canvas.
GAL_TYPE GetBackend() const
Function GetBackend Returns the type of backend currently used by GAL canvas.

References EDA_DRAW_FRAME::ActivateGalCanvas(), EDA_DRAW_PANEL_GAL::GetBackend(), EDA_DRAW_FRAME::GetCanvas(), EDA_DRAW_FRAME::m_canvasType, and EDA_DRAW_PANEL_GAL::SwitchBackend().

Referenced by GERBVIEW_FRAME::GERBVIEW_FRAME(), COMMON_TOOLS::SwitchCanvas(), FOOTPRINT_EDIT_FRAME::SwitchCanvas(), LIB_EDIT_FRAME::SwitchCanvas(), and PCB_EDIT_FRAME::SwitchCanvas().

◆ SyncToolbars()

virtual void EDA_BASE_FRAME::SyncToolbars ( )
inlinevirtualinherited

Update the toolbars (mostly settings/check buttons/checkboxes) with the current controller state.

Reimplemented in SCH_EDIT_FRAME, PCB_EDIT_FRAME, GERBVIEW_FRAME, LIB_EDIT_FRAME, CVPCB_MAINFRAME, FOOTPRINT_EDIT_FRAME, KICAD_MANAGER_FRAME, LIB_VIEW_FRAME, and DISPLAY_FOOTPRINTS_FRAME.

Definition at line 457 of file eda_base_frame.h.

457 { };

Referenced by EDA_DRAW_FRAME::RecreateToolbars(), PCB_BASE_EDIT_FRAME::SetGridVisibility(), and TOOL_MANAGER::UpdateUI().

◆ SyncView()

void SCH_BASE_FRAME::SyncView ( )

Mark all items for refresh.

Definition at line 441 of file sch_base_frame.cpp.

442 {
443  auto gs = GetScreen()->GetGridSize();
444  GetCanvas()->GetGAL()->SetGridSize( VECTOR2D( gs.x, gs.y ));
446 }
KIGFX::SCH_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
const wxRealPoint & GetGridSize() const
Return the grid size of the currently selected grid.
Definition: base_screen.h:279
void UpdateAllItems(int aUpdateFlags)
Updates all items in the view according to the given flags.
Definition: view.cpp:1444
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
Item needs to be redrawn.
Definition: view_item.h:61
VECTOR2< double > VECTOR2D
Definition: vector2d.h:593
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
KIGFX::GAL * GetGAL() const
Function GetGAL() Returns a pointer to the GAL instance used in the panel.
void SetGridSize(const VECTOR2D &aGridSize)
Set the grid size.

References KIGFX::ALL, GetCanvas(), EDA_DRAW_PANEL_GAL::GetGAL(), BASE_SCREEN::GetGridSize(), GetScreen(), SCH_DRAW_PANEL::GetView(), KIGFX::GAL::SetGridSize(), and KIGFX::VIEW::UpdateAllItems().

Referenced by SCH_EDIT_FRAME::AnnotateComponents(), SCH_EDIT_FRAME::AppendSchematic(), SCH_EDITOR_CONTROL::BackAnnotateFootprints(), SCH_EDIT_FRAME::DeleteAnnotation(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), InvokeSchEditSymbolLibTable(), LIB_VIEW_FRAME::LIB_VIEW_FRAME(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDITOR_CONTROL::Redo(), SCH_EDIT_FRAME::rescueProject(), SCH_EDIT_FRAME::RollbackSchematicFromUndo(), DIALOG_FIELDS_EDITOR_GLOBAL::TransferDataFromWindow(), DIALOG_UPDATE_FIELDS::TransferDataFromWindow(), and SCH_EDITOR_CONTROL::Undo().

◆ sys_search()

const SEARCH_STACK & EDA_BASE_FRAME::sys_search ( )
virtualinherited

Return a SEARCH_STACK pertaining to entire program.

This is overloaded in KICAD_MANAGER_FRAME

Reimplemented in KICAD_MANAGER_FRAME.

Definition at line 593 of file eda_base_frame.cpp.

594 {
595  return Kiface().KifaceSearch();
596 }
SEARCH_STACK & KifaceSearch()
Only for DSO specific 'non-library' files.
Definition: kiface_i.h:127
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.

References Kiface(), and KIFACE_I::KifaceSearch().

Referenced by COMMON_CONTROL::ShowHelp().

◆ ToolStackIsEmpty()

◆ unitsChangeRefresh()

void EDA_DRAW_FRAME::unitsChangeRefresh ( )
overrideprotectedvirtualinherited

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.

The default version only updates the status bar. Don't forget to call the default in your derived class or the status bar will not get updated properly.

Reimplemented from EDA_BASE_FRAME.

Reimplemented in PCB_BASE_EDIT_FRAME, and PCB_BASE_FRAME.

Definition at line 209 of file eda_draw_frame.cpp.

210 {
211  UpdateStatusBar();
212  UpdateMsgPanel();
213 }
void UpdateStatusBar() override
Update the status bar information.
virtual void UpdateMsgPanel()
Redraw the message panel.

References EDA_DRAW_FRAME::UpdateMsgPanel(), and EDA_DRAW_FRAME::UpdateStatusBar().

Referenced by PCB_BASE_FRAME::unitsChangeRefresh(), and GERBVIEW_FRAME::unitsChangeRefresh().

◆ UpdateFileHistory()

void EDA_BASE_FRAME::UpdateFileHistory ( const wxString &  FullFileName,
FILE_HISTORY aFileHistory = NULL 
)
inherited

Update the list of recently opened files.

The menu is also updated, if FILE_HISTORY::UseMenu was called at init time.

Parameters
FullFileNameThe full file name including the path.
aFileHistoryThe FILE_HISTORY in use. If NULL, the main application file history is used.

Definition at line 611 of file eda_base_frame.cpp.

612 {
613  FILE_HISTORY* fileHistory = aFileHistory;
614 
615  if( !fileHistory )
616  fileHistory = &Kiface().GetFileHistory();
617 
618  fileHistory->AddFileToHistory( FullFileName );
619 }
This class implements a file history object to store a list of files, that can then be added to a men...
Definition: filehistory.h:40
void AddFileToHistory(const wxString &aFile) override
Adds a file to the history.
Definition: filehistory.cpp: