Пример #1
0
        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);
                     * }     */
                }
            }
        }
Пример #2
0
 private static int JumpToFirstScriptIfNeeded(int currentScript, 
     List<IScript> scriptsForFindReplace, 
     ScriptTokenReference scriptTokenReference)
 {
     if (scriptTokenReference == null &&
         currentScript == scriptsForFindReplace.Count - 1)
     {
         currentScript = 0;
     }
     return currentScript;
 }
Пример #3
0
 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();
     }
 }
Пример #4
0
        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;
        }