XTPSyntaxEditSectionManager.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPSyntaxEditSectionManager.h: interface for the CXTPSyntaxEditSectionManager class.
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME SYNTAX EDIT LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. //////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTPSYNTAXEDITSECTIONMANAGER_H__)
  22. #define __XTPSYNTAXEDITSECTIONMANAGER_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. //{{AFX_CODEJOCK_PRIVATE
  28. //=======================================================================
  29. // struct: XTP_EDIT_SCHEMAFILEINFO
  30. //=======================================================================
  31. struct _XTP_EXT_CLASS XTP_EDIT_SCHEMAFILEINFO
  32. {
  33. XTP_EDIT_SCHEMAFILEINFO();
  34. XTP_EDIT_SCHEMAFILEINFO(const XTP_EDIT_SCHEMAFILEINFO& info);
  35. XTP_EDIT_SCHEMAFILEINFO(const CString& srcName, const CString& srcValue);
  36. const XTP_EDIT_SCHEMAFILEINFO& operator=(const XTP_EDIT_SCHEMAFILEINFO& info);
  37. BOOL operator==(const XTP_EDIT_SCHEMAFILEINFO& info) const;
  38. public:
  39. CString csName;
  40. CString csValue;
  41. CString csDesc;
  42. UINT    uValue;
  43. };
  44. //=======================================================================
  45. // class: CXTPSyntaxEditSchemaFileInfoList
  46. //=======================================================================
  47. class _XTP_EXT_CLASS CXTPSyntaxEditSchemaFileInfoList : public CList<XTP_EDIT_SCHEMAFILEINFO,XTP_EDIT_SCHEMAFILEINFO&>
  48. {
  49. public:
  50. POSITION LookupName (const CString& csName, XTP_EDIT_SCHEMAFILEINFO& info);
  51. POSITION LookupValue(const CString& csValue, XTP_EDIT_SCHEMAFILEINFO& info);
  52. POSITION LookupValue(const UINT& uValue, XTP_EDIT_SCHEMAFILEINFO& info);
  53. POSITION LookupDesc (const CString& csDesc, XTP_EDIT_SCHEMAFILEINFO& info);
  54. };
  55. //=======================================================================
  56. // class: CXTPSyntaxEditSectionManager
  57. //=======================================================================
  58. class _XTP_EXT_CLASS CXTPSyntaxEditSectionManager
  59. {
  60. public:
  61. CXTPSyntaxEditSectionManager();
  62. virtual ~CXTPSyntaxEditSectionManager();
  63. public:
  64. int GetSectionNames(CStringArray& arSections, LPCTSTR lpszFilePath);
  65. int GetSectionKeyList(CXTPSyntaxEditSchemaFileInfoList& infoList, LPCTSTR lpszFilePath, LPCTSTR lpszSectionName);
  66. BOOL ParseSectionKey(XTP_EDIT_SCHEMAFILEINFO& info, const CString& csBuffer);
  67. BOOL SplitString(CString& csLeft, CString& csRight, const CString& csBuffer, TCHAR chSep);
  68. };
  69. //}}AFX_CODEJOCK_PRIVATE
  70. //////////////////////////////////////////////////////////////////////
  71. #endif // !defined(__XTPSYNTAXEDITSECTIONMANAGER_H__)