MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / OptionsControlsState

Method OptionsControlsState

src/Menu/OptionsControlsState.cpp:41–98  ·  view source on GitHub ↗

* Initializes all the elements in the Controls screen. * @param game Pointer to the core game. * @param origin Game section that originated this state. */

Source from the content-addressed store, hash-verified

39 * @param origin Game section that originated this state.
40 */
41OptionsControlsState::OptionsControlsState(Game *game, OptionsOrigin origin) : OptionsBaseState(game, origin), _selected(-1), _selKey(0)
42{
43 setCategory(_btnControls);
44
45 // Create objects
46 _lstControls = new TextList(200, 136, 94, 8);
47
48 add(_lstControls);
49
50 centerAllSurfaces();
51
52 // Set up objects
53 _lstControls->setColor(Palette::blockOffset(8)+10);
54 _lstControls->setArrowColor(Palette::blockOffset(8)+5);
55 _lstControls->setColumns(2, 152, 48);
56 _lstControls->setWordWrap(true);
57 _lstControls->setSelectable(true);
58 _lstControls->setBackground(_window);
59 _lstControls->onMouseClick((ActionHandler)&OptionsControlsState::lstControlsClick, 0);
60 _lstControls->onKeyboardPress((ActionHandler)&OptionsControlsState::lstControlsKeyPress);
61 _lstControls->setFocus(true);
62 _lstControls->setTooltip("STR_CONTROLS_DESC");
63 _lstControls->onMouseIn((ActionHandler)&OptionsControlsState::txtTooltipIn);
64 _lstControls->onMouseOut((ActionHandler)&OptionsControlsState::txtTooltipOut);
65
66 if (origin != OPT_BATTLESCAPE)
67 {
68 _colorGroup = Palette::blockOffset(15) - 1;
69 _colorSel = Palette::blockOffset(8) + 5;
70 _colorNormal = Palette::blockOffset(8) + 10;
71 }
72 else
73 {
74 _colorGroup = Palette::blockOffset(1) - 1;
75 _colorSel = Palette::blockOffset(5) - 1;
76 _colorNormal = Palette::blockOffset(0) - 1;
77 }
78
79 const std::vector<OptionInfo> &options = Options::getOptionInfo();
80 for (std::vector<OptionInfo>::const_iterator i = options.begin(); i != options.end(); ++i)
81 {
82 if (i->type() == OPTION_KEY && !i->description().empty())
83 {
84 if (i->category() == "STR_GENERAL")
85 {
86 _controlsGeneral.push_back(*i);
87 }
88 else if (i->category() == "STR_GEOSCAPE")
89 {
90 _controlsGeo.push_back(*i);
91 }
92 else if (i->category() == "STR_BATTLESCAPE")
93 {
94 _controlsBattle.push_back(*i);
95 }
96 }
97 }
98}

Callers

nothing calls this directly

Calls 15

setColumnsMethod · 0.80
onMouseClickMethod · 0.80
onKeyboardPressMethod · 0.80
setTooltipMethod · 0.80
onMouseInMethod · 0.80
onMouseOutMethod · 0.80
typeMethod · 0.80
descriptionMethod · 0.80
categoryMethod · 0.80
setColorMethod · 0.45
setArrowColorMethod · 0.45
setWordWrapMethod · 0.45

Tested by

no test coverage detected