Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/14/09 15:35:10 (15 years ago)
Author:
mkommend
Message:
  • added VisualMatrix to represent data in BubbleChart
  • made BubbleChart abstract and added inherited ModelingBubbleChart, which reacts as the BubbleChart
  • moved classes between CEDMA.Core and CEDMA.Charting
  • deleted unnecessary classes (results, resultsentry)

(ticket #723)

Location:
trunk/sources/HeuristicLab.CEDMA.Core/3.3
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.CEDMA.Core/3.3/Console.cs

    r2273 r2289  
    3030using HeuristicLab.PluginInfrastructure;
    3131using HeuristicLab.Modeling.Database.SQLServerCompact;
     32using HeuristicLab.SparseMatrix;
     33using HeuristicLab.Modeling.Database;
     34using HeuristicLab.CEDMA.Charting;
    3235
    3336namespace HeuristicLab.CEDMA.Core {
    3437  public class Console : ItemBase, IEditable {
    3538    private static readonly string sqlServerCompactConnectionString = @"Data Source=";
     39
     40    public Console()
     41      : base() {
     42    }
    3643
    3744    private string database;
     
    4350        if (value != database) {
    4451          database = value;
    45           results = null;
     52          matrix = null;
     53          visualMatrix = null;
    4654        }
    4755      }
    4856    }
    4957
    50     private Results results;
    51     public Results Results {
     58    private Matrix matrix;
     59    public Matrix Matrix {
    5260      get {
    53         if (results == null) ReloadResults();
    54         return results;
     61        if (matrix == null) LoadResults();
     62        return matrix;
    5563      }
    5664    }
    57     public Console()
    58       : base() {
     65
     66    private VisualMatrix visualMatrix;
     67    public VisualMatrix VisualMatrix {
     68      get {
     69        if (matrix == null)
     70          visualMatrix = CreateVisualMatrix();
     71        return visualMatrix;
     72      }
    5973    }
    6074
     
    6781    }
    6882
    69     private void ReloadResults() {
    70       results = new Results(new DatabaseService(sqlServerCompactConnectionString + Database));
     83    private void LoadResults() {
     84      matrix = new Matrix();
     85      DatabaseService db = new DatabaseService(sqlServerCompactConnectionString + database);
     86      db.Connect();
     87
     88      foreach (var model in db.GetAllModels()) {
     89        MatrixRow row = new MatrixRow();
     90        foreach (var modelResult in db.GetModelResults(model)) {
     91          row.Set(modelResult.Result.Name, modelResult.Value);
     92        }
     93        row.Set("PersistedData", db.GetModelData(model));
     94        row.Set("TargetVariable", model.TargetVariable.Name);
     95        row.Set("Algorithm", model.Algorithm.Name);
     96        Dictionary<HeuristicLab.Modeling.Database.IVariable, MatrixRow> inputVariableResultsEntries =
     97          new Dictionary<HeuristicLab.Modeling.Database.IVariable, MatrixRow>();
     98
     99        foreach (IInputVariableResult inputVariableResult in db.GetInputVariableResults(model)) {
     100          if (!inputVariableResultsEntries.ContainsKey(inputVariableResult.Variable)) {
     101            inputVariableResultsEntries[inputVariableResult.Variable] = new MatrixRow();
     102            inputVariableResultsEntries[inputVariableResult.Variable].Set("InputVariableName", inputVariableResult.Variable.Name);
     103          }
     104          inputVariableResultsEntries[inputVariableResult.Variable].Set(inputVariableResult.Result.Name, inputVariableResult.Value);
     105        }
     106        row.Set("VariableImpacts", inputVariableResultsEntries.Values);
     107        matrix.AddRow(row);
     108      }
     109      db.Disconnect();
     110    }
     111
     112    private VisualMatrix CreateVisualMatrix() {     
     113      DatabaseService db = new DatabaseService(sqlServerCompactConnectionString + database);
     114      db.Connect();
     115      string[] multiDimensionalCategoricalVariables = new string[] { "VariableImpacts: InputVariableName" };
     116      string[] multiDimensionalOrdinalVariables = db.GetAllResultsForInputVariables().Select(x => "VariableImpacts: " + x.Name).ToArray();
     117      string[] ordinalVariables = db.GetAllResults().Select(r => r.Name).ToArray();
     118      string[] categoricalVariables = new string[] { "TargetVariable", "Algorithm" };
     119
     120      db.Disconnect();
     121      VisualMatrix m = new VisualMatrix(Matrix, categoricalVariables, ordinalVariables, multiDimensionalCategoricalVariables, multiDimensionalOrdinalVariables);
     122      return m;
    71123    }
    72124  }
  • trunk/sources/HeuristicLab.CEDMA.Core/3.3/ConsoleEditor.cs

    r2273 r2289  
    2929using HeuristicLab.PluginInfrastructure;
    3030using System.Drawing;
     31using HeuristicLab.CEDMA.Charting;
    3132
    3233namespace HeuristicLab.CEDMA.Core {
     
    3637    private Button openButton;
    3738    private Console console;
     39    private VisualMatrix matrix;
    3840
    3941    public ConsoleEditor(Console console) {
     
    101103    }
    102104
    103 
    104105    private void resultsButton_Click(object sender, EventArgs e) {
    105106      IResultsViewFactory factory = (IResultsViewFactory)viewComboBox.SelectedItem;
    106       IControl control = factory.CreateView(console.Results);
     107      IControl control = factory.CreateView(console.VisualMatrix);
    107108      PluginManager.ControlManager.ShowControl(control);
    108109    }
  • trunk/sources/HeuristicLab.CEDMA.Core/3.3/HeuristicLab.CEDMA.Core-3.3.csproj

    r2223 r2289  
    8888  </ItemGroup>
    8989  <ItemGroup>
    90     <Compile Include="IResultsViewFactory.cs" />
    91     <Compile Include="ResultsEntry.cs" />
    92     <Compile Include="TableResultsView.cs">
    93       <SubType>UserControl</SubType>
    94     </Compile>
    95     <Compile Include="TableResultsView.Designer.cs">
    96       <DependentUpon>TableResultsView.cs</DependentUpon>
    97     </Compile>
    9890    <Compile Include="Console.cs" />
    9991    <Compile Include="ConsoleEditor.cs">
     
    10294    <Compile Include="HeuristicLabCedmaCorePlugin.cs" />
    10395    <Compile Include="Properties\AssemblyInfo.cs" />
    104     <Compile Include="Results.cs" />
    10596  </ItemGroup>
    10697  <ItemGroup>
     
    10899  </ItemGroup>
    109100  <ItemGroup>
     101    <ProjectReference Include="..\..\HeuristicLab.CEDMA.Charting\3.3\HeuristicLab.CEDMA.Charting-3.3.csproj">
     102      <Project>{1BF17271-5350-476A-8F6D-FC74FA3E82CA}</Project>
     103      <Name>HeuristicLab.CEDMA.Charting-3.3</Name>
     104    </ProjectReference>
    110105    <ProjectReference Include="..\..\HeuristicLab.Core\3.2\HeuristicLab.Core-3.2.csproj">
    111106      <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
    112107      <Name>HeuristicLab.Core-3.2</Name>
    113     </ProjectReference>
    114     <ProjectReference Include="..\..\HeuristicLab.DataAnalysis\3.2\HeuristicLab.DataAnalysis-3.2.csproj">
    115       <Project>{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}</Project>
    116       <Name>HeuristicLab.DataAnalysis-3.2</Name>
    117     </ProjectReference>
    118     <ProjectReference Include="..\..\HeuristicLab.Data\3.2\HeuristicLab.Data-3.2.csproj">
    119       <Project>{F473D9AF-3F09-4296-9F28-3C65118DAFFA}</Project>
    120       <Name>HeuristicLab.Data-3.2</Name>
    121108    </ProjectReference>
    122109    <ProjectReference Include="..\..\HeuristicLab.Modeling.Database.SQLServerCompact\3.2\HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj">
     
    128115      <Name>HeuristicLab.Modeling.Database-3.2</Name>
    129116    </ProjectReference>
    130     <ProjectReference Include="..\..\HeuristicLab.Operators\3.2\HeuristicLab.Operators-3.2.csproj">
    131       <Project>{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}</Project>
    132       <Name>HeuristicLab.Operators-3.2</Name>
    133     </ProjectReference>
    134117    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
    135118      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    136119      <Name>HeuristicLab.PluginInfrastructure</Name>
    137120    </ProjectReference>
     121    <ProjectReference Include="..\..\HeuristicLab.SparseMatrix\3.2\HeuristicLab.SparseMatrix-3.2.csproj">
     122      <Project>{1263BB36-1F20-4960-A5CB-530746DBAD77}</Project>
     123      <Name>HeuristicLab.SparseMatrix-3.2</Name>
     124    </ProjectReference>
    138125  </ItemGroup>
    139126  <ItemGroup>
    140     <EmbeddedResource Include="TableResultsView.resx">
    141       <DependentUpon>TableResultsView.cs</DependentUpon>
    142     </EmbeddedResource>
    143127    <EmbeddedResource Include="ConsoleEditor.resx">
    144128      <DependentUpon>ConsoleEditor.cs</DependentUpon>
  • trunk/sources/HeuristicLab.CEDMA.Core/3.3/HeuristicLabCedmaCorePlugin.cs

    r2223 r2289  
    2828  [ClassInfo(Name = "HeuristicLab.CEDMA.Core-3.3")]
    2929  [PluginFile(Filename = "HeuristicLab.CEDMA.Core-3.3.dll", Filetype = PluginFileType.Assembly)]
    30   [Dependency(Dependency = "HeuristicLab.Core-3.2")]
    31   [Dependency(Dependency = "HeuristicLab.Data-3.2")]
    32   [Dependency(Dependency = "HeuristicLab.DataAnalysis-3.2")]
    33   [Dependency(Dependency = "HeuristicLab.Operators-3.2")]
     30  [Dependency(Dependency = "HeuristicLab.CEDMA.Charting-3.3")]
     31  [Dependency(Dependency = "HeuristicLab.Core-3.2")] 
    3432  [Dependency(Dependency = "HeuristicLab.Modeling.Database-3.2")]
    3533  [Dependency(Dependency = "HeuristicLab.Modeling.Database.SQLServerCompact-3.2")]
     34  [Dependency(Dependency = "HeuristicLab.SparseMatrix-3.2")]
    3635  public class HeuristicLabCedmaCorePlugin : PluginBase {
    3736  }
Note: See TracChangeset for help on using the changeset viewer.