eb05362005-11-05Henrik Grubbström (Grubba) /* -*- C -*- */
1a05542005-07-28Martin Nilsson class GTK2.CheckMenuItem; inherit GTK2.MenuItem; //! A check menu item is more or less identical to a check button, but it //! should be used in menus. //! IMG: GTK2.CheckMenuItem("Hi there") //! IMG: GTK2.CheckMenuItem("Hi there")->set_active(1) //! Properties: //! int active //! int draw-as-radio //! int inconsistent //! <p> //! Style properties: //! int indicator-size signal toggled; //! Called when the state of the menu item is changed
3d76632005-11-03Lance Dillon void create(string|mapping(string:mixed)|void label_or_props)
1a05542005-07-28Martin Nilsson //! The argument, if specified, is the label of the item. //! If no label is specified, use object->add() to add some //! other widget (such as an pixmap or image widget) { pgtk_verify_not_inited(); pgtk_verify_setup(); if (args) {
3d76632005-11-03Lance Dillon  if (Pike_sp[-args].type==PIKE_T_STRING) {
535ddd2005-12-18Marcus Comstedt  struct pike_string *label;
3d76632005-11-03Lance Dillon  GtkWidget *gc;
535ddd2005-12-18Marcus Comstedt  get_all_args("create",args,"%t",&label); ref_push_string(label); f_string_to_utf8(1); gc=gtk_check_menu_item_new_with_mnemonic(STR0(Pike_sp[-1].u.string)); pop_stack();
3d76632005-11-03Lance Dillon  THIS->obj=G_OBJECT(gc); } else { INIT_WITH_PROPS(GTK_TYPE_CHECK_MENU_ITEM); } my_pop_n_elems(args);
1a05542005-07-28Martin Nilsson  } else {
3d76632005-11-03Lance Dillon  GtkWidget *gc; gc=gtk_check_menu_item_new(); THIS->obj=G_OBJECT(gc);
1a05542005-07-28Martin Nilsson  } pgtk__init_this_object(); } void set_active(int new_state); //! State is either 1 or 0. If 1, the button will be 'pressed'. int get_active(); //! Get whether item is active. void toggled(); //! Emulate a toggled event int get_inconsistent(); //! Retrieves the value set by set_inconsistent(). void set_inconsistent(int setting); //! If the user has selected a range of elements (such as some text or //! spreadsheet cells) that are affected by a boolean setting, and the current //! values in that range are inconsistent, you may want to display the check //! in an "in between" state. This function turns on "in between" display. require gtk24; void set_draw_as_radio(int draw_as_radio); //! Set whether check menu item is drawn like a radio button. int get_draw_as_radio(); //! Get whether check menu item is drawn like a radio button. endrequire;