KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcb_properties_panel.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 (C) 2020 CERN
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * @author Maciej Suminski <[email protected]>
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 3
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program. If not, see <http://www.gnu.org/licenses/>.
21 */
22
23#ifndef PCB_PROPERTIES_PANEL_H
24#define PCB_PROPERTIES_PANEL_H
25
27#include <set>
28
29class SELECTION;
30class BOARD;
33class PG_UNIT_EDITOR;
35class PG_RATIO_EDITOR;
37class PG_FPID_EDITOR;
38class PG_URL_EDITOR;
39
41{
42public:
43 PCB_PROPERTIES_PANEL( wxWindow* aParent, PCB_BASE_EDIT_FRAME* aFrame );
44
45 virtual ~PCB_PROPERTIES_PANEL();
46
47 void UpdateData() override;
48
49 void AfterCommit() override;
50
51protected:
52 void rebuildProperties( const SELECTION& aSelection ) override;
53 wxPGProperty* createPGProperty( const PROPERTY_BASE* aProperty ) const override;
54
55 PROPERTY_BASE* getPropertyFromEvent( const wxPropertyGridEvent& aEvent ) const;
56
57 void valueChanging( wxPropertyGridEvent& aEvent ) override;
58 void valueChanged( wxPropertyGridEvent& aEvent ) override;
59
61 void updateLists( const BOARD* aBoard );
62
63protected:
72
73 static std::set<wxString> m_currentFieldNames;
74 wxPGChoices m_nets;
75};
76
77#endif /* PCB_PROPERTIES_PANEL_H */
Information pertinent to a Pcbnew printed circuit board.
Definition board.h:317
Common, abstract interface for edit frames.
PCB_BASE_EDIT_FRAME * m_frame
PG_NET_SELECTOR_EDITOR * m_netSelectorEditorInstance
void valueChanged(wxPropertyGridEvent &aEvent) override
Regenerates caches storing layer and net names.
PG_UNIT_EDITOR * m_unitEditorInstance
PG_RATIO_EDITOR * m_ratioEditorInstance
wxPGProperty * createPGProperty(const PROPERTY_BASE *aProperty) const override
void rebuildProperties(const SELECTION &aSelection) override
Generates the property grid for a given selection of items.
PCB_PROPERTIES_PANEL(wxWindow *aParent, PCB_BASE_EDIT_FRAME *aFrame)
static std::set< wxString > m_currentFieldNames
PROPERTY_BASE * getPropertyFromEvent(const wxPropertyGridEvent &aEvent) const
PROPERTY_MANAGER & m_propMgr
PG_URL_EDITOR * m_urlEditorInstance
PG_CHECKBOX_EDITOR * m_checkboxEditorInstance
void updateLists(const BOARD *aBoard)
void valueChanging(wxPropertyGridEvent &aEvent) override
PG_FPID_EDITOR * m_fpEditorInstance
PROPERTIES_PANEL(wxWindow *aParent, EDA_BASE_FRAME *aFrame)
Provide class metadata.Helper macro to map type hashes to names.