summaryrefslogtreecommitdiff
path: root/gtk/gtkcellarea.h
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-10-24 15:44:48 +0900
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-10-24 15:44:48 +0900
commit45e42ca2d2689499a4ae4e0b8fea9f36878b70e9 (patch)
tree0953dbde4a5a3545f7b93562925835dc296a14cf /gtk/gtkcellarea.h
parent741d10ca4fcb835e134a4ab84c7833dd2577b2c5 (diff)
downloadgtk+-45e42ca2d2689499a4ae4e0b8fea9f36878b70e9.tar.gz
Implemented remaining portions of GtkCellLayout iface
Now GtkCellArea provides a generic way of applying attributes from a GtkTreeModel/GtkTreeIter, GtkCellArea bookkeeps a hashtable of GtkCellLayoutDataFunc's and completely abstracts the applying of data to cells... GtkCellArea implementations need only to bookkeep the added renderers and attributes (probably we can abstract the attribute bookkeeping in the base class as well). Things starting to take a good and practical shape.
Diffstat (limited to 'gtk/gtkcellarea.h')
-rw-r--r--gtk/gtkcellarea.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h
index 5da27720d9..073f76a2d1 100644
--- a/gtk/gtkcellarea.h
+++ b/gtk/gtkcellarea.h
@@ -30,6 +30,7 @@
#include <gtk/gtkcellrenderer.h>
#include <gtk/gtkwidget.h>
+#include <gtk/gtktreemodel.h>
G_BEGIN_DECLS
@@ -42,6 +43,7 @@ G_BEGIN_DECLS
typedef struct _GtkCellArea GtkCellArea;
typedef struct _GtkCellAreaClass GtkCellAreaClass;
+typedef struct _GtkCellAreaPrivate GtkCellAreaPrivate;
/**
@@ -58,7 +60,6 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer,
/**
* GtkCellAttributeCallback:
- * @area: the #GtkCellArea containing @renderer
* @renderer: the #GtkCellRenderer that has an attribute
* @attribute: the property attributed to @id
* @id: the identifier of this attributed value
@@ -68,8 +69,7 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer,
* attributes of the cell renderers in a #GtkCellArea,
* see gtk_cell_area_attribute_forall().
*/
-typedef void (*GtkCellAttributeCallback) (GtkCellArea *area,
- GtkCellRenderer *renderer,
+typedef void (*GtkCellAttributeCallback) (GtkCellRenderer *renderer,
const gchar *attribute,
gint id,
gpointer data);
@@ -79,6 +79,7 @@ struct _GtkCellArea
{
GInitiallyUnowned parent_instance;
+ GtkCellAreaPrivate *priv;
};
struct _GtkCellAreaClass
@@ -113,9 +114,6 @@ struct _GtkCellAreaClass
GtkCellRenderer *renderer,
const gchar *attribute,
gint id);
- void (* attribute_apply) (GtkCellArea *area,
- gint id,
- GValue *value);
void (* attribute_forall) (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellAttributeCallback callback,
@@ -182,9 +180,6 @@ void gtk_cell_area_attribute_disconnect (GtkCellArea
GtkCellRenderer *renderer,
const gchar *attribute,
gint id);
-void gtk_cell_area_attribute_apply (GtkCellArea *area,
- gint id,
- GValue *value);
void gtk_cell_area_attribute_forall (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellAttributeCallback callback,
@@ -212,6 +207,12 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea
gint *natural_width);
+/* Following apis are not class virtual methods */
+void gtk_cell_area_apply_attributes (GtkCellArea *area,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+
+
G_END_DECLS
#endif /* __GTK_CELL_AREA_H__ */