using System;
using System.Drawing;
using System.Windows.Forms;
using NaGet.Packages;
using NaGet.Packages.Install;
using System.IO;
using System.Collections.Generic;
namespace AppliStation.Util
{
///
/// ListViewのソートをカプセル化するためのクラス
///
class ListViewItemSortComparer : System.Collections.IComparer
{
///
/// ソートの方向。昇順か?降順か?
///
public SortOrder Order = SortOrder.Ascending;
///
/// ソート対象のコラムインデックス
///
public int Column = -1;
///
/// コンストラクタ
///
/// ソート対象のコラムインデックス
/// ソートの方向。昇順か?降順か?
public ListViewItemSortComparer(int index, SortOrder order)
{
this.Column = index;
this.Order = order;
}
public int Compare(object x, object y)
{
ListViewItem itemx = (ListViewItem) x;
ListViewItem itemy = (ListViewItem) y;
int result = -1;
result = string.Compare(itemx.SubItems[Column].Text,
itemy.SubItems[Column].Text);
switch (Order) {
case SortOrder.Descending:
result = -result;
break;
case SortOrder.None:
result = 0;
break;
}
return result;
}
}
}