KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_symbol_properties.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20
21#ifndef DIALOG_SYMBOL_PROPERTIES_H
22#define DIALOG_SYMBOL_PROPERTIES_H
23
25#include <fields_grid_table.h>
26#include <sch_pin.h>
27
28
29class LIB_SYMBOL;
31class SCH_EDIT_FRAME;
34
35
36// The dialog can be closed for several reasons.
45
46
54{
55public:
58
60
65 void SelectPinMapPage();
66
67private:
68 bool TransferDataToWindow() override;
69 bool TransferDataFromWindow() override;
70
71 bool Validate() override;
72
73 // event handlers
74 void OnAddField( wxCommandEvent& event ) override;
75 void OnDeleteField( wxCommandEvent& event ) override;
76 void OnMoveUp( wxCommandEvent& event ) override;
77 void OnMoveDown( wxCommandEvent& event ) override;
78 void OnEditSpiceModel( wxCommandEvent& event ) override;
79 void OnPinTableColSort( wxGridEvent& aEvent );
80 void OnPinTableCellEdited( wxGridEvent& event ) override;
81 void OnSizePinsGrid( wxSizeEvent& event ) override;
82 void OnGridCellChanging( wxGridEvent& event );
83 void OnUpdateUI( wxUpdateUIEvent& event ) override;
84 void OnCancelButtonClick( wxCommandEvent& event ) override;
85 void OnGridEditorShown( wxGridEvent& event ) override;
86 void OnGridEditorHidden( wxGridEvent& event ) override;
87 void OnUnitChoice( wxCommandEvent& event ) override;
88 void OnCheckBox( wxCommandEvent& event ) override;
89 void OnPageChanging( wxNotebookEvent& event ) override;
90
91 void OnEditSymbol( wxCommandEvent& ) override;
92 void OnEditLibrarySymbol( wxCommandEvent& ) override;
93 void OnUpdateSymbol( wxCommandEvent& ) override;
94 void OnExchangeSymbol( wxCommandEvent& ) override;
95
97 void HandleDelayedFocus( wxCommandEvent& event );
98 void HandleDelayedSelection( wxCommandEvent& event );
99
100 virtual void onUpdateEditSymbol( wxUpdateUIEvent& event ) override;
101 virtual void onUpdateEditLibrarySymbol( wxUpdateUIEvent& event ) override;
102
103private:
106
110 std::bitset<64> m_shownColumns;
111
116 bool m_forcePinMapPage = false;
117};
118
119#endif // DIALOG_SYMBOL_PROPERTIES_H
DIALOG_SYMBOL_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Symbol Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU)
void OnSizePinsGrid(wxSizeEvent &event) override
void OnPinTableCellEdited(wxGridEvent &event) override
void OnGridEditorShown(wxGridEvent &event) override
void OnUpdateUI(wxUpdateUIEvent &event) override
void OnEditSymbol(wxCommandEvent &) override
void OnCancelButtonClick(wxCommandEvent &event) override
virtual void onUpdateEditLibrarySymbol(wxUpdateUIEvent &event) override
PANEL_SYMBOL_PIN_MAP * m_pinMapPanel
SCH_PIN_TABLE_DATA_MODEL * m_dataModel
void OnMoveDown(wxCommandEvent &event) override
void OnPinTableColSort(wxGridEvent &aEvent)
void OnMoveUp(wxCommandEvent &event) override
void OnDeleteField(wxCommandEvent &event) override
void OnAddField(wxCommandEvent &event) override
void OnGridEditorHidden(wxGridEvent &event) override
PANEL_EMBEDDED_FILES * m_embeddedFiles
void OnUnitChoice(wxCommandEvent &event) override
void OnEditSpiceModel(wxCommandEvent &event) override
void OnPageChanging(wxNotebookEvent &event) override
DIALOG_SYMBOL_PROPERTIES(SCH_EDIT_FRAME *aParent, SCH_SYMBOL *aSymbol)
void HandleDelayedFocus(wxCommandEvent &event)
void HandleDelayedSelection(wxCommandEvent &event)
void OnCheckBox(wxCommandEvent &event) override
void OnGridCellChanging(wxGridEvent &event)
void OnEditLibrarySymbol(wxCommandEvent &) override
void OnUpdateSymbol(wxCommandEvent &) override
void SelectPinMapPage()
Select the Pin Map page so the dialog opens directly on the pin-to-pad mapping editor (issue #2282).
void OnExchangeSymbol(wxCommandEvent &) override
virtual void onUpdateEditSymbol(wxUpdateUIEvent &event) override
Define a library symbol object.
Definition lib_symbol.h:80
Composed widget that edits a symbol's named pin maps and the footprint each is bound to.
Schematic editor (Eeschema) main window.
Schematic symbol object.
Definition sch_symbol.h:69
@ SYMBOL_PROPS_EDIT_SCHEMATIC_SYMBOL
@ SYMBOL_PROPS_WANT_EXCHANGE_SYMBOL
@ SYMBOL_PROPS_WANT_UPDATE_SYMBOL
@ SYMBOL_PROPS_EDIT_LIBRARY_SYMBOL
@ SYMBOL_PROPS_EDIT_OK