eb05362005-11-05Henrik Grubbström (Grubba) /* -*- C -*- */
1a05542005-07-28Martin Nilsson class GTK2.ImageMenuItem; inherit GTK2.MenuItem; //! Properties: //! GTK2.Widget image
3d76632005-11-03Lance Dillon void create(string|mapping(string:mixed)|void label)
1a05542005-07-28Martin Nilsson //! Create a new ImageMenuItem. {
ba9e802006-02-27Martin Stjernholm  pgtk2_verify_not_inited(); pgtk2_verify_setup();
1a05542005-07-28Martin Nilsson  if (args) {
017b572011-10-28Henrik Grubbström (Grubba)  if (TYPEOF(Pike_sp[-args]) == PIKE_T_STRING) {
535ddd2005-12-18Marcus Comstedt  struct pike_string *s1;
3d76632005-11-03Lance Dillon  GtkStockItem item; GtkWidget *gi;
535ddd2005-12-18Marcus Comstedt  int t=0;
3d76632005-11-03Lance Dillon 
535ddd2005-12-18Marcus Comstedt  get_all_args("create",args,"%t",&s1); if(s1->size_shift==0)
eac9aa2005-12-18Martin Nilsson  t=gtk_stock_lookup(CGSTR0(s1),&item);
3d76632005-11-03Lance Dillon  if (t)
eac9aa2005-12-18Martin Nilsson  gi=gtk_image_menu_item_new_from_stock(CGSTR0(s1),NULL);
535ddd2005-12-18Marcus Comstedt  else { ref_push_string(s1); f_string_to_utf8(1);
eac9aa2005-12-18Martin Nilsson  gi=gtk_image_menu_item_new_with_label(CGSTR0(Pike_sp[-1].u.string));
535ddd2005-12-18Marcus Comstedt  pop_stack(); }
3d76632005-11-03Lance Dillon  THIS->obj=G_OBJECT(gi); } else { INIT_WITH_PROPS(GTK_TYPE_IMAGE_MENU_ITEM); }
ba9e802006-02-27Martin Stjernholm  pgtk2_pop_n_elems(args);
1a05542005-07-28Martin Nilsson  } else {
3d76632005-11-03Lance Dillon  GtkWidget *gi; gi=gtk_image_menu_item_new(); THIS->obj=G_OBJECT(gi);
1a05542005-07-28Martin Nilsson  }
ba9e802006-02-27Martin Stjernholm  pgtk2__init_this_object();
1a05542005-07-28Martin Nilsson }
f284492006-08-03Lance Dillon +GTK2.Widget get_image();
1a05542005-07-28Martin Nilsson //! Gets the widget that is currently set as the image. void set_image(GTK2.Widget image); //! Sets the image of the image menu item.