- Timestamp:
- 07/18/14 13:44:53 (10 years ago)
- Location:
- branches/HiveStatistics/sources
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveStatistics/sources
- Property svn:ignore
-
old new 8 8 FxCopResults.txt 9 9 Google.ProtocolBuffers-0.9.1.dll 10 Google.ProtocolBuffers-2.4.1.473.dll 10 11 HeuristicLab 3.3.5.1.ReSharper.user 11 12 HeuristicLab 3.3.6.0.ReSharper.user 12 13 HeuristicLab.4.5.resharper.user 13 14 HeuristicLab.ExtLibs.6.0.ReSharper.user 15 HeuristicLab.Scripting.Development 14 16 HeuristicLab.resharper.user 15 17 ProtoGen.exe … … 17 19 _ReSharper.HeuristicLab 18 20 _ReSharper.HeuristicLab 3.3 21 _ReSharper.HeuristicLab 3.3 Tests 19 22 _ReSharper.HeuristicLab.ExtLibs 20 23 bin 21 24 protoc.exe 22 _ReSharper.HeuristicLab 3.3 Tests23 Google.ProtocolBuffers-2.4.1.473.dll
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ControlExtensions.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 21 21 22 22 using System; 23 using System.Collections.Generic; 23 24 using System.Runtime.InteropServices; 24 25 using System.Windows.Forms; … … 45 46 } 46 47 } 48 49 public static IEnumerable<Control> GetNestedControls(this Control control, Func<Control, bool> condition = null) { 50 if (control == null) yield break; 51 if (condition == null) condition = (c) => true; 52 53 Queue<Control> unprocessed = new Queue<Control>(); 54 unprocessed.Enqueue(control); 55 56 while (unprocessed.Count > 0) { 57 Control c = unprocessed.Dequeue(); 58 if (condition(c)) yield return c; 59 foreach (Control child in c.Controls) 60 unprocessed.Enqueue(child); 61 } 62 } 47 63 } 48 64 } -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/DragOverTabControl.Designer.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/DragOverTabControl.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 21 21 22 22 using System; 23 using System.ComponentModel;24 23 using System.Windows.Forms; 25 24 26 25 namespace HeuristicLab.MainForm.WindowsForms { 27 [View("ProgressView")] 28 [Content(typeof(IProgress), true)] 29 public partial class ProgressView : AsynchronousContentView { 30 private const int DefaultCancelTimeoutMs = 3000; 31 private ContentView parentView; 26 internal sealed partial class ProgressView : UserControl { 27 private const int defaultControlHeight = 88; 28 private const int collapsedControlHeight = 55; 32 29 33 [Category("Custom"), Description("The time that the process is allowed to exit.")] 34 [DefaultValue(DefaultCancelTimeoutMs)] 35 public int CancelTimeoutMs { get; set; } 36 private bool ShouldSerializeCancelTimeoutMs() { return CancelTimeoutMs != DefaultCancelTimeoutMs; } 37 38 public new IProgress Content { 39 get { return (IProgress)base.Content; } 40 set { base.Content = value; } 30 private readonly Control control; 31 public Control Control { 32 get { return control; } 41 33 } 42 34 43 public ProgressView() { 44 InitializeComponent(); 45 } 46 public ProgressView(IProgress progress) 47 : this() { 48 Content = progress; 49 } 50 public ProgressView(ContentView parentView) 51 : this() { 52 if (parentView == null) throw new ArgumentNullException("parentView", "The parent view is null."); 53 this.parentView = parentView; 54 } 55 public ProgressView(ContentView parentView, IProgress progress) 56 : this(parentView) { 57 Content = progress; 35 private readonly IProgress content; 36 public IProgress Content { 37 get { return content; } 58 38 } 59 39 60 protected override void RegisterContentEvents() { 61 Content.StatusChanged += new EventHandler(progress_StatusChanged); 62 Content.ProgressValueChanged += new EventHandler(progress_ProgressValueChanged); 63 Content.ProgressStateChanged += new EventHandler(Content_ProgressStateChanged); 64 Content.CanBeCanceledChanged += new EventHandler(Content_CanBeCanceledChanged); 65 base.RegisterContentEvents(); 40 public ProgressView(Control control, IProgress content) 41 : base() { 42 if (control == null) throw new ArgumentNullException("control", "The control is null."); 43 if (content == null) throw new ArgumentNullException("content", "The passed progress is null."); 44 InitializeComponent(); 45 46 this.control = control; 47 this.content = content; 48 if (content.ProgressState == ProgressState.Started) 49 ShowProgress(); 50 RegisterContentEvents(); 66 51 } 67 52 68 protected override void DeregisterContentEvents() { 69 base.DeregisterContentEvents(); 70 Content.StatusChanged -= new EventHandler(progress_StatusChanged); 71 Content.ProgressValueChanged -= new EventHandler(progress_ProgressValueChanged); 72 Content.ProgressStateChanged -= new EventHandler(Content_ProgressStateChanged); 73 Content.CanBeCanceledChanged -= new EventHandler(Content_CanBeCanceledChanged); 53 /// <summary> 54 /// Clean up any resources being used. 55 /// </summary> 56 /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 57 protected override void Dispose(bool disposing) { 58 DeregisterContentEvents(); 59 HideProgress(); 60 61 if (disposing && (components != null)) { 62 components.Dispose(); 63 } 64 base.Dispose(disposing); 74 65 } 75 66 76 protected override void OnContentChanged() { 77 base.OnContentChanged(); 78 if (Content == null) { 79 HideProgress(); 80 } else { 81 if (Content.ProgressState == ProgressState.Started) 82 ShowProgress(); 83 } 67 private void RegisterContentEvents() { 68 content.StatusChanged += new EventHandler(progress_StatusChanged); 69 content.ProgressValueChanged += new EventHandler(progress_ProgressValueChanged); 70 content.ProgressStateChanged += new EventHandler(Content_ProgressStateChanged); 71 content.CanBeCanceledChanged += new EventHandler(Content_CanBeCanceledChanged); 84 72 } 85 86 protected override void SetEnabledStateOfControls() {87 base.SetEnabledStateOfControls();88 c ancelButton.Visible = Content != null && Content.CanBeCanceled;89 c ancelButton.Enabled = Content != null && Content.CanBeCanceled && !ReadOnly;73 private void DeregisterContentEvents() { 74 content.StatusChanged -= new EventHandler(progress_StatusChanged); 75 content.ProgressValueChanged -= new EventHandler(progress_ProgressValueChanged); 76 content.ProgressStateChanged -= new EventHandler(Content_ProgressStateChanged); 77 content.CanBeCanceledChanged -= new EventHandler(Content_CanBeCanceledChanged); 90 78 } 91 79 92 80 private void ShowProgress() { 93 if (InvokeRequired) Invoke((Action)ShowProgress); 94 else { 95 if (parentView != null) { 96 this.Left = (parentView.ClientRectangle.Width / 2) - (this.Width / 2); 97 this.Top = (parentView.ClientRectangle.Height / 2) - (this.Height / 2); 98 this.Anchor = AnchorStyles.None; 81 if (Control.InvokeRequired) { 82 Control.Invoke((Action)ShowProgress); 83 return; 84 } 85 int height = Content.CanBeCanceled ? Height : collapsedControlHeight; 99 86 100 LockBackground(); 87 Left = (Control.ClientRectangle.Width / 2) - (Width / 2); 88 Top = (Control.ClientRectangle.Height / 2) - (height / 2); 89 Anchor = AnchorStyles.None; 101 90 102 if (!parentView.Controls.Contains(this)) 103 parentView.Controls.Add(this); 91 control.Enabled = false; 92 Parent = Control.Parent; 93 BringToFront(); 104 94 105 BringToFront(); 106 } 107 UpdateProgressValue(); 108 UpdateProgressStatus(); 109 Visible = true; 110 } 95 UpdateProgressValue(); 96 UpdateProgressStatus(); 97 UpdateCancelButton(); 98 Visible = true; 111 99 } 112 100 … … 114 102 if (InvokeRequired) Invoke((Action)HideProgress); 115 103 else { 116 if (parentView != null) { 117 if (parentView.Controls.Contains(this)) 118 parentView.Controls.Remove(this); 119 120 UnlockBackground(); 121 } 104 control.Enabled = true; 105 Parent = null; 122 106 Visible = false; 123 107 } … … 133 117 134 118 private void Content_ProgressStateChanged(object sender, EventArgs e) { 135 if (Content.ProgressState == ProgressState.Finished 136 || Content.ProgressState == ProgressState.Canceled) 137 HideProgress(); 138 if (Content.ProgressState == ProgressState.Started) 139 ShowProgress(); 119 switch (content.ProgressState) { 120 case ProgressState.Finished: HideProgress(); break; 121 case ProgressState.Canceled: HideProgress(); break; 122 case ProgressState.Started: ShowProgress(); break; 123 default: throw new NotSupportedException("The progress state " + content.ProgressState + " is not supported by the ProgressView."); 124 } 140 125 } 141 126 142 127 private void Content_CanBeCanceledChanged(object sender, EventArgs e) { 143 SetEnabledStateOfControls();128 UpdateCancelButton(); 144 129 } 145 130 146 private void LockBackground() { 147 if (InvokeRequired) { 148 Invoke((Action)LockBackground); 149 } else { 150 parentView.Locked = true; 151 parentView.ReadOnly = true; 152 Locked = false; 153 ReadOnly = false; 154 } 155 } 131 private void UpdateCancelButton() { 132 cancelButton.Visible = content != null && content.CanBeCanceled; 133 cancelButton.Enabled = content != null && content.CanBeCanceled; 156 134 157 private void UnlockBackground() { 158 if (InvokeRequired) Invoke((Action)UnlockBackground); 159 else { 160 parentView.Locked = false; 161 parentView.ReadOnly = false; 162 Locked = true; 163 ReadOnly = true; 135 if (content != null && content.CanBeCanceled) { 136 Height = defaultControlHeight; 137 } else if (content != null && !content.CanBeCanceled) { 138 Height = collapsedControlHeight; 164 139 } 165 140 } … … 168 143 if (InvokeRequired) Invoke((Action)UpdateProgressValue); 169 144 else { 170 if ( Content != null) {171 double progressValue = Content.ProgressValue;145 if (content != null) { 146 double progressValue = content.ProgressValue; 172 147 if (progressValue <= 0.0 || progressValue > 1.0) { 173 if (progressBar.Style != ProgressBarStyle.Marquee) 174 progressBar.Style = ProgressBarStyle.Marquee; 148 progressBar.Style = ProgressBarStyle.Marquee; 175 149 } else { 176 if (progressBar.Style != ProgressBarStyle.Blocks) 177 progressBar.Style = ProgressBarStyle.Blocks; 150 progressBar.Style = ProgressBarStyle.Blocks; 178 151 progressBar.Value = (int)Math.Round(progressBar.Minimum + progressValue * (progressBar.Maximum - progressBar.Minimum)); 179 152 } … … 184 157 private void UpdateProgressStatus() { 185 158 if (InvokeRequired) Invoke((Action)UpdateProgressStatus); 186 else if ( Content != null)187 statusLabel.Text = Content.Status;159 else if (content != null) 160 statusLabel.Text = content.Status; 188 161 } 189 162 190 163 private void cancelButton_Click(object sender, EventArgs e) { 191 if (Content != null) { 192 try { 193 Content.Cancel(CancelTimeoutMs); 194 ReadOnly = true; 195 cancelButtonTimer.Interval = CancelTimeoutMs; 196 cancelButtonTimer.Start(); 197 } catch (NotSupportedException nse) { 198 PluginInfrastructure.ErrorHandling.ShowErrorDialog(nse); 199 } 200 } 201 } 202 203 private void cancelButtonTimer_Tick(object sender, EventArgs e) { 204 cancelButtonTimer.Stop(); 205 if (Visible) ReadOnly = false; 164 content.Cancel(); 206 165 } 207 166 } -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.designer.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 27 27 private System.ComponentModel.IContainer components = null; 28 28 29 /// <summary> 30 /// Clean up any resources being used. 31 /// </summary> 32 /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 33 protected override void Dispose(bool disposing) { 34 if (disposing && (components != null)) { 35 components.Dispose(); 36 } 37 base.Dispose(disposing); 38 } 39 29 40 30 #region Component Designer generated code 41 31 … … 45 35 /// </summary> 46 36 private void InitializeComponent() { 47 this.components = new System.ComponentModel.Container();48 37 this.progressBar = new System.Windows.Forms.ProgressBar(); 49 38 this.statusLabel = new System.Windows.Forms.Label(); 50 39 this.cancelButton = new System.Windows.Forms.Button(); 51 40 this.panel = new System.Windows.Forms.Panel(); 52 this.cancelButtonTimer = new System.Windows.Forms.Timer(this.components);53 41 this.panel.SuspendLayout(); 54 42 this.SuspendLayout(); … … 56 44 // progressBar 57 45 // 58 this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 59 46 this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 47 | System.Windows.Forms.AnchorStyles.Right))); 60 48 this.progressBar.Location = new System.Drawing.Point(3, 3); 61 49 this.progressBar.Name = "progressBar"; … … 66 54 // statusLabel 67 55 // 68 this.statusLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 69 56 this.statusLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 57 | System.Windows.Forms.AnchorStyles.Right))); 70 58 this.statusLabel.Location = new System.Drawing.Point(3, 33); 71 59 this.statusLabel.Name = "statusLabel"; … … 86 74 // panel 87 75 // 88 this.panel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 89 | System.Windows.Forms.AnchorStyles.Right))); 76 this.panel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 77 | System.Windows.Forms.AnchorStyles.Left) 78 | System.Windows.Forms.AnchorStyles.Right))); 90 79 this.panel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 91 80 this.panel.Controls.Add(this.progressBar); … … 96 85 this.panel.Size = new System.Drawing.Size(360, 88); 97 86 this.panel.TabIndex = 3; 98 //99 // cancelButtonTimer100 //101 this.cancelButtonTimer.Tick += new System.EventHandler(this.cancelButtonTimer_Tick);102 87 // 103 88 // ProgressView … … 118 103 private System.Windows.Forms.Button cancelButton; 119 104 private System.Windows.Forms.Panel panel; 120 private System.Windows.Forms.Timer cancelButtonTimer;121 105 } 122 106 } -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/Sidebar.Designer.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/Sidebar.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewContextMenuStrip.Designer.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewContextMenuStrip.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.Designer.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 51 51 this.toolTip = new System.Windows.Forms.ToolTip(this.components); 52 52 this.configurationLabel = new System.Windows.Forms.Label(); 53 this.helpLabel = new System.Windows.Forms.Label(); 53 54 this.SuspendLayout(); 54 55 // … … 73 74 this.viewsLabel.Size = new System.Drawing.Size(16, 16); 74 75 this.viewsLabel.TabIndex = 0; 75 this.toolTip.SetToolTip(this.viewsLabel, 76 "Double-click to open a new window of the current view." + System.Environment.NewLine + 77 "Right-click to change current view." + System.Environment.NewLine + 78 "Drag icon to copy or link content to another view."); 76 this.toolTip.SetToolTip(this.viewsLabel, "Double-click to open a new window of the current view.\r\nRight-click to change cur" + 77 "rent view.\r\nDrag icon to copy or link content to another view."); 79 78 this.viewsLabel.DoubleClick += new System.EventHandler(this.viewsLabel_DoubleClick); 80 79 this.viewsLabel.MouseDown += new System.Windows.Forms.MouseEventHandler(this.viewsLabel_MouseDown); … … 102 101 this.configurationLabel.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.configurationLabel_DoubleClick); 103 102 // 103 // helpLabel 104 // 105 this.helpLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 106 this.helpLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Help; 107 this.helpLabel.Location = new System.Drawing.Point(211, 44); 108 this.helpLabel.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); 109 this.helpLabel.Name = "helpLabel"; 110 this.helpLabel.Size = new System.Drawing.Size(16, 16); 111 this.helpLabel.TabIndex = 3; 112 this.toolTip.SetToolTip(this.helpLabel, "Double-click to open help."); 113 this.helpLabel.Visible = false; 114 this.helpLabel.DoubleClick += new System.EventHandler(this.helpLabel_DoubleClick); 115 // 104 116 // ViewHost 105 117 // 106 118 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 107 119 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; 120 this.Controls.Add(this.helpLabel); 108 121 this.Controls.Add(this.viewsLabel); 109 122 this.Controls.Add(this.configurationLabel); … … 121 134 private HeuristicLab.MainForm.WindowsForms.ViewContextMenuStrip viewContextMenuStrip; 122 135 private System.Windows.Forms.Label configurationLabel; 136 private System.Windows.Forms.Label helpLabel; 123 137 124 138 } -
branches/HiveStatistics/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs
r11203 r11205 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 2Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 103 103 configurationLabel.Visible = activeView is IConfigureableView; 104 104 configurationLabel.Enabled = activeView != null && !activeView.Locked; 105 106 helpLabel.Visible = activeView != null && ViewAttribute.HasHelpResourcePath(activeView.GetType()); 107 helpLabel.Top = CalculateHelpLabelPosY(); 105 108 } 106 109 } … … 210 213 viewsLabel.Location = new Point(Width - viewsLabel.Margin.Right - viewsLabel.Width, viewsLabel.Margin.Top); 211 214 configurationLabel.Location = new Point(Width - configurationLabel.Margin.Right - configurationLabel.Width, viewsLabel.Bottom + viewsLabel.Margin.Bottom + configurationLabel.Margin.Top); 212 215 helpLabel.Location = new Point(Width - helpLabel.Margin.Right - helpLabel.Width, CalculateHelpLabelPosY()); 216 } 217 218 private int CalculateHelpLabelPosY() { 219 if (activeView != null && ViewAttribute.HasHelpResourcePath(activeView.GetType()) && !configurationLabel.Visible) { 220 return configurationLabel.Top; 221 } 222 return configurationLabel.Bottom + configurationLabel.Margin.Bottom + helpLabel.Margin.Top; 213 223 } 214 224 … … 302 312 ((IConfigureableView)ActiveView).ShowConfiguration(); 303 313 } 314 315 private void helpLabel_DoubleClick(object sender, EventArgs e) { 316 using (InfoBox dialog = new InfoBox("Help for " + ViewAttribute.GetViewName(ActiveView.GetType()), ViewAttribute.GetHelpResourcePath(ActiveView.GetType()), ActiveView)) { 317 dialog.ShowDialog(this); 318 } 319 } 304 320 #endregion 305 321 }
Note: See TracChangeset
for help on using the changeset viewer.