Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1946 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
11 changed files with 12 additions and 239 deletions
@ -1,6 +0,0 @@ |
|||||||
<?xml version="1.0"?> |
|
||||||
<TIPS> |
|
||||||
<TIP>${res:XML.StartupTips.Tip1}</TIP> |
|
||||||
<TIP>${res:XML.StartupTips.Tip2}</TIP> |
|
||||||
<TIP>${res:XML.StartupTips.Tip3}</TIP> |
|
||||||
</TIPS> |
|
@ -1,188 +0,0 @@ |
|||||||
// <file>
|
|
||||||
// <copyright see="prj:///doc/copyright.txt"/>
|
|
||||||
// <license see="prj:///doc/license.txt"/>
|
|
||||||
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
|
|
||||||
// <version>$Revision$</version>
|
|
||||||
// </file>
|
|
||||||
|
|
||||||
using System; |
|
||||||
using System.Drawing; |
|
||||||
using System.ComponentModel; |
|
||||||
using System.Resources; |
|
||||||
using System.Windows.Forms; |
|
||||||
using System.Xml; |
|
||||||
using System.IO; |
|
||||||
|
|
||||||
using ICSharpCode.Core; |
|
||||||
|
|
||||||
namespace ICSharpCode.SharpDevelop.Gui |
|
||||||
{ |
|
||||||
public class TipOfTheDayView : UserControl |
|
||||||
{ |
|
||||||
readonly int ICON_DISTANCE = 16; |
|
||||||
Bitmap icon = null; |
|
||||||
Font titlefont; |
|
||||||
Font textfont; |
|
||||||
string[] tips; |
|
||||||
int curtip = 0; |
|
||||||
|
|
||||||
string didyouknowtext; |
|
||||||
|
|
||||||
|
|
||||||
public TipOfTheDayView(XmlElement el) |
|
||||||
{ |
|
||||||
titlefont = ResourceService.LoadFont("Times new Roman", 15, FontStyle.Bold); |
|
||||||
textfont = ResourceService.LoadFont("Times new Roman", 12); |
|
||||||
|
|
||||||
this.didyouknowtext = ResourceService.GetString("Dialog.TipOfTheDay.DidYouKnowText"); |
|
||||||
|
|
||||||
icon = ResourceService.GetBitmap("Icons.TipOfTheDayIcon"); |
|
||||||
|
|
||||||
// XmlNodeList nodes = el.GetElementsByTagName("TIP");
|
|
||||||
XmlNodeList nodes = el.ChildNodes; |
|
||||||
|
|
||||||
|
|
||||||
tips = new string[nodes.Count]; |
|
||||||
for (int i = 0; i < nodes.Count; ++i) { |
|
||||||
tips[i] = StringParser.Parse(nodes[i].InnerText); |
|
||||||
} |
|
||||||
|
|
||||||
curtip = (new Random().Next()) % nodes.Count; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
protected override void OnPaintBackground(PaintEventArgs pe) |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
protected override void OnPaint(PaintEventArgs pe) |
|
||||||
{ |
|
||||||
Graphics g = pe.Graphics; |
|
||||||
|
|
||||||
g.FillRectangle(Brushes.Gray, 0, |
|
||||||
0, |
|
||||||
icon.Width + ICON_DISTANCE, |
|
||||||
Height); |
|
||||||
g.FillRectangle(Brushes.White, 0 + icon.Width + ICON_DISTANCE, |
|
||||||
0, |
|
||||||
Width - icon.Width - ICON_DISTANCE, |
|
||||||
Height); |
|
||||||
g.DrawImage(icon, 2 + ICON_DISTANCE / 2, 4); |
|
||||||
|
|
||||||
g.DrawString(didyouknowtext, titlefont, Brushes.Black, icon.Width + ICON_DISTANCE + 4, 8); |
|
||||||
|
|
||||||
g.DrawLine(Pens.Black, new Point(icon.Width + ICON_DISTANCE, 8 + titlefont.Height + 2), |
|
||||||
new Point(Width, 8 + titlefont.Height + 2)); |
|
||||||
drawrect = new Rectangle(icon.Width + ICON_DISTANCE, 8 + titlefont.Height + 6, |
|
||||||
Width - icon.Width - ICON_DISTANCE, Height - (8 + titlefont.Height + 6)); |
|
||||||
|
|
||||||
g.DrawString(tips[curtip], textfont, Brushes.Black, drawrect); |
|
||||||
} |
|
||||||
Rectangle drawrect; |
|
||||||
|
|
||||||
public void NextTip() |
|
||||||
{ |
|
||||||
curtip = (curtip + 1) % tips.Length; |
|
||||||
Invalidate(drawrect); |
|
||||||
Update(); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public class TipOfTheDayDialog : Form |
|
||||||
{ |
|
||||||
CheckBox viewTipsAtStartCheckBox; |
|
||||||
Button closeButton; |
|
||||||
Button nextTipButton; |
|
||||||
|
|
||||||
Panel panel = new Panel(); |
|
||||||
TipOfTheDayView tipview; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void NextTip(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
tipview.NextTip(); |
|
||||||
} |
|
||||||
|
|
||||||
void CheckChange(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
PropertyService.Set("ShowTipsAtStartup", viewTipsAtStartCheckBox.Checked); |
|
||||||
} |
|
||||||
|
|
||||||
public TipOfTheDayDialog() |
|
||||||
{ |
|
||||||
InitializeComponent(); |
|
||||||
StartPosition = FormStartPosition.CenterScreen; |
|
||||||
|
|
||||||
Icon = null; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
XmlDocument doc = new XmlDocument(); |
|
||||||
doc.Load(PropertyService.DataDirectory + |
|
||||||
Path.DirectorySeparatorChar + "options" + |
|
||||||
Path.DirectorySeparatorChar + "TipsOfTheDay.xml" ); |
|
||||||
|
|
||||||
tipview = new TipOfTheDayView(doc.DocumentElement); |
|
||||||
panel.Controls.Add(tipview); |
|
||||||
// panel.FormBorderStyle = FormBorderStyle.Fixed3D;
|
|
||||||
Controls.Add(panel); |
|
||||||
|
|
||||||
panel.Width = tipview.Width = Width - 24; |
|
||||||
panel.Height = tipview.Height = nextTipButton.Top - 15; |
|
||||||
panel.Location = new Point(8, 5); |
|
||||||
nextTipButton.Click += new EventHandler(NextTip); |
|
||||||
|
|
||||||
viewTipsAtStartCheckBox.CheckedChanged += new EventHandler(CheckChange); |
|
||||||
viewTipsAtStartCheckBox.Checked = PropertyService.Get("ShowTipsAtStartup", true); |
|
||||||
|
|
||||||
MaximizeBox = MinimizeBox = false; |
|
||||||
ShowInTaskbar = false; |
|
||||||
RightToLeftConverter.ConvertRecursive(this); |
|
||||||
} |
|
||||||
|
|
||||||
void ExitDialog(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
Close(); |
|
||||||
Dispose(); |
|
||||||
} |
|
||||||
|
|
||||||
private void InitializeComponent() |
|
||||||
{ |
|
||||||
this.closeButton = new Button(); |
|
||||||
this.viewTipsAtStartCheckBox = new CheckBox(); |
|
||||||
this.nextTipButton = new Button(); |
|
||||||
|
|
||||||
closeButton.Location = new System.Drawing.Point(328, 232); |
|
||||||
closeButton.Click += new EventHandler(ExitDialog); |
|
||||||
closeButton.Size = new System.Drawing.Size(80, 24); |
|
||||||
closeButton.TabIndex = 1; |
|
||||||
closeButton.Text = ResourceService.GetString("Global.CloseButtonText"); |
|
||||||
closeButton.FlatStyle = FlatStyle.System; |
|
||||||
|
|
||||||
viewTipsAtStartCheckBox.Location = new System.Drawing.Point(8, 232); |
|
||||||
viewTipsAtStartCheckBox.Text = ResourceService.GetString("Dialog.TipOfTheDay.checkBox1Text"); |
|
||||||
viewTipsAtStartCheckBox.Size = new System.Drawing.Size(210, 24); |
|
||||||
// viewTipsAtStartCheckBox.AccessibleRole = AccessibleRoles.CheckButton;
|
|
||||||
viewTipsAtStartCheckBox.TabIndex = 2; |
|
||||||
viewTipsAtStartCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; |
|
||||||
viewTipsAtStartCheckBox.FlatStyle = FlatStyle.System; |
|
||||||
|
|
||||||
this.Text = ResourceService.GetString("Dialog.TipOfTheDay.DialogName"); |
|
||||||
//@design this.TrayLargeIcon = true;
|
|
||||||
this.FormBorderStyle = FormBorderStyle.FixedDialog; |
|
||||||
//@design this.TrayHeight = 0;
|
|
||||||
this.ClientSize = new System.Drawing.Size(418, 263); |
|
||||||
|
|
||||||
nextTipButton.Location = new System.Drawing.Point(240 - 16, 232); |
|
||||||
nextTipButton.Size = new System.Drawing.Size(96, 24); |
|
||||||
nextTipButton.TabIndex = 0; |
|
||||||
nextTipButton.Text = ResourceService.GetString("Dialog.TipOfTheDay.button1Text"); |
|
||||||
nextTipButton.FlatStyle = FlatStyle.System; |
|
||||||
|
|
||||||
this.Controls.Add(viewTipsAtStartCheckBox); |
|
||||||
this.Controls.Add(closeButton); |
|
||||||
this.Controls.Add(nextTipButton); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue