Data Structures | Macros | Typedefs | Enumerations | Functions
gnttextview.h File Reference

Textview API. More...

#include "gntwidget.h"
#include "gnt.h"
#include "gntcolors.h"
#include "gntkeys.h"

Go to the source code of this file.

Data Structures

struct  _GntTextView
 
struct  _GntTextViewClass
 

Macros

#define GNT_TYPE_TEXT_VIEW   (gnt_text_view_get_gtype())
 
#define GNT_TEXT_VIEW(obj)   (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_TEXT_VIEW, GntTextView))
 
#define GNT_TEXT_VIEW_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_TEXT_VIEW, GntTextViewClass))
 
#define GNT_IS_TEXT_VIEW(obj)   (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_TEXT_VIEW))
 
#define GNT_IS_TEXT_VIEW_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_TEXT_VIEW))
 
#define GNT_TEXT_VIEW_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_TEXT_VIEW, GntTextViewClass))
 
#define GNT_TEXT_VIEW_FLAGS(obj)   (GNT_TEXT_VIEW(obj)->priv.flags)
 
#define GNT_TEXT_VIEW_SET_FLAGS(obj, flags)   (GNT_TEXT_VIEW_FLAGS(obj) |= flags)
 
#define GNT_TEXT_VIEW_UNSET_FLAGS(obj, flags)   (GNT_TEXT_VIEW_FLAGS(obj) &= ~(flags))
 

Typedefs

typedef struct _GntTextView GntTextView
 
typedef struct _GntTextViewPriv GntTextViewPriv
 
typedef struct _GntTextViewClass GntTextViewClass
 

Enumerations

enum  GntTextViewFlag { GNT_TEXT_VIEW_NO_SCROLL = 1 << 0, GNT_TEXT_VIEW_WRAP_CHAR = 1 << 1, GNT_TEXT_VIEW_TOP_ALIGN = 1 << 2 }
 
enum  GntTextFormatFlags {
  GNT_TEXT_FLAG_NORMAL = 0, GNT_TEXT_FLAG_BOLD = 1 << 0, GNT_TEXT_FLAG_UNDERLINE = 1 << 1, GNT_TEXT_FLAG_BLINK = 1 << 2,
  GNT_TEXT_FLAG_DIM = 1 << 3, GNT_TEXT_FLAG_HIGHLIGHT = 1 << 4
}
 

Functions

G_BEGIN_DECLS GType gnt_text_view_get_gtype (void)
 
GntWidgetgnt_text_view_new (void)
 Create a new textview. More...
 
void gnt_text_view_scroll (GntTextView *view, int scroll)
 Scroll the textview. More...
 
void gnt_text_view_append_text_with_flags (GntTextView *view, const char *text, GntTextFormatFlags flags)
 Append new text in a textview. More...
 
void gnt_text_view_append_text_with_tag (GntTextView *view, const char *text, GntTextFormatFlags flags, const char *tag)
 Append text in the textview, with some identifier (tag) for the added text. More...
 
void gnt_text_view_next_line (GntTextView *view)
 Move the cursor to the beginning of the next line and resets text-attributes. More...
 
chtype gnt_text_format_flag_to_chtype (GntTextFormatFlags flags)
 Convert GNT-text formats to ncurses-text attributes. More...
 
void gnt_text_view_clear (GntTextView *view)
 Clear the contents of the textview. More...
 
int gnt_text_view_get_lines_below (GntTextView *view)
 The number of lines below the bottom-most visible line. More...
 
int gnt_text_view_get_lines_above (GntTextView *view)
 The number of lines above the topmost visible line. More...
 
int gnt_text_view_tag_change (GntTextView *view, const char *name, const char *text, gboolean all)
 Change the text of a tag. More...
 
void gnt_text_view_attach_scroll_widget (GntTextView *view, GntWidget *widget)
 Setup hooks so that pressing up/down/page-up/page-down keys when 'widget' is in focus scrolls the textview. More...
 
void gnt_text_view_attach_pager_widget (GntTextView *view, GntWidget *pager)
 Setup appropriate hooks so that pressing some keys when the 'pager' widget is in focus triggers the PAGER to popup with the contents of the textview in it. More...
 
void gnt_text_view_attach_editor_widget (GntTextView *view, GntWidget *widget)
 Setup appropriate hooks so that pressing some keys when 'widget' is in focus triggers the EDITOR to popup with the contents of the textview in it. More...
 
