tools/profiler/csharp/Comparators.cs
author Scott Ehlert <ds@alliedmods.net>
Sun Sep 14 02:59:26 2008 -0500 (2008-09-14)
changeset 2288 15c77b21589a
parent 2168 c24a6fa957db
permissions -rw-r--r--
Eliminated head for dead branch: refac-jit
dvander@2168
     1
using System;
dvander@2168
     2
using System.Collections;
dvander@2168
     3
using System.Text;
dvander@2168
     4
using System.Windows.Forms;
dvander@2168
     5
dvander@2168
     6
namespace profviewer
dvander@2168
     7
{
dvander@2168
     8
    class LIStringComparator : IComparer
dvander@2168
     9
    {
dvander@2168
    10
        private int m_col;
dvander@2168
    11
dvander@2168
    12
        public LIStringComparator(int col)
dvander@2168
    13
        {
dvander@2168
    14
            m_col = col;
dvander@2168
    15
        }
dvander@2168
    16
dvander@2168
    17
        public int Compare(object x, object y)
dvander@2168
    18
        {
dvander@2168
    19
            ListViewItem a = (ListViewItem)x;
dvander@2168
    20
            ListViewItem b = (ListViewItem)y;
dvander@2168
    21
dvander@2168
    22
            return String.Compare(a.SubItems[m_col].Text, b.SubItems[m_col].Text);
dvander@2168
    23
        }
dvander@2168
    24
    }
dvander@2168
    25
dvander@2168
    26
    class LIIntComparator : IComparer
dvander@2168
    27
    {
dvander@2168
    28
        private int m_col;
dvander@2168
    29
dvander@2168
    30
        public LIIntComparator(int col)
dvander@2168
    31
        {
dvander@2168
    32
            m_col = col;
dvander@2168
    33
        }
dvander@2168
    34
dvander@2168
    35
        public int Compare(object x, object y)
dvander@2168
    36
        {
dvander@2168
    37
            ListViewItem a = (ListViewItem)x;
dvander@2168
    38
            ListViewItem b = (ListViewItem)y;
dvander@2168
    39
dvander@2168
    40
            int num1 = Int32.Parse(a.SubItems[m_col].Text);
dvander@2168
    41
            int num2 = Int32.Parse(b.SubItems[m_col].Text);
dvander@2168
    42
dvander@2168
    43
            if (num1 > num2)
dvander@2168
    44
            {
dvander@2168
    45
                return -1;
dvander@2168
    46
            }
dvander@2168
    47
            else if (num1 < num2)
dvander@2168
    48
            {
dvander@2168
    49
                return 1;
dvander@2168
    50
            }
dvander@2168
    51
dvander@2168
    52
            return 0;
dvander@2168
    53
        }
dvander@2168
    54
    }
dvander@2168
    55
dvander@2168
    56
    class LIDoubleComparator : IComparer
dvander@2168
    57
    {
dvander@2168
    58
        private int m_col;
dvander@2168
    59
dvander@2168
    60
        public LIDoubleComparator(int col)
dvander@2168
    61
        {
dvander@2168
    62
            m_col = col;
dvander@2168
    63
        }
dvander@2168
    64
dvander@2168
    65
        public int Compare(object x, object y)
dvander@2168
    66
        {
dvander@2168
    67
            ListViewItem a = (ListViewItem)x;
dvander@2168
    68
            ListViewItem b = (ListViewItem)y;
dvander@2168
    69
dvander@2168
    70
            double num1 = Double.Parse(a.SubItems[m_col].Text);
dvander@2168
    71
            double num2 = Double.Parse(b.SubItems[m_col].Text);
dvander@2168
    72
dvander@2168
    73
            if (num1 > num2)
dvander@2168
    74
            {
dvander@2168
    75
                return -1;
dvander@2168
    76
            }
dvander@2168
    77
            else if (num1 < num2)
dvander@2168
    78
            {
dvander@2168
    79
                return 1;
dvander@2168
    80
            }
dvander@2168
    81
dvander@2168
    82
            return 0;
dvander@2168
    83
        }
dvander@2168
    84
    }
dvander@2168
    85
}