Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/28/13 17:50:31 (11 years ago)
Author:
jkarder
Message:

#2116:

  • added hotlinking functionality
  • added methods for outermost view host detection and manipulation
Location:
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3
Files:
3 edited

Legend:

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

    r10042 r10089  
    219219    #region ListView Events
    220220    protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
    221       removeButton.Enabled = (Content != null) && !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0;
     221      removeButton.Enabled = Content != null && !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0;
    222222      AdjustListViewColumnSizes();
    223       if (showDetailsCheckBox.Checked) {
    224         if (itemsListView.SelectedItems.Count == 1) {
    225           T item = (T)itemsListView.SelectedItems[0].Tag;
    226           detailsGroupBox.Enabled = true;
    227           viewHost.Content = item;
     223      if (itemsListView.SelectedItems.Count == 1) {
     224        var item = (T)itemsListView.SelectedItems[0].Tag;
     225        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 }));
    228232        } else {
    229           viewHost.Content = null;
    230           detailsGroupBox.Enabled = false;
     233          if (showDetailsCheckBox.Checked) {
     234            detailsGroupBox.Enabled = true;
     235            viewHost.Content = item;
     236          } else {
     237            viewHost.Content = null;
     238            detailsGroupBox.Enabled = false;
     239          }
    231240        }
    232241      }
     
    245254    protected virtual void itemsListView_DoubleClick(object sender, EventArgs e) {
    246255      if (itemsListView.SelectedItems.Count == 1) {
    247         var item = itemsListView.SelectedItems[0].Tag as T;
    248         if (item != null) {
    249           ViewHost outmostViewHost = null;
    250           for (var control = Parent; control != null; control = control.Parent) {
    251             var vh = control as ViewHost;
    252             if (vh != null) outmostViewHost = vh;
    253           }
    254           if (outmostViewHost != null) {
    255             var oldCrumbs = outmostViewHost.Breadcrumbs;
    256             var newCrumbs = BuildBreadcrumbTrail();
    257             outmostViewHost.Content = null;
    258             var viewType = MainFormManager.GetDefaultViewType(item.GetType());
    259             outmostViewHost.ViewType = viewType;
    260             outmostViewHost.Content = item;
    261             outmostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
    262             outmostViewHost.ActiveView.ReadOnly = ReadOnly;
    263             outmostViewHost.ActiveView.Locked = Locked;
    264           }
    265         }
     256        var item = (T)itemsListView.SelectedItems[0].Tag;
     257        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 }));
     263        outermostViewHost.ActiveView.ReadOnly = ReadOnly;
     264        outermostViewHost.ActiveView.Locked = Locked;
    266265      }
    267266    }
  • branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemListView.cs

    r10042 r10089  
    242242                             (Content != null) && !Content.IsReadOnly && !ReadOnly;
    243243      AdjustListViewColumnSizes();
    244 
    245       if (showDetailsCheckBox.Checked) {
    246         if (itemsListView.SelectedItems.Count == 1) {
    247           T item = (T)itemsListView.SelectedItems[0].Tag;
    248           detailsGroupBox.Enabled = true;
    249           viewHost.Content = item;
     244      if (itemsListView.SelectedItems.Count == 1) {
     245        var item = (T)itemsListView.SelectedItems[0].Tag;
     246        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 }));
     253          outermostViewHost.ActiveView.ReadOnly = ReadOnly;
     254          outermostViewHost.ActiveView.Locked = Locked;
    250255        } else {
    251           viewHost.Content = null;
    252           detailsGroupBox.Enabled = false;
     256          if (showDetailsCheckBox.Checked) {
     257            detailsGroupBox.Enabled = true;
     258            viewHost.Content = item;
     259          } else {
     260            viewHost.Content = null;
     261            detailsGroupBox.Enabled = false;
     262          }
    253263        }
    254264      }
     
    266276    protected virtual void itemsListView_DoubleClick(object sender, EventArgs e) {
    267277      if (itemsListView.SelectedItems.Count == 1) {
    268         var item = itemsListView.SelectedItems[0].Tag as T;
    269         if (item != null) {
    270           ViewHost outmostViewHost = null;
    271           for (var control = Parent; control != null; control = control.Parent) {
    272             var vh = control as ViewHost;
    273             if (vh != null) outmostViewHost = vh;
    274           }
    275           if (outmostViewHost != null) {
    276             var oldCrumbs = outmostViewHost.Breadcrumbs;
    277             var newCrumbs = BuildBreadcrumbTrail();
    278             outmostViewHost.Content = null;
    279             var viewType = MainFormManager.GetDefaultViewType(item.GetType());
    280             outmostViewHost.ViewType = viewType;
    281             outmostViewHost.Content = item;
    282             outmostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
    283             outmostViewHost.ActiveView.ReadOnly = ReadOnly;
    284             outmostViewHost.ActiveView.Locked = Locked;
    285           }
    286         }
     278        var item = (T)itemsListView.SelectedItems[0].Tag;
     279        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 }));
     285        outermostViewHost.ActiveView.ReadOnly = ReadOnly;
     286        outermostViewHost.ActiveView.Locked = Locked;
    287287      }
    288288    }
  • branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs

    r10087 r10089  
    147147      }
    148148    }
    149     protected override void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
    150       base.itemsListView_SelectedIndexChanged(sender, e);
    151       SetEnabledStateOfControls();
     149    protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
     150      removeButton.Enabled = Content != null && !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0;
     151      AdjustListViewColumnSizes();
     152      if (itemsListView.SelectedItems.Count == 1) {
     153        var item = (IParameter)itemsListView.SelectedItems[0].Tag;
     154        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 }));
     161          outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters);
     162          outermostViewHost.ActiveView.Locked = Locked;
     163        } else {
     164          if (showDetailsCheckBox.Checked) {
     165            detailsGroupBox.Enabled = true;
     166            viewHost.Content = item;
     167          } else {
     168            viewHost.Content = null;
     169            detailsGroupBox.Enabled = false;
     170          }
     171        }
     172      }
    152173    }
    153174    protected override void itemsListView_DoubleClick(object sender, EventArgs e) {
    154175      if (itemsListView.SelectedItems.Count == 1) {
    155         var item = itemsListView.SelectedItems[0].Tag as IParameter;
    156         if (item != null) {
    157           ViewHost outmostViewHost = null;
    158           for (var control = Parent; control != null; control = control.Parent) {
    159             var vh = control as ViewHost;
    160             if (vh != null) outmostViewHost = vh;
    161           }
    162           if (outmostViewHost != null) {
    163             var oldCrumbs = outmostViewHost.Breadcrumbs;
    164             var newCrumbs = BuildBreadcrumbTrail();
    165             outmostViewHost.Content = null;
    166             var viewType = MainFormManager.GetDefaultViewType(item.GetType());
    167             outmostViewHost.ViewType = viewType;
    168             outmostViewHost.Content = item;
    169             outmostViewHost.UpdateBreadcrumbTrail(oldCrumbs, newCrumbs.Concat(new[] { item }));
    170             outmostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters);
    171             outmostViewHost.ActiveView.Locked = Locked;
    172           }
    173         }
     176        var item = (IParameter)itemsListView.SelectedItems[0].Tag;
     177        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 }));
     183        outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters);
     184        outermostViewHost.ActiveView.Locked = Locked;
    174185      }
    175186    }
Note: See TracChangeset for help on using the changeset viewer.