2 // System.Windows.Forms.ButtonBase.cs
5 // stubbed out by Jaak Simm (jaaksimm@firm.ee)
6 // implemented for Gtk+ by Rachel Hestilow (hestilow@ximian.com)
7 // Dennis Hayes (dennish@Raytek.com)
8 // WINELib implementation started by John Sohn (jsohn@columbus.rr.com)
9 // Alexandre Pigokine (pigolkine@gmx.de)
11 // (C) Ximian, Inc., 2002/3
14 using System.ComponentModel;
17 namespace System.Windows.Forms {
20 /// Implements the basic functionality common to button controls.
23 public abstract class ButtonBase : Control {
28 ContentAlignment imageAlign;
30 ContentAlignment textAlign;
35 protected Label label;
38 // // --- Constructor ---
39 protected ButtonBase() : base(){
43 flatStyle = FlatStyle.Standard;
45 imageAlign = ContentAlignment.MiddleCenter;
47 textAlign = ContentAlignment.MiddleCenter;
48 imeMode = ImeMode.Inherit;
54 //protected override CreateParams CreateParams {
55 // get { return base.CreateParams; }
58 //protected override ImeMode DefaultImeMode {
60 // return ImeMode.Inherit;
64 public override String Text{
65 get { return label.Text; }
66 set{ label.Text = value;}
68 public override Color ForeColor {
69 set{label.ForeColor = value;}
71 public override Font Font{
72 set{label.Font = value;}
74 protected override Size DefaultSize {
76 return new Size(75,23);// default size for button.
80 public FlatStyle FlatStyle {
81 get { return flatStyle; }
82 set { flatStyle = value;}
93 public ImageList ImageList {
94 get {throw new NotImplementedException ();}
100 public ContentAlignment ImageAlign {
101 get { return imageAlign; }
103 if( imageAlign != value) {
110 public int ImageIndex {
111 get { return imageIndex; }
112 set { imageIndex=value; }
115 public new ImeMode ImeMode {
116 get {return imeMode; }
117 set {imeMode = value;}
120 protected bool IsDefault {
121 get {return isDefault;}
122 set {isDefault = value;}
125 //internal bool Pushed {
126 // get {return isPushed;}
130 public virtual ContentAlignment TextAlign {
131 get { return textAlign; }
133 if( textAlign != value) {
141 //protected override void Dispose(bool disposing){
142 // base.Dispose(disposing);
145 protected void ResetFlagsandPaint(){
149 //protected override AccessibleObject CreateAccessibilityInstance()
151 // return base.CreateAccessibilityInstance();
154 /// [methods for events]
155 //protected override void OnEnabledChanged (EventArgs e)
157 // base.OnEnabledChanged (e);
160 //protected override void OnGotFocus (EventArgs e)
162 // base.OnGotFocus (e);
165 //protected override void OnKeyDown (KeyEventArgs kevent)
167 // base.OnKeyDown (kevent);
170 //protected override void OnKeyUp (KeyEventArgs kevent)
172 // base.OnKeyUp (kevent);
175 //protected override void OnLostFocus (EventArgs e)
177 // base.OnLostFocus (e);
180 //protected override void OnMouseDown (MouseEventArgs mevent)
182 // if ((mevent.Button & MouseButtons.Left) == MouseButtons.Left) {
187 // base.OnMouseDown (mevent);
190 //protected override void OnMouseEnter (EventArgs eventargs)
192 // base.OnMouseEnter(eventargs);
193 // if( FlatStyle == FlatStyle.Flat || FlatStyle == FlatStyle.Popup) {
198 //protected override void OnMouseLeave (EventArgs eventargs)
200 // base.OnMouseLeave(eventargs);
201 // if( FlatStyle == FlatStyle.Flat || FlatStyle == FlatStyle.Popup) {
206 //protected override void OnMouseMove (MouseEventArgs mevent)
208 // base.OnMouseMove (mevent);
211 //protected override void OnMouseUp (MouseEventArgs mevent)
215 // base.OnMouseUp (mevent);
218 //internal virtual void ButtonPaint (PaintEventArgs pevent) {
221 //protected override void OnPaint (PaintEventArgs pevent)
223 // base.OnPaint (pevent);
224 // ButtonPaint (pevent);
227 //protected override void OnParentChanged (EventArgs e)
229 // base.OnParentChanged (e);
232 //protected override void OnTextChanged (EventArgs e)
234 // base.OnTextChanged (e);
237 //protected override void OnVisibleChanged (EventArgs e)
239 // base.OnVisibleChanged (e);
241 /// end of [methods for events]