view lwlib/lwlib-Xm.h @ 5261:69f687b3ba9d

Move #'replace to C, add bounds-checking to it and to #'fill. 2010-09-06 Aidan Kehoe <kehoea@parhasard.net> Move #'replace to C; add bounds checking to it and to #'fill. * fns.c (Fsubseq, Ffill, mapcarX): Don't #'nreverse in #'subseq, use fill_string_range and check bounds in #'fill, use replace_string_range() in #'map-into avoiding quadratic time when modfiying the string. * fns.c (check_sequence_range, fill_string_range) (replace_string_range, replace_string_range_1, Freplace): New functions; check that arguments fit sequence dimensions, fill a string range with a given character, replace a string range from an Ibyte pointer.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 06 Sep 2010 17:29:51 +0100
parents 98528da0b7fc
children ade4c7e2c6cb
line wrap: on
line source

#ifndef INCLUDED_lwlib_Xm_h_
#define INCLUDED_lwlib_Xm_h_

#include "lwlib-internal.h"

extern const widget_creation_entry xm_creation_table [];

Widget 
xm_create_dialog (widget_instance* instance);

Widget
xm_create_label (Widget parent, widget_value* val);

Boolean
lw_motif_widget_p (Widget widget);

void
xm_update_one_widget (widget_instance* instance, Widget widget,
		      widget_value* val, Boolean deep_p);

void
xm_update_one_value (widget_instance* instance, Widget widget,
		     widget_value* val);

void
xm_destroy_instance (widget_instance* instance);

void
xm_set_keyboard_focus (Widget parent, Widget w);

void
xm_popup_menu (Widget widget, XEvent *event);

void
xm_pop_instance (widget_instance* instance, Boolean up);

extern Widget first_child (Widget);	/* garbage */

#endif /* INCLUDED_lwlib_Xm_h_ */