const float b = 0.114478f;\r
\r
ColorMatrix cm = new ColorMatrix(new float[][]{\r
- new float[]{r, r, r, 0, 0},\r
- new float[]{g, g, g, 0, 0},\r
- new float[]{b, b, b, 0, 0},\r
+ new float[]{r, r, r, 0, 0},\r
+ new float[]{g, g, g, 0, 0},\r
+ new float[]{b, b, b, 0, 0},\r
new float[]{0, 0, 0, alpha, 0},\r
- new float[]{0, 0, 0, 0, 1},\r
+ new float[]{0, 0, 0, 0, 1},\r
});\r
ImageAttributes ia = new ImageAttributes();\r
ia.SetColorMatrix(cm);\r
return ia;\r
}\r
\r
+ /// <summary>\r
+ /// 画像を指定領域の真中に描く\r
+ /// </summary>\r
+ /// <param name="g">描画対象のグラフィックス</param>\r
+ /// <param name="img">画像</param>\r
+ /// <param name="b">指定領域</param>\r
+ /// <param name="ia">ImageAttributes。nullでもかまわない</param>\r
public static void Graphics_DrawCenterImage(Graphics g, Image img, Rectangle b, ImageAttributes ia)\r
{\r
int x = b.Left + (b.Width - img.Width ) / 2;\r
\r
namespace AppliStation.Util\r
{\r
+ /// <summary>\r
+ /// ListView\82Ì\83\\81[\83g\82ð\83J\83v\83Z\83\8b\89»\82·\82é\82½\82ß\82Ì\83N\83\89\83X\r
+ /// </summary>\r
class ListViewItemSortComparer : System.Collections.IComparer\r
{\r
+ /// <summary>\r
+ /// \83\\81[\83g\82Ì\95û\8cü\81B\8f¸\8f\87\82©?\8d~\8f\87\82©?\r
+ /// </summary>\r
public SortOrder Order = SortOrder.Ascending;\r
\r
+ /// <summary>\r
+ /// \83\\81[\83g\91Î\8fÛ\82Ì\83R\83\89\83\80\83C\83\93\83f\83b\83N\83X\r
+ /// </summary>\r
public int Column = -1;\r
\r
+ /// <summary>\r
+ /// \83R\83\93\83X\83g\83\89\83N\83^\r
+ /// </summary>\r
+ /// <param name="index">\83\\81[\83g\91Î\8fÛ\82Ì\83R\83\89\83\80\83C\83\93\83f\83b\83N\83X</param>\r
+ /// <param name="order">\83\\81[\83g\82Ì\95û\8cü\81B\8f¸\8f\87\82©?\8d~\8f\87\82©?</param>\r
public ListViewItemSortComparer(int index, SortOrder order)\r
{\r
this.Column = index;\r
-using System;\r
+using System;\r
using System.Runtime.InteropServices;\r
using System.Windows.Forms;\r
\r
namespace AppliStation.Util\r
{\r
+ /// <summary>\r
+ /// Win32ネイティブメソッドを叩いてGUI操作するための関数群のクラス\r
+ /// </summary>\r
public sealed class NativeMethods\r
{\r
+ /// <summary>\r
+ /// 呼び出し禁止\r
+ /// </summary>\r
private NativeMethods()\r
{\r
}\r
\r
\r
/// <summary>\r
- /// WindowsVista\8cü\82¯\81A\83v\83\8d\83O\83\8c\83X\83o\81[\83X\83e\81[\83^\83X(\90F)\82ð\90Ý\92è\82·\82é\r
+ /// WindowsVista向け、プログレスバーステータス(色)を設定する\r
/// </summary>\r
- /// <param name="progBar">\91Î\8fÛ\82Ì\83v\83\8d\83O\83\8c\83X\83o\81[</param>\r
- /// <param name="state">\8fó\91Ô\81B(1:Normal,2:Error,3:Paused)</param>\r
+ /// <param name="progBar">対象のプログレスバー</param>\r
+ /// <param name="state">状態。(1:Normal,2:Error,3:Paused)</param>\r
public static void ProgressBar_SetState(ProgressBar progBar, uint state)\r
{\r
try {\r
}\r
}\r
\r
- #region \83^\83X\83N\83o\81[\82¨\82æ\82Ñ\83^\83C\83g\83\8b\83o\81[\82Ì\83t\83\89\83b\83V\83\85\r
+ #region タスクバーおよびタイトルバーのフラッシュ\r
\r
/// <summary>\r
- /// \83^\83X\83N\83o\81[\82¨\82æ\82Ñ\83^\83C\83g\83\8b\83o\81[\83{\83^\83\93\82Ì\83t\83\89\83b\83V\83\85\82Ì\90Ý\92è\83t\83\89\83O\r
+ /// タスクバーおよびタイトルバーボタンのフラッシュの設定フラグ\r
/// </summary>\r
public enum FlashFlag : uint {\r
/// <summary>\r
- /// \93_\96Å\82Ì\92â\8e~\r
+ /// 点滅の停止\r
/// </summary>\r
Stop = 0,\r
/// <summary>\r
- /// \83^\83C\83g\83\8b\83o\81[\82ð\93_\96Å\r
+ /// タイトルバーを点滅\r
/// </summary>\r
Caption = 1,\r
/// <summary>\r
- /// \83^\83X\83N\83o\81[\83{\83^\83\93\82ð\93_\96Å\r
+ /// タスクバーボタンを点滅\r
/// </summary>\r
Tray = 2,\r
/// <summary>\r
- /// \83^\83C\83g\83\8b\83o\81[\82Æ\83^\83X\83N\83o\81[\83{\83^\83\93\82ð\93_\96Å\r
+ /// タイトルバーとタスクバーボタンを点滅\r
/// </summary>\r
All = 3,\r
/// <summary>\r
- /// Stop\82ª\90Ý\92è\82³\82ê\82é\82Ü\82Å\93_\96Å\82·\82é\r
+ /// Stopが設定されるまで点滅する\r
/// </summary>\r
Timer = 4,\r
/// <summary>\r
- /// \83t\83H\83A\83O\83\89\83E\83\93\83h\82Ì\8fó\91Ô\82É\82È\82é\82Ü\82Å\93_\96Å\r
+ /// フォアグラウンドの状態になるまで点滅\r
/// </summary>\r
TimerNoFG = 12,\r
}\r
}\r
\r
/// <summary>\r
- /// \83^\83X\83N\83o\81[\82¨\82æ\82Ñ\83^\83C\83g\83\8b\83o\81[\83{\83^\83\93\82ð\93_\96Å\82³\82¹\82é\r
+ /// タスクバーおよびタイトルバーボタンを点滅させる\r
/// </summary>\r
- /// <param name="form">\91Î\8fÛ\83t\83H\81[\83\80</param>\r
- /// <param name="flag">\93_\96Å\83p\83\89\83\81\81[\83^\83t\83\89\83O</param>\r
- /// <param name="count">\93_\96Å\89ñ\90\94</param>\r
- /// <param name="timeout">\93_\96Å\82Ì\8aÔ\8au(\83~\83\8a\95b)</param>\r
+ /// <param name="form">対象フォーム</param>\r
+ /// <param name="flag">点滅パラメータフラグ</param>\r
+ /// <param name="count">点滅回数</param>\r
+ /// <param name="timeout">点滅の間隔(ミリ秒)</param>\r
/// <returns></returns>\r
public static bool Form_FlashWindow(Form form, FlashFlag flag, uint count, uint timeout)\r
{\r
\r
#endregion\r
\r
- #region ColumnHeader\82Ì\83\\81[\83g\82Ì\8eO\8ap\88ó\97p\r
+ #region ColumnHeaderのソートの三角印用\r
\r
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]\r
internal struct HD_ITEM\r
}\r
\r
/// <summary>\r
- /// WinXP\88È\8d~\81A\83\\81[\83g\82Ì\96î\88ó\82ð\95\\8e¦\r
+ /// WinXP以降、ソートの矢印を表示\r
/// </summary>\r
- /// <param name="listView">\91Î\8fÛ\82ÌListView</param>\r
- /// <param name="column">\95\\8e¦\82·\82é\96î\88ó\82Ì\83w\83b\83_</param>\r
- /// <param name="order">\83\\81[\83g\82Ì\8f¸\8f\87\81E\8d~\8f\87</param>\r
+ /// <param name="listView">対象のListView</param>\r
+ /// <param name="column">表示する矢印のヘッダ</param>\r
+ /// <param name="order">ソートの昇順・降順</param>\r
public static void ColumnHeader_SetSortState(ListView listView, int column, SortOrder order)\r
{\r
try {\r
\r
if (i != column || order == SortOrder.None) {\r
hdi.fmt = hdi.fmt & ~(HDF_SORTUP | HDF_SORTDOWN);\r
- } else if (order == SortOrder.Ascending) { // \8f¸\8f\87\r
+ } else if (order == SortOrder.Ascending) { // 昇順\r
hdi.fmt = hdi.fmt & ~HDF_SORTDOWN | HDF_SORTUP;\r
- } else if (order == SortOrder.Descending) { // \8d~\8f\87\r
+ } else if (order == SortOrder.Descending) { // 降順\r
hdi.fmt = hdi.fmt & ~HDF_SORTUP | HDF_SORTDOWN;\r
}\r
\r
\r
#endregion\r
\r
- #region EnableWindow(\83R\83\81\83\93\83g\83A\83E\83g)\r
+ #region EnableWindow(コメントアウト)\r
// /// <summary>\r
-// /// \8ew\92è\82³\82ê\82½\83R\83\93\83g\83\8d\81[\83\8b(\83E\83B\83\93\83h\83E)\82Ö\82Ì\81A\r
-// /// \83L\81[\83{\81[\83h\93ü\97Í\82¨\82æ\82Ñ\83}\83E\83X\93ü\97Í\82ð\97L\8cø\89»\82Ü\82½\82Í\96³\8cø\89»\r
+// /// 指定されたコントロール(ウィンドウ)への、\r
+// /// キーボード入力およびマウス入力を有効化または無効化\r
// /// </summary>\r
-// /// <param name="control">\91Î\8fÛ\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82Ì\83n\83\93\83h\83\89</param>\r
-// /// <param name="bEnable">\97L\8cø\82É\82·\82é\82©\96³\8cø\82É\82·\82é\82©\82ð\8ew\92è</param>\r
-// /// <returns>\92¼\91O\82É\83E\83B\83\93\83h\83E\82ª\96³\8cø\8fó\91Ô\82¾\82Á\82½\8fê\8d\87\82Ítrue\82ð\95Ô\82·</returns>\r
+// /// <param name="control">対象のコントロールのハンドラ</param>\r
+// /// <param name="bEnable">有効にするか無効にするかを指定</param>\r
+// /// <returns>直前にウィンドウが無効状態だった場合はtrueを返す</returns>\r
// public static bool Control_EnableWindow(Control ctrl, bool bEnable)\r
// {\r
// try {\r
// }\r
// \r
// /// <summary>\r
-// /// \8ew\92è\82³\82ê\82½\83R\83\93\83g\83\8d\81[\83\8b(\83E\83B\83\93\83h\83E)\82Ö\82Ì\81A\r
-// /// \83L\81[\83{\81[\83h\93ü\97Í\82¨\82æ\82Ñ\83}\83E\83X\93ü\97Í\82ð\97L\8cø\89»\82Ü\82½\82Í\96³\8cø\89»\r
+// /// 指定されたコントロール(ウィンドウ)への、\r
+// /// キーボード入力およびマウス入力を有効化または無効化\r
// /// </summary>\r
-// /// <param name="control">\91Î\8fÛ\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82Ì\83n\83\93\83h\83\89</param>\r
-// /// <param name="bEnable">\97L\8cø\82É\82·\82é\82©\96³\8cø\82É\82·\82é\82©\82ð\8ew\92è</param>\r
-// /// <returns>\92¼\91O\82É\83E\83B\83\93\83h\83E\82ª\96³\8cø\8fó\91Ô\82¾\82Á\82½\8fê\8d\87\82Ítrue\82ð\95Ô\82·</returns>\r
+// /// <param name="control">対象のコントロールのハンドラ</param>\r
+// /// <param name="bEnable">有効にするか無効にするかを指定</param>\r
+// /// <returns>直前にウィンドウが無効状態だった場合はtrueを返す</returns>\r
// [DllImport("user32.dll")]\r
// public static extern bool EnableWindow(IntPtr hWnd, bool bEnable);\r
#endregion\r
- \r
+ \r
[DllImport("user32.dll", CharSet=CharSet.Auto)]\r
internal static extern IntPtr SendMessage( IntPtr hWnd, UInt32 Msg, UInt32 wParam, UInt32 lParam);\r
\r
//\r
// You can specify all the values or you can use the default the Revision and \r
// Build Numbers by using the '*' as shown below:\r
-[assembly: AssemblyVersion("1.0.1.*")]\r
+[assembly: AssemblyVersion("1.1.0.*")]\r
// you compile.\r
\r
[assembly: AssemblyTitle("NaGet Library")]\r
-[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyDescription("AppliStation Core Library")]\r
[assembly: AssemblyConfiguration("")]\r
[assembly: AssemblyCompany("Team AppliStation")]\r
-[assembly: AssemblyProduct("")]\r
+[assembly: AssemblyProduct("AppliStation")]\r
[assembly: AssemblyCopyright("Copyright (c) 2007-2008 Team AppliStation")]\r
[assembly: AssemblyTrademark("")]\r
[assembly: AssemblyCulture("")]\r
// You can specify all values by your own or you can build default build and revision\r
// numbers with the '*' character (the default):\r
\r
-[assembly: AssemblyVersion("1.0.1.*")]\r
+[assembly: AssemblyVersion("1.1.0.*")]\r
\r
// The following attributes specify the key for the sign of your assembly. See the\r
// .NET Framework documentation for more information about signing.\r
\r
namespace NaGet.InteropServices\r
{\r
+ /// <summary>\r
+ /// Win32 API \82Ì<code>CreateProcess</code>\82ð\92¼\82É\92@\82\82½\82ß\82Ì\83N\83\89\83X\81B\r
+ /// </summary>\r
+ /// <remarks>\r
+ /// .NET\82ÌProcess.Start\82Í\81A<code>CreateProcess(NULL, cmdLine, ...)</code>\r
+ /// \82Ì\82æ\82¤\82É\91æ\88ê\88ø\90\94\82ª<code>NULL</code>\82É\91\8a\93\96\82·\82é\8cÄ\82Ñ\8fo\82µ\82ª\81A\r
+ /// *\8cµ\96§\82È\88Ó\96¡*\82Å\82Å\82«\82È\82¢\81B\8cµ\96§\82È\88Ó\96¡\82Å\81A\r
+ /// \82±\82ê\82Æ\93¯\82¶\8cÄ\82Ñ\8fo\82µ\82ð\8eÀ\8c»\82·\82é\95K\97v\82ª\82 \82é\82Æ\82«\82É\8eg\82í\82ê\82é\81B\r
+ /// </remarks>\r
public class CreateProcessCaller : IDisposable\r
{\r
#region Win32API\r
STARTUPINFO si;\r
PROCESS_INFORMATION pi;\r
\r
+ /// <summary>\r
+ /// \83v\83\8d\83Z\83X\82ð\90¶\90¬\82·\82é\r
+ /// </summary>\r
+ /// <param name="procInfo">\83v\83\8d\83Z\83X\8bN\93®\8fî\95ñ\81B\r
+ /// \82È\82¨\81A<code>procInfo.UseShellExecute</code>\82Í\95K\82¸false\82Å\82È\82¯\82ê\82Î\82È\82ç\82È\82¢</param>\r
public CreateProcessCaller(ProcessStartInfo procInfo)\r
{\r
if (procInfo.UseShellExecute) {\r
CloseHandle(pi.hThread);\r
}\r
\r
+ /// <summary>\r
+ /// \8aÖ\98A\95t\82¯\82ç\82ê\82½\83v\83\8d\83Z\83X\82ª\8fI\97¹\82·\82é\82Ü\82Å\81A\8dÅ\91å\8ew\92è\82µ\82½\83~\83\8a\95b\8aÔ\91Ò\8b@\81B \r
+ /// </summary>\r
+ /// <param name="timeout">\8dÅ\91å\91Ò\8b@\8e\9e\8aÔ(\83~\83\8a\95b\92P\88Ê)</param>\r
+ /// <returns>\8fI\97¹\83R\81[\83h</returns>\r
public uint WaitForExit(uint timeout)\r
{\r
return WaitForSingleObject(pi.hProcess, timeout);\r
}\r
\r
+ /// <summary>\r
+ /// \8aÖ\98A\95t\82¯\82ç\82ê\82½\83v\83\8d\83Z\83X\82ª\8fI\97¹\82·\82é\82Ü\82Å\96³\8aú\8cÀ\82É\91Ò\8b@\81B\r
+ /// </summary>\r
+ /// <returns>\8fI\97¹\83R\81[\83h</returns>\r
public uint WaitForExit()\r
{\r
// return WaitForExit(INFINITE)\r
return WaitForExit(0xFFFFFFFF);\r
}\r
\r
+ /// <summary>\r
+ /// \8fI\97¹\83R\81[\83h\r
+ /// </summary>\r
public int ExitCode {\r
get {\r
int lpExitCode;\r
}\r
}\r
\r
+ /// <summary>\r
+ /// \83v\83\8d\83Z\83X\82Ì\83n\83\93\83h\83\8b\82ð\8aJ\95ú\82·\82é\r
+ /// </summary>\r
public void Dispose()\r
{\r
CloseHandle(pi.hProcess);\r
/// </summary>\r
public enum HashValueType\r
{\r
+ /// <summary>\r
+ /// ファイルのサイズ(容量)をバイト単位で返す\r
+ /// </summary>\r
[XmlEnum(Name="size")]\r
SIZE,\r
[XmlEnum(Name="md5")]\r
[XmlEnum(Name="sha1")]\r
SHA1SUM,\r
[XmlEnum(Name="sha256")]\r
- SHA256SUM\r
+ SHA256SUM,\r
}\r
\r
public class HashValue\r
/// </summary>\r
/// <param name="stream">ストリーム入力</param>\r
/// <param name="type">ハッシュの種類(計算法)</param>\r
- /// <returns></returns>\r
+ /// <returns>ハッシュ値</returns>\r
public static string HashValueFor(Stream stream, HashValueType type)\r
{\r
byte[] hash;\r
-using System;\r
+using System;\r
using System.Text.RegularExpressions;\r
\r
namespace NaGet.Packages\r
{\r
- // TODO Debian-apt\82Ì\83R\81[\83h\82ð\97\98\97p\82µ\82Ä\82¢\82é\82Ì\82ÅGPL\82É\82È\82é\82Ì\82É\92\8d\88Ó\r
+ // TODO Debian-aptのコードを利用しているのでGPLになるのに注意\r
\r
+ // 引用元: apt-pkg/deb/debversion.cc,v 1.8 2003/09/10 23:39:49 mdz Exp\r
+ // Debian Version - Versioning system for Debian\r
+ // This implements the standard Debian versioning system.\r
+ // Copyright (C) yyyy name of author\r
+ // \r
+ // This program is free software; you can redistribute it and/or\r
+ // modify it under the terms of the GNU General Public License\r
+ // as published by the Free Software Foundation; either version 2\r
+ // of the License, or (at your option) any later version.\r
+ // \r
+ // This program is distributed in the hope that it will be useful,\r
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+ // GNU General Public License for more details.\r
+ // \r
+ // You should have received a copy of the GNU General Public License\r
+ // along with this program; if not, write to the Free Software\r
+ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\r
\r
+ /// <summary>\r
+ /// バージョン比較をするためのメソッドを含むクラス\r
+ /// </summary>\r
public class VersionComparetor : System.Collections.Generic.IComparer<string>\r
{\r
public VersionComparetor()\r
\r
public int Compare(string a, string b)\r
{\r
- // \91O\8f\88\97\9d\r
+ // 前処理\r
a = a.ToLower();\r
b = b.ToLower();\r
if (Regex.IsMatch(a, @"\.0*$")) \r