Mercurial > hg > xemacs-beta
annotate src/toolbar.h @ 5518:3cc7470ea71c
gnuclient: if TMPDIR was set and connect failed, try again with /tmp
2011-06-03 Aidan Kehoe <kehoea@parhasard.net>
* gnuslib.c (connect_to_unix_server):
Retry with /tmp as a directory in which to search for Unix sockets
if an attempt to connect with some other directory failed (which
may be because gnuclient and gnuserv don't share an environment
value for TMPDIR, or because gnuserv was compiled with USE_TMPDIR
turned off).
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Fri, 03 Jun 2011 18:40:57 +0100 |
parents | 308d34e9f07d |
children |
rev | line source |
---|---|
428 | 1 /* Define general toolbar support. |
2 Copyright (C) 1995 Board of Trustees, University of Illinois. | |
5077
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
3 Copyright (C) 1995, 1996, 2010 Ben Wing. |
428 | 4 Copyright (C) 1996 Chuck Thompson. |
5 | |
6 This file is part of XEmacs. | |
7 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5128
diff
changeset
|
8 XEmacs is free software: you can redistribute it and/or modify it |
428 | 9 under the terms of the GNU General Public License as published by the |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5128
diff
changeset
|
10 Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5128
diff
changeset
|
11 option) any later version. |
428 | 12 |
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
16 for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5128
diff
changeset
|
19 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
428 | 20 |
21 /* Synched up with: Not in FSF. */ | |
22 | |
440 | 23 #ifndef INCLUDED_toolbar_h_ |
24 #define INCLUDED_toolbar_h_ | |
428 | 25 |
26 #ifdef HAVE_TOOLBARS | |
27 | |
28 #include "specifier.h" | |
29 | |
30 #define FRAME_TOOLBAR_BUTTONS(frame, pos) \ | |
31 ((frame)->toolbar_buttons[pos]) | |
32 #define FRAME_CURRENT_TOOLBAR_SIZE(frame, pos) \ | |
33 ((frame)->current_toolbar_size[pos]) | |
5077
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
34 #define SET_TOOLBAR_WAS_VISIBLE_FLAG(frame, pos, flag) \ |
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
35 do { \ |
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
36 (frame)->toolbar_was_visible[pos] = flag; \ |
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
37 } while (0) |
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
38 |
428 | 39 #define DEVICE_SUPPORTS_TOOLBARS_P(d) \ |
434 | 40 HAS_DEVMETH_P (d, output_frame_toolbars) |
428 | 41 |
42 struct toolbar_button | |
43 { | |
5127
a9c41067dd88
more cleanups, terminology clarification, lots of doc work
Ben Wing <ben@xemacs.org>
parents:
5120
diff
changeset
|
44 NORMAL_LISP_OBJECT_HEADER header; |
428 | 45 |
46 Lisp_Object next; | |
47 Lisp_Object frame; | |
48 | |
49 Lisp_Object up_glyph; | |
50 Lisp_Object down_glyph; | |
51 Lisp_Object disabled_glyph; | |
52 | |
53 Lisp_Object cap_up_glyph; | |
54 Lisp_Object cap_down_glyph; | |
55 Lisp_Object cap_disabled_glyph; | |
56 | |
57 Lisp_Object callback; | |
58 Lisp_Object enabled_p; | |
59 Lisp_Object help_string; | |
60 | |
61 char enabled; | |
62 char down; | |
63 char pushright; | |
64 char blank; | |
65 | |
66 int x, y; | |
67 int width, height; | |
68 int dirty; | |
69 /* is this button in a left or right toolbar? */ | |
70 int vertical; | |
71 /* border_width when this button was laid out */ | |
72 int border_width; | |
73 }; | |
74 | |
5118
e0db3c197671
merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
75 DECLARE_LISP_OBJECT (toolbar_button, struct toolbar_button); |
428 | 76 #define XTOOLBAR_BUTTON(x) XRECORD (x, toolbar_button, struct toolbar_button) |
617 | 77 #define wrap_toolbar_button(p) wrap_record (p, toolbar_button) |
428 | 78 #define TOOLBAR_BUTTONP(x) RECORDP (x, toolbar_button) |
79 #define CHECK_TOOLBAR_BUTTON(x) CHECK_RECORD (x, toolbar_button) | |
80 #define CONCHECK_TOOLBAR_BUTTON(x) CONCHECK_RECORD (x, toolbar_button) | |
81 | |
5077
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
82 void get_toolbar_coords (struct frame *f, enum edge_pos pos, int *x, |
428 | 83 int *y, int *width, int *height, int *vert, |
84 int for_layout); | |
85 Lisp_Object toolbar_button_at_pixpos (struct frame *f, int x_coord, | |
86 int y_coord); | |
87 DECLARE_SPECIFIER_TYPE (toolbar); | |
88 #define XTOOLBAR_SPECIFIER(x) XSPECIFIER_TYPE (x, toolbar) | |
89 #define TOOLBAR_SPECIFIERP(x) SPECIFIER_TYPEP (x, toolbar) | |
90 #define CHECK_TOOLBAR_SPECIFIER(x) CHECK_SPECIFIER_TYPE (x, toolbar) | |
91 #define CONCHECK_TOOLBAR_SPECIFIER(x) CONCHECK_SPECIFIER_TYPE (x, toolbar) | |
92 | |
93 #define MSWINDOWS_DEFAULT_TOOLBAR_HEIGHT 37 | |
94 #define MSWINDOWS_DEFAULT_TOOLBAR_WIDTH 40 | |
95 #define MSWINDOWS_DEFAULT_TOOLBAR_BORDER_WIDTH 0 | |
96 #define DEFAULT_TOOLBAR_HEIGHT 37 | |
97 #define DEFAULT_TOOLBAR_WIDTH 40 | |
98 #define DEFAULT_TOOLBAR_BLANK_SIZE 8 | |
99 #define DEFAULT_TOOLBAR_BORDER_WIDTH 0 | |
100 #define MINIMUM_SHADOW_THICKNESS 1 | |
101 | |
102 extern Lisp_Object Vtoolbar_size[4]; | |
103 extern Lisp_Object Vtoolbar_border_width[4]; | |
104 void update_frame_toolbars (struct frame *f); | |
905 | 105 void update_frame_toolbars_geometry (struct frame *f); |
428 | 106 void init_frame_toolbars (struct frame *f); |
107 void init_device_toolbars (struct device *d); | |
108 void init_global_toolbars (struct device *d); | |
109 void free_frame_toolbars (struct frame *f); | |
110 Lisp_Object get_toolbar_button_glyph (struct window *w, | |
111 struct toolbar_button *tb); | |
5077
d372b17f63ce
clean up toolbar/gutter edge geometry
Ben Wing <ben@xemacs.org>
parents:
3017
diff
changeset
|
112 void mark_frame_toolbar_buttons_dirty (struct frame *f, enum edge_pos pos); |
428 | 113 |
114 #endif /* HAVE_TOOLBARS */ | |
115 | |
440 | 116 #endif /* INCLUDED_toolbar_h_ */ |