KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_lib_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#pragma once
22
23#include <memory>
24
25#include <fields_grid_table.h>
26#include <widgets/unit_binder.h>
28
29
31class LIB_SYMBOL;
32class LISTBOX_TRICKS;
34class WX_GRID;
35
36
38{
39public:
42
43protected:
44 bool TransferDataToWindow() override;
45 bool TransferDataFromWindow() override;
46
47 bool Validate() override;
48
49 void onPowerCheckBox( wxCommandEvent& aEvent ) override;
50 void OnText( wxCommandEvent& event ) override;
51 void OnCombobox( wxCommandEvent& event ) override;
52 void OnCheckBox( wxCommandEvent& event ) override;
53 void OnUnitSpinCtrl( wxSpinEvent& event ) override;
54 void OnUnitSpinCtrlText( wxCommandEvent& event ) override;
55 void OnUnitSpinCtrlKillFocus( wxFocusEvent& event ) override;
56 void OnUnitSpinCtrlEnter( wxCommandEvent& event ) override;
57 void OnBodyStyle( wxCommandEvent& event ) override;
58
59private:
60 void OnAddField( wxCommandEvent& event ) override;
61 void OnDeleteField( wxCommandEvent& event ) override;
62 void OnMoveUp( wxCommandEvent& event ) override;
63 void OnMoveDown( wxCommandEvent& event ) override;
64 void OnAddBodyStyle( wxCommandEvent& event ) override;
65 void OnBodyStyleMoveUp( wxCommandEvent& event ) override;
66 void OnBodyStyleMoveDown( wxCommandEvent& event ) override;
67 void OnDeleteBodyStyle( wxCommandEvent& event ) override;
68 void OnSymbolNameKillFocus( wxFocusEvent& event ) override;
69 void OnSymbolNameText( wxCommandEvent& event ) override;
70 void OnAddFootprintFilter( wxCommandEvent& event ) override;
71 void OnEditFootprintFilter( wxCommandEvent& event ) override;
72 void OnGridCellChanging( wxGridEvent& event );
73 void OnGridCellChanged( wxGridEvent& event );
74 void OnGridMotion( wxMouseEvent& event );
75 void OnEditSpiceModel( wxCommandEvent& event ) override;
76 void OnUpdateUI( wxUpdateUIEvent& event ) override;
77 void OnCancelButtonClick( wxCommandEvent& event ) override;
78 void OnPageChanging( wxNotebookEvent& event ) override;
79 void OnFpFilterDClick( wxMouseEvent& event ) override;
80 void OnAddJumperGroup( wxCommandEvent& event ) override;
81 void OnRemoveJumperGroup( wxCommandEvent& event ) override;
82
83 bool updateUnitCount();
84 void syncControlStates( bool aIsAlias );
85 void addInheritedFields( const std::shared_ptr<LIB_SYMBOL>& aParent );
86
87public:
90
92 std::set<wxString> m_addedTemplateFields;
93
95
102
103 std::bitset<64> m_shownColumns;
104
106
107private:
108 static int m_lastOpenedPage; // To remember the last notebook selection
109
115
117
118 std::unique_ptr<LISTBOX_TRICKS> m_fpFilterTricks;
119};
DIALOG_LIB_SYMBOL_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=ID_LIBEDIT_NOTEBOOK, const wxString &title=_("Library Symbol Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
void OnSymbolNameKillFocus(wxFocusEvent &event) override
void OnUnitSpinCtrlText(wxCommandEvent &event) override
std::unique_ptr< LISTBOX_TRICKS > m_fpFilterTricks
void OnPageChanging(wxNotebookEvent &event) override
void OnBodyStyle(wxCommandEvent &event) override
DIALOG_LIB_SYMBOL_PROPERTIES(SYMBOL_EDIT_FRAME *parent, LIB_SYMBOL *aLibEntry)
void OnUpdateUI(wxUpdateUIEvent &event) override
void OnBodyStyleMoveUp(wxCommandEvent &event) override
void OnCancelButtonClick(wxCommandEvent &event) override
void OnEditFootprintFilter(wxCommandEvent &event) override
void OnDeleteField(wxCommandEvent &event) override
void OnCombobox(wxCommandEvent &event) override
void OnFpFilterDClick(wxMouseEvent &event) override
void OnUnitSpinCtrlEnter(wxCommandEvent &event) override
void OnAddBodyStyle(wxCommandEvent &event) override
void OnMoveUp(wxCommandEvent &event) override
void OnDeleteBodyStyle(wxCommandEvent &event) override
void OnAddJumperGroup(wxCommandEvent &event) override
void OnText(wxCommandEvent &event) override
void OnUnitSpinCtrlKillFocus(wxFocusEvent &event) override
void OnMoveDown(wxCommandEvent &event) override
void OnAddFootprintFilter(wxCommandEvent &event) override
void OnCheckBox(wxCommandEvent &event) override
void OnSymbolNameText(wxCommandEvent &event) override
void OnBodyStyleMoveDown(wxCommandEvent &event) override
void OnRemoveJumperGroup(wxCommandEvent &event) override
void onPowerCheckBox(wxCommandEvent &aEvent) override
void OnAddField(wxCommandEvent &event) override
void OnEditSpiceModel(wxCommandEvent &event) override
void addInheritedFields(const std::shared_ptr< LIB_SYMBOL > &aParent)
void OnUnitSpinCtrl(wxSpinEvent &event) override
Define a library symbol object.
Definition lib_symbol.h:79
The symbol library editor main window.