pike.git / src / post_modules / GTK2 / source / gtkimagemenuitem.pre

version» Context lines:

pike.git/src/post_modules/GTK2/source/gtkimagemenuitem.pre:6:   //! GTK2.Widget image      void create(string|mapping(string:mixed)|void label)   //! Create a new ImageMenuItem.   {    pgtk_verify_not_inited();    pgtk_verify_setup();       if (args) {    if (Pike_sp[-args].type==PIKE_T_STRING) { -  char *s1; +  struct pike_string *s1;    GtkStockItem item;    GtkWidget *gi; -  int t; +  int t=0;    -  get_all_args("create",args,"%s",&s1); -  t=gtk_stock_lookup(s1,&item); +  get_all_args("create",args,"%t",&s1); +  if(s1->size_shift==0) +  t=gtk_stock_lookup(STR0(s1),&item);    if (t) -  gi=gtk_image_menu_item_new_from_stock(s1,NULL); -  else -  gi=gtk_image_menu_item_new_with_label(s1); +  gi=gtk_image_menu_item_new_from_stock(STR0(s1),NULL); +  else { +  ref_push_string(s1); +  f_string_to_utf8(1); +  gi=gtk_image_menu_item_new_with_label(STR0(Pike_sp[-1].u.string)); +  pop_stack(); +  }    THIS->obj=G_OBJECT(gi);    } else {    INIT_WITH_PROPS(GTK_TYPE_IMAGE_MENU_ITEM);    }    my_pop_n_elems(args);    } else {    GtkWidget *gi;    gi=gtk_image_menu_item_new();    THIS->obj=G_OBJECT(gi);    }    pgtk__init_this_object();   }      GTK2.Widget get_image();   //! Gets the widget that is currently set as the image.      void set_image(GTK2.Widget image);   //! Sets the image of the image menu item.