| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef __UIDLGBUILDER_H__
- #define __UIDLGBUILDER_H__
- #pragma once
- namespace DuiLib {
- class IDialogBuilderCallback
- {
- public:
- virtual CControlUI* CreateControl(LPCTSTR pstrClass) = 0;
- };
- class DUILIB_API CDialogBuilder
- {
- public:
- CDialogBuilder();
- CControlUI* Create(STRINGorID xml, LPCTSTR type = NULL, IDialogBuilderCallback* pCallback = NULL,
- CPaintManagerUI* pManager = NULL, CControlUI* pParent = NULL);
- CControlUI* Create(IDialogBuilderCallback* pCallback = NULL, CPaintManagerUI* pManager = NULL,
- CControlUI* pParent = NULL);
- CMarkup* GetMarkup();
- void GetLastErrorMessage(LPTSTR pstrMessage, SIZE_T cchMax) const;
- void GetLastErrorLocation(LPTSTR pstrSource, SIZE_T cchMax) const;
- private:
- CControlUI* _Parse(CMarkupNode* parent, CControlUI* pParent = NULL, CPaintManagerUI* pManager = NULL);
- CMarkup m_xml;
- IDialogBuilderCallback* m_pCallback;
- LPCTSTR m_pstrtype;
- };
- } // namespace DuiLib
- #endif // __UIDLGBUILDER_H__
|