KiCad PCB EDA Suite
cvpcb_association_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 Ian McInerney <Ian.S.McInerney@ieee.org>
5  * Copyright (C) 2019 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software: you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the
9  * Free Software Foundation, either version 3 of the License, or (at your
10  * option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef CVPCB_ASSOCIATION_TOOL_H_
22 #define CVPCB_ASSOCIATION_TOOL_H_
23 
24 #include <tool/tool_interactive.h>
25 
26 #include <cvpcb_mainframe.h>
27 
28 
36 {
37 public:
40 
42  void Reset( RESET_REASON aReason ) override;
43 
49  int Undo( const TOOL_EVENT& aEvent );
50 
56  int Redo( const TOOL_EVENT& aEvent );
57 
63  int Associate( const TOOL_EVENT& aEvent );
64 
70  int AutoAssociate( const TOOL_EVENT& aEvent );
71 
77  int DeleteAll( const TOOL_EVENT& aEvent );
78 
84  int DeleteAssoc( const TOOL_EVENT& aEvent );
85 
91  int CopyAssoc( const TOOL_EVENT& aEvent );
92 
98  int CutAssoc( const TOOL_EVENT& aEvent );
99 
105  int PasteAssoc( const TOOL_EVENT& aEvent );
106 
107  /*
108  * Sets up handlers for various events.
109  */
110  void setTransitions() override;
111 
112 private:
114 };
115 
116 #endif
int Associate(const TOOL_EVENT &aEvent)
Associate the selected footprint with the currently selected components.
int PasteAssoc(const TOOL_EVENT &aEvent)
Paste the clipboard onto the current selection.
int CutAssoc(const TOOL_EVENT &aEvent)
Cut the selected associations to the clipboard.
void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
int AutoAssociate(const TOOL_EVENT &aEvent)
Perform automatic footprint association.
int DeleteAll(const TOOL_EVENT &aEvent)
Delete all associations.
void Reset(RESET_REASON aReason) override
Bring the tool to a known, initial state.
Generic, UI-independent tool event.
Definition: tool_event.h:152
int Redo(const TOOL_EVENT &aEvent)
Redo the footprint associations most recently done.
int DeleteAssoc(const TOOL_EVENT &aEvent)
Delete the selected associations.
int Undo(const TOOL_EVENT &aEvent)
Undo the footprint associations most recently done.
RESET_REASON
Determine the reason of reset for a tool.
Definition: tool_base.h:77
int CopyAssoc(const TOOL_EVENT &aEvent)
Copy the selected associations to the clipboard.
The CvPcb application main window.