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, you may find one here:
18 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19 * or you may search the http://www.gnu.org website for the version 2 license,
20 * or you may write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23
24
25#pragma once
26
27#include <memory>
28
29#include <fields_grid_table.h>
30#include <widgets/unit_binder.h>
32
33
35class LIB_SYMBOL;
36class LISTBOX_TRICKS;
38class WX_GRID;
39
40
42{
43public:
46
47protected:
48 bool TransferDataToWindow() override;
49 bool TransferDataFromWindow() override;
50
51 bool Validate() override;
52
53 void onPowerCheckBox( wxCommandEvent& aEvent ) override;
54 void OnText( wxCommandEvent& event ) override;
55 void OnCombobox( wxCommandEvent& event ) override;
56 void OnCheckBox( wxCommandEvent& event ) override;
57 void OnUnitSpinCtrl( wxSpinEvent& event ) override;
58 void OnUnitSpinCtrlText( wxCommandEvent& event ) override;
59 void OnUnitSpinCtrlKillFocus( wxFocusEvent& event ) override;
60 void OnUnitSpinCtrlEnter( wxCommandEvent& event ) override;
61 void OnBodyStyle( wxCommandEvent& event ) override;
62
63private:
64 void OnAddField( wxCommandEvent& event ) override;
65 void OnDeleteField( wxCommandEvent& event ) override;
66 void OnMoveUp( wxCommandEvent& event ) override;
67 void OnMoveDown( wxCommandEvent& event ) override;
68 void OnAddBodyStyle( wxCommandEvent& event ) override;
69 void OnBodyStyleMoveUp( wxCommandEvent& event ) override;
70 void OnBodyStyleMoveDown( wxCommandEvent& event ) override;
71 void OnDeleteBodyStyle( wxCommandEvent& event ) override;
72 void OnSymbolNameKillFocus( wxFocusEvent& event ) override;
73 void OnSymbolNameText( wxCommandEvent& event ) override;
74 void OnAddFootprintFilter( wxCommandEvent& event ) override;
75 void OnEditFootprintFilter( wxCommandEvent& event ) override;
76 void OnSizeGrid( wxSizeEvent& event ) override;
77 void OnGridCellChanging( wxGridEvent& event );
78 void OnGridCellChanged( wxGridEvent& event );
79 void OnGridMotion( wxMouseEvent& event );
80 void OnEditSpiceModel( wxCommandEvent& event ) override;
81 void OnUpdateUI( wxUpdateUIEvent& event ) override;
82 void OnCancelButtonClick( wxCommandEvent& event ) override;
83 void OnPageChanging( wxNotebookEvent& event ) override;
84 void OnFpFilterDClick( wxMouseEvent& event ) override;
85 void OnBtnCreateJumperPinGroup( wxCommandEvent& event ) override;
86 void OnBtnRemoveJumperPinGroup( wxCommandEvent& event ) override;
87 void OnGroupedPinListClick( wxCommandEvent& event ) override;
88 void OnAvailablePinsClick( wxCommandEvent& event ) override;
89
90 bool updateUnitCount();
91 void adjustGridColumns();
92 void syncControlStates( bool aIsAlias );
93
94public:
97
99 std::set<wxString> m_addedTemplateFields;
100
102
109
110 std::bitset<64> m_shownColumns;
111 wxSize m_size;
112
114
115private:
116 static int m_lastOpenedPage; // To remember the last notebook selection
117
123
125
126 std::unique_ptr<LISTBOX_TRICKS> m_fpFilterTricks;
127};
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
void OnSizeGrid(wxSizeEvent &event) override
DIALOG_LIB_SYMBOL_PROPERTIES(SYMBOL_EDIT_FRAME *parent, LIB_SYMBOL *aLibEntry)
void OnGroupedPinListClick(wxCommandEvent &event) override
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 OnAvailablePinsClick(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 onPowerCheckBox(wxCommandEvent &aEvent) override
void OnBtnCreateJumperPinGroup(wxCommandEvent &event) override
void OnAddField(wxCommandEvent &event) override
void OnEditSpiceModel(wxCommandEvent &event) override
void OnUnitSpinCtrl(wxSpinEvent &event) override
void OnBtnRemoveJumperPinGroup(wxCommandEvent &event) override
Define a library symbol object.
Definition lib_symbol.h:85
The symbol library editor main window.