annotate Discovery/Src/tMenuEdit.c @ 1029:e938901f6386 GasConsumption

Text editfield redraw string: The size of characters may vary from letter to letter. This caused the edit string to be partly overwritten. To avoid this the following ltters are now rewritten in case the current letter is changed.
author Ideenmodellierer
date Sun, 07 Sep 2025 20:44:35 +0200
parents 5fedf7ba2392
children 2af07aa38531
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Src/tMenuEdit.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Main Template file for Menu Setting Modifications
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 04-July-2014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// \details
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 /* Includes ------------------------------------------------------------------*/
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
30 #include <stdlib.h>
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
31
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "tMenuEdit.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "externLogbookFlash.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "tHome.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #include "tInfoCompass.h"
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
38 #include "tInfoSensor.h"
845
17d9d6eddd8d Added new PreDiveCheck info page:
Ideenmodellierer
parents: 788
diff changeset
39 #include "tInfoPreDive.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40 #include "tMenuEditHardware.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 #include "tMenuEditPlanner.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42 #include "tMenuEditSystem.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 #include "tMenuEditXtra.h"
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
44 #include "tMenuEditCustom.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46 /* Private types -------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47 #define TEXTSIZE 16
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
49 #define IDENT_MAY_INPUT_NUM 4 /* legacy value of ident.input struct */
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
50 #define IDENT_MAX_INPUT_TEXT 9 /* 8 data items + 0 for string operations */
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
51
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 uint32_t pEventFunction;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 uint32_t callerID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 } SEventHandler;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 uint32_t pEventFunction;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61 uint8_t functionParameter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62 uint8_t line;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63 } SBackMenuHandler;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 char orgText[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68 char newText[32];
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
69 uint32_t input[IDENT_MAX_INPUT_TEXT];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 uint16_t coord[3];
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
71 int8_t begin[IDENT_MAX_INPUT_TEXT], size[IDENT_MAX_INPUT_TEXT];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
72 tFont *fontUsed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
73 uint32_t callerID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74 uint8_t maintype;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 uint8_t subtype;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
76 } SEditIdent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 typedef enum
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80 FIELD_NUMBERS = 0,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81 FIELD_BUTTON,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82 FIELD_SELECT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83 FIELD_SYMBOL,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 FIELD_TOGGLE,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 FIELD_ON_OFF,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86 FIELD_UDIGIT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87 FIELD_2DIGIT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 FIELD_3DIGIT,
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
89 FIELD_SDIGIT,
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90 FIELD_FLOAT,
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
91 FIELD_TEXT,
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 FIELD_END
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 } SField;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95 /* Private variables ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 GFX_DrawCfgScreen tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97 GFX_DrawCfgScreen tMEcursor;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 GFX_DrawCfgScreen tMEcursorNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
99
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
100 static uint32_t menuID;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
101 static uint8_t menuColor;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
102
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
103 static int8_t id = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
104 static int8_t actualId = 0;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
105 static int8_t idLast = -1;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
106 static SEditIdent ident[10];
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
107 static int8_t tME_stop = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
108
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
109 static int8_t evid = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
110 static int8_t actualevid = 0;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
111 static int8_t evidLast = -1;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
112 static SEventHandler event[10];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
113
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
114 static SBackMenuHandler backmenu;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
116 static int8_t block = 0;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
117 static int8_t subBlockPosition = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
119 static _Bool EnterPressedBeforeButtonAction = 0;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
120 static _Bool EnterPressed = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
122 static _Bool WriteSettings = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
123
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124 /* Private function prototypes -----------------------------------------------*/
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
125 static void create_newText_for_Id(int8_t localId);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
126 void clean_content_of_Id(int8_t localId);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
127 static void write_content_of_Id(int8_t localId);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
128
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129 void draw_tMEdesign(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130 void set_cursorNew(uint8_t forThisIdentID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 void startMenuEditFieldSelect(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132 void create_newText_for_actual_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 void write_content_of_actual_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134 void clean_content_of_actual_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 void write_content_without_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 void nextMenuEditFieldDigit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138 void upMenuEditFieldDigit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 void downMenuEditFieldDigit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 void draw_tMEcursorNewDesign(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 uint8_t split_Content_to_Digit_helper(uint8_t inContentAscii, uint8_t *outDigit100, uint8_t *outDigit10, uint8_t *outDigit1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
146
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
147 void tMenuEdit_init(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
149 tMEcursor.FBStartAdress = getFrame(7);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 tMEcursor.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
151 tMEcursor.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
152 tMEcursor.LayerIndex = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
153
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154 GFX_fill_buffer(tMEcursor.FBStartAdress, 0xFF, CLUT_MenuEditCursor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
156 tMEcursorNew.FBStartAdress = getFrame(8);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157 tMEcursorNew.ImageHeight = 390;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158 tMEcursorNew.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
159 tMEcursorNew.LayerIndex = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 draw_tMEcursorNewDesign();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
162 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
163
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
164 void stop_cursor_fields(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
165 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
166 tME_stop = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
167 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
168
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
169 void resetMenuContentStructure()
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
170 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
171 id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
172 idLast = -1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
173 evid = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
174 evidLast = -1;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
175 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
176
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
177 void resetMenuEdit(uint8_t color)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
178 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
179 id = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
180 actualId = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
181 idLast = -1;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
182 evid = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
183 actualevid = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
184 evidLast = -1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
185 tME_stop = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
186 EnterPressed = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
187 EnterPressedBeforeButtonAction = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
188
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
189 setBackMenu(0,0,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
190
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
191 releaseFrame(9,tMEscreen.FBStartAdress);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
192
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
193 tMEscreen.FBStartAdress = getFrame(9);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
194 tMEscreen.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
195 tMEscreen.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
196 tMEscreen.LayerIndex = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
197
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
198 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
199 write_content_simple(&tMEscreen, 0, 38, 0, &Awe48,"x",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
200 write_content_simple(&tMEscreen, 800-46, 800, 0, &Awe48,"u",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
201 write_content_simple(&tMEscreen, 0, 45, 480-45, &Awe48,"d",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
202 write_content_simple(&tMEscreen, 800-48, 800, 480-45, &Awe48,"e",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
203 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
204 menuID = get_globalState();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
205
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
206 menuColor = color;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
207
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
208 /* set cursor to first line */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
209 uint8_t line = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
210 GFX_SetFrameTop(tMEscreen.FBStartAdress);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
211 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
212 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
213 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress) + 65*2*(line - 1), 0, 25, 800, 390);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
214 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
215 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
216 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
217 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress)+ (390 - 65 *(line)) *2, 0, 480-390-25, 800, 390);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
218 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
219 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
220
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
221
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
222 void tMenuEdit_refresh_live_content(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
223 {
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
224 uint32_t globState = get_globalState();
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
225 void (*refreshFct)() = NULL;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
226
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
227
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
228 switch(globState)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
229 {
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
230 case (StMHARD3_O2_Sensor1):
562
ec76fa85009e Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents: 552
diff changeset
231 case (StMHARD3_O2_Sensor1 & MaskFieldDigit):
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
232 case (StMHARD3_O2_Calibrate):
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 718
diff changeset
233 case (StMHARD3_Sensor_Detect):
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 718
diff changeset
234 case (StMHARD3_Sensor_Info): refreshFct = refresh_O2Sensors;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
235 break;
999
ac25c35a3c97 New Tab for dynamic configuration:
Ideenmodellierer
parents: 951
diff changeset
236 case (StMOption_Compass & MaskFieldDigit):
774
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
237 refreshFct = refresh_CompassEdit;
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
238 break;
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
239 case (StMXTRA_CompassHeading & MaskFieldDigit):
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
240 refreshFct = refresh_CompassHeading;
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
241 break;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 508
diff changeset
242 case (StMSYS4_Info & MaskFieldDigit): refreshFct = &refresh_InformationPage;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
243 break;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
244 case (StMPLAN5_ExitResult & MaskFieldDigit): refreshFct = refresh_PlanResult;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
245 break;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
246 case (StMHARD5_Button1 & MaskFieldDigit): // will not be executed in EditFieldMode as global state is different
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
247 refreshFct = refresh_ButtonValuesFromPIC;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
248 break;
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
249 case StMSYS1_DateTime: refreshFct = refresh_DateTime;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
250 break;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
251 case (StMSYS3_Units & MaskFieldDigit): refreshFct = refresh_Design;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
252 break;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 508
diff changeset
253 case (StMCustom1_CViewTimeout & MaskFieldDigit):refreshFct = refresh_Customviews;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
254 break;
531
1721b26335f1 Bugfix custom view selection dialog:
Ideenmodellierer
parents: 521
diff changeset
255 case (StMCustom4_CViewSelection1 & MaskFieldDigit):
1721b26335f1 Bugfix custom view selection dialog:
Ideenmodellierer
parents: 521
diff changeset
256 case (StMCustom3_CViewSelection1 & MaskFieldDigit):
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
257 case StMCustom3_CViewSelection2:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
258 case StMCustom3_CViewSelection3:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
259 case StMCustom3_CViewSelection4:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
260 case StMCustom3_CViewSelection5:
531
1721b26335f1 Bugfix custom view selection dialog:
Ideenmodellierer
parents: 521
diff changeset
261 case StMCustom3_CViewSelection6: refreshFct = CustomviewDivemode_refresh;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
262 break;
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 949
diff changeset
263 #ifdef ENABLE_MOTION_CONTROL
604
fb5bb04ad914 Merged menu items of viewport and motion control:
Ideenmodellierer
parents: 584
diff changeset
264 case (StMCustom5_CViewPortCalib & MaskFieldDigit):
fb5bb04ad914 Merged menu items of viewport and motion control:
Ideenmodellierer
parents: 584
diff changeset
265 case StMCustom5_CViewPortLayout:
fb5bb04ad914 Merged menu items of viewport and motion control:
Ideenmodellierer
parents: 584
diff changeset
266 case StMCustom5_CViewPortAmbient: refreshFct = refresh_ViewPort;
552
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
267 break;
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 949
diff changeset
268 #endif
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
269 default: /* no menu has been updated */
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
270 break;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
271 }
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
272
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
273 if(refreshFct != NULL)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
274 {
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
275 uint32_t rememberPage = tMEscreen.FBStartAdress;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
276 tMEscreen.FBStartAdress = getFrame(9);
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
277
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
278 refreshFct();
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
279
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
280 GFX_SetFrameTop(tMEscreen.FBStartAdress);
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
281 releaseFrame(9,rememberPage);
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
282 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
283 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
284
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
285 void tMenuEdit_writeSettingsToFlash(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
286 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
287 if(WriteSettings)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
288 {
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 604
diff changeset
289 reset_SettingWarning();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
290 GFX_logoAutoOff();
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
291 ext_flash_write_settings(EF_SETTINGS,0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
292 WriteSettings = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
293 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
294 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
295
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
296 void helperLeaveMenuEditField(uint8_t idID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
297 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
298 if(ident[idID].maintype == FIELD_NUMBERS)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
299 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
300 change_CLUT_entry((CLUT_MenuEditField0 + idID), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
301 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
302 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
303
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
304
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
305 void helperGotoMenuEditField(uint8_t idID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
306 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
307 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
308 if(ident[idID].maintype == FIELD_NUMBERS)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
309 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
310 change_CLUT_entry((CLUT_MenuEditField0 + idID), CLUT_MenuEditFieldSelected);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
311 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
312 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
313 set_cursorNew(idID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
314 // set_cursor(idID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
315 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
316
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
317
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
318 void exitMenuEdit_to_BackMenu(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
319 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
320 _Bool EnterPressedBackup = EnterPressed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
321
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
322 if(backmenu.pEventFunction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
323 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
324 ((void (*)(uint8_t))(backmenu.pEventFunction))(backmenu.functionParameter);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
325
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
326 EnterPressed = EnterPressedBackup;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
327 // if(backmenu.line > 1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
328 // helperGotoMenuEditField(backmenu.line);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
329 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
330 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
331
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
332
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
333 void exitMenuEdit_to_Menu_with_Menu_Update(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
334 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
335 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
336 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
337 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
338
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
339
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
340 void exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
341 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
342 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
343 exitMenuEdit(0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
344 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
345
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
346
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
347 void exitMenuEdit_to_Home_with_Menu_Update(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
348 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
349 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
350 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
351 set_globalState_tHome();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
352 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
353
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
354
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
355 void exitMenuEdit_to_InfoCompassCalibration(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
356 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
357 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
358 openInfo_Compass();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
359 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
360
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
361 void exitMenuEdit_to_InfoSensor(void)
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
362 {
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
363 uint32_t globState = get_globalState();
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
364
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
365 exitMenuEdit(1);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
366 switch(globState)
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
367 {
786
19ab6f3ed52a Cleanup sensor data interface:
Ideenmodellierer
parents: 783
diff changeset
368 case (StMHARD3_O2_Sensor3): openInfo_Sensor(2);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
369 break;
786
19ab6f3ed52a Cleanup sensor data interface:
Ideenmodellierer
parents: 783
diff changeset
370 case (StMHARD3_O2_Sensor2): openInfo_Sensor(1);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
371 break;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
372 default:
786
19ab6f3ed52a Cleanup sensor data interface:
Ideenmodellierer
parents: 783
diff changeset
373 case (StMHARD3_O2_Sensor1): openInfo_Sensor(0);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
374 break;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
375 }
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
376 }
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
377
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
378
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
379 void exitMenuEdit_to_Home(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
380 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
381 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
382 set_globalState_tHome();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
383 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
384
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
385
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
386 void exitMenuEdit(uint8_t writeSettingsIfEnterPressed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
387 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
388 openMenu(0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
389 if(EnterPressed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
390 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
391 updateMenu();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
392 if((stateUsed->mode == MODE_SURFACE) && writeSettingsIfEnterPressed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
393 WriteSettings = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
394 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
395 releaseFrame(9,tMEscreen.FBStartAdress);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
396 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
397
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
398
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
399 void exitMenuEditBackMenuOption(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
400 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
401 if(backmenu.pEventFunction == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
402 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
403 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404 exitMenuEdit_to_BackMenu();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
405 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
406
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
407
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
408 void startMenuEditFieldSelect(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
409 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
410 actualId = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
411 helperGotoMenuEditField(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
412 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
413
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
414
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
415 void nextMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
416 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
417 helperLeaveMenuEditField(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
418
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
419 if(actualId < idLast)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
420 actualId++;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
421 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
422 actualId = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
423 helperGotoMenuEditField(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
424 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
425
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
426 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
427 void previousMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
428 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
429 helperLeaveMenuEditField(id);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
430 if(id > 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
431 id--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
432 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
433 id = idLast;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
434 helperGotoMenuEditField(id);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
435 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
436 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
437
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
438 _Bool inc_subBlock_or_block_of_actual_id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
439 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
440 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
441 return 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
442
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
443 if((ident[actualId].subtype != FIELD_3DIGIT) && (ident[actualId].subtype != FIELD_2DIGIT) && ((subBlockPosition + 1) < ident[actualId].size[block]))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
444 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
445 subBlockPosition++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
446 return 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
447 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
448
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
449 if((((block + 1) < 4) || ((ident[actualId].maintype == FIELD_TEXT) && ((block + 1) < IDENT_MAX_INPUT_TEXT))) && (ident[actualId].size[block+1] > 0))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
450 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
451 block++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
452 subBlockPosition = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
453 return 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
456 return 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
457 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
458
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
459
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
460 uint8_t get_newContent_of_actual_id_block_and_subBlock(uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
461 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
462 uint8_t (*onActionFunc)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
463 uint8_t content;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
464
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
465 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
466 return 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
467
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
468 onActionFunc = (uint8_t (*)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t))(event[actualevid].pEventFunction);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
469
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
470 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
471 {
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
472 content = 100 * ( ident[actualId].newText[ident[actualId].begin[block] + 0] - '0');
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
473 content += 10 * ( ident[actualId].newText[ident[actualId].begin[block] + 1] - '0');
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
474 content += ident[actualId].newText[ident[actualId].begin[block] + 2];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
475 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
476 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
477 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
478 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
479 content = 10 * (ident[actualId].newText[ident[actualId].begin[block] + 0] - '0');
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
480 content += ident[actualId].newText[ident[actualId].begin[block] + 1];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
481 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
482 else
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
483 if((ident[actualId].maintype == FIELD_NUMBERS) || (ident[actualId].maintype == FIELD_TEXT))
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
484 content = ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
485 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
486 if((ident[actualId].maintype == FIELD_ON_OFF) || (ident[actualId].maintype == FIELD_TOGGLE))
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
487 content = ident[actualId].input[block];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
488 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
489 content = 0; /* just a default for protection */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
490
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
491 return onActionFunc(ident[actualId].callerID, block, subBlockPosition, content, action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
492 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
493
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
494 void mark_digit_of_actual_id_with_this_block_and_subBlock(int8_t oldblock, int8_t oldsubblockpos)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
495 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
496 char oneCharText[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
497 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
498
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
499 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
500 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
501
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
502 if((ident[actualId].maintype == FIELD_NUMBERS) || (ident[actualId].maintype == FIELD_TEXT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
503 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
504 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[oldblock] + oldsubblockpos];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
505 oneCharText[1] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
506 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[oldblock] + oldsubblockpos);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
507 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditFieldSelected);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
508 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
509 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
510
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
511
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
512 void mark_new_2digit_of_actual_id_block(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
513 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
514 char oneCharText[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
515 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
516
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
517 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
518 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
519
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
520 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
521 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
522 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[block] + 0];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
523 oneCharText[1] = ident[actualId].newText[ident[actualId].begin[block] + 1];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 oneCharText[2] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
525 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block] + 0);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
526 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditDigit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
528 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531 void mark_new_3digit_of_actual_id_block(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
532 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
533 char oneCharText[4];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
535
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
536 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
537 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
538
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
539 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
540 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
541 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[block] + 0];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
542 oneCharText[1] = ident[actualId].newText[ident[actualId].begin[block] + 1];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
543 oneCharText[2] = ident[actualId].newText[ident[actualId].begin[block] + 2];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 oneCharText[3] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
545 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block] + 0);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
546 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditDigit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551 void mark_new_digit_of_actual_id_block_and_subBlock(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
552 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 char oneCharText[2];
1029
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
554 char text[10];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
555 uint16_t positionOffset;
1029
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
556 uint8_t index = 0;
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
557 uint8_t textPos = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
559 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
560 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
561
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
562 if((ident[actualId].maintype == FIELD_NUMBERS) || (ident[actualId].maintype == FIELD_TEXT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
563 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
564 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
565 oneCharText[1] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
566 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block] + subBlockPosition);
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
567 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditDigit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
568 }
1029
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
569 if(ident[actualId].maintype == FIELD_TEXT) /* letter width may change from character to character => output end of string */
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
570 {
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
571 if(block + 1 < 8)
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
572 {
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
573 for(index = block + 1; index < 8; index++)
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
574 {
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
575 text[textPos++] = ident[actualId].newText[ident[actualId].begin[index] + 0];
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
576 }
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
577 text[textPos] = 0;
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
578 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block + 1] + subBlockPosition);
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
579 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, text, CLUT_MenuEditFieldSelected);
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
580 }
e938901f6386 Text editfield redraw string:
Ideenmodellierer
parents: 1026
diff changeset
581 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
582 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
583
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
584
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
585 void enterMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
586 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
587 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
588 uint8_t digit100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
589 uint8_t digit10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
590 uint8_t digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
591
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
592 actualevid = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
593 while((actualevid < evidLast) && (event[actualevid].callerID != ident[actualId].callerID))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
594 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
595 actualevid++;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
596 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
597
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
598 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
599 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
600
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
601 set_globalState(event[actualevid].callerID);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
602 block = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
603 subBlockPosition = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
604
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
605 if((ident[actualId].maintype == FIELD_NUMBERS) || (ident[actualId].maintype == FIELD_TEXT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
606 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
607 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuEditCursor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
608 // old stuff? hw 150916, reactivated 150923, this shows which digit will be changed now as it marks the other grey/black
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
609 // now fixed for button settings with newContent <= '0'+99 condition
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
610 change_CLUT_entry((CLUT_MenuEditField0 + actualId), CLUT_MenuEditFieldSelected);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
611 }
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
612 if(ident[actualId].maintype == FIELD_TOGGLE)
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
613 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
614 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuEditCursor);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
615 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
616
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
617
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
618 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_BUTTON_ENTER);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
619
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
620 if (((newContent == UPDATE_DIVESETTINGS) || (newContent == UPDATE_AND_EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_MENU)) && (actual_menu_content == MENU_SURFACE))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
621 createDiveSettings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
622
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
623 if(newContent == EXIT_TO_MENU_WITH_LOGO)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
624 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
625 GFX_logoAutoOff();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
626 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
627
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
628 if((newContent == EXIT_TO_MENU) || (newContent == UPDATE_AND_EXIT_TO_MENU) || (newContent == EXIT_TO_MENU_WITH_LOGO))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
629 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
630 if(backmenu.pEventFunction == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
631 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
632 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
633 exitMenuEdit_to_BackMenu();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
634 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
635 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
636
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
637 if((newContent == EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_HOME))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
638 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
639 exitMenuEdit_to_Home();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
640 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
641 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
642
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
643 if(newContent == EXIT_TO_INFO_COMPASS)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
644 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
645 exitMenuEdit_to_InfoCompassCalibration();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
646 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
647 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
648
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
649 if(newContent == EXIT_TO_INFO_SENSOR)
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
650 {
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
651 exitMenuEdit_to_InfoSensor();
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
652 return;
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
653 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
654
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
655 switch(ident[actualId].maintype)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
656 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
657 case FIELD_NUMBERS:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
658 write_buttonTextline(TXT2BYTE_ButtonMinus,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonPlus);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
659
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
660 switch (ident[actualId].subtype) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
661 case FIELD_UDIGIT:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
662 if((newContent >= '0') && (newContent <= '9'))
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
663 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
664
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
665 mark_new_digit_of_actual_id_block_and_subBlock();
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
666
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
667 break;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
668 case FIELD_3DIGIT:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
669 if((newContent >= '0') && (newContent <= '0'+200))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
670 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
671 split_Content_to_Digit_helper( newContent, &digit100, &digit10, &digit1);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
672 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + digit100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
673 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + digit10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
674 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + digit1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
675 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
677
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
678 break;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
679 case FIELD_2DIGIT:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
680 if((newContent >= '0') && (newContent <= '0'+99))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
681 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
682 ident[actualId].newText[ident[actualId].begin[block]] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
683 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
684 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
685 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
686
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
687 break;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
688 case FIELD_SDIGIT:
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
689 if ((subBlockPosition == 0 && (newContent == '+' || newContent == '-')) || (subBlockPosition > 0 && newContent >= '0' && newContent <= '9')) {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
690 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
691 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
692
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
693 mark_new_digit_of_actual_id_block_and_subBlock();
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
694
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
695 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
696 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
697 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
698 case FIELD_BUTTON:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
699 case FIELD_ON_OFF:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
700 set_globalState(menuID);
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
701
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
702 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
703 case FIELD_SYMBOL:
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
704 ident[actualId].input[0] += 1;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
705 if(ident[actualId].input[0] >= ident[actualId].input[1])
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
706 ident[actualId].input[0] = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
707 ident[actualId].newText[0] = ident[actualId].orgText[ident[actualId].input[0]];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
708 write_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
709 set_globalState(menuID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
710 break;
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
711 case FIELD_SELECT:
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
712 write_buttonTextline(TXT2BYTE_ButtonMinus, TXT2BYTE_ButtonEnter, TXT2BYTE_ButtonPlus);
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
713 break;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
714 case FIELD_TEXT:
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
715 write_buttonTextline(TXT2BYTE_ButtonMinus, TXT2BYTE_ButtonEnter, TXT2BYTE_ButtonPlus);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
716 if((newContent >= 'A') && (newContent <= '_'))
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
717 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
718
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
719 mark_new_digit_of_actual_id_block_and_subBlock();
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
720 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
721 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
722 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
723
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
724
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
725 void exitMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
726 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
727 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
728
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
729 set_globalState(menuID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
730
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
731 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
732 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
733
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
734 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_TIMEOUT);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
735
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
736 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
737 uint8_t (*onActionFunc)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
738 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
739
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
740 onActionFunc = (uint8_t (*)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t))(event[evid].pEventFunction);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
741
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
742 newContent = onActionFunc(ident[id].callerID, 0, 0, 255, ACTION_BUTTON_BACK);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
743 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
744
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
745 /* destroy changes of editing in newText */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
746 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuLineSelected);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
747 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
748
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
749 create_newText_for_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
750 write_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
751
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
752 if((newContent == EXIT_TO_MENU) || (newContent == UPDATE_AND_EXIT_TO_MENU))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
753 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
754 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
755 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
756 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
757
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
758 if((newContent == EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_HOME))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
759 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
760 exitMenuEdit_to_Home();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
761 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
762 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
763
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
764 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
765
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
766
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
767 static void startNextEdit(void)
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
768 {
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
769 EnterPressed = 1;
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
770 nextMenuEditField();
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
771 enterMenuEditField();
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
772 }
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
773
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
774
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
775 void nextMenuEditFieldDigit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
776 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
777 uint8_t action;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
778 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
779 int8_t blockOld = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
780 int8_t subBlockPositionOld = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
781
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
782 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
783 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
784
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
785 blockOld = block;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
786 subBlockPositionOld = subBlockPosition;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
787
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
788 if(inc_subBlock_or_block_of_actual_id())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
789 action = ACTION_BUTTON_ENTER;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
790 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
791 action = ACTION_BUTTON_ENTER_FINAL;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
792
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
793 newContent = get_newContent_of_actual_id_block_and_subBlock(action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
794
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
795 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
796 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
799 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuLineSelected);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
800 for(int i = 0;i<=9;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
801 change_CLUT_entry((CLUT_MenuEditField0 + i), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
802
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
803 if(((newContent == UPDATE_DIVESETTINGS) || (newContent == UPDATE_AND_EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_MENU)) && (actual_menu_content == MENU_SURFACE))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
804 createDiveSettings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
805
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
806 if((newContent == EXIT_TO_MENU) || (newContent == UPDATE_AND_EXIT_TO_MENU))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
807 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
808 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
809 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
810 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
811
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
812 if((newContent == EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_HOME))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
813 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
814 exitMenuEdit_to_Home();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
815 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
816 }
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
817
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
818 if (newContent == EXIT_TO_NEXT_MENU) {
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
819 startNextEdit();
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
820
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
821 return;
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
822 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
823 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
824
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
825 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT) && (action == ACTION_BUTTON_ENTER) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
826 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
827 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
828 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
829 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
830 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
831 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
832 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT) && (action == ACTION_BUTTON_ENTER) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
833 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
834 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
835 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
836 } else if (ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT && action == ACTION_BUTTON_ENTER && subBlockPosition == 0) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
837 if (newContent == '+' || newContent == '-') {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
838 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
839 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
840 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
841 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
842 if((ident[actualId].maintype == FIELD_NUMBERS) && (action == ACTION_BUTTON_ENTER) && (newContent >= '0') && (newContent <= '9'))
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
843 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
844 else
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
845 if((ident[actualId].maintype == FIELD_TEXT) && (action == ACTION_BUTTON_ENTER) && (newContent >= '0') && (newContent <= '9'))
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
846 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
847
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
848 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
849 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
850 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
851 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
852 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
853 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
854 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
855 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
856 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
857 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
858 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
859 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
860 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
861 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
862 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
863 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
864 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
865 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
866 mark_new_digit_of_actual_id_block_and_subBlock();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
867 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,subBlockPositionOld);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
868 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
869 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
870 else /* action == ACTION_BUTTON_ENTER_FINAL */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
871 set_globalState(menuID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
872 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
873
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
874 uint8_t split_Content_to_Digit_helper(uint8_t inContentAscii, uint8_t *outDigit100, uint8_t *outDigit10, uint8_t *outDigit1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
875 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
876 uint8_t newContent, tempDigit, CopyContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
877
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
878 newContent = inContentAscii - '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
879 CopyContent = newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
880
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
881 tempDigit = newContent / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
882 newContent -= tempDigit * 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
883 if(outDigit100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
884 *outDigit100 = tempDigit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
885
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
886 tempDigit = newContent / 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
887 newContent -= tempDigit * 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
888 if(outDigit10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
889 *outDigit10 = tempDigit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
890
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
891 tempDigit = newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
892 if(outDigit1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
893 *outDigit1 = tempDigit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
894
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
895 return CopyContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
896 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
897
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
898
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
899 static void checkUpdateSDigit(uint8_t newContent)
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
900 {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
901 if ((subBlockPosition == 0 && (newContent == '+' || newContent == '-')) || (subBlockPosition > 0 && newContent >= '0' && newContent <= '9')) {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
902 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
903 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
904 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
905
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
906
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
907 void upMenuEditFieldDigit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
908 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
909 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
910 uint8_t digit100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
911 uint8_t digit10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
912 uint8_t digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
913
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
914 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_BUTTON_NEXT);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
919 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT) &&(newContent >= '0') && (newContent <= '0' + 200))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
920 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
921 split_Content_to_Digit_helper( newContent, &digit100, &digit10, &digit1);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
922 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + digit100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
923 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + digit10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
924 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + digit1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
925 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
926 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
927 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
929 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
930 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
931 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
932 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
933 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
934 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
935 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
936
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
937 if (ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
938 checkUpdateSDigit(newContent);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
939 } else if (ident[actualId].maintype == FIELD_NUMBERS && newContent >= '0' && newContent <= '9') {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
940 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
941 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
942
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
943 if ((ident[actualId].maintype == FIELD_TEXT) && (newContent >= 'A' && newContent <= '_'))
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
944 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
945 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
946 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
947 mark_new_digit_of_actual_id_block_and_subBlock();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
948 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
949
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
950
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
951 void downMenuEditFieldDigit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
952 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
953 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
954 uint8_t digit100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
955 uint8_t digit10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
956 uint8_t digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
957
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
958 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
959 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
960
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
961 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_BUTTON_BACK);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
962
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
963 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT) &&(newContent >= '0') && (newContent <= '0' + 200))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
964 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
965 split_Content_to_Digit_helper( newContent, &digit100, &digit10, &digit1);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
966 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + digit100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
967 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + digit10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
968 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + digit1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
969 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
970 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
971 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
972
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
973 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
974 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
975 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
976 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
977 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
978 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
979 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
980
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
981 if (ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
982 checkUpdateSDigit(newContent);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
983 } else if (ident[actualId].maintype == FIELD_NUMBERS && newContent >= '0' && newContent <= '9') {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
984 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
985 }
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
986 if ((ident[actualId].maintype == FIELD_TEXT) && (newContent >= 'A' && newContent <= '_')) {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
987 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
988 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
989
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
990 mark_new_digit_of_actual_id_block_and_subBlock();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
991 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
992
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
993
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
994 void evaluateNewString(uint32_t editID, uint32_t *pNewValue1, uint32_t *pNewValue2, uint32_t *pNewValue3, uint32_t *pNewValue4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
995 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
996 if(editID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
997 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
998
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
999 bool isSigned = ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1000
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1001 uint8_t i, digitCount, digit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1002 uint32_t sum[4], multiplier;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1003
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1004 for(i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1005 sum[i] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1006
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1007 i = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1008 while( ident[actualId].size[i] && (i < 4))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1009 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1010 multiplier = 1;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1011 for(digitCount = 1; digitCount < ident[actualId].size[i]; digitCount++)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1012 multiplier *= 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1013
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1014 bool isNegative = false;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1015 for(digitCount = 0; digitCount < ident[actualId].size[i]; digitCount++)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1016 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1017 digit = ident[actualId].newText[ident[actualId].begin[i] + digitCount];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1018
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1019 if (isSigned && digitCount == 0) {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1020 if (digit == '-') {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1021 isNegative = true;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1022 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1023 } else {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1024 if(digit > '0')
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1025 digit -= '0';
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1026 else
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1027 digit = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1028
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1029 if(digit > 9)
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1030 digit = 9;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1031
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1032 sum[i] += digit * multiplier;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1033 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1034
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1035 if(multiplier >= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1036 multiplier /= 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1037 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1038 multiplier = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1039 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1040
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1041 if (isSigned) {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1042 int32_t value = sum[i];
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1043 if (isNegative) {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1044 value = -value;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1045 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1046 sum[i] = ((input_u)value).uint32;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1047 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1048
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1049 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1050 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1051
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1052 *pNewValue1 = sum[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1053 *pNewValue2 = sum[1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1054 *pNewValue3 = sum[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1055 *pNewValue4 = sum[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1056 }
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1057 void evaluateNewStringText(uint32_t editID, uint8_t *pNewString)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1058 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1059 if(editID != ident[actualId].callerID)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1060 return;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1061
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1062 uint8_t i, digitCount;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1063 uint8_t digit = '_';
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1064
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1065 memset(pNewString, 0 , IDENT_MAX_INPUT_TEXT);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1066
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1067 i = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1068 while( ident[actualId].size[i] && (i < IDENT_MAX_INPUT_TEXT - 1))
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1069 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1070 for(digitCount = 0; digitCount < ident[actualId].size[i]; digitCount++)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1071 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1072 digit = ident[actualId].newText[ident[actualId].begin[i] + digitCount];
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1073 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1074 pNewString[i] = digit;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1075 i++;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1076 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1077 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1078
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1079 uint8_t get_id_of(uint32_t editID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1080 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1081 uint8_t temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1082
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1083 if(editID == ident[actualId].callerID)
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1084 return actualId;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1085 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1086 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1087 temp_id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1088 while((temp_id < 9) && (editID != ident[temp_id].callerID))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1089 temp_id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1090 if(editID != ident[temp_id].callerID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1091 temp_id = 255;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1092 return temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1093 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1094 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1095
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1096
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1097 void tMenuEdit_newButtonText(uint32_t editID, char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1098 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1099 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1100
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1101 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1102 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1103 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1104
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1105 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1106 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1107
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1108 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1109 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1110
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1111 clean_content_of_Id(id);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1112 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1113
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1114 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1115 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1116
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1117
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1118 void tMenuEdit_set_on_off(uint32_t editID, uint32_t int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1119 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1120 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1121
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1122 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1123 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1124 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1125
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1126 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1127 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1128
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1129 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1130
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1131 if(int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1132 ident[id].newText[0] = '\005';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1133 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1134 ident[id].newText[0] = '\006';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1135
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1136 clean_content_of_Id(id);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1137 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1138
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1139 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1140 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1141
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1142 void tMenuEdit_select(uint32_t editID)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1143 {
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1144 uint8_t id_local = 0;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1145 id_local = get_id_of(editID);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1146
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1147 if(id_local <= idLast)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1148 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1149 actualId = id_local;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1150 set_cursorNew(id_local);
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1151 }
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1152 }
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1153
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1154 #if OLD_SELECTION
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1155 void tMenuEdit_select(uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1156 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1157 if(int1 > 4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1158 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1159
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1160 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1161
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1162 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1163 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1164 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1165
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1166 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1167 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1168
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1169 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1170 ident[id].input[1] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1171 ident[id].input[2] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1172 ident[id].input[3] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1173
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1174 create_newText_for_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1175 clean_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1176 write_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1177
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1178 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1179 }
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1180 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1181
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1182
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1183 void tMenuEdit_newInput(uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1184 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1185 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1186
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1187 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1188 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1189 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1190
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1191 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1192 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1193
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1194 if(editID != ident[id].callerID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1195 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1196 temp_id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1197 while((temp_id < 9) && (editID != ident[temp_id].callerID))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1198 temp_id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1199 if(editID != ident[temp_id].callerID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1200 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1201 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1202 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1203 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1204 ident[id].input[1] = int2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1205 ident[id].input[2] = int3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1206 ident[id].input[3] = int4;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1207
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1208 create_newText_for_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1209 if(id <= idLast)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1210 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1211 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1212
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1213 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1214 }
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1215 void tMenuEdit_newInputText(uint32_t editID, uint8_t* ptext)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1216 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1217 uint8_t backup_id, temp_id;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1218 uint8_t index = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1219
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1220 temp_id = get_id_of(editID);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1221 if(temp_id == 255)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1222 return;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1223
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1224 backup_id = id;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1225 id = temp_id;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1226
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1227 if(editID != ident[id].callerID)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1228 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1229 temp_id = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1230 while((temp_id < IDENT_MAX_INPUT_TEXT) && (editID != ident[temp_id].callerID))
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1231 temp_id++;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1232 if(editID != ident[temp_id].callerID)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1233 return;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1234 id = temp_id;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1235 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1236 for(index = 0; index < IDENT_MAX_INPUT_TEXT; index++)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1237 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1238 ident[id].input[index] = *ptext++;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1239 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1240 create_newText_for_Id(id);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1241 if(id <= idLast)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1242 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1243 write_content_of_Id(id);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1244
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1245 id = backup_id;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1246 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1247
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1248 void resetEnterPressedToStateBeforeButtonAction(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1249 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1250 EnterPressed = EnterPressedBeforeButtonAction;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1251 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1252
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1253
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1254 void sendActionToMenuEdit(uint8_t sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1255 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1256 if(get_globalState() == menuID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1257 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1258 switch(sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1259 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1260 case ACTION_BUTTON_ENTER:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1261 EnterPressedBeforeButtonAction = EnterPressed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1262 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1263 enterMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1264 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1265 case ACTION_BUTTON_NEXT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1266 nextMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1267 // previousMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1268 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1269 case ACTION_BUTTON_BACK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1270 exitMenuEditBackMenuOption();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1271 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1272 case ACTION_TIMEOUT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1273 case ACTION_MODE_CHANGE:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1274 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1275 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1276 case ACTION_IDLE_TICK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1277 case ACTION_IDLE_SECOND:
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1278 default:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1279 break;
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1280
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1281 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1282 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1283 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1284 if(get_globalState() == event[actualevid].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1285 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1286 switch(sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1287 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1288 case ACTION_BUTTON_ENTER:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1289 nextMenuEditFieldDigit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1290 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1291 case ACTION_BUTTON_NEXT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1292 upMenuEditFieldDigit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1293 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1294 case ACTION_BUTTON_BACK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1295 downMenuEditFieldDigit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1296 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1297 case ACTION_TIMEOUT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1298 case ACTION_MODE_CHANGE:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1299 exitMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1300 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1301 case ACTION_IDLE_TICK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1302 case ACTION_IDLE_SECOND:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1303 break;
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1304 default:
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1305 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1306 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1307 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1308 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1309 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1310 switch(sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1311 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1312 case ACTION_BUTTON_ENTER:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1313 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1314 case ACTION_BUTTON_NEXT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1315 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1316 case ACTION_BUTTON_BACK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1317 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1318 case ACTION_TIMEOUT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1319 case ACTION_MODE_CHANGE:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1320 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1321 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1322 case ACTION_IDLE_TICK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1323 case ACTION_IDLE_SECOND:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1324 break;
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1325 default:
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1326 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1327 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1328 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1329 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1330
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1331
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1332 void create_newText_for_Id_and_field_select(int8_t localId)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1333 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1334 uint8_t i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1335
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1336 i = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1337 while( ident[localId].size[i] && (i < 4))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1338 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1339 if(ident[localId].input[i])
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1340 ident[localId].newText[ident[localId].begin[i]] = '\005';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1341 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1342 ident[localId].newText[ident[localId].begin[i]] = '\006';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1343 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1344 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1345 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1346
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1347 void create_newText_for_Id_and_field_text(int8_t localId)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1348 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1349 uint8_t i;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1350
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1351 i = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1352 while( ident[localId].size[i] && (i < 9))
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1353 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1354 if(ident[localId].input[i])
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1355 ident[localId].newText[ident[localId].begin[i]] = ident[localId].input[i];
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1356 i++;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1357 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1358 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1359
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1360
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1361 void create_newText_for_actual_Id_and_field_select(void)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1362 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1363 create_newText_for_Id_and_field_select(actualId);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1364 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1365
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1366 void create_newText_for_Id(int8_t localId)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1367 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1368 bool isSigned = ident[localId].maintype == FIELD_NUMBERS && ident[localId].subtype == FIELD_SDIGIT;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1369
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1370 uint8_t i, digitCount;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1371 uint32_t remainder, digit, divider;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1372 i = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1373
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1374 if( ident[localId].maintype == FIELD_SELECT)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1375 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1376 create_newText_for_Id_and_field_select(localId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1377 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1378 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1379
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1380 if( ident[localId].maintype == FIELD_TEXT)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1381 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1382 create_newText_for_Id_and_field_text(localId);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1383 return;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1384 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1385
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1386 while( ident[localId].size[i] && (i < 4))
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1387 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1388 bool isNegative = false;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1389 if (isSigned) {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1390 int32_t value = ((input_u)ident[localId].input[i]).int32;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1391 if (value < 0) {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1392 isNegative = true;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1393 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1394 remainder = abs(value);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1395 } else {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1396 remainder = ident[localId].input[i];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1397 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1398 divider = 1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1399
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1400 for(digitCount = 1; digitCount < ident[localId].size[i]; digitCount++)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1401 divider *= 10;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1402
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1403 for(digitCount = 0; digitCount < ident[localId].size[i]; digitCount++)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1404 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1405 if (isSigned && digitCount == 0) {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1406 ident[localId].newText[ident[localId].begin[i] + digitCount] = isNegative ? '-' : '+';
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1407 } else {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1408 digit = remainder / divider;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1409 remainder -= digit * divider;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1410 if(digit < 10)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1411 ident[localId].newText[ident[localId].begin[i] + digitCount] = digit + '0';
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1412 else
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1413 ident[localId].newText[ident[localId].begin[i] + digitCount] = 'x';
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1414 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1415
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1416 divider /= 10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1417 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1418 i++;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1419 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1420 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1421
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1422 void create_newText_for_actual_Id(void)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1423 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1424 create_newText_for_Id(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1425 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1426
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1427
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1428 void write_content_without_Id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1429 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1430 write_content( ident[id].coord[0], ident[id].coord[1], ident[id].coord[2], ident[id].fontUsed, ident[id].newText, CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1431 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1432
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1433
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1434 void write_content_of_Id(int8_t localId)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1435 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1436 write_content( ident[localId].coord[0], ident[localId].coord[1], ident[localId].coord[2], ident[localId].fontUsed, ident[localId].newText, (CLUT_MenuEditField0 + localId));
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1437 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1438 void write_content_of_actual_Id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1439 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1440 write_content_of_Id(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1441 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1442
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1443 void clean_content_of_Id(int8_t localId)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1444 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1445 clean_content( ident[localId].coord[0], ident[localId].coord[1], ident[localId].coord[2], ident[localId].fontUsed);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1446 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1447
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1448 void clean_content_of_actual_Id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1449 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1450 clean_content_of_Id(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1451 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1452
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1453 uint8_t togglePlusMinus(uint8_t input)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1454 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1455 if (input == '+') {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1456 return '-';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1457 } else {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1458 return '+';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1459 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1460 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1461
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1462 void write_field_udigit_and_2digit(uint8_t subtype, uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1463 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1464 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1465 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1466
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1467 ident[id].maintype = FIELD_NUMBERS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1468 ident[id].subtype = subtype;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1469
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1470 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1471 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1472 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1473 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1474 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1475
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1476 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1477 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1478 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1479 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1480
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1481 /* uint32_t has max 10 digits */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1482
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1483 int8_t beginTmp, sizeTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1484 uint8_t i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1485
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1486 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1487 ident[id].input[1] = int2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1488 ident[id].input[2] = int3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1489 ident[id].input[3] = int4;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1490
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1491 for(i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1492 ident[id].size[i] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1493
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1494 beginTmp = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1495 for(i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1496 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1497 while((ident[id].orgText[beginTmp] != '#')&& ident[id].orgText[beginTmp])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1498 beginTmp++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1499
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1500 if(ident[id].orgText[beginTmp] == '#')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1501 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1502 sizeTmp = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1503 while(ident[id].orgText[beginTmp + sizeTmp] == '#')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1504 sizeTmp++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1505
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1506 ident[id].begin[i] = beginTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1507 ident[id].size[i] = sizeTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1508 beginTmp = ident[id].begin[i] + ident[id].size[i];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1509 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1510 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1511 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1512 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1513
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1514 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1515 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1516 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1517 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditInfo);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1518
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1519 create_newText_for_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1520
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1521 if(editID == 0)
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1522 write_content_without_Id();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1523 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1524 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1525 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1526 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1527 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1528 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1529 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1530 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1531
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1532 void write_field_udigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1533 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1534 write_field_udigit_and_2digit(FIELD_UDIGIT, editID,XleftGimpStyle,XrightGimpStyle,YtopGimpStyle,Font,text,int1,int2,int3,int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1535 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1536
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1537 void write_field_2digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1538 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1539 write_field_udigit_and_2digit(FIELD_2DIGIT, editID,XleftGimpStyle,XrightGimpStyle,YtopGimpStyle,Font,text,int1,int2,int3,int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1540 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1541
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1542 void write_field_3digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1543 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1544 write_field_udigit_and_2digit(FIELD_3DIGIT, editID,XleftGimpStyle,XrightGimpStyle,YtopGimpStyle,Font,text,int1,int2,int3,int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1545 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1546
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1547
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1548 void write_field_sdigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, int32_t int1, int32_t int2, int32_t int3, int32_t int4)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1549 {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1550 write_field_udigit_and_2digit(FIELD_SDIGIT, editID, XleftGimpStyle, XrightGimpStyle, YtopGimpStyle, Font, text, ((input_u)int1).uint32, ((input_u)int2).uint32, ((input_u)int3).uint32, ((input_u)int4).uint32);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1551 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1552
1026
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1553 void write_field_text(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t* pInput)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1554 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1555 if(id >= 9)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1556 return;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1557
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1558 int8_t beginTmp;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1559
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1560 ident[id].maintype = FIELD_TEXT;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1561 ident[id].subtype = FIELD_TEXT;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1562
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1563 ident[id].coord[0] = XleftGimpStyle;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1564 ident[id].coord[1] = XrightGimpStyle;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1565 ident[id].coord[2] = YtopGimpStyle;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1566 ident[id].fontUsed = (tFont *)Font;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1567 ident[id].callerID = editID;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1568
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1569 strncpy(ident[id].orgText, text, 32);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1570 strncpy(ident[id].newText, text, 32);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1571 ident[id].orgText[31] = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1572 ident[id].newText[31] = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1573
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1574 for(int i=0;i < IDENT_MAX_INPUT_TEXT -1;i++)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1575 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1576 ident[id].input[i] = pInput[i];
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1577 ident[id].size[i] = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1578 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1579 pInput[8] = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1580
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1581 beginTmp = 0;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1582 for(int i=0;i < IDENT_MAX_INPUT_TEXT;i++)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1583 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1584 while((ident[id].orgText[beginTmp] != '#')&& ident[id].orgText[beginTmp])
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1585 beginTmp++;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1586
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1587 if(ident[id].orgText[beginTmp] == '#')
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1588 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1589
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1590 ident[id].begin[i] = beginTmp;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1591 ident[id].size[i] = 1;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1592 beginTmp = ident[id].begin[i] + ident[id].size[i];
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1593 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1594 else
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1595 break;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1596 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1597
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1598 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1599
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1600 create_newText_for_Id(id);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1601
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1602 if(editID == 0)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1603 write_content_without_Id();
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1604 else
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1605 {
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1606 write_content_of_Id(id);
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1607 if(!tME_stop)
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1608 idLast = id;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1609 id++;
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1610 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1611 }
5fedf7ba2392 Added text based edit item:
Ideenmodellierer
parents: 999
diff changeset
1612
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1613
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1614 void write_field_select(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2, uint8_t int3, uint8_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1615 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1616 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1617 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1618
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1619 int8_t beginTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1620
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1621 ident[id].maintype = FIELD_SELECT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1622 ident[id].subtype = FIELD_SELECT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1623
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1624 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1625 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1626 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1627 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1628 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1629
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1630 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1631 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1632 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1633 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1634
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1635 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1636 ident[id].input[1] = int2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1637 ident[id].input[2] = int3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1638 ident[id].input[3] = int4;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1639
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1640 for(int i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1641 ident[id].size[i] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1642
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1643 beginTmp = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1644 for(int i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1645 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1646 while((ident[id].orgText[beginTmp] != '#')&& ident[id].orgText[beginTmp])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1647 beginTmp++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1648
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1649 if(ident[id].orgText[beginTmp] == '#')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1650 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1651
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1652 ident[id].begin[i] = beginTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1653 ident[id].size[i] = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1654 beginTmp = ident[id].begin[i] + ident[id].size[i];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1655 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1656 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1657 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1658 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1659
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1660 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1661
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1662 create_newText_for_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1663
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1664 if(editID == 0)
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1665 write_content_without_Id();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1666 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1667 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1668 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1669 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1670 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1671 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1672 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1673 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1674
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1675 void write_field_button(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1676 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1677 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1678 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1679
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1680 ident[id].maintype = FIELD_BUTTON;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1681 ident[id].subtype = FIELD_BUTTON;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1682
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1683 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1684 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1685 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1686 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1687 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1688
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1689 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1690 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1691 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1692 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1693
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1694 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditButtonColor1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1695
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1696 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1697 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1698 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1699 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1700 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1701 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1702 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1703 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1704 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1705 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1706
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1707
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1708 void write_field_symbol(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1709 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1710 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1711 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1712
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1713 ident[id].maintype = FIELD_SYMBOL;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1714 ident[id].subtype = FIELD_SYMBOL;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1715
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1716 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1717 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1718 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1719 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1720 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1721
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1722 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1723 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1724 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1725
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1726 ident[id].newText[0] = text[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1727 ident[id].newText[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1728
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1729 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1730 ident[id].input[1] = strlen(ident[id].orgText);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1731
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1732 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditButtonColor1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1733
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1734 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1735 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1736 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1737 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1738 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1739 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1740 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1741 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1742 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1743 }
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1744 void write_field_toggle(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1745 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1746 if(id >= 9) return;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1747 ident[id].maintype = FIELD_TOGGLE;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1748 ident[id].subtype = FIELD_TOGGLE;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1749 ident[id].coord[0] = XleftGimpStyle;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1750 ident[id].coord[1] = XrightGimpStyle;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1751 ident[id].coord[2] = YtopGimpStyle;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1752 ident[id].fontUsed = (tFont *)Font;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1753 ident[id].callerID = editID;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1754 strncpy(ident[id].orgText, text, 32);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1755 strncpy(ident[id].newText, text, 32);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1756 ident[id].orgText[31] = 0;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1757 ident[id].newText[31] = 0;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1758
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1759 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditButtonColor1);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1760
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1761 if(editID == 0) write_content_without_Id();
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1762 else
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1763 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1764 write_content_of_Id(id);
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1765 if(!tME_stop) idLast = id;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1766 id++;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1767 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1768 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1769
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1770
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1771
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1772 /* was build for field_on_off
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1773 * to be tested for other purposes first
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1774 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1775 void tMenuEdit_refresh_field(uint32_t editID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1776 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1777 uint8_t temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1778
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1779 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1780 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1781 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1782
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1783 clean_content( ident[temp_id].coord[0], ident[temp_id].coord[1], ident[temp_id].coord[2], ident[temp_id].fontUsed);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1784 write_content( ident[temp_id].coord[0], ident[temp_id].coord[1], ident[temp_id].coord[2], ident[temp_id].fontUsed, ident[temp_id].newText, (CLUT_MenuEditField0 + temp_id));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1785 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1786
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1787
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1788 void write_field_on_off(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1789 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1790 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1791 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1792
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1793 ident[id].maintype = FIELD_ON_OFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1794 ident[id].subtype = FIELD_ON_OFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1795
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1796 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1797 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1798 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1799 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1800 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1801
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1802 if(int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1803 ident[id].orgText[0] = '\005';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1804 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1805 ident[id].orgText[0] = '\006';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1806
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1807 ident[id].orgText[1] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1808
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1809 strncpy(&ident[id].orgText[2], text, 30);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1810 strncpy(ident[id].newText, ident[id].orgText, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1811 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1812 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1813
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1814 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1815 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1816 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1817 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditInfo);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1818
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1819 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1820 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1821 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1822 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1823 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1824 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1825 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1826 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1827 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1828 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1829
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1830
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1831 void write_field_fpoint(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, float input)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1832 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1833 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1834 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1835
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1836 ident[id].maintype = FIELD_NUMBERS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1837 ident[id].subtype = FIELD_FLOAT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1838
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1839 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1840 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1841 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1842 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1843 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1844
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1845 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1846 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1847 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1848 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1849
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1850 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1851
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1852 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1853 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1854 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1855 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1856 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1857 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1858 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1859 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1860 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1861 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1862
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1863
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1864 void setBackMenu(uint32_t inputFunctionCall, uint8_t functionCallParameter, uint8_t gotoMenuEditField)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1865 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1866 backmenu.pEventFunction = inputFunctionCall;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1867 backmenu.functionParameter = functionCallParameter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1868 backmenu.line = gotoMenuEditField;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1869 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1870
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1871
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1872 void setEvent(uint32_t inputEventID, uint32_t inputFunctionCall)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1873 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1874 if(evidLast >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1875 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1876
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1877 #if 0
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1878 /* set cursor to first field */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1879 if(evidLast < 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1880 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1881 startMenuEditFieldSelect();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1882 }
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1883 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1884 event[evid].callerID = inputEventID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1885 event[evid].pEventFunction = inputFunctionCall;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1886
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1887 evidLast = evid;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1888 evid++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1889 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1890
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1891 void startEdit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1892 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1893 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1894 helperGotoMenuEditField(0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1895 enterMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1896 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1897
788
4abfb8a2a435 Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents: 786
diff changeset
1898
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1899 void exitEditWithUpdate(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1900 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1901 createDiveSettings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1902 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1903 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1904 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1905
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1906 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1907 void set_cursor(uint8_t forThisIdentID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1908 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1909 int16_t x0, x1, y0, y1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1910
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1911 uint32_t xtra_left_right = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1912 uint32_t xtra_top_bottom = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1913
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1914 // y geht von 0 bis 799
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1915 // x geht von 0 bis 479
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1916
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1917 x0 = (int16_t)ident[forThisIdentID].coord[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1918 x1 = (int16_t)ident[forThisIdentID].coord[1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1919 y0 = (int16_t)ident[forThisIdentID].coord[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1920 y1 = y0 + (int16_t)ident[forThisIdentID].fontUsed->height;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1921
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1922 if(((int16_t)ident[forThisIdentID].fontUsed->height) > 70)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1923 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1924 xtra_left_right = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1925 xtra_top_bottom = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1926 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1927 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1928 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1929 xtra_left_right = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1930 xtra_top_bottom = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1931 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1932
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1933 x0 -= xtra_left_right;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1934 x1 += xtra_left_right;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1935 y0 -= xtra_top_bottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1936 y1 += xtra_top_bottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1937
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1938 GFX_SetWindowLayer0(tMEcursor.FBStartAdress, x0, x1, y0, y1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1939 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1940 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1941
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1942 void set_cursorNew(uint8_t forThisIdentID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1943 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1944 int16_t y0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1945 uint8_t lineMinusOne;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1946
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1947 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1948 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1949 y0 = (int16_t)ident[forThisIdentID].coord[2];
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1950 y0 -= ME_Y_LINE1;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1951 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1952 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1953 {
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1954 y0 = 390 + 25 - (int16_t)ident[forThisIdentID].coord[2];
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1955 }
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1956
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1957 y0 /= ME_Y_LINE_STEP;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1958 if((y0 >= 0) && (y0 <=6))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1959 lineMinusOne = y0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1960 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1961 lineMinusOne = 0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1962
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1963 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1964 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1965 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress) + 65*2*(lineMinusOne), 0, 25, 800, 390);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1966 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1967 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1968 {
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1969 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress)+ (390 - 65 *(6-lineMinusOne)) *2, 0, 480-390-25, 800, 390);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1970 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1971 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1972
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1973
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1974 void write_topline( char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1975 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1976 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1977 const tFont *Font = &FontT48;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1978
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1979 hgfx.Image = &tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1980 hgfx.WindowNumberOfTextLines = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1981 hgfx.WindowLineSpacing = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1982 hgfx.WindowTab = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1983 hgfx.WindowX0 = 20;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1984 hgfx.WindowX1 = 779;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1985 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1986 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1987 hgfx.WindowY1 = 479;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1988 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1989 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1990 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1991 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1992 hgfx.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1993 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1994 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1995 GFX_write_label(Font, &hgfx, text, menuColor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1996 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1997
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1998
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1999 void write_buttonTextline( uint8_t left2ByteCode, char middle2ByteCode, char right2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2000 {
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2001
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2002 SSettings* pSettings;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2003 pSettings = settingsGetPointer();
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2004
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2005 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2006 {
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2007 GFX_clean_area(&tMEscreen, 0, 800, 479-24,480);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2008 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2009 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2010 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2011 GFX_clean_area(&tMEscreen, 0, 800, 0, 24);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2012 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2013
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2014 char localtext[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2015
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2016 if(left2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2017 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2018 localtext[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2019 localtext[1] = left2ByteCode;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2020 localtext[2] = 0;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2021
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2022 write_content_simple(&tMEscreen, 0, 800, 479-24, &FontT24,localtext,CLUT_ButtonSurfaceScreen);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2023 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2024
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2025 if(middle2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2026 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2027 localtext[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2028 localtext[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2029 localtext[2] = middle2ByteCode;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2030 localtext[3] = 0;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2031
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2032 write_content_simple(&tMEscreen, 0, 800, 479-24, &FontT24,localtext,CLUT_ButtonSurfaceScreen);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2033 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2034
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2035 if(right2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2036 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2037 localtext[0] = '\002';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2038 localtext[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2039 localtext[2] = right2ByteCode;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2040 localtext[3] = 0;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2041
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
2042 write_content_simple(&tMEscreen, 0, 800, 479-24, &FontT24,localtext,CLUT_ButtonSurfaceScreen);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2043 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2044 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2045
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2046
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2047
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2048 void write_label_var(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2049 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2050 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2051
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2052 if(XrightGimpStyle > 799)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2053 XrightGimpStyle = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2054 if(XleftGimpStyle >= XrightGimpStyle)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2055 XleftGimpStyle = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2056 if(YtopGimpStyle > 479)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2057 YtopGimpStyle = 479;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2058 hgfx.Image = &tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2059 hgfx.WindowNumberOfTextLines = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2060 hgfx.WindowLineSpacing = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2061 hgfx.WindowTab = 0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2062 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2063 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2064 hgfx.WindowX0 = XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2065 hgfx.WindowX1 = XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2066 hgfx.WindowY1 = 479 - YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2067 if(hgfx.WindowY1 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2068 hgfx.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2069 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2070 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2071 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2072 else
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2073 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2074 hgfx.WindowX0 = 800 - XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2075 hgfx.WindowX1 = 800 - XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2076 hgfx.WindowY0 = YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2077 if(hgfx.WindowY0 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2078 hgfx.WindowY1 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2079 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2080 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2081 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2082 GFX_write_label(Font, &hgfx, text, 0);/*menuColor);*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2083 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2084
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2085
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2086 void write_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t color)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2087 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2088 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2089
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2090 if(XrightGimpStyle > 799)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2091 XrightGimpStyle = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2092 if(XleftGimpStyle >= XrightGimpStyle)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2093 XleftGimpStyle = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2094 if(YtopGimpStyle > 479)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2095 YtopGimpStyle = 479;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2096 hgfx.Image = &tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2097 hgfx.WindowNumberOfTextLines = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2098 hgfx.WindowLineSpacing = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2099 hgfx.WindowTab = 0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2100
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2101 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2102 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2103 hgfx.WindowX0 = XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2104 hgfx.WindowX1 = XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2105 hgfx.WindowY1 = 479 - YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2106 if(hgfx.WindowY1 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2107 hgfx.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2108 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2109 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2110 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2111 else
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2112 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2113 hgfx.WindowX0 = 800 - XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2114 hgfx.WindowX1 = 800 - XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2115 hgfx.WindowY0 = YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2116 if(hgfx.WindowY0 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2117 hgfx.WindowY1 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2118 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2119 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2120 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2121 GFX_write_label(Font, &hgfx, text, color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2122 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2123
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2124
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2125 void write_label_fix(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char textId)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2126 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2127 char text[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2128
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2129 text[0] = textId;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2130 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2131
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2132 write_label_var(XleftGimpStyle, XrightGimpStyle, YtopGimpStyle, Font, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2133 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2134
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2135
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2136 void clean_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2137 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2138 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2139
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2140 if(XrightGimpStyle > 799)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2141 XrightGimpStyle = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2142 if(XleftGimpStyle >= XrightGimpStyle)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2143 XleftGimpStyle = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2144 if(YtopGimpStyle > 479)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2145 YtopGimpStyle = 479;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2146 hgfx.Image = &tMEscreen;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2147 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2148 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2149 hgfx.WindowX0 = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2150 hgfx.WindowX1 = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2151 hgfx.WindowY1 = 479 - YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2152 if(hgfx.WindowY1 < Font->height)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2153 hgfx.WindowY0 = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2154 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2155 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2156 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2157 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2158 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2159 hgfx.WindowX0 = 800 - XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2160 hgfx.WindowX1 = 800 - XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2161 hgfx.WindowY0 = YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2162 if(hgfx.WindowY0 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2163 hgfx.WindowY1 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2164 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2165 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
2166 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2167 GFX_clear_window_immediately(&hgfx);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2168 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2169
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2170
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2171 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2172
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2173 void draw_tMEdesign(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2174 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2175 GFX_draw_header(&tMEscreen,menuColor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2176 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2177
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2178 void draw_tMEdesignSubUnselected(uint32_t *ppDestination)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2179 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2180 union al88_u
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2181 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2182 uint8_t al8[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2183 uint16_t al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2184 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2185
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2186 union al88_u color_seperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2187 union al88_u color_unselected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2188 int i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2189
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2190 color_seperator.al8[0] = CLUT_MenuLineUnselectedSeperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2191 color_unselected.al8[0] = CLUT_MenuLineUnselected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2192
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2193 color_seperator.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2194 color_unselected.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2195
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2196 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2197 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2198 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2199 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2200
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2201 for(i = 61; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2202 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2203 *(__IO uint16_t*)*ppDestination = color_unselected.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2204 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2205 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2206
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2207 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2208 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2209 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2210 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2211 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2212
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2213
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2214 void draw_tMEdesignSubSelected(uint32_t *ppDestination)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2215 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2216 union al88_u
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2217 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2218 uint8_t al8[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2219 uint16_t al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2220 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2221
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2222 union al88_u color_selected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2223 union al88_u color_seperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2224 int i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2225
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2226 color_selected.al8[0] = CLUT_MenuEditLineSelected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2227 color_selected.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2228
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2229 color_seperator.al8[0] = CLUT_MenuLineSelectedSeperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2230 color_seperator.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2231
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2232 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2233 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2234 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2235 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2236
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2237 for(i = 61; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2238 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2239 *(__IO uint16_t*)*ppDestination = color_selected.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2240 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2241 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2242
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2243 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2244 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2245 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2246 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2247 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2248
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2249
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2250 void draw_tMEdesignSubSelectedBorder(uint32_t *ppDestination)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2251 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2252 union al88_u
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2253 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2254 uint8_t al8[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2255 uint16_t al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2256 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2257
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2258 union al88_u color_selected_sides;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2259
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2260 int i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2261
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2262 color_selected_sides.al8[0] = CLUT_MenuLineSelectedSides;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2263 color_selected_sides.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2264
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2265 for(i = 65; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2266 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2267 *(__IO uint16_t*)*ppDestination = color_selected_sides.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2268 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2269 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2270 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2271
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2272
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2273 void draw_tMEcursorNewDesign(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2274 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2275 int i,j;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2276 uint32_t pDestination;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2277
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2278 pDestination = tMEcursorNew.FBStartAdress;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2279
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2280 for(j = 801; j > 0; j--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2281 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2282 for(i = 5; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2283 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2284 draw_tMEdesignSubUnselected(&pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2285 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2286 if((j > 787) || (j < 17))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2287 draw_tMEdesignSubSelectedBorder(&pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2288 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2289 draw_tMEdesignSubSelected(&pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2290 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2291 }
552
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2292
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2293 GFX_DrawCfgScreen* getMenuEditScreen()
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2294 {
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2295 return &tMEscreen;
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2296 }
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2297
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2298