summaryrefslogtreecommitdiff
path: root/lwlib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-06-03 12:59:55 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2014-06-03 12:59:55 -0700
commit181f08a7d8378c5d3cb290b58c7618396413d28c (patch)
treed36524ab6287a64f552897cfe3f1c8e2bce14213 /lwlib
parent5897da1d746561c63719b21c5984b49a194f8209 (diff)
Do not require libXt-devel when building with gtk.
* lwlib/lwlib-widget.h: New file, with contents taken from lwlib.h. (widget_value) [HAVE_NTGUI]: New member 'title'. * lwlib/lwlib.h: Include lwlib-widget.h. (change_type, enum button_type, widget_value): Move to lwlib-widget.h. * src/gtkutil.h, src/menu.h: Include lwlib-widget.h, not lwlib-h, to avoid dependency on libXt-devel. * src/menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too. (enum button_type, widget_value) [HAVE_NTGUI]: Remove, as lwlib-widget.h now does this. * src/nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.
Diffstat (limited to 'lwlib')
-rw-r--r--lwlib/ChangeLog9
-rw-r--r--lwlib/lwlib-widget.h100
-rw-r--r--lwlib/lwlib.h57
3 files changed, 111 insertions, 55 deletions
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog
index 5457b91d64..daf47ce472 100644
--- a/lwlib/ChangeLog
+++ b/lwlib/ChangeLog
@@ -1,3 +1,12 @@
+2014-06-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not require libXt-devel when building with gtk.
+ * lwlib-widget.h: New file, with contents taken from lwlib.h.
+ (widget_value) [HAVE_NTGUI]: New member 'title'.
+ * lwlib.h: Include lwlib-widget.h.
+ (change_type, enum button_type, widget_value):
+ Move to lwlib-widget.h.
+
2014-06-03 Dmitry Antipov <dmantipov@yandex.ru>
* xlwmenu.c (openXftFont): Do not load regular X font here.
diff --git a/lwlib/lwlib-widget.h b/lwlib/lwlib-widget.h
new file mode 100644
index 0000000000..b5abb1af9f
--- /dev/null
+++ b/lwlib/lwlib-widget.h
@@ -0,0 +1,100 @@
+/*
+Copyright (C) 1992, 1993 Lucid, Inc.
+Copyright (C) 1994, 1999-2014 Free Software Foundation, Inc.
+
+This file is part of the Lucid Widget Library.
+
+The Lucid Widget Library 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 1, or (at your option)
+any later version.
+
+The Lucid Widget Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+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. If not, see <http://www.gnu.org/licenses/>. */
+
+/* This part is separate from lwlib.h because it does not need X,
+ and thus can be used by non-X code in Emacs proper. */
+
+#ifndef LWLIB_WIDGET_H
+#define LWLIB_WIDGET_H
+
+typedef enum
+{
+ NO_CHANGE = 0,
+ INVISIBLE_CHANGE = 1,
+ VISIBLE_CHANGE = 2,
+ STRUCTURAL_CHANGE = 3
+} change_type;
+
+enum button_type
+{
+ BUTTON_TYPE_NONE,
+ BUTTON_TYPE_TOGGLE,
+ BUTTON_TYPE_RADIO
+};
+
+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. */
+ Lisp_Object lkey;
+ char *key;
+
+ /* Help string or nil if none.
+ GC finds this string through the frame's menu_bar_vector
+ or through menu_items. */
+ Lisp_Object help;
+
+ /* True if enabled. */
+ bool enabled;
+
+ /* True if selected. */
+ bool selected;
+
+ /* True if was edited (maintained by get_value). */
+ bool edited;
+
+#ifdef HAVE_NTGUI
+ /* True if menu title. */
+ bool title;
+#endif
+
+ /* The type of a button. */
+ enum button_type button_type;
+
+ /* Type of change (maintained by lw library). */
+ change_type change;
+
+ /* Type of this widget's change, but not counting the other widgets
+ found in the `next' field. */
+ change_type this_one_change;
+
+ /* Contents of the sub-widgets, also selected slot for checkbox. */
+ struct _widget_value *contents;
+
+ /* Data passed to callback. */
+ void *call_data;
+
+ /* Next one in the list. */
+ struct _widget_value *next;
+
+ /* Slot for the toolkit dependent part. Always initialize to NULL. */
+ void *toolkit_data;
+
+ /* Whether we should free the toolkit data slot when freeing the
+ widget_value itself. */
+ bool free_toolkit_data;
+} widget_value;
+
+#endif
diff --git a/lwlib/lwlib.h b/lwlib/lwlib.h
index 563ade8b34..46e2d7a489 100644
--- a/lwlib/lwlib.h
+++ b/lwlib/lwlib.h
@@ -42,22 +42,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
** main: ("name")
*/
-typedef unsigned long LWLIB_ID;
-
-typedef enum _change_type
-{
- NO_CHANGE = 0,
- INVISIBLE_CHANGE = 1,
- VISIBLE_CHANGE = 2,
- STRUCTURAL_CHANGE = 3
-} change_type;
+#include "lwlib-widget.h"
-enum button_type
-{
- BUTTON_TYPE_NONE,
- BUTTON_TYPE_TOGGLE,
- BUTTON_TYPE_RADIO
-};
+typedef unsigned long LWLIB_ID;
/* Menu separator types. */
@@ -81,46 +68,6 @@ enum menu_separator
SEPARATOR_SHADOW_DOUBLE_ETCHED_OUT_DASH
};
-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 */
- Lisp_Object lkey;
- char* key;
- /* Help string or nil if none.
- GC finds this string through the frame's menu_bar_vector
- or through menu_items. */
- Lisp_Object help;
- /* true if enabled */
- Boolean enabled;
- /* true if selected */
- Boolean selected;
- /* true if was edited (maintained by get_value) */
- Boolean edited;
- /* The type of a button. */
- enum button_type button_type;
- /* true if has changed (maintained by lw library) */
- change_type change;
- /* true if this widget itself has changed,
- but not counting the other widgets found in the `next' field. */
- change_type this_one_change;
- /* Contents of the sub-widgets, also selected slot for checkbox */
- struct _widget_value* contents;
- /* data passed to callback */
- XtPointer call_data;
- /* next one in the list */
- struct _widget_value* next;
- /* slot for the toolkit dependent part. Always initialize to NULL. */
- void* toolkit_data;
- /* tell us if we should free the toolkit data slot when freeing the
- widget_value itself. */
- Boolean free_toolkit_data;
-} widget_value;
-
typedef void (*lw_callback) (Widget w, LWLIB_ID id, void* data);