// // Copyright © 2006-2010, Intel Corporation. All rights reserved. // //File: AMT_InnerButton.cs // // Contents: Defintion of logic of a button (GUI componet) // using System; using System.ComponentModel; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Windows.Forms; namespace AMT_SW_GUI { public partial class AMT_InnerButton : Button { bool enabled = true; bool wide = false; public AMT_InnerButton() { InitializeComponent(); } public AMT_InnerButton(IContainer container) { container.Add(this); InitializeComponent(); AMT_InnerButton_EnabledChanged(null, null); } private void AMT_InnerButton_MouseDown(object sender, MouseEventArgs e) { if (this.Enabled) if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_pressed; else this.BackgroundImage = Properties.Resources.thin_pressed; } private void AMT_InnerButton_MouseUp(object sender, MouseEventArgs e) { if (this.Enabled) { if (this.Focused) if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_focus_normal; else this.BackgroundImage = Properties.Resources.thin_focus_normal; else if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_normal; else this.BackgroundImage = Properties.Resources.thin_normal; } } private void AMT_InnerButton_MouseLeave(object sender, EventArgs e) { if (this.Enabled) { if (this.Focused) if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_focus_normal; else this.BackgroundImage = Properties.Resources.thin_focus_normal; else if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_normal; else this.BackgroundImage = Properties.Resources.thin_normal; } } protected override void OnTextChanged(EventArgs e) { base.OnTextChanged(e); AMT_InnerButton_MouseLeave(null, null); } protected override void OnHelpRequested(HelpEventArgs hevent) { if (this.Enabled == true) { base.OnHelpRequested(hevent); } } private void AMT_InnerButton_MouseEnter(object sender, EventArgs e) { if (this.Enabled) { if (this.Focused) if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_focus_over; else this.BackgroundImage = Properties.Resources.thin_focus_over; else if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_over; else this.BackgroundImage = Properties.Resources.thin_over; } } private void AMT_InnerButton_EnabledChanged(object sender, EventArgs e) { this.TabStop = this.Enabled; if (this.Enabled) AMT_InnerButton_MouseLeave(null, null); else if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_disabled; else this.BackgroundImage = Properties.Resources.thin_disabled; if (this.Enabled) this.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(59)))), ((int)(((byte)(108))))); else this.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(158)))), ((int)(((byte)(158)))), ((int)(((byte)(158))))); } protected override bool ShowFocusCues { get { return false; } } public new bool Enabled { get { return enabled; } set { base.Enabled = true; bool difference = (enabled != value); enabled = value; if (difference) AMT_InnerButton_EnabledChanged(null, null); } } /// This feature can cause the button to dynamically become a wide button. [Description("This feature can cause the button to dynamically become a wide button. Important for localization")] public bool CanBeWide { get { return wide; } set { wide = value; if (wide) this.BackgroundImage = Properties.Resources.W_thin_normal; } } protected override void OnClick(EventArgs e) { if (Enabled) base.OnClick(e); } private void AMT_InnerButton_Enter(object sender, EventArgs e) { if (this.Enabled) { if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_focus_normal; else this.BackgroundImage = Properties.Resources.thin_focus_normal; } } private void AMT_InnerButton_Leave(object sender, EventArgs e) { if (this.Enabled) { if (wide && this.Size.Width > 105) this.BackgroundImage = Properties.Resources.W_thin_normal; else this.BackgroundImage = Properties.Resources.thin_normal; } } private void AMT_InnerButton_TextChanged(object sender, EventArgs e) { AMT_InnerButton_EnabledChanged(null, null); } } }