12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef __UIDLGBUILDER_H__
- #define __UIDLGBUILDER_H__
- #pragma once
- namespace DuiLib {
- class IDialogBuilderCallback
- {
- public:
- virtual CControlUI* CreateControl(LPCTSTR pstrClass) = 0;
- };
- class UILIB_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;
- void SetOwnerBuilder (IDialogBuilderCallback* pCallback);
- 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__
|