public void AddElement(EquationElement.ElementType type, String character, bool removeEmpty)
        {
            EquationElement equationElement = new EquationElement(type, character);

            elements.Insert(cursorIndex + 1, equationElement);

            cursorIndex++;

            CursorUpdate();
        }
        public void AddElement(EquationElement.ElementType type, String element)
        {
            int index = cursorIndex + 1;

            /*
            if (index >= 0 && index < elements.Count && elements.ElementAt(index).GetCharacter() == '□')
            {
                elements.RemoveAt(cursorIndex + 1);
            }
            */

            AddElement(type, element, element.Length == 1);

            if (element.Contains("□"))
            {
                cursorIndex = cursorIndex - 1 - (element.Length - 1 - element.IndexOf("□"));

                CursorUpdate();
            }
        }
        public void SetElement(int index, EquationElement.ElementType type, String character)
        {
            elements[index] = new EquationElement(type, character);

            CursorUpdate();
        }
        public void InsertElement(int index, EquationElement.ElementType type, String character)
        {
            elements.Insert(index, new EquationElement(type, character));

            cursorIndex++;

            CursorUpdate();
        }