static void toolboxAddButton_Clicked(object sender, EventArgs e)
{
FileChooserDialog fcd = new FileChooserDialog ("Add custom controls...", (Window)((Widget)sender).Toplevel, FileChooserAction.Open);
fcd.AddButton(Stock.Cancel, ResponseType.Cancel);
fcd.AddButton(Stock.Open, ResponseType.Ok);
fcd.DefaultResponse = ResponseType.Ok;
fcd.Filter = new FileFilter();
fcd.Filter.AddPattern ("*.dll");
fcd.SelectMultiple = false;
ResponseType response = (ResponseType) fcd.Run( );
fcd.Hide ();
if (response == ResponseType.Ok && fcd.Filename != null)
try{
System.Reflection.Assembly a = System.Reflection.Assembly.LoadFrom (fcd.Filename);
toolboxService.PopulateFromAssembly (a);
}
catch (Exception ex) {
//TODO: handle this better!
System.Diagnostics.Trace.WriteLine ("Could not load assembly \"" + fcd.Filename + "\".");
}
fcd.Destroy();
}