tools/profiler/csharp/Form1.cs
author Nicholas Hastings <skamonkey@gmail.com>
Tue May 14 11:27:06 2013 -0400 (2013-05-14)
changeset 3918 312fa627bf21
parent 3086 912942c905da
permissions -rw-r--r--
Fixed SDKTools dota build.
dvander@1908
     1
using System;
dvander@1908
     2
using System.Collections.Generic;
dvander@1908
     3
using System.ComponentModel;
dvander@1908
     4
using System.Data;
dvander@1908
     5
using System.Drawing;
dvander@1908
     6
using System.Text;
dvander@1908
     7
using System.Windows.Forms;
dvander@1908
     8
dvander@1908
     9
namespace profviewer
dvander@1908
    10
{
dvander@1908
    11
    public partial class Main : Form
dvander@1908
    12
    {
dvander@1908
    13
        private ProfileReport m_Report;
dvander@1908
    14
dvander@1908
    15
        public Main()
dvander@1908
    16
        {
dvander@1908
    17
            InitializeComponent();
dvander@1908
    18
        }
dvander@1908
    19
dvander@1908
    20
        private void menu_file_open_Click(object sender, EventArgs e)
dvander@1908
    21
        {
dvander@1908
    22
            DialogResult res;
dvander@1908
    23
            
dvander@1908
    24
            res = dialog_open.ShowDialog(this);
dvander@1908
    25
dvander@1908
    26
            if (res != DialogResult.OK)
dvander@1908
    27
            {
dvander@1908
    28
                return;
dvander@1908
    29
            }
dvander@1908
    30
dvander@1908
    31
            m_Report = null;
dvander@1908
    32
dvander@1908
    33
            try
dvander@1908
    34
            {
dvander@1908
    35
                m_Report = new ProfileReport(dialog_open.FileName);
dvander@1908
    36
            }
dvander@1908
    37
            catch (System.Exception ex)
dvander@1908
    38
            {
dvander@1908
    39
                MessageBox.Show("Error opening or parsing file: " + ex.Message);
dvander@1908
    40
            }
dvander@1908
    41
dvander@1908
    42
            UpdateListView();
dvander@1908
    43
        }
dvander@1908
    44
dvander@1908
    45
        private void UpdateListView()
dvander@1908
    46
        {
dvander@1908
    47
            ProfileItem atom;
dvander@1908
    48
            ListViewItem item;
dvander@1908
    49
Kilandor@3086
    50
            report_list.Items.Clear();
Kilandor@3086
    51
            report_info_duration.Text = "";
Kilandor@3086
    52
            report_info_starttime.Text = "";
dvander@1908
    53
dvander@1908
    54
            report_info_duration.Text = m_Report.Duration.ToString() + " seconds";
dvander@1908
    55
            report_info_starttime.Text = m_Report.StartTime.ToString();
dvander@1908
    56
dvander@1908
    57
            for (int i = 0; i < m_Report.Count; i++)
dvander@1908
    58
            {
dvander@1908
    59
                atom = m_Report.GetItem(i);
dvander@1908
    60
                item = new ListViewItem(ProfileReport.TypeStrings[(int)atom.type]);
dvander@1908
    61
dvander@1908
    62
                item.SubItems.Add(atom.name);
dvander@1908
    63
                item.SubItems.Add(atom.num_calls.ToString());
dvander@1908
    64
                item.SubItems.Add(atom.AverageTime.ToString("F6"));
dvander@1908
    65
                item.SubItems.Add(atom.min_time.ToString("F6"));
dvander@1908
    66
                item.SubItems.Add(atom.max_time.ToString("F6"));
dvander@1908
    67
                item.SubItems.Add(atom.total_time.ToString("F6"));
dvander@1908
    68
dvander@1908
    69
                report_list.Items.Add(item);
dvander@1908
    70
            }
dvander@1908
    71
        }
dvander@1908
    72
dvander@1908
    73
        private void menu_file_exit_Click(object sender, EventArgs e)
dvander@1908
    74
        {
dvander@1908
    75
            Application.Exit();
dvander@1908
    76
        }
dvander@1908
    77
dvander@1908
    78
        private void report_list_ColumnClick(object sender, ColumnClickEventArgs e)
dvander@1908
    79
        {
dvander@1908
    80
            if (e.Column == 1)
dvander@1908
    81
            {
dvander@1908
    82
                report_list.ListViewItemSorter = new LIStringComparator(1);
dvander@1908
    83
            }
dvander@1908
    84
            else if (e.Column == 2)
dvander@1908
    85
            {
dvander@1908
    86
                report_list.ListViewItemSorter = new LIIntComparator(2);
dvander@1908
    87
            }
dvander@1908
    88
            else if (e.Column > 2)
dvander@1908
    89
            {
dvander@1908
    90
                report_list.ListViewItemSorter = new LIDoubleComparator(e.Column);
dvander@1908
    91
            }
dvander@1908
    92
        }
dvander@1908
    93
    }
dvander@1908
    94
}