view lwlib/lwlib-int.h @ 88130:363419a0d27c

Commentary: Add text. History: Add header and mbox item. Overhaul summary buffer movement. (rmail-summary-font-lock-keywords): Compress the attribute character display field by one character. (rmail-new-summary): Rewrite. (rmail-make-summary-line-1): Slight rewrite to deal with small changes in the summary format. (rmail-make-basic-summary-line): Use the rmail message vector. (rmail-summary-next-msg): Rewrite. (rmail-summary-next-labeled-message): Set the summary buffer copy of the rmail-current-message to force the display to show it. (rmail-summary-next-same-subject): Rewrite. (rmail-summary-delete-forward): Remove some questionable code and make summary buffer movement explicit. (rmail-summary-mark-deleted): Make sure to reflect the deletion for the Rmail buffer. (rmail-summary-deleted-p): Rewrite. (rmail-summary-undelete-many): Set the summary buffer copy of the rmail-current-message to force the display to show it. (rmail-summary-rmail-update): Rewrite. (rmail-summary-mode-map): Use "B" to send the message body to a browser; use (rmail-summary-output) instead of (rmail-summary-output-to-rmail-file). Similarly for the menu item. (rmail-summary-mouse-goto-msg): Set the summary buffer copy of the rmail-current-message to force the display to show it. (rmail-summary-get-message-at-point): New function. (rmail-summary-goto-msg): Rewrite. (rmail-summary-expunge, rmail-summary-expunge-and-save, rmail-summary-get-new-mail, rmail-summary-toggle-header): Rewrite. (rmail-summary-get-line-count, rmail-summary-get-summary-attributes, rmail-summary-get-summary, rmail-summary-update-attribute, rmail-summary-browse-body): New functions.
author Paul Reilly <pmr@pajato.com>
date Sat, 15 Feb 2003 17:13:03 +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 */