static void participation_set_props(Participation *participation, GPtrArray *props) { object_set_props_from_offsets(&participation->orth.object, participation_offsets, props); participation_update_data(participation); }
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 DiaObject * participation_create(Point *startpoint, void *user_data, Handle **handle1, Handle **handle2) { Participation *participation; OrthConn *orth; DiaObject *obj; participation = g_malloc0(sizeof(Participation)); orth = &participation->orth; obj = &orth->object; obj->type = &participation_type; obj->ops = &participation_ops; orthconn_init(orth, startpoint); participation_update_data(participation); participation->total = FALSE; *handle1 = orth->handles[0]; *handle2 = orth->handles[orth->numpoints-2]; 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 * participation_create(Point *startpoint, void *user_data, Handle **handle1, Handle **handle2) { Participation *participation; OrthConn *orth; Object *obj; participation = g_malloc(sizeof(Participation)); orth = &participation->orth; obj = (Object *) participation; obj->type = &participation_type; obj->ops = &participation_ops; orthconn_init(orth, startpoint); participation_update_data(participation); participation->total = FALSE; participation->properties_dialog = NULL; *handle1 = orth->handles[0]; *handle2 = orth->handles[orth->numpoints-2]; return (Object *)participation; }
static ObjectChange * participation_delete_segment_callback(DiaObject *obj, Point *clicked, gpointer data) { ObjectChange *change; change = orthconn_delete_segment((OrthConn *)obj, clicked); participation_update_data((Participation *)obj); return change; }
static void participation_set_state(Participation *participation, ParticipationState *state) { participation->total = state->total; g_free(state); participation_update_data(participation); }
static ObjectChange* participation_move(Participation *participation, Point *to) { ObjectChange *change; change = orthconn_move(&participation->orth, to); participation_update_data(participation); return change; }
static void participation_move_handle(Participation *participation, Handle *handle, Point *to, HandleMoveReason reason, ModifierKeys modifiers) { assert(participation!=NULL); assert(handle!=NULL); assert(to!=NULL); orthconn_move_handle(&participation->orth, handle, to, reason); participation_update_data(participation); }
static ObjectChange* participation_move_handle(Participation *participation, Handle *handle, Point *to, ConnectionPoint *cp, HandleMoveReason reason, ModifierKeys modifiers) { ObjectChange *change; assert(participation!=NULL); assert(handle!=NULL); assert(to!=NULL); change = orthconn_move_handle(&participation->orth, handle, to, cp, reason, modifiers); participation_update_data(participation); return change; }
static DiaObject * participation_copy(Participation *participation) { Participation *newparticipation; OrthConn *orth, *neworth; orth = &participation->orth; newparticipation = g_malloc0(sizeof(Participation)); neworth = &newparticipation->orth; orthconn_copy(orth, neworth); newparticipation->total = participation->total; participation_update_data(newparticipation); return &newparticipation->orth.object; }
static ObjectChange * participation_apply_properties(Participation *participation) { ObjectState *old_state; ParticipationPropertiesDialog *prop_dialog; prop_dialog = participation->properties_dialog; old_state = (ObjectState *)participation_get_state(participation); /* Read from dialog and put in object: */ participation->total = prop_dialog->total->active; participation_update_data(participation); return new_object_state_change((Object *)participation, old_state, (GetStateFunc)participation_get_state, (SetStateFunc)participation_set_state); }
static Object * participation_copy(Participation *participation) { Participation *newparticipation; OrthConn *orth, *neworth; Object *newobj; orth = &participation->orth; newparticipation = g_malloc(sizeof(Participation)); neworth = &newparticipation->orth; newobj = (Object *) newparticipation; orthconn_copy(orth, neworth); newparticipation->total = participation->total; newparticipation->properties_dialog = NULL; participation_update_data(newparticipation); return (Object *)newparticipation; }
static void participation_move(Participation *participation, Point *to) { orthconn_move(&participation->orth, to); participation_update_data(participation); }