Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/05/13 10:52:45 (10 years ago)
Author:
jkarder
Message:

#2116:

  • refactored outermost view host detection
  • fixed update logic of breadcrumb trail
  • fixed some views
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/Breadcrumbs/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs

    r10103 r10106  
    2222using System;
    2323using System.Collections.Generic;
    24 using System.ComponentModel;
    2524using System.Drawing;
    2625using System.Linq;
     
    4241      viewsLabel.Visible = false;
    4342      viewsLabelVisible = true;
    44       IsValidOutermostViewhost = true;
    4543
    4644      breadcrumbControl.ViewHost = this;
     
    6159
    6260    public bool HotlinkingEnabled { get; set; }
    63 
    64     [DefaultValue(true)]
    65     public bool IsValidOutermostViewhost { get; set; }
    6661
    6762    private IContentView cachedView;
     
    371366      if (!newCrumbs.Any()) return;
    372367      var ll = new LinkedList<IContent>();
    373       foreach (var c in oldCrumbs) {
    374         if (c != newCrumbs.First())
    375           ll.AddLast(c);
    376         else break;
     368      if (newCrumbs.Contains(oldCrumbs.LastOrDefault())) {
     369        foreach (var c in oldCrumbs) {
     370          if (c != newCrumbs.First())
     371            ll.AddLast(c);
     372          else break;
     373        }
    377374      }
    378375      foreach (var c in newCrumbs)
     
    382379
    383380    private void PerformOutermostViewHostDetection() {
    384       if (!IsValidOutermostViewhost) return;
    385       var mainForm = MainFormManager.GetMainForm<MainForm>();
    386       if (mainForm == null) return; // needed for designer
    387       var outermostViewHost = mainForm.GetOutermostControlOfType<ViewHost>(this);
    388       viewContextMenuStrip.ShowBreadcrumbsToolStripMenuItem.Checked = outermostViewHost == this;
     381      var parentContentViews = GetParentViewsOfType<ContentView>();
     382      viewContextMenuStrip.ShowBreadcrumbsToolStripMenuItem.Checked = !parentContentViews.Any();
    389383    }
    390384    #endregion
Note: See TracChangeset for help on using the changeset viewer.