KiCad PCB EDA Suite
confirm.h File Reference

This file is part of the common library. More...

#include <wx/richmsgdlg.h>
#include <vector>
#include <functional>

Go to the source code of this file.

Classes

class  KIDIALOG
 Helper class to create more flexible dialogs, including 'do not show again' checkbox handling. More...
 

Functions

bool HandleUnsavedChanges (wxWindow *aParent, const wxString &aMessage, const std::function< bool()> &aSaveFunction)
 Display a dialog with Save, Cancel and Discard Changes buttons. More...
 
int UnsavedChangesDialog (wxWindow *aParent, wxString aMessage, bool *aApplyToAll)
 A specialized version of HandleUnsavedChanges which handles an apply-to-all checkbox. More...
 
int UnsavedChangesDialog (wxWindow *aParent, const wxString &aMessage)
 
bool ConfirmRevertDialog (wxWindow *parent, const wxString &aMessage)
 Display a confirmation dialog for a revert action. More...
 
void DisplayError (wxWindow *aParent, const wxString &aText, int aDisplayTime=0)
 Display an error or warning message box with aMessage. More...
 
void DisplayErrorMessage (wxWindow *aParent, const wxString &aMessage, const wxString &aExtraInfo=wxEmptyString)
 Display an error message with aMessage. More...
 
void DisplayInfoMessage (wxWindow *parent, const wxString &aMessage, const wxString &aExtraInfo=wxEmptyString)
 Display an informational message box with aMessage. More...
 
bool IsOK (wxWindow *aParent, const wxString &aMessage)
 Display a yes/no dialog with aMessage and returns the user response. More...
 
int OKOrCancelDialog (wxWindow *aParent, const wxString &aWarning, const wxString &aMessage, wxString aDetailedMessage=wxEmptyString, wxString aOKLabel=wxEmptyString, wxString aCancelLabel=wxEmptyString, bool *aApplyToAll=nullptr)
 Display a warning dialog with aMessage and returns the user response. More...
 
int SelectSingleOption (wxWindow *aParent, const wxString &aTitle, const wxString &aMessage, const wxArrayString &aOptions)
 Display a dialog with radioboxes asking the user to select an option. More...
 

Detailed Description

This file is part of the common library.

See also
common.h

Definition in file confirm.h.

Function Documentation

◆ ConfirmRevertDialog()

bool ConfirmRevertDialog ( wxWindow *  parent,
const wxString &  aMessage 
)

Display a confirmation dialog for a revert action.

Definition at line 196 of file confirm.cpp.

197 {
198  wxMessageDialog dlg( parent, aMessage, wxEmptyString,
199  wxOK | wxCANCEL | wxOK_DEFAULT | wxICON_WARNING | wxCENTER );
200  dlg.SetExtendedMessage( _( "Your current changes will be permanently lost." ) );
201  dlg.SetOKCancelLabels( _( "Revert" ), _( "Cancel" ) );
202 
203  return dlg.ShowModal() == wxID_OK;
204 }
#define _(s)

References _.

Referenced by SYMBOL_EDIT_FRAME::Revert(), and FOOTPRINT_EDIT_FRAME::RevertFootprint().

◆ DisplayError()

void DisplayError ( wxWindow *  aParent,
const wxString &  aText,
int  aDisplayTime = 0 
)

Display an error or warning message box with aMessage.

Warning
Setting displaytime does not work. Do not use it.

Definition at line 252 of file confirm.cpp.

253 {
254  wxMessageDialog* dlg;
255  int icon = aDisplayTime > 0 ? wxICON_INFORMATION : wxICON_ERROR;
256 
257  dlg = new wxMessageDialog( aParent, aText, _( "Warning" ),
258  wxOK | wxCENTRE | wxRESIZE_BORDER | icon | wxSTAY_ON_TOP );
259 
260  dlg->ShowModal();
261  dlg->Destroy();
262 }
#define _(s)

References _.

