view lwlib/lwlib-int.h @ 10310:b0f6fc3f80b1

(struct buffer): Fields markers and intervals moved out. (struct buffer_text): Fields markers and intervals moved here. (BUF_MARKERS, BUF_INTERVALS): New macros. (struct buffer): Make buffer_file_type field unconditional. (struct buffer): New field pt_marker. save_modiff field deleted. (struct buffer_text): save_modiff field moved here. (SAVE_MODIFF, BUF_SAVE_MODIFF): New macros. Use them instead of direct access to save_modiff field. (struct buffer): New fields begv_marker, zv_marker. (struct buffer): Make text field be a pointer. The struct buffer_text field renamed to own_text. Add fields indirect_to_buffer and size. Move pt, begv and zv fields here. (struct buffer_text): Moved from here. (BEGV, PT, ZV, BEGV_ADDR, PT_ADDR, ZV_ADDR): Corresponding changes. (BUF_BEGV, BUF_PT, BUF_ZV): Corresponding changes. (SET_BUF_ZV, SET_BUF_PT, point):
author Richard M. Stallman <rms@gnu.org>
date Mon, 02 Jan 1995 09:19:34 +0000
parents 4cc583151918
children 0a94cd2c51c4
line wrap: on
line source

#ifndef LWLIB_INTERNAL_H
#define LWLIB_INTERNAL_H

#include "lwlib.h"

/*
extern char *strdup (const char *);
extern int strcasecmp (const char *, const char *);
*/
extern char *safe_strdup ();

typedef struct _widget_instance
{
  Widget		widget;
  Widget		parent;
  Boolean		pop_up_p;
  struct _widget_info*		info;
  struct _widget_instance*	next;
} widget_instance;

typedef struct _widget_info
{
  char*			type;
  char*			name;
  LWLIB_ID		id;
  widget_value*		val;
  Boolean		busy;
  lw_callback		pre_activate_cb;
  lw_callback		selection_cb;
  lw_callback		post_activate_cb;
  struct _widget_instance*	instances;
  struct _widget_info*		next;
} widget_info;

typedef Widget
(*widget_creation_function) ();

typedef struct _widget_creation_entry
{
  char*				type;
  widget_creation_function	function;
} widget_creation_entry;

/* update all other instances of a widget.  Can be used in a callback when
   a wiget has been used by the user */
void
lw_internal_update_other_instances ();

/* get the widget_value for a widget in a given instance */
widget_value*
lw_get_widget_value_for_widget ();

widget_info *lw_get_widget_info ();

#endif /* LWLIB_INTERNAL_H */