ui/wpf/UIcore/TextArea.cs

Sat, 14 Feb 2015 13:26:00 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 14 Feb 2015 13:26:00 +0100
changeset 88
04c81be1c5a0
child 101
1c943d43fa81
permissions
-rw-r--r--

added textarea (WPF)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UI
{
    public class TextArea : System.Windows.Controls.TextBox
    {
        public TextArea(Container container, String text) : base()
        {
            AcceptsReturn = true;
            IsUndoEnabled = false; // we need our own undo stack
            if (text != null)
            {
                Text = text;
            }
            VerticalScrollBarVisibility = System.Windows.Controls.ScrollBarVisibility.Auto;
            HorizontalScrollBarVisibility = System.Windows.Controls.ScrollBarVisibility.Auto;
            
            container.Add(this, true);
        }

        public static TextArea CreateTextArea(Container container, String text)
        {
            return Application.GetInstance().Exec<TextArea>(() => new TextArea(container, text));
        }


        // ------------------ UiText methods ------------------

        public void SetText(String str)
        {
            Application.GetInstance().Exec(() => Text = str);
        }

        public String GetText()
        {
            return Application.GetInstance().Exec<String>(() => Text);
        }

        public String GetSubString(int begin, int end)
        {
            return null;
        }

        public void Insert(int pos, String str)
        {

        }

        public int Position()
        {
            return Application.GetInstance().Exec<int>(() => CaretIndex);
        }

        public int Selection()
        {
            return 0;
        }

        public int Length()
        {
            return Application.GetInstance().Exec<int>(() => Text.Length);
        }

        public void Remove(int begin, int end)
        {

        }
    }
}

mercurial