From e1374f6c8635e33bd5a168ba1565e15dddab3f2b Mon Sep 17 00:00:00 2001 From: martin-s Date: Mon, 14 Dec 2009 20:03:59 +0000 Subject: [PATCH] Add:Core:Possibility to set layout by name git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2868 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/attr_def.h | 1 + navit/navit/navit.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/navit/navit/attr_def.h b/navit/navit/attr_def.h index d2ee03e..cd9ca4b 100644 --- a/navit/navit/attr_def.h +++ b/navit/navit/attr_def.h @@ -270,6 +270,7 @@ ATTR(filter) ATTR(daylayout) ATTR(nightlayout) ATTR(xml_text) +ATTR(layout_name) ATTR2(0x0003ffff,type_string_end) ATTR2(0x00040000,type_special_begin) ATTR(order) diff --git a/navit/navit/navit.c b/navit/navit/navit.c index 7266c32..73975b4 100644 --- a/navit/navit/navit.c +++ b/navit/navit/navit.c @@ -1630,6 +1630,7 @@ navit_set_attr_do(struct navit *this_, struct attr *attr, int init) GList *l; struct navit_vehicle *nv; struct attr active=(struct attr){attr_active,{(void *)0}}; + struct layout *lay; switch (attr->type) { case attr_autozoom: @@ -1669,6 +1670,19 @@ navit_set_attr_do(struct navit *this_, struct attr *attr, int init) attr_updated=1; } break; + case attr_layout_name: + l=this_->layouts; + while (l) { + lay=l->data; + if (!strcmp(lay->name,attr->u.str)) { + struct attr attr; + attr.type=attr_layout; + attr.u.layout=lay; + return navit_set_attr_do(this_, &attr, init); + } + l=g_list_next(l); + } + return 0; case attr_orientation: orient_old=this_->orientation; this_->orientation=attr->u.num; -- 2.7.4