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); }
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; }
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; }
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(); }
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(); }
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); }
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(); }
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); } }
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); } }
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; }
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(); }
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); }
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))); }
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(); }
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; }
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); }
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)); } }
public MenuItemIncrementalSearch(TempSettings tempSettings, MulticaretTextBox textBox) : base(tempSettings, "Search in menu", "Menu item incremental search", null) { this.textBox = textBox; }
public void ApplySimpleParameters(MulticaretTextBox textBox, Buffer buffer) { ApplySimpleParameters(textBox, buffer, true); }
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(); }
public void ApplyOnlyFileParameters(MulticaretTextBox textBox, Buffer buffer) { textBox.SpacesInsteadTabs = spacesInsteadTabs.GetValue(buffer); }
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); }
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(); }
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(); }