Ejemplo n.º 1
0
    override protected void DoCreate()
    {
        tabBar             = new TabBar <string>(new SwitchList <string>(), TabBar <string> .DefaultStringOf);
        tabBar.Text        = Name;
        tabBar.CloseClick += OnCloseClick;
        Controls.Add(tabBar);

        KeyMap  frameKeyMap = new KeyMap();
        KeyItem escape      = new KeyItem(Keys.Escape, null,
                                          new KeyAction("&View\\File tree\\Cancel renaming", DoCancel, null, false));

        frameKeyMap.AddItem(escape);
        frameKeyMap.AddItem(new KeyItem(Keys.Enter, null,
                                        new KeyAction("&View\\File tree\\Complete renaming", DoComplete, null, false)));

        KeyMap beforeKeyMap = new KeyMap();

        beforeKeyMap.AddItem(escape);

        textBox = new MulticaretTextBox();
        textBox.KeyMap.AddBefore(beforeKeyMap);
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        Controls.Add(textBox);

        tabBar.MouseDown += OnTabBarMouseDown;
        InitResizing(tabBar, null);
    }
    override protected bool Prebuild()
    {
        if (MainForm.LastFrame == null)
        {
            return(false);
        }
        MulticaretTextBox textBox = MainForm.LastFrame.TextBox;

        if (textBox == null)
        {
            return(false);
        }

        items.Clear();
        SnippetFilesScanner scanner = MainForm.SnippetFilesScanner;

        scanner.TryRescan();
        foreach (SnippetInfo info in scanner.Infos)
        {
            items.Add(Path.GetFileName(info.path));
        }

        currentItem = null;
        return(true);
    }
Ejemplo n.º 3
0
    override protected void DoCreate()
    {
        list               = new SwitchList <string>();
        tabBar             = new TabBar <string>(list, TabBar <string> .DefaultStringOf);
        tabBar.Text        = "Info";
        tabBar.CloseClick += OnCloseClick;
        Controls.Add(tabBar);

        KeyMap frameKeyMap = new KeyMap();

        frameKeyMap.AddItem(new KeyItem(Keys.Escape, null, new KeyAction("&View\\Close info", DoClose, null, false)));
        frameKeyMap.AddItem(new KeyItem(Keys.Enter, null, new KeyAction("&View\\Close info", DoClose, null, false)));

        textBox = new MulticaretTextBox();
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange        += OnTextBoxFocusedChange;
        textBox.Controller.isReadonly = true;
        textBox.ViShortcut           += OnViShortcut;
        SetTextBoxParameters();
        Controls.Add(textBox);

        tabBar.MouseDown += OnTabBarMouseDown;
        InitResizing(tabBar, null);
        Height = MinSize.Height;
    }
Ejemplo n.º 4
0
 public void ApplyParameters(MulticaretTextBox textBox, SettingsMode settingsMode, Buffer buffer)
 {
     textBox.WordWrap             = settingsMode != SettingsMode.FileTree && settingsMode != SettingsMode.Help && wordWrap.Value;
     textBox.ShowLineNumbers      = showLineNumbers.Value && settingsMode != SettingsMode.FileTree;
     textBox.ShowLineBreaks       = showLineBreaks.Value;
     textBox.ShowSpaceCharacters  = showSpaceCharacters.Value;
     textBox.HighlightCurrentLine = highlightCurrentLine.Value;
     textBox.TabSize           = tabSize.GetValue(buffer);
     textBox.SpacesInsteadTabs = spacesInsteadTabs.GetValue(buffer);
     textBox.Autoindent        = autoindent.GetValue(buffer);
     textBox.LineBreak         = lineBreak.Value;
     textBox.FontFamily        = font.Value;
     textBox.SetFontSize(fontSize.Value, lineNumberFontSize.Value);
     textBox.ScrollingIndent   = scrollingIndent.Value;
     textBox.ScrollingStep     = scrollingStep.Value;
     textBox.ShowColorAtCursor = showColorAtCursor.Value;
     textBox.KeyMap.main.SetAltChars(altCharsSource.Value, altCharsResult.Value);
     textBox.SetViMap(viMapSource.Value, viMapResult.Value);
     textBox.Map             = settingsMode != SettingsMode.FileTree && miniMap.Value;
     textBox.MapScale        = miniMapScale.Value;
     textBox.PrintMargin     = settingsMode == SettingsMode.Normal && printMargin.Value;
     textBox.PrintMarginSize = printMarginSize.Value;
     textBox.MarkWord        = markWord.Value;
     textBox.MarkBracket     = markBracket.Value;
 }
