25#ifndef SCH_BASE_FRAME_H_ 
   26#define SCH_BASE_FRAME_H_ 
   40#include <wx/datetime.h> 
   73#define wxFileSystemWatcher wxInotifyFileSystemWatcher 
   74#elif defined( wxHAS_KQUEUE ) && defined( wxHAVE_FSEVENTS_FILE_NOTIFICATIONS ) 
   75#define wxFileSystemWatcher wxFsEventsFileSystemWatcher 
   76#elif defined( wxHAS_KQUEUE ) 
   77#define wxFileSystemWatcher wxKqueueFileSystemWatcher 
   78#elif defined( __WINDOWS__ ) 
   79#define wxFileSystemWatcher wxMSWFileSystemWatcher 
   81#define wxFileSystemWatcher wxPollingFileSystemWatcher 
   85class wxFileSystemWatcherEvent;
 
  103                             bool aShowErrorMsg = 
false );
 
  118                    const wxPoint& aPosition, 
const wxSize& aSize, 
long aStyle,
 
  119                    const wxString & aFrameName );
 
  181                                         std::vector<PICKED_SYMBOL>&  aHistoryList,
 
  182                                         std::vector<PICKED_SYMBOL>&  aAlreadyPlaced,
 
  183                                         bool aShowFootprints, 
const LIB_ID* aHighlight = 
nullptr,
 
  184                                         bool aAllowFields = 
true );
 
  196                              bool aShowErrorMsg = 
false );
 
  208    wxString 
SelectLibrary( 
const wxString& aDialogTitle, 
const wxString& aListLabel,
 
  209                            const std::vector<std::pair<wxString, bool*>>& aExtraCheckboxes = {} );
 
  219    void AddToScreen( EDA_ITEM* aItem, SCH_SCREEN* aScreen = 
nullptr ) 
override;
 
  230    virtual void UpdateItem( EDA_ITEM* aItem, 
bool isAddOrDelete = 
false,
 
  231                             bool aUpdateRtree = 
false );
 
  272    void OnSymChange( wxFileSystemWatcherEvent& aEvent );
 
 
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
 
Color settings are a bit different than most of the settings objects in that there can be more than o...
 
EDA_DRAW_FRAME(KIWAY *aKiway, wxWindow *aParent, FRAME_T aFrameType, const wxString &aTitle, const wxPoint &aPos, const wxSize &aSize, long aStyle, const wxString &aFrameName, const EDA_IU_SCALE &aIuScale)
 
A color representation with 4 components: red, green, blue, alpha.
 
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
 
Object used to load, save, search, and otherwise manipulate symbol library files.
 
A logical library item identifier and consists of various portions much like a URI.
 
Define a library symbol object.
 
The class that implements the public interface to the SpaceMouse plug-in.
 
Describe the page size and margins of a paper page on which to eventually print or plot.
 
This is a bridge class to help the schematic be able to affect SCH_EDIT_FRAME without doing anything ...
 
These are loaded from Eeschema settings but then overwritten by the project settings.
 
void SetGridOrigin(const VECTOR2I &aPoint) override
 
virtual void RedrawScreen(const VECTOR2I &aCenterPoint, bool aWarpPointer)
 
SCH_BASE_FRAME(KIWAY *aKiway, wxWindow *aParent, FRAME_T aWindowType, const wxString &aTitle, const wxPoint &aPosition, const wxSize &aSize, long aStyle, const wxString &aFrameName)
 
void UpdateStatusBar() override
Update the status bar information.
 
void RemoveFromScreen(EDA_ITEM *aItem, SCH_SCREEN *aScreen) override
Remove an item from the screen (and view) aScreen is the screen the item is located on,...
 
SCH_RENDER_SETTINGS * GetRenderSettings()
 
void doCloseWindow() override
 
void ActivateGalCanvas() override
Use to start up the GAL drawing canvas.
 
const VECTOR2I GetPageSizeIU() const override
Works off of GetPageSettings() to return the size of the paper page in the internal units of this par...
 
void SetPageSettings(const PAGE_INFO &aPageSettings) override
 
void SaveSettings(APP_SETTINGS_BASE *aCfg) override
Save common frame parameters to a configuration data file.
 
void handleIconizeEvent(wxIconizeEvent &aEvent) override
Handle a window iconize event.
 
void LoadSettings(APP_SETTINGS_BASE *aCfg) override
Load common frame parameters from a configuration file.
 
void OnSymChange(wxFileSystemWatcherEvent &aEvent)
Handler for Symbol change events.
 
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
 
SYMBOL_EDITOR_SETTINGS * libeditconfig() const
 
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
 
APP_SETTINGS_BASE * GetViewerSettingsBase() const
 
void HighlightSelectionFilter(const SCH_SELECTION_FILTER_OPTIONS &aOptions)
 
void HardRedraw() override
Rebuild the GAL and redraws the screen.
 
