summaryrefslogtreecommitdiff
path: root/gtk/gtktreeviewcolumn.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-07-13 21:26:19 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-07-13 21:26:19 +0000
commit754c15ede1bb53e5aaa26ef71e3b3513fc5ca3fe (patch)
tree5194caf514cb06203a8937935ef2febdfe9feb94 /gtk/gtktreeviewcolumn.c
parentfa349466ec7697db58dae473f4c09d18ed611498 (diff)
downloadgdk-pixbuf-754c15ede1bb53e5aaa26ef71e3b3513fc5ca3fe.tar.gz
Make this work in RTL context.
2004-07-13 Matthias Clasen <mclasen@redhat.com> * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes): Make this work in RTL context.
Diffstat (limited to 'gtk/gtktreeviewcolumn.c')
-rw-r--r--gtk/gtktreeviewcolumn.c42
1 files changed, 27 insertions, 15 deletions
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index f9dc5067a..228122c0b 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -2677,7 +2677,7 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
real_cell_area.x += focus_line_width;
- /* Find out how many extra space we have to allocate */
+ /* Find out how much extra space we have to allocate */
for (list = tree_column->cell_list; list; list = list->next)
{
GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *)list->data;
@@ -2813,8 +2813,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
event,
tree_column->tree_view,
path_string,
- background_area,
- cell_area,
+ &rtl_background_area,
+ &rtl_cell_area,
flags))
{
flags &= ~GTK_CELL_RENDERER_FOCUSED;
@@ -2828,8 +2828,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
event,
tree_column->tree_view,
path_string,
- background_area,
- cell_area,
+ &rtl_background_area,
+ &rtl_cell_area,
flags);
if (*editable_widget != NULL)
@@ -2967,8 +2967,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
event,
tree_column->tree_view,
path_string,
- background_area,
- cell_area,
+ &rtl_background_area,
+ &rtl_cell_area,
flags))
{
flags &= ~GTK_CELL_RENDERER_FOCUSED;
@@ -2982,8 +2982,8 @@ gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column,
event,
tree_column->tree_view,
path_string,
- background_area,
- cell_area,
+ &rtl_background_area,
+ &rtl_cell_area,
flags);
if (*editable_widget != NULL)
@@ -3492,10 +3492,22 @@ _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column,
gint *right)
{
GList *list;
+ gint *rtl_left, *rtl_right;
- if (left)
+ if (gtk_widget_get_direction (GTK_WIDGET (column->tree_view)) == GTK_TEXT_DIR_RTL)
{
- *left = 0;
+ rtl_left = right;
+ rtl_right = left;
+ }
+ else
+ {
+ rtl_left = left;
+ rtl_right = right;
+ }
+
+ if (rtl_left)
+ {
+ *rtl_left = 0;
list = gtk_tree_view_column_cell_first (column);
for (; list; list = gtk_tree_view_column_cell_next (column, list))
@@ -3507,15 +3519,15 @@ _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column,
break;
if (info->cell->visible)
- *left += info->real_width;
+ *rtl_left += info->real_width;
}
}
- if (right)
+ if (rtl_right)
{
GList *next;
- *right = 0;
+ *rtl_right = 0;
list = gtk_tree_view_column_cell_first (column);
for (; list; list = gtk_tree_view_column_cell_next (column, list))
@@ -3538,7 +3550,7 @@ _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column,
(GtkTreeViewColumnCellInfo *)list->data;
if (info->cell->visible)
- *right += info->real_width;
+ *rtl_right += info->real_width;
}
}
}