gntutils.h File Reference

Some utility functions. More...

#include <glib.h>
#include "gnt.h"
#include "gnttextview.h"
#include "gntwidget.h"

Go to the source code of this file.

Typedefs

typedef gpointer(* GDupFunc )(gconstpointer data)

Functions

void gnt_util_get_text_bound (const char *text, int *width, int *height)
 Compute the width and height required to view the text on the screen.
int gnt_util_onscreen_width (const char *start, const char *end)
 Get the onscreen width of a string, or a substring.
const char * gnt_util_onscreen_width_to_pointer (const char *str, int len, int *w)
 Computes and returns the string after a specific number of onscreen characters.
char * gnt_util_onscreen_fit_string (const char *string, int maxw)
 Inserts newlines in 'string' where necessary so that its onscreen width is no more than 'maxw'.
GHashTable * g_hash_table_duplicate (GHashTable *src, GHashFunc hash, GEqualFunc equal, GDestroyNotify key_d, GDestroyNotify value_d, GDupFunc key_dup, GDupFunc value_dup)
 Duplicate the contents of a hastable.
gboolean gnt_boolean_handled_accumulator (GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy)
 To be used with g_signal_new.
GntWidget * gnt_widget_bindings_view (GntWidget *widget)
 Get a helpful display about the bindings of a widget.
void gnt_util_parse_widgets (const char *string, int num,...)
 Parse widgets from an XML description.
gboolean gnt_util_parse_xhtml_to_textview (const char *string, GntTextView *tv)
 Parse an XHTML string and add it in a GntTextView with appropriate text flags.
void gnt_util_set_trigger_widget (GntWidget *widget, const char *key, GntWidget *button)
 Make some keypress activate a button when some key is pressed with 'wid' in focus.


Detailed Description

Some utility functions.

Definition in file gntutils.h.


Function Documentation

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

Duplicate the contents of a hastable.

Parameters:
src The source hashtable.
hash The hash-function to use.
equal The hash-equal function to use.
key_d The key-destroy function to use.
value_d The value-destroy function to use.
key_dup The function to use to duplicate the key.
value_dup The function to use to duplicate the value.
Returns:
The new hashtable.

gboolean gnt_boolean_handled_accumulator ( GSignalInvocationHint *  ihint,
GValue *  return_accu,
const GValue *  handler_return,
gpointer  dummy 
)

To be used with g_signal_new.

Look in the key_pressed signal-definition in gntwidget.c for usage.

Parameters:
ihint NA
return_accu NA
handler_return NA
dummy NA
Returns:
NA

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

Compute the width and height required to view the text on the screen.

Parameters:
text The text to be displayed.
width The width required is set here, if not NULL.
height The height required is set here, if not NULL.

char* gnt_util_onscreen_fit_string ( const char *  string,
int  maxw 
)

Inserts newlines in 'string' where necessary so that its onscreen width is no more than 'maxw'.

Parameters:
string The string.
maxw The width that the string should fit into. If maxw is <= 0, then the available maximum width is used.
Returns:
A newly allocated string that needs to be freed by the caller.

int gnt_util_onscreen_width ( const char *  start,
const char *  end 
)

Get the onscreen width of a string, or a substring.

Parameters:
start The beginning of the string.
end The end of the string. The width returned is the width upto (but not including) end. If end is NULL, then start is considered as a NULL-terminated string.
Returns:
The on-screen width of the string.

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

Computes and returns the string after a specific number of onscreen characters.

Parameters:
str The string.
len The length to consider. If non-positive, the entire screenlength is used.
w The actual width of the string upto the returned offset, if not NULL.
Returns:
The string after len offset.

void gnt_util_parse_widgets ( const char *  string,
int  num,
  ... 
)

Parse widgets from an XML description.

For example,

 GntWidget *win, *button;
 gnt_util_parse_widgets("\
      <vwindow id='0' fill='0' align='2'>     \
          <label>This is a test</label>       \
          <button id='1'>OK</button>          \
      </vwindow>",
   2, &win, &button);

Parameters:
string The XML string.
num The number of widgets to return, followed by 'num' GntWidget **

gboolean gnt_util_parse_xhtml_to_textview ( const char *  string,
GntTextView *  tv 
)

Parse an XHTML string and add it in a GntTextView with appropriate text flags.

Parameters:
string The XHTML string
tv The GntTextView
Returns:
TRUE if the string was added to the textview properly, FALSE otherwise.
Since:
2.2.0

void gnt_util_set_trigger_widget ( GntWidget *  widget,
const char *  key,
GntWidget *  button 
)

Make some keypress activate a button when some key is pressed with 'wid' in focus.

Parameters:
widget The widget
key The key to trigger the button
button The button to trigger
Since:
2.0.0 (gnt), 2.1.0 (pidgin)

GntWidget* gnt_widget_bindings_view ( GntWidget *  widget  ) 

Get a helpful display about the bindings of a widget.

Parameters:
widget The widget to get bindings for.
Returns:
Returns a GntTree populated with "key" -> "binding" for the widget.