KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ee_inspection_tool.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) 2019 CERN
5 * Copyright (C) 2019-2023 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, you may find one here:
19 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20 * or you may search the http://www.gnu.org website for the version 2 license,
21 * or you may write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 */
24
25#ifndef EE_INSPECTION_TOOL_H
26#define EE_INSPECTION_TOOL_H
27
28#include <tools/ee_tool_base.h>
30#include <sch_base_frame.h>
31
32
34class SCH_BASE_FRAME;
35class DIALOG_ERC;
37
38
39class EE_INSPECTION_TOOL : public wxEvtHandler, public EE_TOOL_BASE<SCH_BASE_FRAME>
40{
41public:
44
46 bool Init() override;
47
48 void Reset( RESET_REASON aReason ) override;
49
50 int RunERC( const TOOL_EVENT& aEvent );
51 void ShowERCDialog();
52
53 int PrevMarker( const TOOL_EVENT& aEvent );
54 int NextMarker( const TOOL_EVENT& aEvent );
55
57 int CrossProbe( const TOOL_EVENT& aEvent );
58
59 void CrossProbe( const SCH_MARKER* aMarker );
60
61 wxString InspectERCErrorMenuText( const std::shared_ptr<RC_ITEM>& aERCItem );
62 void InspectERCError( const std::shared_ptr<RC_ITEM>& aERCItem );
63
64 int ExcludeMarker( const TOOL_EVENT& aEvent );
65
66 int ShowBusSyntaxHelp( const TOOL_EVENT& aEvent );
67
68 int CheckSymbol( const TOOL_EVENT& aEvent );
69 int DiffSymbol( const TOOL_EVENT& aEvent );
70 void DiffSymbol( SCH_SYMBOL* aSymbol );
71
72 int RunSimulation( const TOOL_EVENT& aEvent );
73
74 int ShowDatasheet( const TOOL_EVENT& aEvent );
75
77 int UpdateMessagePanel( const TOOL_EVENT& aEvent );
78
79private:
80 SYMBOL_DIFF_WIDGET* constructDiffPanel( wxPanel* aParentPanel );
81
83 void setTransitions() override;
84
85private:
87};
88
89#endif /* EE_INSPECTION_TOOL_H */
void InspectERCError(const std::shared_ptr< RC_ITEM > &aERCItem)
HTML_MESSAGE_BOX * m_busSyntaxHelp
int RunSimulation(const TOOL_EVENT &aEvent)
int NextMarker(const TOOL_EVENT &aEvent)
int DiffSymbol(const TOOL_EVENT &aEvent)
int PrevMarker(const TOOL_EVENT &aEvent)
wxString InspectERCErrorMenuText(const std::shared_ptr< RC_ITEM > &aERCItem)
int ShowDatasheet(const TOOL_EVENT &aEvent)
SYMBOL_DIFF_WIDGET * constructDiffPanel(wxPanel *aParentPanel)
This method is meant to be overridden in order to specify handlers for events.
void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
int ExcludeMarker(const TOOL_EVENT &aEvent)
int UpdateMessagePanel(const TOOL_EVENT &aEvent)
Display the selected item info (when clicking on a item)
int ShowBusSyntaxHelp(const TOOL_EVENT &aEvent)
bool Init() override
Init() is called once upon a registration of the tool.
int RunERC(const TOOL_EVENT &aEvent)
int CheckSymbol(const TOOL_EVENT &aEvent)
int CrossProbe(const TOOL_EVENT &aEvent)
Called when clicking on a item:
A foundation class for a tool operating on a schematic or symbol.
Definition: ee_tool_base.h:48
A shim class between EDA_DRAW_FRAME and several derived classes: SYMBOL_EDIT_FRAME,...
Schematic symbol object.
Definition: sch_symbol.h:109
RESET_REASON
Determine the reason of reset for a tool.
Definition: tool_base.h:78
Generic, UI-independent tool event.
Definition: tool_event.h:167
void Reset() override