private void CopyInstanceExecute(object obj) { var cls = ClassesCollectionView.CurrentItem as NdfClassViewModel; if (cls == null) { return; } var inst = cls.InstancesCollectionView.CurrentItem as NdfObjectViewModel; if (inst == null) { return; } if (!inst.Object.IsTopObject) { MessageBox.Show("You can only create a copy of an top object.", "Information", MessageBoxButton.OK); return; } _copyInstanceResults = new List <NdfObject>(); CopyInstance(inst.Object); var resultViewModel = new ObjectCopyResultViewModel(_copyInstanceResults, this); DialogProvider.ProvideView(resultViewModel, this); }
private void OpenInstanceExecute(object obj) { var cls = obj as NdfObjectViewModel; if (cls == null) { return; } var vm = new NdfClassViewModel(cls.Object.Class, this); NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == cls.Id); ViewModelBase baseViewModel; switch (cls.Object.Class.Name) { case "TGameplayArmeArmureContainer": case "TGameplayDamageResistanceContainer": baseViewModel = new ArmourDamageViewModel(inst.Object, this); break; default: if (inst == null) { return; } vm.InstancesCollectionView.MoveCurrentTo(inst); baseViewModel = vm; break; } DialogProvider.ProvideView(baseViewModel, this); }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var mainVm = new EdataManagerViewModel(); DialogProvider.ProvideView(mainVm); //var versionVm = new VersionManagerViewModel(mainVm); //DialogProvider.ProvideView(versionVm); }
private void FollowList(IValueHolder prop) { var refe = prop.Value as NdfCollection; if (refe == null) { return; } var editor = new ListEditorViewModel(refe, NdfbinManager); DialogProvider.ProvideView(editor, this); }
private void FindAllReferencesExecute(object obj) { var cls = ClassesCollectionView.CurrentItem as NdfClassViewModel; if (cls == null) { return; } var inst = cls.InstancesCollectionView.CurrentItem as NdfObjectViewModel; if (inst == null) { return; } var result = new List <NdfPropertyValue>(); Dispatcher dispatcher = Dispatcher.CurrentDispatcher; Action <string> report = msg => StatusText = msg; var s = new Task(() => { try { //dispatcher.Invoke(() => IsUIBusy = true); dispatcher.Invoke(report, string.Format("Searching for references...")); foreach (var instance in NdfBinary.Instances) { foreach (var propertyValue in instance.PropertyValues) { GetValue(propertyValue, inst, result, propertyValue); } } var resultVm = new ReferenceSearchResultViewModel(result, this); dispatcher.Invoke(() => DialogProvider.ProvideView(resultVm, this)); dispatcher.Invoke(report, string.Format("{0} references found", result.Count)); } catch (Exception ex) { Trace.TraceError(string.Format("Error while saving Ndfbin file: {0}", ex)); dispatcher.Invoke(report, "Error while searching"); } }); s.Start(); }
private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { e.Handled = true; var vm = new UnhandledExceptionViewModel(e.Exception); DialogProvider.ProvideView(vm); var excep = e.Exception; while (excep != null) { Trace.TraceError("Unhandeled exception occoured: {0}", e.Exception); excep = excep.InnerException; } }
private void FollowList(IValueHolder prop) { var refe = prop.Value as NdfCollection; if (refe == null) { return; } if (isTable(refe)) { var editor = new ListEditorViewModel(refe, Object.Class.Manager); DialogProvider.ProvideView(editor, ParentVm); } else { var editor = new ListEditorViewModel(refe, Object.Class.Manager); DialogProvider.ProvideView(editor, ParentVm); } }
protected void EditTradFileExecute(object obj) { var vm = CollectionViewSource.GetDefaultView(OpenFiles).CurrentItem as EdataFileViewModel; if (vm == null) { return; } var ndf = vm.FilesCollectionView.CurrentItem as EdataContentFile; if (ndf == null) { return; } var tradVm = new TradFileViewModel(ndf, vm); DialogProvider.ProvideView(tradVm, this); }
private void DetailsExecute(object obj) { var propVal = obj as NdfPropertyValue; if (propVal == null) { return; } var vm = new NdfClassViewModel(propVal.Instance.Class, this); NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == propVal.Instance.Id); if (inst == null) { return; } vm.InstancesCollectionView.MoveCurrentTo(inst); DialogProvider.ProvideView(vm, Editor); }
private void FollowObjectReference(IValueHolder prop) { var refe = prop.Value as NdfObjectReference; if (refe == null) { return; } var vm = new NdfClassViewModel(refe.Class, ParentVm); NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == refe.InstanceId); if (inst == null) { return; } vm.InstancesCollectionView.MoveCurrentTo(inst); DialogProvider.ProvideView(vm, ParentVm); }
private void OpenInstanceExecute(object obj) { var cls = obj as NdfObjectViewModel; if (cls == null) { return; } var vm = new NdfClassViewModel(cls.Object.Class, this); NdfObjectViewModel inst = vm.Instances.SingleOrDefault(x => x.Id == cls.Id); if (inst == null) { return; } vm.InstancesCollectionView.MoveCurrentTo(inst); DialogProvider.ProvideView(vm, this); }
private void EditGameModeLogicExecute(object obj) { var ndfEditor = new NdfEditorMainViewModel(ScenarioFile.NdfBinary); DialogProvider.ProvideView(ndfEditor, this); }
private void EditTextureBindingsExecute(object obj) { var ndfEditor = new NdfEditorMainViewModel(MeshFile.TextureBindings); DialogProvider.ProvideView(ndfEditor, this); }
protected void AboutUsExecute(object obj) { DialogProvider.ProvideView(new AboutViewModel(), this); }