34 wxString path = pathCtrl->GetValue();
38 pathCtrl->SetForegroundColour(*
wxWHITE);
39 pathCtrl->SetBackgroundColour(*
wxRED);
40 pathCtrl->SetToolTip(
_(
"Full path to the debugger's executable. Executable can't be found on the filesystem!"));
46 pathCtrl->SetToolTip(
_(
"Full path to the debugger's executable."));
61 XRCCTRL(*
this,
"txtExecutablePath",
wxTextCtrl)->ChangeValue(newPath);
93 XRCCTRL(*panel,
"txtExecutablePath",
wxTextCtrl)->ChangeValue(GetDebuggerExecutable(
false));
95 XRCCTRL(*panel,
"chkDisableInit",
wxCheckBox)->SetValue(GetFlag(DisableInit));
96 XRCCTRL(*panel,
"txtArguments",
wxTextCtrl)->ChangeValue(GetUserArguments(
false));
98 XRCCTRL(*panel,
"rbType",
wxRadioBox)->SetSelection(IsGDB() ? 0 : 1);
99 XRCCTRL(*panel,
"txtInit",
wxTextCtrl)->ChangeValue(GetInitCommands());
101 XRCCTRL(*panel,
"chkWatchArgs",
wxCheckBox)->SetValue(GetFlag(WatchFuncArgs));
102 XRCCTRL(*panel,
"chkWatchLocals",
wxCheckBox)->SetValue(GetFlag(WatchLocals));
103 XRCCTRL(*panel,
"chkCatchExceptions",
wxCheckBox)->SetValue(GetFlag(CatchExceptions));
104 XRCCTRL(*panel,
"chkTooltipEval",
wxCheckBox)->SetValue(GetFlag(EvalExpression));
105 XRCCTRL(*panel,
"chkAddForeignDirs",
wxCheckBox)->SetValue(GetFlag(AddOtherProjectDirs));
106 XRCCTRL(*panel,
"chkDoNotRun",
wxCheckBox)->SetValue(GetFlag(DoNotRun));
107 XRCCTRL(*panel,
"choDisassemblyFlavor",
wxChoice)->SetSelection(m_config.ReadInt(
wxT(
"disassembly_flavor"), 0));
114 m_config.Write(
wxT(
"executable_path"), XRCCTRL(*panel,
"txtExecutablePath",
wxTextCtrl)->GetValue());
115 m_config.Write(
wxT(
"disable_init"), XRCCTRL(*panel,
"chkDisableInit",
wxCheckBox)->GetValue());
116 m_config.Write(
wxT(
"user_arguments"), XRCCTRL(*panel,
"txtArguments",
wxTextCtrl)->GetValue());
117 m_config.Write(
wxT(
"type"), XRCCTRL(*panel,
"rbType",
wxRadioBox)->GetSelection());
118 m_config.Write(
wxT(
"init_commands"), XRCCTRL(*panel,
"txtInit",
wxTextCtrl)->GetValue());
119 m_config.Write(
wxT(
"watch_args"), XRCCTRL(*panel,
"chkWatchArgs",
wxCheckBox)->GetValue());
120 m_config.Write(
wxT(
"watch_locals"), XRCCTRL(*panel,
"chkWatchLocals",
wxCheckBox)->GetValue());
121 m_config.Write(
wxT(
"catch_exceptions"), XRCCTRL(*panel,
"chkCatchExceptions",
wxCheckBox)->GetValue());
122 m_config.Write(
wxT(
"eval_tooltip"), XRCCTRL(*panel,
"chkTooltipEval",
wxCheckBox)->GetValue());
123 m_config.Write(
wxT(
"add_other_search_dirs"), XRCCTRL(*panel,
"chkAddForeignDirs",
wxCheckBox)->GetValue());
124 m_config.Write(
wxT(
"do_not_run"), XRCCTRL(*panel,
"chkDoNotRun",
wxCheckBox)->GetValue());
125 m_config.Write(
wxT(
"disassembly_flavor"), XRCCTRL(*panel,
"choDisassemblyFlavor",
wxChoice)->GetSelection());
126 m_config.Write(
wxT(
"instruction_set"), XRCCTRL(*panel,
"txtInstructionSet",
wxTextCtrl)->GetValue());
136 return m_config.ReadBool(
wxT(
"disable_init"),
true);
138 return m_config.ReadBool(
wxT(
"watch_args"),
true);
140 return m_config.ReadBool(
wxT(
"watch_locals"),
true);
141 case CatchExceptions:
142 return m_config.ReadBool(
wxT(
"catch_exceptions"),
true);
144 return m_config.ReadBool(
wxT(
"eval_tooltip"),
false);
145 case AddOtherProjectDirs:
146 return m_config.ReadBool(
wxT(
"add_other_search_dirs"),
false);
148 return m_config.ReadBool(
wxT(
"do_not_run"),
false);
158 m_config.Write(
wxT(
"disable_init"), value);
161 m_config.Write(
wxT(
"watch_args"), value);
164 m_config.Write(
wxT(
"watch_locals"), value);
166 case CatchExceptions:
167 m_config.Write(
wxT(
"catch_exceptions"), value);
170 m_config.Write(
wxT(
"eval_tooltip"), value);
172 case AddOtherProjectDirs:
173 m_config.Write(
wxT(
"add_other_search_dirs"), value);
176 m_config.Write(
wxT(
"do_not_run"), value);
185 return m_config.ReadInt(
wxT(
"type"), 0) == 0;
206 int disassembly_flavour = m_config.ReadInt(
wxT(
"disassembly_flavor"), 0);
209 switch (disassembly_flavour)
213 flavour <<
wxT(
"att");
218 flavour <<
wxT(
"intel");
224 flavour << instruction_set;
229 if(platform::windows)
230 flavour <<
wxT(
"att");
232 flavour << wxT(
"intel");
virtual bool SaveChanges(wxPanel *panel)
wxString GetUserArguments(bool expandMacro=true)
void SetFlag(Flags flag, bool value)
static Manager * Get()
Use Manager::Get() to get a pointer to its instance Manager::Get() is guaranteed to never return an i...
bool wxFileExists(const wxString &filename)
wxString GetDebuggerExecutable(bool expandMacro=true)
void OnTextChange(cb_unused wxCommandEvent &event)
wxString GetInitCommands()
wxString GetDisassemblyFlavorCommand()
virtual wxString GetPath() const
void ValidateExecutablePath()
MacrosManager * GetMacrosManager() const
virtual wxPanel * MakePanel(wxWindow *parent)
const wxString & _(const wxString &string)
virtual cbDebuggerConfiguration * Clone() const
DLLIMPORT void PlaceWindow(wxTopLevelWindow *w, cbPlaceDialogMode mode=pdlBest, bool enforce=false)
void ReplaceEnvVars(wxString &buffer)
DLLIMPORT wxString cbDetectDebuggerExecutable(const wxString &exeName)
Tries to detect the path to the debugger's executable.
static wxXmlResource * Get()
const char wxFileSelectorDefaultWildcardStr[]
void OnBrowse(cb_unused wxCommandEvent &event)
Wrapper class for reading or writing config values, without the need for the full path...