OSDN Git Service

import 0.9.3
[handbrake-jp/handbrake-jp.git] / gtk / src / ghbcellrenderertext.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 #ifndef __GHB_CELL_RENDERER_TEXT_H__
21 #define __GHB_CELL_RENDERER_TEXT_H__
22
23 #include <pango/pango.h>
24 #include <gtk/gtkcellrenderer.h>
25
26
27 G_BEGIN_DECLS
28
29
30 #define GHB_TYPE_CELL_RENDERER_TEXT             (ghb_cell_renderer_text_get_type ())
31 #define GHB_CELL_RENDERER_TEXT(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GHB_TYPE_CELL_RENDERER_TEXT, GhbCellRendererText))
32 #define GHB_CELL_RENDERER_TEXT_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GHB_TYPE_CELL_RENDERER_TEXT, GhbCellRendererTextClass))
33 #define GHB_IS_CELL_RENDERER_TEXT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GHB_TYPE_CELL_RENDERER_TEXT))
34 #define GHB_IS_CELL_RENDERER_TEXT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GHB_TYPE_CELL_RENDERER_TEXT))
35 #define GHB_CELL_RENDERER_TEXT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GHB_TYPE_CELL_RENDERER_TEXT, GhbCellRendererTextClass))
36
37 typedef struct _GhbCellRendererText      GhbCellRendererText;
38 typedef struct _GhbCellRendererTextClass GhbCellRendererTextClass;
39
40 struct _GhbCellRendererText
41 {
42   GtkCellRenderer parent;
43
44   /*< private >*/
45   gchar *text;
46   PangoFontDescription *font;
47   gdouble font_scale;
48   PangoColor foreground;
49   PangoColor background;
50   
51   PangoAttrList *extra_attrs;
52
53   PangoUnderline underline_style;
54
55   gint rise;
56   gint fixed_height_rows;
57
58   guint strikethrough : 1;
59
60   guint editable  : 1;
61
62   guint scale_set : 1;
63   
64   guint foreground_set : 1;
65   guint background_set : 1;
66   
67   guint underline_set : 1;
68
69   guint rise_set : 1;
70   
71   guint strikethrough_set : 1;
72
73   guint editable_set : 1;
74   guint calc_fixed_height : 1;
75 };
76
77 struct _GhbCellRendererTextClass
78 {
79   GtkCellRendererClass parent_class;
80
81   void (* edited) (GhbCellRendererText *cell_renderer_text,
82                    const gchar         *path,
83                    const gchar         *new_text);
84
85   gboolean (* keypress) (GhbCellRendererText *cell_renderer_text,
86                    GdkEventKey *event);
87
88   /* Padding for future expansion */
89   void (*_gtk_reserved1) (void);
90   void (*_gtk_reserved2) (void);
91   void (*_gtk_reserved3) (void);
92   void (*_gtk_reserved4) (void);
93 };
94
95 GType            ghb_cell_renderer_text_get_type (void) G_GNUC_CONST;
96 GtkCellRenderer *ghb_cell_renderer_text_new      (void);
97
98 void             ghb_cell_renderer_text_set_fixed_height_from_font (GhbCellRendererText *renderer,
99                                                                     gint                 number_of_rows);
100
101
102 G_END_DECLS
103
104
105 #endif /* __GHB_CELL_RENDERER_TEXT_H__ */