Changeset 10103 for branches/Breadcrumbs
- Timestamp:
- 11/04/13 10:15:31 (11 years ago)
- Location:
- branches/Breadcrumbs
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemCollectionView.Designer.cs
r9456 r10103 180 180 this.viewHost.Caption = "View"; 181 181 this.viewHost.Content = null; 182 this.viewHost.IsValidOutermostViewhost = false; 182 183 this.viewHost.Location = new System.Drawing.Point(6, 19); 183 184 this.viewHost.Name = "viewHost"; -
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
r10093 r10103 225 225 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 226 226 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true); 227 if ( !outermostViewHost.HotlinkingEnabled) {227 if (outermostViewHost == null || !outermostViewHost.HotlinkingEnabled) { 228 228 if (showDetailsCheckBox.Checked) { 229 229 detailsGroupBox.Enabled = true; … … 252 252 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 253 253 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this); 254 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 255 outermostViewHost.ActiveView.Locked = Locked; 254 if (outermostViewHost != null) { 255 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 256 outermostViewHost.ActiveView.Locked = Locked; 257 } 256 258 } 257 259 } -
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemListView.Designer.cs
r9456 r10103 193 193 this.viewHost.Caption = "View"; 194 194 this.viewHost.Content = null; 195 this.viewHost.IsValidOutermostViewhost = false; 195 196 this.viewHost.Location = new System.Drawing.Point(6, 19); 196 197 this.viewHost.Name = "viewHost"; -
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ItemListView.cs
r10093 r10103 246 246 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 247 247 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true); 248 if (outermostViewHost .HotlinkingEnabled) {248 if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) { 249 249 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 250 250 outermostViewHost.ActiveView.Locked = Locked; … … 275 275 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 276 276 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this); 277 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 278 outermostViewHost.ActiveView.Locked = Locked; 277 if (outermostViewHost != null) { 278 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 279 outermostViewHost.ActiveView.Locked = Locked; 280 } 279 281 } 280 282 } -
branches/Breadcrumbs/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs
r10093 r10103 154 154 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 155 155 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true); 156 if (outermostViewHost .HotlinkingEnabled) {156 if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) { 157 157 outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters); 158 158 outermostViewHost.ActiveView.Locked = Locked; … … 173 173 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 174 174 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this); 175 outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters); 176 outermostViewHost.ActiveView.Locked = Locked; 175 if (outermostViewHost != null) { 176 outermostViewHost.ActiveView.ReadOnly = ReadOnly || (item.Hidden && !AllowEditingOfHiddenParameters); 177 outermostViewHost.ActiveView.Locked = Locked; 178 } 177 179 } 178 180 } -
branches/Breadcrumbs/HeuristicLab.MainForm.WindowsForms/3.3/Controls/BreadcrumbControl.cs
r10093 r10103 129 129 breadcrumbs.RemoveLast(); 130 130 var mainForm = MainFormManager.GetMainForm<MainForm>(); 131 var outermostViewHost = mainForm.GetOutermost ViewOfType<ViewHost>(ViewHost);131 var outermostViewHost = mainForm.GetOutermostControlOfType<ViewHost>(ViewHost); 132 132 bool showBreadcrumbs = outermostViewHost.ShowBreadcrumbs; 133 133 outermostViewHost.Content = null; -
branches/Breadcrumbs/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs
r10093 r10103 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.ComponentModel; 24 25 using System.Drawing; 25 26 using System.Linq; … … 41 42 viewsLabel.Visible = false; 42 43 viewsLabelVisible = true; 44 IsValidOutermostViewhost = true; 43 45 44 46 breadcrumbControl.ViewHost = this; … … 59 61 60 62 public bool HotlinkingEnabled { get; set; } 63 64 [DefaultValue(true)] 65 public bool IsValidOutermostViewhost { get; set; } 61 66 62 67 private IContentView cachedView; … … 132 137 } 133 138 134 private bool isOutermostViewHost;135 139 public IEnumerable<IContent> Breadcrumbs { get { return breadcrumbControl.Breadcrumbs; } } 136 140 … … 281 285 282 286 private void UpdateBreadcrumbControl() { 283 breadcrumbControl.Visible = ShowBreadcrumbs ;287 breadcrumbControl.Visible = ShowBreadcrumbs && Content != null; 284 288 if (ShowBreadcrumbs) 285 289 UpdateBreadcrumbTrail(breadcrumbControl.Breadcrumbs, BuildBreadcrumbTrail()); … … 378 382 379 383 private void PerformOutermostViewHostDetection() { 384 if (!IsValidOutermostViewhost) return; 380 385 var mainForm = MainFormManager.GetMainForm<MainForm>(); 381 if (mainForm == null) return; 382 var outermostViewHost = mainForm.GetOutermostViewOfType<ViewHost>(this); 383 isOutermostViewHost = outermostViewHost == this; 384 viewContextMenuStrip.ShowBreadcrumbsToolStripMenuItem.Checked = isOutermostViewHost; 386 if (mainForm == null) return; // needed for designer 387 var outermostViewHost = mainForm.GetOutermostControlOfType<ViewHost>(this); 388 viewContextMenuStrip.ShowBreadcrumbsToolStripMenuItem.Checked = outermostViewHost == this; 385 389 } 386 390 #endregion -
branches/Breadcrumbs/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.cs
r10093 r10103 223 223 } 224 224 225 public T GetOutermost ViewOfType<T>(Control childControl) where T : class, IView{225 public T GetOutermostControlOfType<T>(Control childControl) where T : Control { 226 226 if (childControl == null) throw new ArgumentNullException("childControl", "ChildControl cannot be null."); 227 227 228 T outermost View= null;228 T outermostControl = null; 229 229 for (var control = childControl; control != null; control = control.Parent) { 230 var vh= control as T;231 if ( vh != null) outermostView = vh;232 } 233 return outermost View;230 var c = control as T; 231 if (c != null) outermostControl = c; 232 } 233 return outermostControl; 234 234 } 235 235 … … 279 279 if (childControl == null) throw new ArgumentNullException("childControl", "ChildControl cannot be null."); 280 280 281 var outermostViewHost = GetOutermostViewOfType<ViewHost>(childControl); 282 if (outermostViewHost == null) 283 throw new ArgumentException("No outermost ViewHost could be found for the specified child control.", "childControl"); 281 var outermostViewHost = GetOutermostControlOfType<ViewHost>(childControl); 282 if (outermostViewHost == null) return null; 284 283 285 284 if (!requireHotlinking || outermostViewHost.HotlinkingEnabled) { -
branches/Breadcrumbs/HeuristicLab.Operators.Views.GraphVisualization.Views/3.3/OperatorGraphView.Designer.cs
r9456 r10103 235 235 | System.Windows.Forms.AnchorStyles.Right))); 236 236 this.detailsViewHost.Content = null; 237 this.detailsViewHost.IsValidOutermostViewhost = false; 237 238 this.detailsViewHost.Location = new System.Drawing.Point(3, 16); 238 239 this.detailsViewHost.Name = "detailsViewHost"; -
branches/Breadcrumbs/HeuristicLab.Operators.Views.GraphVisualization.Views/3.3/OperatorGraphView.cs
r10093 r10103 142 142 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 143 143 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(op, this); 144 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 145 outermostViewHost.ActiveView.Locked = Locked; 144 if (outermostViewHost != null) { 145 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 146 outermostViewHost.ActiveView.Locked = Locked; 147 } 146 148 HandledMouseEventArgs eventArgs = e as HandledMouseEventArgs; 147 149 if (eventArgs != null) … … 196 198 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 197 199 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(op, this); 198 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 199 outermostViewHost.ActiveView.Locked = Locked; 200 if (outermostViewHost != null) { 201 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 202 outermostViewHost.ActiveView.Locked = Locked; 203 } 200 204 } 201 205 } -
branches/Breadcrumbs/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionView.Designer.cs
r9456 r10103 216 216 this.viewHost.Caption = "View"; 217 217 this.viewHost.Content = null; 218 this.viewHost.IsValidOutermostViewhost = false; 218 219 this.viewHost.Location = new System.Drawing.Point(6, 19); 219 220 this.viewHost.Name = "viewHost"; -
branches/Breadcrumbs/HeuristicLab.Optimization.Views/3.3/RunCollectionViews/RunCollectionView.cs
r10093 r10103 245 245 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 246 246 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true); 247 if (outermostViewHost .HotlinkingEnabled) {247 if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) { 248 248 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 249 249 outermostViewHost.ActiveView.Locked = Locked; … … 276 276 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 277 277 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this); 278 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 279 outermostViewHost.ActiveView.Locked = Locked; 278 if (outermostViewHost != null) { 279 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 280 outermostViewHost.ActiveView.Locked = Locked; 281 } 280 282 } 281 283 } -
branches/Breadcrumbs/HeuristicLab.Optimization.Views/3.3/RunView.Designer.cs
r9456 r10103 178 178 this.viewHost.Content = null; 179 179 this.viewHost.Enabled = false; 180 this.viewHost.IsValidOutermostViewhost = false; 180 181 this.viewHost.Location = new System.Drawing.Point(6, 19); 181 182 this.viewHost.Name = "viewHost"; -
branches/Breadcrumbs/HeuristicLab.Optimization.Views/3.3/RunView.cs
r10093 r10103 132 132 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 133 133 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this, true); 134 if (outermostViewHost .HotlinkingEnabled) {134 if (outermostViewHost != null && outermostViewHost.HotlinkingEnabled) { 135 135 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 136 136 outermostViewHost.ActiveView.Locked = Locked; … … 151 151 var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>(); 152 152 var outermostViewHost = mainForm.ShowContentInOutermostViewHost(item, this); 153 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 154 outermostViewHost.ActiveView.Locked = Locked; 153 if (outermostViewHost != null) { 154 outermostViewHost.ActiveView.ReadOnly = ReadOnly; 155 outermostViewHost.ActiveView.Locked = Locked; 156 } 155 157 } 156 158 }
Note: See TracChangeset
for help on using the changeset viewer.