2008-03-30 09:00:22 +02:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.ComponentModel;
|
|
|
|
using System.Data;
|
|
|
|
using System.Drawing;
|
|
|
|
using System.Text;
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
namespace profviewer
|
|
|
|
{
|
|
|
|
public partial class Main : Form
|
|
|
|
{
|
|
|
|
private ProfileReport m_Report;
|
|
|
|
|
|
|
|
public Main()
|
|
|
|
{
|
|
|
|
InitializeComponent();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void menu_file_open_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
DialogResult res;
|
|
|
|
|
|
|
|
res = dialog_open.ShowDialog(this);
|
|
|
|
|
|
|
|
if (res != DialogResult.OK)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
m_Report = null;
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
m_Report = new ProfileReport(dialog_open.FileName);
|
|
|
|
}
|
|
|
|
catch (System.Exception ex)
|
|
|
|
{
|
|
|
|
MessageBox.Show("Error opening or parsing file: " + ex.Message);
|
|
|
|
}
|
|
|
|
|
|
|
|
UpdateListView();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void UpdateListView()
|
|
|
|
{
|
|
|
|
ProfileItem atom;
|
|
|
|
ListViewItem item;
|
|
|
|
|
2010-07-19 03:39:15 +02:00
|
|
|
report_list.Items.Clear();
|
|
|
|
report_info_duration.Text = "";
|
|
|
|
report_info_starttime.Text = "";
|
2008-03-30 09:00:22 +02:00
|
|
|
|
|
|
|
report_info_duration.Text = m_Report.Duration.ToString() + " seconds";
|
|
|
|
report_info_starttime.Text = m_Report.StartTime.ToString();
|
|
|
|
|
|
|
|
for (int i = 0; i < m_Report.Count; i++)
|
|
|
|
{
|
|
|
|
atom = m_Report.GetItem(i);
|
|
|
|
item = new ListViewItem(ProfileReport.TypeStrings[(int)atom.type]);
|
|
|
|
|
|
|
|
item.SubItems.Add(atom.name);
|
|
|
|
item.SubItems.Add(atom.num_calls.ToString());
|
|
|
|
item.SubItems.Add(atom.AverageTime.ToString("F6"));
|
|
|
|
item.SubItems.Add(atom.min_time.ToString("F6"));
|
|
|
|
item.SubItems.Add(atom.max_time.ToString("F6"));
|
|
|
|
item.SubItems.Add(atom.total_time.ToString("F6"));
|
|
|
|
|
|
|
|
report_list.Items.Add(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void menu_file_exit_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Application.Exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void report_list_ColumnClick(object sender, ColumnClickEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Column == 1)
|
|
|
|
{
|
|
|
|
report_list.ListViewItemSorter = new LIStringComparator(1);
|
|
|
|
}
|
|
|
|
else if (e.Column == 2)
|
|
|
|
{
|
|
|
|
report_list.ListViewItemSorter = new LIIntComparator(2);
|
|
|
|
}
|
|
|
|
else if (e.Column > 2)
|
|
|
|
{
|
|
|
|
report_list.ListViewItemSorter = new LIDoubleComparator(e.Column);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|