本文整理汇总了C++中wxFindDialogEvent::GetExtraLong方法的典型用法代码示例。如果您正苦于以下问题:C++ wxFindDialogEvent::GetExtraLong方法的具体用法?C++ wxFindDialogEvent::GetExtraLong怎么用?C++ wxFindDialogEvent::GetExtraLong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxFindDialogEvent
的用法示例。
在下文中一共展示了wxFindDialogEvent::GetExtraLong方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Send
void wxSTEditorFindReplacePanel::Send(wxFindDialogEvent& event)
{
// we copy the data to dialog->GetData() as well
m_findReplaceData->SetFlags(event.GetFlags());
m_findReplaceData->SetFindString(event.GetFindString());
if (!event.GetFindString().IsEmpty())
m_findReplaceData->AddFindString(event.GetFindString());
if ( HasFlag(wxFR_REPLACEDIALOG) &&
(event.GetEventType() == wxEVT_COMMAND_FIND_REPLACE ||
event.GetEventType() == wxEVT_COMMAND_FIND_REPLACE_ALL) )
{
m_findReplaceData->SetReplaceString(event.GetReplaceString());
m_findReplaceData->AddReplaceString(event.GetReplaceString());
}
// translate wxEVT_COMMAND_FIND_NEXT to wxEVT_COMMAND_FIND if needed
if ( event.GetEventType() == wxEVT_COMMAND_FIND_NEXT )
{
if ( m_findReplaceData->GetFindString() != m_lastSearch )
{
event.SetEventType(wxEVT_COMMAND_FIND);
m_lastSearch = m_findReplaceData->GetFindString();
}
}
// ExtraLong is the line number pressed in the find all editor
// when -1 it means that we want a new find all search
if (m_findReplaceData->HasFlag(STE_FR_FINDALL) && m_resultEditor &&
(event.GetExtraLong() == -1) &&
((event.GetEventType() == wxEVT_COMMAND_FIND) ||
(event.GetEventType() == wxEVT_COMMAND_FIND_NEXT)))
{
m_findReplaceData->GetFindAllStrings()->Clear();
m_resultEditor->SetReadOnly(false);
m_resultEditor->SetText(wxEmptyString);
m_resultEditor->SetReadOnly(true);
}
wxWindow *target = GetTargetWindow();
// first send event to ourselves then to the target
if ( !GetEventHandler()->ProcessEvent(event) && target )
{
// the event is not propagated upwards to the parent automatically
// because the dialog is a top level window, so do it manually as
// in 9 cases of 10 the message must be processed by the dialog
// owner and not the dialog itself
(void)target->GetEventHandler()->ProcessEvent(event);
}
if (m_findReplaceData->HasFlag(STE_FR_FINDALL) && m_resultEditor &&
(event.GetExtraLong() == -1) &&
((event.GetEventType() == wxEVT_COMMAND_FIND) ||
(event.GetEventType() == wxEVT_COMMAND_FIND_NEXT)))
{
wxSTEditor* edit = GetEditor();
if (edit)
{
m_resultEditor->SetLanguage(edit->GetLanguageId());
}
wxArrayString* findAllStrings = m_findReplaceData->GetFindAllStrings();
size_t n, count = findAllStrings->GetCount();
wxString str;
for (n = 0; n < count; n++)
str += findAllStrings->Item(n).AfterFirst(wxT('|'));
m_resultEditor->Clear();
m_resultEditor->ClearAllIndicators();
m_resultEditor->SetReadOnly(false);
m_resultEditor->SetText(str);
m_resultEditor->SetReadOnly(true);
m_resultEditor->Colourise(0, -1);
wxSTEditorStyles::GetGlobalEditorStyles().SetEditorStyle( 3, STE_STYLE_STRING,
m_resultEditor, false);
wxSTEditorStyles::GetGlobalEditorStyles().SetEditorStyle( 4, STE_STYLE_NUMBER,
m_resultEditor, false);
for (n = 0; n < count; n++)
{
str = findAllStrings->Item(n).AfterFirst(wxT('|'));
int pos = m_resultEditor->PositionFromLine(n);
m_resultEditor->StartStyling(pos, 31);
int length = str.BeforeFirst(wxT('(')).Length() - 1;
m_resultEditor->SetStyling(length, 3);
pos = pos + length + 1;
m_resultEditor->StartStyling(pos, 31);
length = str.AfterFirst(wxT('(')).BeforeFirst(wxT(')')).Length() + 2;
m_resultEditor->SetStyling(length, 4);
}
m_resultEditor->IndicateAllStrings(m_findReplaceData->GetFindString(),
m_findReplaceData->GetFlags(),
wxSTC_INDIC0_MASK);
}
//.........这里部分代码省略.........