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

version» Context lines:

pike.git/src/post_modules/GTK2/source/gtkaction.pre:22:   //! int visible-vertical      signal activate;      void create(string|mapping(string:mixed) name_or_props, ?string label,    ?string tooltip, ?string stock_id)   //! Creates a new object.   {    pgtk_verify_not_inited();    pgtk_verify_setup(); -  if (args==4) { -  char *name,*label,*tooltip,*stock_id; +  if (args>0 && Pike_sp[-args].type==PIKE_T_STRING) { +  char *name, *stock_id=NULL; +  struct pike_string *label=NULL,*tooltip=NULL; +  char *label2=NULL, *tooltip2=NULL;    GtkAction *ga; -  get_all_args("create",args,"%s%s%s%s",&name,&label,&tooltip,&stock_id); -  ga=gtk_action_new(name,label,tooltip,stock_id); +  get_all_args("create",args,"%s.%t%t%s",&name,&label,&tooltip,&stock_id); +  if(label) { +  ref_push_string(label); +  f_string_to_utf8(1); +  label2 = STR0(Pike_sp[-1].u.string); +  } +  if(tooltip) { +  ref_push_string(tooltip); +  f_string_to_utf8(1); +  tooltip2 = STR0(Pike_sp[-1].u.string); +  } +  ga=gtk_action_new(name,label2,tooltip2,stock_id); +  if(tooltip) pop_stack(); +  if(label) pop_stack();    THIS->obj=G_OBJECT(ga);    } else {    INIT_WITH_PROPS(GTK_TYPE_ACTION);    }    my_pop_n_elems(args);    pgtk__init_this_object();   }      string get_name();   //! Returns the name of the action.