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;
 }