Free cookie consent management tool by TermsFeed Policy Generator

Changeset 869


Ignore:
Timestamp:
11/29/08 13:08:35 (15 years ago)
Author:
mstoeger
Message:

Adjustments on LineChart for new interface. #345

Location:
trunk/sources
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Visualization.Test/HeuristicLab.Visualization.Test.csproj

    r865 r869  
    5252  </PropertyGroup>
    5353  <ItemGroup>
     54    <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
     55      <SpecificVersion>False</SpecificVersion>
     56      <HintPath>NUnit-2.4.8-bin\nunit.framework.dll</HintPath>
     57    </Reference>
    5458    <Reference Include="System" />
    5559    <Reference Include="System.Core">
     
    7680      <DependentUpon>LegendForm.cs</DependentUpon>
    7781    </Compile>
     82    <Compile Include="LineChartTestForm.cs">
     83      <SubType>Form</SubType>
     84    </Compile>
     85    <Compile Include="LineChartTestForm.Designer.cs">
     86      <DependentUpon>LineChartTestForm.cs</DependentUpon>
     87    </Compile>
     88    <Compile Include="LineChartTests.cs" />
    7889    <Compile Include="MainForm.cs">
    7990      <SubType>Form</SubType>
     
    89100  </ItemGroup>
    90101  <ItemGroup>
     102    <ProjectReference Include="..\HeuristicLab.Core\HeuristicLab.Core.csproj">
     103      <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
     104      <Name>HeuristicLab.Core</Name>
     105    </ProjectReference>
    91106    <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
    92107      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
     
    99114  </ItemGroup>
    100115  <ItemGroup>
     116    <EmbeddedResource Include="LineChartTestForm.resx">
     117      <DependentUpon>LineChartTestForm.cs</DependentUpon>
     118    </EmbeddedResource>
    101119    <EmbeddedResource Include="MainForm.resx">
    102120      <DependentUpon>MainForm.cs</DependentUpon>
  • trunk/sources/HeuristicLab.Visualization.Test/LineChartTests.cs

    r861 r869  
     1using System.Drawing;
    12using NUnit.Framework;
    23
     
    89      LineChartTestForm f = new LineChartTestForm();
    910
    10       IDataRow row = new DataRow();
    11       f.Model.AddDataRow(row);
     11      IDataRow row1 = new DataRow();
     12      IDataRow row2 = new DataRow();
     13      IDataRow row3 = new DataRow();
    1214
    13       row.AddValue(10);
    14       row.AddValue(5);
    15       row.AddValue(7);
    16       row.AddValue(3);
    17       row.AddValue(10);
    18       row.AddValue(2);
     15      row1.Color = Color.Red;
     16      row2.Color = Color.Green;
     17      row3.Color = Color.Blue;
     18
     19      row1.Thickness = 3;
     20      row2.Thickness = 4;
     21      row3.Thickness = 5;
     22
     23      f.Model.AddDataRow(row1);
     24      f.Model.AddDataRow(row2);
     25      f.Model.AddDataRow(row3);
     26
     27      row1.AddValue(10);
     28      row1.AddValue(5);
     29      row1.AddValue(7);
     30      row1.AddValue(3);
     31      row1.AddValue(10);
     32      row1.AddValue(2);
     33
     34      row2.AddValue(5);
     35      row2.AddValue(6);
     36      row2.AddValue(5);
     37
     38      row3.AddValue(2);
     39      row3.AddValue(2);
     40      row3.AddValue(2);
     41      row3.AddValue(2);
     42      row3.AddValue(2);
    1943
    2044      f.ShowDialog();
  • trunk/sources/HeuristicLab.Visualization/CanvasUI.cs

    r725 r869  
    22using System.Diagnostics;
    33using System.Drawing;
     4using System.Drawing.Drawing2D;
    45using System.Windows.Forms;
    56
     
    2627        Graphics g = pe.Graphics;
    2728
     29        g.SmoothingMode = SmoothingMode.AntiAlias;
     30
    2831        g.FillRectangle(Brushes.White, ClientRectangle);
    2932
     
    3639       Debug.WriteLine(e);
    3740      }
     41    }
     42
     43    protected override void OnResize(EventArgs e) {
     44      Invalidate();
     45
     46      base.OnResize(e);
    3847    }
    3948
  • trunk/sources/HeuristicLab.Visualization/LineChart.Designer.cs

    r754 r869  
    3434          // canvasUI1
    3535          //
    36           this.canvasUI1.Location = new System.Drawing.Point(3, 3);
     36          this.canvasUI1.Dock = System.Windows.Forms.DockStyle.Fill;
     37          this.canvasUI1.Location = new System.Drawing.Point(0, 0);
    3738          this.canvasUI1.MouseEventListener = null;
    3839          this.canvasUI1.Name = "canvasUI1";
    39           this.canvasUI1.Size = new System.Drawing.Size(546, 384);
     40          this.canvasUI1.Size = new System.Drawing.Size(552, 390);
    4041          this.canvasUI1.TabIndex = 0;
    4142          this.canvasUI1.Text = "canvasUI1";
  • trunk/sources/HeuristicLab.Visualization/LineChart.cs

    r861 r869  
    2222        throw new NullReferenceException("Model cannot be null.");
    2323
    24       this.model = model;
    25       this.Item = (IItem)model;
    26 
    2724      //TODO: correct Rectangle to fit
    2825      RectangleD clientRectangle = new RectangleD(-1, -1, 11, 11);
    2926      canvasUI1.MainCanvas.WorldShape = new WorldShape(clientRectangle, clientRectangle);
     27
     28      this.model = model;
     29      this.Item = (IItem)model;
    3030    }
    3131
     
    3838      model.DataRowRemoved += OnDataRowRemoved;
    3939      model.ModelChanged += OnModelChanged;
     40
     41      foreach (IDataRow row in model.Rows) {
     42        OnDataRowAdded(row);
     43      }
    4044    }
    4145
     
    5963
    6064      for (int i = 1; i < row.Count; i++) {
    61         LineShape lineShape = new LineShape(i - 1, row[i - 1], i, row[i], 0, row.Color);
     65        LineShape lineShape = new LineShape(i - 1, row[i - 1], i, row[i], 0, row.Color, row.Thickness);
    6266        lineShapes.Add(lineShape);
    6367        canvasUI1.MainCanvas.WorldShape.AddShape(lineShape);
     
    7680    private readonly IDictionary<IDataRow, List<LineShape>> rowToLineShapes = new Dictionary<IDataRow, List<LineShape>>();
    7781
    78     private void OnRowValueChanged(IDataRow row, double value, int index) {
     82    private void OnRowValueChanged(IDataRow row, double value, int index, Action action) {
    7983      List<LineShape> lineShapes = rowToLineShapes[row];
    8084
     
    8488      // new value was added
    8589      if (index > 0 && index == lineShapes.Count+1) {
    86         LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], 0, row.Color);
     90        LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], 0, row.Color, row.Thickness);
    8791        lineShapes.Add(lineShape);
    8892        canvasUI1.MainCanvas.WorldShape.AddShape(lineShape);
     
    9498
    9599      // not the last value
    96       if (index > 0 && index < row.Count)
     100      if (index > 0 && index < row.Count-1)
    97101        lineShapes[index].Y1 = value;
    98102
     
    100104    }
    101105
    102     private void OnRowValuesChanged(IDataRow row, double[] values, int index) {
     106    private void OnRowValuesChanged(IDataRow row, double[] values, int index, Action action) {
    103107      foreach (double value in values) {
    104         OnRowValueChanged(row, value, index++);
     108        OnRowValueChanged(row, value, index++, action);
    105109      }
    106110    }
  • trunk/sources/HeuristicLab.Visualization/LineShape.cs

    r861 r869  
    66    private double z;
    77    private Color color;
     8    private int thickness;
    89
    910    /// <summary>
     
    1516    /// <param name="y2">y coordinate of right lineEndPoind</param>
    1617    /// <param name="color">color for the LineShape</param>
    17     public LineShape(double x1, double y1, double x2, double y2, double z, Color color) {
     18    public LineShape(double x1, double y1, double x2, double y2, double z, Color color, int thickness) {
    1819      this.boundingBox = new RectangleD(x1, y1, x2, y2);
    1920      this.z = z;
    2021      this.color = color;
     22      this.thickness = thickness;
    2123    }
    2224
     
    5254    /// <param name="clippingArea">rectangle in screen-coordinates to draw</param>
    5355    public void Draw(Graphics graphics, Rectangle viewport, RectangleD clippingArea) {
    54       using (Pen pen = new Pen(color, 3)){
     56      using (Pen pen = new Pen(color, thickness)){
    5557        Rectangle screenRect = Transform.ToScreen(boundingBox, viewport, clippingArea);
    5658        graphics.DrawLine(pen,screenRect.Left, screenRect.Bottom, screenRect.Right, screenRect.Top);
Note: See TracChangeset for help on using the changeset viewer.