示例#1
0
void FindToolBar::invokeReplaceAll()
{
    m_plugin->updateFindCompletion(getFindText());
    m_plugin->updateReplaceCompletion(getReplaceText());
    if (m_currentDocumentFind->isEnabled() && m_currentDocumentFind->supportsReplace())
        m_currentDocumentFind->replaceAll(getFindText(), getReplaceText(), effectiveFindFlags());
}
示例#2
0
void FindToolBar::invokeReplaceStep()
{
    if (m_currentDocumentFind->isEnabled() && m_currentDocumentFind->supportsReplace()) {
        Find::updateFindCompletion(getFindText());
        Find::updateReplaceCompletion(getReplaceText());
        m_currentDocumentFind->replaceStep(getFindText(), getReplaceText(), effectiveFindFlags());
    }
}
示例#3
0
void FindToolBar::invokeReplace()
{
    setFindFlag(FindBackward, false);
    if (m_currentDocumentFind->isEnabled() && m_currentDocumentFind->supportsReplace()) {
        const FindFlags ef = effectiveFindFlags();
        Find::updateFindCompletion(getFindText(), ef);
        Find::updateReplaceCompletion(getReplaceText());
        m_currentDocumentFind->replace(getFindText(), getReplaceText(), ef);
    }
}
示例#4
0
/* FindReplacePanel::onKeyDown
 * Called when a key is pressed while the panel has focus
 *******************************************************************/
void FindReplacePanel::onKeyDown(wxKeyEvent& e)
{
	// Check if keypress matches any keybinds
	wxArrayString binds = KeyBind::getBinds(KeyBind::asKeyPress(e.GetKeyCode(), e.GetModifiers()));

	// Go through matching binds
	bool handled = false;
	for (unsigned a = 0; a < binds.size(); a++)
	{
		string name = binds[a];

		// Find next
		if (name == "ted_findnext")
		{
			text_editor->findNext(getFindText(), getFindFlags());
			handled = true;
		}

		// Find previous
		else if (name == "ted_findprev")
		{
			text_editor->findPrev(getFindText(), getFindFlags());
			handled = true;
		}

		// Replace next
		else if (name == "ted_replacenext")
		{
			text_editor->replaceCurrent(getFindText(), getReplaceText(), getFindFlags());
			handled = true;
		}

		// Replace all
		else if (name == "ted_replaceall")
		{
			text_editor->replaceAll(getFindText(), getReplaceText(), getFindFlags());
			handled = true;
		}
	}

	if (!handled)
	{
		// Esc = close panel
		if (e.GetKeyCode() == WXK_ESCAPE)
			text_editor->showFindReplacePanel(false);
		else
			e.Skip();
	}
}
示例#5
0
/* FindReplacePanel::onTextReplaceEnter
 * Called when the enter key is pressed within the 'Find' text box
 *******************************************************************/
void FindReplacePanel::onTextReplaceEnter(wxCommandEvent& e)
{
	text_editor->replaceCurrent(getFindText(), getReplaceText(), getFindFlags());
}
示例#6
0
/* FindReplacePanel::onBtnReplaceAll
 * Called when the 'Replace All' button is clicked
 *******************************************************************/
void FindReplacePanel::onBtnReplaceAll(wxCommandEvent& e)
{
	text_editor->replaceAll(getFindText(), getReplaceText(), getFindFlags());
}