PICKED_SYMBOL PickSymbolFromLibrary(const SYMBOL_LIBRARY_FILTER *aFilter, std::vector< PICKED_SYMBOL > &aHistoryList, std::vector< PICKED_SYMBOL > &aAlreadyPlaced, bool aShowFootprints, const LIB_ID *aHighlight=nullptr, bool aAllowFields=true)
Call the library viewer to select symbol to import into schematic.
 
DIALOG_SCH_FIND * m_findReplaceDialog
 
SCHEMATIC_SETTINGS m_base_frame_defaults
Only used by symbol_editor. Eeschema should be using the one inside the SCHEMATIC.
 
wxTimer m_watcherDebounceTimer
 
DIALOG_SCH_FIND * GetFindReplaceDialog() const
 
void CommonSettingsChanged(int aFlags) override
Notification event that some of the common (suite-wide) settings have changed.
 
void ShowFindReplaceDialog(bool aReplace)
Run the Find or Find & Replace dialog.
 
SCH_SELECTION_TOOL * GetSelectionTool() override
 
void SyncView()
Mark all items for refresh.
 
std::unique_ptr< NL_SCHEMATIC_PLUGIN > m_spaceMouse
 
void GetLibraryItemsForListDialog(wxArrayString &aHeaders, std::vector< wxArrayString > &aItemsToDisplay)
 
wxDateTime m_watcherLastModified
 
std::unique_ptr< wxFileSystemWatcher > m_watcher
These are file watchers for the symbol library tables.
 
bool m_inSymChangeTimerEvent
 
wxString SelectLibrary(const wxString &aDialogTitle, const wxString &aListLabel, const std::vector< std::pair< wxString, bool * > > &aExtraCheckboxes={})
Display a list of loaded libraries and allows the user to select a library.
 
virtual void updateSelectionFilterVisbility()
Selection filter panel doesn't have a dedicated visibility control, so show it if any other AUI panel...
 
void SetSymModificationTime(const wxDateTime &aTime)
Set the modification time of the symbol library table file.
 
virtual ~SCH_BASE_FRAME()
Needs to be in the cpp file to encode the sizeof() for std::unique_ptr.
 
const TITLE_BLOCK & GetTitleBlock() const override
 
const VECTOR2I & GetGridOrigin() const override
Return the absolute coordinates of the origin of the snap grid.
 
void RefreshZoomDependentItems()
Mark selected items for refresh.
 
EESCHEMA_SETTINGS * eeconfig() const
 
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock) override
 
PANEL_SCH_SELECTION_FILTER * m_selectionFilterPanel
 
LIB_SYMBOL * GetLibSymbol(const LIB_ID &aLibId, bool aUseCacheLib=false, bool aShowErrorMsg=false)
Load symbol from symbol library table.
 
virtual void UpdateItem(EDA_ITEM *aItem, bool isAddOrDelete=false, bool aUpdateRtree=false)
Mark an item for refresh.
 
void handleActivateEvent(wxActivateEvent &aEvent) override
Handle a window activation event.
 
virtual bool GetShowAllPins() const
Allow some frames to show/hide hidden pins.
 
COLOR_SETTINGS * GetColorSettings(bool aForceRefresh=false) const override
Returns a pointer to the active color theme settings.
 
void OnFindDialogClose()
Notification that the Find dialog has closed.
 
wxFileName m_watcherFileName
 
void setSymWatcher(const LIB_ID *aSymbol)
Creates (or removes) a watcher on the specified symbol library.
 
void AddToScreen(EDA_ITEM *aItem, SCH_SCREEN *aScreen=nullptr) override
Add an item to the screen (and view) aScreen is the screen the item is located on,...
 
const PAGE_INFO & GetPageSettings() const override
 
void ShowFindReplaceStatus(const wxString &aMsg, int aStatusTime)
 
COLOR4D GetDrawBgColor() const override
 
void OnSymChangeDebounceTimer(wxTimerEvent &aEvent)
Handler for the filesystem watcher debounce timer.
 
void ClearFindReplaceStatus()
 
COLOR4D GetLayerColor(SCH_LAYER_ID aLayer)
Helper to retrieve a layer color from the global color settings.
 
The symbol library editor main window.
 
An interface to the global shared library manager that is schematic-specific and linked to one projec...
 
Helper object to filter a list of libraries.
 
Symbol library viewer main window.
 
Hold the information shown in the lower right corner of a plot, printout, or editing view.
 
FRAME_T
The set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
 
SCH_LAYER_ID
Eeschema drawing layers.
 
LIB_SYMBOL * SchGetLibSymbol(const LIB_ID &aLibId, SYMBOL_LIBRARY_ADAPTER *aLibMgr, LEGACY_SYMBOL_LIB *aCacheLib=nullptr, wxWindow *aParent=nullptr, bool aShowErrorMsg=false)
Load symbol from symbol library table.
 
#define wxFileSystemWatcher
 
VECTOR2< int32_t > VECTOR2I