view lwlib/lwlib-int.h @ 32728:6fe525e8880c

(sh-mode-map): Remove bindings for sh-electric-rparen, sh-electric-less and sh-electric-hash. (sh-st-punc, sh-here-doc-syntax): Use string-to-syntax. (sh-font-lock-heredoc, sh-font-lock-paren): New funs. (sh-font-lock-syntactic-keywords): Use them. (sh-heredoc-face, sh-st-face, sh-special-syntax): Remove. (sh-mkword-regexp, sh-electric-rparen-needed-here): Remove. (sh-mode): Don't override font-lock-unfontify-region-function. Use a copy of sh-font-lock-syntactic-keywords. (sh-set-shell): Don't set sh-electric-rparen-needed-here. Don't call sh-scan-buffer since font-lock does it on the fly. (sh-get-indent-info): Use `face' rather than `syntax-table' text-property to detect here-documents. Replace sh-special-syntax with sh-st-punc. (sh-prev-line): Use `face' rather than `syntax-table' text-property to skip over here-documents. (sh-font-lock-unfontify-region-function, sh-check-paren-in-case) (sh-set-char-syntax, sh-electric-rparen, sh-electric-hash) (sh-electric-less, sh-set-here-doc-region) (sh-remove-our-text-properties, sh-search-word, sh-scan-case) (sh-scan-buffer, sh-rescan-buffer): Remove.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 21 Oct 2000 18:05:45 +0000
parents 6ed38ee607e9
children 695cf19ef79e
line wrap: on
line source

#ifndef LWLIB_INTERNAL_H
#define LWLIB_INTERNAL_H

#include "lwlib.h"

extern char *safe_strdup __P ((const char *));

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;
  lw_callback		highlight_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 widget has been used by the user */
void
lw_internal_update_other_instances __P ((Widget, XtPointer, XtPointer));

/* get the widget_value for a widget in a given instance */
widget_value*
lw_get_widget_value_for_widget __P ((widget_instance *, Widget));

widget_info *lw_get_widget_info __P ((LWLIB_ID));
widget_instance * lw_get_widget_instance __P ((Widget));

#endif /* LWLIB_INTERNAL_H */