Exemplo n.º 1
0
        private void DoTag(object obj)
        {
            try
            {
                string tagName = (string)obj;

                int selectionLength = SelectionLength;

                string param;
                if (SelectionLength > 0)
                {
                    // Запомним выделенный текст
                    param = TextOutgoing.Substring(SelectionStart, SelectionLength);

                    // Удалим выделенный текст
                    int selectionStart = SelectionStart;
                    TextOutgoing   = TextOutgoing.Remove(SelectionStart, SelectionLength);
                    SelectionStart = selectionStart;
                }
                else
                {
                    param = "";
                }

                // Обернем выделенный текст в тег
                string tag = _model.GetTag(tagName, param);

                // Добавим в текущее место
                AppendText(tag);

                // Вернем выделение
                SelectionStart -= tag.Length - tag.IndexOf("]") - 1;
                SelectionLength = selectionLength;
            }
            catch (Exception ex)
            {
                ex.Process(ErrorHandlingLevels.Tray);
            }
        }