ComboBoxProperties.cpp 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983
  1. /*
  2. ** Command & Conquer Generals(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. // //
  20. // (c) 2001-2003 Electronic Arts Inc. //
  21. // //
  22. ////////////////////////////////////////////////////////////////////////////////
  23. // FILE: ComboBoxProperties.cpp ////////////////////////////////////////////////
  24. //-----------------------------------------------------------------------------
  25. //
  26. // Westwood Studios Pacific.
  27. //
  28. // Confidential Information
  29. // Copyright (C) 2001 - All Rights Reserved
  30. //
  31. //-----------------------------------------------------------------------------
  32. //
  33. // Project: GUIEdit
  34. //
  35. // File name: ComboBoxProperties.cpp
  36. //
  37. // Created: Colin Day, August 2001
  38. //
  39. // Desc: ComboBox properties dialog
  40. //
  41. //-----------------------------------------------------------------------------
  42. ///////////////////////////////////////////////////////////////////////////////
  43. // SYSTEM INCLUDES ////////////////////////////////////////////////////////////
  44. // USER INCLUDES //////////////////////////////////////////////////////////////
  45. #include "GUIEdit.h"
  46. #include "Properties.h"
  47. #include "LayoutScheme.h"
  48. #include "Resource.h"
  49. #include "GameClient/GadgetComboBox.h"
  50. #include "GameClient/GadgetListBox.h"
  51. #include "GameClient/GadgetSlider.h"
  52. #include "GameClient/GadgetPushButton.h"
  53. #include "GameClient/GadgetTextEntry.h"
  54. #include "GameClient/GameWindowManager.h"
  55. // DEFINES ////////////////////////////////////////////////////////////////////
  56. // PRIVATE TYPES //////////////////////////////////////////////////////////////
  57. // PRIVATE DATA ///////////////////////////////////////////////////////////////
  58. // PUBLIC DATA ////////////////////////////////////////////////////////////////
  59. // PRIVATE PROTOTYPES /////////////////////////////////////////////////////////
  60. ///////////////////////////////////////////////////////////////////////////////
  61. // PRIVATE FUNCTIONS //////////////////////////////////////////////////////////
  62. ///////////////////////////////////////////////////////////////////////////////
  63. // comboBoxPropertiesCallback ==================================================
  64. /** Dialog callback for properties */
  65. //=============================================================================
  66. static LRESULT CALLBACK comboBoxPropertiesCallback( HWND hWndDialog,
  67. UINT message,
  68. WPARAM wParam,
  69. LPARAM lParam )
  70. {
  71. Int returnCode;
  72. //
  73. // handle any common messages between all property dialogs cause they
  74. // are designed to have controls doing the same functionality
  75. // and names
  76. //
  77. if( HandleCommonDialogMessages( hWndDialog, message,
  78. wParam, lParam, &returnCode ) == TRUE )
  79. return returnCode;
  80. switch( message )
  81. {
  82. // ------------------------------------------------------------------------
  83. case WM_COMMAND:
  84. {
  85. // Int notifyCode = HIWORD( wParam ); // notification code
  86. Int controlID = LOWORD( wParam ); // control ID
  87. // HWND hWndControl = (HWND)lParam; // control window handle
  88. switch( controlID )
  89. {
  90. // --------------------------------------------------------------------
  91. case BUTTON_SUBCONTROL_COLOR:
  92. {
  93. ImageAndColorInfo *info;
  94. //
  95. // using the current colors in the base of the comboBox, assign a
  96. // reasonable color scheme to all the sub control components
  97. //
  98. info = GetStateInfo( COMBOBOX_ENABLED );
  99. StoreColor( COMBOBOX_LISTBOX_ENABLED, info->color, info->borderColor );
  100. StoreColor( COMBOBOX_DROP_DOWN_BUTTON_ENABLED, info->color, info->borderColor );
  101. StoreColor( COMBOBOX_LISTBOX_UP_BUTTON_ENABLED, info->color, info->borderColor );
  102. StoreColor( COMBOBOX_LISTBOX_DOWN_BUTTON_ENABLED, info->color, info->borderColor );
  103. StoreColor( COMBOBOX_LISTBOX_SLIDER_ENABLED_TOP, info->color, info->borderColor );
  104. StoreColor( COMBOBOX_LISTBOX_SLIDER_THUMB_ENABLED, info->color, info->borderColor );
  105. info = GetStateInfo( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_LEFT );
  106. StoreColor( COMBOBOX_EDIT_BOX_ENABLED_LEFT, info->color, info->borderColor );
  107. StoreColor( COMBOBOX_DROP_DOWN_BUTTON_ENABLED_PUSHED, info->color, info->borderColor );
  108. StoreColor( COMBOBOX_LISTBOX_UP_BUTTON_ENABLED_PUSHED, info->color, info->borderColor );
  109. StoreColor( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_LEFT, info->color, info->borderColor );
  110. StoreColor( COMBOBOX_LISTBOX_DOWN_BUTTON_ENABLED_PUSHED, info->color, info->borderColor );
  111. StoreColor( COMBOBOX_LISTBOX_SLIDER_THUMB_ENABLED_PUSHED, info->color, info->borderColor );
  112. info = GetStateInfo( COMBOBOX_DISABLED );
  113. StoreColor( COMBOBOX_DROP_DOWN_BUTTON_DISABLED, info->color, info->borderColor );
  114. StoreColor( COMBOBOX_LISTBOX_DISABLED, info->color, info->borderColor );
  115. StoreColor( COMBOBOX_LISTBOX_UP_BUTTON_DISABLED, info->color, info->borderColor );
  116. StoreColor( COMBOBOX_LISTBOX_DOWN_BUTTON_DISABLED, info->color, info->borderColor );
  117. StoreColor( COMBOBOX_LISTBOX_SLIDER_DISABLED_TOP, info->color, info->borderColor );
  118. StoreColor( COMBOBOX_LISTBOX_SLIDER_THUMB_DISABLED, info->color, info->borderColor );
  119. info = GetStateInfo( COMBOBOX_DISABLED_SELECTED_ITEM_LEFT );
  120. StoreColor( COMBOBOX_EDIT_BOX_DISABLED_LEFT, info->color, info->borderColor );
  121. StoreColor( COMBOBOX_DROP_DOWN_BUTTON_DISABLED_PUSHED, info->color, info->borderColor );
  122. StoreColor( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_LEFT, info->color, info->borderColor );
  123. StoreColor( COMBOBOX_LISTBOX_UP_BUTTON_DISABLED_PUSHED, info->color, info->borderColor );
  124. StoreColor( COMBOBOX_LISTBOX_DOWN_BUTTON_DISABLED_PUSHED, info->color, info->borderColor );
  125. StoreColor( COMBOBOX_LISTBOX_SLIDER_THUMB_DISABLED_PUSHED, info->color, info->borderColor );
  126. info = GetStateInfo( COMBOBOX_HILITE );
  127. StoreColor( COMBOBOX_DROP_DOWN_BUTTON_HILITE, info->color, info->borderColor );
  128. StoreColor( COMBOBOX_LISTBOX_HILITE, info->color, info->borderColor );
  129. StoreColor( COMBOBOX_LISTBOX_UP_BUTTON_HILITE, info->color, info->borderColor );
  130. StoreColor( COMBOBOX_LISTBOX_DOWN_BUTTON_HILITE, info->color, info->borderColor );
  131. StoreColor( COMBOBOX_LISTBOX_SLIDER_HILITE_TOP, info->color, info->borderColor );
  132. StoreColor( COMBOBOX_LISTBOX_SLIDER_THUMB_HILITE, info->color, info->borderColor );
  133. info = GetStateInfo( COMBOBOX_HILITE_SELECTED_ITEM_LEFT );
  134. StoreColor( COMBOBOX_DROP_DOWN_BUTTON_HILITE_PUSHED, info->color, info->borderColor );
  135. StoreColor( COMBOBOX_EDIT_BOX_HILITE_LEFT, info->color, info->borderColor );
  136. StoreColor( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_LEFT, info->color, info->borderColor );
  137. StoreColor( COMBOBOX_LISTBOX_UP_BUTTON_HILITE_PUSHED, info->color, info->borderColor );
  138. StoreColor( COMBOBOX_LISTBOX_DOWN_BUTTON_HILITE_PUSHED, info->color, info->borderColor );
  139. StoreColor( COMBOBOX_LISTBOX_SLIDER_THUMB_HILITE_PUSHED, info->color, info->borderColor );
  140. break;
  141. } // end case subcontrol color
  142. // --------------------------------------------------------------------
  143. case IDOK:
  144. {
  145. GameWindow *window = TheEditor->getPropertyTarget();
  146. // sanity
  147. if( window )
  148. {
  149. ImageAndColorInfo *info;
  150. // save the common properties
  151. if( SaveCommonDialogProperties( hWndDialog, window ) == FALSE )
  152. break;
  153. // save the image and color data
  154. // ----------------------------------------------------------------
  155. info = GetStateInfo( COMBOBOX_ENABLED );
  156. GadgetComboBoxSetEnabledImage( window, info->image );
  157. GadgetComboBoxSetEnabledColor( window, info->color );
  158. GadgetComboBoxSetEnabledBorderColor( window, info->borderColor );
  159. info = GetStateInfo( COMBOBOX_ENABLED_SELECTED_ITEM_LEFT );
  160. GadgetComboBoxSetEnabledSelectedItemImageLeft( window, info->image );
  161. GadgetComboBoxSetEnabledSelectedItemColor( window, info->color );
  162. GadgetComboBoxSetEnabledSelectedItemBorderColor( window, info->borderColor );
  163. info = GetStateInfo( COMBOBOX_ENABLED_SELECTED_ITEM_RIGHT );
  164. GadgetComboBoxSetEnabledSelectedItemImageRight( window, info->image );
  165. info = GetStateInfo( COMBOBOX_ENABLED_SELECTED_ITEM_CENTER );
  166. GadgetComboBoxSetEnabledSelectedItemImageCenter( window, info->image );
  167. info = GetStateInfo( COMBOBOX_ENABLED_SELECTED_ITEM_SMALL_CENTER );
  168. GadgetComboBoxSetEnabledSelectedItemImageSmallCenter( window, info->image );
  169. // ----------------------------------------------------------------
  170. info = GetStateInfo( COMBOBOX_DISABLED );
  171. GadgetComboBoxSetDisabledImage( window, info->image );
  172. GadgetComboBoxSetDisabledColor( window, info->color );
  173. GadgetComboBoxSetDisabledBorderColor( window, info->borderColor );
  174. info = GetStateInfo( COMBOBOX_DISABLED_SELECTED_ITEM_LEFT );
  175. GadgetComboBoxSetDisabledSelectedItemImageLeft( window, info->image );
  176. GadgetComboBoxSetDisabledSelectedItemColor( window, info->color );
  177. GadgetComboBoxSetDisabledSelectedItemBorderColor( window, info->borderColor );
  178. info = GetStateInfo( COMBOBOX_DISABLED_SELECTED_ITEM_RIGHT );
  179. GadgetComboBoxSetDisabledSelectedItemImageRight( window, info->image );
  180. info = GetStateInfo( COMBOBOX_DISABLED_SELECTED_ITEM_CENTER );
  181. GadgetComboBoxSetDisabledSelectedItemImageCenter( window, info->image );
  182. info = GetStateInfo( COMBOBOX_DISABLED_SELECTED_ITEM_SMALL_CENTER );
  183. GadgetComboBoxSetDisabledSelectedItemImageSmallCenter( window, info->image );
  184. // ----------------------------------------------------------------
  185. info = GetStateInfo( COMBOBOX_HILITE );
  186. GadgetComboBoxSetHiliteImage( window, info->image );
  187. GadgetComboBoxSetHiliteColor( window, info->color );
  188. GadgetComboBoxSetHiliteBorderColor( window, info->borderColor );
  189. info = GetStateInfo( COMBOBOX_HILITE_SELECTED_ITEM_LEFT );
  190. GadgetComboBoxSetHiliteSelectedItemImageLeft( window, info->image );
  191. GadgetComboBoxSetHiliteSelectedItemColor( window, info->color );
  192. GadgetComboBoxSetHiliteSelectedItemBorderColor( window, info->borderColor );
  193. info = GetStateInfo( COMBOBOX_HILITE_SELECTED_ITEM_RIGHT );
  194. GadgetComboBoxSetHiliteSelectedItemImageRight( window, info->image );
  195. info = GetStateInfo( COMBOBOX_HILITE_SELECTED_ITEM_CENTER );
  196. GadgetComboBoxSetHiliteSelectedItemImageCenter( window, info->image );
  197. info = GetStateInfo( COMBOBOX_HILITE_SELECTED_ITEM_SMALL_CENTER );
  198. GadgetComboBoxSetHiliteSelectedItemImageSmallCenter( window, info->image );
  199. GameWindow *dropDownButton = GadgetComboBoxGetDropDownButton( window );
  200. if (dropDownButton)
  201. {
  202. // save the image and color data
  203. // ----------------------------------------------------------------
  204. info = GetStateInfo( COMBOBOX_DROP_DOWN_BUTTON_ENABLED );
  205. GadgetButtonSetEnabledImage( dropDownButton, info->image );
  206. GadgetButtonSetEnabledColor( dropDownButton, info->color );
  207. GadgetButtonSetEnabledBorderColor( dropDownButton, info->borderColor );
  208. info = GetStateInfo( COMBOBOX_DROP_DOWN_BUTTON_ENABLED_PUSHED );
  209. GadgetButtonSetEnabledSelectedImage( dropDownButton, info->image );
  210. GadgetButtonSetEnabledSelectedColor( dropDownButton, info->color );
  211. GadgetButtonSetEnabledSelectedBorderColor( dropDownButton, info->borderColor );
  212. // ----------------------------------------------------------------
  213. info = GetStateInfo( COMBOBOX_DROP_DOWN_BUTTON_DISABLED );
  214. GadgetButtonSetDisabledImage( dropDownButton, info->image );
  215. GadgetButtonSetDisabledColor( dropDownButton, info->color );
  216. GadgetButtonSetDisabledBorderColor( dropDownButton, info->borderColor );
  217. info = GetStateInfo( COMBOBOX_DROP_DOWN_BUTTON_DISABLED_PUSHED );
  218. GadgetButtonSetDisabledSelectedImage( dropDownButton, info->image );
  219. GadgetButtonSetDisabledSelectedColor( dropDownButton, info->color );
  220. GadgetButtonSetDisabledSelectedBorderColor( dropDownButton, info->borderColor );
  221. // ----------------------------------------------------------------
  222. info = GetStateInfo( COMBOBOX_DROP_DOWN_BUTTON_HILITE );
  223. GadgetButtonSetHiliteImage( dropDownButton, info->image );
  224. GadgetButtonSetHiliteColor( dropDownButton, info->color );
  225. GadgetButtonSetHiliteBorderColor( dropDownButton, info->borderColor );
  226. info = GetStateInfo( COMBOBOX_DROP_DOWN_BUTTON_HILITE_PUSHED );
  227. GadgetButtonSetHiliteSelectedImage( dropDownButton, info->image );
  228. GadgetButtonSetHiliteSelectedColor( dropDownButton, info->color );
  229. GadgetButtonSetHiliteSelectedBorderColor( dropDownButton, info->borderColor );
  230. }
  231. GameWindow *editBox = GadgetComboBoxGetEditBox( window );
  232. if (editBox)
  233. {
  234. // save the image and color data
  235. // ----------------------------------------------------------------
  236. info = GetStateInfo( COMBOBOX_EDIT_BOX_ENABLED_LEFT );
  237. GadgetTextEntrySetEnabledImageLeft( editBox, info->image );
  238. GadgetTextEntrySetEnabledColor( editBox, info->color );
  239. GadgetTextEntrySetEnabledBorderColor( editBox, info->borderColor );
  240. info = GetStateInfo( COMBOBOX_EDIT_BOX_ENABLED_RIGHT );
  241. GadgetTextEntrySetEnabledImageRight( editBox, info->image );
  242. info = GetStateInfo( COMBOBOX_EDIT_BOX_ENABLED_CENTER );
  243. GadgetTextEntrySetEnabledImageCenter( editBox, info->image );
  244. info = GetStateInfo( COMBOBOX_EDIT_BOX_ENABLED_SMALL_CENTER );
  245. GadgetTextEntrySetEnabledImageSmallCenter( editBox, info->image );
  246. // ----------------------------------------------------------------
  247. info = GetStateInfo( COMBOBOX_EDIT_BOX_DISABLED_LEFT );
  248. GadgetTextEntrySetDisabledImageLeft( editBox, info->image );
  249. GadgetTextEntrySetDisabledColor( editBox, info->color );
  250. GadgetTextEntrySetDisabledBorderColor( editBox, info->borderColor );
  251. info = GetStateInfo( COMBOBOX_EDIT_BOX_DISABLED_RIGHT );
  252. GadgetTextEntrySetDisabledImageRight( editBox, info->image );
  253. info = GetStateInfo( COMBOBOX_EDIT_BOX_DISABLED_CENTER );
  254. GadgetTextEntrySetDisabledImageCenter( editBox, info->image );
  255. info = GetStateInfo( COMBOBOX_EDIT_BOX_DISABLED_SMALL_CENTER );
  256. GadgetTextEntrySetDisabledImageSmallCenter( editBox, info->image );
  257. // ----------------------------------------------------------------
  258. info = GetStateInfo( COMBOBOX_EDIT_BOX_HILITE_LEFT );
  259. GadgetTextEntrySetHiliteImageLeft( editBox, info->image );
  260. GadgetTextEntrySetHiliteColor( editBox, info->color );
  261. GadgetTextEntrySetHiliteBorderColor( editBox, info->borderColor );
  262. info = GetStateInfo( COMBOBOX_EDIT_BOX_HILITE_RIGHT );
  263. GadgetTextEntrySetHiliteImageRight( editBox, info->image );
  264. info = GetStateInfo( COMBOBOX_EDIT_BOX_HILITE_CENTER );
  265. GadgetTextEntrySetHiliteImageCenter( editBox, info->image );
  266. info = GetStateInfo( COMBOBOX_EDIT_BOX_HILITE_SMALL_CENTER );
  267. GadgetTextEntrySetHiliteImageSmallCenter( editBox, info->image );
  268. }
  269. GameWindow *listBox = GadgetComboBoxGetListBox( window );
  270. if (listBox)
  271. {
  272. // save the image and color data
  273. // ----------------------------------------------------------------
  274. info = GetStateInfo( COMBOBOX_LISTBOX_ENABLED );
  275. GadgetListBoxSetEnabledImage( listBox, info->image );
  276. GadgetListBoxSetEnabledColor( listBox, info->color );
  277. GadgetListBoxSetEnabledBorderColor( listBox, info->borderColor );
  278. info = GetStateInfo( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_LEFT );
  279. GadgetListBoxSetEnabledSelectedItemImageLeft( listBox, info->image );
  280. GadgetListBoxSetEnabledSelectedItemColor( listBox, info->color );
  281. GadgetListBoxSetEnabledSelectedItemBorderColor( listBox, info->borderColor );
  282. info = GetStateInfo( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_RIGHT );
  283. GadgetListBoxSetEnabledSelectedItemImageRight( listBox, info->image );
  284. info = GetStateInfo( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_CENTER );
  285. GadgetListBoxSetEnabledSelectedItemImageCenter( listBox, info->image );
  286. info = GetStateInfo( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_SMALL_CENTER );
  287. GadgetListBoxSetEnabledSelectedItemImageSmallCenter( listBox, info->image );
  288. // ----------------------------------------------------------------
  289. info = GetStateInfo( COMBOBOX_LISTBOX_DISABLED );
  290. GadgetListBoxSetDisabledImage( listBox, info->image );
  291. GadgetListBoxSetDisabledColor( listBox, info->color );
  292. GadgetListBoxSetDisabledBorderColor( listBox, info->borderColor );
  293. info = GetStateInfo( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_LEFT );
  294. GadgetListBoxSetDisabledSelectedItemImageLeft( listBox, info->image );
  295. GadgetListBoxSetDisabledSelectedItemColor( listBox, info->color );
  296. GadgetListBoxSetDisabledSelectedItemBorderColor( listBox, info->borderColor );
  297. info = GetStateInfo( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_RIGHT );
  298. GadgetListBoxSetDisabledSelectedItemImageRight( listBox, info->image );
  299. info = GetStateInfo( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_CENTER );
  300. GadgetListBoxSetDisabledSelectedItemImageCenter( listBox, info->image );
  301. info = GetStateInfo( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_SMALL_CENTER );
  302. GadgetListBoxSetDisabledSelectedItemImageSmallCenter( listBox, info->image );
  303. // ----------------------------------------------------------------
  304. info = GetStateInfo( COMBOBOX_LISTBOX_HILITE );
  305. GadgetListBoxSetHiliteImage( listBox, info->image );
  306. GadgetListBoxSetHiliteColor( listBox, info->color );
  307. GadgetListBoxSetHiliteBorderColor( listBox, info->borderColor );
  308. info = GetStateInfo( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_LEFT );
  309. GadgetListBoxSetHiliteSelectedItemImageLeft( listBox, info->image );
  310. GadgetListBoxSetHiliteSelectedItemColor( listBox, info->color );
  311. GadgetListBoxSetHiliteSelectedItemBorderColor( listBox, info->borderColor );
  312. info = GetStateInfo( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_RIGHT );
  313. GadgetListBoxSetHiliteSelectedItemImageRight( listBox, info->image );
  314. info = GetStateInfo( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_CENTER );
  315. GadgetListBoxSetHiliteSelectedItemImageCenter( listBox, info->image );
  316. info = GetStateInfo( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_SMALL_CENTER );
  317. GadgetListBoxSetHiliteSelectedItemImageSmallCenter( listBox, info->image );
  318. // up button
  319. GameWindow *upButton = GadgetListBoxGetUpButton( listBox );
  320. if( upButton )
  321. {
  322. // ----------------------------------------------------------------
  323. info = GetStateInfo( COMBOBOX_LISTBOX_UP_BUTTON_ENABLED );
  324. GadgetButtonSetEnabledImage( upButton, info->image );
  325. GadgetButtonSetEnabledColor( upButton, info->color );
  326. GadgetButtonSetEnabledBorderColor( upButton, info->borderColor );
  327. info = GetStateInfo( COMBOBOX_LISTBOX_UP_BUTTON_ENABLED_PUSHED );
  328. GadgetButtonSetEnabledSelectedImage( upButton, info->image );
  329. GadgetButtonSetEnabledSelectedColor( upButton, info->color );
  330. GadgetButtonSetEnabledSelectedBorderColor( upButton, info->borderColor );
  331. // ----------------------------------------------------------------
  332. info = GetStateInfo( COMBOBOX_LISTBOX_UP_BUTTON_DISABLED );
  333. GadgetButtonSetDisabledImage( upButton, info->image );
  334. GadgetButtonSetDisabledColor( upButton, info->color );
  335. GadgetButtonSetDisabledBorderColor( upButton, info->borderColor );
  336. info = GetStateInfo( COMBOBOX_LISTBOX_UP_BUTTON_DISABLED_PUSHED );
  337. GadgetButtonSetDisabledSelectedImage( upButton, info->image );
  338. GadgetButtonSetDisabledSelectedColor( upButton, info->color );
  339. GadgetButtonSetDisabledSelectedBorderColor( upButton, info->borderColor );
  340. // ----------------------------------------------------------------
  341. info = GetStateInfo( COMBOBOX_LISTBOX_UP_BUTTON_HILITE );
  342. GadgetButtonSetHiliteImage( upButton, info->image );
  343. GadgetButtonSetHiliteColor( upButton, info->color );
  344. GadgetButtonSetHiliteBorderColor( upButton, info->borderColor );
  345. info = GetStateInfo( COMBOBOX_LISTBOX_UP_BUTTON_HILITE_PUSHED );
  346. GadgetButtonSetHiliteSelectedImage( upButton, info->image );
  347. GadgetButtonSetHiliteSelectedColor( upButton, info->color );
  348. GadgetButtonSetHiliteSelectedBorderColor( upButton, info->borderColor );
  349. } // end if
  350. // down button
  351. GameWindow *downButton = GadgetListBoxGetDownButton( listBox );
  352. if( downButton )
  353. {
  354. // ----------------------------------------------------------------
  355. info = GetStateInfo( COMBOBOX_LISTBOX_DOWN_BUTTON_ENABLED );
  356. GadgetButtonSetEnabledImage( downButton, info->image );
  357. GadgetButtonSetEnabledColor( downButton, info->color );
  358. GadgetButtonSetEnabledBorderColor( downButton, info->borderColor );
  359. info = GetStateInfo( COMBOBOX_LISTBOX_DOWN_BUTTON_ENABLED_PUSHED );
  360. GadgetButtonSetEnabledSelectedImage( downButton, info->image );
  361. GadgetButtonSetEnabledSelectedColor( downButton, info->color );
  362. GadgetButtonSetEnabledSelectedBorderColor( downButton, info->borderColor );
  363. // ----------------------------------------------------------------
  364. info = GetStateInfo( COMBOBOX_LISTBOX_DOWN_BUTTON_DISABLED );
  365. GadgetButtonSetDisabledImage( downButton, info->image );
  366. GadgetButtonSetDisabledColor( downButton, info->color );
  367. GadgetButtonSetDisabledBorderColor( downButton, info->borderColor );
  368. info = GetStateInfo( COMBOBOX_LISTBOX_DOWN_BUTTON_DISABLED_PUSHED );
  369. GadgetButtonSetDisabledSelectedImage( downButton, info->image );
  370. GadgetButtonSetDisabledSelectedColor( downButton, info->color );
  371. GadgetButtonSetDisabledSelectedBorderColor( downButton, info->borderColor );
  372. // ----------------------------------------------------------------
  373. info = GetStateInfo( COMBOBOX_LISTBOX_DOWN_BUTTON_HILITE );
  374. GadgetButtonSetHiliteImage( downButton, info->image );
  375. GadgetButtonSetHiliteColor( downButton, info->color );
  376. GadgetButtonSetHiliteBorderColor( downButton, info->borderColor );
  377. info = GetStateInfo( COMBOBOX_LISTBOX_DOWN_BUTTON_HILITE_PUSHED );
  378. GadgetButtonSetHiliteSelectedImage( downButton, info->image );
  379. GadgetButtonSetHiliteSelectedColor( downButton, info->color );
  380. GadgetButtonSetHiliteSelectedBorderColor( downButton, info->borderColor );
  381. } // end if
  382. // slider
  383. GameWindow *slider = GadgetListBoxGetSlider( listBox );
  384. if( slider )
  385. {
  386. // ----------------------------------------------------------------
  387. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_ENABLED_TOP );
  388. GadgetSliderSetEnabledImageTop( slider, info->image );
  389. GadgetSliderSetEnabledColor( slider, info->color );
  390. GadgetSliderSetEnabledBorderColor( slider, info->borderColor );
  391. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_ENABLED_BOTTOM );
  392. GadgetSliderSetEnabledImageBottom( slider, info->image );
  393. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_ENABLED_CENTER );
  394. GadgetSliderSetEnabledImageCenter( slider, info->image );
  395. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_ENABLED_SMALL_CENTER );
  396. GadgetSliderSetEnabledImageSmallCenter( slider, info->image );
  397. // ----------------------------------------------------------------
  398. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_DISABLED_TOP );
  399. GadgetSliderSetDisabledImageTop( slider, info->image );
  400. GadgetSliderSetDisabledColor( slider, info->color );
  401. GadgetSliderSetDisabledBorderColor( slider, info->borderColor );
  402. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_DISABLED_BOTTOM );
  403. GadgetSliderSetDisabledImageBottom( slider, info->image );
  404. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_DISABLED_CENTER );
  405. GadgetSliderSetDisabledImageCenter( slider, info->image );
  406. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_DISABLED_SMALL_CENTER );
  407. GadgetSliderSetDisabledImageSmallCenter( slider, info->image );
  408. // ----------------------------------------------------------------
  409. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_HILITE_TOP );
  410. GadgetSliderSetHiliteImageTop( slider, info->image );
  411. GadgetSliderSetHiliteColor( slider, info->color );
  412. GadgetSliderSetHiliteBorderColor( slider, info->borderColor );
  413. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_HILITE_BOTTOM );
  414. GadgetSliderSetHiliteImageBottom( slider, info->image );
  415. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_HILITE_CENTER );
  416. GadgetSliderSetHiliteImageCenter( slider, info->image );
  417. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_HILITE_SMALL_CENTER );
  418. GadgetSliderSetHiliteImageSmallCenter( slider, info->image );
  419. // ----------------------------------------------------------------
  420. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_THUMB_ENABLED );
  421. GadgetSliderSetEnabledThumbImage( slider, info->image );
  422. GadgetSliderSetEnabledThumbColor( slider, info->color );
  423. GadgetSliderSetEnabledThumbBorderColor( slider, info->borderColor );
  424. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_THUMB_ENABLED_PUSHED );
  425. GadgetSliderSetEnabledSelectedThumbImage( slider, info->image );
  426. GadgetSliderSetEnabledSelectedThumbColor( slider, info->color );
  427. GadgetSliderSetEnabledSelectedThumbBorderColor( slider, info->borderColor );
  428. // ----------------------------------------------------------------
  429. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_THUMB_DISABLED );
  430. GadgetSliderSetDisabledThumbImage( slider, info->image );
  431. GadgetSliderSetDisabledThumbColor( slider, info->color );
  432. GadgetSliderSetDisabledThumbBorderColor( slider, info->borderColor );
  433. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_THUMB_DISABLED_PUSHED );
  434. GadgetSliderSetDisabledSelectedThumbImage( slider, info->image );
  435. GadgetSliderSetDisabledSelectedThumbColor( slider, info->color );
  436. GadgetSliderSetDisabledSelectedThumbBorderColor( slider, info->borderColor );
  437. // ----------------------------------------------------------------
  438. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_THUMB_HILITE );
  439. GadgetSliderSetHiliteThumbImage( slider, info->image );
  440. GadgetSliderSetHiliteThumbColor( slider, info->color );
  441. GadgetSliderSetHiliteThumbBorderColor( slider, info->borderColor );
  442. info = GetStateInfo( COMBOBOX_LISTBOX_SLIDER_THUMB_HILITE_PUSHED );
  443. GadgetSliderSetHiliteSelectedThumbImage( slider, info->image );
  444. GadgetSliderSetHiliteSelectedThumbColor( slider, info->color );
  445. GadgetSliderSetHiliteSelectedThumbBorderColor( slider, info->borderColor );
  446. } // end if
  447. } // end if (listBox)
  448. // save specific list data
  449. ComboBoxData *comboData = (ComboBoxData *)window->winGetUserData();
  450. GadgetComboBoxSetIsEditable(window, IsDlgButtonChecked( hWndDialog, CHECK_IS_EDITABLE ));
  451. GadgetComboBoxSetAsciiOnly(window, IsDlgButtonChecked( hWndDialog, CHECK_ASCII_TEXT ));
  452. GadgetComboBoxSetLettersAndNumbersOnly(window, IsDlgButtonChecked( hWndDialog, CHECK_LETTERS_AND_NUMBERS ));
  453. // change in the size of the comboBox
  454. Int newMaxChars = GetDlgItemInt( hWndDialog, EDIT_MAX_CHARS, NULL, FALSE );
  455. if( newMaxChars != comboData->maxChars)
  456. GadgetComboBoxSetMaxChars( window, newMaxChars );
  457. Int newMaxDisplay = GetDlgItemInt( hWndDialog, EDIT_MAX_ITEMS_DISPLAYED, NULL, FALSE );
  458. if( newMaxDisplay != comboData->maxDisplay )
  459. GadgetComboBoxSetMaxDisplay( window, newMaxDisplay );
  460. } // end if
  461. DestroyWindow( hWndDialog );
  462. break;
  463. } // end OK
  464. // --------------------------------------------------------------------
  465. case IDCANCEL:
  466. {
  467. DestroyWindow( hWndDialog );
  468. break;
  469. } // end cancel
  470. } // end switch( LOWORD( wParam ) )
  471. return 0;
  472. } // end of WM_COMMAND
  473. // ------------------------------------------------------------------------
  474. case WM_CLOSE:
  475. {
  476. DestroyWindow( hWndDialog );
  477. return 0;
  478. } // end close
  479. // ------------------------------------------------------------------------
  480. default:
  481. return 0;
  482. } // end of switch
  483. } // end comboBoxPropertiesCallback
  484. ///////////////////////////////////////////////////////////////////////////////
  485. // PUBLIC FUNCTIONS ///////////////////////////////////////////////////////////
  486. ///////////////////////////////////////////////////////////////////////////////
  487. // InitComboBoxPropertiesDialog ================================================
  488. /** Bring up the comboBox properties window */
  489. //=============================================================================
  490. HWND InitComboBoxPropertiesDialog( GameWindow *window )
  491. {
  492. HWND dialog;
  493. // create the dialog box
  494. dialog = CreateDialog( TheEditor->getInstance(),
  495. (LPCTSTR)COMBO_BOX_PROPERTIES_DIALOG,
  496. TheEditor->getWindowHandle(),
  497. (DLGPROC)comboBoxPropertiesCallback );
  498. if( dialog == NULL )
  499. return NULL;
  500. // do the common initialization
  501. CommonDialogInitialize( window, dialog );
  502. //
  503. // store in the image and color table the values for this combo Box
  504. //
  505. const Image *image;
  506. Color color, borderColor;
  507. // --------------------------------------------------------------------------
  508. image = GadgetComboBoxGetEnabledImage( window );
  509. color = GadgetComboBoxGetEnabledColor( window );
  510. borderColor = GadgetComboBoxGetEnabledBorderColor( window );
  511. StoreImageAndColor( COMBOBOX_ENABLED, image, color, borderColor );
  512. image = GadgetComboBoxGetEnabledSelectedItemImageLeft( window );
  513. color = GadgetComboBoxGetEnabledSelectedItemColor( window );
  514. borderColor = GadgetComboBoxGetEnabledSelectedItemBorderColor( window );
  515. StoreImageAndColor( COMBOBOX_ENABLED_SELECTED_ITEM_LEFT, image, color, borderColor );
  516. image = GadgetComboBoxGetEnabledSelectedItemImageRight( window );
  517. StoreImageAndColor( COMBOBOX_ENABLED_SELECTED_ITEM_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  518. image = GadgetComboBoxGetEnabledSelectedItemImageCenter( window );
  519. StoreImageAndColor( COMBOBOX_ENABLED_SELECTED_ITEM_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  520. image = GadgetComboBoxGetEnabledSelectedItemImageSmallCenter( window );
  521. StoreImageAndColor( COMBOBOX_ENABLED_SELECTED_ITEM_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  522. // --------------------------------------------------------------------------
  523. image = GadgetComboBoxGetDisabledImage( window );
  524. color = GadgetComboBoxGetDisabledColor( window );
  525. borderColor = GadgetComboBoxGetDisabledBorderColor( window );
  526. StoreImageAndColor( COMBOBOX_DISABLED, image, color, borderColor );
  527. image = GadgetComboBoxGetDisabledSelectedItemImageLeft( window );
  528. color = GadgetComboBoxGetDisabledSelectedItemColor( window );
  529. borderColor = GadgetComboBoxGetDisabledSelectedItemBorderColor( window );
  530. StoreImageAndColor( COMBOBOX_DISABLED_SELECTED_ITEM_LEFT, image, color, borderColor );
  531. image = GadgetComboBoxGetDisabledSelectedItemImageRight( window );
  532. StoreImageAndColor( COMBOBOX_DISABLED_SELECTED_ITEM_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  533. image = GadgetComboBoxGetDisabledSelectedItemImageCenter( window );
  534. StoreImageAndColor( COMBOBOX_DISABLED_SELECTED_ITEM_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  535. image = GadgetComboBoxGetDisabledSelectedItemImageSmallCenter( window );
  536. StoreImageAndColor( COMBOBOX_DISABLED_SELECTED_ITEM_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  537. // --------------------------------------------------------------------------
  538. image = GadgetComboBoxGetHiliteImage( window );
  539. color = GadgetComboBoxGetHiliteColor( window );
  540. borderColor = GadgetComboBoxGetHiliteBorderColor( window );
  541. StoreImageAndColor( COMBOBOX_HILITE, image, color, borderColor );
  542. image = GadgetComboBoxGetHiliteSelectedItemImageLeft( window );
  543. color = GadgetComboBoxGetHiliteSelectedItemColor( window );
  544. borderColor = GadgetComboBoxGetHiliteSelectedItemBorderColor( window );
  545. StoreImageAndColor( COMBOBOX_HILITE_SELECTED_ITEM_LEFT, image, color, borderColor );
  546. image = GadgetComboBoxGetHiliteSelectedItemImageRight( window );
  547. StoreImageAndColor( COMBOBOX_HILITE_SELECTED_ITEM_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  548. image = GadgetComboBoxGetHiliteSelectedItemImageCenter( window );
  549. StoreImageAndColor( COMBOBOX_HILITE_SELECTED_ITEM_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  550. image = GadgetComboBoxGetHiliteSelectedItemImageSmallCenter( window );
  551. StoreImageAndColor( COMBOBOX_HILITE_SELECTED_ITEM_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  552. GameWindow *listBox = GadgetComboBoxGetListBox( window );
  553. if (listBox)
  554. {
  555. image = GadgetListBoxGetEnabledSelectedItemImageLeft( listBox );
  556. color = GadgetListBoxGetEnabledSelectedItemColor( listBox );
  557. borderColor = GadgetListBoxGetEnabledSelectedItemBorderColor( listBox );
  558. StoreImageAndColor( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_LEFT, image, color, borderColor );
  559. image = GadgetListBoxGetEnabledSelectedItemImageRight( listBox );
  560. StoreImageAndColor( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  561. image = GadgetListBoxGetEnabledSelectedItemImageCenter( listBox );
  562. StoreImageAndColor( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  563. image = GadgetListBoxGetEnabledSelectedItemImageSmallCenter( listBox );
  564. StoreImageAndColor( COMBOBOX_LISTBOX_ENABLED_SELECTED_ITEM_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  565. // --------------------------------------------------------------------------
  566. image = GadgetListBoxGetDisabledImage( listBox );
  567. color = GadgetListBoxGetDisabledColor( listBox );
  568. borderColor = GadgetListBoxGetDisabledBorderColor( listBox );
  569. StoreImageAndColor( COMBOBOX_LISTBOX_DISABLED, image, color, borderColor );
  570. image = GadgetListBoxGetDisabledSelectedItemImageLeft( listBox );
  571. color = GadgetListBoxGetDisabledSelectedItemColor( listBox );
  572. borderColor = GadgetListBoxGetDisabledSelectedItemBorderColor( listBox );
  573. StoreImageAndColor( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_LEFT, image, color, borderColor );
  574. image = GadgetListBoxGetDisabledSelectedItemImageRight( listBox );
  575. StoreImageAndColor( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  576. image = GadgetListBoxGetDisabledSelectedItemImageCenter( listBox );
  577. StoreImageAndColor( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  578. image = GadgetListBoxGetDisabledSelectedItemImageSmallCenter( listBox );
  579. StoreImageAndColor( COMBOBOX_LISTBOX_DISABLED_SELECTED_ITEM_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  580. // --------------------------------------------------------------------------
  581. image = GadgetListBoxGetHiliteImage( listBox );
  582. color = GadgetListBoxGetHiliteColor( listBox );
  583. borderColor = GadgetListBoxGetHiliteBorderColor( listBox );
  584. StoreImageAndColor( COMBOBOX_LISTBOX_HILITE, image, color, borderColor );
  585. image = GadgetListBoxGetHiliteSelectedItemImageLeft( listBox );
  586. color = GadgetListBoxGetHiliteSelectedItemColor( listBox );
  587. borderColor = GadgetListBoxGetHiliteSelectedItemBorderColor( listBox );
  588. StoreImageAndColor( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_LEFT, image, color, borderColor );
  589. image = GadgetListBoxGetHiliteSelectedItemImageRight( listBox );
  590. StoreImageAndColor( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  591. image = GadgetListBoxGetHiliteSelectedItemImageCenter( listBox );
  592. StoreImageAndColor( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  593. image = GadgetListBoxGetHiliteSelectedItemImageSmallCenter( listBox );
  594. StoreImageAndColor( COMBOBOX_LISTBOX_HILITE_SELECTED_ITEM_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  595. // --------------------------------------------------------------------------
  596. GameWindow *upButton = GadgetListBoxGetUpButton( listBox );
  597. if( upButton )
  598. {
  599. // ------------------------------------------------------------------------
  600. image = GadgetButtonGetEnabledImage( upButton );
  601. color = GadgetButtonGetEnabledColor( upButton );
  602. borderColor = GadgetButtonGetEnabledBorderColor( upButton );
  603. StoreImageAndColor( COMBOBOX_LISTBOX_UP_BUTTON_ENABLED, image, color, borderColor );
  604. image = GadgetButtonGetEnabledSelectedImage( upButton );
  605. color = GadgetButtonGetEnabledSelectedColor( upButton );
  606. borderColor = GadgetButtonGetEnabledSelectedBorderColor( upButton );
  607. StoreImageAndColor( COMBOBOX_LISTBOX_UP_BUTTON_ENABLED_PUSHED, image, color, borderColor );
  608. // ------------------------------------------------------------------------
  609. image = GadgetButtonGetDisabledImage( upButton );
  610. color = GadgetButtonGetDisabledColor( upButton );
  611. borderColor = GadgetButtonGetDisabledBorderColor( upButton );
  612. StoreImageAndColor( COMBOBOX_LISTBOX_UP_BUTTON_DISABLED, image, color, borderColor );
  613. image = GadgetButtonGetDisabledSelectedImage( upButton );
  614. color = GadgetButtonGetDisabledSelectedColor( upButton );
  615. borderColor = GadgetButtonGetDisabledSelectedBorderColor( upButton );
  616. StoreImageAndColor( COMBOBOX_LISTBOX_UP_BUTTON_DISABLED_PUSHED, image, color, borderColor );
  617. // ------------------------------------------------------------------------
  618. image = GadgetButtonGetHiliteImage( upButton );
  619. color = GadgetButtonGetHiliteColor( upButton );
  620. borderColor = GadgetButtonGetHiliteBorderColor( upButton );
  621. StoreImageAndColor( COMBOBOX_LISTBOX_UP_BUTTON_HILITE, image, color, borderColor );
  622. image = GadgetButtonGetHiliteSelectedImage( upButton );
  623. color = GadgetButtonGetHiliteSelectedColor( upButton );
  624. borderColor = GadgetButtonGetHiliteSelectedBorderColor( upButton );
  625. StoreImageAndColor( COMBOBOX_LISTBOX_UP_BUTTON_HILITE_PUSHED, image, color, borderColor );
  626. } // end if
  627. // --------------------------------------------------------------------------
  628. GameWindow *downButton = GadgetListBoxGetDownButton( listBox );
  629. if( downButton )
  630. {
  631. // ------------------------------------------------------------------------
  632. image = GadgetButtonGetEnabledImage( downButton );
  633. color = GadgetButtonGetEnabledColor( downButton );
  634. borderColor = GadgetButtonGetEnabledBorderColor( downButton );
  635. StoreImageAndColor( COMBOBOX_LISTBOX_DOWN_BUTTON_ENABLED, image, color, borderColor );
  636. image = GadgetButtonGetEnabledSelectedImage( downButton );
  637. color = GadgetButtonGetEnabledSelectedColor( downButton );
  638. borderColor = GadgetButtonGetEnabledSelectedBorderColor( downButton );
  639. StoreImageAndColor( COMBOBOX_LISTBOX_DOWN_BUTTON_ENABLED_PUSHED, image, color, borderColor );
  640. // ------------------------------------------------------------------------
  641. image = GadgetButtonGetDisabledImage( downButton );
  642. color = GadgetButtonGetDisabledColor( downButton );
  643. borderColor = GadgetButtonGetDisabledBorderColor( downButton );
  644. StoreImageAndColor( COMBOBOX_LISTBOX_DOWN_BUTTON_DISABLED, image, color, borderColor );
  645. image = GadgetButtonGetDisabledSelectedImage( downButton );
  646. color = GadgetButtonGetDisabledSelectedColor( downButton );
  647. borderColor = GadgetButtonGetDisabledSelectedBorderColor( downButton );
  648. StoreImageAndColor( COMBOBOX_LISTBOX_DOWN_BUTTON_DISABLED_PUSHED, image, color, borderColor );
  649. // ------------------------------------------------------------------------
  650. image = GadgetButtonGetHiliteImage( downButton );
  651. color = GadgetButtonGetHiliteColor( downButton );
  652. borderColor = GadgetButtonGetHiliteBorderColor( downButton );
  653. StoreImageAndColor( COMBOBOX_LISTBOX_DOWN_BUTTON_HILITE, image, color, borderColor );
  654. image = GadgetButtonGetHiliteSelectedImage( downButton );
  655. color = GadgetButtonGetHiliteSelectedColor( downButton );
  656. borderColor = GadgetButtonGetHiliteSelectedBorderColor( downButton );
  657. StoreImageAndColor( COMBOBOX_LISTBOX_DOWN_BUTTON_HILITE_PUSHED, image, color, borderColor );
  658. } // end if
  659. GameWindow *slider = GadgetListBoxGetSlider( listBox );
  660. if( slider )
  661. {
  662. // --------------------------------------------------------------------------
  663. image = GadgetSliderGetEnabledImageTop( slider );
  664. color = GadgetSliderGetEnabledColor( slider );
  665. borderColor = GadgetSliderGetEnabledBorderColor( slider );
  666. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_ENABLED_TOP, image, color, borderColor );
  667. image = GadgetSliderGetEnabledImageBottom( slider );
  668. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_ENABLED_BOTTOM, image, color, borderColor );
  669. image = GadgetSliderGetEnabledImageCenter( slider );
  670. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_ENABLED_CENTER, image, color, borderColor );
  671. image = GadgetSliderGetEnabledImageSmallCenter( slider );
  672. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_ENABLED_SMALL_CENTER, image, color, borderColor );
  673. // --------------------------------------------------------------------------
  674. image = GadgetSliderGetDisabledImageTop( slider );
  675. color = GadgetSliderGetDisabledColor( slider );
  676. borderColor = GadgetSliderGetDisabledBorderColor( slider );
  677. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_DISABLED_TOP, image, color, borderColor );
  678. image = GadgetSliderGetDisabledImageBottom( slider );
  679. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_DISABLED_BOTTOM, image, color, borderColor );
  680. image = GadgetSliderGetDisabledImageCenter( slider );
  681. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_DISABLED_CENTER, image, color, borderColor );
  682. image = GadgetSliderGetDisabledImageSmallCenter( slider );
  683. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_DISABLED_SMALL_CENTER, image, color, borderColor );
  684. // --------------------------------------------------------------------------
  685. image = GadgetSliderGetHiliteImageTop( slider );
  686. color = GadgetSliderGetHiliteColor( slider );
  687. borderColor = GadgetSliderGetHiliteBorderColor( slider );
  688. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_HILITE_TOP, image, color, borderColor );
  689. image = GadgetSliderGetHiliteImageBottom( slider );
  690. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_HILITE_BOTTOM, image, color, borderColor );
  691. image = GadgetSliderGetHiliteImageCenter( slider );
  692. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_HILITE_CENTER, image, color, borderColor );
  693. image = GadgetSliderGetHiliteImageSmallCenter( slider );
  694. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_HILITE_SMALL_CENTER, image, color, borderColor );
  695. // --------------------------------------------------------------------------
  696. image = GadgetSliderGetEnabledThumbImage( slider );
  697. color = GadgetSliderGetEnabledThumbColor( slider );
  698. borderColor = GadgetSliderGetEnabledThumbBorderColor( slider );
  699. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_THUMB_ENABLED, image, color, borderColor );
  700. image = GadgetSliderGetEnabledSelectedThumbImage( slider );
  701. color = GadgetSliderGetEnabledSelectedThumbColor( slider );
  702. borderColor = GadgetSliderGetEnabledSelectedThumbBorderColor( slider );
  703. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_THUMB_ENABLED_PUSHED, image, color, borderColor );
  704. // --------------------------------------------------------------------------
  705. image = GadgetSliderGetDisabledThumbImage( slider );
  706. color = GadgetSliderGetDisabledThumbColor( slider );
  707. borderColor = GadgetSliderGetDisabledThumbBorderColor( slider );
  708. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_THUMB_DISABLED, image, color, borderColor );
  709. image = GadgetSliderGetDisabledSelectedThumbImage( slider );
  710. color = GadgetSliderGetDisabledSelectedThumbColor( slider );
  711. borderColor = GadgetSliderGetDisabledSelectedThumbBorderColor( slider );
  712. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_THUMB_DISABLED_PUSHED, image, color, borderColor );
  713. // --------------------------------------------------------------------------
  714. image = GadgetSliderGetHiliteThumbImage( slider );
  715. color = GadgetSliderGetHiliteThumbColor( slider );
  716. borderColor = GadgetSliderGetHiliteThumbBorderColor( slider );
  717. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_THUMB_HILITE, image, color, borderColor );
  718. image = GadgetSliderGetHiliteSelectedThumbImage( slider );
  719. color = GadgetSliderGetHiliteSelectedThumbColor( slider );
  720. borderColor = GadgetSliderGetHiliteSelectedThumbBorderColor( slider );
  721. StoreImageAndColor( COMBOBOX_LISTBOX_SLIDER_THUMB_HILITE_PUSHED, image, color, borderColor );
  722. } // end if
  723. GameWindow *dropDownButton = GadgetComboBoxGetDropDownButton( window );
  724. if ( dropDownButton )
  725. {
  726. image = GadgetButtonGetEnabledImage( dropDownButton );
  727. color = GadgetButtonGetEnabledColor( dropDownButton );
  728. borderColor = GadgetButtonGetEnabledBorderColor( dropDownButton );
  729. StoreImageAndColor( COMBOBOX_DROP_DOWN_BUTTON_ENABLED, image, color, borderColor );
  730. image = GadgetButtonGetEnabledSelectedImage(dropDownButton );
  731. color = GadgetButtonGetEnabledSelectedColor( dropDownButton );
  732. borderColor = GadgetButtonGetEnabledSelectedBorderColor( dropDownButton );
  733. StoreImageAndColor( COMBOBOX_DROP_DOWN_BUTTON_ENABLED_PUSHED, image, color, borderColor );
  734. image = GadgetButtonGetDisabledImage( dropDownButton );
  735. color = GadgetButtonGetDisabledColor( dropDownButton );
  736. borderColor = GadgetButtonGetDisabledBorderColor( dropDownButton );
  737. StoreImageAndColor( COMBOBOX_DROP_DOWN_BUTTON_DISABLED, image, color, borderColor );
  738. image = GadgetButtonGetDisabledSelectedImage( dropDownButton );
  739. color = GadgetButtonGetDisabledSelectedColor( dropDownButton );
  740. borderColor = GadgetButtonGetDisabledSelectedBorderColor( dropDownButton );
  741. StoreImageAndColor( COMBOBOX_DROP_DOWN_BUTTON_DISABLED_PUSHED, image, color, borderColor );
  742. image = GadgetButtonGetHiliteImage( dropDownButton );
  743. color = GadgetButtonGetHiliteColor( dropDownButton );
  744. borderColor = GadgetButtonGetHiliteBorderColor( dropDownButton );
  745. StoreImageAndColor( COMBOBOX_DROP_DOWN_BUTTON_HILITE, image, color, borderColor );
  746. image = GadgetButtonGetHiliteSelectedImage( dropDownButton );
  747. color = GadgetButtonGetHiliteSelectedColor( dropDownButton );
  748. borderColor = GadgetButtonGetHiliteSelectedBorderColor( dropDownButton );
  749. StoreImageAndColor( COMBOBOX_DROP_DOWN_BUTTON_HILITE_PUSHED, image, color, borderColor );
  750. }
  751. GameWindow * editBox = GadgetComboBoxGetEditBox( window );
  752. if ( editBox )
  753. {
  754. // --------------------------------------------------------------------------
  755. image = GadgetTextEntryGetEnabledImageLeft( editBox );
  756. color = GadgetTextEntryGetEnabledColor( editBox );
  757. borderColor = GadgetTextEntryGetEnabledBorderColor( editBox );
  758. StoreImageAndColor( COMBOBOX_EDIT_BOX_ENABLED_LEFT, image, color, borderColor );
  759. image = GadgetTextEntryGetEnabledImageRight( editBox );
  760. StoreImageAndColor( COMBOBOX_EDIT_BOX_ENABLED_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  761. image = GadgetTextEntryGetEnabledImageCenter( editBox );
  762. StoreImageAndColor( COMBOBOX_EDIT_BOX_ENABLED_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  763. image = GadgetTextEntryGetEnabledImageSmallCenter( editBox );
  764. StoreImageAndColor( COMBOBOX_EDIT_BOX_ENABLED_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  765. // --------------------------------------------------------------------------
  766. image = GadgetTextEntryGetDisabledImageLeft( editBox );
  767. color = GadgetTextEntryGetDisabledColor( editBox );
  768. borderColor = GadgetTextEntryGetDisabledBorderColor( editBox );
  769. StoreImageAndColor( COMBOBOX_EDIT_BOX_DISABLED_LEFT, image, color, borderColor );
  770. image = GadgetTextEntryGetDisabledImageRight( editBox );
  771. StoreImageAndColor( COMBOBOX_EDIT_BOX_DISABLED_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  772. image = GadgetTextEntryGetDisabledImageCenter( editBox );
  773. StoreImageAndColor( COMBOBOX_EDIT_BOX_DISABLED_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  774. image = GadgetTextEntryGetDisabledImageSmallCenter( editBox );
  775. StoreImageAndColor( COMBOBOX_EDIT_BOX_DISABLED_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  776. // --------------------------------------------------------------------------
  777. image = GadgetTextEntryGetHiliteImageLeft( editBox );
  778. color = GadgetTextEntryGetHiliteColor( editBox );
  779. borderColor = GadgetTextEntryGetHiliteBorderColor( editBox );
  780. StoreImageAndColor( COMBOBOX_EDIT_BOX_HILITE_LEFT, image, color, borderColor );
  781. image = GadgetTextEntryGetHiliteImageRight( editBox );
  782. StoreImageAndColor( COMBOBOX_EDIT_BOX_HILITE_RIGHT, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  783. image = GadgetTextEntryGetHiliteImageCenter( editBox );
  784. StoreImageAndColor( COMBOBOX_EDIT_BOX_HILITE_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  785. image = GadgetTextEntryGetHiliteImageSmallCenter( editBox );
  786. StoreImageAndColor( COMBOBOX_EDIT_BOX_HILITE_SMALL_CENTER, image, WIN_COLOR_UNDEFINED, WIN_COLOR_UNDEFINED );
  787. }
  788. }
  789. // init comboBox specific property section
  790. ComboBoxData *comboData = (ComboBoxData *)window->winGetUserData();
  791. SetDlgItemInt(dialog, EDIT_MAX_CHARS, comboData->maxChars, true);
  792. SetDlgItemInt(dialog, EDIT_MAX_ITEMS_DISPLAYED, comboData->maxDisplay,true );
  793. CheckDlgButton( dialog, CHECK_IS_EDITABLE, comboData->isEditable);
  794. CheckDlgButton( dialog, CHECK_ASCII_TEXT ,comboData->asciiOnly);
  795. CheckDlgButton( dialog, CHECK_LETTERS_AND_NUMBERS, comboData->lettersAndNumbersOnly);
  796. // select the button enabled state for display
  797. SwitchToState( COMBOBOX_ENABLED, dialog );
  798. //
  799. // initialize the dialog with values from the window
  800. //
  801. return dialog;
  802. } // end InitComboBoxPropertiesDialog