Mercurial > pidgin
annotate finch/libgnt/gntentry.h @ 17053:541c5ed54e90
Fix the commit from earlier today about null-widgets.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 12 May 2007 09:24:10 +0000 |
parents | f00f2e283ffb |
children | 8410511f4dbb |
rev | line source |
---|---|
15817 | 1 #ifndef GNT_ENTRY_H |
2 #define GNT_ENTRY_H | |
3 | |
4 #include "gntwidget.h" | |
5 #include "gnt.h" | |
6 #include "gntcolors.h" | |
7 #include "gntkeys.h" | |
8 | |
9 #define GNT_TYPE_ENTRY (gnt_entry_get_gtype()) | |
10 #define GNT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_ENTRY, GntEntry)) | |
11 #define GNT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_ENTRY, GntEntryClass)) | |
12 #define GNT_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_ENTRY)) | |
13 #define GNT_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_ENTRY)) | |
14 #define GNT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_ENTRY, GntEntryClass)) | |
15 | |
16 #define GNT_ENTRY_FLAGS(obj) (GNT_ENTRY(obj)->priv.flags) | |
17 #define GNT_ENTRY_SET_FLAGS(obj, flags) (GNT_ENTRY_FLAGS(obj) |= flags) | |
18 #define GNT_ENTRY_UNSET_FLAGS(obj, flags) (GNT_ENTRY_FLAGS(obj) &= ~(flags)) | |
19 | |
20 #define ENTRY_CHAR '_' /* The character to use to fill in the blank places */ | |
21 | |
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
22 typedef struct _GntEntry GntEntry; |
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
23 typedef struct _GntEntryPriv GntEntryPriv; |
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
24 typedef struct _GntEntryClass GntEntryClass; |
15817 | 25 |
26 typedef enum | |
27 { | |
28 GNT_ENTRY_FLAG_ALPHA = 1 << 0, /* Only alpha */ | |
29 GNT_ENTRY_FLAG_INT = 1 << 1, /* Only integer */ | |
30 GNT_ENTRY_FLAG_NO_SPACE = 1 << 2, /* No blank space is allowed */ | |
31 GNT_ENTRY_FLAG_NO_PUNCT = 1 << 3, /* No punctuations */ | |
32 GNT_ENTRY_FLAG_MASK = 1 << 4, /* Mask the inputs */ | |
33 } GntEntryFlag; | |
34 | |
35 #define GNT_ENTRY_FLAG_ALL (GNT_ENTRY_FLAG_ALPHA | GNT_ENTRY_FLAG_INT) | |
36 | |
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
37 struct _GntEntry |
15817 | 38 { |
39 GntWidget parent; | |
40 | |
41 GntEntryFlag flag; | |
42 | |
43 char *start; | |
44 char *end; | |
45 char *scroll; /* Current scrolling position */ | |
46 char *cursor; /* Cursor location */ | |
47 /* 0 <= cursor - scroll < widget-width */ | |
48 | |
49 size_t buffer; /* Size of the buffer */ | |
50 | |
51 int max; /* 0 means infinite */ | |
52 gboolean masked; | |
53 | |
54 GList *history; /* History of the strings. User can use this by pressing ctrl+up/down */ | |
55 int histlength; /* How long can the history be? */ | |
56 | |
57 GList *suggests; /* List of suggestions */ | |
58 gboolean word; /* Are the suggestions for only a word, or for the whole thing? */ | |
59 gboolean always; /* Should the list of suggestions show at all times, or only on tab-press? */ | |
60 GntWidget *ddown; /* The dropdown with the suggested list */ | |
61 }; | |
62 | |
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
63 struct _GntEntryClass |
15817 | 64 { |
65 GntWidgetClass parent; | |
66 | |
67 void (*text_changed)(GntEntry *entry); | |
68 void (*gnt_reserved1)(void); | |
69 void (*gnt_reserved2)(void); | |
70 void (*gnt_reserved3)(void); | |
71 void (*gnt_reserved4)(void); | |
72 }; | |
73 | |
74 G_BEGIN_DECLS | |
75 | |
76 GType gnt_entry_get_gtype(void); | |
77 | |
78 GntWidget *gnt_entry_new(const char *text); | |
79 | |
80 void gnt_entry_set_max(GntEntry *entry, int max); | |
81 | |
82 void gnt_entry_set_text(GntEntry *entry, const char *text); | |
83 | |
84 void gnt_entry_set_flag(GntEntry *entry, GntEntryFlag flag); | |
85 | |
86 const char *gnt_entry_get_text(GntEntry *entry); | |
87 | |
88 void gnt_entry_clear(GntEntry *entry); | |
89 | |
90 void gnt_entry_set_masked(GntEntry *entry, gboolean set); | |
91 | |
92 void gnt_entry_add_to_history(GntEntry *entry, const char *text); | |
93 | |
94 void gnt_entry_set_history_length(GntEntry *entry, int num); | |
95 | |
96 void gnt_entry_set_word_suggest(GntEntry *entry, gboolean word); | |
97 | |
98 void gnt_entry_set_always_suggest(GntEntry *entry, gboolean always); | |
99 | |
100 void gnt_entry_add_suggest(GntEntry *entry, const char *text); | |
101 | |
102 void gnt_entry_remove_suggest(GntEntry *entry, const char *text); | |
103 | |
104 G_END_DECLS | |
105 | |
106 #endif /* GNT_ENTRY_H */ |