PresetPicker.cpp 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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/PresetPicker.cpp $*
  25. * *
  26. * Author:: Patrick Smith *
  27. * *
  28. * $Modtime:: 6/16/00 4:20p $*
  29. * *
  30. * $Revision:: 2 $*
  31. * *
  32. *---------------------------------------------------------------------------------------------*
  33. * Functions: *
  34. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  35. #include "stdafx.h"
  36. #include "presetpicker.h"
  37. #include "selectpresetdialog.h"
  38. #include "preset.h"
  39. #include "resource.h"
  40. /////////////////////////////////////////////////////////////////////////
  41. //
  42. // PresetPickerClass
  43. //
  44. /////////////////////////////////////////////////////////////////////////
  45. PresetPickerClass::PresetPickerClass (void)
  46. : m_Preset (NULL),
  47. m_ClassID (0),
  48. m_IconIndex (0)
  49. {
  50. m_Icon = (HICON)::LoadImage (::AfxGetResourceHandle (), MAKEINTRESOURCE (IDI_PRESET_TINY), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
  51. return ;
  52. }
  53. /////////////////////////////////////////////////////////////////////////
  54. //
  55. // ~PresetPickerClass
  56. //
  57. /////////////////////////////////////////////////////////////////////////
  58. PresetPickerClass::~PresetPickerClass (void)
  59. {
  60. return ;
  61. }
  62. /////////////////////////////////////////////////////////////////////////
  63. //
  64. // On_Pick
  65. //
  66. /////////////////////////////////////////////////////////////////////////
  67. void
  68. PresetPickerClass::On_Pick (void)
  69. {
  70. //
  71. // Show the dialog to the user so they can pick a preset
  72. //
  73. SelectPresetDialogClass dialog (this);
  74. dialog.Set_Class_ID (m_ClassID);
  75. dialog.Set_Icon_Index (m_IconIndex);
  76. dialog.Set_Preset (m_Preset);
  77. if (dialog.DoModal () == IDOK) {
  78. PresetClass *preset = dialog.Get_Selection ();
  79. Set_Preset (preset);
  80. }
  81. return ;
  82. }
  83. /////////////////////////////////////////////////////////////////////////
  84. //
  85. // Set_Preset
  86. //
  87. /////////////////////////////////////////////////////////////////////////
  88. void
  89. PresetPickerClass::Set_Preset (PresetClass *preset)
  90. {
  91. //
  92. // Build a new text string to display
  93. //
  94. CString new_text;
  95. if (preset != NULL) {
  96. new_text = preset->Get_Name ();
  97. }
  98. //
  99. // Put the new text into the control
  100. //
  101. SetWindowText (new_text);
  102. m_Preset = preset;
  103. return ;
  104. }