Ejemplo n.º 5
0
    override protected void DoCreate()
    {
        SwitchList <NamedAction> list        = new SwitchList <NamedAction>();
        KeyMapBuilder            frameKeyMap = new KeyMapBuilder(new KeyMap(), list);

        frameKeyMap.Add(Keys.Escape, null, new KeyAction("F&ind\\Cancel find", DoCancel, null, false));
        frameKeyMap.AddInList(Keys.Enter, null, new KeyAction("F&ind\\Find next", DoFindNext, null, false));
        if (data.history != null)
        {
            KeyAction prevAction = new KeyAction("F&ind\\Previous pattern", DoPrevPattern, null, false);
            KeyAction nextAction = new KeyAction("F&ind\\Next pattern", DoNextPattern, null, false);
            frameKeyMap.Add(Keys.Up, null, prevAction);
            frameKeyMap.Add(Keys.Down, null, nextAction);
            frameKeyMap.Add(Keys.Control | Keys.P, null, prevAction);
            frameKeyMap.Add(Keys.Control | Keys.N, null, nextAction);
        }
        frameKeyMap.Add(Keys.None, null, new KeyAction("F&ind\\-", null, null, false));
        if (allowNormalMode)
        {
            frameKeyMap.Add(Keys.Control | Keys.F, null,
                            new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false));
        }

        KeyMapBuilder beforeKeyMap = new KeyMapBuilder(new KeyMap(), list);

        if (doSelectAllFound != null)
        {
            beforeKeyMap.AddInList(Keys.Control | Keys.D, null,
                                   new KeyAction("F&ind\\Select next found", DoSelectNextFound, null, false));
            beforeKeyMap.AddInList(Keys.Control | Keys.Shift | Keys.D, null,
                                   new KeyAction("F&ind\\Select all found", DoSelectAllFound, null, false));
            beforeKeyMap.Add(Keys.Control | Keys.K, null,
                             new KeyAction("F&ind\\Unselect prev text", DoUnselectPrevText, null, false));
        }

        textBox = new MulticaretTextBox(true);
        textBox.KeyMap.AddBefore(beforeKeyMap.map);
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap.map, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        Controls.Add(textBox);

        tabBar            = new TabBar <NamedAction>(list, TabBar <NamedAction> .DefaultStringOf, NamedAction.HintOf);
        tabBar.Text       = Name;
        tabBar.ButtonMode = true;
        tabBar.RightHint  = findParams != null?findParams.GetIndicationHint() : null;

        tabBar.TabClick   += OnTabClick;
        tabBar.CloseClick += OnCloseClick;
        tabBar.MouseDown  += OnTabBarMouseDown;
        Controls.Add(tabBar);

        InitResizing(tabBar, null);
        Height = MinSize.Height;
        UpdateFindParams();
    }
Ejemplo n.º 6
0
    override protected void DoCreate()
    {
        SwitchList <NamedAction> list = new SwitchList <NamedAction>();

        KeyMap frameKeyMap = new KeyMap();

        frameKeyMap.AddItem(new KeyItem(Keys.Escape, null,
                                        new KeyAction("F&ind\\Cancel find", DoCancel, null, false)));
        frameKeyMap.AddItem(new KeyItem(Keys.Enter, null,
                                        new KeyAction("F&ind\\Find next", DoFindNext, null, false)));
        if (data.history != null)
        {
            KeyAction prevAction = new KeyAction("F&ind\\Previous pattern", DoPrevPattern, null, false);
            KeyAction nextAction = new KeyAction("F&ind\\Next pattern", DoNextPattern, null, false);
            frameKeyMap.AddItem(new KeyItem(Keys.Up, null, prevAction));
            frameKeyMap.AddItem(new KeyItem(Keys.Down, null, nextAction));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.P, null, prevAction));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.N, null, nextAction));
        }
        frameKeyMap.AddItem(new KeyItem(Keys.None, null, new KeyAction("F&ind\\-", null, null, false)));
        frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null,
                                        new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false)));

        frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.Shift | Keys.R, null,
                                        new KeyAction("F&ind\\Switch regex", DoSwitchRegex, null, false)
                                        .SetGetText(GetFindRegex)));
        frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.Shift | Keys.I, null,
                                        new KeyAction("F&ind\\Switch ignore case", DoSwitchIgnoreCase, null, false)
                                        .SetGetText(GetFindIgnoreCase)));

        KeyMap beforeKeyMap = new KeyMap();

        textBox = new MulticaretTextBox(true);
        textBox.KeyMap.AddBefore(beforeKeyMap);
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        textBox.TextChange    += OnTextChange;
        Controls.Add(textBox);

        tabBar            = new TabBar <NamedAction>(list, TabBar <NamedAction> .DefaultStringOf, NamedAction.HintOf);
        tabBar.Text       = (isBackward ? "?" : "/") + Name;
        tabBar.ButtonMode = true;
        tabBar.RightHint  = findParams != null?findParams.GetIndicationHint() : null;

        tabBar.TabClick   += OnTabClick;
        tabBar.CloseClick += OnCloseClick;
        tabBar.MouseDown  += OnTabBarMouseDown;
        Controls.Add(tabBar);

        InitResizing(tabBar, null);
        Height = MinSize.Height;
        UpdateFindParams();
    }
Ejemplo n.º 7
0
 public bool Switch(MulticaretTextBox textBox, bool isPrev)
 {
     SetCurrent(textBox.Text);
     Switch(isPrev);
     if (textBox.Text != Current)
     {
         textBox.Controller.ClearMinorSelections();
         textBox.Controller.SelectAll();
         textBox.Controller.InsertText(Current);
         return(true);
     }
     return(false);
 }
