// // Copyright © 2006-2010, Intel Corporation. All rights reserved. // //File: AMT_OuterButton.cs // // Contents: Defintion of logic of 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_OuterButton : Button { bool isAccept = false; bool acceptDetermined = false; bool enabled = true; public AMT_OuterButton() { InitializeComponent(); } // public bool IsAccept { get { return isAccept; } set { isAccept = value; SCS_Button_MouseLeave(null, null); } } public AMT_OuterButton(IContainer container) { container.Add(this); InitializeComponent(); AMT_OuterButton_EnabledChanged(null, null); } private void AMT_OuterButton_MouseDown(object sender, MouseEventArgs e) { if (this.Enabled) this.BackgroundImage = Properties.Resources.large_pressed24; } private void AMT_OuterButton_MouseUp(object sender, MouseEventArgs e) { if (this.Enabled) { if (this.Focused) if (isAccept) this.BackgroundImage = Properties.Resources.large_focus_default24; else this.BackgroundImage = Properties.Resources.large_focus_normal24; else if (isAccept) this.BackgroundImage = Properties.Resources.large_default24; else this.BackgroundImage = Properties.Resources.large_normal24; } } private void AMT_OuterButton_MouseLeave(object sender, EventArgs e) { if (this.Enabled) { if (this.Focused) if (isAccept) this.BackgroundImage = Properties.Resources.large_focus_default24; else this.BackgroundImage = Properties.Resources.large_focus_normal24; else if (isAccept) this.BackgroundImage = Properties.Resources.large_default24; else this.BackgroundImage = Properties.Resources.large_normal24; } } private void AMT_OuterButton_MouseEnter(object sender, EventArgs e) { if (this.Enabled) { if (this.Focused) this.BackgroundImage = Properties.Resources.large_focus_over24; else this.BackgroundImage = Properties.Resources.large_over24; } } protected override void OnParentChanged(EventArgs e) { base.OnParentChanged(e); try { if (this.Parent != null) { if (((Form)this.Parent).AcceptButton == this) isAccept = true; } } catch { } } protected override void OnHelpRequested(HelpEventArgs hevent) { if (this.Enabled == true) { base.OnHelpRequested(hevent); } } protected override void OnPaint(PaintEventArgs pevent) { if (!acceptDetermined) { if (Parent != null) { try { if ((Form)Parent != null) { if (((AMT_OuterButton)((Form)Parent).AcceptButton) == this) { isAccept = true; } } } catch { } acceptDetermined = true; } } base.OnPaint(pevent); NotifyDefault(false); } private void AMT_OuterButton_EnabledChanged(object sender, EventArgs e) { if (this.Text == "") return; this.TabStop = this.Enabled; if (this.Enabled) AMT_OuterButton_MouseLeave(sender, e); else this.BackgroundImage = Properties.Resources.large_disabled24; 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_OuterButton_EnabledChanged(null, null); } } protected override void OnClick(EventArgs e) { if (Enabled) base.OnClick(e); } private void AMT_OuterButton_Leave(object sender, EventArgs e) { if (this.Enabled) { if (isAccept) this.BackgroundImage = Properties.Resources.large_default24; else this.BackgroundImage = Properties.Resources.large_normal24; } } private void AMT_OuterButton_Enter(object sender, EventArgs e) { if (this.Enabled) { if (isAccept) this.BackgroundImage = Properties.Resources.large_focus_default24; else this.BackgroundImage = Properties.Resources.large_focus_normal24; } } private void AMT_OuterButton_TextChanged(object sender, EventArgs e) { AMT_OuterButton_EnabledChanged(null, null); } } }