Mercurial > hg > xemacs-beta
comparison src/menubar-gtk.c @ 5027:22179cd0fe15
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 10 Feb 2010 07:25:19 -0600 |
parents | ae48681c47fa |
children | 3889ef128488 308d34e9f07d |
comparison
equal
deleted
inserted
replaced
5026:46cf825f6158 | 5027:22179cd0fe15 |
---|---|
318 /* Menu was just torn off */ | 318 /* Menu was just torn off */ |
319 GUI_ID id = new_gui_id (); | 319 GUI_ID id = new_gui_id (); |
320 Lisp_Object menu_desc = Qnil; | 320 Lisp_Object menu_desc = Qnil; |
321 GtkWidget *old_submenu = GTK_MENU_ITEM (menu_item)->submenu; | 321 GtkWidget *old_submenu = GTK_MENU_ITEM (menu_item)->submenu; |
322 | 322 |
323 menu_desc = VOID_TO_LISP (gtk_object_get_data (GTK_OBJECT (menu_item), XEMACS_MENU_DESCR_TAG)); | 323 menu_desc = GET_LISP_FROM_VOID (gtk_object_get_data (GTK_OBJECT (menu_item), XEMACS_MENU_DESCR_TAG)); |
324 | 324 |
325 /* GCPRO all of our very own */ | 325 /* GCPRO all of our very own */ |
326 gcpro_popup_callbacks (id, menu_desc); | 326 gcpro_popup_callbacks (id, menu_desc); |
327 | 327 |
328 /* Hide the now detached menu from the attentions of | 328 /* Hide the now detached menu from the attentions of |
383 else if (gtk_container_children (GTK_CONTAINER (item->submenu))) | 383 else if (gtk_container_children (GTK_CONTAINER (item->submenu))) |
384 { | 384 { |
385 return; | 385 return; |
386 } | 386 } |
387 | 387 |
388 desc = VOID_TO_LISP (gtk_object_get_data (GTK_OBJECT (item), XEMACS_MENU_DESCR_TAG)); | 388 desc = GET_LISP_FROM_VOID (gtk_object_get_data (GTK_OBJECT (item), XEMACS_MENU_DESCR_TAG)); |
389 | 389 |
390 #ifdef TEAR_OFF_MENUS | 390 #ifdef TEAR_OFF_MENUS |
391 /* Lets stick in a detacher just for giggles */ | 391 /* Lets stick in a detacher just for giggles */ |
392 if (tear_off_menus && !gtk_container_children (GTK_CONTAINER (item->submenu))) | 392 if (tear_off_menus && !gtk_container_children (GTK_CONTAINER (item->submenu))) |
393 { | 393 { |
402 { | 402 { |
403 GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (item), XEMACS_MENU_GUIID_TAG); | 403 GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (item), XEMACS_MENU_GUIID_TAG); |
404 Lisp_Object hook_fn; | 404 Lisp_Object hook_fn; |
405 struct gcpro gcpro1, gcpro2; | 405 struct gcpro gcpro1, gcpro2; |
406 | 406 |
407 hook_fn = VOID_TO_LISP (gtk_object_get_data (GTK_OBJECT (item), XEMACS_MENU_FILTER_TAG)); | 407 hook_fn = GET_LISP_FROM_VOID (gtk_object_get_data (GTK_OBJECT (item), XEMACS_MENU_FILTER_TAG)); |
408 | 408 |
409 GCPRO2 (desc, hook_fn); | 409 GCPRO2 (desc, hook_fn); |
410 | 410 |
411 desc = call1 (hook_fn, desc); | 411 desc = call1 (hook_fn, desc); |
412 | 412 |
644 else if (EQ (key, Q_accelerator)) | 644 else if (EQ (key, Q_accelerator)) |
645 { | 645 { |
646 #if 0 | 646 #if 0 |
647 if ( SYMBOLP (val) | 647 if ( SYMBOLP (val) |
648 || CHARP (val)) | 648 || CHARP (val)) |
649 wv->accel = LISP_TO_VOID (val); | 649 wv->accel = STORE_LISP_IN_VOID (val); |
650 else | 650 else |
651 invalid_argument ("bad keyboard accelerator", val); | 651 invalid_argument ("bad keyboard accelerator", val); |
652 #endif | 652 #endif |
653 } | 653 } |
654 else if (EQ (key, Q_label)) | 654 else if (EQ (key, Q_label)) |
657 } | 657 } |
658 else | 658 else |
659 invalid_argument ("unknown menu cascade keyword", cascade); | 659 invalid_argument ("unknown menu cascade keyword", cascade); |
660 } | 660 } |
661 | 661 |
662 gtk_object_set_data (GTK_OBJECT (menu_item), XEMACS_MENU_DESCR_TAG, LISP_TO_VOID (desc)); | 662 gtk_object_set_data (GTK_OBJECT (menu_item), XEMACS_MENU_DESCR_TAG, STORE_LISP_IN_VOID (desc)); |
663 gtk_object_set_data (GTK_OBJECT (menu_item), XEMACS_MENU_FILTER_TAG, LISP_TO_VOID (hook_fn)); | 663 gtk_object_set_data (GTK_OBJECT (menu_item), XEMACS_MENU_FILTER_TAG, STORE_LISP_IN_VOID (hook_fn)); |
664 | 664 |
665 if ((!NILP (config_tag) | 665 if ((!NILP (config_tag) |
666 && NILP (Fmemq (config_tag, Vmenubar_configuration))) | 666 && NILP (Fmemq (config_tag, Vmenubar_configuration))) |
667 || (included_spec && | 667 || (included_spec && |
668 NILP (IGNORE_MULTIPLE_VALUES (Feval (include_p))))) | 668 NILP (IGNORE_MULTIPLE_VALUES (Feval (include_p))))) |
739 { | 739 { |
740 Lisp_Object callback, function, data, channel; | 740 Lisp_Object callback, function, data, channel; |
741 | 741 |
742 channel = wrap_frame (gtk_widget_to_frame (GTK_WIDGET (item))); | 742 channel = wrap_frame (gtk_widget_to_frame (GTK_WIDGET (item))); |
743 | 743 |
744 callback = VOID_TO_LISP (user_data); | 744 callback = GET_LISP_FROM_VOID (user_data); |
745 | 745 |
746 get_gui_callback (callback, &function, &data); | 746 get_gui_callback (callback, &function, &data); |
747 | 747 |
748 signal_special_gtk_user_event (channel, function, data); | 748 signal_special_gtk_user_event (channel, function, data); |
749 } | 749 } |
1005 | 1005 |
1006 gtk_widget_set_sensitive (widget, ! NILP (active_p)); | 1006 gtk_widget_set_sensitive (widget, ! NILP (active_p)); |
1007 | 1007 |
1008 gtk_signal_connect (GTK_OBJECT (widget), "activate-item", | 1008 gtk_signal_connect (GTK_OBJECT (widget), "activate-item", |
1009 GTK_SIGNAL_FUNC (__generic_button_callback), | 1009 GTK_SIGNAL_FUNC (__generic_button_callback), |
1010 LISP_TO_VOID (callback)); | 1010 STORE_LISP_IN_VOID (callback)); |
1011 | 1011 |
1012 gtk_signal_connect (GTK_OBJECT (widget), "activate", | 1012 gtk_signal_connect (GTK_OBJECT (widget), "activate", |
1013 GTK_SIGNAL_FUNC (__generic_button_callback), | 1013 GTK_SIGNAL_FUNC (__generic_button_callback), |
1014 LISP_TO_VOID (callback)); | 1014 STORE_LISP_IN_VOID (callback)); |
1015 | 1015 |
1016 /* Now that all the information about the menu item is know, set the | 1016 /* Now that all the information about the menu item is know, set the |
1017 remaining properties. | 1017 remaining properties. |
1018 */ | 1018 */ |
1019 | 1019 |