Ejemplo n.º 8
0
    override protected void DoCreate()
    {
        if (Nest.buffers == null)
        {
            throw new Exception("buffers == null");
        }
        this.buffers = Nest.buffers;

        buffers.frame = this;
        buffers.list.SelectedChange += OnTabSelected;

        tabBar                    = new TabBar <Buffer>(buffers.list, Buffer.StringOf);
        tabBar.CloseClick        += OnCloseClick;
        tabBar.TabDoubleClick    += OnTabDoubleClick;
        tabBar.NewTabDoubleClick += OnNewTabDoubleClick;
        Controls.Add(tabBar);

        splitLine = new SplitLine();
        Controls.Add(splitLine);

        KeyMap frameKeyMap = new KeyMap();

        frameKeyMap.AddItem(new KeyItem(Keys.Tab, Keys.Control, new KeyAction("&View\\Switch tab", DoTabDown, DoTabModeChange, false)));
        {
            KeyAction action = new KeyAction("&View\\Close tab", DoCloseTab, null, false);
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.W, null, action));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F4, null, action));
        }
        frameKeyMap.AddItem(new KeyItem(Keys.Tab, null,
                                        new KeyAction("&Edit\\Snippets\\Apply snippet", Snippets_DoApply, null, false)));
        frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.Shift | Keys.Tab, null,
                                        new KeyAction("&Edit\\Snippets\\Autocomplete snippet", Snippets_DoAutocomplete, null, false)));

        textBox             = new MulticaretTextBox();
        textBox.ViShortcut += OnViShortcut;
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        textBox.Controller     = GetEmptyController();
        Controls.Add(textBox);

        InitResizing(tabBar, splitLine);
        tabBar.MouseDown += OnTabBarMouseDown;
        OnTabSelected();
    }
Ejemplo n.º 9
0
 public void ExecuteSequence(List <Action> sequence)
 {
     if (sequence == null || getTextBox == null)
     {
         return;
     }
     for (int i = 0, count = sequence.Count; i < sequence.Count; i++)
     {
         MulticaretTextBox tb = getTextBox();
         if (tb == null)
         {
             return;
         }
         Action action = sequence[i];
         tb.ProcessSequenceAction(action);
     }
 }
Ejemplo n.º 10
0
 public void Execute()
 {
     if (recorded == null || getTextBox == null)
     {
         return;
     }
     for (int i = 0, count = recorded.Count; i < recorded.Count; i++)
     {
         MulticaretTextBox tb = getTextBox();
         if (tb == null)
         {
             return;
         }
         Action action = recorded[i];
         tb.ProcessMacrosAction(action);
     }
 }
Ejemplo n.º 11
0
    override protected void DoCreate()
    {
        SwitchList <NamedAction> list = new SwitchList <NamedAction>();

        KeyMap frameKeyMap = new KeyMap();

        frameKeyMap.AddItem(new KeyItem(Keys.Escape, null,
                                        new KeyAction("&View\\Cancel command", DoCancel, null, false)));
        frameKeyMap.AddItem(new KeyItem(Keys.Enter, null,
                                        new KeyAction("&View\\Run command", DoRunCommand, null, false)));
        {
            KeyAction prevAction = new KeyAction("&View\\Previous command", DoPrevCommand, null, false);
            KeyAction nextAction = new KeyAction("&View\\Next command", DoNextCommand, null, false);
            frameKeyMap.AddItem(new KeyItem(Keys.Up, null, prevAction));
            frameKeyMap.AddItem(new KeyItem(Keys.Down, null, nextAction));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.P, null, prevAction));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.N, null, nextAction));
        }
        {
            KeyAction action = new KeyAction("&View\\Autocomplete", DoAutocomplete, null, false);
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.Space, null, action));
            frameKeyMap.AddItem(new KeyItem(Keys.Tab, null, action));
        }
        frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null,
                                        new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false)));

        textBox = new MulticaretTextBox(true);
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        textBox.TextChange    += OnTextChange;
        Controls.Add(textBox);

        tabBar             = new TabBar <NamedAction>(list, TabBar <NamedAction> .DefaultStringOf, NamedAction.HintOf);
        tabBar.Text        = Name;
        tabBar.ButtonMode  = true;
        tabBar.TabClick   += OnTabClick;
        tabBar.CloseClick += OnCloseClick;
        tabBar.MouseDown  += OnTabBarMouseDown;
        Controls.Add(tabBar);

        InitResizing(tabBar, null);
        Height = MinSize.Height;
    }
Ejemplo n.º 12
0
        public MainForm()
        {
            SuspendLayout();

            textBox         = new MulticaretTextBox();
            textBox.Dock    = System.Windows.Forms.DockStyle.Fill;
            textBox.ImeMode = System.Windows.Forms.ImeMode.Off;
            textBox.Text    = @"Slkjflsjdf sldfaj lasdjf lsd fl Ssdfldsf sdfsdf sdfsdf sdfsdfsdf sdfsdfsfsdfsf
slkjflsjdf sldfaj lasdjf lsd fl asdfldsf";

            AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            AutoScaleMode       = System.Windows.Forms.AutoScaleMode.Font;
            ClientSize          = new System.Drawing.Size(371, 341);
            Controls.Add(textBox);

            ResumeLayout(false);
            PerformLayout();

            TestFSBArray();
        }
