source: trunk/third/gtk/gtk/gtkentry.h @ 14482

Revision 14482, 3.7 KB checked in by ghudson, 25 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14481, which included commits to RCS files with non-trunk default branches.
RevLine 
[14481]1/* GTK - The GIMP Toolkit
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 */
19
20/*
21 * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
22 * file for a list of people on the GTK+ Team.  See the ChangeLog
23 * files for a list of changes.  These files are distributed with
24 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25 */
26
27#ifndef __GTK_ENTRY_H__
28#define __GTK_ENTRY_H__
29
30
31#include <gdk/gdk.h>
32#include <gtk/gtkeditable.h>
33
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39
40#define GTK_TYPE_ENTRY                  (gtk_entry_get_type ())
41#define GTK_ENTRY(obj)                  (GTK_CHECK_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
42#define GTK_ENTRY_CLASS(klass)          (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ENTRY, GtkEntryClass))
43#define GTK_IS_ENTRY(obj)               (GTK_CHECK_TYPE ((obj), GTK_TYPE_ENTRY))
44#define GTK_IS_ENTRY_CLASS(klass)       (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY))
45
46
47typedef struct _GtkEntry       GtkEntry;
48typedef struct _GtkEntryClass  GtkEntryClass;
49
50struct _GtkEntry
51{
52  GtkEditable editable;
53
54  GdkWindow *text_area;
55  GdkPixmap *backing_pixmap;
56  GdkCursor *cursor;
57  GdkWChar  *text;
58
59  guint16 text_size;    /* allocated size */
60  guint16 text_length;  /* length in use */
61  guint16 text_max_length;
62  gint    scroll_offset;
63  guint   visible : 1;  /* deprecated - see editable->visible */
64  guint32 timer;
65  guint   button;
66
67  /* The x-offset of each character (including the last insertion position)
68   * only valid when the widget is realized */
69  gint   *char_offset;
70
71  /* Same as 'text', but in multibyte */
72  gchar  *text_mb;
73  /* If true, 'text' and 'text_mb' are not coherent */
74  guint   text_mb_dirty : 1;
75  /* If true, we use the encoding of wchar_t as the encoding of 'text'.
76   * Otherwise we use the encoding of multi-byte characters instead. */
77  guint   use_wchar : 1;
78};
79
80struct _GtkEntryClass
81{
82  GtkEditableClass parent_class;
83};
84
85GtkType    gtk_entry_get_type                   (void);
86GtkWidget* gtk_entry_new                        (void);
87GtkWidget* gtk_entry_new_with_max_length        (guint16       max);
88void       gtk_entry_set_text                   (GtkEntry      *entry,
89                                                 const gchar   *text);
90void       gtk_entry_append_text                (GtkEntry      *entry,
91                                                 const gchar   *text);
92void       gtk_entry_prepend_text               (GtkEntry      *entry,
93                                                 const gchar   *text);
94void       gtk_entry_set_position               (GtkEntry      *entry,
95                                                 gint           position);
96/* returns a reference to the text */
97gchar*     gtk_entry_get_text                   (GtkEntry      *entry);
98void       gtk_entry_select_region              (GtkEntry      *entry,
99                                                 gint           start,
100                                                 gint           end);
101void       gtk_entry_set_visibility             (GtkEntry      *entry,
102                                                 gboolean       visible);
103void       gtk_entry_set_editable               (GtkEntry      *entry,
104                                                 gboolean       editable);
105/* text is truncated if needed */
106void       gtk_entry_set_max_length             (GtkEntry      *entry,
107                                                 guint16        max);
108
109#ifdef __cplusplus
110}
111#endif /* __cplusplus */
112
113
114#endif /* __GTK_ENTRY_H__ */
Note: See TracBrowser for help on using the repository browser.