KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_paste_special.cpp
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 The KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, you may find one here:
18
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19
* or you may search the http://www.gnu.org website for the version 2 license,
20
* or you may write to the Free Software Foundation, Inc.,
21
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22
*/
23
24
#include <
dialogs/dialog_paste_special.h
>
25
26
27
DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL
( wxWindow* aParent,
PASTE_MODE
* aMode,
const
wxString& aDefaultRef ) :
28
DIALOG_PASTE_SPECIAL_BASE
( aParent ),
29
m_mode
( aMode )
30
{
31
m_options
->SetItemToolTip(
static_cast<
int
>
(
PASTE_MODE::UNIQUE_ANNOTATIONS
),
32
_
(
"Finds the next available reference designator for any designators that already "
33
"exist in the design."
) );
34
35
m_options
->SetItemToolTip(
static_cast<
int
>
(
PASTE_MODE::KEEP_ANNOTATIONS
),
36
wxT(
""
) );
// Self explanatory
37
38
m_options
->SetItemToolTip(
static_cast<
int
>
(
PASTE_MODE::REMOVE_ANNOTATIONS
),
39
wxString::Format(
_
(
"Replaces reference designators with '%s'."
), aDefaultRef ) );
40
41
m_options
->SetFocus();
42
43
// Now all widgets have the size fixed, call FinishDialogSettings
44
finishDialogSettings
();
45
}
46
47
48
bool
DIALOG_PASTE_SPECIAL::TransferDataToWindow
()
49
{
50
switch
( *
m_mode
)
51
{
52
case
PASTE_MODE::UNIQUE_ANNOTATIONS
:
m_options
->SetSelection( 0 );
break
;
53
case
PASTE_MODE::KEEP_ANNOTATIONS
:
m_options
->SetSelection( 1 );
break
;
54
case
PASTE_MODE::REMOVE_ANNOTATIONS
:
m_options
->SetSelection( 2 );
break
;
55
}
56
57
return
true
;
58
}
59
60
61
bool
DIALOG_PASTE_SPECIAL::TransferDataFromWindow
()
62
{
63
switch
(
m_options
->GetSelection() )
64
{
65
case
0: *
m_mode
=
PASTE_MODE::UNIQUE_ANNOTATIONS
;
break
;
66
case
1: *
m_mode
=
PASTE_MODE::KEEP_ANNOTATIONS
;
break
;
67
case
2: *
m_mode
=
PASTE_MODE::REMOVE_ANNOTATIONS
;
break
;
68
}
69
70
return
true
;
71
}
72
73
74
void
DIALOG_PASTE_SPECIAL::onRadioBoxEvent
( wxCommandEvent& event )
75
{
76
event
.Skip();
77
78
m_sdbSizerOK
->SetFocus();
79
}
DIALOG_PASTE_SPECIAL_BASE::DIALOG_PASTE_SPECIAL_BASE
DIALOG_PASTE_SPECIAL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Paste Special"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
Definition
dialog_paste_special_base.cpp:12
DIALOG_PASTE_SPECIAL_BASE::m_options
wxRadioBox * m_options
Definition
dialog_paste_special_base.h:35
DIALOG_PASTE_SPECIAL_BASE::m_sdbSizerOK
wxButton * m_sdbSizerOK
Definition
dialog_paste_special_base.h:38
DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL
DIALOG_PASTE_SPECIAL(wxWindow *aParent, PASTE_MODE *aMode, const wxString &aDefaultRef=wxS("?"))
Definition
dialog_paste_special.cpp:27
DIALOG_PASTE_SPECIAL::TransferDataFromWindow
bool TransferDataFromWindow() override
Definition
dialog_paste_special.cpp:61
DIALOG_PASTE_SPECIAL::onRadioBoxEvent
virtual void onRadioBoxEvent(wxCommandEvent &event) override
Definition
dialog_paste_special.cpp:74
DIALOG_PASTE_SPECIAL::TransferDataToWindow
bool TransferDataToWindow() override
Definition
dialog_paste_special.cpp:48
DIALOG_PASTE_SPECIAL::m_mode
PASTE_MODE * m_mode
Definition
dialog_paste_special.h:65
DIALOG_SHIM::finishDialogSettings
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
Definition
dialog_shim.cpp:268
dialog_paste_special.h
PASTE_MODE
PASTE_MODE
Definition
dialog_paste_special.h:34
PASTE_MODE::REMOVE_ANNOTATIONS
@ REMOVE_ANNOTATIONS
Definition
dialog_paste_special.h:37
PASTE_MODE::KEEP_ANNOTATIONS
@ KEEP_ANNOTATIONS
Definition
dialog_paste_special.h:36
PASTE_MODE::UNIQUE_ANNOTATIONS
@ UNIQUE_ANNOTATIONS
Definition
dialog_paste_special.h:35
_
#define _(s)
Definition
eda_3d_actions.cpp:36
src
common
dialogs
dialog_paste_special.cpp
Generated on Sun Sep 21 2025 01:05:20 for KiCad PCB EDA Suite by
1.13.2