Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/13 13:47:35 (11 years ago)
Author:
jkarder
Message:

#2116:

  • refactored breadcrumb navigation
  • added possibility to navigate to the first invisible breadcrumb via the ellipsis
Location:
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs

    r10089 r10093  
    224224        var item = (T)itemsListView.SelectedItems[0].Tag;
    225225        var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
    226         var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this);
    227         if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) {
    228           var oldCrumbs = outermostViewHost.Breadcrumbs;
    229           var newCrumbs = BuildBreadcrumbTrail();
    230           mainForm.ShowContentInSpecificViewHost(item, outermostViewHost);
    231           outermostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
    232         } else {
     226        var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true);
     227        if (!outermostViewHost.HotlinkingEnabled) {
    233228          if (showDetailsCheckBox.Checked) {
    234229            detailsGroupBox.Enabled = true;
     
    256251        var item = (T)itemsListView.SelectedItems[0].Tag;
    257252        var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
    258         var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this);
    259         var oldCrumbs = outermostViewHost.Breadcrumbs;
    260         var newCrumbs = BuildBreadcrumbTrail();
    261         mainForm.ShowContentInSpecificViewHost(item, outermostViewHost);
    262         outermostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
     253        var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this);
    263254        outermostViewHost.ActiveView.ReadOnly = ReadOnly;
    264255        outermostViewHost.ActiveView.Locked = Locked;
     
    449440      }
    450441    }
    451     protected virtual IEnumerable<IContent> BuildBreadcrumbTrail() {
    452       var l = new LinkedList<IContent>();
    453       for (var control = (Control)this; control != null; control = control.Parent) {
    454         var vh = control as ViewHost;
    455         if (vh != null && vh.Content != null)
    456           l.AddFirst(vh.Content);
    457       }
    458       return l;
    459     }
    460442    #endregion
    461443  }
  • branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemListView.cs

    r10089 r10093  
    245245        var item = (T)itemsListView.SelectedItems[0].Tag;
    246246        var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
    247         var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this);
    248         if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) {
    249           var oldCrumbs = outermostViewHost.Breadcrumbs;
    250           var newCrumbs = BuildBreadcrumbTrail();
    251           mainForm.ShowContentInSpecificViewHost(item, outermostViewHost);
    252           outermostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
     247        var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true);
     248        if (outermostViewHost.HotlinkingEnabled) {
    253249          outermostViewHost.ActiveView.ReadOnly = ReadOnly;
    254250          outermostViewHost.ActiveView.Locked = Locked;
     
    278274        var item = (T)itemsListView.SelectedItems[0].Tag;
    279275        var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
    280         var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this);
    281         var oldCrumbs = outermostViewHost.Breadcrumbs;
    282         var newCrumbs = BuildBreadcrumbTrail();
    283         mainForm.ShowContentInSpecificViewHost(item, outermostViewHost);
    284         outermostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
     276        var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this);
    285277        outermostViewHost.ActiveView.ReadOnly = ReadOnly;
    286278        outermostViewHost.ActiveView.Locked = Locked;
     
    516508      }
    517509    }
    518     protected virtual IEnumerable<IContent> BuildBreadcrumbTrail() {
    519       var l = new LinkedList<IContent>();
    520       for (var control = (Control)this; control != null; control = control.Parent) {
    521         var vh = control as ViewHost;
    522         if (vh != null && vh.Content != null)
    523           l.AddFirst(vh.Content);
    524       }
    525       return l;
    526     }
    527510    #endregion
    528511  }
  • branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs

    r10089 r10093  
    153153        var item = (IParameter)itemsListView.SelectedItems[0].Tag;
    154154        var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
    155         var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this);
    156         if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) {
    157           var oldCrumbs = outermostViewHost.Breadcrumbs;
    158           var newCrumbs = BuildBreadcrumbTrail();
    159           mainForm.ShowContentInSpecificViewHost(item, outermostViewHost);
    160           outermostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
     155        var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true);
     156        if (outermostViewHost.HotlinkingEnabled) {
    161157          outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters);
    162158          outermostViewHost.ActiveView.Locked = Locked;
     
    176172        var item = (IParameter)itemsListView.SelectedItems[0].Tag;
    177173        var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
    178         var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this);
    179         var oldCrumbs = outermostViewHost.Breadcrumbs;
    180         var newCrumbs = BuildBreadcrumbTrail();
    181         mainForm.ShowContentInSpecificViewHost(item, outermostViewHost);
    182         outermostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
     174        var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this);
    183175        outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters);
    184176        outermostViewHost.ActiveView.Locked = Locked;
Note: See TracChangeset for help on using the changeset viewer.