private void lvwResults_ItemActivate(object sender, EventArgs e) { if (lvwResults.SelectedItems.Count > 0) { ListViewItem selectedItem = lvwResults.SelectedItems[0]; if (selectedItem.SubItems.Count > 1) { //Factory.GUIController.ZoomToFile(selectedItem.SubItems[0].Text, // Convert.ToInt32(selectedItem.SubItems[1].Text)); ScriptTokenReference scriptTokenReference = Results[lvwResults.SelectedIndices[0]]; if (scriptTokenReference.Script == null) { return; } Factory.GUIController.ZoomToFile(scriptTokenReference.Script.FileName, ZoomToFileZoomType.ZoomToCharacterPosition, scriptTokenReference.CharacterIndex); /*if (Scintilla != null) * { * ScriptTokenReference scriptTokenReference = * Results[lvwResults.SelectedIndices[0]]; * Scintilla.SetSelection(scriptTokenReference.CharacterIndex, * scriptTokenReference.Token.Length); * } */ } } }
private static int JumpToFirstScriptIfNeeded(int currentScript, List<IScript> scriptsForFindReplace, ScriptTokenReference scriptTokenReference) { if (scriptTokenReference == null && currentScript == scriptsForFindReplace.Count - 1) { currentScript = 0; } return currentScript; }
private void ZoomToFileIfNeeded(IScript script, ref IScriptEditorControl scriptEditorControl, ScriptTokenReference scriptTokenReference, bool showAll) { if (showAll && !_dialog.IsReplace) return; if (TextToFindIsCurrentlySelected(scriptEditorControl)) { int startPos = scriptEditorControl.CursorPosition - _dialog.TextToFind.Length; Factory.GUIController.ZoomToFile(script.FileName, ZoomToFileZoomType.ZoomToCharacterPosition, startPos, false, false, null, false); scriptEditorControl = Factory.GUIController.GetScriptEditorControl(script.FileName, false); scriptEditorControl.SetSelection(startPos, _dialog.TextToFind.Length); scriptEditorControl.ActivateTextEditor(); _dialog.Activate(); } }
private bool FindReplaceInScript(bool showAll, ref int currentScript, ref bool foundOneReference, bool jumpToStart, List<IScript> scriptsForFindReplace, List<ScriptTokenReference> results) { IScript script = scriptsForFindReplace[currentScript]; IScriptEditorControl scriptEditorControl = Factory.GUIController.GetScriptEditorControl(script.FileName, false); if (scriptEditorControl != null) { if (showAll) { ResetSelection(scriptEditorControl); } else { //scriptEditorControl.ActivateTextEditor(); } ScriptTokenReference scriptTokenReference = FindReplaceNextOccurence(showAll, ref foundOneReference, jumpToStart, results, script, ref scriptEditorControl); if (scriptTokenReference != null && scriptTokenReference.Script == null) { scriptTokenReference.Script = script; } if (foundOneReference && !showAll) { currentScript = JumpToFirstScriptIfNeeded(currentScript, scriptsForFindReplace, scriptTokenReference); return false; } if (!showAll) { ResetSelection(scriptEditorControl); } } return true; }