public void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs e) { if (!RealChangeEnabledStateEventHandler(null, e)) { System.Windows.Forms.MessageBox.Show(Localization.GetString("This is not an appropriate context in which to use this tool"), Localization.GetString(this.ToString())); return; } SimPe.Collections.PackedFileDescriptors pfds = e.GetDescriptors(); bool first = true; uint inst = 0x8000; foreach (SimPe.Interfaces.Files.IPackedFileDescriptor pfd in pfds) { if (first) { first = false; inst = pfd.Instance; } else { pfd.Instance = inst; } inst++; } }
public override void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs es) { if (!ChangeEnabledStateEventHandler(null, es)) { return; } SimPe.Collections.PackedFileDescriptors pfds = this.LoadDescriptors(false); if (es.Count > 0) { foreach (SimPe.Interfaces.Files.IPackedFileDescriptor pfd in pfds) { if (pfd != null) { if (es[0].Resource != null) { if (es[0].Resource.FileDescriptor != null) { es[0].Resource.FileDescriptor.UserData = pfd.UserData; } } } } } }
public SimPe.Collections.PackedFileDescriptors GetDescriptors() { SimPe.Collections.PackedFileDescriptors pfds = new SimPe.Collections.PackedFileDescriptors(); foreach (SimPe.Events.ResourceContainer e in list) { if (e.HasFileDescriptor) { pfds.Add(e.Resource.FileDescriptor); } } return(pfds); }
public override void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs es) { if (!ChangeEnabledStateEventHandler(null, es)) { return; } bool multi = es.Count > 1; string flname = SetupSaveDialog(es[0].Resource.FileDescriptor.ExportFileName, multi); if (flname == null) { return; } #if !DEBUG try #endif { if (!multi) //extract one File { SimPe.Packages.PackedFileDescriptor pfd = (SimPe.Packages.PackedFileDescriptor)es[0].Resource.FileDescriptor; ToolLoaderItemExt.SavePackedFile(flname, true, pfd, es.LoadedPackage.Package); pfd.Path = null; } else //extract multiple Files { SimPe.Collections.PackedFileDescriptors pfds = new SimPe.Collections.PackedFileDescriptors(); foreach (SimPe.Events.ResourceContainer e in es) { if (e.HasFileDescriptor) { pfds.Add(e.Resource.FileDescriptor); } } SimPe.Interfaces.Files.IPackedFileDescriptor[] ar = new SimPe.Interfaces.Files.IPackedFileDescriptor[pfds.Length]; pfds.CopyTo(ar); ExtractAllFiles(flname, ar, es.LoadedPackage.Package); } } #if !DEBUG catch (Exception ex) { Helper.ExceptionMessage(Localization.Manager.GetString("err002") + flname, ex); } #endif }
public override void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs es) { if (!ChangeEnabledStateEventHandler(null, es)) { return; } SimPe.Collections.PackedFileDescriptors pfds = this.LoadDescriptors(true); es.LoadedPackage.Package.BeginUpdate(); foreach (SimPe.Interfaces.Files.IPackedFileDescriptor pfd in pfds) { es.LoadedPackage.Package.Add(pfd); } es.LoadedPackage.Package.EndUpdate(); }
/// <summary> /// Load a list of FIleDescriptors from the disc /// </summary> /// <param name="add">true if you want to add them lateron</param> /// <returns></returns> protected SimPe.Collections.PackedFileDescriptors LoadDescriptors(bool add) { System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog(); if (!add) { ofd.Filter = ExtensionProvider.BuildFilterString( new SimPe.ExtensionType[] { SimPe.ExtensionType.ExtractedFile, SimPe.ExtensionType.ExtractedFileDescriptor, SimPe.ExtensionType.AllFiles } ); } else { ofd.Filter = ExtensionProvider.BuildFilterString( new SimPe.ExtensionType[] { SimPe.ExtensionType.ExtractedFileDescriptor, SimPe.ExtensionType.ExtrackedPackageDescriptor, SimPe.ExtensionType.ExtractedFile, SimPe.ExtensionType.Package, SimPe.ExtensionType.DisabledPackage, SimPe.ExtensionType.AllFiles } ); } ofd.Title = SimPe.Localization.GetString(this.ToString()); ofd.Multiselect = add; if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { SimPe.Collections.PackedFileDescriptors pfds = LoadedPackage.LoadDescriptorsFromDisk(ofd.FileNames); return(pfds); } return(new SimPe.Collections.PackedFileDescriptors()); }
void SaveRelations() { if (locked) { return; } SimPe.Collections.PackedFileDescriptors pfds = new SimPe.Collections.PackedFileDescriptors(); locked = true; try { foreach (ExtSrel srel in crmap.Values) { if (srel.Package != null) { srel.SynchronizeUserData(); } else { srel.Package = this.Package; srel.SynchronizeUserData(); pfds.Add(srel.FileDescriptor); } if (!this.Equals(srel.SourceSim)) { if (srel.SourceSim != null) { if (srel.SourceSim.Changed) { srel.SourceSim.SynchronizeUserData(); } } } } crmap.Clear(); locked = false; this.Package.BeginUpdate(); try { for (int i = pfds.Count - 1; i >= 0; i--) { if (i == 0) { this.Package.ForgetUpdate(); } this.Package.Add(pfds[i], true); } } finally { this.Package.EndUpdate(); } } finally { locked = false; } }