Mercurial > hg > xemacs-beta
diff src/menubar-x.c @ 217:d44af0c54775 r20-4b7
Import from CVS: tag r20-4b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:08:34 +0200 |
parents | 3d6bfa290dbd |
children | 262b8bb4a523 |
line wrap: on
line diff
--- a/src/menubar-x.c Mon Aug 13 10:07:42 2007 +0200 +++ b/src/menubar-x.c Mon Aug 13 10:08:34 2007 +0200 @@ -454,28 +454,6 @@ } } -#ifdef ENERGIZE -extern int *get_psheets_for_buffer (Lisp_Object, int *); - -static void -set_panel_button_sensitivity (struct frame *f, widget_value *data) -{ - struct window *window = XWINDOW (FRAME_LAST_NONMINIBUF_WINDOW (f)); - int current_buffer_psheets_count = 0; - int *current_buffer_psheets = - get_psheets_for_buffer (window->buffer, ¤t_buffer_psheets_count); - int panel_enabled = FRAME_X_DESIRED_PSHEETS (f) || - current_buffer_psheets_count; - widget_value *val; - for (val = data->contents; val; val = val->next) - if (val->name && !strcmp (val->name, "sheet")) - { - val->enabled = panel_enabled; - return; - } -} -#endif /* ENERGIZE */ - static widget_value * compute_menubar_data (struct frame *f, Lisp_Object menubar, int deep_p) { @@ -493,10 +471,6 @@ Fset_buffer ( XWINDOW (FRAME_SELECTED_WINDOW (f))->buffer); data = menu_item_descriptor_to_widget_value (menubar, MENUBAR_TYPE, deep_p, 0); -#ifdef ENERGIZE - if (data) - set_panel_button_sensitivity (f, data); -#endif Fset_buffer (old_buffer); unbind_to (count, Qnil); } @@ -678,12 +652,6 @@ } -#ifdef ENERGIZE -extern int desired_debuggerpanel_exposed_p; -extern int current_debuggerpanel_exposed_p; -extern int debuggerpanel_sheet; -extern void notify_energize_sheet_hidden (unsigned long); -#endif static void x_update_frame_menubar_internal (struct frame *f) @@ -704,37 +672,12 @@ Cardinal new_num_top_widgets = 1; /* for the menubar */ Widget container = FRAME_X_CONTAINER_WIDGET (f); -#ifdef ENERGIZE - int *old_sheets = FRAME_X_CURRENT_PSHEETS (f); - int *new_sheets = FRAME_X_DESIRED_PSHEETS (f); - int old_count = FRAME_X_CURRENT_PSHEET_COUNT (f); - int new_count = FRAME_X_DESIRED_PSHEET_COUNT (f); - Lisp_Object old_buf = FRAME_X_CURRENT_PSHEET_BUFFER (f); - Lisp_Object new_buf = FRAME_X_DESIRED_PSHEET_BUFFER (f); - int psheets_changed = (old_sheets != new_sheets - || old_count != new_count - || !EQ (old_buf, new_buf)); - int debuggerpanel_changed = (desired_debuggerpanel_exposed_p - != current_debuggerpanel_exposed_p); - - if (desired_debuggerpanel_exposed_p && FRAME_X_TOP_WIDGETS (f) [1] == 0) - /* This happens when the frame was just created. */ - debuggerpanel_changed = 1; - - FRAME_X_CURRENT_PSHEETS (f) = FRAME_X_DESIRED_PSHEETS (f); - FRAME_X_CURRENT_PSHEET_COUNT (f) = FRAME_X_DESIRED_PSHEET_COUNT (f); - FRAME_X_CURRENT_PSHEET_BUFFER (f) = FRAME_X_DESIRED_PSHEET_BUFFER (f); -#endif /* ENERGIZE */ - if (menubar_contents_changed) menubar_will_be_visible = set_frame_menubar (f, 0, 0); menubar_visibility_changed = menubar_was_visible != menubar_will_be_visible; if (! (menubar_visibility_changed -#ifdef ENERGIZE - || psheets_changed || debuggerpanel_changed -#endif )) return; @@ -744,67 +687,6 @@ (menubar_will_be_visible ? XtManageChild : XtUnmanageChild) (FRAME_X_MENUBAR_WIDGET (f)); - -#ifdef ENERGIZE - /* Set debugger panel visibility */ - if (debuggerpanel_changed) - { - Widget w; - int sheet = debuggerpanel_sheet; - - w = lw_get_widget (sheet, container, 0); - if (desired_debuggerpanel_exposed_p) - { - if (! w) - w = lw_make_widget (sheet, container, 0); - FRAME_X_TOP_WIDGETS (f)[1] = w; - XtManageChild (w); - } - else - { - notify_energize_sheet_hidden (sheet); - if (w) - XtUnmanageChild (w); - } - } - - /* Set psheet visibility. For the moment we just unmanage all the old - ones, and then manage all the new ones. If the number of psheets - ever becomes a large number (i.e. > 1), then we can worry about a - more sophisticated way of doing this. */ - if (psheets_changed) - { - int i; - Widget w; - unsigned long sheet; - - for (i=0; i<old_count; i++) - { - sheet = old_sheets[i]; - w = lw_get_widget (sheet, container, 0); - notify_energize_sheet_hidden (sheet); - if (w) - XtUnmanageChild (w); - } - - for (i=0; i<new_count; i++) - { - sheet = new_sheets[i]; - /* #### This unconditional call to lw_make_widget() is a bad - idea. Doesn't it cause a memory leak if the widget - already exists? - - #### How does Energize know that a sheet just got displayed? - #### Energize knows all. */ - w = lw_make_widget (sheet, container, 0); - FRAME_X_TOP_WIDGETS (f)[2+i] = w; - XtManageChild (w); - } - } - - new_num_top_widgets += 1+new_count; -#endif /* ENERGIZE */ - /* Note that new_num_top_widgets doesn't need to reflect the actual number of top widgets, but just the limit of FRAME_X_TOP_WIDGETS (f)[]. */ FRAME_X_NUM_TOP_WIDGETS (f) = new_num_top_widgets; @@ -828,15 +710,6 @@ EmacsShellUpdateSizeHints (FRAME_X_SHELL_WIDGET (f)); } -#ifdef ENERGIZE - /* Give back the focus to emacs if no psheets are displayed anymore */ - if (psheets_changed) - { - Lisp_Object frame; - XSETFRAME (frame, f); - Fselect_frame (frame); - } -#endif /* ENERGIZE */ } static void @@ -848,9 +721,6 @@ /* #### This isn't going to work right now that this function works on a per-frame, not per-device basis. Guess what? I don't care. */ -#ifdef ENERGIZE - current_debuggerpanel_exposed_p = desired_debuggerpanel_exposed_p; -#endif } static void @@ -867,43 +737,6 @@ lw_destroy_all_widgets (id); XFRAME_MENUBAR_DATA (f)->id = 0; } - -#ifdef ENERGIZE - { - /* Also destroy this frame's psheets */ - Widget parent = FRAME_X_CONTAINER_WIDGET (f); - int *sheets = FRAME_X_CURRENT_PSHEETS (f); - int i = FRAME_X_CURRENT_PSHEET_COUNT (f); - while (i--) - { - unsigned long sheet = sheets [i]; - Widget w = lw_get_widget (sheet, parent, 0); - if (w) - lw_destroy_widget (w); - } - FRAME_X_CURRENT_PSHEET_COUNT (f) = 0; - - /* Is this necessary? */ - sheets = FRAME_X_DESIRED_PSHEETS (f); - i = FRAME_X_DESIRED_PSHEET_COUNT (f); - while (i--) - { - unsigned long sheet = sheets [i]; - Widget w = lw_get_widget (sheet, parent, 0); - if (w) - lw_destroy_widget (w); - } - FRAME_X_DESIRED_PSHEET_COUNT (f) = 0; - - /* sigh... debugger panel is special... */ - if (debuggerpanel_sheet) - { - Widget w = lw_get_widget (debuggerpanel_sheet, parent, 0); - if (w) - lw_destroy_widget (w); - } - } -#endif /* ENERGIZE */ } static void