1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 
21 #ifndef KICAD_DIALOG_SCHEMATIC_SETUP_H
22 #define KICAD_DIALOG_SCHEMATIC_SETUP_H
23 
24 #include <widgets/paged_dialog.h>
25 
26 class SCH_EDIT_FRAME;
27 class PANEL_SETUP_SEVERITIES;
28 class PANEL_EESCHEMA_TEMPLATE_FIELDNAMES;
29 class PANEL_SETUP_FORMATTING;
30 class PANEL_SETUP_PINMAP;
31 class PANEL_TEXT_VARIABLES;
32 class PANEL_SETUP_NETCLASSES;
33 class ERC_ITEM;
34 
35 
36 class DIALOG_SCHEMATIC_SETUP : public PAGED_DIALOG
37 {
38 public:
39     DIALOG_SCHEMATIC_SETUP( SCH_EDIT_FRAME* aFrame );
40     ~DIALOG_SCHEMATIC_SETUP();
41 
42 protected:
43     void OnAuxiliaryAction( wxCommandEvent& event ) override;
44 
45     SCH_EDIT_FRAME*                     m_frame;
46 
47     PANEL_SETUP_FORMATTING*             m_formatting;
48     PANEL_EESCHEMA_TEMPLATE_FIELDNAMES* m_fieldNameTemplates;
49     PANEL_SETUP_PINMAP*                 m_pinMap;
50     PANEL_SETUP_SEVERITIES*             m_severities;
51     PANEL_SETUP_NETCLASSES*             m_netclasses;
52     PANEL_TEXT_VARIABLES*               m_textVars;
53     std::shared_ptr<ERC_ITEM>           m_pinToPinError;
54 
55     std::vector<bool>                   m_macHack;
56 
57     // event handlers
58     void OnPageChange( wxBookCtrlEvent& event );
59 };
60 
61 
62 #endif //KICAD_DIALOG_SCHEMATIC_SETUP_H
63