Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/09/11 16:49:26 (13 years ago)
Author:
epitzer
Message:

Add maximum capacity parameter and a least recently used replacement strategy to the evaluation cache (#1516)

Location:
trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/EvaluationCacheView.Designer.cs

    r6140 r6169  
    1 namespace HeuristicLab.Problems.ExternalEvaluation {
     1namespace HeuristicLab.Problems.ExternalEvaluation.Views {
    22  partial class EvaluationCacheView {
    3     /// <summary>
     3    /// <summary> 
    44    /// Required designer variable.
    55    /// </summary>
    66    private System.ComponentModel.IContainer components = null;
    77
    8     /// <summary>
     8    /// <summary> 
    99    /// Clean up any resources being used.
    1010    /// </summary>
     
    1717    }
    1818
    19     #region Windows Form Designer generated code
     19    #region Component Designer generated code
    2020
    21     /// <summary>
    22     /// Required method for Designer support - do not modify
     21    /// <summary> 
     22    /// Required method for Designer support - do not modify 
    2323    /// the contents of this method with the code editor.
    2424    /// </summary>
    2525    private void InitializeComponent() {
    26       this.sizeLabel = new System.Windows.Forms.Label();
    27       this.sizeTextBox = new System.Windows.Forms.TextBox();
    28       this.hitsTextBox = new System.Windows.Forms.TextBox();
    29       this.hitsLabel = new System.Windows.Forms.Label();
     26      this.hits_sizeLabel = new System.Windows.Forms.Label();
     27      this.hits_sizeTextBox = new System.Windows.Forms.TextBox();
    3028      this.clearButton = new System.Windows.Forms.Button();
    3129      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
    3230      this.SuspendLayout();
     31      //
     32      // parameterCollectionView
     33      //
     34      this.parameterCollectionView.Location = new System.Drawing.Point(0, 52);
     35      this.parameterCollectionView.Size = new System.Drawing.Size(490, 301);
    3336      //
    3437      // nameTextBox
     
    3740      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
    3841      //
    39       // sizeLabel
     42      // hits_sizeLabel
    4043      //
    41       this.sizeLabel.AutoSize = true;
    42       this.sizeLabel.Location = new System.Drawing.Point(6, 30);
    43       this.sizeLabel.Name = "sizeLabel";
    44       this.sizeLabel.Size = new System.Drawing.Size(30, 13);
    45       this.sizeLabel.TabIndex = 3;
    46       this.sizeLabel.Text = "Size:";
     44      this.hits_sizeLabel.AutoSize = true;
     45      this.hits_sizeLabel.Location = new System.Drawing.Point(3, 29);
     46      this.hits_sizeLabel.Name = "hits_sizeLabel";
     47      this.hits_sizeLabel.Size = new System.Drawing.Size(53, 13);
     48      this.hits_sizeLabel.TabIndex = 4;
     49      this.hits_sizeLabel.Text = "Hits/Size:";
    4750      //
    48       // sizeTextBox
     51      // hits_sizeTextBox
    4952      //
    50       this.sizeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     53      this.hits_sizeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    5154            | System.Windows.Forms.AnchorStyles.Right)));
    52       this.sizeTextBox.Location = new System.Drawing.Point(58, 27);
    53       this.sizeTextBox.Name = "sizeTextBox";
    54       this.sizeTextBox.ReadOnly = true;
    55       this.sizeTextBox.Size = new System.Drawing.Size(290, 20);
    56       this.sizeTextBox.TabIndex = 4;
    57       //
    58       // hitsTextBox
    59       //
    60       this.hitsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    61             | System.Windows.Forms.AnchorStyles.Right)));
    62       this.hitsTextBox.Location = new System.Drawing.Point(58, 54);
    63       this.hitsTextBox.Name = "hitsTextBox";
    64       this.hitsTextBox.ReadOnly = true;
    65       this.hitsTextBox.Size = new System.Drawing.Size(290, 20);
    66       this.hitsTextBox.TabIndex = 5;
    67       //
    68       // hitsLabel
    69       //
    70       this.hitsLabel.AutoSize = true;
    71       this.hitsLabel.Location = new System.Drawing.Point(6, 57);
    72       this.hitsLabel.Name = "hitsLabel";
    73       this.hitsLabel.Size = new System.Drawing.Size(28, 13);
    74       this.hitsLabel.TabIndex = 6;
    75       this.hitsLabel.Text = "Hits:";
     55      this.hits_sizeTextBox.Location = new System.Drawing.Point(59, 26);
     56      this.hits_sizeTextBox.Name = "hits_sizeTextBox";
     57      this.hits_sizeTextBox.ReadOnly = true;
     58      this.hits_sizeTextBox.Size = new System.Drawing.Size(379, 20);
     59      this.hits_sizeTextBox.TabIndex = 5;
    7660      //
    7761      // clearButton
    7862      //
    7963      this.clearButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
    80       this.clearButton.Location = new System.Drawing.Point(273, 80);
     64      this.clearButton.Location = new System.Drawing.Point(444, 24);
    8165      this.clearButton.Name = "clearButton";
    82       this.clearButton.Size = new System.Drawing.Size(75, 23);
    83       this.clearButton.TabIndex = 7;
     66      this.clearButton.Size = new System.Drawing.Size(43, 23);
     67      this.clearButton.TabIndex = 6;
    8468      this.clearButton.Text = "Clear";
     69      this.toolTip.SetToolTip(this.clearButton, "Clear");
    8570      this.clearButton.UseVisualStyleBackColor = true;
    8671      this.clearButton.Click += new System.EventHandler(this.clearButton_Click);
     
    8974      //
    9075      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    91       this.Controls.Add(this.hitsTextBox);
    92       this.Controls.Add(this.sizeTextBox);
    93       this.Controls.Add(this.sizeLabel);
     76      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     77      this.Controls.Add(this.hits_sizeTextBox);
     78      this.Controls.Add(this.hits_sizeLabel);
    9479      this.Controls.Add(this.clearButton);
    95       this.Controls.Add(this.hitsLabel);
    9680      this.Name = "EvaluationCacheView";
    97       this.Size = new System.Drawing.Size(351, 107);
    98       this.Controls.SetChildIndex(this.hitsLabel, 0);
    9981      this.Controls.SetChildIndex(this.clearButton, 0);
    100       this.Controls.SetChildIndex(this.sizeLabel, 0);
    101       this.Controls.SetChildIndex(this.sizeTextBox, 0);
    102       this.Controls.SetChildIndex(this.hitsTextBox, 0);
     82      this.Controls.SetChildIndex(this.hits_sizeLabel, 0);
     83      this.Controls.SetChildIndex(this.hits_sizeTextBox, 0);
     84      this.Controls.SetChildIndex(this.infoLabel, 0);
     85      this.Controls.SetChildIndex(this.nameTextBox, 0);
    10386      this.Controls.SetChildIndex(this.nameLabel, 0);
    104       this.Controls.SetChildIndex(this.nameTextBox, 0);
    105       this.Controls.SetChildIndex(this.infoLabel, 0);
     87      this.Controls.SetChildIndex(this.parameterCollectionView, 0);
    10688      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
    10789      this.ResumeLayout(false);
     
    11294    #endregion
    11395
    114     private System.Windows.Forms.Label sizeLabel;
    115     private System.Windows.Forms.TextBox sizeTextBox;
    116     private System.Windows.Forms.TextBox hitsTextBox;
    117     private System.Windows.Forms.Label hitsLabel;
     96    private System.Windows.Forms.Label hits_sizeLabel;
     97    private System.Windows.Forms.TextBox hits_sizeTextBox;
    11898    private System.Windows.Forms.Button clearButton;
    11999  }
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/EvaluationCacheView.cs

    r6140 r6169  
    1 
     1using System;
     2using System.Windows.Forms;
    23using HeuristicLab.Core.Views;
    34using HeuristicLab.MainForm;
    4 namespace HeuristicLab.Problems.ExternalEvaluation {
     5
     6namespace HeuristicLab.Problems.ExternalEvaluation.Views {
    57
    68  [View("EvaluationCacheView")]
    79  [Content(typeof(EvaluationCache), IsDefaultView = true)]
    8   public sealed partial class EvaluationCacheView : NamedItemView {
     10  public sealed partial class EvaluationCacheView : ParameterizedNamedItemView {
    911
    1012    public new EvaluationCache Content {
     
    1820
    1921    protected override void DeregisterContentEvents() {
    20       Content.CacheSizeChanged -= Content_CacheSizeChanged;
    21       Content.CacheHitsChanged -= Content_CacheHitsChanged;
     22      Content.SizeChanged -= new System.EventHandler(Content_StatusChanged);
     23      Content.HitsChanged -= new System.EventHandler(Content_StatusChanged);
    2224      base.DeregisterContentEvents();
    2325    }
     
    2527    protected override void RegisterContentEvents() {
    2628      base.RegisterContentEvents();
    27       Content.CacheSizeChanged += Content_CacheSizeChanged;
    28       Content.CacheHitsChanged += Content_CacheHitsChanged;
     29      Content.SizeChanged += new System.EventHandler(Content_StatusChanged);
     30      Content.HitsChanged += new System.EventHandler(Content_StatusChanged);
    2931    }
    3032
    31 
    3233    #region Event Handlers (Content)
    33     void Content_CacheSizeChanged(object sender, System.EventArgs e) {
    34       sizeTextBox.Text = Content.CacheSize.ToString();
     34    void Content_StatusChanged(object sender, EventArgs e) {
     35      if (InvokeRequired)
     36        Invoke(new EventHandler(Content_StatusChanged), sender, e);
     37      else
     38        hits_sizeTextBox.Text = string.Format("{0}/{1}", Content.Hits, Content.Size);
    3539    }
    3640
    37     void Content_CacheHitsChanged(object sender, System.EventArgs e) {
    38       hitsTextBox.Text = Content.CacheHits.ToString();
    39     }
    4041    #endregion
    4142
     
    4344      base.OnContentChanged();
    4445      if (Content == null) {
    45         sizeTextBox.Text = "";
    46         hitsTextBox.Text = "";
     46        hits_sizeTextBox.Text = "#/#";
    4747      } else {
    48         sizeTextBox.Text = Content.CacheSize.ToString();
    49         hitsTextBox.Text = Content.CacheHits.ToString();
     48        Content_StatusChanged(this, EventArgs.Empty);
    5049      }
    5150    }
     
    5756
    5857    #region Event Handlers (child controls)
    59     private void clearButton_Click(object sender, System.EventArgs e) {
     58    private void clearButton_Click(object sender, EventArgs e) {
    6059      Content.Reset();
    6160    }
    6261    #endregion
    6362  }
    64 
    6563}
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/EvaluationCacheView.resx

    r6140 r6169  
    121121    <value>107, 17</value>
    122122  </metadata>
     123  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     124    <value>107, 17</value>
     125  </metadata>
    123126  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    124127    <value>17, 17</value>
Note: See TracChangeset for help on using the changeset viewer.