Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }