public void TextFilter_NotChecked_AllResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle); var filter = TextFilter.Create(selector); //when var results = filter.Execute(_positions); //then Assert.Equal(_positions, results); }
/// <summary> /// Retrieves and resets the dirty range associated with the current registration. /// </summary> /// <remarks> /// Version Information: This method is not support in NetRix Standard. /// </remarks> /// <returns>Returns an object which allows flexible access to the range.</returns> public ITextSelector GetDirtyRange() { TextSelector ts = new TextSelector(editor); Interop.IMarkupServices ims = (Interop.IMarkupServices)editor.GetActiveDocument(false); Interop.IMarkupPointer pStart; Interop.IMarkupPointer pEnd; ims.CreateMarkupPointer(out pStart); ims.CreateMarkupPointer(out pEnd); mc2.GetAndClearDirtyRange(cookie, pStart, pEnd); ts.MovePointers(pStart, pEnd); return(ts); }
public void TextFilter_CheckedValueSetCaseSensitive_MatchingResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle) { IsChecked = true, Value = "Title", IsCaseSensitive = true }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_positions); //then Assert.Equal(_positions.Where(x => x.Title.Contains("Title")), results); }
public void TextFilter_CheckedValueSet_MatchingResults() { //given var selector = new TextSelector(TextSelectorType.Title) { IsChecked = true, Value = "Th" }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_transactions); //then Assert.Equal(_transactions.Where(x => x.Title.Contains("th")), results); }
public void TextFilter_Checked_AllResults() { //given var selector = new TextSelector(TextSelectorType.Title) { IsChecked = true }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_transactions); //then Assert.Equal(_transactions, results); }
public void TextFilter_CheckedValueSetInverse_NotMatchingResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle) { IsChecked = true, Value = "Th", DisplayOnlyNotMatching = true }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_positions); //then Assert.Equal(_positions.Where(x => !x.Title.Contains("th")), results); }
public void TextFilter_CheckedValueSetCaseSensitive_NoResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle) { IsChecked = true, Value = "Th", IsCaseSensitive = true }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_positions); //then Assert.Empty(results); }
public void TextFilter_CheckedValueSetAnyOfWords_MatchingResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle) { IsChecked = true, Value = "nd rd", AnyOfWords = true }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_positions); //then Assert.Equal(_positions.Where(x => x.Title.Contains("nd") || x.Title.Contains("rd")), results); }
public void TextFilter_CheckedValueSetWildcardQuestionInverse_NotMatchingResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle) { IsChecked = true, Value = "?th Title", IsWildCard = true, DisplayOnlyNotMatching = true }; var filter = TextFilter.Create(selector); var regex = new Regex(".{1}th Title"); //when var results = filter.Execute(_positions); //then Assert.Equal(4, results.Count()); Assert.Equal(_positions.Where(x => !regex.IsMatch(x.Title)), results); }
public void TextFilter_CheckedValueSetWildcardStar_MatchingResults() { //given var selector = new TextSelector(TextSelectorType.PositionTitle) { IsChecked = true, Value = "*th*", IsWildCard = true }; var filter = TextFilter.Create(selector); var regex = new Regex(".*th.*"); //when var results = filter.Execute(_positions); //then Assert.Equal(2, results.Count()); Assert.Equal(_positions.Where(x => regex.IsMatch(x.Title)), results); }
public void TextFilter_CheckedValueSetRegexInverse_NotMatchingResults() { //given var selector = new TextSelector(TextSelectorType.Title) { IsChecked = true, Value = ".*[2-4].*", IsRegex = true, DisplayOnlyNotMatching = true }; var filter = TextFilter.Create(selector); var regex = new Regex(".*[2-4].*"); //when var results = filter.Execute(_transactions); //then Assert.Equal(2, results.Count()); Assert.Equal(_transactions.Where(x => !regex.IsMatch(x.Title)), results); }
public void TextFilter_CheckedValueSetWildcardQuestion_MatchingResults() { //given var selector = new TextSelector(TextSelectorType.Title) { IsChecked = true, Value = "?th Title", IsWildCard = true }; var filter = TextFilter.Create(selector); var regex = new Regex(".{1}th Title"); //when var results = filter.Execute(_transactions); //then Assert.Single(results); Assert.Equal(_transactions.Where(x => regex.IsMatch(x.Title)), results); }
protected override void SetLabels() { float x = 60 + (_isInMainMenu ? 0 : 9); float y = 28 - GameConstants.LineOffset - (GlobalState.CurrentLanguage == Language.ZH_CN ? 1 : 0); float yStep = GameConstants.FONT_LINE_HEIGHT - GameConstants.LineOffset; Color color = _isInMainMenu ? new Color(116, 140, 144) : Color.White; var keybindsLabel = new UILabel(new Vector2(x, y), true, DialogueManager.GetDialogue("misc", "any", "config", 1), color); var bgmLabel = new UILabel(new Vector2(x, keybindsLabel.Position.Y + yStep * 2), true, "BGM", color, forceEnglish: true); var sfxLabel = new UILabel(new Vector2(x, bgmLabel.Position.Y + 12), true, "SFX", color, forceEnglish: true); //TODO: localize var gameplayLabel = new UILabel(new Vector2(x, sfxLabel.Position.Y + yStep * 2), true, "Gameplay", color, forceEnglish: true); var graphicsLabel = new UILabel(new Vector2(x, gameplayLabel.Position.Y + yStep * 2), true, "Graphics", color, forceEnglish: true); var languageLabel = new UILabel(new Vector2(x, graphicsLabel.Position.Y + yStep * 2), true, DialogueManager.GetDialogue("misc", "any", "config", 17), color); var musicSlider = new AudioSlider(new Vector2(bgmLabel.Position.X + bgmLabel.Writer.WriteArea.Width - 5, bgmLabel.Position.Y), GlobalState.settings.music_volume_scale, 0f, 1f, 0.1f, _isInMainMenu ? MenuStyle.MainMenu : MenuStyle.PauseMenu) { ValueChangedEvent = (value, index) => { float vol = SoundManager.GetVolume(); GlobalState.settings.music_volume_scale = value; SoundManager.SetSongVolume(vol); } }; var sfxSlider = new AudioSlider(new Vector2(sfxLabel.Position.X + sfxLabel.Writer.WriteArea.Width - 5, sfxLabel.Position.Y), GlobalState.settings.sfx_volume_scale, 0f, 1f, 0.1f, _isInMainMenu ? MenuStyle.MainMenu : MenuStyle.PauseMenu) { ValueChangedEvent = (value, index) => { GlobalState.settings.sfx_volume_scale = value; } }; var languageSetter = new TextSelector(new Vector2(x + languageLabel.Writer.WriteArea.Width - 8, languageLabel.Position.Y + GameConstants.LineOffset), GlobalState.CurrentLanguage == Language.ZH_CN ? 40 : 30, (int)GlobalState.CurrentLanguage, true, Enum.GetNames(GlobalState.CurrentLanguage.GetType()).Select(s => s.ToLower().Replace('_', '-')).ToArray()) { ValueChangedEvent = LanguageValueChanged }; options = new() { (keybindsLabel, new SubstateOption <ControlsSubstate>()), (bgmLabel, musicSlider), (sfxLabel, sfxSlider), (gameplayLabel, new SubstateOption <GameplayMenu>()), (graphicsLabel, new SubstateOption <GraphicsMenu>()), (languageLabel, languageSetter) }; }
public CardSubstate() { cards = new UIEntity[12]; page = 0; selectedID = 0; cardsLabel = new UILabel(new Vector2(70, 146 - GameConstants.LineOffset - (GlobalState.CurrentLanguage == Language.ZH_CN ? 1 : 0)), true, $"{GlobalState.inventory.CardCount} {DialogueManager.GetDialogue("misc", "any", "cards", 1)}"); _pageSetter = new TextSelector(new Vector2(91, 156), 32, 0, true, "1/4", "2/4", "3/4", "4/4") { ValueChangedEvent = PageValueChanged, noConfirm = true, noLoop = true }; SetCardPage(); }
private PostHasteCommand(Package package, TextSelector textSelector) { if (package == null) throw new ArgumentNullException(nameof(package)); this.url = Properties.Settings.Default.HasteBinUrl; this.package = package; this.textSelector = textSelector; OleMenuCommandService commandService = ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService; if (commandService != null) { var menuCommandId = new CommandID(CommandSet, CommandId); var menuItem = new MenuCommand(MenuItemCallback, menuCommandId); commandService.AddCommand(menuItem); } statusBar = ServiceProvider.GetService(typeof(SVsStatusbar)) as IVsStatusbar; }
public void TextFilter_CheckedValueSetAnyOfWordsInvert_MatchingResults() { //given var selector = new TextSelector(TextSelectorType.Title) { IsChecked = true, Value = "nd rd", AnyOfWords = true, DisplayOnlyNotMatching = true }; var filter = TextFilter.Create(selector); //when var results = filter.Execute(_transactions); //then Assert.Equal(_transactions.Where(x => !x.Title.Contains("nd") && !x.Title.Contains("rd")), results); }
public void TextSetter_EnabledSetterReplaceMatch_OnlyMatchReplaced() { //given MapperConfiguration.Configure(); string targetText = "title"; var textSelector = new TextSelector(TextSelectorType.Title) { IsChecked = true, Value = "it" }; var textSetter = new TextSetter(TextSetterType.Title) { IsChecked = true, Value = targetText, ReplaceMatch = true }; var command = TextSetterCommand.Create(textSetter, textSelector); var expected = new[] { "Ttitlele 1", "Ttitlele 2", "Ttitlele 3" }; //when var result = command.Execute(_transactions); //then Assert.Equal(expected, result.Select(x => x.Title)); }
private PostHasteCommand(Package package, TextSelector textSelector) { if (package == null) { throw new ArgumentNullException(nameof(package)); } this.url = Properties.Settings.Default.HasteBinUrl; this.package = package; this.textSelector = textSelector; OleMenuCommandService commandService = ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService; if (commandService != null) { var menuCommandId = new CommandID(CommandSet, CommandId); var menuItem = new MenuCommand(MenuItemCallback, menuCommandId); commandService.AddCommand(menuItem); } statusBar = ServiceProvider.GetService(typeof(SVsStatusbar)) as IVsStatusbar; }
public void TextSetter_EnabledSetterReplaceRegexMatch_OnlyMatchReplaced() { //given MapperConfiguration.Configure(); string targetText = "X"; var textSelector = new TextSelector(TextSelectorType.Note) { IsChecked = true, Value = @"\d", IsRegex = true }; var textSetter = new TextSetter(TextSetterType.Note) { IsChecked = true, Value = targetText, ReplaceMatch = true }; var command = TextSetterCommand.Create(textSetter, textSelector); var expected = new[] { "Note X", "Note X", "Note X" }; //when var result = command.Execute(_transactions); //then Assert.Equal(expected, result.SelectMany(x => x.Notes.Select(y => y.Value))); }
protected override void SetLabels() { float x = GameConstants.SCREEN_WIDTH_IN_PIXELS / 2 - 136 / 2; float menuX = x + 10; float y = 10; float yStep = GameConstants.FONT_LINE_HEIGHT - GameConstants.LineOffset + 3; _bgBox = new UIEntity(new Vector2(x, y), "pop_menu", 136, 126, Drawing.DrawOrder.TEXTBOX); var resolutionLabel = new UILabel(new Vector2(menuX, y + yStep), true, DialogueManager.GetDialogue("misc", "any", "config", 12), layer: Drawing.DrawOrder.TEXT); var scalingLabel = new UILabel(new Vector2(menuX, resolutionLabel.Position.Y + yStep * 2), true, DialogueManager.GetDialogue("misc", "any", "config", 16), layer: Drawing.DrawOrder.TEXT); var resolutionSelect = new TextSelector(resolutionLabel.Position + new Vector2(10, yStep), 90, (int)GlobalState.settings.resolution, false, Drawing.DrawOrder.TEXT, DialogueManager.GetDialogue("misc", "any", "config", 13), DialogueManager.GetDialogue("misc", "any", "config", 14), DialogueManager.GetDialogue("misc", "any", "config", 15)) { ValueChangedEvent = (s, index) => { GlobalState.ResolutionDirty = GlobalState.settings.resolution != (Resolution)index; GlobalState.settings.resolution = (Resolution)index; } }; var scalingSelect = new TextSelector(scalingLabel.Position + new Vector2(50, 0), 20, GlobalState.settings.scale - 1, true, Drawing.DrawOrder.TEXT, "1x", "2x", "3x", "4x") { ValueChangedEvent = (s, index) => { GlobalState.ResolutionDirty = GlobalState.settings.scale != index + 1; GlobalState.settings.scale = index + 1; }, noLoop = true, noConfirm = true }; _flashLabel = new UILabel(new Vector2(menuX, scalingLabel.Position.Y + (int)(yStep * 1.5f)), true, "Screen flash", layer: Drawing.DrawOrder.TEXT, forceEnglish: true); var brightnessLabel = new UILabel(new Vector2(menuX + 8, _flashLabel.Position.Y + yStep), true, "Max:", layer: Drawing.DrawOrder.TEXT, forceEnglish: true); var brightnessSelect = new AudioSlider(brightnessLabel.Position + Vector2.UnitX * 40, GlobalState.settings.flash_brightness, 0f, 1f, 0.1f, MenuStyle.SubMenu, Drawing.DrawOrder.SUBMENU_SLIDER) { ValueChangedEvent = (value, index) => { GlobalState.settings.flash_brightness = value; } }; var easingLabel = new UILabel(brightnessLabel.Position + Vector2.UnitY * yStep, true, "Easing:", layer: Drawing.DrawOrder.TEXT, forceEnglish: true); var easingSelect = new AudioSlider(easingLabel.Position + Vector2.UnitX * 40, GlobalState.settings.flash_easing, 0f, 0.2f, 0.02f, MenuStyle.SubMenu, Drawing.DrawOrder.SUBMENU_SLIDER) { ValueChangedEvent = (value, index) => { GlobalState.settings.flash_easing = value; } }; var testLabel = new UILabel(easingLabel.Position + Vector2.UnitY * yStep, true, "Test", layer: Drawing.DrawOrder.TEXT, forceEnglish: true); var shakeLabel = new UILabel(new Vector2(menuX, testLabel.Position.Y + (int)(yStep * 1.5f)), true, "Screen shake:", layer: Drawing.DrawOrder.TEXT, forceEnglish: true); var shakeSetting = new CheckBox(new Vector2(x + 120, shakeLabel.Position.Y), GlobalState.settings.screenshake, MenuStyle.SubMenu, Drawing.DrawOrder.SUBMENU_SLIDER) { ValueChangedEvent = (val) => { GlobalState.settings.screenshake = val; } }; options = new() { (resolutionLabel, resolutionSelect), (scalingLabel, scalingSelect), (brightnessLabel, brightnessSelect), (easingLabel, easingSelect), (testLabel, new ActionOption(() => GlobalState.flash.Flash(1.0f, Color.White))), (shakeLabel, shakeSetting) }; } }
/// <summary> /// Initializes the singleton instance of the command. /// </summary> public static void Initialize(Package package, TextSelector textSelector) { Instance = new PostHasteCommand(package, textSelector); }
public static TextSetterCommand Create(TextSetter setter, TextSelector selector = null) => new TextSetterCommand(setter, selector);
private TextSetterCommand(TextSetter textSetter, TextSelector selector) { _textSetter = textSetter; _selector = selector; }
public static TextFilter Create(TextSelector textSelector) => new TextFilter(textSelector);
private TextFilter(TextSelector textSelector) { _textSelector = textSelector; _textSelector.PropertyChanged += TextSelectorOnPropertyChanged; }
private void SetLabels() { float x = 69; float y = 28 - GameConstants.LineOffset - (GlobalState.CurrentLanguage == Language.ZH_CN ? 1 : 0); float yStep = GameConstants.FONT_LINE_HEIGHT - GameConstants.LineOffset; _keybindsLabel = new UILabel(new Vector2(x, y), true); _bgmLabel = new UILabel(new Vector2(x, _keybindsLabel.Position.Y + yStep * 2), true); _sfxLabel = new UILabel(new Vector2(x, _bgmLabel.Position.Y + 12), true); _autosaveLabel = new UILabel(new Vector2(x, _sfxLabel.Position.Y + yStep * 2), true); _resolutionLabel = new UILabel(new Vector2(x, _autosaveLabel.Position.Y + yStep * 4), true); _scalingLabel = new UILabel(new Vector2(x, _resolutionLabel.Position.Y + yStep * 3), true); _languageLabel = new UILabel(new Vector2(x, _scalingLabel.Position.Y + yStep * 2), true); _keybindsLabel.Initialize(); _bgmLabel.Initialize(true); _sfxLabel.Initialize(true); _autosaveLabel.Initialize(); _resolutionLabel.Initialize(); _scalingLabel.Initialize(); _languageLabel.Initialize(); _keybindsLabel.SetText(DialogueManager.GetDialogue("misc", "any", "config", 1)); _bgmLabel.SetText("BGM"); _sfxLabel.SetText("SFX"); _autosaveLabel.SetText(DialogueManager.GetDialogue("misc", "any", "config", 3)); _resolutionLabel.SetText(DialogueManager.GetDialogue("misc", "any", "config", 6)); _scalingLabel.SetText(DialogueManager.GetDialogue("misc", "any", "config", 16)); _languageLabel.SetText(DialogueManager.GetDialogue("misc", "any", "config", 17)); _musicSlider = new AudioSlider(new Vector2(_bgmLabel.Position.X + _bgmLabel.Writer.WriteArea.Width - 5, _bgmLabel.Position.Y), GlobalState.music_volume_scale, 0f, 1f, 0.1f) { ValueChangedEvent = BgmValueChanged }; _sfxSlider = new AudioSlider(new Vector2(_sfxLabel.Position.X + _sfxLabel.Writer.WriteArea.Width - 5, _sfxLabel.Position.Y), GlobalState.sfx_volume_scale, 0f, 1f, 0.1f) { ValueChangedEvent = SfxValueChanged }; Vector2 autosavePos = Vector2.Zero; if (GlobalState.CurrentLanguage == Language.ZH_CN) { autosavePos = new Vector2(x + 44, _autosaveLabel.Position.Y + GameConstants.FONT_LINE_HEIGHT + 5); } else { autosavePos = new Vector2(x + 16, _autosaveLabel.Position.Y + GameConstants.FONT_LINE_HEIGHT * 2.5f); } _autosaveSetter = new TextSelector(autosavePos, 40, GlobalState.autosave_on ? 1 : 0, DialogueManager.GetDialogue("misc", "any", "config", 4), DialogueManager.GetDialogue("misc", "any", "config", 5)) { ValueChangedEvent = AutoSaveValueChanged }; _languageSetter = new TextSelector(new Vector2(x + _languageLabel.Writer.WriteArea.Width - 8, _languageLabel.Position.Y + GameConstants.LineOffset), GlobalState.CurrentLanguage == Language.ZH_CN ? 40 : 30, (int)GlobalState.CurrentLanguage, Enum.GetNames(GlobalState.CurrentLanguage.GetType()).Select(s => s.ToLower().Replace('_', '-')).ToArray()) { ValueChangedEvent = LanguageValueChanged }; _state = _lastState; }