-using System;\r
+using System;\r
using System.Drawing;\r
using System.Windows.Forms;\r
using System.Threading;\r
{\r
private NaGetTaskSet taskSet;\r
\r
- private Downloader downloader;\r
- \r
private Thread tasksetRunningThread = null;\r
\r
/// <summary>\r
- /// \8fI\97¹\8e\9e\82É\89½\82ð\8ds\82¤\82©\82Ì\83t\83\89\83O\r
+ /// 終了時に何を行うかのフラグ\r
/// </summary>\r
public enum ActionOnDoneFlags {\r
None = 0,\r
}\r
\r
/// <summary>\r
- /// \8fI\97¹\8e\9e\82É\89½\82ð\8ds\82¤\82©\r
+ /// 終了時に何を行うか\r
/// </summary>\r
public ActionOnDoneFlags ActionOnDone = ActionOnDoneFlags.FlashWindow;\r
- \r
- public Downloader Downloader {\r
- get { return downloader; }\r
- }\r
- \r
+ \r
public ExecutionProgressViewer()\r
{\r
//\r
//\r
InitializeComponent();\r
\r
- downloader = new Downloader();\r
- downloader.DownloadEventRaised += delegate(object sender, DownloadEventArgs e) {\r
- if (InvokeRequired) {\r
- Invoke(new EventHandler<DownloadEventArgs>(onDownloadEvent), sender, e);\r
- } else {\r
- onDownloadEvent(sender, e);\r
- }\r
- };\r
+ this.Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);\r
}\r
- \r
+ \r
private void onDownloadEvent(object sender, DownloadEventArgs a)\r
{\r
+ if (InvokeRequired) {\r
+ Invoke(new EventHandler<DownloadEventArgs>(onDownloadEvent), sender, a);\r
+ return;\r
+ }\r
+ \r
+ \r
if (a.TaskProgressPercent >= 0) {\r
progressBarSub.Value = (int) a.TaskProgressPercent;\r
progressBarSub.Style = ProgressBarStyle.Continuous;\r
progressSubLabel.Visible = false;\r
\r
logBox.SelectionColor = System.Drawing.Color.Red;\r
- logBox.AppendText(" [\83G\83\89\81[] " + a.TaskMessage + System.Environment.NewLine);\r
+ logBox.AppendText(" [エラー] " + a.TaskMessage + System.Environment.NewLine);\r
logBox.SelectionColor = logBox.ForeColor;\r
break;\r
}\r
}\r
\r
- #region NaGetTaskSet\8aÖ\98A\r
+ #region NaGetTaskSet関連\r
\r
private void onTaskSetRaised(object sender, NaGetTaskSetEventArgs e)\r
{\r
\r
switch (e.Type) {\r
case NaGetTaskSetEventType.COMPLETED:\r
- logBox.AppendText("\8a®\97¹." + System.Environment.NewLine);\r
+ logBox.AppendText("完了." + System.Environment.NewLine);\r
if (taskSet.Done) {\r
okButton.Enabled = true;\r
cancelButton.Enabled = false;\r
if (progressBarSub.Visible) progressBarSub.Hide();\r
if (progressSubLabel.Visible) progressSubLabel.Hide();\r
\r
- NativeMethods.ProgressBar_SetState(progressBar, 1); // VistaProgress\90F\81F\83m\81[\83}\83\8b\r
+ NativeMethods.ProgressBar_SetState(progressBar, 1); // VistaProgress色:ノーマル\r
\r
- logBox.AppendText(string.Format(" ... \8a®\97¹. [{0}%]", (int) e.TaskProgressPercent));\r
+ logBox.AppendText(string.Format(" ... 完了. [{0}%]", (int) e.TaskProgressPercent));\r
logBox.AppendText(System.Environment.NewLine);\r
break;\r
case NaGetTaskSetEventType.INFO:\r
break;\r
case NaGetTaskSetEventType.ERROR:\r
logBox.SelectionColor = System.Drawing.Color.Red;\r
- logBox.AppendText(" [\83G\83\89\81[] " + e.TaskMessage + System.Environment.NewLine);\r
+ logBox.AppendText(" [エラー] " + e.TaskMessage + System.Environment.NewLine);\r
logBox.SelectionColor = logBox.ForeColor;\r
\r
- NativeMethods.ProgressBar_SetState(progressBar, 2); // VistaProgress\90F\81F\83G\83\89\81[\r
+ NativeMethods.ProgressBar_SetState(progressBar, 2); // VistaProgress色:エラー\r
\r
okButton.Enabled = true;\r
cancelButton.Enabled = false;\r
logBox.AppendText(e.TaskMessage + System.Environment.NewLine);\r
logBox.SelectionColor = logBox.ForeColor;\r
\r
- NativeMethods.ProgressBar_SetState(progressBar, 1); // VistaProgress\90F\81F\92\86\92f\r
+ NativeMethods.ProgressBar_SetState(progressBar, 1); // VistaProgress色:中断\r
\r
okButton.Enabled = true;\r
cancelButton.Enabled = false;\r
break;\r
case NaGetTaskSetEventType.WARNING:\r
logBox.SelectionColor = System.Drawing.Color.Red;\r
- logBox.AppendText(" [\83G\83\89\81[] " + e.TaskMessage + System.Environment.NewLine);\r
+ logBox.AppendText(" [エラー] " + e.TaskMessage + System.Environment.NewLine);\r
logBox.SelectionColor = logBox.ForeColor;\r
\r
break;\r
}\r
};\r
\r
+ System.Reflection.PropertyInfo fDownloader = taskSet.GetType().GetProperty("Downloader");\r
+ if (fDownloader != null && (fDownloader.PropertyType == typeof(Downloader))) {\r
+ ((Downloader) fDownloader.GetValue(taskSet, null)).DownloadEventRaised += onDownloadEvent;\r
+ }\r
+ \r
taskSet.TaskQueryRaised += onTaskQueryRaised;\r
}\r
\r
if (taskSet != null && taskSet.Running && taskSet.Cancelable) {\r
cancelButton.Enabled = false;\r
\r
- NativeMethods.ProgressBar_SetState(progressBar, 3); // VistaProgress\90F\81F\92\86\92f\r
+ NativeMethods.ProgressBar_SetState(progressBar, 3); // VistaProgress色:中断\r
\r
taskSet.Cancel();\r
}\r