8db37e0699
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
105 lines
3.2 KiB
C++
105 lines
3.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: src/common/fdrepdlg.cpp
|
|
// Purpose: common parts of wxFindReplaceDialog implementations
|
|
// Author: Vadim Zeitlin
|
|
// Modified by:
|
|
// Created: 01.08.01
|
|
// RCS-ID:
|
|
// Copyright: (c) 2001 Vadim Zeitlin
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// ============================================================================
|
|
// declarations
|
|
// ============================================================================
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// headers
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#ifdef __GNUG__
|
|
#pragma implementation "fdrepdlg.h"
|
|
#endif
|
|
|
|
// For compilers that support precompilation, includes "wx.h".
|
|
#include "wx/wxprec.h"
|
|
|
|
#ifdef __BORLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#if wxUSE_FINDREPLDLG
|
|
|
|
#ifndef WX_PRECOMP
|
|
#endif
|
|
|
|
#include "wx/fdrepdlg.h"
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxWin macros
|
|
// ----------------------------------------------------------------------------
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxFindDialogEvent, wxCommandEvent)
|
|
|
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND)
|
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_NEXT)
|
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_REPLACE)
|
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_REPLACE_ALL)
|
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_CLOSE)
|
|
|
|
// ============================================================================
|
|
// implementations
|
|
// ============================================================================
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxFindReplaceData
|
|
// ----------------------------------------------------------------------------
|
|
|
|
void wxFindReplaceData::Init()
|
|
{
|
|
m_Flags = 0;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxFindReplaceDialogBase
|
|
// ----------------------------------------------------------------------------
|
|
|
|
wxFindReplaceDialogBase::~wxFindReplaceDialogBase()
|
|
{
|
|
}
|
|
|
|
void wxFindReplaceDialogBase::Send(wxFindDialogEvent& event)
|
|
{
|
|
// we copy the data to dialog->GetData() as well
|
|
|
|
m_FindReplaceData->m_Flags = event.GetFlags();
|
|
m_FindReplaceData->m_FindWhat = event.GetFindString();
|
|
if ( HasFlag(wxFR_REPLACEDIALOG) )
|
|
{
|
|
m_FindReplaceData->m_ReplaceWith = event.GetReplaceString();
|
|
}
|
|
|
|
// translate wxEVT_COMMAND_FIND_NEXT to wxEVT_COMMAND_FIND if needed
|
|
if ( event.GetEventType() == wxEVT_COMMAND_FIND_NEXT )
|
|
{
|
|
if ( m_FindReplaceData->m_FindWhat != m_lastSearch )
|
|
{
|
|
event.SetEventType(wxEVT_COMMAND_FIND);
|
|
|
|
m_lastSearch = m_FindReplaceData->m_FindWhat;
|
|
}
|
|
}
|
|
|
|
if ( !GetEventHandler()->ProcessEvent(event) )
|
|
{
|
|
// 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)GetParent()->GetEventHandler()->ProcessEvent(event);
|
|
}
|
|
}
|
|
|
|
#endif // wxUSE_FINDREPLDLG
|
|
|