Beispiel #1
0
 protected virtual void OnMapped(object sender, System.EventArgs e)
 {
     if (!mapped)
     {
         mapped = true;
         ThreadPool.QueueUserWorkItem(state => {
             Gtk.Widget widget;
             try {
                 widget = provider.ProvideInfo(device);
             } catch (Exception exception) {
                 var box = new VBox();
                 box.PackStart(new Gtk.Label("Failed to Load " + provider.Name), true, true, 0);
                 var expander = new Expander("Error");
                 expander.Add(new Label(exception.ToString()));
                 box.PackStart(expander, true, true, 0);
                 widget = box;
             }
             Gtk.Application.Invoke((o, a) => {
                 alignment.Remove(alignment.Child);
                 alignment.Add(widget);
                 ShowAll();
             });
         });
     }
 }