From: arif Date: Thu, 12 Nov 2009 18:13:04 +0000 (+0000) Subject: node size bug fixed X-Git-Tag: LAST_LIBGRAPH~32^2~1569 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=82bae6c89bcb71c8ab058625a3fbc19dde02a4ff;p=graphviz node size bug fixed --- diff --git a/cmd/smyrna/gui/menucallbacks.c b/cmd/smyrna/gui/menucallbacks.c index 171ee679e..4ec279945 100755 --- a/cmd/smyrna/gui/menucallbacks.c +++ b/cmd/smyrna/gui/menucallbacks.c @@ -27,11 +27,13 @@ #include #include #include +#include "frmobjectui.h" //file char buf[255]; -void mNewSlot(GtkWidget * widget, gpointer user_data) +void mAttributesSlot(GtkWidget * widget, gpointer user_data) { + showAttrsWidget(view->Topview); } void mOpenSlot(GtkWidget * widget, gpointer user_data) @@ -563,8 +565,6 @@ void mTestgvpr(GtkWidget * widget, gpointer user_data) g_free(bf2); } assert(j == argc); - for (i = 0; i < j; i++) - printf("%s ",argv[i]); run_gvpr(view->g[view->activeGraph], argc, argv); diff --git a/cmd/smyrna/gui/menucallbacks.h b/cmd/smyrna/gui/menucallbacks.h index 65c79bd53..56c1cc190 100755 --- a/cmd/smyrna/gui/menucallbacks.h +++ b/cmd/smyrna/gui/menucallbacks.h @@ -24,7 +24,7 @@ extern "C" { #endif //file - _BB void mNewSlot(GtkWidget * widget, gpointer user_data); + _BB void mAttributesSlot(GtkWidget * widget, gpointer user_data); _BB void mOpenSlot(GtkWidget * widget, gpointer user_data); _BB void mSaveSlot(GtkWidget * widget, gpointer user_data); _BB void mSaveAsSlot(GtkWidget * widget, gpointer user_data); diff --git a/cmd/smyrna/main.c b/cmd/smyrna/main.c index 99766b36a..aba12b254 100755 --- a/cmd/smyrna/main.c +++ b/cmd/smyrna/main.c @@ -219,7 +219,6 @@ int main(int argc, char *argv[]) gladewidget = glade_xml_get_widget(xml, "hbox11"); gtk_widget_hide(glade_xml_get_widget(xml, "vbox13")); - gtk_widget_hide(glade_xml_get_widget(xml, "hbox7")); create_window(glconfig, gladewidget); diff --git a/cmd/smyrna/topview.c b/cmd/smyrna/topview.c index 626735ae4..7ef9d4a06 100755 --- a/cmd/smyrna/topview.c +++ b/cmd/smyrna/topview.c @@ -223,6 +223,7 @@ void settvcolorinfo(Agraph_t * g, topview * t) Agsym_t *ecolor = agattr(g, AGEDGE, "color", 0); Agsym_t *edgeid = agattr(g, AGEDGE, "edgeid", 0); char *color_string; + char* tempStr; /*loop nodes */ for (ind = 0; ind < t->Nodecount; ind++) { @@ -234,6 +235,16 @@ void settvcolorinfo(Agraph_t * g, topview * t) np->data.Selected = boolAttr(np->Node, sel, 0); np->data.Highlighted = boolAttr(np->Node, hilite, 0); np->data.Visible = visible(np->Node, vis, sty); + tempStr=agget(t->Nodes[ind].Node, "size"); + if(tempStr) + { + if (strlen(tempStr) > 0) /*set node size */ + t->Nodes[ind].size = atof(tempStr); + } + if (t->Nodes[ind].degree > t->maxnodedegree) + t->maxnodedegree = t->Nodes[ind].degree; + + } /*loop edges */ @@ -247,7 +258,7 @@ void settvcolorinfo(Agraph_t * g, topview * t) for (ind = 0; ind < t->Edgecount; ind++) { ep = t->Edges + ind; if (ecolor && (color_string = agxget(ep->Edge, ecolor)) - && (*color_string != '\0')) + && (*color_string != '\0')&& (strlen(color_string)>0)) setglCompColor(&color, color_string); else { /*use color theme */ getcolorfromschema(view->colschms, ep->length, t->maxedgelen, @@ -331,6 +342,8 @@ void init_node_size(Agraph_t * g, topview * t) t->init_node_size = vsize * 2 / GetOGLDistance(2) * percent / 100.0 / sqrt(t->Nodecount); + if (t->init_node_size < 1) + t->init_node_size=1; t->init_zoom = view->zoom; } @@ -423,12 +436,7 @@ void preparetopview(Agraph_t * g, topview * t) init_element_data(&t->Nodes[ind].data); t->Nodes[ind].zoom_factor = 1; t->Nodes[ind].degree = agdegree(g, v, 1, 1); - if (agget(t->Nodes[ind].Node, "size")) /*set node size */ - t->Nodes[ind].size = atof(agget(t->Nodes[ind].Node, "size")); - else - t->Nodes[ind].size = 0; - if (t->Nodes[ind].degree > t->maxnodedegree) - t->maxnodedegree = t->Nodes[ind].degree; + t->Nodes[ind].size=0; view->Topview->Nodes[ind].Label = NULL; t->Nodes[ind].node_alpha = 1;