Free cookie consent management tool by TermsFeed Policy Generator

source: branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleMatrix.cs @ 9306

Last change on this file since 9306 was 9306, checked in by sforsten, 11 years ago

#2018:

  • renamed the structs and methods in IStringConvertibleMatrix
  • added MatrixValuesChangedEventArgs in IStringConvertibleMatrix
  • added methods SetValues(MatrixValues<T>) in ValueTypeMatrix
  • fixed bugs in StringConvertibleMatrixView: DataGridView has now at least one column and dataGridView_CellValidating does not set e.Cancel to true anymore.
File size: 2.5 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System;
23using System.Collections.Generic;
24using HeuristicLab.Common;
25
26namespace HeuristicLab.Data {
27  public interface IStringConvertibleMatrix : IContent {
28    int Rows { get; set; }
29    int Columns { get; set; }
30    IEnumerable<string> ColumnNames { get; set; }
31    IEnumerable<string> RowNames { get; set; }
32
33    bool SortableView { get; set; }
34    bool ReadOnly { get; }
35
36    bool Validate(string value, out string errorMessage);
37    string GetValue(int rowIndex, int columnIndex);
38    bool SetValue(string value, int rowIndex, int columnIndex);
39    bool SetValue(MatrixValue<string> matrixValue);
40    bool SetValues(IEnumerable<MatrixValue<string>> matrixValues);
41
42    event EventHandler ColumnsChanged;
43    event EventHandler RowsChanged;
44    event EventHandler ColumnNamesChanged;
45    event EventHandler RowNamesChanged;
46    event EventHandler SortableViewChanged;
47    event EventHandler<MatrixValuesChangedEventArgs> ItemsChanged;
48    event EventHandler Reset;
49  }
50  public class MatrixValuesChangedEventArgs : EventArgs<IEnumerable<MatrixPosition>> {
51    public MatrixValuesChangedEventArgs(IEnumerable<MatrixPosition> matrixPositions) : base(matrixPositions) { }
52  }
53  public struct MatrixPosition {
54    public int Row { get; private set; }
55    public int Column { get; private set; }
56    public MatrixPosition(int row, int column)
57      : this() {
58      Row = row;
59      Column = column;
60    }
61  }
62  public struct MatrixValue<T> {
63    public MatrixPosition Position { get; private set; }
64    public T Value { get; private set; }
65
66    public MatrixValue(MatrixPosition position, T value)
67      : this() {
68      Position = position;
69      Value = value;
70    }
71  }
72}
Note: See TracBrowser for help on using the repository browser.