X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/1fcfb866116a5d2749dd03475f9156317e540fe5..d66c02414328a8aa8c305853cea8c591c0278a11:/src/gtkutil.h diff --git a/src/gtkutil.h b/src/gtkutil.h index 103b978141..93f60fa802 100644 --- a/src/gtkutil.h +++ b/src/gtkutil.h @@ -1,13 +1,13 @@ /* Definitions and headers for GTK widgets. - Copyright (C) 2003 - Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,9 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +along with GNU Emacs. If not, see . */ #ifndef GTKUTIL_H #define GTKUTIL_H @@ -30,8 +28,9 @@ Boston, MA 02111-1307, USA. */ /* Minimum and maximum values used for GTK scroll bars */ -#define XG_SB_MIN 0 +#define XG_SB_MIN 1 #define XG_SB_MAX 10000000 +#define XG_SB_RANGE (XG_SB_MAX-XG_SB_MIN) /* Key for data that is valid for menus in a frame */ #define XG_FRAME_DATA "emacs_frame" @@ -66,7 +65,7 @@ typedef struct xg_list_node_ typedef struct xg_menu_cb_data_ { xg_list_node ptrs; - + FRAME_PTR f; Lisp_Object menu_bar_vector; int menu_bar_items_used; @@ -79,13 +78,11 @@ typedef struct xg_menu_item_cb_data_ { xg_list_node ptrs; - gulong highlight_id; - gulong unhighlight_id; gulong select_id; Lisp_Object help; gpointer call_data; xg_menu_cb_data *cl_data; - + } xg_menu_item_cb_data; @@ -95,10 +92,12 @@ typedef struct xg_menu_item_cb_data_ typedef struct _widget_value { /* name of widget */ + Lisp_Object lname; char *name; /* value (meaning depend on widget type) */ char *value; - /* keyboard equivalent. no implications for XtTranslations */ + /* keyboard equivalent. no implications for XtTranslations */ + Lisp_Object lkey; char *key; /* Help string or nil if none. GC finds this string through the frame's menu_bar_vector @@ -123,13 +122,22 @@ typedef struct _widget_value struct _widget_value *free_list; } widget_value; +#ifdef HAVE_GTK_FILE_BOTH +extern int use_old_gtk_file_dialog; +#endif + extern widget_value *malloc_widget_value P_ ((void)); extern void free_widget_value P_ ((widget_value *)); +extern int xg_uses_old_file_dialog P_ ((void)); + extern char *xg_get_file_name P_ ((FRAME_PTR f, char *prompt, char *default_filename, - int mustmatch_p)); + int mustmatch_p, + int only_dir_p)); + +extern char *xg_get_font_name P_ ((FRAME_PTR f, char *)); extern GtkWidget *xg_create_widget P_ ((char *type, char *name, @@ -149,7 +157,9 @@ extern void xg_modify_menubar_widgets P_ ((GtkWidget *menubar, extern int xg_update_frame_menubar P_ ((FRAME_PTR f)); -extern void xg_keep_popup P_ ((GtkWidget *menu, GtkWidget *submenu)); +extern int xg_have_tear_offs P_ ((void)); + +extern int xg_get_scroll_id_for_window P_ ((Display *dpy, Window wid)); extern void xg_create_scroll_bar P_ ((FRAME_PTR f, struct scroll_bar *bar, @@ -174,17 +184,26 @@ extern void xg_set_toolkit_scroll_bar_thumb P_ ((struct scroll_bar *bar, extern void update_frame_tool_bar P_ ((FRAME_PTR f)); extern void free_frame_tool_bar P_ ((FRAME_PTR f)); -extern void xg_resize_widgets P_ ((FRAME_PTR f, - int pixelwidth, - int pixelheight)); +extern void xg_frame_resized P_ ((FRAME_PTR f, + int pixelwidth, + int pixelheight)); extern void xg_frame_set_char_size P_ ((FRAME_PTR f, int cols, int rows)); -extern GtkWidget * xg_win_to_widget P_ ((Window)); +extern GtkWidget * xg_win_to_widget P_ ((Display *dpy, Window wdesc)); + +extern int xg_display_open P_ ((char *display_name, Display **dpy)); +extern void xg_display_close P_ ((Display *dpy)); +extern GdkCursor * xg_create_default_cursor P_ ((Display *dpy)); + extern int xg_create_frame_widgets P_ ((FRAME_PTR f)); extern void x_wm_set_size_hint P_ ((FRAME_PTR f, long flags, int user_position)); extern void xg_set_background_color P_ ((FRAME_PTR f, unsigned long bg)); +extern void xg_set_frame_icon P_ ((FRAME_PTR f, + Pixmap icon_pixmap, + Pixmap icon_mask)); + /* Mark all callback data that are Lisp_object:s during GC. */ extern void xg_mark_data P_ ((void)); @@ -195,16 +214,8 @@ extern void xg_initialize P_ ((void)); to indicate that the callback should do nothing. */ extern int xg_ignore_gtk_scrollbar; -/* After we send a scroll bar event, x_set_toolkit_scroll_bar_thumb will - be called. For some reason that needs to be debugged, it gets called - with bad values. Thus, we set this variable to ignore those calls. */ -extern int xg_ignore_next_thumb; - -/* If a detach of a menu is done, this is the menu widget that got - detached. Must be set to NULL before popping up popup menus. - Used with xg_keep_popup to delay deleting popup menus when they - have been detached. */ -extern GtkWidget *xg_did_tearoff; - #endif /* USE_GTK */ #endif /* GTKUTIL_H */ + +/* arch-tag: 0757f3dc-00c7-4cee-9e4c-282cf1d34c72 + (do not change this comment) */