void gnt_text_view_set_flag (GntTextView *view, GntTextViewFlag flag)
 Set a GntTextViewFlag for the textview widget. More...
 

Detailed Description

Textview API.

Definition in file gnttextview.h.

Function Documentation

chtype gnt_text_format_flag_to_chtype ( GntTextFormatFlags  flags)

Convert GNT-text formats to ncurses-text attributes.

Parameters
flagsThe GNT text format.
Returns
Nucrses text attribute.
void gnt_text_view_append_text_with_flags ( GntTextView view,
const char *  text,
GntTextFormatFlags  flags 
)

Append new text in a textview.

Parameters
viewThe textview.
textThe text to append to the textview.
flagsThe text-flags to apply to the new text.
void gnt_text_view_append_text_with_tag ( GntTextView view,
const char *  text,
GntTextFormatFlags  flags,
const char *  tag 
)

Append text in the textview, with some identifier (tag) for the added text.

Parameters
viewThe textview.
textThe text to append.
flagsThe text-flags to apply to the new text.
tagThe tag for the appended text, so it can be changed later (
See also
gnt_text_view_tag_change)
void gnt_text_view_attach_editor_widget ( GntTextView view,
GntWidget widget 
)

Setup appropriate hooks so that pressing some keys when 'widget' is in focus triggers the EDITOR to popup with the contents of the textview in it.

The default key-combination to trigger the pager is a-e, and the default EDITOR application is $EDITOR. Both can be changed in ~/.gntrc like this:

1 [editor]
2 key = a-e
3 path = /path/to/editor
Parameters
viewThe textview.
widgetThe widget to trigger the EDITOR.
void gnt_text_view_attach_pager_widget ( GntTextView view,
GntWidget pager 
)

Setup appropriate hooks so that pressing some keys when the 'pager' widget is in focus triggers the PAGER to popup with the contents of the textview in it.

The default key-combination to trigger the pager is a-v, and the default PAGER application is $PAGER. Both can be changed in ~/.gntrc like this:

1 [pager]
2 key = a-v
3 path = /path/to/pager
Parameters
viewThe textview.
pagerThe widget to trigger the PAGER.
void gnt_text_view_attach_scroll_widget ( GntTextView view,
GntWidget widget 
)

Setup hooks so that pressing up/down/page-up/page-down keys when 'widget' is in focus scrolls the textview.

Parameters
viewThe textview.
widgetThe trigger widget.
void gnt_text_view_clear ( GntTextView view)

Clear the contents of the textview.

Parameters
viewThe textview.
G_BEGIN_DECLS GType gnt_text_view_get_gtype ( void  )
Returns
GType for GntTextView.
int gnt_text_view_get_lines_above ( GntTextView view)

The number of lines above the topmost visible line.

Parameters
viewThe textview.
Returns
Number of lines above the topmost visible line.
int gnt_text_view_get_lines_below ( GntTextView view)

The number of lines below the bottom-most visible line.

Parameters
viewThe textview.
Returns
Number of lines below the bottom-most visible line.
GntWidget* gnt_text_view_new ( void  )

Create a new textview.

Returns
The newly created textview.
void gnt_text_view_next_line ( GntTextView view)

Move the cursor to the beginning of the next line and resets text-attributes.

It first completes the current line with the current text-attributes.

Parameters
viewThe textview.
void gnt_text_view_scroll ( GntTextView view,
int  scroll 
)

Scroll the textview.

Parameters
viewThe textview to scroll.
scrollscroll > 0 means scroll up, < 0 means scroll down, == 0 means scroll to the end.
void gnt_text_view_set_flag ( GntTextView view,
GntTextViewFlag  flag 
)

Set a GntTextViewFlag for the textview widget.

Parameters
viewThe textview widget
flagThe flag to set
Since
2.0.0 (gnt), 2.1.0 (pidgin)
int gnt_text_view_tag_change ( GntTextView view,
const char *  name,
const char *  text,
gboolean  all 
)

Change the text of a tag.

Parameters
viewThe textview.
nameThe name of the tag.
textThe new text for the text. If 'text' is NULL, the tag is removed.
allTRUE if all of the instancess of the tag should be changed, FALSE if only the first instance should be changed.
Returns
The number of instances changed.