Ejemplo n.º 1
0
 void fixupApplyButton_Clicked(object sender, EventArgs e)
 {
     if (string.IsNullOrWhiteSpace(fixupFileNameEntry.Text))
     {
         var dialog = new MessageDialog(this, DialogFlags.Modal, MessageType.Error,
                                        ButtonsType.Ok, "Must specify a fixup file name.");
         dialog.Run();
         dialog.Destroy();
         return;
     }
     if (!File.Exists(fixupFileNameEntry.Text))
     {
         var dialog = new MessageDialog(this, DialogFlags.Modal, MessageType.Error,
                                        ButtonsType.Ok, "The fixup file '{0}' could not be found.",
                                        fixupFileNameEntry.Text);
         dialog.Run();
         dialog.Destroy();
         return;
     }
     try {
         var model  = girTreeView.Model as TreeModelAdapter;
         var impl   = model.Implementor as GirTreeModel;
         var newDoc = new XDocument(impl.Root.Document);
         newDoc.ApplyFixupFile(fixupFileNameEntry.Text);
         newDoc.ApplyBuiltinFixup();
         var fixupImpl = new GirTreeModel(newDoc.Root);
         fixupTreeView.Model = new TreeModelAdapter(fixupImpl);
         fixupTreeView.ExpandToPath(new TreePath("0:2"));
     } catch (Exception ex) {
         var dialog = new MessageDialog(this, DialogFlags.Modal, MessageType.Error,
                                        ButtonsType.Ok, "Error while applying fixup file '{0}':\n\n{1}.",
                                        fixupFileNameEntry.Text, ex.Message);
         dialog.Run();
         dialog.Destroy();
         return;
     }
 }