/[RomCheater]/trunk/RomCheater/Docking/FloatingMemorySectionViewer.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/FloatingMemorySectionViewer.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 602 by william, Fri Jun 7 12:11:46 2013 UTC revision 603 by william, Fri Jun 7 12:25:13 2013 UTC
# Line 13  using RomCheater.PluginFramework.Events; Line 13  using RomCheater.PluginFramework.Events;
13  using Sojaner.MemoryScanner;  using Sojaner.MemoryScanner;
14  using Sojaner.MemoryScanner.MemoryProviers;  using Sojaner.MemoryScanner.MemoryProviers;
15  using ManagedWinapi;  using ManagedWinapi;
16    using RomCheater.Core;
17    
18  namespace RomCheater.Docking  namespace RomCheater.Docking
19  {  {
# Line 22  namespace RomCheater.Docking Line 23  namespace RomCheater.Docking
23          IAcceptsProcessAndConfig,          IAcceptsProcessAndConfig,
24          IAcceptPEData          IAcceptPEData
25      {      {
26            ListViewColumnSorter lvwColumnSorter = new ListViewColumnSorter();
27          public FloatingMemorySectionViewer()          public FloatingMemorySectionViewer()
28          {          {
29              InitializeComponent();              InitializeComponent();
30                this.lstMemoryRegions.ListViewItemSorter = lvwColumnSorter;
31          }          }
32    
33             public FloatingMemorySectionViewer(IConfigPlugin config) : this() { this.AcceptedPlugin = config; }             public FloatingMemorySectionViewer(IConfigPlugin config) : this() { this.AcceptedPlugin = config; }
# Line 94  namespace RomCheater.Docking Line 97  namespace RomCheater.Docking
97              {              {
98                  ListViewItem li = new ListViewItem();                  ListViewItem li = new ListViewItem();
99    
100                  li.Text =string.Format("0x{0}", region.StartAddress.ToString("X"));                  if (this.PEData != null)
101                  li.SubItems.Add(string.Format("0x{0}", region.EndAddress.ToString("X")));                  {
102                  li.SubItems.Add(string.Format("0x{0}", region.Size.ToString("X")));                      if (this.PEData.Is32bitAssembly())
103                        {
104                            li.Text = string.Format("0x{0}", region.StartAddress.ToString("X").PadLeft(sizeof(uint) * 2, '0'));
105                            li.SubItems.Add(string.Format("0x{0}", region.EndAddress.ToString("X").PadLeft(sizeof(uint) * 2, '0')));
106                            li.SubItems.Add(string.Format("0x{0}", region.Size.ToString("X").PadLeft(sizeof(uint) * 2, '0')));
107                        }
108                        else
109                        {
110                            li.Text = string.Format("0x{0}", region.StartAddress.ToString("X").PadLeft(sizeof(ulong) * 2, '0'));
111                            li.SubItems.Add(string.Format("0x{0}", region.EndAddress.ToString("X").PadLeft(sizeof(ulong) * 2, '0')));
112                            li.SubItems.Add(string.Format("0x{0}", region.Size.ToString("X").PadLeft(sizeof(ulong) * 2, '0')));
113                        }
114                    }
115                    else
116                    {
117                        li.Text = string.Format("0x{0}", region.StartAddress.ToString("X").PadLeft(sizeof(ulong) * 2, '0'));
118                        li.SubItems.Add(string.Format("0x{0}", region.EndAddress.ToString("X").PadLeft(sizeof(ulong) * 2, '0')));
119                        li.SubItems.Add(string.Format("0x{0}", region.Size.ToString("X").PadLeft(sizeof(ulong) * 2, '0')));
120                    }
121                    
122                  li.SubItems.Add(string.Format("{0}", region.RegionInfo.Protect.ToString()));                  li.SubItems.Add(string.Format("{0}", region.RegionInfo.Protect.ToString()));
123                  li.SubItems.Add(string.Format("{0}", region.RegionInfo.State.ToString()));                  li.SubItems.Add(string.Format("{0}", region.RegionInfo.State.ToString()));
124                  li.SubItems.Add(string.Format("{0}", region.RegionInfo.Type.ToString()));                  li.SubItems.Add(string.Format("{0}", region.RegionInfo.Type.ToString()));
# Line 148  namespace RomCheater.Docking Line 170  namespace RomCheater.Docking
170    
171          }          }
172    
173            
174            private void lstMemoryRegions_ColumnClick(object sender, ColumnClickEventArgs e)
175            {
176                // Determine if clicked column is already the column that is being sorted.
177                if (e.Column == lvwColumnSorter.SortColumn)
178                {
179                    // Reverse the current sort direction for this column.
180                    if (lvwColumnSorter.Order == SortOrder.Ascending)
181                    {
182                        lvwColumnSorter.Order = SortOrder.Descending;
183                    }
184                    else
185                    {
186                        lvwColumnSorter.Order = SortOrder.Ascending;
187                    }
188                }
189                else
190                {
191                    // Set the column number that is to be sorted; default to ascending.
192                    lvwColumnSorter.SortColumn = e.Column;
193                    lvwColumnSorter.Order = SortOrder.Ascending;
194                }
195    
196                // Perform the sort with these new sort options.
197                this.lstMemoryRegions.Sort();
198            }
199    
200      }      }
201  }  }

Legend:
Removed from v.602  
changed lines
  Added in v.603

  ViewVC Help
Powered by ViewVC 1.1.22