Release 1.01
DisplayCodesMenu.cpp@6:af3769d17a35, 2019-09-17 (annotated)
- Committer:
- foxbrianr
- Date:
- Tue Sep 17 14:24:20 2019 +0000
- Revision:
- 6:af3769d17a35
- Parent:
- 5:9f4d4f8ffc00
- Child:
- 8:9d4e684d8eb8
RC01
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
foxbrianr | 5:9f4d4f8ffc00 | 1 | /************************************************************************** |
foxbrianr | 5:9f4d4f8ffc00 | 2 | * @file DisplayCodeMenu.cpp |
foxbrianr | 5:9f4d4f8ffc00 | 3 | * @brief Base class for implementing the Display Code Menu display |
foxbrianr | 5:9f4d4f8ffc00 | 4 | * @version: V1.0 |
foxbrianr | 5:9f4d4f8ffc00 | 5 | * @date: 9/17/2019 |
foxbrianr | 5:9f4d4f8ffc00 | 6 | |
foxbrianr | 5:9f4d4f8ffc00 | 7 | * |
foxbrianr | 5:9f4d4f8ffc00 | 8 | * @note |
foxbrianr | 5:9f4d4f8ffc00 | 9 | * Copyright (C) 2019 E3 Design. All rights reserved. |
foxbrianr | 5:9f4d4f8ffc00 | 10 | * |
foxbrianr | 5:9f4d4f8ffc00 | 11 | * @par |
foxbrianr | 5:9f4d4f8ffc00 | 12 | * E3 Designers LLC is supplying this software for use with Cortex-M3 LPC1768 |
foxbrianr | 5:9f4d4f8ffc00 | 13 | * processor based microcontroller for the ESCM 2000 Monitor and Display. |
foxbrianr | 5:9f4d4f8ffc00 | 14 | * * |
foxbrianr | 5:9f4d4f8ffc00 | 15 | * @par |
foxbrianr | 5:9f4d4f8ffc00 | 16 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED |
foxbrianr | 5:9f4d4f8ffc00 | 17 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF |
foxbrianr | 5:9f4d4f8ffc00 | 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. |
foxbrianr | 5:9f4d4f8ffc00 | 19 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR |
foxbrianr | 5:9f4d4f8ffc00 | 20 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
foxbrianr | 5:9f4d4f8ffc00 | 21 | * |
foxbrianr | 5:9f4d4f8ffc00 | 22 | ******************************************************************************/ |
foxbrianr | 3:8395f7ab6d3e | 23 | #include "mbed.h" |
foxbrianr | 3:8395f7ab6d3e | 24 | #include "DisplayCodesMenu.h" |
foxbrianr | 3:8395f7ab6d3e | 25 | #include "TimeUtilities.h" |
foxbrianr | 4:7226c43320b5 | 26 | #include "ESCMControlApp.h" |
foxbrianr | 3:8395f7ab6d3e | 27 | |
foxbrianr | 3:8395f7ab6d3e | 28 | |
foxbrianr | 5:9f4d4f8ffc00 | 29 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 30 | DisplayCodesMenu::DisplayCodesMenu(char* id): Menu(id) |
foxbrianr | 3:8395f7ab6d3e | 31 | { |
foxbrianr | 4:7226c43320b5 | 32 | |
foxbrianr | 4:7226c43320b5 | 33 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 34 | row=0; |
foxbrianr | 4:7226c43320b5 | 35 | column=0; |
foxbrianr | 4:7226c43320b5 | 36 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 37 | current_index=0; |
foxbrianr | 4:7226c43320b5 | 38 | current_line = 1; |
foxbrianr | 4:7226c43320b5 | 39 | top = 0; |
foxbrianr | 4:7226c43320b5 | 40 | |
foxbrianr | 4:7226c43320b5 | 41 | } |
foxbrianr | 4:7226c43320b5 | 42 | |
foxbrianr | 4:7226c43320b5 | 43 | |
foxbrianr | 4:7226c43320b5 | 44 | |
foxbrianr | 5:9f4d4f8ffc00 | 45 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 46 | void DisplayCodesMenu::init() |
foxbrianr | 4:7226c43320b5 | 47 | { |
foxbrianr | 3:8395f7ab6d3e | 48 | active_selection = 0; |
foxbrianr | 3:8395f7ab6d3e | 49 | row=0; |
foxbrianr | 3:8395f7ab6d3e | 50 | column=0; |
foxbrianr | 3:8395f7ab6d3e | 51 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 52 | current_index= 0; |
foxbrianr | 4:7226c43320b5 | 53 | current_line = 1; |
foxbrianr | 4:7226c43320b5 | 54 | top = 0; |
foxbrianr | 3:8395f7ab6d3e | 55 | } |
foxbrianr | 4:7226c43320b5 | 56 | |
foxbrianr | 4:7226c43320b5 | 57 | |
foxbrianr | 5:9f4d4f8ffc00 | 58 | /******************************************************************************/ |
foxbrianr | 3:8395f7ab6d3e | 59 | void DisplayCodesMenu::display(LCD * lcd) |
foxbrianr | 3:8395f7ab6d3e | 60 | { |
foxbrianr | 4:7226c43320b5 | 61 | static int lastPos = 0; |
foxbrianr | 4:7226c43320b5 | 62 | static int lastSize = 0; |
foxbrianr | 4:7226c43320b5 | 63 | |
foxbrianr | 4:7226c43320b5 | 64 | int update_page = 0; |
foxbrianr | 3:8395f7ab6d3e | 65 | char buf[40]; |
foxbrianr | 4:7226c43320b5 | 66 | |
foxbrianr | 4:7226c43320b5 | 67 | //displayCurrentTime(lcd); |
foxbrianr | 3:8395f7ab6d3e | 68 | |
foxbrianr | 4:7226c43320b5 | 69 | if(escmEventLog.head_ != lastPos ) { |
foxbrianr | 4:7226c43320b5 | 70 | |
foxbrianr | 4:7226c43320b5 | 71 | current_index = 0; |
foxbrianr | 4:7226c43320b5 | 72 | top = current_index; |
foxbrianr | 4:7226c43320b5 | 73 | bottom = top + 2; |
foxbrianr | 4:7226c43320b5 | 74 | |
foxbrianr | 4:7226c43320b5 | 75 | lastPos = escmEventLog.head_; |
foxbrianr | 4:7226c43320b5 | 76 | lastSize = escmEventLog.size(); |
foxbrianr | 4:7226c43320b5 | 77 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 78 | } |
foxbrianr | 4:7226c43320b5 | 79 | |
foxbrianr | 4:7226c43320b5 | 80 | |
foxbrianr | 4:7226c43320b5 | 81 | // paging |
foxbrianr | 4:7226c43320b5 | 82 | if (current_index < top ) |
foxbrianr | 4:7226c43320b5 | 83 | { |
foxbrianr | 4:7226c43320b5 | 84 | top = current_index ; |
foxbrianr | 4:7226c43320b5 | 85 | bottom = current_index + 2; |
foxbrianr | 4:7226c43320b5 | 86 | update_page = 1; |
foxbrianr | 4:7226c43320b5 | 87 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 88 | } |
foxbrianr | 4:7226c43320b5 | 89 | else if (current_index > bottom) |
foxbrianr | 4:7226c43320b5 | 90 | { |
foxbrianr | 4:7226c43320b5 | 91 | top = current_index - 2; |
foxbrianr | 4:7226c43320b5 | 92 | bottom = current_index; |
foxbrianr | 4:7226c43320b5 | 93 | update_page = 1; |
foxbrianr | 4:7226c43320b5 | 94 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 95 | } |
foxbrianr | 4:7226c43320b5 | 96 | else |
foxbrianr | 3:8395f7ab6d3e | 97 | { |
foxbrianr | 3:8395f7ab6d3e | 98 | |
foxbrianr | 3:8395f7ab6d3e | 99 | } |
foxbrianr | 3:8395f7ab6d3e | 100 | |
foxbrianr | 4:7226c43320b5 | 101 | |
foxbrianr | 4:7226c43320b5 | 102 | if (update_needed) { |
foxbrianr | 4:7226c43320b5 | 103 | |
foxbrianr | 4:7226c43320b5 | 104 | lock(); |
foxbrianr | 4:7226c43320b5 | 105 | |
foxbrianr | 4:7226c43320b5 | 106 | switch (active_selection ) { |
foxbrianr | 5:9f4d4f8ffc00 | 107 | case 2: |
foxbrianr | 4:7226c43320b5 | 108 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 109 | lcd->locate(1,0); |
foxbrianr | 4:7226c43320b5 | 110 | lcd->printf("Are you sure you want to erase"); |
foxbrianr | 4:7226c43320b5 | 111 | lcd->locate(2,0); |
foxbrianr | 5:9f4d4f8ffc00 | 112 | lcd->printf("all events (Press Set)?"); |
foxbrianr | 4:7226c43320b5 | 113 | update_needed = 0; |
foxbrianr | 4:7226c43320b5 | 114 | break; |
foxbrianr | 5:9f4d4f8ffc00 | 115 | case 3: |
foxbrianr | 4:7226c43320b5 | 116 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 117 | lcd->locate(1,0); |
foxbrianr | 4:7226c43320b5 | 118 | lcd->printf("Deleting Events..."); |
foxbrianr | 4:7226c43320b5 | 119 | erase_log = 0; |
foxbrianr | 4:7226c43320b5 | 120 | escmEventLog.reset(); |
foxbrianr | 4:7226c43320b5 | 121 | escmEventLog.save(); |
foxbrianr | 4:7226c43320b5 | 122 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 123 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 124 | current_index = 0; |
foxbrianr | 4:7226c43320b5 | 125 | break; |
foxbrianr | 4:7226c43320b5 | 126 | |
foxbrianr | 5:9f4d4f8ffc00 | 127 | case 1: |
foxbrianr | 5:9f4d4f8ffc00 | 128 | // DISPLAY EXPANDED INFO |
foxbrianr | 4:7226c43320b5 | 129 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 130 | lcd->locate(0,0); |
foxbrianr | 4:7226c43320b5 | 131 | lcd->printf(" ID | Port | Unit | Time"); |
foxbrianr | 5:9f4d4f8ffc00 | 132 | lcd->locate(0,33); |
foxbrianr | 5:9f4d4f8ffc00 | 133 | lcd->printf("Addr=%02d",escmController.cur_address); |
foxbrianr | 4:7226c43320b5 | 134 | |
foxbrianr | 4:7226c43320b5 | 135 | // update display |
foxbrianr | 4:7226c43320b5 | 136 | for(int i=0; i<3; i++) { |
foxbrianr | 4:7226c43320b5 | 137 | |
foxbrianr | 4:7226c43320b5 | 138 | int index = top + i; |
foxbrianr | 4:7226c43320b5 | 139 | int line = (1+i); |
foxbrianr | 4:7226c43320b5 | 140 | |
foxbrianr | 4:7226c43320b5 | 141 | int selected = current_index == index; |
foxbrianr | 4:7226c43320b5 | 142 | |
foxbrianr | 4:7226c43320b5 | 143 | |
foxbrianr | 4:7226c43320b5 | 144 | ESCM_Event *event = escmEventLog.index (index) ; |
foxbrianr | 4:7226c43320b5 | 145 | |
foxbrianr | 4:7226c43320b5 | 146 | if (event != NULL && index < escmEventLog.size() ) { |
foxbrianr | 5:9f4d4f8ffc00 | 147 | |
foxbrianr | 4:7226c43320b5 | 148 | sprintf(buf,"%02d | %02d | %02d | %02d:%02d:%02d %02d/%02d/%04d", |
foxbrianr | 4:7226c43320b5 | 149 | index + 1, |
foxbrianr | 4:7226c43320b5 | 150 | event->port, |
foxbrianr | 4:7226c43320b5 | 151 | event->address, |
foxbrianr | 4:7226c43320b5 | 152 | event->hours, |
foxbrianr | 4:7226c43320b5 | 153 | event->mins, |
foxbrianr | 4:7226c43320b5 | 154 | event->secs, |
foxbrianr | 4:7226c43320b5 | 155 | event->month, |
foxbrianr | 4:7226c43320b5 | 156 | event->day, |
foxbrianr | 4:7226c43320b5 | 157 | event->year |
foxbrianr | 4:7226c43320b5 | 158 | ); |
foxbrianr | 4:7226c43320b5 | 159 | |
foxbrianr | 5:9f4d4f8ffc00 | 160 | |
foxbrianr | 4:7226c43320b5 | 161 | } else { |
foxbrianr | 4:7226c43320b5 | 162 | sprintf(buf,"%-s | %-s | %-s | %-s", |
foxbrianr | 4:7226c43320b5 | 163 | "--", |
foxbrianr | 4:7226c43320b5 | 164 | "--", |
foxbrianr | 4:7226c43320b5 | 165 | "--", |
foxbrianr | 4:7226c43320b5 | 166 | "- N/A -"); |
foxbrianr | 4:7226c43320b5 | 167 | } |
foxbrianr | 4:7226c43320b5 | 168 | |
foxbrianr | 4:7226c43320b5 | 169 | if(selected) { |
foxbrianr | 4:7226c43320b5 | 170 | lcd->locate(line,0); |
foxbrianr | 4:7226c43320b5 | 171 | lcd->printf(">%-39s",buf); |
foxbrianr | 4:7226c43320b5 | 172 | } else { |
foxbrianr | 4:7226c43320b5 | 173 | lcd->locate(line,0); |
foxbrianr | 4:7226c43320b5 | 174 | lcd->printf(" %-39s",buf); |
foxbrianr | 4:7226c43320b5 | 175 | } |
foxbrianr | 4:7226c43320b5 | 176 | |
foxbrianr | 4:7226c43320b5 | 177 | //lcd->locate(line,2); |
foxbrianr | 4:7226c43320b5 | 178 | //lcd->printf(buf); |
foxbrianr | 4:7226c43320b5 | 179 | |
foxbrianr | 4:7226c43320b5 | 180 | } |
foxbrianr | 4:7226c43320b5 | 181 | update_page = 0; |
foxbrianr | 4:7226c43320b5 | 182 | update_needed=0; |
foxbrianr | 4:7226c43320b5 | 183 | break; |
foxbrianr | 5:9f4d4f8ffc00 | 184 | break; |
foxbrianr | 5:9f4d4f8ffc00 | 185 | default: |
foxbrianr | 5:9f4d4f8ffc00 | 186 | |
foxbrianr | 5:9f4d4f8ffc00 | 187 | lcd->cls(); |
foxbrianr | 5:9f4d4f8ffc00 | 188 | lcd->locate(0,0); |
foxbrianr | 5:9f4d4f8ffc00 | 189 | #if 0 |
foxbrianr | 5:9f4d4f8ffc00 | 190 | lcd->printf(" ID | Port | Unit | Time"); |
foxbrianr | 5:9f4d4f8ffc00 | 191 | #else |
foxbrianr | 5:9f4d4f8ffc00 | 192 | lcd->printf(" ID | Description | Time"); |
foxbrianr | 5:9f4d4f8ffc00 | 193 | #endif |
foxbrianr | 5:9f4d4f8ffc00 | 194 | |
foxbrianr | 5:9f4d4f8ffc00 | 195 | lcd->locate(0,33); |
foxbrianr | 5:9f4d4f8ffc00 | 196 | lcd->printf("Addr=%02d",escmController.cur_address); |
foxbrianr | 6:af3769d17a35 | 197 | |
foxbrianr | 5:9f4d4f8ffc00 | 198 | // update display |
foxbrianr | 5:9f4d4f8ffc00 | 199 | for(int i=0; i<3; i++) { |
foxbrianr | 5:9f4d4f8ffc00 | 200 | |
foxbrianr | 5:9f4d4f8ffc00 | 201 | int index = top + i; |
foxbrianr | 5:9f4d4f8ffc00 | 202 | int line = (1+i); |
foxbrianr | 5:9f4d4f8ffc00 | 203 | |
foxbrianr | 5:9f4d4f8ffc00 | 204 | int selected = current_index == index; |
foxbrianr | 5:9f4d4f8ffc00 | 205 | |
foxbrianr | 5:9f4d4f8ffc00 | 206 | |
foxbrianr | 5:9f4d4f8ffc00 | 207 | ESCM_Event *event = escmEventLog.index (index) ; |
foxbrianr | 5:9f4d4f8ffc00 | 208 | |
foxbrianr | 5:9f4d4f8ffc00 | 209 | if (event != NULL && index < escmEventLog.size() ) { |
foxbrianr | 5:9f4d4f8ffc00 | 210 | #if 0 |
foxbrianr | 5:9f4d4f8ffc00 | 211 | sprintf(buf,"%02d | %02d | %02d | %02d:%02d:%02d %02d/%02d/%04d", |
foxbrianr | 5:9f4d4f8ffc00 | 212 | index + 1, |
foxbrianr | 5:9f4d4f8ffc00 | 213 | event->port, |
foxbrianr | 5:9f4d4f8ffc00 | 214 | event->address, |
foxbrianr | 5:9f4d4f8ffc00 | 215 | event->hours, |
foxbrianr | 5:9f4d4f8ffc00 | 216 | event->mins, |
foxbrianr | 5:9f4d4f8ffc00 | 217 | event->secs, |
foxbrianr | 5:9f4d4f8ffc00 | 218 | event->month, |
foxbrianr | 5:9f4d4f8ffc00 | 219 | event->day, |
foxbrianr | 5:9f4d4f8ffc00 | 220 | event->year |
foxbrianr | 5:9f4d4f8ffc00 | 221 | ); |
foxbrianr | 5:9f4d4f8ffc00 | 222 | #else |
foxbrianr | 5:9f4d4f8ffc00 | 223 | char * ev_desc = addressMap.getDescription(event->address); |
foxbrianr | 5:9f4d4f8ffc00 | 224 | sprintf(buf,"%02d | %-12s | %02d:%02d:%02d %02d/%02d/%04d", |
foxbrianr | 5:9f4d4f8ffc00 | 225 | |
foxbrianr | 5:9f4d4f8ffc00 | 226 | event->address, |
foxbrianr | 5:9f4d4f8ffc00 | 227 | ev_desc, |
foxbrianr | 5:9f4d4f8ffc00 | 228 | event->hours, |
foxbrianr | 5:9f4d4f8ffc00 | 229 | event->mins, |
foxbrianr | 5:9f4d4f8ffc00 | 230 | event->secs, |
foxbrianr | 5:9f4d4f8ffc00 | 231 | event->month, |
foxbrianr | 5:9f4d4f8ffc00 | 232 | event->day, |
foxbrianr | 5:9f4d4f8ffc00 | 233 | event->year |
foxbrianr | 5:9f4d4f8ffc00 | 234 | ); |
foxbrianr | 5:9f4d4f8ffc00 | 235 | #endif |
foxbrianr | 5:9f4d4f8ffc00 | 236 | |
foxbrianr | 5:9f4d4f8ffc00 | 237 | } else { |
foxbrianr | 5:9f4d4f8ffc00 | 238 | #if 0 |
foxbrianr | 5:9f4d4f8ffc00 | 239 | sprintf(buf,"%-s | %-s | %-s | %-s", |
foxbrianr | 5:9f4d4f8ffc00 | 240 | "--", |
foxbrianr | 5:9f4d4f8ffc00 | 241 | "--", |
foxbrianr | 5:9f4d4f8ffc00 | 242 | "--", |
foxbrianr | 5:9f4d4f8ffc00 | 243 | "- N/A -"); |
foxbrianr | 5:9f4d4f8ffc00 | 244 | #else |
foxbrianr | 6:af3769d17a35 | 245 | sprintf(buf,"%-s | %-s | %-s", |
foxbrianr | 5:9f4d4f8ffc00 | 246 | "--", |
foxbrianr | 5:9f4d4f8ffc00 | 247 | "Empty", |
foxbrianr | 5:9f4d4f8ffc00 | 248 | "- N/A -"); |
foxbrianr | 5:9f4d4f8ffc00 | 249 | #endif |
foxbrianr | 5:9f4d4f8ffc00 | 250 | } |
foxbrianr | 5:9f4d4f8ffc00 | 251 | |
foxbrianr | 5:9f4d4f8ffc00 | 252 | if(selected) { |
foxbrianr | 5:9f4d4f8ffc00 | 253 | lcd->locate(line,0); |
foxbrianr | 5:9f4d4f8ffc00 | 254 | lcd->printf(">%-39s",buf); |
foxbrianr | 5:9f4d4f8ffc00 | 255 | } else { |
foxbrianr | 5:9f4d4f8ffc00 | 256 | lcd->locate(line,0); |
foxbrianr | 5:9f4d4f8ffc00 | 257 | lcd->printf(" %-39s",buf); |
foxbrianr | 5:9f4d4f8ffc00 | 258 | } |
foxbrianr | 5:9f4d4f8ffc00 | 259 | |
foxbrianr | 5:9f4d4f8ffc00 | 260 | //lcd->locate(line,2); |
foxbrianr | 5:9f4d4f8ffc00 | 261 | //lcd->printf(buf); |
foxbrianr | 5:9f4d4f8ffc00 | 262 | |
foxbrianr | 5:9f4d4f8ffc00 | 263 | } |
foxbrianr | 5:9f4d4f8ffc00 | 264 | update_page = 0; |
foxbrianr | 5:9f4d4f8ffc00 | 265 | update_needed=0; |
foxbrianr | 5:9f4d4f8ffc00 | 266 | break; |
foxbrianr | 4:7226c43320b5 | 267 | } |
foxbrianr | 4:7226c43320b5 | 268 | |
foxbrianr | 4:7226c43320b5 | 269 | unlock(); |
foxbrianr | 4:7226c43320b5 | 270 | } |
foxbrianr | 4:7226c43320b5 | 271 | } |
foxbrianr | 4:7226c43320b5 | 272 | |
foxbrianr | 4:7226c43320b5 | 273 | |
foxbrianr | 5:9f4d4f8ffc00 | 274 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 275 | void DisplayCodesMenu::pressSet() |
foxbrianr | 4:7226c43320b5 | 276 | { |
foxbrianr | 4:7226c43320b5 | 277 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 278 | |
foxbrianr | 5:9f4d4f8ffc00 | 279 | case 0: |
foxbrianr | 5:9f4d4f8ffc00 | 280 | case 1: |
foxbrianr | 5:9f4d4f8ffc00 | 281 | { // normal |
foxbrianr | 5:9f4d4f8ffc00 | 282 | |
foxbrianr | 4:7226c43320b5 | 283 | ESCM_Event *event = escmEventLog.index(current_index); |
foxbrianr | 4:7226c43320b5 | 284 | if (event!=NULL) |
foxbrianr | 4:7226c43320b5 | 285 | { |
foxbrianr | 5:9f4d4f8ffc00 | 286 | escmController.say(event->address ); |
foxbrianr | 5:9f4d4f8ffc00 | 287 | escmController.relayMessage(event->address ); |
foxbrianr | 4:7226c43320b5 | 288 | } |
foxbrianr | 4:7226c43320b5 | 289 | update_needed = 0; |
foxbrianr | 4:7226c43320b5 | 290 | break; |
foxbrianr | 4:7226c43320b5 | 291 | } |
foxbrianr | 5:9f4d4f8ffc00 | 292 | case 2: // press yes |
foxbrianr | 5:9f4d4f8ffc00 | 293 | active_selection = 3; |
foxbrianr | 4:7226c43320b5 | 294 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 295 | break; |
foxbrianr | 5:9f4d4f8ffc00 | 296 | case 3: // press yes |
foxbrianr | 4:7226c43320b5 | 297 | default: |
foxbrianr | 4:7226c43320b5 | 298 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 299 | break; |
foxbrianr | 4:7226c43320b5 | 300 | } |
foxbrianr | 3:8395f7ab6d3e | 301 | } |
foxbrianr | 3:8395f7ab6d3e | 302 | |
foxbrianr | 5:9f4d4f8ffc00 | 303 | /******************************************************************************/ |
foxbrianr | 3:8395f7ab6d3e | 304 | void DisplayCodesMenu::pressMode() |
foxbrianr | 4:7226c43320b5 | 305 | { |
foxbrianr | 3:8395f7ab6d3e | 306 | |
foxbrianr | 4:7226c43320b5 | 307 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 308 | case 0: // normal |
foxbrianr | 4:7226c43320b5 | 309 | active_selection = 1; |
foxbrianr | 4:7226c43320b5 | 310 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 311 | break; |
foxbrianr | 5:9f4d4f8ffc00 | 312 | case 1: // normal |
foxbrianr | 5:9f4d4f8ffc00 | 313 | active_selection = 2; |
foxbrianr | 5:9f4d4f8ffc00 | 314 | update_needed = 1; |
foxbrianr | 5:9f4d4f8ffc00 | 315 | break; |
foxbrianr | 5:9f4d4f8ffc00 | 316 | case 2: // normal |
foxbrianr | 5:9f4d4f8ffc00 | 317 | case 3: // normal |
foxbrianr | 4:7226c43320b5 | 318 | default: |
foxbrianr | 4:7226c43320b5 | 319 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 320 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 321 | break; |
foxbrianr | 4:7226c43320b5 | 322 | } |
foxbrianr | 3:8395f7ab6d3e | 323 | } |
foxbrianr | 3:8395f7ab6d3e | 324 | |
foxbrianr | 5:9f4d4f8ffc00 | 325 | /******************************************************************************/ |
foxbrianr | 3:8395f7ab6d3e | 326 | void DisplayCodesMenu::pressDown() |
foxbrianr | 4:7226c43320b5 | 327 | { |
foxbrianr | 4:7226c43320b5 | 328 | |
foxbrianr | 4:7226c43320b5 | 329 | current_line++; |
foxbrianr | 4:7226c43320b5 | 330 | current_index++; |
foxbrianr | 4:7226c43320b5 | 331 | |
foxbrianr | 4:7226c43320b5 | 332 | if (current_index >= escmEventLog.size() ) |
foxbrianr | 4:7226c43320b5 | 333 | current_index = 0; |
foxbrianr | 3:8395f7ab6d3e | 334 | |
foxbrianr | 4:7226c43320b5 | 335 | |
foxbrianr | 4:7226c43320b5 | 336 | if (current_line > 3 ) |
foxbrianr | 4:7226c43320b5 | 337 | current_line = 3; |
foxbrianr | 4:7226c43320b5 | 338 | |
foxbrianr | 3:8395f7ab6d3e | 339 | update_needed=1; |
foxbrianr | 3:8395f7ab6d3e | 340 | } |
foxbrianr | 4:7226c43320b5 | 341 | |
foxbrianr | 5:9f4d4f8ffc00 | 342 | /******************************************************************************/ |
foxbrianr | 3:8395f7ab6d3e | 343 | void DisplayCodesMenu::pressUp() |
foxbrianr | 3:8395f7ab6d3e | 344 | { |
foxbrianr | 4:7226c43320b5 | 345 | current_line--; |
foxbrianr | 4:7226c43320b5 | 346 | current_index--; |
foxbrianr | 4:7226c43320b5 | 347 | if (current_index < 0) |
foxbrianr | 4:7226c43320b5 | 348 | current_index = escmEventLog.size()-1; |
foxbrianr | 4:7226c43320b5 | 349 | |
foxbrianr | 4:7226c43320b5 | 350 | if (current_line < 1 ) |
foxbrianr | 4:7226c43320b5 | 351 | current_line = 1; |
foxbrianr | 4:7226c43320b5 | 352 | |
foxbrianr | 4:7226c43320b5 | 353 | update_needed =1; |
foxbrianr | 3:8395f7ab6d3e | 354 | } |
foxbrianr | 5:9f4d4f8ffc00 | 355 | /******************************************************************************/ |