]> code.delx.au - gnu-emacs/blobdiff - lwlib/lwlib.h
Fix shr.el/image build problem
[gnu-emacs] / lwlib / lwlib.h
index cdd1e790efe1c59d82cce943de142dd4383561da..f59f88a69ec7949ee0a085a89653519a997f7799 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Copyright (C) 1992, 1993 Lucid, Inc.
-Copyright (C) 1994, 1999-201 Free Software Foundation, Inc.
+Copyright (C) 1994, 1999-2016 Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
@@ -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., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
 #ifndef LWLIB_H
@@ -44,22 +42,9 @@ Boston, MA 02110-1301, USA.  */
 ** main:     ("name")
 */
 
-typedef unsigned long LWLIB_ID;
+#include "lwlib-widget.h"
 
-typedef enum _change_type
-{
-  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 unsigned int LWLIB_ID;
 
 /* Menu separator types.  */
 
@@ -83,51 +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;
-
-  /* we resource the widget_value structures; this points to the next
-     one on the free list if this one has been deallocated.
-   */
-  struct _widget_value *free_list;
-} widget_value;
-
 
 typedef void (*lw_callback) (Widget w, LWLIB_ID id, void* data);
 
@@ -155,8 +95,6 @@ widget_value* lw_get_all_values (LWLIB_ID id);
 Boolean lw_get_some_values (LWLIB_ID id, widget_value* val);
 void lw_pop_up_all_widgets (LWLIB_ID id);
 void lw_pop_down_all_widgets (LWLIB_ID id);
-widget_value *malloc_widget_value (void);
-void free_widget_value (widget_value *);
 void lw_popup_menu (Widget, XEvent *);
 
 /* Toolkit independent way of focusing on a Widget at the Xt level. */
@@ -173,9 +111,15 @@ void lw_refigure_widget (Widget w, Boolean doit);
 Boolean lw_window_is_in_menubar (Window win, Widget menubar_widget);
 
 /* Manage resizing: TRUE permits resizing widget w; FALSE disallows it. */
+#ifndef USE_MOTIF
+ATTRIBUTE_CONST
+#endif
 void lw_allow_resizing (Widget w, Boolean flag);
 
 /* Set up the main window. */
+#ifndef USE_MOTIF
+ATTRIBUTE_CONST
+#endif
 void lw_set_main_areas (Widget parent,
                         Widget menubar,
                         Widget work_area);
@@ -189,4 +133,3 @@ int lw_separator_p (const char *label, enum menu_separator *type,
                     int motif_p);
 
 #endif /* LWLIB_H */
-