コード例 #1
0
ファイル: testiconview.c プロジェクト: BYC/gtk
static void
do_popup_menu (GtkWidget      *icon_list, 
	       GdkEventButton *event)
{
  GtkIconView *icon_view = GTK_ICON_VIEW (icon_list); 
  GtkWidget *menu;
  GtkWidget *menuitem;
  GtkTreePath *path = NULL;
  int button, event_time;
  ItemData *data;
  GList *list;

  if (event)
    path = gtk_icon_view_get_path_at_pos (icon_view, event->x, event->y);
  else
    {
      list = gtk_icon_view_get_selected_items (icon_view);

      if (list)
        {
          path = (GtkTreePath*)list->data;
          g_list_foreach (list->next, (GFunc) gtk_tree_path_free, NULL);
          g_list_free (list);
        }
    }

  if (!path)
    return;

  menu = gtk_menu_new ();

  data = g_new0 (ItemData, 1);
  data->icon_list = icon_view;
  data->path = path;
  g_object_set_data_full (G_OBJECT (menu), "item-path", data, (GDestroyNotify)free_item_data);

  menuitem = gtk_menu_item_new_with_label ("Activate");
  gtk_widget_show (menuitem);
  gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
  g_signal_connect (menuitem, "activate", G_CALLBACK (item_cb), data);

  if (event)
    {
      button = event->button;
      event_time = event->time;
    }
  else
    {
      button = 0;
      event_time = gtk_get_current_event_time ();
    }

  gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 
                  button, event_time);
}
コード例 #2
0
static GtkTreePath *
attachment_icon_view_get_path_at_pos (EAttachmentView *view,
                                      gint x,
                                      gint y)
{
	GtkIconView *icon_view;

	icon_view = GTK_ICON_VIEW (view);

	return gtk_icon_view_get_path_at_pos (icon_view, x, y);
}
コード例 #3
0
ファイル: GtkIconView.c プロジェクト: cyberpython/java-gnome
JNIEXPORT jlong JNICALL
Java_org_gnome_gtk_GtkIconView_gtk_1icon_1view_1get_1path_1at_1pos
(
	JNIEnv* env,
	jclass cls,
	jlong _self,
	jint _x,
	jint _y
)
{
	GtkTreePath* result;
	jlong _result;
	GtkIconView* self;
	gint x;
	gint y;

	// convert parameter self
	self = (GtkIconView*) _self;

	// convert parameter x
	x = (gint) _x;

	// convert parameter y
	y = (gint) _y;

	// call function
	result = gtk_icon_view_get_path_at_pos(self, x, y);

	// cleanup parameter self

	// cleanup parameter x

	// cleanup parameter y

	// translate return value to JNI type
	_result = (jlong) result;

	// and finally
	return _result;
}
コード例 #4
0
ファイル: rbgtkiconview.c プロジェクト: benolee/ruby-gnome2
static VALUE
iview_get_path_at_pos(VALUE self, VALUE x, VALUE y)
{
    return GTKTREEPATH2RVAL(gtk_icon_view_get_path_at_pos(_SELF(self), NUM2INT(x), NUM2INT(y)));
}