[gtk+/treeview-refactor] Fixed some background area related bugs in CellAreaScaffold, cleanup testcellarea
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/treeview-refactor] Fixed some background area related bugs in CellAreaScaffold, cleanup testcellarea
- Date: Sat, 13 Nov 2010 06:05:27 +0000 (UTC)
commit e7c4ede64c1ad29a83cd0900c0e4e128ed39f2ec
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Sat Nov 13 15:09:36 2010 +0900
Fixed some background area related bugs in CellAreaScaffold, cleanup testcellarea
tests/cellareascaffold.c | 10 ++++----
tests/testcellarea.c | 50 ++++++++++++++++++++++++++++++---------------
2 files changed, 38 insertions(+), 22 deletions(-)
---
diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c
index 32a07e1..f29f169 100644
--- a/tests/cellareascaffold.c
+++ b/tests/cellareascaffold.c
@@ -499,7 +499,7 @@ cell_area_scaffold_draw (GtkWidget *widget,
{
render_area.width = data->size;
- background_area.width = render_area.height;
+ background_area.width = render_area.width;
background_area.x = render_area.x;
if (i == 0)
@@ -649,13 +649,13 @@ cell_area_scaffold_size_allocate (GtkWidget *widget,
/* Cache the per-row sizes and allocate the iter */
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
- gtk_cell_area_iter_allocate_width (priv->iter, allocation->width);
- get_row_sizes (scaffold, priv->row_data, allocation->width);
+ gtk_cell_area_iter_allocate_width (priv->iter, allocation->width - priv->indent);
+ get_row_sizes (scaffold, priv->row_data, allocation->width - priv->indent);
}
else
{
- gtk_cell_area_iter_allocate_height (priv->iter, allocation->height);
- get_row_sizes (scaffold, priv->row_data, allocation->height);
+ gtk_cell_area_iter_allocate_height (priv->iter, allocation->height - priv->indent);
+ get_row_sizes (scaffold, priv->row_data, allocation->height - priv->indent);
}
}
diff --git a/tests/testcellarea.c b/tests/testcellarea.c
index b933a92..e0fd00e 100644
--- a/tests/testcellarea.c
+++ b/tests/testcellarea.c
@@ -27,15 +27,11 @@ simple_list_model (void)
gtk_list_store_set (store, &iter,
SIMPLE_COLUMN_NAME, "Alice in wonderland",
SIMPLE_COLUMN_ICON, "gtk-execute",
- SIMPLE_COLUMN_DESCRIPTION, "One pill makes you smaller and the other pill makes you tall",
- -1);
-
- gtk_list_store_append (store, &iter);
- gtk_list_store_set (store, &iter,
- SIMPLE_COLUMN_NAME, "Highschool Principal",
- SIMPLE_COLUMN_ICON, "gtk-help",
SIMPLE_COLUMN_DESCRIPTION,
- "Will make you copy the dictionary if you dont like your math teacher",
+ "Twas brillig, and the slithy toves "
+ "did gyre and gimble in the wabe; "
+ "all mimsy were the borogoves, "
+ "and the mome raths outgrabe",
-1);
gtk_list_store_append (store, &iter);
@@ -49,8 +45,8 @@ simple_list_model (void)
gtk_list_store_set (store, &iter,
SIMPLE_COLUMN_NAME, "George Bush",
SIMPLE_COLUMN_ICON, "gtk-dialog-warning",
- SIMPLE_COLUMN_DESCRIPTION, "Please hide your nuclear weapons when inviting "
- "him to dinner",
+ SIMPLE_COLUMN_DESCRIPTION, "It's a very good question, very direct, "
+ "and I'm not going to answer it",
-1);
gtk_list_store_append (store, &iter);
@@ -61,6 +57,24 @@ simple_list_model (void)
"is tiggers are wonderful things",
-1);
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ SIMPLE_COLUMN_NAME, "Aleister Crowley",
+ SIMPLE_COLUMN_ICON, "gtk-about",
+ SIMPLE_COLUMN_DESCRIPTION,
+ "Thou shalt do what thou wilt shall be the whole of the law",
+ -1);
+
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ SIMPLE_COLUMN_NAME, "Mark Twain",
+ SIMPLE_COLUMN_ICON, "gtk-quit",
+ SIMPLE_COLUMN_DESCRIPTION,
+ "Giving up smoking is the easiest thing in the world. "
+ "I know because I've done it thousands of times.",
+ -1);
+
+
return (GtkTreeModel *)store;
}
@@ -327,7 +341,7 @@ cell_edited (GtkCellRendererToggle *cell_renderer,
}
static GtkWidget *
-focus_scaffold (gboolean color_bg)
+focus_scaffold (gboolean color_bg, GtkCellRenderer **focus, GtkCellRenderer **sibling)
{
GtkTreeModel *model;
GtkWidget *scaffold;
@@ -361,8 +375,9 @@ focus_scaffold (gboolean color_bg)
if (color_bg)
g_object_set (G_OBJECT (renderer), "cell-background", "green", NULL);
- else
- focus_renderer = renderer;
+
+ if (focus)
+ *focus = renderer;
g_signal_connect (G_OBJECT (renderer), "toggled",
G_CALLBACK (cell_toggled), scaffold);
@@ -375,8 +390,9 @@ focus_scaffold (gboolean color_bg)
if (color_bg)
g_object_set (G_OBJECT (renderer), "cell-background", "blue", NULL);
- else
- sibling_renderer = renderer;
+
+ if (sibling)
+ *sibling = renderer;
gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE);
gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT);
@@ -414,7 +430,7 @@ focus_cell_area (void)
gtk_window_set_title (GTK_WINDOW (window), "Focus and editable cells");
- scaffold = focus_scaffold (FALSE);
+ scaffold = focus_scaffold (FALSE, &focus_renderer, &sibling_renderer);
frame = gtk_frame_new (NULL);
gtk_widget_show (frame);
@@ -535,7 +551,7 @@ background_area (void)
gtk_widget_show (label);
gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
- scaffold = focus_scaffold (TRUE);
+ scaffold = focus_scaffold (TRUE, NULL, NULL);
frame = gtk_frame_new (NULL);
gtk_widget_show (frame);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]