Referenced by DIALOG_COPPER_ZONE::AcceptOptions(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), PCB_CONTROL::AppendBoard(), SYMBOL_EDIT_FRAME::backupFile(), SCH_EDIT_FRAME::CheckSheetForRecursion(), FOOTPRINT_VIEWER_FRAME::ClickOnFootprintList(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), MICROWAVE_TOOL::createFootprint(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), SPICE_SIMULATOR::CreateInstance(), PCB_BASE_EDIT_FRAME::createNewLibrary(), SYMBOL_EDIT_FRAME::CreateNewSymbol(), UNIT_BINDER::delayedFocusHandler(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), PANEL_SETUP_LAYERS::DenyChangeCheckBox(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), doPrintFile(), DIALOG_SIM_SETTINGS::evaluateDCControls(), ExecuteFile(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), GBR_TO_PCB_EXPORTER::ExportPcb(), DIALOG_EXPORT_SVG::ExportSVGFile(), SYMBOL_EDIT_FRAME::ExportSymbol(), PCB_EDIT_FRAME::ExportToGenCAD(), NETLIST_EXPORTER_PSPICE::Format(), DIALOG_GENDRILL::GenDrillAndMapFiles(), DIALOG_SPICE_MODEL::generatePowerSource(), PCB_EDIT_FRAME::GenFootprintsReport(), GetAssociatedDocument(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), SCH_EDIT_FRAME::importFile(), FOOTPRINT_EDIT_FRAME::ImportFootprint(), SCH_EDITOR_CONTROL::ImportFPAssignments(), SYMBOL_EDIT_FRAME::ImportSymbol(), DIALOG_PRINT_GENERIC::initPrintData(), SYMBOL_EDIT_FRAME::LoadSymbol(), SCH_EDIT_FRAME::NewProject(), DIALOG_FIELDS_EDITOR_GLOBAL::OnAddField(), DIALOG_CONFIG_EQUFILES::OnAddFiles(), DIALOG_BOM::OnAddGenerator(), DIALOG_NET_INSPECTOR::onAddNet(), DIALOG_FIELDS_EDITOR_GLOBAL::OnColumnItemToggled(), DIALOG_LIB_SYMBOL_PROPERTIES::OnDeleteField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnDeleteField(), DIALOG_SHEET_PROPERTIES::OnDeleteField(), DIALOG_SYMBOL_PROPERTIES::OnDeleteField(), DIALOG_FOOTPRINT_PROPERTIES::OnDeleteField(), DIALOG_LIB_SYMBOL_PROPERTIES::OnGridCellChanging(), DIALOG_SYMBOL_PROPERTIES::OnGridCellChanging(), SCH_EDIT_FRAME::OnOpenCvpcb(), DIALOG_PRINT_GENERIC::onPrintButtonClick(), DIALOG_PRINT_GENERIC::onPrintPreview(), DIALOG_NET_INSPECTOR::onRenameNet(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), PCB_DRAW_PANEL_GAL::OnShow(), SCH_EDIT_FRAME::OnUpdatePCB(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnUpdateUI(), DIALOG_LIB_SYMBOL_PROPERTIES::OnUpdateUI(), DIALOG_FOOTPRINT_PROPERTIES::OnUpdateUI(), OpenPDF(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_GRID_TRICKS::paste_text(), FP_GRID_TRICKS::paste_text(), DIALOG_PLOT::Plot(), NETLIST_EXPORTER_PSPICE::ProcessNetlist(), MWAVE_POLYGONAL_SHAPE_DLG::ReadDataShapeDescr(), PCB_EDIT_FRAME::RecreateBOMFileFromBoard(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), KIGFX::VERTEX_MANAGER::Reserve(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), FOOTPRINT_EDIT_FRAME::SaveLibraryAs(), PCB_EDIT_FRAME::SavePcbCopy(), PCB_EDIT_FRAME::SavePcbFile(), SYMBOL_EDIT_FRAME::saveSymbolAs(), KIGFX::GPU_MANAGER::SetShader(), EDA_DRAW_PANEL_GAL::SwitchBackend(), PCB_EDIT_FRAME::TestStandalone(), DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG::TransferDataFromWindow(), DIALOG_GLOBAL_FP_LIB_TABLE_CONFIG::TransferDataFromWindow(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_TRACK_VIA_SIZE::TransferDataFromWindow(), DIALOG_SCH_IMPORT_SETTINGS::TransferDataFromWindow(), DIALOG_IMPORT_SETTINGS::TransferDataFromWindow(), DIALOG_LIB_EDIT_DRAW_ITEM::TransferDataFromWindow(), DIALOG_PRINT_USING_PRINTER::TransferDataFromWindow(), DIALOG_RULE_AREA_PROPERTIES::TransferDataFromWindow(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataFromWindow(), DIALOG_EDIT_ONE_FIELD::TransferDataFromWindow(), DIALOG_LABEL_EDITOR::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_SIM_SETTINGS::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), REGEX_VALIDATOR::Validate(), SPICE_VALIDATOR::Validate(), KIGFX::VERTEX_MANAGER::Vertex(), KIGFX::VERTEX_MANAGER::Vertices(), NETLIST_EXPORTER_ORCADPCB2::WriteNetlist(), NETLIST_EXPORTER_CADSTAR::WriteNetlist(), NETLIST_EXPORTER_KICAD::WriteNetlist(), and LEGACY_RESCUER::WriteRescueLibrary().

◆ DisplayErrorMessage()

void DisplayErrorMessage ( wxWindow *  aParent,
const wxString &  aMessage,
const wxString &  aExtraInfo = wxEmptyString 
)

Display an error message with aMessage.

Parameters
aParentis the parent window
aMessageis the message text to display
aExtraInfois extra data that can be optionally displayed in a collapsible pane

Definition at line 265 of file confirm.cpp.

266 {
267  wxMessageDialog* dlg;
268 
269  dlg = new wxMessageDialog( aParent, aText, _( "Error" ),
270  wxOK | wxCENTRE | wxRESIZE_BORDER | wxICON_ERROR | wxSTAY_ON_TOP );
271 
272  if( !aExtraInfo.IsEmpty() )
273  dlg->SetExtendedMessage( aExtraInfo );
274 
275  dlg->ShowModal();
276  dlg->Destroy();
277 }
#define _(s)

References _.

Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SIM_PLOT_FRAME::AddTuner(), CVPCB_ASSOCIATION_TOOL::Associate(), CVPCB_MAINFRAME::AssociateFootprint(), PANEL_FP_LIB_TABLE::browseLibrariesHandler(), checkGlError(), SCH_EDIT_FRAME::CreateArchiveLibrary(), PROJECT_TREE_ITEM::Delete(), PCB_EDIT_FRAME::ExportSpecctraFile(), SYMBOL_EDIT_FRAME::ExportSymbol(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::FetchNetlistFromSchematic(), PL_EDITOR_FRAME::Files_io(), SCH_EDIT_FRAME::importFile(), PCB_EDIT_FRAME::ImportSpecctraSession(), SYMBOL_EDIT_FRAME::ImportSymbol(), PGM_BASE::InitPgm(), FOOTPRINT_EDIT_FRAME::KiwayMailIn(), SYMBOL_EDIT_FRAME::KiwayMailIn(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromCurrentLib(), SIM_PLOT_FRAME::menuOpenWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbookAs(), SETTINGS_MANAGER::MigrateIfNeeded(), KICAD_MANAGER_CONTROL::NewFromTemplate(), KICAD_MANAGER_CONTROL::NewProject(), DIALOG_SCHEMATIC_SETUP::OnAuxiliaryAction(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), PANEL_SYM_LIB_TABLE::onConvertLegacyLibraries(), DIALOG_EXPORT_STEP::onExportButton(), PCB_EDIT_FRAME::OnExportSTEP(), PCB_EDIT_FRAME::OnExportVRML(), CV::IFACE::OnKifaceStart(), PCB::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), PANEL_SETUP_NETCLASSES::OnRemoveNetclassClick(), SIM_PLOT_FRAME::onSettings(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), PANEL_TEXT_VARIABLES::OnUpdateUI(), DIALOG_CONFIGURE_PATHS::OnUpdateUI(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), PROJECT::PcbFootprintLibs(), KIWAY::Player(), SYMBOL_EDIT_FRAME::Save(), SYMBOL_EDIT_FRAME::saveLibrary(), KICAD_MANAGER_CONTROL::SaveProjectAs(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SchGetLibSymbol(), KIWAY::SetLanguage(), SYMBOL_VIEWER_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SIM_PLOT_FRAME::StartSimulation(), DIALOG_PNS_DIFF_PAIR_DIMENSIONS::TransferDataFromWindow(), DIALOG_LIB_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_PIN_PROPERTIES::TransferDataFromWindow(), SYMBOL_EDIT_FRAME::UpdateAfterSymbolProperties(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), DIALOG_SHEET_PROPERTIES::Validate(), DIALOG_SYMBOL_PROPERTIES::Validate(), IPC356D_WRITER::Write(), and SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary().

◆ DisplayInfoMessage()

void DisplayInfoMessage ( wxWindow *  parent,
const wxString &  aMessage,
const wxString &  aExtraInfo = wxEmptyString 
)

Display an informational message box with aMessage.

Parameters
aParentis the parent window
aMessageis the message text to display
aExtraInfois the extra data that can be optionally displayed in a collapsible pane

Definition at line 280 of file confirm.cpp.

281 {
282  wxRichMessageDialog* dlg;
283  int icon = wxICON_INFORMATION;
284 
285  dlg = new wxRichMessageDialog( aParent, aMessage, _( "Info" ),
286  wxOK | wxCENTRE | wxRESIZE_BORDER | icon | wxSTAY_ON_TOP );
287 
288  if( !aExtraInfo.IsEmpty() )
289  dlg->ShowDetailedText( aExtraInfo );
290 
291  dlg->ShowModal();
292  dlg->Destroy();
293 }
#define _(s)

References _.

Referenced by SCH_EDIT_FRAME::checkForNoFullyDefinedLibIds(), EE_INSPECTION_TOOL::CheckSymbol(), SCH_EDIT_TOOL::CleanupSheetPins(), PCB_BASE_FRAME::CreateNewFootprint(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), EDA_DRAW_PANEL_GAL::DoRePaint(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), GERBVIEW_CONTROL::ExportToPcbnew(), PCB_EDIT_FRAME::Files_io_from_id(), PGM_BASE::GetEditorName(), DIALOG_PRINT_GENERIC::getScaleValue(), SIM_PLOT_FRAME::onAddSignal(), CV::IFACE::OnKifaceStart(), SIM_PLOT_FRAME::onProbe(), SCH_DRAW_PANEL::OnShow(), SCH_EDIT_FRAME::OpenProjectFiles(), DIALOG_PLOT::Plot(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveLibraryAs(), PCB_EDIT_FRAME::SavePcbCopy(), ROUTER_TOOL::SelectCopperLayerPair(), KICAD_MANAGER_CONTROL::ShowPlayer(), SIM_PLOT_FRAME::StartSimulation(), and EDA_DRAW_PANEL_GAL::SwitchBackend().

◆ HandleUnsavedChanges()

bool HandleUnsavedChanges ( wxWindow *  aParent,
const wxString &  aMessage,
const std::function< bool()> &  aSaveFunction 
)

Display a dialog with Save, Cancel and Discard Changes buttons.

Parameters
aParent= the parent window
aMessage= the main message to put in dialog
aSaveFunction= a function to save changes, if requested. Must return true if the save was successful and false otherwise (which will result in HandleUnsavedChanges() returning wxID_CANCEL).
Returns
wxID_YES, wxID_CANCEL, wxID_NO.

Definition at line 207 of file confirm.cpp.

209 {
210  switch( UnsavedChangesDialog( aParent, aMessage ) )
211  {
212  case wxID_YES: return aSaveFunction();
213  case wxID_NO: return true;
214  default:
215  case wxID_CANCEL: return false;
216  }
217 }
int UnsavedChangesDialog(wxWindow *parent, wxString aMessage, bool *aApplyToAll)
A specialized version of HandleUnsavedChanges which handles an apply-to-all checkbox.
Definition: confirm.cpp:154

References UnsavedChangesDialog().

Referenced by SCH_EDIT_FRAME::AskToSaveChanges(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), PL_EDITOR_FRAME::canCloseWindow(), CVPCB_MAINFRAME::canCloseWindow(), SIM_PLOT_FRAME::canCloseWindow(), PCB_EDIT_FRAME::canCloseWindow(), SCH_EDIT_FRAME::canCloseWindow(), FOOTPRINT_EDIT_FRAME::Clear_Pcb(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), PL_EDITOR_FRAME::Files_io(), PCB_EDIT_FRAME::Files_io_from_id(), SYMBOL_EDIT_FRAME::LoadSymbol(), DIALOG_FIELDS_EDITOR_GLOBAL::OnClose(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), PL_EDITOR_FRAME::OnFileHistory(), and PCB_EDIT_FRAME::OpenProjectFiles().

◆ IsOK()

bool IsOK ( wxWindow *  aParent,
const wxString &  aMessage 
)

Display a yes/no dialog with aMessage and returns the user response.

Parameters
aParentis the parent window. NULL can be used if the parent is the top level window.
aMessageis the message to display in the dialog box.
Returns
True if user selected the yes button, otherwise false.

Definition at line 296 of file confirm.cpp.

297 {
298  wxMessageDialog dlg( aParent, aMessage, _( "Confirmation" ),
299  wxYES_NO | wxCENTRE | wxICON_QUESTION | wxSTAY_ON_TOP );
300  dlg.SetEscapeId( wxID_NO );
301 
302  return dlg.ShowModal() == wxID_YES;
303 }
#define _(s)

References _.

Referenced by DIALOG_IMAGE_EDITOR::CheckValues(), SCH_EDIT_TOOL::CleanupSheetPins(), GERBVIEW_FRAME::Clear_DrawLayers(), PCB_EDIT_FRAME::Clear_Pcb(), CVPCB_ASSOCIATION_TOOL::DeleteAll(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), SYMBOL_EDIT_FRAME::DeleteSymbolFromLibrary(), DIALOG_GLOBAL_DELETION::doGlobalDeletions(), GERBVIEW_FRAME::Erase_Current_DrawLayer(), PCB_EDIT_FRAME::Files_io_from_id(), KICAD_MANAGER_CONTROL::NewProject(), SCH_EDIT_FRAME::OnAppendProject(), DIALOG_BOARD_REANNOTATE::OnApplyClick(), PANEL_SETUP_RULES::onCharHook(), PANEL_SYM_LIB_TABLE::onConvertLegacyLibraries(), DIALOG_NET_INSPECTOR::onDeleteNet(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), DIALOG_PAGES_SETTINGS::OnWksFileSelection(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), SCH_EDIT_FRAME::ReadyToNetlist(), DIALOG_BOARD_REANNOTATE::ReannotateBoard(), DIALOG_PIN_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), and DIALOG_LIB_SYMBOL_PROPERTIES::Validate().

◆ OKOrCancelDialog()

int OKOrCancelDialog ( wxWindow *  aParent,
const wxString &  aWarning,
const wxString &  aMessage,
wxString  aDetailedMessage = wxEmptyString,
wxString  aOKLabel = wxEmptyString,
wxString  aCancelLabel = wxEmptyString,
bool *  aApplyToAll = nullptr 
)

Display a warning dialog with aMessage and returns the user response.

Parameters
aParentis the parent window. NULL can be used if the parent is the top level window.
aWarningis the warning to display in the top part of the dialog box using a bold font.
aMessageis the message to display in the lower part of the dialog box using the default system UI font.
aDetailedMessageis the message to display in the "Show detailed information" section. Passing wxEmptyString will hide this portion of the dialog.
aOKLabelis the text to display in the OK button.
aCancelLabelis the text to display in the cancel button.
Returns
wxID_OK or wxID_CANCEL depending on the button the user selected.

Definition at line 220 of file confirm.cpp.

223 {
224  wxRichMessageDialog dlg( aParent, aMessage, aWarning,
225  wxOK | wxCANCEL | wxOK_DEFAULT | wxICON_WARNING | wxCENTER );
226 
227  if( aOKLabel.IsEmpty() )
228  aOKLabel = _( "OK" );
229 
230  if( aCancelLabel.IsEmpty() )
231  aCancelLabel = _( "Cancel" );
232 
233  dlg.SetOKCancelLabels( aOKLabel, aCancelLabel );
234 
235  if( !aDetailedMessage.IsEmpty() )
236  dlg.SetExtendedMessage( aDetailedMessage );
237 
238  if( aApplyToAll )
239  dlg.ShowCheckBox( _( "Apply to all" ), true );
240 
241  int ret = dlg.ShowModal();
242 
243  if( aApplyToAll )
244  *aApplyToAll = dlg.IsCheckBoxChecked();
245 
246  // Returns wxID_OK or wxID_CANCEL
247  return ret;
248 }
#define _(s)

References _.

Referenced by PANEL_SYM_LIB_TABLE::browseLibrariesHandler(), PANEL_FP_LIB_TABLE::browseLibrariesHandler(), SYMBOL_EDIT_FRAME::Save(), SYMBOL_EDIT_FRAME::saveAllLibraries(), and ROUTER_TOOL::saveRouterDebugLog().

◆ SelectSingleOption()

int SelectSingleOption ( wxWindow *  aParent,
const wxString &  aTitle,
const wxString &  aMessage,
const wxArrayString &  aOptions 
)

Display a dialog with radioboxes asking the user to select an option.

Parameters
aParentis the parent window.
aTitleis the dialog title.
aMessageis a text label displayed in the first row of the dialog.
aOptionsis a vector of possible options.
Returns
Index of the selected option or -1 when the dialog has been canceled.

Definition at line 306 of file confirm.cpp.

308 {
309  wxSingleChoiceDialog dlg( aParent, aMessage, aTitle, aOptions );
310 
311  if( dlg.ShowModal() != wxID_OK )
312  return -1;
313 
314  return dlg.GetSelection();
315 }

◆ UnsavedChangesDialog() [1/2]

int UnsavedChangesDialog ( wxWindow *  aParent,
wxString  aMessage,
bool *  aApplyToAll 
)

A specialized version of HandleUnsavedChanges which handles an apply-to-all checkbox.

Parameters
aParent= the parent window
aMessage= the main message to put in dialog
aApplyToAll= if non-null an "Apply to all" checkbox will be shown and it's value written back to the bool.
Returns
wxID_YES, wxID_CANCEL, wxID_NO.

Definition at line 154 of file confirm.cpp.

155 {
156  static bool s_apply_to_all = false;
157 
158  wxRichMessageDialog dlg( parent, aMessage, _( "Save Changes?" ),
159  wxYES_NO | wxCANCEL | wxYES_DEFAULT | wxICON_WARNING | wxCENTER );
160  dlg.SetExtendedMessage( _( "If you don't save, all your changes will be permanently lost." ) );
161  dlg.SetYesNoLabels( _( "Save" ), _( "Discard Changes" ) );
162 
163  if( aApplyToAll )
164  dlg.ShowCheckBox( _( "Apply to all" ), s_apply_to_all );
165 
166  int ret = dlg.ShowModal();
167 
168  if( aApplyToAll )
169  {
170  *aApplyToAll = dlg.IsCheckBoxChecked();
171  s_apply_to_all = dlg.IsCheckBoxChecked();
172  }
173 
174  // Returns wxID_YES, wxID_NO, or wxID_CANCEL
175  return ret;
176 }
#define _(s)

References _.

Referenced by SYMBOL_EDIT_FRAME::canCloseWindow(), HandleUnsavedChanges(), InvokeSchEditSymbolLibTable(), SYMBOL_EDIT_FRAME::saveAllLibraries(), and UnsavedChangesDialog().

◆ UnsavedChangesDialog() [2/2]

int UnsavedChangesDialog ( wxWindow *  aParent,
const wxString &  aMessage 
)

Definition at line 179 of file confirm.cpp.

180 {
181 #ifdef __APPLE__
182  // wxWidgets gets the button order wrong on Mac so use the other dialog.
183  return UnsavedChangesDialog( parent, aMessage, nullptr );
184 #else
185  wxMessageDialog dlg( parent, aMessage, _( "Save Changes?" ),
186  wxYES_NO | wxCANCEL | wxYES_DEFAULT | wxICON_WARNING | wxCENTER );
187  dlg.SetExtendedMessage( _( "If you don't save, all your changes will be permanently lost." ) );
188  dlg.SetYesNoLabels( _( "Save" ), _( "Discard Changes" ) );
189 
190  // Returns wxID_YES, wxID_NO, or wxID_CANCEL
191  return dlg.ShowModal();
192 #endif
193 }
#define _(s)
int UnsavedChangesDialog(wxWindow *parent, wxString aMessage, bool *aApplyToAll)
A specialized version of HandleUnsavedChanges which handles an apply-to-all checkbox.
Definition: confirm.cpp:154

References _, and UnsavedChangesDialog().