PROGRAM(editable);
// This is the basic editable widget, inherited by all text related widgets.
// This is an abstract class that cannot be instantiated, only inherited.
SIGNAL("activate", "Called when the edit area is made active");
SIGNAL("changed", "Called when the text in the edit area is changed");
INHERIT(widget);
COMPLEX_FUNCTION(select_region, int, int);
NAME_ARGS(from,to);
COMPLEX_FUNCTION(insert_text, string, int, intp);
NAME_ARGS(text,num_chars,where);
// Insert 'num_chars' characters from the text at the position 'where'.
COMPLEX_FUNCTION(delete_text, int, int);
NAME_ARGS(from,to);
// Args: from, x. Deletes x characters from the position 'x' and forward
COMPLEX_FUNCTION(cut_clipboard);
COMPLEX_FUNCTION(copy_clipboard);
COMPLEX_FUNCTION(paste_clipboard);
COMPLEX_FUNCTION(claim_selection,int, int);
NAME_ARGS(claimp,unix_time);
string COMPLEX_FUNCTION(get_chars, int,int);
NAME_ARGS(start,end);
// returns part of, or all of the current contents of the editable
COMPLEX_FUNCTION(set_position, int);
// Set the cursor position
int COMPLEX_FUNCTION(get_position);
// returns the cursor position
COMPLEX_FUNCTION(set_editable, int);
// Set the editable flag
CLASSMEMBER(selection_start_pos, int);
// returns the cursor position of the selection start
CLASSMEMBER(selection_end_pos, int);
// returns the cursor position of the selection end
CLASSMEMBER(clipboard_text, string);
// returns the text currently in the clipboard.
SIMPLE_FUNCTION(delete_selection);
// Deletes the selected text
SIMPLE_FUNCTION(changed);
// Emulate a 'changed' event.
