X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcellrenderer.h;h=8948e64c56751d14586eea8ece13d0d53526786e;hb=d97861bd8b338c3d25d7ffb5496edee9eee9bfbb;hp=cad58df2a4feb0107eaafa53f8fe7fc22d286d45;hpb=6cfd907290e699a9cea371259aa82519982d002f;p=~andy%2Fgtk diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index cad58df2a..8948e64c5 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -12,18 +12,16 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ +#ifndef __GTK_CELL_RENDERER_H__ +#define __GTK_CELL_RENDERER_H__ + #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) #error "Only can be included directly." #endif -#ifndef __GTK_CELL_RENDERER_H__ -#define __GTK_CELL_RENDERER_H__ - #include G_BEGIN_DECLS @@ -37,8 +35,10 @@ G_BEGIN_DECLS * @GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner * @GTK_CELL_RENDERER_SORTED: The cell is in a sorted row * @GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row. + * @GTK_CELL_RENDERER_EXPANDABLE: The cell is in a row that can be expanded. Since 3.4 + * @GTK_CELL_RENDERER_EXPANDED: The cell is in a row that is expanded. Since 3.4 * - * Tells how a cell is to be rendererd. + * Tells how a cell is to be rendered. */ typedef enum { @@ -47,7 +47,9 @@ typedef enum GTK_CELL_RENDERER_INSENSITIVE = 1 << 2, /* this flag means the cell is in the sort column/row */ GTK_CELL_RENDERER_SORTED = 1 << 3, - GTK_CELL_RENDERER_FOCUSED = 1 << 4 + GTK_CELL_RENDERER_FOCUSED = 1 << 4, + GTK_CELL_RENDERER_EXPANDABLE = 1 << 5, + GTK_CELL_RENDERER_EXPANDED = 1 << 6 } GtkCellRendererState; /** @@ -78,6 +80,7 @@ typedef enum typedef struct _GtkCellRenderer GtkCellRenderer; typedef struct _GtkCellRendererPrivate GtkCellRendererPrivate; typedef struct _GtkCellRendererClass GtkCellRendererClass; +typedef struct _GtkCellRendererClassPrivate GtkCellRendererClassPrivate; struct _GtkCellRenderer { @@ -111,6 +114,11 @@ struct _GtkCellRendererClass gint height, gint *minimum_width, gint *natural_width); + void (* get_aligned_area) (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); void (* get_size) (GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area, @@ -145,8 +153,9 @@ struct _GtkCellRendererClass GtkCellEditable *editable, const gchar *path); + GtkCellRendererClassPrivate *priv; + /* Padding for future expansion */ - void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); @@ -177,15 +186,20 @@ void gtk_cell_renderer_get_preferred_size (GtkCellRend GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size); -#ifndef GTK_DISABLE_DEPRECATED +void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); + +GDK_DEPRECATED_IN_3_0_FOR(gtk_cell_renderer_get_preferred_size) void gtk_cell_renderer_get_size (GtkCellRenderer *cell, - GtkWidget *widget, - const GdkRectangle *cell_area, - gint *x_offset, - gint *y_offset, - gint *width, - gint *height); -#endif + GtkWidget *widget, + const GdkRectangle *cell_area, + gint *x_offset, + gint *y_offset, + gint *width, + gint *height); void gtk_cell_renderer_render (GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget, @@ -236,18 +250,30 @@ void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell, gboolean sensitive); gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell); +gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell); + /* For use by cell renderer implementations only */ void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, gboolean canceled); void _gtk_cell_renderer_calc_offset (GtkCellRenderer *cell, - const GdkRectangle *cell_area, - GtkTextDirection direction, - gint width, - gint height, - gint *x_offset, - gint *y_offset); + const GdkRectangle *cell_area, + GtkTextDirection direction, + gint width, + gint height, + gint *x_offset, + gint *y_offset); + +GtkStateFlags gtk_cell_renderer_get_state (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState cell_state); + +void gtk_cell_renderer_class_set_accessible_type + (GtkCellRendererClass *renderer_class, + GType type); +GType _gtk_cell_renderer_get_accessible_type + (GtkCellRenderer * renderer); G_END_DECLS