finch/libgnt/gnttextview.h

Wed, 02 May 2007 15:38:14 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Wed, 02 May 2007 15:38:14 +0000
changeset 16837
d3b8ba967fdc
parent 16186
73cb5b43aaf9
child 17586
5beb8d987e84
child 18068
b6554e3c8224
permissions
-rw-r--r--

Fix context menu unusualness in the buddylist.

13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1 #ifndef GNT_TEXT_VIEW_H
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
2 #define GNT_TEXT_VIEW_H
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
3
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
4 #include "gntwidget.h"
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
5 #include "gnt.h"
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
6 #include "gntcolors.h"
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
7 #include "gntkeys.h"
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
8
15991
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
9 #define GNT_TYPE_TEXT_VIEW (gnt_text_view_get_gtype())
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
10 #define GNT_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_TEXT_VIEW, GntTextView))
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
11 #define GNT_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_TEXT_VIEW, GntTextViewClass))
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
12 #define GNT_IS_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_TEXT_VIEW))
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
13 #define GNT_IS_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_TEXT_VIEW))
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
14 #define GNT_TEXT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_TEXT_VIEW, GntTextViewClass))
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
15
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
16 #define GNT_TEXT_VIEW_FLAGS(obj) (GNT_TEXT_VIEW(obj)->priv.flags)
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
17 #define GNT_TEXT_VIEW_SET_FLAGS(obj, flags) (GNT_TEXT_VIEW_FLAGS(obj) |= flags)
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
18 #define GNT_TEXT_VIEW_UNSET_FLAGS(obj, flags) (GNT_TEXT_VIEW_FLAGS(obj) &= ~(flags))
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
19
15991
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
20 typedef struct _GntTextView GntTextView;
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
21 typedef struct _GntTextViewPriv GntTextViewPriv;
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
22 typedef struct _GntTextViewClass GntTextViewClass;
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
23
15991
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
24 struct _GntTextView
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
25 {
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
26 GntWidget parent;
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27
14445
69f18df58bbf [gaim-migrate @ 17089]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14092
diff changeset
28 GString *string;
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
29 GList *list; /* List of GntTextLine */
15233
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
30
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
31 GList *tags; /* A list of tags */
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32 };
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
33
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34 typedef enum
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 {
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14014
diff changeset
36 GNT_TEXT_FLAG_NORMAL = 0,
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 GNT_TEXT_FLAG_BOLD = 1 << 0,
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38 GNT_TEXT_FLAG_UNDERLINE = 1 << 1,
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 GNT_TEXT_FLAG_BLINK = 1 << 2,
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
40 GNT_TEXT_FLAG_DIM = 1 << 3,
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
41 GNT_TEXT_FLAG_HIGHLIGHT = 1 << 4,
13993
8c12e7d15b40 [gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
42 } GntTextFormatFlags;
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
43
15991
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
44 struct _GntTextViewClass
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45 {
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 GntWidgetClass parent;
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
48 void (*gnt_reserved1)(void);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49 void (*gnt_reserved2)(void);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 void (*gnt_reserved3)(void);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51 void (*gnt_reserved4)(void);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52 };
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
53
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
54 G_BEGIN_DECLS
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
55
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
56 GType gnt_text_view_get_gtype(void);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
58 /* XXX: For now, don't set a textview to have any border.
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
59 * If you want borders real bad, put it in a box. */
15874
46df7421a1b5 Enable DEBUG_CFLAGS in libgnt and fix up a number of compile warnings and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15233
diff changeset
60 GntWidget *gnt_text_view_new(void);
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62 /* scroll > 0 means scroll up, < 0 means scroll down, == 0 means scroll to the end */
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63 void gnt_text_view_scroll(GntTextView *view, int scroll);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
64
13993
8c12e7d15b40 [gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
65 void gnt_text_view_append_text_with_flags(GntTextView *view, const char *text, GntTextFormatFlags flags);
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
66
15233
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
67 void gnt_text_view_append_text_with_tag(GntTextView *view, const char *text, GntTextFormatFlags flags, const char *tag);
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
68
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
69 /* Move the cursor to the beginning of the next line and resets text-attributes.
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
70 * It first completes the current line with the current text-attributes. */
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
71 void gnt_text_view_next_line(GntTextView *view);
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
72
14014
223d99ce2f06 [gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13993
diff changeset
73 chtype gnt_text_format_flag_to_chtype(GntTextFormatFlags flags);
223d99ce2f06 [gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13993
diff changeset
74
14033
127990de806d [gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
75 void gnt_text_view_clear(GntTextView *view);
127990de806d [gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
76
14092
191e12cbe464 [gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14033
diff changeset
77 int gnt_text_view_get_lines_below(GntTextView *view);
191e12cbe464 [gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14033
diff changeset
78
191e12cbe464 [gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14033
diff changeset
79 int gnt_text_view_get_lines_above(GntTextView *view);
191e12cbe464 [gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14033
diff changeset
80
15233
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
81 /* If text is NULL, then the tag is removed. */
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
82 int gnt_text_view_tag_change(GntTextView *view, const char *name, const char *text, gboolean all);
fdd9e78534ad [gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14939
diff changeset
83
16186
73cb5b43aaf9 Add a utility function to assist scrolling in a textview.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15991
diff changeset
84 void gnt_text_view_attach_scroll_widget(GntTextView *view, GntWidget *widget);
73cb5b43aaf9 Add a utility function to assist scrolling in a textview.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15991
diff changeset
85
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
86 G_END_DECLS
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
87
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
88 #endif /* GNT_TEXT_VIEW_H */

mercurial