PropertyComboBar.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /* Copyright (c) 2002-2012 Croteam Ltd.
  2. This program is free software; you can redistribute it and/or modify
  3. it under the terms of version 2 of the GNU General Public License as published by
  4. the Free Software Foundation
  5. This program is distributed in the hope that it will be useful,
  6. but WITHOUT ANY WARRANTY; without even the implied warranty of
  7. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  8. GNU General Public License for more details.
  9. You should have received a copy of the GNU General Public License along
  10. with this program; if not, write to the Free Software Foundation, Inc.,
  11. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
  12. // PropertyComboBar.h : header file
  13. //
  14. #ifndef PROPERTYCOMBOBAR_H
  15. #define PROPERTYCOMBOBAR_H 1
  16. /////////////////////////////////////////////////////////////////////////////
  17. // CPropertyComboBar dialog
  18. class CPropertyComboBar : public CDialogBar
  19. {
  20. // Construction
  21. public:
  22. BOOL Create( CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle,
  23. UINT nID, BOOL = TRUE);
  24. BOOL OnIdle(LONG lCount);
  25. // show/hide controls depending on editing property type
  26. void ArrangeControls();
  27. CPropertyID *GetSelectedProperty();
  28. void SelectPreviousEmptyTarget(void);
  29. void SelectPreviousProperty(void);
  30. void SelectNextEmptyTarget(void);
  31. void SelectNextProperty(void);
  32. void CircleTargetProperties(INDEX iDirection, BOOL bOnlyEmptyTargets);
  33. void SetIntersectingFileName();
  34. void SelectAxisRadio(CWnd *pwndToSelect);
  35. void SetColorPropertyToEntities( COLOR colNewColor);
  36. void SetFirstValidEmptyTargetProperty(CEntity *penTarget);
  37. void ClearAllTargets(CEntity *penClicked);
  38. void SelectProperty(CEntityProperty *penpToMatch);
  39. // Attributes
  40. public:
  41. CSize m_Size;
  42. float m_fEditingFloat;
  43. float m_fEditingHeading;
  44. float m_fEditingPitch;
  45. float m_fEditingBanking;
  46. INDEX m_iEditingIndex;
  47. INDEX m_iEditStringMaxChars;
  48. float m_fEditingBBoxMin;
  49. float m_fEditingBBoxMax;
  50. INDEX m_iXYZAxis;
  51. CString m_strFloatRange;
  52. CString m_strIndexRange;
  53. CString m_strChooseColor;
  54. CString m_strFileName;
  55. CString m_strEditingString;
  56. CString m_strEntityClass;
  57. CString m_strEntityName;
  58. CString m_strEntityDescription;
  59. COLOR m_colLastColor;
  60. CPropertyComboBox m_PropertyComboBox;
  61. CCtrlEnumCombo m_EditEnumComboBox;
  62. CCtrlEditString m_EditStringCtrl;
  63. CCtrlEditFloat m_EditFloatCtrl;
  64. CCtrlEditFloat m_EditIndexCtrl;
  65. CCtrlAxisRadio m_XCtrlAxisRadio;
  66. CCtrlAxisRadio m_YCtrlAxisRadio;
  67. CCtrlAxisRadio m_ZCtrlAxisRadio;
  68. CCtrlEditFloat m_EditBBoxMinCtrl;
  69. CCtrlEditFloat m_EditBBoxMaxCtrl;
  70. CCtrlEditBoolean m_EditBoolCtrl;
  71. CColoredButton m_EditColorCtrl;
  72. CCtrlBrowseFile m_BrowseFileCtrl;
  73. CCtrlEditFloat m_EditHeading;
  74. CCtrlEditFloat m_EditPitch;
  75. CCtrlEditFloat m_EditBanking;
  76. CCtrlEditBoolean m_EditEasySpawn;
  77. CCtrlEditBoolean m_EditNormalSpawn;
  78. CCtrlEditBoolean m_EditHardSpawn;
  79. CCtrlEditBoolean m_EditExtremeSpawn;
  80. CCtrlEditBoolean m_EditDifficulty_1;
  81. CCtrlEditBoolean m_EditDifficulty_2;
  82. CCtrlEditBoolean m_EditDifficulty_3;
  83. CCtrlEditBoolean m_EditDifficulty_4;
  84. CCtrlEditBoolean m_EditDifficulty_5;
  85. CCtrlEditBoolean m_EditSingleSpawn;
  86. CCtrlEditBoolean m_EditCooperativeSpawn;
  87. CCtrlEditBoolean m_EditDeathMatchSpawn;
  88. CCtrlEditBoolean m_EditGameMode_1;
  89. CCtrlEditBoolean m_EditGameMode_2;
  90. CCtrlEditBoolean m_EditGameMode_3;
  91. CCtrlEditBoolean m_EditGameMode_4;
  92. CCtrlEditBoolean m_EditGameMode_5;
  93. CCtrlEditBoolean m_EditGameMode_6;
  94. CCtrlEditFlags m_ctrlEditFlags;
  95. // Overrides
  96. // ClassWizard generated virtual function overrides
  97. //{{AFX_VIRTUAL(CPropertyComboBar)
  98. protected:
  99. virtual void DoDataExchange(CDataExchange* pDX);
  100. //}}AFX_VIRTUAL
  101. // Implementation
  102. public:
  103. virtual CSize CalcDynamicLayout( int nLength, DWORD dwMode );
  104. void SetIntersectingEntityClassName(void);
  105. CEntity *GetSelectedEntityPtr(void);
  106. // Generated message map functions
  107. //{{AFX_MSG(CPropertyComboBar)
  108. afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  109. afx_msg void OnNoFile();
  110. afx_msg void OnNoTarget();
  111. //}}AFX_MSG
  112. afx_msg void OnUpdateBrowseFile( CCmdUI* pCmdUI );
  113. afx_msg void OnUpdateNoFile( CCmdUI* pCmdUI );
  114. afx_msg void OnUpdateNoTarget( CCmdUI* pCmdUI );
  115. afx_msg void OnUpdateEditColor( CCmdUI* pCmdUI );
  116. afx_msg void OnUpdateEditFlags( CCmdUI* pCmdUI );
  117. DECLARE_MESSAGE_MAP()
  118. };
  119. #endif // PROPERTYCOMBOBAR_H