First shot at search
This commit is contained in:
parent
289d52489b
commit
bc0f97dd0b
@ -475,7 +475,6 @@ void MainFrame::OnFindDialog(wxFindDialogEvent &event)
|
||||
|
||||
// Position after search
|
||||
int new_pos = 0;
|
||||
int new_line = 1;
|
||||
|
||||
// Send find flags to editor control
|
||||
editor->SetSearchFlags(stc_flags);
|
||||
@ -484,27 +483,44 @@ void MainFrame::OnFindDialog(wxFindDialogEvent &event)
|
||||
{
|
||||
wxLogDebug("wxEVT_FIND");
|
||||
|
||||
editor->SetAnchor(0);
|
||||
/*if (editor->GetCurrentPos() < 1)
|
||||
{
|
||||
editor->GotoPos(1);
|
||||
}*/
|
||||
|
||||
editor->SearchAnchor();
|
||||
}
|
||||
|
||||
if (type == wxEVT_FIND_NEXT || type == wxEVT_FIND)
|
||||
{
|
||||
if ((fr_flags & wxFR_DOWN) != 0)
|
||||
if (type == wxEVT_FIND_NEXT)
|
||||
{
|
||||
new_pos = editor->SearchNext(stc_flags, event.GetFindString());
|
||||
}
|
||||
else
|
||||
{
|
||||
new_pos = editor->SearchPrev(stc_flags, event.GetFindString());
|
||||
wxLogDebug("wxEVT_FIND_NEXT");
|
||||
}
|
||||
|
||||
new_pos = ((fr_flags & wxFR_DOWN) != 0)
|
||||
? editor->SearchNext(stc_flags, event.GetFindString())
|
||||
: editor->SearchPrev(stc_flags, event.GetFindString());
|
||||
|
||||
int sel_start = editor->GetSelectionStart();
|
||||
int sel_end = editor->GetSelectionEnd();
|
||||
|
||||
if (new_pos > 0)
|
||||
{
|
||||
new_line = editor->LineFromPosition(new_pos);
|
||||
editor->ScrollToLine(new_line);
|
||||
//editor->SetAnchor(new_pos);
|
||||
if ((fr_flags & wxFR_DOWN) != 0)
|
||||
{
|
||||
editor->GotoPos(sel_end + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
((sel_start - 1) > 0)
|
||||
? editor->GotoPos(sel_start - 1)
|
||||
: editor->GotoPos(sel_start);
|
||||
}
|
||||
|
||||
editor->SearchAnchor();
|
||||
editor->SetSelectionStart(sel_start);
|
||||
editor->SetSelectionEnd(sel_end);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -61,11 +61,11 @@ void TyroMenu::SetupMainMenus()
|
||||
editMenu->Append(wxID_COPY, "&Copy\tCtrl+C", "Copy selected text");
|
||||
editMenu->Append(wxID_PASTE, "&Paste\tCtrl+V", "Paste contents of clipboard");
|
||||
//editMenu->Append(wxID_DELETE, "&Delete\tDel");
|
||||
//editMenu->AppendSeparator();
|
||||
//editMenu->Append(wxID_FIND, "&Find\tCtrl+F");
|
||||
editMenu->AppendSeparator();
|
||||
editMenu->Append(wxID_FIND, "&Find\tCtrl+F");
|
||||
//editMenu->Append(wxID_REPLACE, "&Replace\tCtrl+R");
|
||||
|
||||
//editMenu->AppendSeparator();
|
||||
editMenu->AppendSeparator();
|
||||
editMenu->Append(wxID_SELECTALL, "Select All\tCtrl+A", "Select all the text in the current document");
|
||||
editMenu->AppendSeparator();
|
||||
editMenu->Append(wxID_PREFERENCES, "&Preferences\tCtrl+P");
|
||||
@ -111,6 +111,8 @@ void TyroMenu::EnableEditControls(bool enable)
|
||||
this->editMenu->Enable(wxID_COPY, enable);
|
||||
this->editMenu->Enable(wxID_PASTE, enable);
|
||||
this->editMenu->Enable(wxID_SELECTALL, enable);
|
||||
this->editMenu->Enable(wxID_FIND, enable);
|
||||
//this->editMenu->Enable(wxID_REPLACE, enable);
|
||||
|
||||
// Enable/disable top level menus
|
||||
this->EnableEntireMenu(myVIEW_MENU, this->viewMenu, enable);
|
||||
|
Loading…
Reference in New Issue
Block a user