Changeset 9977
- Timestamp:
- 09/17/13 10:05:34 (11 years ago)
- Location:
- stable
- Files:
-
- 5 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk/sources merged: 9915-9916,9920-9921,9935
- Property svn:mergeinfo changed
-
stable/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.Designer.cs
r9456 r9977 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 } -
stable/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs
r9456 r9977 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 } -
stable/HeuristicLab.MainForm.WindowsForms/3.3/Dialogs/InfoBox.Designer.cs
r9916 r9977 59 59 this.okButton.Text = "&OK"; 60 60 this.okButton.UseVisualStyleBackColor = true; 61 this.okButton.Click += new System.EventHandler(this.okButton_Click);62 61 // 63 62 // infoRichTextBox … … 78 77 // InfoBox 79 78 // 79 this.AcceptButton = this.okButton; 80 80 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; 81 81 this.ClientSize = new System.Drawing.Size(636, 494); … … 89 89 this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 90 90 this.Text = "Info Box"; 91 this.Load += new System.EventHandler(this.InfoBox_Load); 91 92 this.ResumeLayout(false); 92 93 -
stable/HeuristicLab.MainForm.WindowsForms/3.3/Dialogs/InfoBox.cs
r9916 r9977 27 27 namespace HeuristicLab.MainForm.WindowsForms { 28 28 public partial class InfoBox : Form { 29 p ublic string Caption {30 get { return this.Text; }31 set { 32 if (InvokeRequired)33 Invoke(new Action<string>(x => this.Text = x), value);34 else35 this.Text = value;36 }29 protected string embeddedResourceName; 30 protected IView parentView; 31 32 public InfoBox(string caption, string embeddedResourceName, IView parentView) { 33 InitializeComponent(); 34 this.Text = caption; 35 this.parentView = parentView; 36 this.embeddedResourceName = embeddedResourceName; 37 37 } 38 38 39 protected string embeddedResourceName; 40 public string EmbeddedResourceName { 41 get { return embeddedResourceName; } 42 set { 43 if (InvokeRequired) 44 Invoke(new Action<string>(x => this.EmbeddedResourceName = x), value); 45 else { 46 embeddedResourceName = value; 47 LoadEmbeddedResource(embeddedResourceName); 48 } 49 } 50 } 51 52 public IView ParentView { get; set; } 53 54 public InfoBox() { 55 InitializeComponent(); 56 } 57 58 public InfoBox(string caption, string embeddedResourceName, IView parentView) 59 : this() { 60 Caption = caption; 61 ParentView = parentView; 62 EmbeddedResourceName = embeddedResourceName; 63 } 64 65 protected virtual void LoadEmbeddedResource(string resourceName) { 66 string extension = Path.GetExtension(resourceName); 67 Assembly assembly = Assembly.GetAssembly(ParentView.GetType()); 39 protected virtual void LoadEmbeddedResource() { 40 string extension = Path.GetExtension(embeddedResourceName); 41 Assembly assembly = Assembly.GetAssembly(parentView.GetType()); 68 42 try { 69 using (Stream stream = assembly.GetManifestResourceStream( resourceName)) {43 using (Stream stream = assembly.GetManifestResourceStream(embeddedResourceName)) { 70 44 if (extension == ".rtf") { 71 45 infoRichTextBox.LoadFile(stream, RichTextBoxStreamType.RichText); … … 82 56 } 83 57 84 pr otected virtual void okButton_Click(object sender, EventArgs e) {85 Close();58 private void InfoBox_Load(object sender, EventArgs e) { 59 LoadEmbeddedResource(); 86 60 } 87 61 } -
stable/HeuristicLab.MainForm.WindowsForms/3.3/HeuristicLab.MainForm.WindowsForms-3.3.csproj
r9079 r9977 138 138 <DependentUpon>DefineArithmeticProgressionDialog.cs</DependentUpon> 139 139 </Compile> 140 <Compile Include="Dialogs\InfoBox.cs"> 141 <SubType>Form</SubType> 142 </Compile> 143 <Compile Include="Dialogs\InfoBox.Designer.cs"> 144 <DependentUpon>InfoBox.cs</DependentUpon> 145 </Compile> 140 146 <Compile Include="Plugin.cs" /> 141 147 <Compile Include="Views\AsynchronousContentView.cs"> … … 266 272 </BootstrapperPackage> 267 273 </ItemGroup> 268 <ItemGroup />269 274 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 270 275 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
stable/HeuristicLab.MainForm/3.3/ViewAttribute.cs
r9456 r9977 28 28 public ViewAttribute(string name) { 29 29 this.name = name; 30 this.helpResourcePath = string.Empty; 31 } 32 33 public ViewAttribute(string name, string helpResourcePath) { 34 this.name = name; 35 this.helpResourcePath = helpResourcePath; 30 36 } 31 37 … … 34 40 get { return this.name; } 35 41 set { this.name = value; } 42 } 43 44 private string helpResourcePath; 45 public string HelpResourcePath { 46 get { return this.helpResourcePath; } 47 set { this.helpResourcePath = value; } 36 48 } 37 49 … … 47 59 return viewType.Name; 48 60 } 61 62 public static string GetHelpResourcePath(MemberInfo viewType) { 63 ViewAttribute[] attributes = (ViewAttribute[])viewType.GetCustomAttributes(typeof(ViewAttribute), false); 64 if (attributes.Length == 1) 65 return attributes[0].helpResourcePath; 66 return string.Empty; 67 } 68 69 public static bool HasHelpResourcePath(MemberInfo viewType) { 70 ViewAttribute[] attributes = (ViewAttribute[])viewType.GetCustomAttributes(typeof(ViewAttribute), false); 71 if (attributes.Length == 1) 72 return attributes[0].helpResourcePath != string.Empty; 73 return false; 74 } 49 75 } 50 76 }
Note: See TracChangeset
for help on using the changeset viewer.