view finch/libgnt/gntutils.h @ 18035:c168d1ae2012

A patch from Norbert Buchmuller: "There's a 'setstatus' command implemented in 'gaim-remote', but there's no 'getstatus'. For some tasks (eg. setting status to 'offline' on hibernation and restoring it on resume) it would be useful if such command existed." I'm not sure if we're considering this API or not. committer: Richard Laager <rlaager@wiktel.com>
author Norbert Buchmuller <norbi@nix.hu>
date Sun, 03 Jun 2007 19:34:16 +0000
parents 5f204f55af09
children 8410511f4dbb
line wrap: on
line source

#include <glib.h>

#include "gnt.h"
#include "gntwidget.h"

typedef gpointer (*GDupFunc)(gconstpointer data);

void gnt_util_get_text_bound(const char *text, int *width, int *height);

/* excluding *end */
int gnt_util_onscreen_width(const char *start, const char *end);

const char *gnt_util_onscreen_width_to_pointer(const char *str, int len, int *w);

/* Inserts newlines in 'string' where necessary so that its onscreen width is
 * no more than 'maxw'.
 * 'maxw' can be <= 0, in which case the maximum screen width is considered.
 *
 * Returns a newly allocated string.
 */
char *gnt_util_onscreen_fit_string(const char *string, int maxw);

GHashTable *g_hash_table_duplicate(GHashTable *src, GHashFunc hash,
		GEqualFunc equal, GDestroyNotify key_d, GDestroyNotify value_d,
		GDupFunc key_dup, GDupFunc value_dup);


/**
 * To be used with g_signal_new. Look in the key_pressed signal-definition in
 * gntwidget.c for usage.
 */
gboolean gnt_boolean_handled_accumulator(GSignalInvocationHint *ihint,
				  GValue                *return_accu,
				  const GValue          *handler_return,
				  gpointer               dummy);

/**
 * Returns a GntTree populated with "key" -> "binding" for the widget.
 */
GntWidget *gnt_widget_bindings_view(GntWidget *widget);

/**
 * Parse widgets from 'string'.
 */
void gnt_util_parse_widgets(const char *string, int num, ...);