Add API to get x position of treeview columns
Their width was already available.
This commit is contained in:
		@ -3278,6 +3278,7 @@ gtk_tree_view_column_get_type
 | 
				
			|||||||
gtk_tree_view_column_get_visible
 | 
					gtk_tree_view_column_get_visible
 | 
				
			||||||
gtk_tree_view_column_get_widget
 | 
					gtk_tree_view_column_get_widget
 | 
				
			||||||
gtk_tree_view_column_get_width
 | 
					gtk_tree_view_column_get_width
 | 
				
			||||||
 | 
					gtk_tree_view_column_get_x_offset
 | 
				
			||||||
gtk_tree_view_column_new
 | 
					gtk_tree_view_column_new
 | 
				
			||||||
gtk_tree_view_column_new_with_area
 | 
					gtk_tree_view_column_new_with_area
 | 
				
			||||||
gtk_tree_view_column_new_with_attributes
 | 
					gtk_tree_view_column_new_with_attributes
 | 
				
			||||||
 | 
				
			|||||||
@ -142,6 +142,7 @@ struct _GtkTreeViewColumnPrivate
 | 
				
			|||||||
  GtkTreeViewColumnSizing column_type;
 | 
					  GtkTreeViewColumnSizing column_type;
 | 
				
			||||||
  gint padding;
 | 
					  gint padding;
 | 
				
			||||||
  gint resized_width;
 | 
					  gint resized_width;
 | 
				
			||||||
 | 
					  gint x_offset;
 | 
				
			||||||
  gint width;
 | 
					  gint width;
 | 
				
			||||||
  gint fixed_width;
 | 
					  gint fixed_width;
 | 
				
			||||||
  gint min_width;
 | 
					  gint min_width;
 | 
				
			||||||
@ -183,6 +184,7 @@ enum
 | 
				
			|||||||
  PROP_0,
 | 
					  PROP_0,
 | 
				
			||||||
  PROP_VISIBLE,
 | 
					  PROP_VISIBLE,
 | 
				
			||||||
  PROP_RESIZABLE,
 | 
					  PROP_RESIZABLE,
 | 
				
			||||||
 | 
					  PROP_X_OFFSET,
 | 
				
			||||||
  PROP_WIDTH,
 | 
					  PROP_WIDTH,
 | 
				
			||||||
  PROP_SPACING,
 | 
					  PROP_SPACING,
 | 
				
			||||||
  PROP_SIZING,
 | 
					  PROP_SIZING,
 | 
				
			||||||
