GTK4 view widget missing GTK3 APIs for interactive

There are some APIs in GTK3 for interactive:

GtkWidget* gtk_grid_get_child_at (GtkGrid* grid,  gint left,  gint top);
GtkFlowBoxChild* gtk_flow_box_get_child_at_pos (GtkFlowBox* box, gint x, gint y);
GtkFlowBoxChild* gtk_flow_box_get_child_at_index (GtkFlowBox* box, gint idx);

gboolean gtk_tree_view_get_dest_row_at_pos (
  GtkTreeView* tree_view,
  gint drag_x,
  gint drag_y,
  GtkTreePath** path,
  GtkTreeViewDropPosition* pos
);

gboolean
gtk_tree_view_get_path_at_pos (
  GtkTreeView* tree_view,
  gint x,
  gint y,
  GtkTreePath** path,
  GtkTreeViewColumn** column,
  gint* cell_x,
  gint* cell_y
);

for compatibility, I think GTK4 need these APIs too:

GtkWidget* gtk_list_base_get_child_at_pointer (GtkListBase *self);
GtkWidget* gtk_list_base_get_child_at_position (GtkListBase *self, gint left, gint top);
GtkWidget* gtk_list_base_get_children_at_rect (GtkListBase* self, gint left, gint top, gint right, gint bottom);

GtkWidget* gtk_list_view_get_child_at_pointer (GtkListView* self);
GtkWidget* gtk_list_view_get_child_at_position (GtkListView* self, gint left, gint top);
GtkWidget* gtk_list_view_get_children_at_rect (GtkListView* self, gint left, gint top, gint right, gint bottom);

GtkWidget* gtk_column_view_get_row_at_pointer (GtkColumnView* self);
GtkWidget* gtk_column_view_get_row_at_position (GtkColumnView* self, gint left, gint top);
GtkWidget* gtk_column_view_get_rows_at_rect (GtkColumnView* self, gint left, gint top, gint right, gint bottom);

GtkWidget* gtk_column_view_get_cell_at_pointer (GtkColumnView* self);
GtkWidget* gtk_column_view_get_cell_at_position (GtkColumnView* self, gint left, gint top);
GtkWidget* gtk_column_view_get_cells_at_rect (GtkColumnView* self, gint left, gint top, gint right, gint bottom);

GtkWidget* gtk_grid_view_get_child_at_pointer (GtkGridView* self);
GtkWidget* gtk_grid_view_get_child_at_position (GtkGridView* self, gint left, gint top);
GtkWidget* gtk_grid_view_get_children_at_rect (GtkGridView* self, gint left, gint top, gint right, gint bottom);

GtkWidget* gtk_tree_view_get_row_at_pointer (GtkTreeView* self);
GtkWidget* gtk_tree_view_get_row_at_position (GtkTreeView* self, gint left, gint top);
GtkWidget* gtk_tree_view_get_rows_at_rect (GtkTreeView* self, gint left, gint top, gint right, gint bottom);

GtkWidget* gtk_tree_view_get_cell_at_pointer (GtkTreeView* self);
GtkWidget* gtk_tree_view_get_cell_at_position (GtkTreeView* self, gint left, gint top);
GtkWidget* gtk_tree_view_get_cells_at_rect (GtkTreeView* self, gint left, gint top, gint right, gint bottom);

What specifically are you trying to use these APIs for?

They are the common APIs for many case, like:
With GtkGridView, select one child, then right click on the empty area or another child, the App should call the api gtk_list_base_get_child_at_position to get the child under mouse pointer, then do the logic on the new child.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.