NodeScriptsPropPage.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*
  2. ** Command & Conquer Renegade(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. /***********************************************************************************************
  19. *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
  20. ***********************************************************************************************
  21. * *
  22. * Project Name : LevelEdit *
  23. * *
  24. * $Archive:: /Commando/Code/Tools/LevelEdit/NodeScriptsPropPage.h $Modtime:: $*
  25. * *
  26. * $Revision:: 3 $*
  27. * *
  28. *---------------------------------------------------------------------------------------------*
  29. * Functions: *
  30. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  31. #if !defined(AFX_OBJECTSCRIPTSPROPPAGE_H__1A8EC038_8874_11D2_9FE1_00104B791122__INCLUDED_)
  32. #define AFX_OBJECTSCRIPTSPROPPAGE_H__1A8EC038_8874_11D2_9FE1_00104B791122__INCLUDED_
  33. #if _MSC_VER > 1000
  34. #pragma once
  35. #endif // _MSC_VER > 1000
  36. // NodeScriptsPropPage.h : header file
  37. //
  38. #include "dockableform.h"
  39. #include "listtypes.h"
  40. #include "resource.h"
  41. //////////////////////////////////////////////////////////////////////////////
  42. // Forward declarations
  43. //////////////////////////////////////////////////////////////////////////////
  44. class EditScriptClass;
  45. class ScriptListParameterClass;
  46. //////////////////////////////////////////////////////////////////////////////
  47. //
  48. // NodeScriptsPropPage
  49. //
  50. //////////////////////////////////////////////////////////////////////////////
  51. class NodeScriptsPropPage : public DockableFormClass
  52. {
  53. public:
  54. NodeScriptsPropPage (void);
  55. NodeScriptsPropPage (SCRIPT_LIST *script_list);
  56. virtual ~NodeScriptsPropPage (void);
  57. // Form Data
  58. public:
  59. //{{AFX_DATA(NodeScriptsPropPage)
  60. enum { IDD = IDD_OBJECT_SCRIPTS };
  61. CListCtrl m_ListCtrl;
  62. //}}AFX_DATA
  63. // Attributes
  64. public:
  65. // Operations
  66. public:
  67. // Overrides
  68. // ClassWizard generated virtual function overrides
  69. //{{AFX_VIRTUAL(NodeScriptsPropPage)
  70. protected:
  71. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  72. //}}AFX_VIRTUAL
  73. // Implementation
  74. protected:
  75. #ifdef _DEBUG
  76. virtual void AssertValid() const;
  77. virtual void Dump(CDumpContext& dc) const;
  78. #endif
  79. // Generated message map functions
  80. //{{AFX_MSG(NodeScriptsPropPage)
  81. afx_msg void OnItemChangedScriptList(NMHDR* pNMHDR, LRESULT* pResult);
  82. afx_msg void OnAdd();
  83. afx_msg void OnDelete();
  84. afx_msg void OnModify();
  85. afx_msg void OnDeleteItemScriptList(NMHDR* pNMHDR, LRESULT* pResult);
  86. afx_msg void OnDblclkScriptlist(NMHDR* pNMHDR, LRESULT* pResult);
  87. //}}AFX_MSG
  88. DECLARE_MESSAGE_MAP()
  89. public:
  90. ///////////////////////////////////////////////////////
  91. // Public methods
  92. ///////////////////////////////////////////////////////
  93. void HandleInitDialog (void);
  94. virtual bool Apply_Changes (void);
  95. void Set_Script_List_Parameter (ScriptListParameterClass *param) { m_ScriptListParam = param; }
  96. protected:
  97. ///////////////////////////////////////////////////////
  98. // Protected methods
  99. ///////////////////////////////////////////////////////
  100. void Build_Script_List (void);
  101. private:
  102. ///////////////////////////////////////////////////////
  103. // Private member data
  104. ///////////////////////////////////////////////////////
  105. SCRIPT_LIST * m_ScriptList;
  106. ScriptListParameterClass * m_ScriptListParam;
  107. };
  108. /////////////////////////////////////////////////////////////////////////////
  109. //{{AFX_INSERT_LOCATION}}
  110. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  111. #endif // !defined(AFX_OBJECTSCRIPTSPROPPAGE_H__1A8EC038_8874_11D2_9FE1_00104B791122__INCLUDED_)