Exemplo n.º 1
0
static gboolean
glide_image_button_press (ClutterActor *actor,
			  ClutterButtonEvent *event)
{
  GlideStageManager *m;
  GlideActor *ga = GLIDE_ACTOR (actor);
  GlideImage *image = GLIDE_IMAGE (actor);
  gfloat ax, ay;
  
  m = glide_actor_get_stage_manager (ga);
  
  glide_stage_manager_set_selection (m, ga);

  clutter_actor_get_position (actor, &ax, &ay);

  image->priv->drag_center_x = event->x - ax;
  image->priv->drag_center_y = event->y - ay;
  image->priv->dragging = TRUE;
  image->priv->motion_since_press = FALSE;
  
  clutter_grab_pointer (actor);

  glide_undo_manager_start_actor_action (glide_actor_get_undo_manager (GLIDE_ACTOR (actor)),
					 GLIDE_ACTOR (actor),
					 "Move object");
  
  return TRUE;
}
Exemplo n.º 2
0
static void
glide_slide_button_clicked (GlideSlideButton *button, gpointer user_data)
{
  GlideStageManager *m = glide_actor_get_stage_manager (GLIDE_ACTOR (button->priv->slide));
  
  glide_stage_manager_set_current_slide (m, glide_slide_get_index (button->priv->slide));
}
Exemplo n.º 3
0
/**
 * glide_slide_button_set_slide:
 * @button: A #GlideSlideButton
 * @slide: The #GlideSlide to set for @button
 *
 * Sets the slide displayed for @button to @slide.
 *
 */
void
glide_slide_button_set_slide (GlideSlideButton *button,
			      GlideSlide *slide)
{
  g_return_if_fail (GLIDE_IS_SLIDE_BUTTON (button));
  g_return_if_fail (GLIDE_IS_SLIDE (slide));
  button->priv->manager = 
    (GlideUndoManager *)g_object_ref 
    (G_OBJECT (glide_stage_manager_get_undo_manager 
	       (glide_actor_get_stage_manager 
		(GLIDE_ACTOR (slide)))));
  button->priv->slide = slide;
  g_object_notify (G_OBJECT (button), "slide");
  
  button->priv->position_changed_id = g_signal_connect (button->priv->manager, "position-changed",
							G_CALLBACK (glide_slide_button_undo_position_changed), button);
}
Exemplo n.º 4
0
static gboolean
glide_undo_delete_actor_redo_callback (GlideUndoManager *undo_manager,
				       GlideUndoInfo *info)
{
  GlideUndoDeleteActorData *data =
    (GlideUndoDeleteActorData *)info->user_data;
  GlideStageManager *manager;
  
  manager = glide_actor_get_stage_manager (GLIDE_ACTOR (data->actor));
  if (glide_stage_manager_get_selection (manager) == (GlideActor *)data->actor)
    glide_stage_manager_set_selection (manager, NULL);
  
  
  clutter_container_remove_actor (CLUTTER_CONTAINER (data->parent),
				  data->actor);
  
  return TRUE;
}