Changeset 2488


Ignore:
Timestamp:
03/14/12 00:35:20 (3 years ago)
Author:
lowjoel
Message:

Change the progress updates to be a pull paradigm and not a push paradigm: this reduces the amount of time the CPU spends sending progress feedback, at the same time, allows future extensibility for decoupling the task executor from the front end.

Location:
branches/eraser6/pluginsRewrite
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs

    r2487 r2488  
    4141    public class Task : ITask, ISerializable 
    4242    { 
    43         #region ErasureTargetProgressManagerStep 
    44         /// <summary> 
    45         /// Returns the progress of an erasure target, since that comprises the 
    46         /// steps of the Task Progress. 
    47         /// </summary> 
    48         private class ErasureTargetProgressManagerStep : SteppedProgressManagerStepBase 
    49         { 
    50             /// <summary> 
    51             /// Constructor. 
    52             /// </summary> 
    53             /// <param name="target">The erasure target represented by this object.</param> 
    54             /// <param name="steps">The number of targets in the task.</param> 
    55             public ErasureTargetProgressManagerStep(IErasureTarget target, int targets) 
    56                 : base(1.0f / targets) 
    57             { 
    58                 Target = target; 
    59             } 
    60  
    61             public override ProgressManagerBase Progress 
    62             { 
    63                 get 
    64                 { 
    65                     return Target.Progress; 
    66                 } 
    67                 set 
    68                 { 
    69                     throw new InvalidOperationException(); 
    70                 } 
    71             } 
    72  
    73             private IErasureTarget Target; 
    74         } 
    75         #endregion 
    76  
    7743        #region Serialization code 
    7844        protected Task(SerializationInfo info, StreamingContext context) 
     
    391357 
    392358    /// <summary> 
     359    /// Returns the progress of an erasure target, since that comprises the 
     360    /// steps of the Task Progress. 
     361    /// </summary> 
     362    public class ErasureTargetProgressManagerStep : SteppedProgressManagerStepBase 
     363    { 
     364        /// <summary> 
     365        /// Constructor. 
     366        /// </summary> 
     367        /// <param name="target">The erasure target represented by this object.</param> 
     368        /// <param name="steps">The number of targets in the task.</param> 
     369        public ErasureTargetProgressManagerStep(IErasureTarget target, int targets) 
     370            : base(1.0f / targets) 
     371        { 
     372            Target = target; 
     373        } 
     374 
     375        public override ProgressManagerBase Progress 
     376        { 
     377            get 
     378            { 
     379                return Target.Progress; 
     380            } 
     381            set 
     382            { 
     383                throw new InvalidOperationException(); 
     384            } 
     385        } 
     386 
     387        /// <summary> 
     388        /// The erasure target represented by this step. 
     389        /// </summary> 
     390        public IErasureTarget Target 
     391        { 
     392            get; 
     393            private set; 
     394        } 
     395    } 
     396 
     397    /// <summary> 
    393398    /// A base event class for all event arguments involving a task. 
    394399    /// </summary> 
  • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.Designer.cs

    r1675 r2488  
    5050        private void InitializeComponent() 
    5151        { 
     52            this.components = new System.ComponentModel.Container(); 
    5253            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProgressForm)); 
    5354            this.overallProgressLbl = new System.Windows.Forms.Label(); 
     
    7071            this.timeLeft = new System.Windows.Forms.Label(); 
    7172            this.hide = new System.Windows.Forms.Button(); 
     73            this.progressTimer = new System.Windows.Forms.Timer(this.components); 
    7274            ((System.ComponentModel.ISupportInitialize)(this.title)).BeginInit(); 
    7375            this.SuspendLayout(); 
     
    179181            this.hide.UseVisualStyleBackColor = true; 
    180182            this.hide.Click += new System.EventHandler(this.hide_Click); 
     183            //  
     184            // progressTimer 
     185            //  
     186            this.progressTimer.Enabled = true; 
     187            this.progressTimer.Interval = 300; 
     188            this.progressTimer.Tick += new System.EventHandler(this.progressTimer_Tick); 
    181189            //  
    182190            // ProgressForm 
     
    236244        private System.Windows.Forms.Label timeLeft; 
    237245        private System.Windows.Forms.Button hide; 
     246        private System.Windows.Forms.Timer progressTimer; 
    238247    } 
    239248} 
  • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs

    r2485 r2488  
    5050            //Register the event handlers 
    5151            jobTitle.Text = task.ToString(); 
    52             task.ProgressChanged += task_ProgressChanged; 
    5352            task.TaskFinished += task_TaskFinished; 
    5453 
    5554            //Set the current progress 
    56             if (task.Progress.CurrentStep != null) 
    57                 UpdateProgress(task.Progress.CurrentStep.Progress, 
    58                     new ProgressChangedEventArgs(task.Progress.CurrentStep.Progress, null)); 
     55            UpdateProgress(); 
    5956        } 
    6057 
    6158        private void ProgressForm_FormClosed(object sender, FormClosedEventArgs e) 
    6259        { 
    63             task.ProgressChanged -= task_ProgressChanged; 
    6460            task.TaskFinished -= task_TaskFinished; 
    6561        } 
    6662 
    67         private void task_ProgressChanged(object sender, ProgressChangedEventArgs e) 
    68         { 
    69             if (IsDisposed || !IsHandleCreated) 
    70                 return; 
    71             if (InvokeRequired) 
    72             { 
    73                 //Don't update too often - we can slow down the code. 
    74                 if (DateTime.Now - lastUpdate < new TimeSpan(0, 0, 0, 0, 300)) 
    75                     return; 
    76  
    77                 lastUpdate = DateTime.Now; 
    78                 Invoke((EventHandler<ProgressChangedEventArgs>)task_ProgressChanged, sender, e); 
    79                 return; 
    80             } 
    81  
    82             IErasureTarget target = sender as IErasureTarget; 
    83             if (target == null) 
    84                 return; 
    85  
    86             UpdateProgress(target.Progress, e); 
     63        private void progressTimer_Tick(object sender, EventArgs e) 
     64        { 
     65            UpdateProgress(); 
    8766        } 
    8867 
     
    142121        } 
    143122 
    144         private void UpdateProgress(ProgressManagerBase targetProgress, ProgressChangedEventArgs e) 
    145         { 
    146             TaskProgressChangedEventArgs e2 = (TaskProgressChangedEventArgs)e.UserState; 
    147             { 
    148                 SteppedProgressManager targetProgressStepped = 
    149                     targetProgress as SteppedProgressManager; 
    150                 if (targetProgressStepped != null && targetProgressStepped.CurrentStep != null) 
    151                     status.Text = targetProgressStepped.CurrentStep.Name; 
    152                 else 
    153                     status.Text = S._("Erasing..."); 
    154             } 
    155  
    156             if (e2 != null) 
    157             { 
    158                 item.Text = WrapItemName(e2.ItemName); 
    159                 pass.Text = e2.ItemTotalPasses != 0 ? 
    160                     S._("{0} out of {1}", e2.ItemPass, e2.ItemTotalPasses) : 
    161                     e2.ItemPass.ToString(CultureInfo.CurrentCulture); 
    162             } 
    163  
    164             if (targetProgress.TimeLeft >= TimeSpan.Zero) 
    165                 timeLeft.Text = S._("About {0} left", RoundToSeconds(targetProgress.TimeLeft)); 
     123        private void UpdateProgress() 
     124        { 
     125            //Get the name of the current erasure target to display the overall status 
     126            ErasureTargetProgressManagerStep taskStep = 
     127                (ErasureTargetProgressManagerStep)task.Progress.CurrentStep; 
     128            if (taskStep != null && !string.IsNullOrEmpty(taskStep.Name)) 
     129                status.Text = taskStep.Name; 
     130            else 
     131                status.Text = S._("Erasing..."); 
     132 
     133            //The get the current step of the target to set the current item name 
     134            SteppedProgressManagerStepBase targetStep = 
     135                (SteppedProgressManagerStepBase)taskStep.Target.Progress.CurrentStep; 
     136            if (!string.IsNullOrEmpty(targetStep.Name)) 
     137                item.Text = WrapItemName(targetStep.Name); 
     138 
     139            //Determine if the tag information of the step's progress manager is an 
     140            //object array or a string. 
     141            ProgressManagerBase targetStepProgress = targetStep.Progress; 
     142            { 
     143                object tag = targetStepProgress.Tag; 
     144                if (tag.GetType() == typeof(string)) 
     145                    item.Text = (string)tag; 
     146                else if (tag.GetType() == typeof(int[])) 
     147                    pass.Text = S._("{0} out of {1}", ((int[])tag)[0], ((int[])tag)[1]); 
     148            } 
     149 
     150            if (targetStepProgress.TimeLeft >= TimeSpan.Zero) 
     151                timeLeft.Text = S._("About {0} left", RoundToSeconds(targetStepProgress.TimeLeft)); 
    166152            else 
    167153                timeLeft.Text = S._("Unknown"); 
    168154 
    169             if (!targetProgress.ProgressIndeterminate) 
     155            if (!targetStepProgress.ProgressIndeterminate) 
    170156            { 
    171157                itemProgress.Style = ProgressBarStyle.Continuous; 
    172                 itemProgress.Value = (int)(targetProgress.Progress * 1000); 
    173                 itemProgressLbl.Text = targetProgress.Progress.ToString("#0%", 
     158                itemProgress.Value = (int)(targetStepProgress.Progress * 1000); 
     159                itemProgressLbl.Text = targetStepProgress.Progress.ToString("#0%", 
    174160                    CultureInfo.CurrentCulture); 
    175161            } 
  • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.resx

    r2220 r2488  
    113113  </resheader> 
    114114  <resheader name="reader"> 
    115     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     115    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    116116  </resheader> 
    117117  <resheader name="writer"> 
    118     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    119119  </resheader> 
    120   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     120  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    121121  <data name="overallProgressLbl.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> 
    122122    <value>Top, Bottom, Left, Right</value> 
    123123  </data> 
    124   <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     124  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    125125  <data name="overallProgressLbl.Location" type="System.Drawing.Point, System.Drawing"> 
    126126    <value>6, 174</value> 
     
    129129    <value>128, 15</value> 
    130130  </data> 
    131   <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     131  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    132132  <data name="overallProgressLbl.TabIndex" type="System.Int32, mscorlib"> 
    133133    <value>1</value> 
     
    143143  </data> 
    144144  <data name="&gt;&gt;overallProgressLbl.Type" xml:space="preserve"> 
    145     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     145    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    146146  </data> 
    147147  <data name="&gt;&gt;overallProgressLbl.Parent" xml:space="preserve"> 
     
    164164  </data> 
    165165  <data name="&gt;&gt;overallProgress.Type" xml:space="preserve"> 
    166     <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     166    <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    167167  </data> 
    168168  <data name="&gt;&gt;overallProgress.Parent" xml:space="preserve"> 
     
    191191  </data> 
    192192  <data name="&gt;&gt;jobTitle.Type" xml:space="preserve"> 
    193     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     193    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    194194  </data> 
    195195  <data name="&gt;&gt;jobTitle.Parent" xml:space="preserve"> 
     
    221221  </data> 
    222222  <data name="&gt;&gt;status.Type" xml:space="preserve"> 
    223     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     223    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    224224  </data> 
    225225  <data name="&gt;&gt;status.Parent" xml:space="preserve"> 
     
    248248  </data> 
    249249  <data name="&gt;&gt;statusLbl.Type" xml:space="preserve"> 
    250     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     250    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    251251  </data> 
    252252  <data name="&gt;&gt;statusLbl.Parent" xml:space="preserve"> 
     
    275275  </data> 
    276276  <data name="&gt;&gt;itemLbl.Type" xml:space="preserve"> 
    277     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     277    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    278278  </data> 
    279279  <data name="&gt;&gt;itemLbl.Parent" xml:space="preserve"> 
     
    299299  </data> 
    300300  <data name="&gt;&gt;item.Type" xml:space="preserve"> 
    301     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     301    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    302302  </data> 
    303303  <data name="&gt;&gt;item.Parent" xml:space="preserve"> 
     
    326326  </data> 
    327327  <data name="&gt;&gt;passLbl.Type" xml:space="preserve"> 
    328     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     328    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    329329  </data> 
    330330  <data name="&gt;&gt;passLbl.Parent" xml:space="preserve"> 
     
    353353  </data> 
    354354  <data name="&gt;&gt;pass.Type" xml:space="preserve"> 
    355     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     355    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    356356  </data> 
    357357  <data name="&gt;&gt;pass.Parent" xml:space="preserve"> 
     
    837837  </data> 
    838838  <data name="&gt;&gt;title.Type" xml:space="preserve"> 
    839     <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     839    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    840840  </data> 
    841841  <data name="&gt;&gt;title.Parent" xml:space="preserve"> 
     
    867867  </data> 
    868868  <data name="&gt;&gt;titleLbl.Type" xml:space="preserve"> 
    869     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     869    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    870870  </data> 
    871871  <data name="&gt;&gt;titleLbl.Parent" xml:space="preserve"> 
     
    891891  </data> 
    892892  <data name="&gt;&gt;itemProgressLbl.Type" xml:space="preserve"> 
    893     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     893    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    894894  </data> 
    895895  <data name="&gt;&gt;itemProgressLbl.Parent" xml:space="preserve"> 
     
    912912  </data> 
    913913  <data name="&gt;&gt;itemProgress.Type" xml:space="preserve"> 
    914     <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     914    <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    915915  </data> 
    916916  <data name="&gt;&gt;itemProgress.Parent" xml:space="preserve"> 
     
    939939  </data> 
    940940  <data name="&gt;&gt;stop.Type" xml:space="preserve"> 
    941     <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     941    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    942942  </data> 
    943943  <data name="&gt;&gt;stop.Parent" xml:space="preserve"> 
     
    10081008  </data> 
    10091009  <data name="&gt;&gt;timeLeftLbl.Type" xml:space="preserve"> 
    1010     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     1010    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    10111011  </data> 
    10121012  <data name="&gt;&gt;timeLeftLbl.Parent" xml:space="preserve"> 
     
    10351035  </data> 
    10361036  <data name="&gt;&gt;timeLeft.Type" xml:space="preserve"> 
    1037     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     1037    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    10381038  </data> 
    10391039  <data name="&gt;&gt;timeLeft.Parent" xml:space="preserve"> 
     
    10621062  </data> 
    10631063  <data name="&gt;&gt;hide.Type" xml:space="preserve"> 
    1064     <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     1064    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    10651065  </data> 
    10661066  <data name="&gt;&gt;hide.Parent" xml:space="preserve"> 
     
    10701070    <value>0</value> 
    10711071  </data> 
    1072   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     1072  <metadata name="progressTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
     1073    <value>17, 17</value> 
     1074  </metadata> 
     1075  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
    10731076    <value>True</value> 
    10741077  </metadata> 
     
    10851088    <value>Erasure Progress</value> 
    10861089  </data> 
     1090  <data name="&gt;&gt;progressTimer.Name" xml:space="preserve"> 
     1091    <value>progressTimer</value> 
     1092  </data> 
     1093  <data name="&gt;&gt;progressTimer.Type" xml:space="preserve"> 
     1094    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     1095  </data> 
    10871096  <data name="&gt;&gt;$this.Name" xml:space="preserve"> 
    10881097    <value>ProgressForm</value> 
    10891098  </data> 
    10901099  <data name="&gt;&gt;$this.Type" xml:space="preserve"> 
    1091     <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     1100    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    10921101  </data> 
    10931102</root> 
  • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.Designer.cs

    r2243 r2488  
    5353            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SchedulerPanel)); 
    5454            this.scheduler = new System.Windows.Forms.ListView(); 
    55             this.schedulerColName = new System.Windows.Forms.ColumnHeader(); 
    56             this.schedulerColNextRun = new System.Windows.Forms.ColumnHeader(); 
    57             this.schedulerColStatus = new System.Windows.Forms.ColumnHeader(); 
     55            this.schedulerColName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 
     56            this.schedulerColNextRun = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 
     57            this.schedulerColStatus = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 
    5858            this.schedulerMenu = new System.Windows.Forms.ContextMenuStrip(this.components); 
    5959            this.runNowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 
     
    6767            this.schedulerDefaultMenu = new System.Windows.Forms.ContextMenuStrip(this.components); 
    6868            this.newTaskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 
     69            this.progressTimer = new System.Windows.Forms.Timer(this.components); 
    6970            ((System.ComponentModel.ISupportInitialize)(this.titleIcon)).BeginInit(); 
    7071            this.content.SuspendLayout(); 
     
    106107            this.scheduler.View = System.Windows.Forms.View.Details; 
    107108            this.scheduler.DrawColumnHeader += new System.Windows.Forms.DrawListViewColumnHeaderEventHandler(this.scheduler_DrawColumnHeader); 
     109            this.scheduler.DrawSubItem += new System.Windows.Forms.DrawListViewSubItemEventHandler(this.scheduler_DrawSubItem); 
    108110            this.scheduler.ItemActivate += new System.EventHandler(this.scheduler_ItemActivate); 
    109111            this.scheduler.DragDrop += new System.Windows.Forms.DragEventHandler(this.scheduler_DragDrop); 
    110112            this.scheduler.DragEnter += new System.Windows.Forms.DragEventHandler(this.scheduler_DragEnter); 
     113            this.scheduler.DragOver += new System.Windows.Forms.DragEventHandler(this.scheduler_DragOver); 
    111114            this.scheduler.DragLeave += new System.EventHandler(this.scheduler_DragLeave); 
    112115            this.scheduler.KeyDown += new System.Windows.Forms.KeyEventHandler(this.scheduler_KeyDown); 
    113             this.scheduler.DragOver += new System.Windows.Forms.DragEventHandler(this.scheduler_DragOver); 
    114             this.scheduler.DrawSubItem += new System.Windows.Forms.DrawListViewSubItemEventHandler(this.scheduler_DrawSubItem); 
    115116            //  
    116117            // schedulerColName 
     
    199200            resources.ApplyResources(this.newTaskToolStripMenuItem, "newTaskToolStripMenuItem"); 
    200201            this.newTaskToolStripMenuItem.Click += new System.EventHandler(this.newTaskToolStripMenuItem_Click); 
     202            //  
     203            // progressTimer 
     204            //  
     205            this.progressTimer.Interval = 300; 
     206            this.progressTimer.Tick += new System.EventHandler(this.progressTimer_Tick); 
    201207            //  
    202208            // SchedulerPanel 
     
    234240        private System.Windows.Forms.ContextMenuStrip schedulerDefaultMenu; 
    235241        private System.Windows.Forms.ToolStripMenuItem newTaskToolStripMenuItem; 
     242        private System.Windows.Forms.Timer progressTimer; 
    236243    } 
    237244} 
  • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs

    r2485 r2488  
    7575            //Add our event handlers to the task 
    7676            task.TaskStarted += TaskStarted; 
    77             task.ProgressChanged += TaskProgressChanged; 
    7877            task.TaskFinished += TaskFinished; 
    7978 
     
    220219        /// Handles the progress event by the task. 
    221220        /// </summary> 
    222         void TaskProgressChanged(object sender, ProgressChangedEventArgs e) 
    223         { 
    224             //Make sure we handle the event in the main thread as this requires 
    225             //GUI calls. 
    226             if (InvokeRequired) 
    227             { 
    228                 Invoke((EventHandler<ProgressChangedEventArgs>)TaskProgressChanged, sender, e); 
    229                 return; 
    230             } 
     221        private void progressTimer_Tick(object sender, EventArgs e) 
     222        { 
     223            ListViewItem item = (ListViewItem)schedulerProgress.Tag; 
     224            Task task = (Task)item.Tag; 
    231225 
    232226            //Update the progress bar 
    233             IErasureTarget target = (IErasureTarget)sender; 
    234             SteppedProgressManager progress = target.Task.Progress; 
     227            SteppedProgressManager progress = task.Progress; 
    235228            schedulerProgress.Style = progress.ProgressIndeterminate ? 
    236229                ProgressBarStyle.Marquee : ProgressBarStyle.Continuous; 
    237              
     230 
    238231            if (!progress.ProgressIndeterminate) 
    239232                schedulerProgress.Value = (int)(progress.Progress * 1000.0); 
  • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.resx

    r2243 r2488  
    113113  </resheader> 
    114114  <resheader name="reader"> 
    115     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     115    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    116116  </resheader> 
    117117  <resheader name="writer"> 
    118     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    119119  </resheader> 
    120   <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     120  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    121121  <data name="titleLabel.Size" type="System.Drawing.Size, System.Drawing"> 
    122122    <value>175, 32</value> 
     
    129129  </data> 
    130130  <data name="&gt;&gt;titleLabel.Type" xml:space="preserve"> 
    131     <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     131    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    132132  </data> 
    133133  <data name="&gt;&gt;titleLabel.Parent" xml:space="preserve"> 
     
    141141  </data> 
    142142  <data name="&gt;&gt;titleIcon.Type" xml:space="preserve"> 
    143     <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     143    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    144144  </data> 
    145145  <data name="&gt;&gt;titleIcon.Parent" xml:space="preserve"> 
     
    149149    <value>1</value> 
    150150  </data> 
    151   <data name="schedulerProgress.Location" type="System.Drawing.Point, System.Drawing"> 
    152     <value>481, 28</value> 
    153   </data> 
    154   <data name="schedulerProgress.Size" type="System.Drawing.Size, System.Drawing"> 
    155     <value>200, 23</value> 
    156   </data> 
    157   <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    158   <data name="schedulerProgress.TabIndex" type="System.Int32, mscorlib"> 
    159     <value>1</value> 
    160   </data> 
    161   <data name="schedulerProgress.Visible" type="System.Boolean, mscorlib"> 
    162     <value>False</value> 
    163   </data> 
    164151  <data name="&gt;&gt;schedulerProgress.Name" xml:space="preserve"> 
    165152    <value>schedulerProgress</value> 
    166153  </data> 
    167154  <data name="&gt;&gt;schedulerProgress.Type" xml:space="preserve"> 
    168     <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     155    <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    169156  </data> 
    170157  <data name="&gt;&gt;schedulerProgress.Parent" xml:space="preserve"> 
     
    174161    <value>0</value> 
    175162  </data> 
    176   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     163  <data name="&gt;&gt;scheduler.Name" xml:space="preserve"> 
     164    <value>scheduler</value> 
     165  </data> 
     166  <data name="&gt;&gt;scheduler.Type" xml:space="preserve"> 
     167    <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     168  </data> 
     169  <data name="&gt;&gt;scheduler.Parent" xml:space="preserve"> 
     170    <value>content</value> 
     171  </data> 
     172  <data name="&gt;&gt;scheduler.ZOrder" xml:space="preserve"> 
     173    <value>1</value> 
     174  </data> 
     175  <data name="&gt;&gt;content.Name" xml:space="preserve"> 
     176    <value>content</value> 
     177  </data> 
     178  <data name="&gt;&gt;content.Type" xml:space="preserve"> 
     179    <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     180  </data> 
     181  <data name="&gt;&gt;content.Parent" xml:space="preserve"> 
     182    <value>$this</value> 
     183  </data> 
     184  <data name="&gt;&gt;content.ZOrder" xml:space="preserve"> 
     185    <value>0</value> 
     186  </data> 
     187  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    177188  <data name="scheduler.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> 
    178189    <value>Top, Bottom, Left, Right</value> 
     
    181192    <value>Task Name</value> 
    182193  </data> 
     194  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    183195  <data name="schedulerColName.Width" type="System.Int32, mscorlib"> 
    184196    <value>280</value> 
     
    196208    <value>200</value> 
    197209  </data> 
    198   <metadata name="schedulerMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
     210  <metadata name="schedulerMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
    199211    <value>17, 17</value> 
    200212  </metadata> 
    201   <data name="runNowToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms"> 
    202     <value>Ctrl+Alt+R</value> 
    203   </data> 
    204   <data name="runNowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
    205     <value>187, 22</value> 
    206   </data> 
    207   <data name="runNowToolStripMenuItem.Text" xml:space="preserve"> 
    208     <value>Run Now</value> 
    209   </data> 
    210   <data name="cancelTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
    211     <value>187, 22</value> 
    212   </data> 
    213   <data name="cancelTaskToolStripMenuItem.Text" xml:space="preserve"> 
    214     <value>Cancel Task</value> 
    215   </data> 
    216   <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing"> 
    217     <value>184, 6</value> 
    218   </data> 
    219   <data name="viewTaskLogToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
    220     <value>187, 22</value> 
    221   </data> 
    222   <data name="viewTaskLogToolStripMenuItem.Text" xml:space="preserve"> 
    223     <value>View Task Log</value> 
    224   </data> 
    225   <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> 
    226     <value>184, 6</value> 
    227   </data> 
    228   <data name="editTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
    229     <value>187, 22</value> 
    230   </data> 
    231   <data name="editTaskToolStripMenuItem.Text" xml:space="preserve"> 
    232     <value>Edit Task</value> 
    233   </data> 
    234   <data name="deleteTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
    235     <value>187, 22</value> 
    236   </data> 
    237   <data name="deleteTaskToolStripMenuItem.Text" xml:space="preserve"> 
    238     <value>Delete Task</value> 
    239   </data> 
    240213  <data name="schedulerMenu.Size" type="System.Drawing.Size, System.Drawing"> 
    241214    <value>188, 126</value> 
     
    245218  </data> 
    246219  <data name="&gt;&gt;schedulerMenu.Type" xml:space="preserve"> 
    247     <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     220    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    248221  </data> 
    249222  <data name="scheduler.Groups" mimetype="application/x-microsoft.net.object.binary.base64"> 
    250223    <value> 
    251         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w 
     224        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w 
    252225        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 
    253226        ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh 
     
    259232  <data name="scheduler.Groups1" mimetype="application/x-microsoft.net.object.binary.base64"> 
    260233    <value> 
    261         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w 
     234        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w 
    262235        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 
    263236        ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh 
     
    269242  <data name="scheduler.Groups2" mimetype="application/x-microsoft.net.object.binary.base64"> 
    270243    <value> 
    271         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w 
     244        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w 
    272245        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 
    273246        ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh 
     
    290263  </data> 
    291264  <data name="&gt;&gt;scheduler.Type" xml:space="preserve"> 
    292     <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     265    <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    293266  </data> 
    294267  <data name="&gt;&gt;scheduler.Parent" xml:space="preserve"> 
     
    298271    <value>1</value> 
    299272  </data> 
    300   <data name="&gt;&gt;content.Name" xml:space="preserve"> 
     273  <data name="runNowToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms"> 
     274    <value>Ctrl+Alt+R</value> 
     275  </data> 
     276  <data name="runNowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
     277    <value>187, 22</value> 
     278  </data> 
     279  <data name="runNowToolStripMenuItem.Text" xml:space="preserve"> 
     280    <value>Run Now</value> 
     281  </data> 
     282  <data name="cancelTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
     283    <value>187, 22</value> 
     284  </data> 
     285  <data name="cancelTaskToolStripMenuItem.Text" xml:space="preserve"> 
     286    <value>Cancel Task</value> 
     287  </data> 
     288  <data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing"> 
     289    <value>184, 6</value> 
     290  </data> 
     291  <data name="viewTaskLogToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
     292    <value>187, 22</value> 
     293  </data> 
     294  <data name="viewTaskLogToolStripMenuItem.Text" xml:space="preserve"> 
     295    <value>View Task Log</value> 
     296  </data> 
     297  <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing"> 
     298    <value>184, 6</value> 
     299  </data> 
     300  <data name="editTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
     301    <value>187, 22</value> 
     302  </data> 
     303  <data name="editTaskToolStripMenuItem.Text" xml:space="preserve"> 
     304    <value>Edit Task</value> 
     305  </data> 
     306  <data name="deleteTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
     307    <value>187, 22</value> 
     308  </data> 
     309  <data name="deleteTaskToolStripMenuItem.Text" xml:space="preserve"> 
     310    <value>Delete Task</value> 
     311  </data> 
     312  <data name="schedulerProgress.Location" type="System.Drawing.Point, System.Drawing"> 
     313    <value>481, 28</value> 
     314  </data> 
     315  <data name="schedulerProgress.Size" type="System.Drawing.Size, System.Drawing"> 
     316    <value>200, 23</value> 
     317  </data> 
     318  <data name="schedulerProgress.TabIndex" type="System.Int32, mscorlib"> 
     319    <value>1</value> 
     320  </data> 
     321  <data name="schedulerProgress.Visible" type="System.Boolean, mscorlib"> 
     322    <value>False</value> 
     323  </data> 
     324  <data name="&gt;&gt;schedulerProgress.Name" xml:space="preserve"> 
     325    <value>schedulerProgress</value> 
     326  </data> 
     327  <data name="&gt;&gt;schedulerProgress.Type" xml:space="preserve"> 
     328    <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     329  </data> 
     330  <data name="&gt;&gt;schedulerProgress.Parent" xml:space="preserve"> 
    301331    <value>content</value> 
    302332  </data> 
    303   <data name="&gt;&gt;content.Type" xml:space="preserve"> 
    304     <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    305   </data> 
    306   <data name="&gt;&gt;content.Parent" xml:space="preserve"> 
    307     <value>$this</value> 
    308   </data> 
    309   <data name="&gt;&gt;content.ZOrder" xml:space="preserve"> 
     333  <data name="&gt;&gt;schedulerProgress.ZOrder" xml:space="preserve"> 
    310334    <value>0</value> 
    311335  </data> 
    312   <metadata name="schedulerDefaultMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
     336  <metadata name="schedulerDefaultMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
    313337    <value>152, 17</value> 
    314338  </metadata> 
     339  <data name="schedulerDefaultMenu.Size" type="System.Drawing.Size, System.Drawing"> 
     340    <value>126, 26</value> 
     341  </data> 
     342  <data name="&gt;&gt;schedulerDefaultMenu.Name" xml:space="preserve"> 
     343    <value>schedulerDefaultMenu</value> 
     344  </data> 
     345  <data name="&gt;&gt;schedulerDefaultMenu.Type" xml:space="preserve"> 
     346    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     347  </data> 
    315348  <data name="newTaskToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> 
    316349    <value>125, 22</value> 
     
    319352    <value>New Task</value> 
    320353  </data> 
    321   <data name="schedulerDefaultMenu.Size" type="System.Drawing.Size, System.Drawing"> 
    322     <value>126, 26</value> 
    323   </data> 
    324   <data name="&gt;&gt;schedulerDefaultMenu.Name" xml:space="preserve"> 
    325     <value>schedulerDefaultMenu</value> 
    326   </data> 
    327   <data name="&gt;&gt;schedulerDefaultMenu.Type" xml:space="preserve"> 
    328     <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    329   </data> 
    330   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     354  <metadata name="progressTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
     355    <value>327, 17</value> 
     356  </metadata> 
     357  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
    331358    <value>True</value> 
    332359  </metadata> 
     
    338365  </data> 
    339366  <data name="&gt;&gt;schedulerColName.Type" xml:space="preserve"> 
    340     <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     367    <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    341368  </data> 
    342369  <data name="&gt;&gt;schedulerColNextRun.Name" xml:space="preserve"> 
     
    344371  </data> 
    345372  <data name="&gt;&gt;schedulerColNextRun.Type" xml:space="preserve"> 
    346     <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     373    <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    347374  </data> 
    348375  <data name="&gt;&gt;schedulerColStatus.Name" xml:space="preserve"> 
     
    350377  </data> 
    351378  <data name="&gt;&gt;schedulerColStatus.Type" xml:space="preserve"> 
    352     <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     379    <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    353380  </data> 
    354381  <data name="&gt;&gt;runNowToolStripMenuItem.Name" xml:space="preserve"> 
     
    356383  </data> 
    357384  <data name="&gt;&gt;runNowToolStripMenuItem.Type" xml:space="preserve"> 
    358     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     385    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    359386  </data> 
    360387  <data name="&gt;&gt;cancelTaskToolStripMenuItem.Name" xml:space="preserve"> 
     
    362389  </data> 
    363390  <data name="&gt;&gt;cancelTaskToolStripMenuItem.Type" xml:space="preserve"> 
    364     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     391    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    365392  </data> 
    366393  <data name="&gt;&gt;toolStripSeparator2.Name" xml:space="preserve"> 
     
    368395  </data> 
    369396  <data name="&gt;&gt;toolStripSeparator2.Type" xml:space="preserve"> 
    370     <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     397    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    371398  </data> 
    372399  <data name="&gt;&gt;viewTaskLogToolStripMenuItem.Name" xml:space="preserve"> 
     
    374401  </data> 
    375402  <data name="&gt;&gt;viewTaskLogToolStripMenuItem.Type" xml:space="preserve"> 
    376     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     403    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    377404  </data> 
    378405  <data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve"> 
     
    380407  </data> 
    381408  <data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve"> 
    382     <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     409    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    383410  </data> 
    384411  <data name="&gt;&gt;editTaskToolStripMenuItem.Name" xml:space="preserve"> 
     
    386413  </data> 
    387414  <data name="&gt;&gt;editTaskToolStripMenuItem.Type" xml:space="preserve"> 
    388     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     415    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    389416  </data> 
    390417  <data name="&gt;&gt;deleteTaskToolStripMenuItem.Name" xml:space="preserve"> 
     
    392419  </data> 
    393420  <data name="&gt;&gt;deleteTaskToolStripMenuItem.Type" xml:space="preserve"> 
    394     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     421    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    395422  </data> 
    396423  <data name="&gt;&gt;newTaskToolStripMenuItem.Name" xml:space="preserve"> 
     
    398425  </data> 
    399426  <data name="&gt;&gt;newTaskToolStripMenuItem.Type" xml:space="preserve"> 
    400     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     427    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
     428  </data> 
     429  <data name="&gt;&gt;progressTimer.Name" xml:space="preserve"> 
     430    <value>progressTimer</value> 
     431  </data> 
     432  <data name="&gt;&gt;progressTimer.Type" xml:space="preserve"> 
     433    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 
    401434  </data> 
    402435  <data name="&gt;&gt;$this.Name" xml:space="preserve"> 
     
    404437  </data> 
    405438  <data name="&gt;&gt;$this.Type" xml:space="preserve"> 
    406     <value>Eraser.BasePanel, Eraser, Version=6.1.0.2112, Culture=neutral, PublicKeyToken=3ac89a0351e689b6</value> 
     439    <value>Eraser.BasePanel, Eraser, Version=6.1.0.2112, Culture=neutral, PublicKeyToken=ab8c5acb8db9a36b</value> 
    407440  </data> 
    408441</root> 
Note: See TracChangeset for help on using the changeset viewer.