123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- //////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2015 Autodesk, Inc. All rights reserved.
- //
- // Use of this software is subject to the terms of the Autodesk license
- // agreement provided at the time of installation or download, or which
- // otherwise accompanies this software in either electronic or hard copy form.
- //
- //////////////////////////////////////////////////////////////////////////////
- #ifndef _acuiEdit_h
- #define _acuiEdit_h
- #pragma pack (push, 8)
- #if _MSC_VER >= 1000
- #pragma once
- #endif // _MSC_VER >= 1000
- /////////////////////////////////////////////////////////////////////////////
- // data styles
- #define AC_ES_STRING 0x01
- #define AC_ES_SYMBOL 0x02
- #define AC_ES_NUMERIC 0x04
- #define AC_ES_ANGLE 0x08
- // behavior styles
- #define AC_ES_VAL_ONKILLFOCUS 0x10
- #define AC_ES_CONV_ONKILLFOCUS 0x20
- #define AC_ES_SHOW_ERRMSG 0x40
- #define AC_ES_ERRMSG_ALLOWIGNORE 0x80
- // validation styles
- #define AC_ES_NOZERO 0x100
- #define AC_ES_NOBLANK 0x200
- #define AC_ES_NONEGATIVE 0x400
- #define AC_ES_INRANGE 0x800
- typedef enum {
- kAcUiError_None, // No error; OK.
- kAcUiError_Blank, // Data is blank
- kAcUiError_Symbol, // Detected illegal symbol syntax
- kAcUiError_Numeric, // Detected non-numeric data
- kAcUiError_Angle, // Data does not represent an angle
- kAcUiError_Zero, // Data is zero
- kAcUiError_Negative, // Data is negative
- kAcUiError_Range // Data is out of range
- } ACUI_ERROR_CODE;
- ////////////////////////////////////////////////////////////////////////////
- // CAcUiEdit window
- class ACUI_PORT CAcUiEdit : public CAdUiEdit {
- DECLARE_DYNAMIC(CAcUiEdit)
- public:
- CAcUiEdit ();
- virtual ~CAcUiEdit ();
- private:
- BOOL m_bWantsFocus;
- BOOL m_bWasValid;
- protected:
- virtual ADUI_REPLY DoAdUiMessage (
- ADUI_NOTIFY notifyCode, UINT controlId, LPARAM lParam
- );
- // Validation style
- public:
- virtual void SetStyleMask (DWORD mask);
- // Validation
- private:
- void DisplayError (UINT); // display error dialog box
- public:
- BOOL m_bChanged; // value changed flag
- double m_dMinValue; // min value for range checking
- double m_dMaxValue; // max value for range checking
- CString m_csMsg; // generic message string
- BOOL m_bTouch; // flag to detect changes in text
- void Convert (); // data style conversion
- BOOL ConvertData (CString& x);
- BOOL HasChanged (); // detect user changes
- void SetDirty ();
- void SetRange (double vMin, double vMax);
- BOOL Validate (); // data validation
- ACUI_ERROR_CODE ValidateData (CString& x);
- // ClassWizard-controlled
- public:
- //{{AFX_VIRTUAL(CAcUiEdit)
- //}}AFX_VIRTUAL
- protected:
- //{{AFX_MSG(CAcUiEdit)
- afx_msg BOOL OnChange();
- afx_msg void OnErrSpace();
- afx_msg void OnKillFocus(CWnd* pNewWnd);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- // CAcUiAngleEdit class
- class ACUI_PORT CAcUiAngleEdit : public CAcUiEdit {
- DECLARE_DYNAMIC(CAcUiAngleEdit)
- public:
- CAcUiAngleEdit ();
- virtual ~CAcUiAngleEdit ();
- // Validation style
- public:
- virtual void SetStyleMask (DWORD mask);
- // ClassWizard-controlled
- public:
- //{{AFX_VIRTUAL(CAcUiAngleEdit)
- //}}AFX_VIRTUAL
- protected:
- //{{AFX_MSG(CAcUiAngleEdit)
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- // CAcUiNumericEdit class
- class ACUI_PORT CAcUiNumericEdit : public CAcUiEdit {
- DECLARE_DYNAMIC(CAcUiNumericEdit)
- public:
- CAcUiNumericEdit ();
- virtual ~CAcUiNumericEdit ();
- // Validation style
- public:
- virtual void SetStyleMask (DWORD mask);
- // ClassWizard-controlled
- public:
- //{{AFX_VIRTUAL(CAcUiNumericEdit)
- //}}AFX_VIRTUAL
- protected:
- //{{AFX_MSG(CAcUiNumericEdit)
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- // CAcUiStringEdit class
- class ACUI_PORT CAcUiStringEdit : public CAcUiEdit {
- DECLARE_DYNAMIC(CAcUiStringEdit)
- public:
- CAcUiStringEdit ();
- virtual ~CAcUiStringEdit ();
- // Validation style
- public:
- virtual void SetStyleMask (DWORD mask);
- // ClassWizard-controlled
- public:
- //{{AFX_VIRTUAL(CAcUiStringEdit)
- //}}AFX_VIRTUAL
- protected:
- //{{AFX_MSG(CAcUiStringEdit)
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- // CAcUiSymbolEdit class
- class ACUI_PORT CAcUiSymbolEdit : public CAcUiEdit {
- DECLARE_DYNAMIC(CAcUiSymbolEdit)
- public:
- CAcUiSymbolEdit ();
- virtual ~CAcUiSymbolEdit ();
- // Validation style
- public:
- virtual void SetStyleMask (DWORD mask);
- // ClassWizard-controlled
- public:
- //{{AFX_VIRTUAL(CAcUiSymbolEdit)
- //}}AFX_VIRTUAL
- protected:
- //{{AFX_MSG(CAcUiSymbolEdit)
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
- #pragma pack (pop)
- #endif
- /////////////////////////////////////////////////////////////////////////////
|