static DiaObject * participation_load(ObjectNode obj_node, int version,DiaContext *ctx) { AttributeNode attr; Participation *participation; OrthConn *orth; DiaObject *obj; participation = g_new0(Participation, 1); orth = &participation->orth; obj = &orth->object; obj->type = &participation_type; obj->ops = &participation_ops; orthconn_load(orth, obj_node, ctx); attr = object_find_attribute(obj_node, "total"); if (attr != NULL) participation->total = data_boolean(attribute_first_data(attr), ctx); participation_update_data(participation); return &participation->orth.object; }
static Object * participation_load(ObjectNode obj_node, int version, const char *filename) { AttributeNode attr; Participation *participation; OrthConn *orth; Object *obj; participation = g_new(Participation, 1); orth = &participation->orth; obj = (Object *) participation; obj->type = &participation_type; obj->ops = &participation_ops; orthconn_load(orth, obj_node); attr = object_find_attribute(obj_node, "total"); if (attr != NULL) participation->total = data_boolean(attribute_first_data(attr)); participation->properties_dialog = NULL; participation_update_data(participation); return (Object *)participation; }
static Object * generalization_load(ObjectNode obj_node, int version, const char *filename) { Generalization *genlz; AttributeNode attr; OrthConn *orth; Object *obj; if (genlz_font == NULL) { genlz_font = font_getfont("Courier"); } genlz = g_new(Generalization, 1); orth = &genlz->orth; obj = (Object *) genlz; obj->type = &generalization_type; obj->ops = &generalization_ops; orthconn_load(orth, obj_node); genlz->name = NULL; attr = object_find_attribute(obj_node, "name"); if (attr != NULL) genlz->name = data_string(attribute_first_data(attr)); genlz->stereotype = NULL; attr = object_find_attribute(obj_node, "stereotype"); if (attr != NULL) genlz->stereotype = data_string(attribute_first_data(attr)); genlz->text_width = 0.0; genlz->properties_dialog = NULL; if (genlz->name != NULL) { genlz->text_width = font_string_width(genlz->name, genlz_font, GENERALIZATION_FONTHEIGHT); } if (genlz->stereotype != NULL) { genlz->text_width = MAX(genlz->text_width, font_string_width(genlz->stereotype, genlz_font, GENERALIZATION_FONTHEIGHT)); } generalization_update_data(genlz); return (Object *)genlz; }
static DiaObject * zigzagline_load(ObjectNode obj_node, int version, DiaContext *ctx) { Zigzagline *zigzagline; OrthConn *orth; DiaObject *obj; AttributeNode attr; zigzagline = g_malloc0(sizeof(Zigzagline)); orth = &zigzagline->orth; obj = &orth->object; obj->type = &zigzagline_type; obj->ops = &zigzagline_ops; orthconn_load(orth, obj_node, ctx); zigzagline->line_color = color_black; attr = object_find_attribute(obj_node, "line_color"); if (attr != NULL) data_color(attribute_first_data(attr), &zigzagline->line_color, ctx); zigzagline->line_width = 0.1; attr = object_find_attribute(obj_node, PROP_STDNAME_LINE_WIDTH); if (attr != NULL) zigzagline->line_width = data_real(attribute_first_data(attr), ctx); zigzagline->line_style = LINESTYLE_SOLID; attr = object_find_attribute(obj_node, "line_style"); if (attr != NULL) zigzagline->line_style = data_enum(attribute_first_data(attr), ctx); zigzagline->line_join = LINEJOIN_MITER; attr = object_find_attribute(obj_node, "line_join"); if (attr != NULL) zigzagline->line_join = data_enum(attribute_first_data(attr), ctx); zigzagline->line_caps = LINECAPS_BUTT; attr = object_find_attribute(obj_node, "line_caps"); if (attr != NULL) zigzagline->line_caps = data_enum(attribute_first_data(attr), ctx); load_arrow(obj_node, &zigzagline->start_arrow, "start_arrow", "start_arrow_length", "start_arrow_width", ctx); load_arrow(obj_node, &zigzagline->end_arrow, "end_arrow", "end_arrow_length", "end_arrow_width", ctx); zigzagline->dashlength = DEFAULT_LINESTYLE_DASHLEN; attr = object_find_attribute(obj_node, "dashlength"); if (attr != NULL) zigzagline->dashlength = data_real(attribute_first_data(attr), ctx); zigzagline->corner_radius = 0.0; attr = object_find_attribute(obj_node, "corner_radius"); if (attr != NULL) zigzagline->corner_radius = data_real(attribute_first_data(attr), ctx); zigzagline_update_data(zigzagline); return &zigzagline->orth.object; }