1
/***************************************************************
2
* Name: ThreadSearchLoggerBase
3
* Purpose: ThreadSearchLoggerBase is an interface to the
4
* different graphical controls that are able to
5
* manage ThreadSearchEvents received by the view.
6
* Author: Jerome ANTOINE
8
* Copyright: Jerome ANTOINE
10
**************************************************************/
12
#ifndef THREAD_SEARCH_LOGGER_BASE_H
13
#define THREAD_SEARCH_LOGGER_BASE_H
15
#include "InsertIndexManager.h"
23
class ThreadSearchView;
24
class ThreadSearchEvent;
25
class ThreadSearchFindData;
28
class ThreadSearchLoggerBase
37
/** BuildThreadSearchLoggerBase
38
* Builds a ThreadSearchLoggerList or a ThreadSearchLoggerTree pointer depending on loggerType.
39
* @return ThreadSearchLoggerBase*
41
static ThreadSearchLoggerBase* BuildThreadSearchLoggerBase(ThreadSearchView& threadSearchView,
42
ThreadSearch& threadSearchPlugin,
43
eLoggerTypes loggerType,
44
InsertIndexManager::eFileSorting fileSorting,
49
virtual ~ThreadSearchLoggerBase() {}
51
eLoggerTypes virtual GetLoggerType() = 0;
53
/** Called by ThreadSearchView when new settings are applied. */
54
virtual void Update();
56
/** Called by ThreadSearchView to process a ThreadSearchEvent
57
* sent by worker thread.
59
virtual void OnThreadSearchEvent(const ThreadSearchEvent& event) = 0;
61
/** Removes all items from logger. */
62
virtual void Clear() = 0;
64
/** Called on search begin to prepare logger. */
65
virtual void OnSearchBegin(const ThreadSearchFindData& findData) = 0;
67
/** Called on search end */
68
virtual void OnSearchEnd() {};
70
/** Returns logger window. */
71
virtual wxWindow* GetWindow() = 0;
73
/** Sets focus on logger window. */
74
virtual void SetFocus() = 0;
78
ThreadSearchLoggerBase(ThreadSearchView& threadSearchView,
79
ThreadSearch& threadSearchPlugin,
80
InsertIndexManager::eFileSorting fileSorting)
81
: m_ThreadSearchView (threadSearchView)
82
, m_ThreadSearchPlugin(threadSearchPlugin)
83
, m_IndexManager(fileSorting)
86
/** Dynamic events connection. */
87
virtual void ConnectEvents(wxEvtHandler* pEvtHandler) = 0;
89
/** Dynamic events disconnection. */
90
virtual void DisconnectEvents(wxEvtHandler* pEvtHandler) = 0;
92
/** Displays contextual menu. */
93
void ShowMenu(const wxPoint& point);
95
ThreadSearchView& m_ThreadSearchView;
96
ThreadSearch& m_ThreadSearchPlugin;
97
InsertIndexManager m_IndexManager;
100
#endif // THREAD_SEARCH_LOGGER_BASE_H