Ejemplo n.º 13
0
 public void ApplySimpleParameters(MulticaretTextBox textBox, Buffer buffer, bool changeFont)
 {
     textBox.WordWrap             = wordWrap.Value;
     textBox.ShowLineNumbers      = false;
     textBox.ShowLineBreaks       = showLineBreaks.Value;
     textBox.ShowSpaceCharacters  = showSpaceCharacters.Value;
     textBox.HighlightCurrentLine = false;
     textBox.TabSize           = tabSize.GetValue(buffer);
     textBox.SpacesInsteadTabs = spacesInsteadTabs.GetValue(buffer);
     textBox.Autoindent        = autoindent.GetValue(buffer);
     textBox.LineBreak         = lineBreak.Value;
     if (changeFont)
     {
         textBox.FontFamily = font.Value;
         textBox.SetFontSize(fontSize.Value, lineNumberFontSize.Value);
     }
     textBox.ScrollingIndent   = scrollingIndent.Value;
     textBox.ScrollingStep     = scrollingStep.Value;
     textBox.ShowColorAtCursor = showColorAtCursor.Value;
     textBox.KeyMap.main.SetAltChars(altCharsSource.Value, altCharsResult.Value);
 }
Ejemplo n.º 14
0
    public AutocompleteMode(MulticaretTextBox textBox, Mode mode)
    {
        this.textBox = textBox;
        this.mode    = mode;

        keyMap = new KeyMap();
        {
            KeyAction action = new KeyAction("&View\\Autocomplete\\MoveUp", DoMoveUp, null, false);
            keyMap.AddItem(new KeyItem(Keys.Up, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.P, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.K, null, action));
        }
        {
            KeyAction action = new KeyAction("&View\\Autocomplete\\MoveDown", DoMoveDown, null, false);
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.N, null, action));
            keyMap.AddItem(new KeyItem(Keys.Down, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.J, null, action));
            if (mode == Mode.Raw)
            {
                keyMap.AddItem(new KeyItem(Keys.Tab, null, action));
            }
        }
        {
            KeyAction action = new KeyAction("&View\\Autocomplete\\MovePageUp", DoMovePageUp, null, false);
            keyMap.AddItem(new KeyItem(Keys.PageUp, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.B, null, action));
        }
        {
            KeyAction action = new KeyAction("&View\\Autocomplete\\MovePageDown", DoMovePageDown, null, false);
            keyMap.AddItem(new KeyItem(Keys.PageDown, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null, action));
        }
        keyMap.AddItem(new KeyItem(Keys.Control | Keys.Home, null, new KeyAction("&View\\Autocomplete\\MoveToFirst", DoMoveToFirst, null, false)));
        keyMap.AddItem(new KeyItem(Keys.Control | Keys.End, null, new KeyAction("&View\\Autocomplete\\MoveToLast", DoMoveToLast, null, false)));
        {
            KeyAction action = new KeyAction("&View\\Autocomplete\\Close", DoClose, null, false);
            keyMap.AddItem(new KeyItem(Keys.Escape, null, action));
        }
        keyMap.AddItem(new KeyItem(Keys.Enter, null, new KeyAction("&View\\Autocomplete\\Complete", DoComplete, null, false)));
    }
Ejemplo n.º 15
0
    override protected void Execute(int line, string lineText)
    {
        if (MainForm.LastFrame == null)
        {
            return;
        }
        Buffer buffer = MainForm.LastFrame.SelectedBuffer;

        if (buffer == null)
        {
            return;
        }
        MulticaretTextBox textBox = MainForm.LastFrame.TextBox;

        if (textBox == null)
        {
            return;
        }
        //textBox.Controller.Lines.ResetHighlighting();
        buffer.customSyntax = lineText != Reset ? lineText : null;
        MainForm.UpdateHighlighter(textBox, buffer.Name, buffer);
        DispatchNeedClose();
    }
Ejemplo n.º 16
0
    override protected void DoCreate()
    {
        tabBar             = new TabBar <string>(null, TabBar <string> .DefaultStringOf);
        tabBar.CloseClick += OnCloseClick;
        tabBar.Text        = Name;
        Controls.Add(tabBar);

        KeyMap frameKeyMap = new KeyMap();

        frameKeyMap.AddItem(new KeyItem(Keys.Escape, null,
                                        new KeyAction("&View\\File tree\\Cancel path", DoCancel, null, false)));
        frameKeyMap.AddItem(new KeyItem(Keys.Enter, null,
                                        new KeyAction("&View\\File tree\\Run path", DoInput, null, false)));
        if (data.history != null)
        {
            frameKeyMap.AddItem(new KeyItem(Keys.Up, null,
                                            new KeyAction("&View\\File tree\\Previous path", DoPrevPath, null, false)));
            frameKeyMap.AddItem(new KeyItem(Keys.Down, null,
                                            new KeyAction("&View\\File tree\\Next path", DoNextPath, null, false)));
        }
        {
            KeyAction action = new KeyAction("&View\\File tree\\Autocomplete", DoAutocomplete, null, false);
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.Space, null, action));
            frameKeyMap.AddItem(new KeyItem(Keys.Tab, null, action));
        }

        textBox = new MulticaretTextBox();
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(frameKeyMap, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        Controls.Add(textBox);

        tabBar.MouseDown += OnTabBarMouseDown;
        InitResizing(tabBar, null);
        Height = MinSize.Height;
    }
