Пример #1
0
static void
participation_set_props(Participation *participation, GPtrArray *props)
{
  object_set_props_from_offsets(&participation->orth.object, 
                                participation_offsets, props);
  participation_update_data(participation);
}
Пример #2
0
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;
}
Пример #3
0
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;
}
Пример #4
0
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;
}
Пример #5
0
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;
}
Пример #6
0
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;
}
Пример #7
0
static void 
participation_set_state(Participation *participation, ParticipationState *state)
{
  participation->total = state->total;

  g_free(state);

  participation_update_data(participation);
}
Пример #8
0
static ObjectChange*
participation_move(Participation *participation, Point *to)
{
  ObjectChange *change;

  change = orthconn_move(&participation->orth, to);
  participation_update_data(participation);

  return change;
}
Пример #9
0
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);
}
Пример #10
0
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;
}
Пример #11
0
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;
}
Пример #12
0
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);
}
Пример #13
0
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;
}
Пример #14
0
static void
participation_move(Participation *participation, Point *to)
{
  orthconn_move(&participation->orth, to);
  participation_update_data(participation);
}