MCPcopy Create free account
hub / github.com/OpenDUNE/OpenDUNE / GUI_Mentat_HelpListLoop

Function GUI_Mentat_HelpListLoop

src/gui/mentat.c:119–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117}
118
119static void GUI_Mentat_HelpListLoop(void)
120{
121 uint16 key;
122
123 for (key = 0; key != 0x8001; sleepIdle()) {
124 Widget *w = g_widgetMentatTail;
125
126 GUI_Mentat_Animation(0);
127
128 key = GUI_Widget_HandleEvents(w);
129
130 if ((key & 0x800) != 0) key = 0;
131
132 if (key == 0x8001) break;
133
134 key &= 0x80FF;
135
136 s_selectMentatHelp = true;
137
138 switch (key) {
139 case 0x0053:
140 case 0x0060: /* NUMPAD 8 / ARROW UP */
141 case 0x0453:
142 case 0x0460:
143 if (s_selectedHelpSubject != 0) {
144 GUI_Mentat_List_Click(GUI_Widget_Get_ByIndex(w, s_selectedHelpSubject + 2));
145 break;
146 }
147
148 GUI_Widget_Scrollbar_ArrowUp_Click(g_widgetMentatScrollbar);
149 break;
150
151 case 0x0054:
152 case 0x0062: /* NUMPAD 2 / ARROW DOWN */
153 case 0x0454:
154 case 0x0462:
155 if (s_selectedHelpSubject < 10) {
156 GUI_Mentat_List_Click(GUI_Widget_Get_ByIndex(w, s_selectedHelpSubject + 4));
157 break;
158 }
159
160 GUI_Widget_Scrollbar_ArrowDown_Click(g_widgetMentatScrollbar);
161 break;
162
163 case 0x0055:
164 case 0x0065: /* NUMPAD 9 / PAGE UP */
165 case 0x0455:
166 case 0x0465: {
167 uint8 i;
168 for (i = 0; i < 11; i++) GUI_Widget_Scrollbar_ArrowUp_Click(g_widgetMentatScrollbar);
169 } break;
170
171 case 0x0056:
172 case 0x0067: /* NUMPAD 3 / PAGE DOWN */
173 case 0x0456:
174 case 0x0467: {
175 uint8 i;
176 for (i = 0; i < 11; i++) GUI_Widget_Scrollbar_ArrowDown_Click(g_widgetMentatScrollbar);

Callers 1

GUI_Mentat_ShowHelpListFunction · 0.85

Tested by

no test coverage detected