char *setv(Agraph_t *g, Agsym_t *a, char *val) { if (!g || !a || !val) return NULL; myagxset(g, a, val); return val; }
char *setv(Agedge_t *e, Agsym_t *a, char *val) { if (!e || !a || !val) return NULL; myagxset(e, a, val); return val; }
char *setv(Agnode_t *n, Agsym_t *a, char *val) { if (!n || !a || !val) return NULL; myagxset(n, a, val); return val; }
char *setv(Agedge_t *e, Agsym_t *a, char *val) { if (!e || !a || !val) return NULL; if (AGTYPE(e) == AGRAPH) // protoedge return NULL; // FIXME ?? myagxset(e, a, val); return val; }
char *setv(Agnode_t *n, Agsym_t *a, char *val) { if (!n || !a || !val) return NULL; if (AGTYPE(n) == AGRAPH) // protonode return NULL; // FIXME ?? myagxset(n, a, val); return val; }
char *setv(Agraph_t *g, char *attr, char *val) { Agsym_t *a; if (!g || !attr || !val) return NULL; a = agfindattr(g->root, attr); if (!a) a = agraphattr(g->root, attr, empty_string); myagxset(g, a, val); return val; }
char *setv(Agedge_t *e, char *attr, char *val) { Agraph_t *g; Agsym_t *a; if (!e || !attr || !val) return NULL; g = e->tail->graph->root; a = agfindattr(g->proto->e, attr); if (!a) a = agedgeattr(g, attr, empty_string); myagxset(e, a, val); return val; }
char *setv(Agnode_t *n, char *attr, char *val) { Agraph_t *g; Agsym_t *a; if (!n || !attr || !val) return NULL; g = n->graph->root; a = agfindattr(g->proto->n, attr); if (!a) a = agnodeattr(g, attr, empty_string); myagxset(n, a, val); return val; }
char *setv(Agedge_t *e, char *attr, char *val) { Agraph_t *g; Agsym_t *a; if (!e || !attr || !val) return NULL; if (AGTYPE(e) == AGRAPH) { // protoedge g = (Agraph_t*)e; a = agattr(g, AGEDGE, attr, val); // create default attribute in pseudo protoedge // FIXME? - deal with html in "label" attributes return val; } g = agroot(agraphof(agtail(e))); a = agattr(g, AGEDGE, attr, NULL); if (!a) a = agattr(g, AGEDGE, attr, emptystring); myagxset(e, a, val); return val; }
char *setv(Agnode_t *n, char *attr, char *val) { Agraph_t *g; Agsym_t *a; if (!n || !attr || !val) return NULL; if (AGTYPE(n) == AGRAPH) { // protonode g = (Agraph_t*)n; a = agattr(g, AGNODE, attr, val); // create default attribute in psuodo protonode // FIXME? - deal with html in "label" attributes return val; } g = agroot(agraphof(n)); a = agattr(g, AGNODE, attr, NULL); if (!a) a = agnodeattr(g, attr, emptystring); myagxset(n, a, val); return val; }