mui updates
This commit is contained in:
parent
6b449b5aa2
commit
47e570c263
18
csrc/mui.c
18
csrc/mui.c
|
@ -187,7 +187,9 @@ uint8_t mui_fds_first_token(mui_t *ui)
|
|||
return mui_fds_next_token(ui);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
The inner token delimiter "|" is fixed. It must be the pipe symbol.
|
||||
*/
|
||||
uint8_t mui_fds_next_token(mui_t *ui)
|
||||
{
|
||||
uint8_t c;
|
||||
|
@ -223,7 +225,7 @@ uint8_t mui_fds_next_token(mui_t *ui)
|
|||
}
|
||||
|
||||
/*
|
||||
find nth token, return 0 if n exceeds the number of tokens, 1 otherwise
|
||||
find nth token ('|' delimiter), return 0 if n exceeds the number of tokens, 1 otherwise
|
||||
the result is stored in ui->text
|
||||
*/
|
||||
uint8_t mui_fds_get_nth_token(mui_t *ui, uint8_t n)
|
||||
|
@ -653,7 +655,7 @@ void mui_next_field(mui_t *ui)
|
|||
/* OBSOLETE */
|
||||
#ifdef OBSOLETE
|
||||
void mui_GetSelectableFieldTextOptionByCursorPosition(mui_t *ui, uint8_t form_id, uint8_t cursor_position, uint8_t nth_token)
|
||||
{
|
||||
|
||||
fds_t *fds = ui->fds; // backup the current fds, so that this function can be called inside a task loop
|
||||
int len = ui->len; // backup length of the current command
|
||||
|
||||
|
@ -675,6 +677,16 @@ void mui_GetSelectableFieldTextOptionByCursorPosition(mui_t *ui, uint8_t form_id
|
|||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
this function will overwrite the ui field related member variables
|
||||
nth_token can be 0 if the fiel text is not a option list
|
||||
the result is stored in ui->text
|
||||
|
||||
token delimiter is '|' (pipe symbol)
|
||||
|
||||
fds: The start of a field (MUI_DATA)
|
||||
nth_token: The position of the token, which should be returned
|
||||
*/
|
||||
uint8_t mui_GetSelectableFieldTextOption(mui_t *ui, fds_t *fds, uint8_t nth_token)
|
||||
{
|
||||
fds_t *fds_backup = ui->fds; // backup the current fds, so that this function can be called inside a task loop
|
||||
|
|
36
csrc/mui.h
36
csrc/mui.h
|
@ -32,6 +32,42 @@
|
|||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
MUIF (Monochrome User Interface Functions)
|
||||
n: A number 0 to 9 without any quotes, e.g.: 5
|
||||
id: Exactly two characters or numbers in doubl quotes, e.g. "G5".
|
||||
cb: A callback function with the following prototype: "uint8_t muif_cb(mui_t *ui, uint8_t msg)"
|
||||
There are MANY predefined callback functions, see separate list
|
||||
var: Address of a variable.
|
||||
text: Normal text, but special characters might be required for some callback functions, for
|
||||
example the text might contain a list of selectable elements separated with the '|' symbol.
|
||||
|
||||
MUIF_STYLE(n,cb)
|
||||
Corresponding FDS command: MUI_STYLE(n)
|
||||
Change the style of any other elements after MUI_STYLE(n), does not draw anything
|
||||
|
||||
MUIF_RO(id,cb)
|
||||
Corresponding FDS command: MUI_DATA(id, text) MUI_XY(id, x, y), MUI_XYT(id, x,y,text), MUI_XYA(id, x,y,a), MUI_XYAT(id, x,y,a,text)
|
||||
Places a read only element on the form.
|
||||
The correct FDS command depends on the callback function.
|
||||
|
||||
MUIF_LABEL(cb)
|
||||
Corresponding FDS command: MUI_LABEL(x,y,text)
|
||||
Places a text at the specified position, similar to MUIF_RO
|
||||
|
||||
MUIF_GOTO(cb)
|
||||
Corresponding FDS command: MUI_GOTO(x,y,n,text)
|
||||
Places a button at the specified position, similar to MUIF_BUTTON, but does not require an ID.
|
||||
|
||||
MUIF_BUTTON(id,cb)
|
||||
Corresponding FDS command: MUI_XY(id, x, y), MUI_XYT(id, x,y,text), MUI_XYA(id, x,y,a), MUI_XYAT(id, x,y,a,text)
|
||||
Places a selectable element on the form.
|
||||
|
||||
MUIF_VARIABLE(id,var,cb)
|
||||
Corresponding FDS command: MUI_XY(id, x, y), MUI_XYA(id, x,y,a)
|
||||
Places a user input element at the specified location.
|
||||
The correct FDS command depends on the callback function.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
|
188
csrc/mui_u8g2.c
188
csrc/mui_u8g2.c
|
@ -64,12 +64,12 @@
|
|||
mud up/down: select will enter the up/down edit mode. Next/prev event will increment/decrement the value
|
||||
|
||||
styles (not for draw text/str)
|
||||
unselected selected up/down edit
|
||||
plain invers invers + gap + frame pi
|
||||
frame invers+frame frame fi
|
||||
unselected selected up/down edit postfix Use for
|
||||
plain invers invers + gap + frame pi input elements
|
||||
frame invers+frame frame fi buttons
|
||||
|
||||
plain frame invers + frame pf
|
||||
invers frame invers + frame if
|
||||
plain frame invers + frame pf input elements
|
||||
invers frame invers + frame if buttons
|
||||
|
||||
|
||||
mui_u8g2_[action]_[field_width]_[edit_mode]_[style]
|
||||
|
@ -242,6 +242,34 @@ void mui_u8g2_draw_button_pf(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h
|
|||
}
|
||||
|
||||
|
||||
u8g2_uint_t mui_u8g2_get_if_flags(mui_t *ui)
|
||||
{
|
||||
u8g2_uint_t flags = 0;
|
||||
if ( mui_IsCursorFocus(ui) )
|
||||
{
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
flags |= 1;
|
||||
flags |= U8G2_BTN_INV;
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= U8G2_BTN_INV;
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
|
||||
void mui_u8g2_draw_button_if(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text)
|
||||
{
|
||||
mui_u8g2_draw_button_utf(ui, mui_u8g2_get_if_flags(ui), width, padding_h , MUI_U8G2_V_PADDING, text);
|
||||
}
|
||||
|
||||
|
||||
static uint8_t mui_u8g2_handle_scroll_next_prev_events(mui_t *ui, uint8_t msg) MUI_NOINLINE;
|
||||
static uint8_t mui_u8g2_handle_scroll_next_prev_events(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
|
@ -374,6 +402,32 @@ uint8_t mui_u8g2_btn_goto_wm_fi(mui_t *ui, uint8_t msg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_btn_goto_wm_if(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER |mui_u8g2_get_if_flags(ui), 0, 1, MUI_U8G2_V_PADDING, ui->text);
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
return mui_GotoForm(ui, ui->arg, 0);
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
u8g2_t *u8g2 = mui_get_U8g2(ui);
|
||||
|
@ -400,6 +454,32 @@ uint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_btn_goto_w2_if(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
u8g2_t *u8g2 = mui_get_U8g2(ui);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER | mui_u8g2_get_if_flags(ui), u8g2_GetDisplayWidth(u8g2)/2 - 10, 0, MUI_U8G2_V_PADDING, ui->text);
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
return mui_GotoForm(ui, ui->arg, 0);
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
uint8_t mui_u8g2_btn_exit_wm_fi(mui_t *ui, uint8_t msg)
|
||||
|
@ -407,7 +487,7 @@ uint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg)
|
|||
Description:
|
||||
A button with size equal to button text plus one pixel padding
|
||||
The button has a one pixel frame around the text.
|
||||
If the selected, then the menu system will be closed.
|
||||
If selected, then the menu system will be closed.
|
||||
The arg value will be stored at the specified data location (if not NULL).
|
||||
The arg value can be used as an exit value of the button.
|
||||
|
||||
|
@ -882,7 +962,43 @@ uint8_t mui_u8g2_u8_opt_line_wa_mse_pi(mui_t *ui, uint8_t msg)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mse_pf(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
//u8g2_t *u8g2 = mui_get_U8g2(ui);
|
||||
uint8_t *value = (uint8_t *)muif_get_data(ui->uif);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
if ( mui_fds_get_nth_token(ui, *value) == 0 )
|
||||
{
|
||||
*value = 0;
|
||||
mui_fds_get_nth_token(ui, *value);
|
||||
}
|
||||
mui_u8g2_draw_button_pf(ui, ui->arg, 1, ui->text);
|
||||
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
(*value)++;
|
||||
if ( mui_fds_get_nth_token(ui, *value) == 0 )
|
||||
*value = 0;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
//u8g2_t *u8g2 = mui_get_U8g2(ui);
|
||||
|
@ -896,8 +1012,6 @@ uint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg)
|
|||
mui_fds_get_nth_token(ui, *value);
|
||||
}
|
||||
mui_u8g2_draw_button_pi(ui, ui->arg, 1, ui->text);
|
||||
//mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, ui->text);
|
||||
//u8g2_DrawButtonUTF8(u8g2, mui_get_x(ui), mui_get_y(ui), mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, ui->text);
|
||||
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
|
@ -938,6 +1052,58 @@ uint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mud_pf(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
//u8g2_t *u8g2 = mui_get_U8g2(ui);
|
||||
uint8_t *value = (uint8_t *)muif_get_data(ui->uif);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
if ( mui_fds_get_nth_token(ui, *value) == 0 )
|
||||
{
|
||||
*value = 0;
|
||||
mui_fds_get_nth_token(ui, *value);
|
||||
}
|
||||
mui_u8g2_draw_button_pf(ui, ui->arg, 1, ui->text);
|
||||
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
/* toggle between normal mode and capture next/prev mode */
|
||||
ui->is_mud = !ui->is_mud;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
case MUIF_MSG_EVENT_NEXT:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
(*value)++;
|
||||
if ( mui_fds_get_nth_token(ui, *value) == 0 )
|
||||
*value = 0;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case MUIF_MSG_EVENT_PREV:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
if ( *value == 0 )
|
||||
*value = mui_fds_get_token_cnt(ui);
|
||||
(*value)--;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -1283,6 +1449,10 @@ uint8_t mui_u8g2_u8_opt_child_wm_mse_pi(mui_t *ui, uint8_t msg)
|
|||
an invisible field (which will not show anything). It should also not be selectable
|
||||
it just provides the menu entries, see "mui_u8g2_u8_opt_child_mse_common" and friends
|
||||
as a consequence it does not have width, input mode and style
|
||||
|
||||
MUIF: MUIF_RO()
|
||||
FDS: MUI_DATA()
|
||||
|
||||
*/
|
||||
uint8_t mui_u8g2_goto_parent(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
|
|
|
@ -111,28 +111,32 @@ void mui_u8g2_draw_button_utf_pi(mui_t *ui, u8g2_uint_t width, u8g2_uint_t paddi
|
|||
/* ready to use field functions */
|
||||
|
||||
uint8_t mui_u8g2_draw_text(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_goto_wm_fi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_goto_wm_fi(mui_t *ui, uint8_t msg); /* GIF */
|
||||
uint8_t mui_u8g2_btn_goto_wm_if(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg); /* GIF */
|
||||
uint8_t mui_u8g2_btn_goto_w2_if(mui_t *ui, uint8_t msg);
|
||||
|
||||
uint8_t mui_u8g2_btn_goto_w1_pi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_goto_w1_fi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_goto_w1_pi(mui_t *ui, uint8_t msg); /* GIF */
|
||||
uint8_t mui_u8g2_btn_goto_w1_fi(mui_t *ui, uint8_t msg); /* GIF */
|
||||
|
||||
uint8_t mui_u8g2_btn_exit_wm_fi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_btn_exit_wm_fi(mui_t *ui, uint8_t msg); /* similar to 'mui_u8g2_btn_goto_wm_fi' but will exit the menu system */
|
||||
|
||||
uint8_t mui_u8g2_u8_chkbox_wm_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_radio_wm_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE,MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_chkbox_wm_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_radio_wm_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */
|
||||
|
||||
|
||||
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE,MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE,MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mse_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_opt_line_wa_mud_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */
|
||||
|
||||
uint8_t mui_u8g2_u8_opt_parent_wm_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XYAT */
|
||||
uint8_t mui_u8g2_u8_opt_radio_child_wm_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XYA */
|
||||
uint8_t mui_u8g2_u8_opt_radio_child_w1_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XYA */
|
||||
uint8_t mui_u8g2_u8_opt_child_wm_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XYA */
|
||||
|
||||
uint8_t mui_u8g2_goto_parent(mui_t *ui, uint8_t msg); /* MUIF_RO */
|
||||
uint8_t mui_u8g2_goto_parent(mui_t *ui, uint8_t msg); /* MUIF_RO, MUI_DATA (WARNING: Must appear only once per form!!! */
|
||||
uint8_t mui_u8g2_goto_child_w1_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_BUTTON, MUI_XYA */
|
||||
|
||||
|
||||
|
@ -148,11 +152,11 @@ uint8_t mui_u8g2_u8_char_wm_mud_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE
|
|||
(void *)((mui_u8g2_u8_min_max_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max)}}), \
|
||||
(muif))
|
||||
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mud_pi(mui_t *ui, uint8_t msg); /* MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mud_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mse_pf(mui_t *ui, uint8_t msg); /* MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mud_pf(mui_t *ui, uint8_t msg); /* MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mse_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
uint8_t mui_u8g2_u8_min_max_wm_mud_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */
|
||||
|
||||
/*===== data = mui_u8g2_list_t* =====*/
|
||||
/* similar to mui_u8g2_u8_opt_line, but u16 and dynamic list */
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
|
||||
/*
|
||||
mui_ref
|
||||
*/
|
||||
#include "u8g2.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
@ -254,9 +256,13 @@ muif_t muif_list[] MUI_PROGMEM = {
|
|||
|
||||
/* Form 10 */
|
||||
MUIF_GOTO(mui_u8g2_btn_goto_wm_fi),
|
||||
|
||||
MUIF_BUTTON("G0", mui_u8g2_btn_goto_wm_fi),
|
||||
MUIF_BUTTON("G1", mui_u8g2_btn_goto_w1_pi),
|
||||
MUIF_BUTTON("G2", mui_u8g2_btn_goto_w2_fi),
|
||||
MUIF_BUTTON("G1", mui_u8g2_btn_goto_w1_fi),
|
||||
MUIF_BUTTON("G2", mui_u8g2_btn_goto_w1_pi),
|
||||
MUIF_BUTTON("G3", mui_u8g2_btn_goto_w2_fi),
|
||||
|
||||
MUIF_BUTTON("G6", mui_u8g2_btn_goto_wm_if),
|
||||
|
||||
/* Form 20 */
|
||||
MUIF_U8G2_U8_MIN_MAX("N0", &number_input9, 0, 9, mui_u8g2_u8_min_max_wm_mse_pi),
|
||||
|
@ -272,6 +278,8 @@ muif_t muif_list[] MUI_PROGMEM = {
|
|||
/* Form 40: Cycle Option */
|
||||
MUIF_VARIABLE("O1",&fruit_input,mui_u8g2_u8_opt_line_wa_mse_pi),
|
||||
MUIF_VARIABLE("O2",&fruit_input,mui_u8g2_u8_opt_line_wa_mud_pi),
|
||||
MUIF_VARIABLE("O3",&fruit_input,mui_u8g2_u8_opt_line_wa_mse_pf),
|
||||
MUIF_VARIABLE("O4",&fruit_input,mui_u8g2_u8_opt_line_wa_mud_pf),
|
||||
|
||||
|
||||
/* Form 50: Parent/Child Option */
|
||||
|
@ -327,8 +335,9 @@ MUI_XY("HR", 0,13)
|
|||
MUI_STYLE(7)
|
||||
MUI_DATA("GP",
|
||||
MUI_11 "btn_goto_wm_fi|"
|
||||
MUI_12 "btn_goto_w1_pi|"
|
||||
MUI_13 "btn_goto_w2_fi|"
|
||||
MUI_12 "btn_goto_w1_fi|"
|
||||
MUI_13 "btn_goto_w1_pi|"
|
||||
MUI_14 "btn_goto_w2_fi|"
|
||||
MUI_1 "Back to Main Menu" )
|
||||
MUI_XYA("GC", 5, 25, 0)
|
||||
MUI_XYA("GC", 5, 37, 1)
|
||||
|
@ -348,10 +357,10 @@ MUI_GOTO(64, 59, 10, " Ok ")
|
|||
|
||||
MUI_FORM(12)
|
||||
MUI_STYLE(2)
|
||||
MUI_LABEL(1,5, "mui_u8g2_btn_goto_w1_pi")
|
||||
MUI_LABEL(1,5, "mui_u8g2_btn_goto_w1_fi")
|
||||
MUI_LABEL(1,12, "MUIF_GOTO, MUIF_BUTTON")
|
||||
MUI_LABEL(1,19, "MUI_GOTO, MUI_XYAT")
|
||||
MUI_LABEL(1,25, "Full width button without frame")
|
||||
MUI_LABEL(1,25, "Full width button with frame")
|
||||
MUI_XY("HR", 0,26)
|
||||
MUI_STYLE(0)
|
||||
MUI_XYAT("G1", 1, 42, 10, "Button")
|
||||
|
@ -359,14 +368,25 @@ MUI_GOTO(64, 59, 10, " Ok ")
|
|||
|
||||
MUI_FORM(13)
|
||||
MUI_STYLE(2)
|
||||
MUI_LABEL(1,5, "mui_u8g2_btn_goto_w1_pi")
|
||||
MUI_LABEL(1,12, "MUIF_GOTO, MUIF_BUTTON")
|
||||
MUI_LABEL(1,19, "MUI_GOTO, MUI_XYAT")
|
||||
MUI_LABEL(1,25, "Full width button without frame")
|
||||
MUI_XY("HR", 0,26)
|
||||
MUI_STYLE(0)
|
||||
MUI_XYAT("G2", 1, 42, 10, "Button")
|
||||
MUI_GOTO(64, 59, 10, " Ok ")
|
||||
|
||||
MUI_FORM(14)
|
||||
MUI_STYLE(2)
|
||||
MUI_LABEL(1,5, "mui_u8g2_btn_goto_w2_fi")
|
||||
MUI_LABEL(1,12, "MUIF_GOTO, MUIF_BUTTON")
|
||||
MUI_LABEL(1,19, "MUI_GOTO, MUI_XYAT")
|
||||
MUI_LABEL(1,25, "Centered half display width button")
|
||||
MUI_XY("HR", 0,26)
|
||||
MUI_STYLE(0)
|
||||
MUI_XYAT("G2", 32, 42, 10, "Btn 1")
|
||||
MUI_XYAT("G2", 96, 42, 10, "Btn 2")
|
||||
MUI_XYAT("G3", 32, 42, 10, "Btn 1")
|
||||
MUI_XYAT("G3", 96, 42, 10, "Btn 2")
|
||||
MUI_GOTO(64, 59, 10, " Ok ")
|
||||
|
||||
|
||||
|
@ -491,6 +511,8 @@ MUI_STYLE(7)
|
|||
MUI_DATA("GP",
|
||||
MUI_41 "u8_opt_line_wa_mse_pi|"
|
||||
MUI_42 "u8_opt_line_wa_mud_pi|"
|
||||
MUI_43 "u8_opt_line_wa_mse_pf|"
|
||||
MUI_44 "u8_opt_line_wa_mud_pf|"
|
||||
MUI_1 "Back to Main Menu" )
|
||||
MUI_XYA("GC", 5, 25, 0)
|
||||
MUI_XYA("GC", 5, 37, 1)
|
||||
|
@ -508,6 +530,7 @@ MUI_STYLE(0)
|
|||
MUI_LABEL(5,40, "Fruit:")
|
||||
MUI_XYAT("O1",60, 40, 60, "Banana|Apple|Melon|Cranberry")
|
||||
MUI_STYLE(0)
|
||||
//MUI_XYAT("G6", 64, 59, 40, " Ok ")
|
||||
MUI_GOTO(64, 59, 40, " Ok ")
|
||||
|
||||
|
||||
|
@ -522,8 +545,36 @@ MUI_STYLE(0)
|
|||
MUI_LABEL(5,40, "Fruit:")
|
||||
MUI_XYAT("O2",60, 40, 60, "Banana|Apple|Melon|Cranberry")
|
||||
MUI_STYLE(0)
|
||||
//MUI_XYAT("G6", 64, 59, 40, " Ok ")
|
||||
MUI_GOTO(64, 59, 40, " Ok ")
|
||||
|
||||
MUI_FORM(43)
|
||||
MUI_STYLE(2)
|
||||
MUI_LABEL(1,5, "mui_u8g2_u8_opt_line_wa_mse_pf")
|
||||
MUI_LABEL(1,12, "MUIF_VARIABLE")
|
||||
MUI_LABEL(1,19, "MUI_XYAT")
|
||||
MUI_LABEL(1,25, "Options forward cycle")
|
||||
MUI_XY("HR", 0,26)
|
||||
MUI_STYLE(0)
|
||||
MUI_LABEL(5,40, "Fruit:")
|
||||
MUI_XYAT("O3",60, 40, 60, "Banana|Apple|Melon|Cranberry")
|
||||
MUI_STYLE(0)
|
||||
MUI_XYAT("G6", 64, 59, 40, " Ok ")
|
||||
//MUI_GOTO(64, 59, 40, " Ok ")
|
||||
|
||||
MUI_FORM(44)
|
||||
MUI_STYLE(2)
|
||||
MUI_LABEL(1,5, "mui_u8g2_u8_opt_line_wa_mud_pf")
|
||||
MUI_LABEL(1,12, "MUIF_VARIABLE")
|
||||
MUI_LABEL(1,19, "MUI_XYAT")
|
||||
MUI_LABEL(1,25, "Options forward+backward cycle")
|
||||
MUI_XY("HR", 0,26)
|
||||
MUI_STYLE(0)
|
||||
MUI_LABEL(5,40, "Fruit:")
|
||||
MUI_XYAT("O4",60, 40, 60, "Banana|Apple|Melon|Cranberry")
|
||||
MUI_STYLE(0)
|
||||
MUI_XYAT("G6", 64, 59, 40, " Ok ")
|
||||
//MUI_GOTO(64, 59, 40, " Ok ")
|
||||
|
||||
|
||||
|
||||
|
@ -859,12 +910,17 @@ int main(void)
|
|||
draw(1, "", ""); return 0;
|
||||
|
||||
/*
|
||||
|
||||
a: start animation
|
||||
.: end and write animation
|
||||
goto form (first argument) then press a to see where the animation has to start
|
||||
*/
|
||||
draw(10, "asnnsnsnnsnnsnnns.q", "mui_btn_goto.gif");
|
||||
/*
|
||||
draw(10, "asnnnsnsnnnsnnsnnnsnnnsnnnnns.q", "mui_btn_goto.gif");
|
||||
draw(20, "assssnsnssnnnnnnsnsnnssppssssssnsnnnssnpppppppsns.q", "mui_uint8_number.gif");
|
||||
draw(30, "assnsnsnssnsnsssnsns.q", "mui_uint8_checkbox_radio.gif");
|
||||
*/
|
||||
draw(40, "asnnssnsnssppsnsnnsnnsssnsnnnssnnsns.q", "mui_u8g2_u8_opt_line_wa.gif");
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# without 'v' prefix
|
||||
echo -n "2.32.6"
|
||||
echo -n "2.32.7"
|
||||
|
|
Loading…
Reference in New Issue