From 5279f0ae745e91e24299faa254f4c4375971114e 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 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@623 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- 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