Ejemplo n.º 17
0
    override protected bool Prebuild()
    {
        if (MainForm.LastFrame == null)
        {
            return(false);
        }
        MulticaretTextBox textBox = MainForm.LastFrame.TextBox;

        if (textBox == null)
        {
            return(false);
        }

        items.Clear();
        foreach (SyntaxFilesScanner.LanguageInfo info in MainForm.SyntaxFilesScanner.Infos)
        {
            items.Add(info.syntax);
        }

        Highlighter highlighter = MainForm.LastFrame.TextBox.Highlighter;

        currentItem = highlighter != null ? highlighter.type : Reset;
        return(true);
    }
Ejemplo n.º 18
0
    public SnippetMode(MulticaretTextBox textBox, Controller controller, Snippet snippet, int position,
                       Setter onClose)
    {
        this.textBox    = textBox;
        this.snippet    = snippet;
        this.controller = controller;
        this.position   = position;
        this.onClose    = onClose;

        keyMap = new KeyMap();
        {
            KeyAction action = new KeyAction("&Edit\\Snippets\\Exit", DoExit, null, false);
            keyMap.AddItem(new KeyItem(Keys.Up, null, action));
            keyMap.AddItem(new KeyItem(Keys.Down, null, action));
            keyMap.AddItem(new KeyItem(Keys.PageUp, null, action));
            keyMap.AddItem(new KeyItem(Keys.PageDown, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.Home, null, action));
            keyMap.AddItem(new KeyItem(Keys.Control | Keys.End, null, action));
        }
        {
            KeyAction action = new KeyAction("&Edit\\Snippets\\Exit", DoExitWithConsume, null, false);
            keyMap.AddItem(new KeyItem(Keys.Escape, null, action));
        }
    }
Ejemplo n.º 19
0
 public MenuItemIncrementalSearch(TempSettings tempSettings, MulticaretTextBox textBox)
     : base(tempSettings, "Search in menu", "Menu item incremental search", null)
 {
     this.textBox = textBox;
 }
Ejemplo n.º 20
0
 public void ApplySimpleParameters(MulticaretTextBox textBox, Buffer buffer)
 {
     ApplySimpleParameters(textBox, buffer, true);
 }
Ejemplo n.º 21
0
    override protected void DoCreate()
    {
        {
            KeyMap frameKeyMap = new KeyMap();
            frameKeyMap.AddItem(new KeyItem(Keys.Escape, null,
                                            new KeyAction("F&ind\\Cancel find", DoCancel, null, false)));
            frameKeyMap.AddItem(new KeyItem(Keys.Enter, null,
                                            new KeyAction("F&ind\\Find text", DoFindText, null, false)));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.E, null,
                                            new KeyAction("F&ind\\Switch to input field", DoSwitchToInputField, null, false)));
            if (data.filterHistory != null)
            {
                KeyAction prevAction = new KeyAction("F&ind\\Previous filter", DoFilterPrevPattern, null, false);
                KeyAction nextAction = new KeyAction("F&ind\\Next filter", DoFilterNextPattern, null, false);
                frameKeyMap.AddItem(new KeyItem(Keys.Up, null, prevAction));
                frameKeyMap.AddItem(new KeyItem(Keys.Down, null, nextAction));
                frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.P, null, prevAction));
                frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.N, null, nextAction));
            }
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null,
                                            new KeyAction("F&ind\\Vi normal mode", DoNormalMode, null, true)));

            filterTextBox            = new MulticaretTextBox(true);
            filterTextBox.FontFamily = FontFamily.GenericMonospace;
            filterTextBox.SetFontSize(10.25f, 0);
            filterTextBox.ShowLineNumbers      = false;
            filterTextBox.HighlightCurrentLine = false;
            filterTextBox.KeyMap.AddAfter(KeyMap);
            filterTextBox.KeyMap.AddAfter(frameKeyMap, 1);
            filterTextBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
            filterTextBox.FocusedChange += OnTextBoxFocusedChange;
            filterTextBox.Visible        = false;
            filterTextBox.Text           = data.currentFilter.value;
            filterTextBox.TextChange    += OnFilterTextChange;
            Controls.Add(filterTextBox);
        }

        tabBar             = new TabBar <string>(new SwitchList <string>(), TabBar <string> .DefaultStringOf);
        tabBar.CloseClick += OnCloseClick;
        Controls.Add(tabBar);

        {
            KeyMap frameKeyMap = new KeyMap();
            frameKeyMap.AddItem(new KeyItem(Keys.Escape, null,
                                            new KeyAction("F&ind\\Cancel find", DoCancel, null, false)));
            frameKeyMap.AddItem(new KeyItem(Keys.Enter, null,
                                            new KeyAction("F&ind\\Find text", DoFindText, null, false)));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.E, null,
                                            new KeyAction("F&ind\\Temp filter", DoSwitchToTempFilter, null, false)));
            frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null,
                                            new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false)));
            if (data.history != null)
            {
                KeyAction prevAction = new KeyAction("F&ind\\Previous pattern", DoPrevPattern, null, false);
                KeyAction nextAction = new KeyAction("F&ind\\Next pattern", DoNextPattern, null, false);
                frameKeyMap.AddItem(new KeyItem(Keys.Up, null, prevAction));
                frameKeyMap.AddItem(new KeyItem(Keys.Down, null, nextAction));
                frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.P, null, prevAction));
                frameKeyMap.AddItem(new KeyItem(Keys.Control | Keys.N, null, nextAction));
            }

            textBox = new MulticaretTextBox(true);
            textBox.KeyMap.AddAfter(KeyMap);
            textBox.KeyMap.AddAfter(frameKeyMap, 1);
            textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
            textBox.FocusedChange += OnFiltersTextBoxFocusedChange;
            Controls.Add(textBox);
        }

        tabBar.RightHint = "Ctrl+E(enter/exit custom filter)" +
                           (findParams != null ? "/" + findParams.GetIndicationHint() : "");
        tabBar.MouseDown += OnTabBarMouseDown;
        InitResizing(tabBar, null);
        Height = MinSize.Height;
        UpdateFindParams();
    }
