FLImaging 7.8.25.3
GUIPaneLog.h
1#pragma once
2
10
11#include "GUIManager.h"
12#include "GUIPaneBase.h"
13#include "GUIEditBase.h"
14
15#include <deque>
16
18namespace FLImaging
19{
21 namespace GUI
22 {
23 class CGUILogRichEditCtrl;
24
32 class FL_EXPORT CGUIPaneLog : public CGUIPaneBase
33 {
34 public:
41 CGUIPaneLog() noexcept;
42
50
57 virtual ~CGUIPaneLog() noexcept;
58
69 CGUILogRichEditCtrl* AddCategoryTab(const Base::CFLString<wchar_t>& flsCategory);
70
81 CGUILogRichEditCtrl* GetCategoryLog(const Base::CFLString<wchar_t>& flsCategory);
82
91 CGUILogRichEditCtrl* GetActivateCategoryLog() const;
92
100
108
115 void ClearLog();
116
126 {
132
138
144 };
145
158 const CResult SetLineTop(int32_t i32LineNumber);
159
175
185
186 DeclareGetClassType();
187
188 protected:
189 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
190
191 static void __stdcall OnLogReceiving(const wchar_t* pWcsLog, CFLBase* pReceiver);
192 static unsigned __stdcall ThreadUpdate(void* pParam);
193
194 protected:
195 CMFCTabCtrl m_wndTabs;
196 std::map<Base::CFLString<wchar_t>, CGUILogRichEditCtrl*> m_mapLog;
197
198 CFont* m_pFont;
199 uint32_t m_u32LimitLength;
200
201 CCriticalSection m_csLog;
202 std::deque<Base::CFLString<wchar_t>>& m_deqLogs;
203
204 bool m_bUpdateThreadRunning;
205 bool m_bUpdateThreadTerminated;
206 uintptr_t m_uptrUpdateThread;
207
208 protected:
209 virtual BOOL PreTranslateMessage(MSG* pMsg);
210 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
211 virtual bool DisplayLog();
212
213 friend class CGUILogRichEditCtrl;
214 friend class CGUIMainFrame;
215 friend class CGUIManagerPane;
216 friend class CInternalManagerPane;
217
218 public:
219 DECLARE_MESSAGE_MAP()
220 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
221 afx_msg void OnSize(UINT nType, int cx, int cy);
222 afx_msg void OnDestroy();
223 afx_msg void OnClose();
224 afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
225 afx_msg void OnTimer(UINT_PTR nIDEvent);
226 afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
227 };
228 }
229}
230
Broadcast message class.
Definition BroadcastMessage.h:27
CFLBase()
Default constructor.
FLImaging module execution result object.
Definition ResultsDef.h:1704
CGUILogRichEditCtrl * GetActivateCategoryLog() const
Returns the currently activated category log control pointer.
CGUILogRichEditCtrl * AddCategoryTab(const Base::CFLString< wchar_t > &flsCategory)
Adds a category tab and returns the created log control pointer.
void UpdateTheme()
Updates the theme of the log pane.
CGUILogRichEditCtrl * GetCategoryLog(const Base::CFLString< wchar_t > &flsCategory)
Returns the log control pointer corresponding to the category.
void ClearLog()
Clears all logs.
const CResult SetCursorPosition(ECursorPosition ePosition)
Sets the cursor position.
const CResult SetLineTop(int32_t i32LineNumber)
Moves the specified line to the top.
virtual void OnReceiveBroadcast(const Base::CBroadcastMessage *pMessage) override
Callback function. A function that receives a BroadcastMessage.
CGUIPaneLog() noexcept
Default constructor.
ECursorPosition
Enumeration for cursor positions.
Definition GUIPaneLog.h:126
@ ECursorPosition_Last
Definition GUIPaneLog.h:143
@ ECursorPosition_First
Definition GUIPaneLog.h:137
@ ECursorPosition_Any
Definition GUIPaneLog.h:131
void UpdateFont()
Updates the font of the log pane.
ECursorPosition GetCursorPosition() const
Returns the current cursor position.
Definition AESCryptography.h:18
Definition D2DObject.h:12