public Gtk.Widget Load(CommandExecutionContext ctx, object config_data) { options = config_data as ProfilerExecutionOptions; if (options == null) options = new ProfilerExecutionOptions (); else options = options.Clone (); VBox result = new VBox (false, 0); HBox box = new HBox (false, 6); box = new HBox (false, 6); box.PackStart (new Label ("Mode:"), false, false, 0); ComboBox type_combo = ComboBox.NewText (); type_combo.AppendText ("Allocations"); type_combo.AppendText ("Calls/Instrumented"); type_combo.AppendText ("Statistical"); type_combo.Active = 2; type_combo.Changed += delegate { options.Mode = (ProfileMode) (1 << type_combo.Active); }; box.PackStart (type_combo, false, false, 0); box.ShowAll (); result.PackStart (box, false, false, 3); box = new HBox (false, 6); CheckButton start_enabled_chkbtn = new CheckButton ("Enable Logging at Startup"); start_enabled_chkbtn.Active = true; start_enabled_chkbtn.Toggled += delegate { options.StartEnabled = start_enabled_chkbtn.Active; }; box.PackStart (start_enabled_chkbtn, false, false, 0); box.ShowAll (); result.PackStart (box, false, false, 3); return result; }
public ProfilerExecutionOptions Clone() { ProfilerExecutionOptions result = new ProfilerExecutionOptions (); result.start_enabled = start_enabled; result.mode = mode; return result; }