]> Pileus Git - ~andy/gtk/blob - gtk/gtkcellrenderertext.h
gtk/gtkcellrenderertext.h gtk/gtkentry.[ch] gtk/gtkimcontext.h
[~andy/gtk] / gtk / gtkcellrenderertext.h
1 /* gtkcellrenderertext.h
2  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
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 #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
21 #error "Only <gtk/gtk.h> can be included directly."
22 #endif
23
24 #ifndef __GTK_CELL_RENDERER_TEXT_H__
25 #define __GTK_CELL_RENDERER_TEXT_H__
26
27
28 #include <gtk/gtkcellrenderer.h>
29
30
31 G_BEGIN_DECLS
32
33
34 #define GTK_TYPE_CELL_RENDERER_TEXT             (gtk_cell_renderer_text_get_type ())
35 #define GTK_CELL_RENDERER_TEXT(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererText))
36 #define GTK_CELL_RENDERER_TEXT_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass))
37 #define GTK_IS_CELL_RENDERER_TEXT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_TEXT))
38 #define GTK_IS_CELL_RENDERER_TEXT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER_TEXT))
39 #define GTK_CELL_RENDERER_TEXT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass))
40
41 typedef struct _GtkCellRendererText      GtkCellRendererText;
42 typedef struct _GtkCellRendererTextClass GtkCellRendererTextClass;
43
44 struct _GtkCellRendererText
45 {
46   GtkCellRenderer parent;
47
48   /*< private >*/
49   gchar *GSEAL (text);
50   PangoFontDescription *GSEAL (font);
51   gdouble GSEAL (font_scale);
52   PangoColor GSEAL (foreground);
53   PangoColor GSEAL (background);
54
55   PangoAttrList *GSEAL (extra_attrs);
56
57   PangoUnderline GSEAL (underline_style);
58
59   gint GSEAL (rise);
60   gint GSEAL (fixed_height_rows);
61
62   guint GSEAL (strikethrough) : 1;
63
64   guint GSEAL (editable)  : 1;
65
66   guint GSEAL (scale_set) : 1;
67
68   guint GSEAL (foreground_set) : 1;
69   guint GSEAL (background_set) : 1;
70
71   guint GSEAL (underline_set) : 1;
72
73   guint GSEAL (rise_set) : 1;
74
75   guint GSEAL (strikethrough_set) : 1;
76
77   guint GSEAL (editable_set) : 1;
78   guint GSEAL (calc_fixed_height) : 1;
79 };
80
81 struct _GtkCellRendererTextClass
82 {
83   GtkCellRendererClass parent_class;
84
85   void (* edited) (GtkCellRendererText *cell_renderer_text,
86                    const gchar         *path,
87                    const gchar         *new_text);
88
89   /* Padding for future expansion */
90   void (*_gtk_reserved1) (void);
91   void (*_gtk_reserved2) (void);
92   void (*_gtk_reserved3) (void);
93   void (*_gtk_reserved4) (void);
94 };
95
96 GType            gtk_cell_renderer_text_get_type (void) G_GNUC_CONST;
97 GtkCellRenderer *gtk_cell_renderer_text_new      (void);
98
99 void             gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
100                                                                     gint                 number_of_rows);
101
102
103 G_END_DECLS
104
105 #endif /* __GTK_CELL_RENDERER_TEXT_H__ */