From bbc3ae1aa6375621c9a9f7e5ea5bb8a3d43d8df3 Mon Sep 17 00:00:00 2001 From: reinelt <> Date: Mon, 23 Jan 2006 06:17:18 +0000 Subject: [lcd4linux @ 2006-01-23 06:17:18 by reinelt] timer widget added --- layout.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'layout.c') diff --git a/layout.c b/layout.c index 7b4fd57..91715d7 100644 --- a/layout.c +++ b/layout.c @@ -1,4 +1,4 @@ -/* $Id: layout.c,v 1.17 2005/12/18 16:18:36 reinelt Exp $ +/* $Id: layout.c,v 1.18 2006/01/23 06:17:18 reinelt Exp $ * * new layouter framework * @@ -23,6 +23,9 @@ * * * $Log: layout.c,v $ + * Revision 1.18 2006/01/23 06:17:18 reinelt + * timer widget added + * * Revision 1.17 2005/12/18 16:18:36 reinelt * GPO's added again * @@ -124,7 +127,7 @@ int layout_init(const char *layout) char *section; char *list, *l; char *widget; - int row, col, gpo; + int row, col, num; info("initializing layout '%s'", layout); @@ -143,31 +146,46 @@ int layout_init(const char *layout) l = list; while (l != NULL) { + char *p; int i, n; + /* list is delimited by | */ while (*l == '|') l++; if ((p = strchr(l, '|')) != NULL) *p = '\0'; - /* visible widgets */ + + /* row/col widgets */ i = sscanf(l, "row%d.col%d%n", &row, &col, &n); if (i == 2 && l[n] == '\0') { widget = cfg_get(section, l, NULL); if (widget != NULL && *widget != '\0') { - widget_add(widget, WIDGET_TYPE_VIS, row - 1, col - 1); + widget_add(widget, WIDGET_TYPE_RC, row - 1, col - 1); } free(widget); } + /* GPO widgets */ - i = sscanf(l, "gpo%d%n", &gpo, &n); + i = sscanf(l, "gpo%d%n", &num, &n); if (i == 1 && l[n] == '\0') { widget = cfg_get(section, l, NULL); if (widget != NULL && *widget != '\0') { - widget_add(widget, WIDGET_TYPE_GPO, gpo - 1, 0); + widget_add(widget, WIDGET_TYPE_GPO, num - 1, 0); } free(widget); } + + /* timer widgets */ + i = sscanf(l, "timer%d%n", &num, &n); + if (i == 1 && l[n] == '\0') { + widget = cfg_get(section, l, NULL); + if (widget != NULL && *widget != '\0') { + widget_add(widget, WIDGET_TYPE_TIMER, num - 1, 0); + } + free(widget); + } + /* next field */ l = p ? p + 1 : NULL; } -- cgit v1.2.3