Ejemplo n.º 22
0
 public void ApplyOnlyFileParameters(MulticaretTextBox textBox, Buffer buffer)
 {
     textBox.SpacesInsteadTabs = spacesInsteadTabs.GetValue(buffer);
 }
Ejemplo n.º 23
0
    public static void AutocompletePath(MulticaretTextBox textBox, string path, Getter <string> getFile)
    {
        if (path == null)
        {
            return;
        }
        path = path.Replace("/", "\\").Replace("\\\\", "\\");
        string dir   = ".";
        string name  = path;
        int    index = path.LastIndexOf("\\");

        if (index != -1)
        {
            dir  = path.Substring(0, index + 1);
            name = path.Substring(index + 1);
        }
        if (getFile != null)
        {
            if (dir.Contains(RunShellCommand.FileDirVar))
            {
                string file = getFile();
                if (file != null)
                {
                    dir = dir.Replace(RunShellCommand.FileDirVar, Path.GetDirectoryName(file));
                }
            }
            if (dir.Contains(RunShellCommand.AppDataDirVar))
            {
                dir = dir.Replace(RunShellCommand.AppDataDirVar, AppPath.AppDataDir);
            }
        }
        string[] dirs  = null;
        string[] files = null;
        try
        {
            dirs = Directory.GetDirectories(dir, "*", SearchOption.TopDirectoryOnly);
        }
        catch
        {
        }
        try
        {
            files = Directory.GetFiles(dir, "*", SearchOption.TopDirectoryOnly);
        }
        catch
        {
        }
        if ((files == null || files.Length == 0) && (dirs == null || dirs.Length == 0))
        {
            return;
        }
        AutocompleteMode autocomplete = new AutocompleteMode(textBox, AutocompleteMode.Mode.Raw);
        List <Variant>   variants     = new List <Variant>();

        if (dirs != null)
        {
            foreach (string file in dirs)
            {
                string  fileName = Path.GetFileName(file);
                Variant variant  = new Variant();
                variant.CompletionText = fileName + "\\";
                variant.DisplayText    = fileName + "\\";
                variants.Add(variant);
            }
        }
        if (files != null)
        {
            foreach (string file in files)
            {
                string  fileName = Path.GetFileName(file);
                Variant variant  = new Variant();
                variant.CompletionText = fileName;
                variant.DisplayText    = fileName;
                variants.Add(variant);
            }
        }
        autocomplete.Show(variants, name);
    }
