FLImaging 7.7.7.7
GUIEditBase.h
1#pragma once
2
10
11#include <afxwin.h>
12#include "GUIStyledCtrlBase.h"
13
15namespace FLImaging
16{
18 namespace GUI
19 {
27 class FL_EXPORT CGUIEditBase : public CEdit, public CGUIStyledCtrlBase
28 {
29 public:
40 {
49
58
67
76
85
94
103 };
104
105 public:
114
122 virtual ~CGUIEditBase();
123
136
150 virtual const CResult SetValue(const Base::CFLString<wchar_t>& flstrValue);
151
161 virtual int32_t GetValueAsInt32() const;
162
172 virtual int64_t GetValueAsInt64() const;
173
183 virtual double GetValueAsDouble() const;
184
185 DECLARE_MESSAGE_MAP()
186 public:
194 virtual void OnEditPaste();
195
203 virtual void OnEditCut();
204
216 virtual void SetInputType(EInputType eInputType);
217
229 virtual EInputType GetInputType() const;
230
264 virtual void SetUserDefinedInput(const Base::CFLString<wchar_t>& flstrInvalidCharSet, const Base::CFLString<wchar_t>& flstrValidCharSet);
265
277 virtual void SetToolTipText(const Base::CFLString<wchar_t>& flstrToolTipText);
278
298 virtual void SetWindowTextKeepCaret(const Base::CFLString<wchar_t>& flstrText);
299
300 virtual void NotifyParentPropertyEditing();
301
302 virtual void SetTextAlignment(EGUIAlignment eAlign) override;
303
304 virtual void UpdateTheme();
305
306 virtual void SetFillColorNormal(COLORREF clr);
307 virtual COLORREF GetFillColorNormal();
308
309 virtual void SetFillColorReadOnly(COLORREF clr);
310 virtual COLORREF GetFillColorReadOnly();
311
312 virtual void SetBorderColorActive(COLORREF clr);
313 virtual COLORREF GetBorderColorActive();
314
315 virtual void SetTextColorNormal(COLORREF clr);
316 virtual COLORREF GetTextColorNormal();
317
318 virtual void SetTextColorReadOnly(COLORREF clr);
319 virtual COLORREF GetTextColorReadOnly();
320
321 static void SetGlobalFillColorNormal(COLORREF clr);
322 static COLORREF GetGlobalFillColorNormal();
323
324 static void SetGlobalFillColorReadOnly(COLORREF clr);
325 static COLORREF GetGlobalFillColorReadOnly();
326
327 static void SetGlobalBorderColorActive(COLORREF clr);
328 static COLORREF GetGlobalBorderColorActive();
329
330 static void SetGlobalTextColorNormal(COLORREF clr);
331 static COLORREF GetGlobalTextColorNormal();
332
333 static void SetGlobalTextColorReadOnly(COLORREF clr);
334 static COLORREF GetGlobalTextColorReadOnly();
335
336 protected:
337 virtual BOOL PreTranslateMessage(MSG* pMsg);
338
339 virtual BOOL CopyToClipboard(Base::CFLString<wchar_t> str);
340 virtual Base::CFLString<wchar_t> PasteFromClipboard();
341 virtual bool CheckValidInput(UINT nNewChar, int32_t i32Index, Base::CFLString<wchar_t> strExist) const;
342 virtual void DeletePreviousWord();
343
344 virtual const CResult SetValue(const Base::CFLString<wchar_t>& flstrValue, bool bRedraw);
345
346 protected:
347 EInputType m_eInputType;
348 Base::CFLString<wchar_t> m_flsInvalidCharSet;
349 Base::CFLString<wchar_t> m_flsValidCharSet;
350 CToolTipCtrl m_ToolTip;
351 Base::CFLString<wchar_t> m_flsToolTipText;
352 Base::CFLString<wchar_t> m_flsPendingValue;
353 int32_t m_i32SelStart;
354 int32_t m_i32SelEnd;
355 bool m_bNeedToSetWindowText;
356
357 CBrush m_brBackground;
358 CBrush m_brBackgroundReadOnly;
359
360 friend class CGUIPropertyItemText;
361
362 public:
363 afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
364 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
365 afx_msg void OnDestroy();
366 afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
367 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
368 };
369
371 {
372 return static_cast<CGUIEditBase::EInputType>(static_cast<int32_t>(a) | static_cast<int32_t>(b));
373 }
374
376 {
377 return static_cast<CGUIEditBase::EInputType>(static_cast<int32_t>(a) & static_cast<int32_t>(b));
378 }
379
380 inline CGUIEditBase::EInputType operator~(CGUIEditBase::EInputType a)
381 {
382 return static_cast<CGUIEditBase::EInputType>(~static_cast<int32_t>(a));
383 }
384
385 inline bool operator!(CGUIEditBase::EInputType a)
386 {
387 return static_cast<bool>(!static_cast<int32_t>(a));
388 }
389 }
390}
Template type string class.
Definition FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1676
virtual void OnEditPaste()
Function that is invoked by a paste event.
virtual ~CGUIEditBase()
Default destructor.
virtual void SetToolTipText(const Base::CFLString< wchar_t > &flstrToolTipText)
Set the tooltip text.
virtual int32_t GetValueAsInt32() const
Returns the value converted from the input value to integer(int32_t) type.
virtual EInputType GetInputType() const
Get the type of input values.
virtual Base::CFLString< wchar_t > GetValue() const
Get string value.
virtual double GetValueAsDouble() const
Returns the value converted from the input value to double type.
virtual const CResult SetValue(const Base::CFLString< wchar_t > &flstrValue)
A function that sets the input value, the value is modified and stored for the input type you set.
virtual int64_t GetValueAsInt64() const
Returns the value converted from the input value to integer(int64_t) type.
virtual void SetUserDefinedInput(const Base::CFLString< wchar_t > &flstrInvalidCharSet, const Base::CFLString< wchar_t > &flstrValidCharSet)
Set the character set to be denied or accept input.
EInputType
Input type.
Definition GUIEditBase.h:40
@ EInputType_All
All type.
Definition GUIEditBase.h:48
@ EInputType_Int
Integer type.
Definition GUIEditBase.h:57
@ EInputType_Number
Number.
Definition GUIEditBase.h:84
@ EInputType_Float
Floating point type (including integer type).
Definition GUIEditBase.h:66
@ EInputType_UserDefined
User defined.
Definition GUIEditBase.h:102
@ EInputType_FileName
File name.
Definition GUIEditBase.h:75
@ EInputType_Alphabet
Alphabet.
Definition GUIEditBase.h:93
virtual void OnEditCut()
Function that is invoked by a cut event.
CGUIEditBase()
Default constructor.
virtual void SetWindowTextKeepCaret(const Base::CFLString< wchar_t > &flstrText)
Sets the edit control text while preserving the current caret (cursor) position.
virtual void SetInputType(EInputType eInputType)
Specify the type of input values by EInputType.
Definition AESCryptography.h:18
Definition D2DObject.h:12
EGUIAlignment
Alignment information.
Definition DefinitionsGUI.h:12844