protected override void OnSyntaxEditorTriggerActivated(ActiproSoftware.SyntaxEditor.SyntaxEditor syntaxEditor, TriggerEventArgs e)
        {
            string str = e.get_Trigger().get_Key();

            if (((str != null) && (str == "TagAutoCompleteTrigger")) && !syntaxEditor.get_SelectedView().get_Selection().get_IsReadOnly())
            {
                this.CompleteElementTag(syntaxEditor, syntaxEditor.get_Caret().get_Offset());
            }
        }
Ejemplo n.º 2
0
 protected void SetCanEditFlags(Control c, out bool canUndo, out bool canRedo, out bool canCopy, out bool canCut, out bool canPaste)
 {
     canPaste = false;
     canCut   = false;
     canCopy  = false;
     canRedo  = false;
     canUndo  = false;
     if (c is TextBoxBase)
     {
         TextBoxBase base2 = (TextBoxBase)c;
         canUndo = base2.CanUndo;
         canCopy = base2.SelectionLength > 0;
         canCut  = (base2.SelectionLength > 0) && !base2.ReadOnly;
         bool flag = false;
         try
         {
             flag = Clipboard.ContainsData(DataFormats.Text);
         }
         catch
         {
         }
         canPaste = !base2.ReadOnly && flag;
     }
     if (c is RichTextBox)
     {
         canRedo = ((RichTextBox)c).CanRedo;
     }
     if (c is DataGridView)
     {
         canCopy = ((DataGridView)c).SelectedCells.Count > 0;
     }
     if (c is ActiproSoftware.SyntaxEditor.SyntaxEditor)
     {
         ActiproSoftware.SyntaxEditor.SyntaxEditor editor = (ActiproSoftware.SyntaxEditor.SyntaxEditor)c;
         canUndo  = editor.get_Document().get_UndoRedo().get_CanUndo();
         canRedo  = editor.get_Document().get_UndoRedo().get_CanRedo();
         canCopy  = editor.get_SelectedView().get_SelectedText().Length > 0;
         canCut   = editor.get_SelectedView().get_CanDelete();
         canPaste = editor.get_SelectedView().get_CanPaste();
     }
 }
        private void CompleteElementTag(ActiproSoftware.SyntaxEditor.SyntaxEditor syntaxEditor, int offset)
        {
            string     str        = null;
            TextStream textStream = syntaxEditor.get_Document().GetTextStream(offset);

            if (textStream.GoToPreviousToken() && ((textStream.get_Token().get_Key() == "StartTagEndToken") && ((offset - textStream.get_Offset()) == 1)))
            {
                bool flag = false;
                while (textStream.GoToPreviousToken())
                {
                    string str2 = textStream.get_Token().get_Key();
                    if (str2 != null)
                    {
                        if (!(str2 == "StartTagNameToken"))
                        {
                            if ((str2 == "StartTagStartToken") || (str2 == "EndTagEndToken"))
                            {
                                return;
                            }
                        }
                        else
                        {
                            str  = textStream.get_TokenText().Trim();
                            flag = true;
                        }
                    }
                    if (flag)
                    {
                        break;
                    }
                }
                if (str != null)
                {
                    textStream.set_Offset(offset);
                    flag = false;
                    while (!textStream.get_IsAtDocumentEnd())
                    {
                        switch (textStream.get_Token().get_Key())
                        {
                        case "EndTagDefaultToken":
                            if (str == textStream.get_TokenText().Trim())
                            {
                                return;
                            }
                            flag = true;
                            break;

                        case "StartTagStartToken":
                        case "EndTagEndToken":
                            flag = true;
                            break;
                        }
                        if (flag)
                        {
                            break;
                        }
                        textStream.GoToNextToken();
                    }
                    syntaxEditor.get_SelectedView().InsertSurroundingText(0, null, "</" + str + ">");
                }
            }
        }