// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-// Copyright (c) 2004 Novell, Inc. (http://www.novell.com)
+// Copyright (c) 2004-2005 Novell, Inc. (http://www.novell.com)
//
// Authors:
// Peter Bartok pbartok@novell.com
// NOT COMPLETE
using System;
+using System.ComponentModel;
+using System.ComponentModel.Design;
using System.Drawing;
namespace System.Windows.Forms {
public class TextBox : TextBoxBase {
#region Local Variables
- internal bool accepts_return;
- internal CharacterCasing character_casing;
internal char password_char;
- internal ScrollBars scrollbars;
- internal HorizontalAlignment alignment;
#endregion // Local Variables
#region Public Constructors
public TextBox() {
accepts_return = false;
- character_casing = CharacterCasing.Normal;
password_char = '\u25cf';
- scrollbars = ScrollBars.None;
+ scrollbars = RichTextBoxScrollBars.None;
alignment = HorizontalAlignment.Left;
+ this.LostFocus +=new EventHandler(TextBox_LostFocus);
+ this.BackColor = ThemeEngine.Current.ColorWindow;
+ this.ForeColor = ThemeEngine.Current.ColorWindowText;
}
#endregion // Public Constructors
+\r
+ #region Private & Internal Methods
+ private void TextBox_LostFocus(object sender, EventArgs e) {\r
+ has_focus = false;\r
+ Invalidate();\r
+ }\r
+ #endregion // Private & Internal Methods
+
#region Public Instance Properties
+ [DefaultValue(false)]
public bool AcceptsReturn {
get {
return accepts_return;
}
}
+ [DefaultValue(CharacterCasing.Normal)]
public CharacterCasing CharacterCasing {
get {
return character_casing;
}
}
+ [Localizable(true)]
+ [DefaultValue("")]
public char PasswordChar {
get {
return password_char;
}
}
+ [DefaultValue(ScrollBars.None)]
+ [Localizable(true)]
public ScrollBars ScrollBars {
get {
- return scrollbars;
+ return (ScrollBars)scrollbars;
}
set {
- if (value != scrollbars) {
- scrollbars = value;
+ if (value != (ScrollBars)scrollbars) {
+ scrollbars = (RichTextBoxScrollBars)value;
+ base.CalculateScrollBars();
}
}
}
+ [Browsable(false)]
+ [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+ public override int SelectionLength {\r
+ get {\r
+ return base.SelectionLength;\r
+ }\r
+ set {\r
+ base.SelectionLength = value;\r
+ }\r
+ }\r
+
+
public override string Text {
get {
return base.Text;
}
}
+ [DefaultValue(HorizontalAlignment.Left)]
+ [Localizable(true)]
public HorizontalAlignment TextAlign {
get {
return alignment;
set {
if (value != alignment) {
alignment = value;
+
+ // MS word-wraps if alignment isn't left
+ if (multiline) {
+ if (alignment != HorizontalAlignment.Left) {
+ document.Wrap = true;
+ } else {
+ document.Wrap = word_wrap;
+ }
+ }
+
+ for (int i = 1; i <= document.Lines; i++) {
+ document.GetLine(i).Alignment = value;
+ }
+ document.RecalculateDocument(CreateGraphics());
OnTextAlignChanged(EventArgs.Empty);
}
}
}
protected override void OnGotFocus(EventArgs e) {
+ has_focus=true;
+ Invalidate();
base.OnGotFocus (e);
}
}
}
- protected virtual void WndProc(ref Message m) {
+ protected override void WndProc(ref Message m) {
base.WndProc(ref m);
}
#endregion // Protected Instance Methods
#region Events
public event EventHandler TextAlignChanged;
- #endregion // Events
+ #endregion // Events\r
}
}