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, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#include <
dialogs/dialog_paste_special.h
>
21
22
23
DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL
( wxWindow* aParent,
PASTE_MODE
* aMode,
const
wxString& aDefaultRef ) :
24
DIALOG_PASTE_SPECIAL_BASE
( aParent ),
25
m_mode
( aMode )
26
{
27
m_options
->SetItemToolTip(
static_cast<
int
>
(
PASTE_MODE::UNIQUE_ANNOTATIONS
),
28
_
(
"Finds the next available reference designator for any designators that already "
29
"exist in the design."
) );
30
31
m_options
->SetItemToolTip(
static_cast<
int
>
(
PASTE_MODE::KEEP_ANNOTATIONS
),
32
wxT(
""
) );
// Self explanatory
33
34
m_options
->SetItemToolTip(
static_cast<
int
>
(
PASTE_MODE::REMOVE_ANNOTATIONS
),
35
wxString::Format(
_
(
"Replaces reference designators with '%s'."
), aDefaultRef ) );
36
37
m_options
->SetFocus();
38
39
// Now all widgets have the size fixed, call FinishDialogSettings
40
finishDialogSettings
();
41
}
42
43
44
bool
DIALOG_PASTE_SPECIAL::TransferDataToWindow
()
45
{
46
switch
( *
m_mode
)
47
{
48
case
PASTE_MODE::UNIQUE_ANNOTATIONS
:
m_options
->SetSelection( 0 );
break
;
49
case
PASTE_MODE::KEEP_ANNOTATIONS
:
m_options
->SetSelection( 1 );
break
;
50
case
PASTE_MODE::REMOVE_ANNOTATIONS
:
m_options
->SetSelection( 2 );
break
;
51
}
52
53
return
true
;
54
}
55
56
57
bool
DIALOG_PASTE_SPECIAL::TransferDataFromWindow
()
58
{
59
switch
(
m_options
->GetSelection() )
60
{
61
case
0: *
m_mode
=
PASTE_MODE::UNIQUE_ANNOTATIONS
;
break
;
62
case
1: *
m_mode
=
PASTE_MODE::KEEP_ANNOTATIONS
;
break
;
63
case
2: *
m_mode
=
PASTE_MODE::REMOVE_ANNOTATIONS
;
break
;
64
}
65
66
return
true
;
67
}
68
69
70
void
DIALOG_PASTE_SPECIAL::onRadioBoxEvent
( wxCommandEvent& event )
71
{
72
event
.Skip();
73
74
m_sdbSizerOK
->SetFocus();
75
}
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:23
DIALOG_PASTE_SPECIAL::TransferDataFromWindow
bool TransferDataFromWindow() override
Definition
dialog_paste_special.cpp:57
DIALOG_PASTE_SPECIAL::onRadioBoxEvent
virtual void onRadioBoxEvent(wxCommandEvent &event) override
Definition
dialog_paste_special.cpp:70
DIALOG_PASTE_SPECIAL::TransferDataToWindow
bool TransferDataToWindow() override
Definition
dialog_paste_special.cpp:44
DIALOG_PASTE_SPECIAL::m_mode
PASTE_MODE * m_mode
Definition
dialog_paste_special.h:61
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:306
dialog_paste_special.h
PASTE_MODE
PASTE_MODE
Definition
dialog_paste_special.h:30
PASTE_MODE::REMOVE_ANNOTATIONS
@ REMOVE_ANNOTATIONS
Definition
dialog_paste_special.h:33
PASTE_MODE::KEEP_ANNOTATIONS
@ KEEP_ANNOTATIONS
Definition
dialog_paste_special.h:32
PASTE_MODE::UNIQUE_ANNOTATIONS
@ UNIQUE_ANNOTATIONS
Definition
dialog_paste_special.h:31
_
#define _(s)
Definition
eda_3d_actions.cpp:36
src
common
dialogs
dialog_paste_special.cpp
Generated on Fri Jun 26 2026 00:05:31 for KiCad PCB EDA Suite by
1.13.2