#region License Information /* HeuristicLab * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL) * * This file is part of HeuristicLab. * * HeuristicLab is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * HeuristicLab is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with HeuristicLab. If not, see . */ #endregion using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HeuristicLab.DataImporter.Data.CommandBase { [AttributeUsage(AttributeTargets.Class,AllowMultiple=false,Inherited=false)] public sealed class ViewableCommandInfoAttribute : Attribute{ public ViewableCommandInfoAttribute(string name, int activeColumnGroups, ColumnGroupState state, string groupName) { this.name = name; this.groupName = groupName; this.state = new DataSetState(activeColumnGroups, state); this.position = Int32.MaxValue; } private DataSetState state; public DataSetState State { get { return this.state; } } private string groupName; public string GroupName { get { return this.groupName; } } private string name; public string Name { get { return this.name; } } private int position; public int Position { get { return this.position; } set { this.position = value; } } private Type optionsView; public Type OptionsView { get { return this.optionsView; } set { if (!value.IsSubclassOf(typeof(CommandViewBase)) || value.IsAbstract) throw new ArgumentException("Expected type T with base class CommandInfoViewBase"); this.optionsView = value; } } public int SelectedColumns { get { return this.state.SelectedColumns; } set { this.state.SelectedColumns = value; } } public int MinActiveColumnGroups { get { return state.MinActiveColumnGroups; } set { state.MinActiveColumnGroups = value; } } } }