annotate src/gtkutil.h @ 92870:8f17f65dd575

* textmodes/org.el (org-ctrl-c-star): Implement a missing branch in the decision tree. (org-select-remember-template): Cleaned the code. (org-prepare-dblock): Added the extra :content parameter. (org-write-agenda): New output type ".ics" files. (org-write-agenda): Call `org-icalendar-verify-function', both for time stamps and for TODO entries. (org-agenda-collect-markers, org-create-marker-find-array) (org-check-agenda-marker-table): New functions. (org-agenda-marker-table): New variable. (org-export-as-html): Revert the change that killed the html buffer. Side effects first need to be studied carefully. (org-get-tags-at): Fix the structure of the condition-case statement. (org-ts-regexp0, org-repeat-re, org-display-custom-time) (org-timestamp-change): Fix regulear expressions to swallow the extra character for repeat-shift control. (org-auto-repeat-maybe): Implement the new repeater mechanisms. (org-get-legal-level): Aliased to `org-get-valid-level'. (org-dblock-write:clocktable): Added a :link parameter, linking headlines to their location in the Org agenda files. (org-get-tags-at): Bugfix: prevent `org-back-to-heading' from throwing an error when getting tags before headlines. (org-timestamp-change, org-modify-ts-extra) (org-ts-regexp1): Fix timestamp editing. (org-agenda-custom-commands-local-options): New constant. (org-agenda-custom-commands): Use `org-agenda-custom-commands-local-options' to improve customize type. "htmlize": Removed hack to fix face problem with htmlize, it no longer seem necessary. (org-follow-link-hook): New hook. (org-agenda-custom-commands): Added "Component" as a tag for each item in a command serie. (org-open-at-point): Run `org-follow-link-hook'. (org-agenda-schedule): Bugfix: don't display marker type when it is `nil'. (org-store-link): org-irc required. (org-set-regexps-and-options): Parse the new logging options. (org-extract-log-state-settings): New function. (org-todo): Handle the new ways of recording state change stuff. (org-local-logging): New function. (org-columns-open-link): Fixed bug with opening link in column view. (org-local-logging): New function (org-todo): Make sure that LOGGING properties are honoured. (org-todo-keywords): Improve docstring. (org-startup-options): Cleanup startup options. (org-set-regexps-and-options): Process the "!" markers. (org-todo): Respect the new logging stuff. (org-log-note-how): New variable. (org-add-log-maybe): New parameter HOW that defines how logging should be done and also overrides PURPOSE. Add a docstring. (org-add-log-note): Check if we really need to ask for a note. (org-get-current-options): Digest the new keyword. (org-agenda-reset-markers): Renamed from `org-agenda-maybe-reset-markers'. FORCE argument removed. (org-diary, org-agenda-quit, org-prepare-agenda): Call the renamed function, without force argument. (org-buffer-property-keys): Bind local variables s and p. (org-make-tags-matcher): Allow "" to match an empty or non-existent property value. (org-export-as-html): Join unsorted lists when they directly follow each other. Such lists may be created by headlines that are converted to lists. (org-nofm-to-completion): New function. (org-export-as-html): Use :html-extension instead of org-export-html-extension. (org-store-link): Support for links from `rmail-summary-mode'. (org-columns-new, org-complete, org-set-property): Set the `include-columns' argument in the call to `org-buffer-property-keys'. (org-buffer-property-keys): New argument `include-columns', to include properties expected by any of the COLUMS formats in the current buffer. (org-cleaned-string-for-export): Get rid of drawers first, so that they will be removed also in the text before the first headline. (org-clock-report): Show the clocktable when found. (org-refile): Fix positioning bug when `org-reverse-note-order' is nil. (org-version): With prefix argument, insert `org-version' at point. (org-agenda-goto): Recenter the window after finding the target location, to make sure the correct position will be displayed. (org-agenda-get-deadlines): Don't scale priority with the warning period. (org-insert-heading): Don't break line in the middle of the line. (org-agenda-get-deadlines): Allow `org-deadline-warning-days' to be 0. (org-update-checkbox-count): Revamped to deal with hierarchical beckboxes. This was a patch from Miguel A. Figueroa-Villanueva. (org-remove-timestamp-with-keyword): New function. (org-schedule, org-deadline): Use `org-remove-timestamp-with-keyword' to make sure all such time stamps are removed. (org-mode): Support for `align'. (org-agenda-get-deadlines): Make sure priorities increase as the due date approaches and is passed. (org-remember-apply-template): Fixed problem with tags that contain "_" or "@". (org-make-link-regexps): Improve the regular expression for plain links. (org-agenda-get-closed): List each clocking entry. (org-set-tags): Only tabify before tags if indent-tabs-mode is t. (org-special-ctrl-k): New option. (org-kill-line): New function. (org-archive-all-done): Fixed incorrect number of stars in regexp. (org-refile-get-location): New function. (org-refile-goto-last-stored): New function. (org-global-tags-completion-table): Add the value of org-tag-alist in each buffer, to make sure that also unused tags will be available for completion. (org-columns-edit-value) (org-columns-next-allowed-value): Only update if not in agenda. (org-clocktable-steps): New function. (org-dblock-write:clocktable): Call `org-clocktable-steps'. (org-archive-subtree): Add the outline tree context as a property. (org-closest-date): New optional argument `prefer'. (org-goto-auto-isearch): New option. (org-goto-map, org-get-location): Implement auto-isearch. (org-goto-local-auto-isearch-map): New variable. (org-goto-local-search-forward-headings) (org-goto-local-auto-isearch): New functions
author Carsten Dominik <dominik@science.uva.nl>
date Thu, 13 Mar 2008 08:54:11 +0000
parents 1402432968c4
children 29adfc9354e7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
1 /* Definitions and headers for GTK widgets.
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
2 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
3 Free Software Foundation, Inc.
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
4
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
5 This file is part of GNU Emacs.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
6
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
78260
922696f363b0 Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
9 the Free Software Foundation; either version 3, or (at your option)
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
10 any later version.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
11
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
15 GNU General Public License for more details.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
16
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 57941
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 57941
diff changeset
20 Boston, MA 02110-1301, USA. */
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
21
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
22 #ifndef GTKUTIL_H
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
23 #define GTKUTIL_H
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
24
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
25
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
26 #ifdef USE_GTK
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
27
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
28 #include <gtk/gtk.h>
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
29 #include "frame.h"
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
30
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
31 /* Minimum and maximum values used for GTK scroll bars */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
32
50270
fa50953c02dc Finally (?) fix flicker in scroll bar.
Jan Djärv <jan.h.d@swipnet.se>
parents: 50188
diff changeset
33 #define XG_SB_MIN 1
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
34 #define XG_SB_MAX 10000000
50270
fa50953c02dc Finally (?) fix flicker in scroll bar.
Jan Djärv <jan.h.d@swipnet.se>
parents: 50188
diff changeset
35 #define XG_SB_RANGE (XG_SB_MAX-XG_SB_MIN)
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
36
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
37 /* Key for data that is valid for menus in a frame */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
38 #define XG_FRAME_DATA "emacs_frame"
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
39
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
40 /* Key for data that is the last scrollbar value */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
41 #define XG_LAST_SB_DATA "emacs_last_sb_value"
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
42
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
43 /* Key for data that menu items hold. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
44 #define XG_ITEM_DATA "emacs_menuitem"
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
45
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
46
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
47 /* Button types in menus. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
48 enum button_type
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
49 {
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
50 BUTTON_TYPE_NONE,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
51 BUTTON_TYPE_TOGGLE,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
52 BUTTON_TYPE_RADIO
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
53 };
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
54
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
55 /* This is a list node in a generic list implementation. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
56 typedef struct xg_list_node_
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
57 {
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
58 struct xg_list_node_ *prev;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
59 struct xg_list_node_ *next;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
60 } xg_list_node;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
61
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
62 /* This structure is the callback data that is shared for menu items.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
63 We need to keep it separate from the frame structure due to
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
64 detachable menus. The data in the frame structure is only valid while
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
65 the menu is popped up. This structure is kept around as long as
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
66 the menu is. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
67 typedef struct xg_menu_cb_data_
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
68 {
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
69 xg_list_node ptrs;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49434
diff changeset
70
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
71 FRAME_PTR f;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
72 Lisp_Object menu_bar_vector;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
73 int menu_bar_items_used;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
74 GCallback highlight_cb;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
75 int ref_count;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
76 } xg_menu_cb_data;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
77
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
78 /* This structure holds callback information for each individual menu item. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
79 typedef struct xg_menu_item_cb_data_
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
80 {
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
81 xg_list_node ptrs;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
82
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
83 gulong select_id;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
84 Lisp_Object help;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
85 gpointer call_data;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
86 xg_menu_cb_data *cl_data;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49434
diff changeset
87
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
88 } xg_menu_item_cb_data;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
89
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
90
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
91 /* Used to specify menus and dialogs.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
92 This is an adaption from lwlib for Gtk so we can use more of the same
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
93 code as lwlib in xmenu.c. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
94 typedef struct _widget_value
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
95 {
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
96 /* name of widget */
56846
5817080daeba * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
Jan Djärv <jan.h.d@swipnet.se>
parents: 53069
diff changeset
97 Lisp_Object lname;
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
98 char *name;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
99 /* value (meaning depend on widget type) */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
100 char *value;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49434
diff changeset
101 /* keyboard equivalent. no implications for XtTranslations */
56846
5817080daeba * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
Jan Djärv <jan.h.d@swipnet.se>
parents: 53069
diff changeset
102 Lisp_Object lkey;
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
103 char *key;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
104 /* Help string or nil if none.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
105 GC finds this string through the frame's menu_bar_vector
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
106 or through menu_items. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
107 Lisp_Object help;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
108 /* true if enabled */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
109 gint enabled;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
110 /* true if selected */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
111 gint selected;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
112 /* The type of a button. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
113 enum button_type button_type;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
114 /* Contents of the sub-widgets, also selected slot for checkbox */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
115 struct _widget_value *contents;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
116 /* data passed to callback */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
117 gpointer call_data;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
118 /* next one in the list */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
119 struct _widget_value *next;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
120
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
121 /* we resource the widget_value structures; this points to the next
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
122 one on the free list if this one has been deallocated.
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
123 */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
124 struct _widget_value *free_list;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
125 } widget_value;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
126
57941
68ea73fe257b * gtkutil.h: Declare use_old_gtk_file_dialog.
Jan Djärv <jan.h.d@swipnet.se>
parents: 57868
diff changeset
127 #ifdef HAVE_GTK_FILE_BOTH
68ea73fe257b * gtkutil.h: Declare use_old_gtk_file_dialog.
Jan Djärv <jan.h.d@swipnet.se>
parents: 57868
diff changeset
128 extern int use_old_gtk_file_dialog;
68ea73fe257b * gtkutil.h: Declare use_old_gtk_file_dialog.
Jan Djärv <jan.h.d@swipnet.se>
parents: 57868
diff changeset
129 #endif
68ea73fe257b * gtkutil.h: Declare use_old_gtk_file_dialog.
Jan Djärv <jan.h.d@swipnet.se>
parents: 57868
diff changeset
130
49434
a4d0ee33dcce Fix input methods for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 49323
diff changeset
131 extern widget_value *malloc_widget_value P_ ((void));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
132 extern void free_widget_value P_ ((widget_value *));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
133
67761
5b8799d65159 * xfns.c (Fx_uses_old_gtk_dialog): New function.
Jan Djärv <jan.h.d@swipnet.se>
parents: 65005
diff changeset
134 extern int xg_uses_old_file_dialog P_ ((void));
5b8799d65159 * xfns.c (Fx_uses_old_gtk_dialog): New function.
Jan Djärv <jan.h.d@swipnet.se>
parents: 65005
diff changeset
135
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
136 extern char *xg_get_file_name P_ ((FRAME_PTR f,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
137 char *prompt,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
138 char *default_filename,
57868
c955f6add62a * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
Jan Djärv <jan.h.d@swipnet.se>
parents: 57596
diff changeset
139 int mustmatch_p,
c955f6add62a * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
Jan Djärv <jan.h.d@swipnet.se>
parents: 57596
diff changeset
140 int only_dir_p));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
141
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
142 extern GtkWidget *xg_create_widget P_ ((char *type,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
143 char *name,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
144 FRAME_PTR f,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
145 widget_value *val,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
146 GCallback select_cb,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
147 GCallback deactivate_cb,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
148 GCallback hightlight_cb));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
149
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
150 extern void xg_modify_menubar_widgets P_ ((GtkWidget *menubar,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
151 FRAME_PTR f,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
152 widget_value *val,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
153 int deep_p,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
154 GCallback select_cb,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
155 GCallback deactivate_cb,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
156 GCallback hightlight_cb));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
157
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
158 extern int xg_update_frame_menubar P_ ((FRAME_PTR f));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
159
52981
54482f5ea7be Remove tear off capability for GTK popup menus.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52401
diff changeset
160 extern int xg_have_tear_offs P_ ((void));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
161
53069
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
162 extern int xg_get_scroll_id_for_window P_ ((Display *dpy, Window wid));
50064
40170697bff1 Implement Ctrl-Mouse-2 (split vertically) for toolkit scrollbars
Jan Djärv <jan.h.d@swipnet.se>
parents: 49600
diff changeset
163
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
164 extern void xg_create_scroll_bar P_ ((FRAME_PTR f,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
165 struct scroll_bar *bar,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
166 GCallback scroll_callback,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
167 char *scroll_bar_name));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
168 extern void xg_show_scroll_bar P_ ((int scrollbar_id));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
169 extern void xg_remove_scroll_bar P_ ((FRAME_PTR f, int scrollbar_id));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
170
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
171 extern void xg_update_scrollbar_pos P_ ((FRAME_PTR f,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
172 int scrollbar_id,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
173 int top,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
174 int left,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
175 int width,
57596
94778fc7dc76 * gtkutil.h (xg_frame_cleared): Removed.
Jan Djärv <jan.h.d@swipnet.se>
parents: 56846
diff changeset
176 int height));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
177
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
178 extern void xg_set_toolkit_scroll_bar_thumb P_ ((struct scroll_bar *bar,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
179 int portion,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
180 int position,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
181 int whole));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
182
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
183
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
184 extern void update_frame_tool_bar P_ ((FRAME_PTR f));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
185 extern void free_frame_tool_bar P_ ((FRAME_PTR f));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
186
92367
1402432968c4 (xg_frame_resized): Renamed from xg_resize_widgets.
Jan Djärv <jan.h.d@swipnet.se>
parents: 79759
diff changeset
187 extern void xg_frame_resized P_ ((FRAME_PTR f,
1402432968c4 (xg_frame_resized): Renamed from xg_resize_widgets.
Jan Djärv <jan.h.d@swipnet.se>
parents: 79759
diff changeset
188 int pixelwidth,
1402432968c4 (xg_frame_resized): Renamed from xg_resize_widgets.
Jan Djärv <jan.h.d@swipnet.se>
parents: 79759
diff changeset
189 int pixelheight));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
190 extern void xg_frame_set_char_size P_ ((FRAME_PTR f, int cols, int rows));
53069
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
191 extern GtkWidget * xg_win_to_widget P_ ((Display *dpy, Window wdesc));
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
192
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
193 extern int xg_display_open P_ ((char *display_name, Display **dpy));
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
194 extern void xg_display_close P_ ((Display *dpy));
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
195 extern GdkCursor * xg_create_default_cursor P_ ((Display *dpy));
1218a42792ea Implement multiple display handling for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 52981
diff changeset
196
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
197 extern int xg_create_frame_widgets P_ ((FRAME_PTR f));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
198 extern void x_wm_set_size_hint P_ ((FRAME_PTR f,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
199 long flags,
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
200 int user_position));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
201 extern void xg_set_background_color P_ ((FRAME_PTR f, unsigned long bg));
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
202
65005
5a24bf173f5c * gtkutil.h (xg_set_frame_icon): Declare it.
Jan Djärv <jan.h.d@swipnet.se>
parents: 64935
diff changeset
203 extern void xg_set_frame_icon P_ ((FRAME_PTR f,
5a24bf173f5c * gtkutil.h (xg_set_frame_icon): Declare it.
Jan Djärv <jan.h.d@swipnet.se>
parents: 64935
diff changeset
204 Pixmap icon_pixmap,
5a24bf173f5c * gtkutil.h (xg_set_frame_icon): Declare it.
Jan Djärv <jan.h.d@swipnet.se>
parents: 64935
diff changeset
205 Pixmap icon_mask));
64935
0095a3f61578 * gtkutil.h (xg_get_pixbuf_from_pix_and_mask): Declare.
Jan Djärv <jan.h.d@swipnet.se>
parents: 64770
diff changeset
206
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
207 /* Mark all callback data that are Lisp_object:s during GC. */
49434
a4d0ee33dcce Fix input methods for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 49323
diff changeset
208 extern void xg_mark_data P_ ((void));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
209
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
210 /* Initialize GTK specific parts. */
49434
a4d0ee33dcce Fix input methods for GTK.
Jan Djärv <jan.h.d@swipnet.se>
parents: 49323
diff changeset
211 extern void xg_initialize P_ ((void));
49323
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
212
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
213 /* Setting scrollbar values invokes the callback. Use this variable
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
214 to indicate that the callback should do nothing. */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
215 extern int xg_ignore_gtk_scrollbar;
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
216
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
217 #endif /* USE_GTK */
078b78ea8e76 GTK files gtkutil.c and .h
Jan Djärv <jan.h.d@swipnet.se>
parents:
diff changeset
218 #endif /* GTKUTIL_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50270
diff changeset
219
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50270
diff changeset
220 /* arch-tag: 0757f3dc-00c7-4cee-9e4c-282cf1d34c72
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50270
diff changeset
221 (do not change this comment) */