Ejemplo n.º 24
0
    override protected void DoCreate()
    {
        SwitchList <NamedAction> list = new SwitchList <NamedAction>();

        KeyMapBuilder frameKeyMap = new KeyMapBuilder(new KeyMap(), list);

        frameKeyMap.Add(Keys.Escape, null, new KeyAction("F&ind\\Cancel find", DoCancel, null, false));
        frameKeyMap.Add(Keys.Tab, null, new KeyAction("F&ind\\Next field", DoNextField, null, false));
        frameKeyMap.Add(Keys.Control | Keys.Tab, null, new KeyAction("F&ind\\Prev field", DoPrevField, null, false));
        frameKeyMap.AddInList(Keys.Enter, null, new KeyAction("F&ind\\Find next", DoFind, null, false));
        frameKeyMap.AddInList(Keys.Control | Keys.Shift | Keys.H, null, new KeyAction("F&ind\\Replace", DoReplace, null, false));
        frameKeyMap.AddInList(Keys.Control | Keys.Alt | Keys.Enter, null, new KeyAction("F&ind\\Replace all", DoReplaceAll, null, false));
        {
            KeyAction prevAction = new KeyAction("F&ind\\Previous pattern", DoPrevPattern, null, false);
            KeyAction nextAction = new KeyAction("F&ind\\Next pattern", DoNextPattern, null, false);
            frameKeyMap.Add(Keys.Up, null, prevAction);
            frameKeyMap.Add(Keys.Down, null, nextAction);
            frameKeyMap.Add(Keys.Control | Keys.P, null, prevAction);
            frameKeyMap.Add(Keys.Control | Keys.N, null, nextAction);
        }
        frameKeyMap.Add(Keys.Control | Keys.F, null,
                        new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false));

        KeyMapBuilder beforeKeyMap = new KeyMapBuilder(new KeyMap(), list);

        beforeKeyMap.AddInList(Keys.Control | Keys.Shift | Keys.D, null,
                               new KeyAction("F&ind\\Select all found", DoSelectAllFound, null, false));
        beforeKeyMap.AddInList(Keys.Control | Keys.D, null,
                               new KeyAction("F&ind\\Select next found", DoSelectNextFound, null, false));
        beforeKeyMap.Add(Keys.Control | Keys.K, null,
                         new KeyAction("F&ind\\Unselect prev text", DoUnselectPrevText, null, false));

        tabBar             = new TabBar <NamedAction>(list, TabBar <NamedAction> .DefaultStringOf, NamedAction.HintOf);
        tabBar.Text        = Name;
        tabBar.ButtonMode  = true;
        tabBar.RightHint   = findParams.GetIndicationWithEscapeHint();
        tabBar.TabClick   += OnTabClick;
        tabBar.CloseClick += OnCloseClick;
        Controls.Add(tabBar);

        textBox = new MulticaretTextBox(true);
        textBox.ShowLineNumbers      = false;
        textBox.HighlightCurrentLine = false;
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddBefore(beforeKeyMap.map);
        textBox.KeyMap.AddAfter(frameKeyMap.map, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        Controls.Add(textBox);

        replaceTextBox = new MulticaretTextBox(true);
        replaceTextBox.ShowLineNumbers      = false;
        replaceTextBox.HighlightCurrentLine = false;
        replaceTextBox.KeyMap.AddAfter(KeyMap);
        replaceTextBox.KeyMap.AddBefore(beforeKeyMap.map);
        replaceTextBox.KeyMap.AddAfter(frameKeyMap.map, 1);
        replaceTextBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        replaceTextBox.FocusedChange += OnTextBoxFocusedChange;
        Controls.Add(replaceTextBox);

        textLabel      = new MonospaceLabel();
        textLabel.Text = "Text";
        Controls.Add(textLabel);

        replaceTextLabel      = new MonospaceLabel();
        replaceTextLabel.Text = "Replace";
        Controls.Add(replaceTextLabel);

        tabBar.MouseDown += OnTabBarMouseDown;
        InitResizing(tabBar, null);
        Height = MinSize.Height;
        UpdateFindParams();
    }
