FLImaging 7.10.4.1
GUIPaneLog.h
1#pragma once
2
10
11#include "GUIManager.h"
12#include "GUIPaneBase.h"
13#include "GUIEditBase.h"
14#include "GUISearchBar.h"
15#include "ISearchTarget.h"
16
17#include <deque>
18
20namespace FLImaging
21{
23 namespace GUI
24 {
25 class CGUILogRichEditCtrl;
26
34 class FL_EXPORT CGUIPaneLog : public CGUIPaneBase, public ISearchTarget
35 {
36 public:
43 CGUIPaneLog() noexcept;
44
52
59 virtual ~CGUIPaneLog() noexcept;
60
71 CGUILogRichEditCtrl* AddCategoryTab(const Base::CFLString<wchar_t>& flsCategory);
72
83 CGUILogRichEditCtrl* GetCategoryLog(const Base::CFLString<wchar_t>& flsCategory);
84
93 CGUILogRichEditCtrl* GetActivateCategoryLog() const;
94
102
110
117 void ClearLog();
118
128 {
134
140
146 };
147
160 const CResult SetLineTop(int32_t i32LineNumber);
161
177
187
188 DeclareGetClassType();
189
190 protected:
191 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
192 virtual void ShowSearchBar();
193
194 static void __stdcall OnLogReceiving(const wchar_t* pWcsLog, CFLBase* pReceiver);
195 static unsigned __stdcall ThreadUpdate(void* pParam);
196
197 // from ISearchTarget
198 virtual CWnd* GetWnd() override;
199 virtual CString GetAllText() override;
200 virtual long FindNext(const CString& strText, long nStartPos, DWORD dwFlags, CHARRANGE& outRange) override;
201 virtual void SetSelectionRange(long nMin, long nMax) override;
202 virtual void GetSelectionRange(long& nMin, long& nMax) override;
203 virtual void HighlightRange(long nMin, long nMax, COLORREF crBack) override;
204 virtual void ClearAllHighlight() override;
205 virtual void GetSel(CHARRANGE& cr) const override;
206 virtual void SetSel(CHARRANGE& cr) override;
207 virtual void SetSel(long nStartChar, long nEndChar) override;
208 virtual BOOL SetSelectionCharFormat(CHARFORMAT& cf) override;
209 virtual BOOL SetSelectionCharFormat(CHARFORMAT2& cf) override;
210 virtual void HideSelection(BOOL bHide, BOOL bPerm) override;
211 virtual long FindText(DWORD dwFlags, FINDTEXTEX* pFindText) const override;
212 // end of from ISearchTarget
213
214 protected:
215 CMFCTabCtrl m_wndTabs;
216 std::map<Base::CFLString<wchar_t>, CGUILogRichEditCtrl*> m_mapLog;
217
218 CFont* m_pFont;
219 uint32_t m_u32LimitLength;
220
221 CGUISearchBar m_searchBar;
222 CCriticalSection m_csLog;
223 std::deque<Base::CFLString<wchar_t>>& m_deqLogs;
224
225 bool m_bUpdateThreadRunning;
226 bool m_bUpdateThreadTerminated;
227 uintptr_t m_uptrUpdateThread;
228
229 protected:
230 virtual BOOL PreTranslateMessage(MSG* pMsg);
231 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
232 virtual bool DisplayLog();
233
234 friend class CGUILogRichEditCtrl;
235 friend class CGUIMainFrame;
236 friend class CGUIManagerPane;
237 friend class CInternalManagerPane;
238
239 public:
240 DECLARE_MESSAGE_MAP()
241 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
242 afx_msg void OnSize(UINT nType, int cx, int cy);
243 afx_msg void OnDestroy();
244 afx_msg void OnClose();
245 afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
246 afx_msg void OnTimer(UINT_PTR nIDEvent);
247 afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
248 afx_msg LRESULT OnChangeActiveTab(WPARAM wp, LPARAM lp);
249 };
250 }
251}
252
브로드캐스트 메시지 클래스
Definition FLImagingBase/BroadcastMessage.h:27
CFLBase()
기본 생성자
FLImaging 모듈의 수행 결과 객체
Definition FLImagingBase/ResultsDef.h:1704
CGUILogRichEditCtrl * GetActivateCategoryLog() const
현재 활성화된 카테고리 로그 컨트롤 포인터를 반환합니다.
CGUILogRichEditCtrl * AddCategoryTab(const Base::CFLString< wchar_t > &flsCategory)
카테고리 탭을 추가하고 생성된 로그 컨트롤 포인터를 반환합니다.
void UpdateTheme()
로그 패인의 테마를 업데이트합니다.
CGUILogRichEditCtrl * GetCategoryLog(const Base::CFLString< wchar_t > &flsCategory)
해당 카테고리의 로그 컨트롤 포인터를 반환합니다.
void ClearLog()
모든 로그를 클리어합니다.
const CResult SetCursorPosition(ECursorPosition ePosition)
커서 위치를 설정합니다.
const CResult SetLineTop(int32_t i32LineNumber)
지정한 라인을 최상단으로 이동합니다.
virtual void OnReceiveBroadcast(const Base::CBroadcastMessage *pMessage) override
Callback 함수. BroadcastMessage를 수신받는 함수
CGUIPaneLog() noexcept
기본 생성자
ECursorPosition
커서 위치 열거형
Definition GUIPaneLog.h:128
@ ECursorPosition_Last
Definition GUIPaneLog.h:145
@ ECursorPosition_First
Definition GUIPaneLog.h:139
@ ECursorPosition_Any
Definition GUIPaneLog.h:133
void UpdateFont()
로그 패인의 폰트를 업데이트합니다.
ECursorPosition GetCursorPosition() const
현재 커서 위치를 반환합니다.
Definition FLImagingBase/AESCryptography.h:18
Definition D2DObject.h:12