#region License Information /* HeuristicLab * Copyright (C) 2002-2012 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.Linq; using System.Windows.Forms; using HeuristicLab.Core.Views; using HeuristicLab.MainForm; using HeuristicLab.MainForm.WindowsForms; namespace HeuristicLab.Analysis.AlgorithmBehavior.Analyzers.Views { [View("PermutationSolutionDictionary View")] [Content(typeof(PermutationSolutionDictionary), true)] public partial class PermutationSolutionDictionaryView : ItemView { public PermutationSolutionDictionaryView() { InitializeComponent(); } public new PermutationSolutionDictionary Content { get { return (PermutationSolutionDictionary)base.Content; } set { base.Content = value; } } protected override void OnContentChanged() { base.OnContentChanged(); cacheSizeTextBox.Clear(); partialSizeTextBox.Clear(); completeSizeTextBox.Clear(); if (Content != null) { cacheSizeTextBox.Text = Content.Size().ToString(); partialSizeTextBox.Text = Content.NumberOfPartialSolutions().ToString(); completeSizeTextBox.Text = Content.NumberOfCompleteSolutions().ToString(); } } protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); var viewTypes = MainFormManager.GetViewTypes(typeof(PermutationSolutionDictionary), true); foreach (Type viewType in viewTypes.OrderBy(x => ViewAttribute.GetViewName(x))) { if ((viewType != typeof(PermutationSolutionDictionaryView)) && (viewType != typeof(ViewHost))) { ToolStripMenuItem menuItem = new ToolStripMenuItem(); menuItem.Text = ViewAttribute.GetViewName(viewType); menuItem.Tag = viewType; menuItem.Click += new EventHandler(menuItem_Click); analyzeToolStripButton.DropDownItems.Add(menuItem); } } } private void menuItem_Click(object sender, EventArgs e) { ToolStripMenuItem menuItem = (ToolStripMenuItem)sender; Type viewType = (Type)menuItem.Tag; IContentView view = MainFormManager.MainForm.ShowContent(Content, viewType); if (view != null) { view.Locked = Locked; view.ReadOnly = ReadOnly; } } } }