KiCad PCB EDA Suite
dialog_push_pad_properties.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 (C) 2017-2021 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 
26 
27 #include <pad.h>
28 #include <macros.h>
29 #include <pcb_edit_frame.h>
30 
31 
32 // Class DIALOG_PUSH_PAD_PROPERTIES static variables
37 
38 
41  m_parent( aParent )
42 {
43  // Pad filter selection.
48 
49  // We use a sdbSizer to get platform-dependent ordering of the action buttons, but
50  // that requires us to correct the button labels here.
51  m_sdbSizer1OK->SetLabel( _( "Change Pads on Current Footprint" ) );
52 
53  if( aParent->IsType( FRAME_FOOTPRINT_EDITOR ) )
54  m_sdbSizer1Apply->Show( false );
55  else
56  m_sdbSizer1Apply->SetLabel( _( "Change Pads on Identical Footprints" ) );
57 
58  m_sdbSizer1->Layout();
59 
60  m_sdbSizer1OK->SetDefault();
61 
63 }
64 
65 
67 {
68  int returncode = 0;
69 
70  switch( event.GetId() )
71  {
72  case wxID_APPLY:
73  returncode = 1;
75 
76  case wxID_OK:
81 
82  if( IsQuasiModal() )
83  EndQuasiModal( returncode );
84  else
85  EndDialog( returncode );
86 
87  break;
88  }
89 
90  m_parent->OnModify();
91 }
bool IsQuasiModal() const
Definition: dialog_shim.h:106
#define KI_FALLTHROUGH
The KI_FALLTHROUGH macro is to be used when switch statement cases should purposely fallthrough from ...
Definition: macros.h:83
void PadPropertiesAccept(wxCommandEvent &event) override
This file contains miscellaneous commonly used macros and functions.
Class DIALOG_PUSH_PAD_PROPERTIES_BASE.
#define _(s)
DIALOG_PUSH_PAD_PROPERTIES(PCB_BASE_FRAME *aParent)
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
void EndQuasiModal(int retCode)
virtual void OnModify()
Must be called after a change in order to set the "modify" flag of the current screen and update the ...
bool IsType(FRAME_T aType) const
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.