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();
            }
        }
Beispiel #2
0
        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();
                }
            });
        }
Beispiel #3
0
        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);
 }