KiCad PCB EDA Suite
Loading...
Searching...
No Matches
generator_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) 2023 Alex Shvartzkop <[email protected]>
5 * Copyright The 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, see <https://www.gnu.org/licenses/>.
19 */
20
21#ifndef GENERATOR_TOOL_H
22#define GENERATOR_TOOL_H
23
25#include <pcb_generator.h>
27
28
30class PCB_EDIT_FRAME;
33
34
39{
40public:
43
45 void Reset( RESET_REASON aReason ) override;
46
48 bool Init() override;
49
51
52 int ShowGeneratorsManager( const TOOL_EVENT& aEvent );
53
54 int RegenerateSelected( const TOOL_EVENT& aEvent );
55 int RegenerateAllOfType( const TOOL_EVENT& aEvent );
56 int RegenerateOutdated( const TOOL_EVENT& aEvent );
57 int RegenerateItem( const TOOL_EVENT& aEvent );
58 int GenEditAction( const TOOL_EVENT& aEvent );
59
60private:
62 void setTransitions() override;
63
65
70};
71
72#endif
GENERATOR_TOOL_PNS_PROXY(const std::string &aToolName)
int ShowGeneratorsManager(const TOOL_EVENT &aEvent)
void setTransitions() override
< Set up handlers for various events.
int RegenerateSelected(const TOOL_EVENT &aEvent)
int GenEditAction(const TOOL_EVENT &aEvent)
int RegenerateItem(const TOOL_EVENT &aEvent)
int RegenerateOutdated(const TOOL_EVENT &aEvent)
DIALOG_GENERATORS * m_mgrDialog
PROPERTY_LISTENER_SUBSCRIPTION m_boardItemListener
RAII PROPERTY_MANAGER listener subscriptions; auto-unregister on destruction so this tool composes cl...
int RegenerateAllOfType(const TOOL_EVENT &aEvent)
PROPERTY_LISTENER_SUBSCRIPTION m_generatorListener
bool Init() override
Init() is called once upon a registration of the tool.
The main frame for Pcbnew.
A progress reporter interface for use in multi-threaded environments.
Move-only RAII wrapper around a single listener registration.
RESET_REASON
Determine the reason of reset for a tool.
Definition tool_base.h:74
Generic, UI-independent tool event.
Definition tool_event.h:167
Multi-thread safe progress reporter dialog, intended for use of tasks that parallel reporting back of...
void Reset() override