private void btnOpen_Click(object sender, RoutedEventArgs e) { var dlg = Utils.UIHelper.GetOpenFileDialog(); if ((bool)dlg.ShowDialog(this)) { V8MetadataContainer Container = new V8MetadataContainer(dlg.FileName); IEditable editable = Container.RaiseObject() as IEditable; if (editable == null) { MessageBox.Show("Редактирование данного объекта не поддерживается", "V8 Reader", MessageBoxButton.OK, MessageBoxImage.Exclamation); Container.Dispose(); return; } ICustomEditor editor = editable.GetEditor(); editor.EditComplete += (s, evArg) => { Container.Dispose(); }; editor.Edit(); } }
private static void OpenFile(String FileName) { SafeMessageLoop(() => { using (V8MetadataContainer Container = new V8MetadataContainer(FileName)) { IEditable editable = Container.RaiseObject() as IEditable; if (editable == null) { MessageBox.Show("Редактирование данного объекта не поддерживается", "V8 Reader", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } App WPFApp = new App(); ICustomEditor editor = editable.GetEditor(); editor.EditComplete += (s, e) => { WPFApp.Shutdown(); }; editor.Edit(); WPFApp.Run(); } }); }
private void mnuCompareTo_Click(object sender, RoutedEventArgs e) { var dlg = Utils.UIHelper.GetOpenFileDialog(); if ((bool)dlg.ShowDialog(this)) { V8MetadataContainer Container = new V8MetadataContainer(dlg.FileName); IMDTreeItem proc = Container.RaiseObject() as IMDTreeItem; if (proc == null) { MessageBox.Show("Отображение данного объекта не поддерживается", "V8 Reader", MessageBoxButton.OK, MessageBoxImage.Exclamation); Container.Dispose(); return; } Comparison.ComparisonPerformer Performer = new Comparison.ComparisonPerformer((IMDTreeItem)m_Object, (IMDTreeItem)proc); var diffWnd = new Comparison.CompareTreeWnd(); diffWnd.PrintResult(Performer); diffWnd.Owner = this; diffWnd.Closed += (s, evArg) => { Container.Dispose(); }; diffWnd.Show(); } }
private void InstantiateObject(V8MetadataContainer cnt, ref IMDTreeItem obj) { if (obj == null) { var tmpObj = cnt.RaiseObject(); if (tmpObj is IMDTreeItem) { obj = (IMDTreeItem)tmpObj; } else { throw new InvalidOperationException(String.Format("Comparison of '{0}' isn't supported", obj.GetType().ToString())); } } }
public FileComparisonPerformer(string LeftFile, string RightFile) { _LeftFile = new V8MetadataContainer(LeftFile); _RightFile = new V8MetadataContainer(RightFile); }