Ejemplo n.º 25
0
    override protected void DoCreate()
    {
        list               = new SwitchList <string>();
        tabBar             = new TabBar <string>(list, TabBar <string> .DefaultStringOf);
        tabBar.Text        = name;
        tabBar.CloseClick += OnCloseClick;
        Controls.Add(tabBar);

        KeyMap textKeyMap     = new KeyMap();
        KeyMap variantsKeyMap = new KeyMap();
        KeyMap beforeKeyMap   = new KeyMap();

        {
            KeyAction action = new KeyAction("F&ind\\" + submenu + "\\Close", DoClose, null, false);
            textKeyMap.AddItem(new KeyItem(Keys.Escape, null, action));
            variantsKeyMap.AddItem(new KeyItem(Keys.Escape, null, action));
        }
        {
            KeyAction actionUp   = new KeyAction("F&ind\\" + submenu + "\\Select up", DoUp, null, false);
            KeyAction actionDown = new KeyAction("F&ind\\" + submenu + "\\Select down", DoDown, null, false);
            textKeyMap.AddItem(new KeyItem(Keys.Up, null, actionUp));
            textKeyMap.AddItem(new KeyItem(Keys.Down, null, actionDown));
            textKeyMap.AddItem(new KeyItem(Keys.Control | Keys.K, null, actionUp));
            textKeyMap.AddItem(new KeyItem(Keys.Control | Keys.J, null, actionDown));
            textKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null,
                                           new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false)));
            if (findInFilesData != null)
            {
                textKeyMap.AddItem(new KeyItem(Keys.Control | Keys.E, null,
                                               new KeyAction("F&ind\\Temp filter", DoSwitchToTempFilter, null, false)));
            }
        }
        {
            beforeKeyMap.AddItem(new KeyItem(Keys.Control | Keys.Home, null,
                                             new KeyAction("F&ind\\" + submenu + "\\Select document start", DoDocumentStart, null, false)));
            beforeKeyMap.AddItem(new KeyItem(Keys.Control | Keys.End, null,
                                             new KeyAction("F&ind\\" + submenu + "\\Select document end", DoDocumentEnd, null, false)));
            beforeKeyMap.AddItem(new KeyItem(Keys.PageUp, null,
                                             new KeyAction("F&ind\\" + submenu + "\\Select page up", DoPageUp, null, false)));
            beforeKeyMap.AddItem(new KeyItem(Keys.PageDown, null,
                                             new KeyAction("F&ind\\" + submenu + "\\Select page down", DoPageDown, null, false)));
        }
        {
            KeyAction action = new KeyAction("F&ind\\" + submenu + "\\Next field", DoNextField, null, false);
            textKeyMap.AddItem(new KeyItem(Keys.Tab, null, action));
            variantsKeyMap.AddItem(new KeyItem(Keys.Tab, null, action));
        }
        {
            KeyAction action = new KeyAction("F&ind\\" + submenu + "\\Open", DoExecute, null, false);
            textKeyMap.AddItem(new KeyItem(Keys.Enter, null, action));
            textKeyMap.AddItem(new KeyItem(Keys.None, null, action).SetDoubleClick(true));
            variantsKeyMap.AddItem(new KeyItem(Keys.Enter, null, action));
            variantsKeyMap.AddItem(new KeyItem(Keys.None, null, action).SetDoubleClick(true));
        }

        variantsTextBox = new MulticaretTextBox();
        variantsTextBox.KeyMap.AddAfter(KeyMap);
        variantsTextBox.KeyMap.AddAfter(variantsKeyMap, 1);
        variantsTextBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        variantsTextBox.FocusedChange        += OnTextBoxFocusedChange;
        variantsTextBox.Controller.isReadonly = true;
        variantsTextBox.AfterClick           += OnVariantsTextBoxClick;
        variantsTextBox.AfterKeyPress        += OnVariantsTextBoxClick;
        Controls.Add(variantsTextBox);

        textBox = new MulticaretTextBox(true);
        textBox.KeyMap.AddBefore(beforeKeyMap);
        textBox.KeyMap.AddAfter(KeyMap);
        textBox.KeyMap.AddAfter(textKeyMap, 1);
        textBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
        textBox.FocusedChange += OnTextBoxFocusedChange;
        textBox.TextChange    += OnTextBoxTextChange;
        Controls.Add(textBox);

        SetTextBoxParameters();

        tabBar.RightHint = tempSettings.FindParams != null?
                           tempSettings.FindParams.GetIgnoreCaseIndicationHint() : "";

        tabBar.MouseDown += OnTabBarMouseDown;

        if (findInFilesData != null)
        {
            KeyMap filterKeyMap = new KeyMap();
            {
                KeyAction action = new KeyAction("F&ind\\Switch to input field", DoSwitchToInputField, null, false);
                filterKeyMap.AddItem(new KeyItem(Keys.Control | Keys.E, null, action));
                filterKeyMap.AddItem(new KeyItem(Keys.Enter, null, action));
            }
            filterKeyMap.AddItem(new KeyItem(Keys.Control | Keys.F, null,
                                             new KeyAction("&View\\Vi normal mode", DoNormalMode, null, false)));
            if (findInFilesData.filterHistory != null)
            {
                KeyAction prevAction = new KeyAction("F&ind\\Previous filter", DoFilterPrevPattern, null, false);
                KeyAction nextAction = new KeyAction("F&ind\\Next filter", DoFilterNextPattern, null, false);
                filterKeyMap.AddItem(new KeyItem(Keys.Up, null, prevAction));
                filterKeyMap.AddItem(new KeyItem(Keys.Down, null, nextAction));
                filterKeyMap.AddItem(new KeyItem(Keys.Control | Keys.P, null, prevAction));
                filterKeyMap.AddItem(new KeyItem(Keys.Control | Keys.N, null, nextAction));
            }
            filterTextBox            = new MulticaretTextBox(true);
            filterTextBox.FontFamily = FontFamily.GenericMonospace;
            filterTextBox.SetFontSize(10.25f, 0);
            filterTextBox.ShowLineNumbers      = false;
            filterTextBox.HighlightCurrentLine = false;
            filterTextBox.KeyMap.AddAfter(KeyMap);
            filterTextBox.KeyMap.AddAfter(filterKeyMap, 1);
            filterTextBox.KeyMap.AddAfter(DoNothingKeyMap, -1);
            filterTextBox.FocusedChange += OnTextBoxFocusedChange;
            filterTextBox.Visible        = false;
            filterTextBox.Text           = findInFilesData.currentFilter.value;
            filterTextBox.TextChange    += OnFilterTextChange;
            tabBar.Controls.Add(filterTextBox);
        }

        InitResizing(tabBar, null);
        Height = MinSize.Height;

        Name = GetSubname();
        if (findInFilesData != null)
        {
            lastFilter = GetFilterText();
        }
        if (!Prebuild())
        {
            preventOpen = true;
            return;
        }
        UpdateVariantsText();
        UpdateFindParams();
    }