]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcellrenderertext.h
Use the correct screen for getting the height. (Fix from Stephen Browne,
[~andy/gtk] / gtk / gtkcellrenderertext.h
index fd906a3350a0bff6a5e6180661ddc49f347da235..a5107f036980834494effa6581a4410c40c412ad 100644 (file)
@@ -29,10 +29,11 @@ extern "C" {
 
 
 #define GTK_TYPE_CELL_RENDERER_TEXT            (gtk_cell_renderer_text_get_type ())
-#define GTK_CELL_RENDERER_TEXT(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererText))
-#define GTK_CELL_RENDERER_TEXT_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass))
-#define GTK_IS_CELL_RENDERER_TEXT(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_CELL_RENDERER_TEXT))
-#define GTK_IS_CELL_RENDERER_TEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_CELL_RENDERER_TEXT))
+#define GTK_CELL_RENDERER_TEXT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererText))
+#define GTK_CELL_RENDERER_TEXT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass))
+#define GTK_IS_CELL_RENDERER_TEXT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER_TEXT))
+#define GTK_IS_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER_TEXT))
+#define GTK_CELL_RENDERER_TEXT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass))
 
 typedef struct _GtkCellRendererText      GtkCellRendererText;
 typedef struct _GtkCellRendererTextClass GtkCellRendererTextClass;
@@ -43,7 +44,8 @@ struct _GtkCellRendererText
 
   /*< private >*/
   gchar *text;
-  PangoFontDescription font;
+  PangoFontDescription *font;
+  gdouble font_scale;
   PangoColor foreground;
   PangoColor background;
   
@@ -52,20 +54,14 @@ struct _GtkCellRendererText
   PangoUnderline underline_style;
 
   gint rise;
-  
+  gint fixed_height_rows;
+
   guint strikethrough : 1;
 
-  /* editable feature doesn't work */
   guint editable  : 1;
 
-  /* font elements set */
-  guint family_set : 1;
-  guint style_set : 1;
-  guint variant_set : 1;
-  guint weight_set : 1;
-  guint stretch_set : 1;
-  guint size_set : 1;
-
+  guint scale_set : 1;
+  
   guint foreground_set : 1;
   guint background_set : 1;
   
@@ -76,16 +72,31 @@ struct _GtkCellRendererText
   guint strikethrough_set : 1;
 
   guint editable_set : 1;
+  guint calc_fixed_height : 1;
 };
 
 struct _GtkCellRendererTextClass
 {
   GtkCellRendererClass parent_class;
+
+  void (* edited) (GtkCellRendererText *cell_renderer_text,
+                  const gchar         *path,
+                  const gchar         *new_text);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
 
-GtkType          gtk_cell_renderer_text_get_type (void);
+GType            gtk_cell_renderer_text_get_type (void);
 GtkCellRenderer *gtk_cell_renderer_text_new      (void);
 
+void             gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
+                                                                   gint                 number_of_rows);
+
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */