public void RefreshDock(object sender, SimPe.Events.ResourceEventArgs es) { if (es.LoadedPackage != null) { if (es.LoadedPackage.Loaded) { bool newpkg = (pkg == null); if (!newpkg) { newpkg = !es.LoadedPackage.Package.Equals(pkg); } if (newpkg) { SimPe.Packages.PackageRepair pr = new SimPe.Packages.PackageRepair(es.LoadedPackage.Package); if (Helper.WindowsRegistry.HiddenMode) { rd.pgHead.SelectedObject = pr.IndexDetailsAdvanced; } else { rd.pgHead.SelectedObject = pr.IndexDetails; } pkg = es.LoadedPackage.Package; rd.lv.Items.Clear(); for (uint i = 0; i < pkg.Header.HoleIndex.Count; i++) { System.Windows.Forms.ListViewItem lvi = new System.Windows.Forms.ListViewItem(); SimPe.Packages.HoleIndexItem hii = es.LoadedPackage.Package.GetHoleIndex(i); lvi.Text = "0x" + Helper.HexString(hii.Offset); lvi.SubItems.Add("0x" + Helper.HexString(hii.Size)); rd.lv.Items.Add(lvi); } } return; } } pkg = null; rd.pgHead.SelectedObject = null; rd.lv.Items.Clear(); }
public void Setup(string pkgname) { if (pkgname == null) { pkgname = ""; } this.tbPkg.Text = pkgname; tbs.HeaderText = System.IO.Path.GetFileNameWithoutExtension(pkgname); si = null; pr = null; pg.SelectedObject = null; llOpen.Enabled = false; try { if (System.IO.File.Exists(pkgname)) { si = SimPe.Packages.StreamFactory.UseStream(pkgname, System.IO.FileAccess.ReadWrite, false); } if (!si.FileStream.CanWrite || !si.FileStream.CanRead) { si = null; } if (si != null) { pr = new SimPe.Packages.PackageRepair(SimPe.Packages.GeneratableFile.LoadFromFile(pkgname)); pg.SelectedObject = pr.IndexDetailsAdvanced; llOpen.Enabled = (pr.Package != null); } } catch {} llRepair.Enabled = (si != null); }