// 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-2005 Novell, Inc. (http://www.novell.com)
+// Copyright (c) 2004-2006 Novell, Inc. (http://www.novell.com)
//
// Authors:
// Peter Bartok pbartok@novell.com
namespace System.Windows.Forms {
public class TextBox : TextBoxBase {
+ #region Variables
+ private ContextMenu menu;
+ private MenuItem undo;
+ private MenuItem cut;
+ private MenuItem copy;
+ private MenuItem paste;
+ private MenuItem delete;
+ private MenuItem select_all;
+ #endregion // Variables
+
#region Public Constructors
public TextBox() {
+
scrollbars = RichTextBoxScrollBars.None;
alignment = HorizontalAlignment.Left;
this.LostFocus +=new EventHandler(TextBox_LostFocus);
SetStyle (ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, false);
SetStyle (ControlStyles.FixedHeight, true);
+
+ undo = new MenuItem(Locale.GetText("&Undo"));
+ cut = new MenuItem(Locale.GetText("Cu&t"));
+ copy = new MenuItem(Locale.GetText("&Copy"));
+ paste = new MenuItem(Locale.GetText("&Paste"));
+ delete = new MenuItem(Locale.GetText("&Delete"));
+ select_all = new MenuItem(Locale.GetText("Select &All"));
+
+ menu = new ContextMenu(new MenuItem[] { undo, new MenuItem("-"), cut, copy, paste, delete, new MenuItem("-"), select_all});
+ ContextMenu = menu;
+
+ menu.Popup += new EventHandler(menu_Popup);
+ undo.Click += new EventHandler(undo_Click);
+ cut.Click += new EventHandler(cut_Click);
+ copy.Click += new EventHandler(copy_Click);
+ paste.Click += new EventHandler(paste_Click);
+ delete.Click += new EventHandler(delete_Click);
+ select_all.Click += new EventHandler(select_all_Click);
}
#endregion // Public Constructors
#endif
[DefaultValue(false)]
+ [MWFCategory("Behavior")]
public bool AcceptsReturn {
get {
return accepts_return;
}
[DefaultValue(CharacterCasing.Normal)]
+ [MWFCategory("Behavior")]
public CharacterCasing CharacterCasing {
get {
return character_casing;
[Localizable(true)]
[DefaultValue('\0')]
+ [MWFCategory("Behavior")]
public char PasswordChar {
get {
#if NET_2_0
[DefaultValue(ScrollBars.None)]
[Localizable(true)]
+ [MWFCategory("Appearance")]
public ScrollBars ScrollBars {
get {
return (ScrollBars)scrollbars;
[DefaultValue(HorizontalAlignment.Left)]
[Localizable(true)]
+ [MWFCategory("Appearance")]
public HorizontalAlignment TextAlign {
get {
return alignment;
for (int i = 1; i <= document.Lines; i++) {
document.GetLine(i).Alignment = value;
}
- document.RecalculateDocument(CreateGraphics());
+ document.RecalculateDocument(CreateGraphicsInternal());
OnTextAlignChanged(EventArgs.Empty);
}
}
#region Events
public event EventHandler TextAlignChanged;
#endregion // Events
+
+ #region Private Methods
+ private void menu_Popup(object sender, EventArgs e) {
+ if (SelectionLength == 0) {
+ cut.Enabled = false;
+ copy.Enabled = false;
+ } else {
+ cut.Enabled = true;
+ copy.Enabled = true;
+ }
+
+ if (SelectionLength == TextLength) {
+ select_all.Enabled = false;
+ } else {
+ select_all.Enabled = true;
+ }
+
+ if (!CanUndo) {
+ undo.Enabled = false;
+ } else {
+ undo.Enabled = true;
+ }
+ }
+
+ private void undo_Click(object sender, EventArgs e) {
+ Undo();
+ }
+
+ private void cut_Click(object sender, EventArgs e) {
+ Cut();
+ }
+
+ private void copy_Click(object sender, EventArgs e) {
+ Copy();
+ }
+
+ private void paste_Click(object sender, EventArgs e) {
+ Paste();
+ }
+
+ private void delete_Click(object sender, EventArgs e) {
+ SelectedText = "";
+ }
+
+ private void select_all_Click(object sender, EventArgs e) {
+ SelectAll();
+ }
+ #endregion // Private Methods
}
}