@ -256,6 +258,16 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class)
 | 
				
			|||||||
                                                         FALSE,
 | 
					                                                         FALSE,
 | 
				
			||||||
                                                         GTK_PARAM_READWRITE));
 | 
					                                                         GTK_PARAM_READWRITE));
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  g_object_class_install_property (object_class,
 | 
				
			||||||
 | 
					                                   PROP_X_OFFSET,
 | 
				
			||||||
 | 
					                                   g_param_spec_int ("x-offset",
 | 
				
			||||||
 | 
					                                                     P_("X position"),
 | 
				
			||||||
 | 
					                                                     P_("Current X position of the column"),
 | 
				
			||||||
 | 
					                                                     -G_MAXINT,
 | 
				
			||||||
 | 
					                                                     G_MAXINT,
 | 
				
			||||||
 | 
					                                                     0,
 | 
				
			||||||
 | 
					                                                     GTK_PARAM_READABLE));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  g_object_class_install_property (object_class,
 | 
					  g_object_class_install_property (object_class,
 | 
				
			||||||
                                   PROP_WIDTH,
 | 
					                                   PROP_WIDTH,
 | 
				
			||||||
                                   g_param_spec_int ("width",
 | 
					                                   g_param_spec_int ("width",
 | 
				
			||||||
@ -687,6 +699,11 @@ gtk_tree_view_column_get_property (GObject         *object,
 | 
				
			|||||||
                           gtk_tree_view_column_get_resizable (tree_column));
 | 
					                           gtk_tree_view_column_get_resizable (tree_column));
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case PROP_X_OFFSET:
 | 
				
			||||||
 | 
					      g_value_set_int (value,
 | 
				
			||||||
 | 
					                       gtk_tree_view_column_get_x_offset (tree_column));
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case PROP_WIDTH:
 | 
					    case PROP_WIDTH:
 | 
				
			||||||
      g_value_set_int (value,
 | 
					      g_value_set_int (value,
 | 
				
			||||||
                       gtk_tree_view_column_get_width (tree_column));
 | 
					                       gtk_tree_view_column_get_width (tree_column));
 | 
				
			||||||
@ -2049,6 +2066,24 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column)
 | 
				
			|||||||
  return tree_column->priv->width;
 | 
					  return tree_column->priv->width;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * gtk_tree_view_column_get_x_offset:
 | 
				
			||||||
 | 
					 * @tree_column: A #GtkTreeViewColumn.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * Returns the current X offset of @tree_column in pixels.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * Return value: The current X offset of @tree_column.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Since: 3.2
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					gint
 | 
				
			||||||
 | 
					gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return tree_column->priv->x_offset;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gint
 | 
					gint
 | 
				
			||||||
_gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column)
 | 
					_gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -2113,6 +2148,7 @@ _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column,
 | 
				
			|||||||
  if (priv->width != width)
 | 
					  if (priv->width != width)
 | 
				
			||||||
    gtk_widget_queue_draw (priv->tree_view);
 | 
					    gtk_widget_queue_draw (priv->tree_view);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  priv->x_offset = x_offset;
 | 
				
			||||||
  priv->width = width;
 | 
					  priv->width = width;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  gtk_cell_area_context_allocate (priv->cell_area_context, priv->width - priv->padding, -1);
 | 
					  gtk_cell_area_context_allocate (priv->cell_area_context, priv->width - priv->padding, -1);
 | 
				
			||||||
@ -2136,6 +2172,7 @@ _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column,
 | 
				
			|||||||
			      TREE_VIEW_DRAG_WIDTH, allocation.height);
 | 
								      TREE_VIEW_DRAG_WIDTH, allocation.height);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  g_object_notify (G_OBJECT (tree_column), "x-offset");
 | 
				
			||||||
  g_object_notify (G_OBJECT (tree_column), "width");
 | 
					  g_object_notify (G_OBJECT (tree_column), "width");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -142,6 +142,7 @@ gboolean                gtk_tree_view_column_get_resizable       (GtkTreeViewCol
 | 
				
			|||||||
void                    gtk_tree_view_column_set_sizing          (GtkTreeViewColumn       *tree_column,
 | 
					void                    gtk_tree_view_column_set_sizing          (GtkTreeViewColumn       *tree_column,
 | 
				
			||||||
								  GtkTreeViewColumnSizing  type);
 | 
													  GtkTreeViewColumnSizing  type);
 | 
				
			||||||
GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing          (GtkTreeViewColumn       *tree_column);
 | 
					GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing          (GtkTreeViewColumn       *tree_column);
 | 
				
			||||||
 | 
					gint                    gtk_tree_view_column_get_x_offset        (GtkTreeViewColumn       *tree_column);
 | 
				
			||||||
gint                    gtk_tree_view_column_get_width           (GtkTreeViewColumn       *tree_column);
 | 
					gint                    gtk_tree_view_column_get_width           (GtkTreeViewColumn       *tree_column);
 | 
				
			||||||
gint                    gtk_tree_view_column_get_fixed_width     (GtkTreeViewColumn       *tree_column);
 | 
					gint                    gtk_tree_view_column_get_fixed_width     (GtkTreeViewColumn       *tree_column);
 | 
				
			||||||
void                    gtk_tree_view_column_set_fixed_width     (GtkTreeViewColumn       *tree_column,
 | 
					void                    gtk_tree_view_column_set_fixed_width     (GtkTreeViewColumn       *tree_column,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user