Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_thumbtable_layout_ops_t Struct Reference

Per-mode layout strategy. One instance per frontend, shared (const) by all tables of that mode and stored on table->ops. Every method receives the table it operates on. More...

#include <thumbtable_internal.h>

+ Collaboration diagram for dt_thumbtable_layout_ops_t:

Data Fields

GtkWidget *(* create_content_widget )(void)
 
void(* configure_dims )(dt_thumbtable_t *table, int *new_width, int *new_height, int *per_row, int *thumb_width, int *thumb_height)
 
void(* rowid_to_position )(dt_thumbtable_t *table, int rowid, int *x, int *y)
 
int(* position_to_rowid )(dt_thumbtable_t *table, const double x, const double y)
 
void(* get_row_ids )(dt_thumbtable_t *table, int *rowid_min, int *rowid_max)
 
gboolean(* is_rowid_visible )(dt_thumbtable_t *table, int rowid)
 
void(* update_content_size )(dt_thumbtable_t *table)
 
void(* group_borders )(dt_thumbtable_t *table, dt_thumbnail_t *thumb, dt_thumbnail_border_t *borders)
 
void(* place_child )(dt_thumbtable_t *table, dt_thumbnail_t *thumb)
 
void(* move_child )(dt_thumbtable_t *table, dt_thumbnail_t *thumb)
 
gboolean(* wants_scroll_value )(dt_thumbtable_t *table, GtkAdjustment *adjustment)
 
gboolean(* wants_page_size_notify )(dt_thumbtable_t *table, GObject *object)
 
gboolean(* relevant_scrollbar_changed )(dt_thumbtable_t *table, GtkWidget *widget, GtkAllocation *allocation)
 
gboolean(* is_thumb_highlighted )(dt_thumbtable_t *table, int32_t imgid)
 
void(* on_thumbnail_added )(dt_thumbtable_t *table, dt_thumbnail_t *thumb)
 
void(* on_drag_begin )(dt_thumbtable_t *table, int32_t imgid)
 
void(* setup_parent )(dt_thumbtable_t *table)
 
void(* grab_focus )(dt_thumbtable_t *table)
 
gboolean(* handle_key )(dt_thumbtable_t *table, GdkEventKey *event, guint key, int32_t imgid)
 
void(* pre_activate )(dt_thumbtable_t *table, int32_t imgid)
 

Detailed Description

Per-mode layout strategy. One instance per frontend, shared (const) by all tables of that mode and stored on table->ops. Every method receives the table it operates on.

Methods documented as "nullable" are only meaningful in one mode; the engine checks for NULL before dispatching. All others must be provided by both frontends.

Definition at line 67 of file thumbtable_internal.h.

Field Documentation

◆ configure_dims

void(* dt_thumbtable_layout_ops_t::configure_dims) (dt_thumbtable_t *table, int *new_width, int *new_height, int *per_row, int *thumb_width, int *thumb_height)

Definition at line 78 of file thumbtable_internal.h.

Referenced by dt_thumbtable_configure().

◆ create_content_widget

GtkWidget *(* dt_thumbtable_layout_ops_t::create_content_widget) (void)

◆ get_row_ids

void(* dt_thumbtable_layout_ops_t::get_row_ids) (dt_thumbtable_t *table, int *rowid_min, int *rowid_max)

Definition at line 89 of file thumbtable_internal.h.

Referenced by _get_row_ids().

◆ grab_focus

void(* dt_thumbtable_layout_ops_t::grab_focus) (dt_thumbtable_t *table)

Definition at line 135 of file thumbtable_internal.h.

Referenced by _grab_focus().

◆ group_borders

void(* dt_thumbtable_layout_ops_t::group_borders) (dt_thumbtable_t *table, dt_thumbnail_t *thumb, dt_thumbnail_border_t *borders)

Definition at line 99 of file thumbtable_internal.h.

Referenced by _add_thumbnail_group_borders().

◆ handle_key

gboolean(* dt_thumbtable_layout_ops_t::handle_key) (dt_thumbtable_t *table, GdkEventKey *event, guint key, int32_t imgid)

Definition at line 140 of file thumbtable_internal.h.

Referenced by dt_thumbtable_key_pressed_grid().

◆ is_rowid_visible

gboolean(* dt_thumbtable_layout_ops_t::is_rowid_visible) (dt_thumbtable_t *table, int rowid)

Definition at line 90 of file thumbtable_internal.h.

Referenced by _is_rowid_visible().

◆ is_thumb_highlighted

gboolean(* dt_thumbtable_layout_ops_t::is_thumb_highlighted) (dt_thumbtable_t *table, int32_t imgid)

Definition at line 119 of file thumbtable_internal.h.

Referenced by _refresh_highlights().

◆ move_child

void(* dt_thumbtable_layout_ops_t::move_child) (dt_thumbtable_t *table, dt_thumbnail_t *thumb)

Definition at line 104 of file thumbtable_internal.h.

Referenced by _add_thumbnail_at_rowid(), and _resize_thumbnails().

◆ on_drag_begin

void(* dt_thumbtable_layout_ops_t::on_drag_begin) (dt_thumbtable_t *table, int32_t imgid)

Definition at line 127 of file thumbtable_internal.h.

Referenced by _event_dnd_begin().

◆ on_thumbnail_added

void(* dt_thumbtable_layout_ops_t::on_thumbnail_added) (dt_thumbtable_t *table, dt_thumbnail_t *thumb)

Definition at line 123 of file thumbtable_internal.h.

Referenced by _add_thumbnail_at_rowid().

◆ place_child

void(* dt_thumbtable_layout_ops_t::place_child) (dt_thumbtable_t *table, dt_thumbnail_t *thumb)

Definition at line 103 of file thumbtable_internal.h.

Referenced by _add_thumbnail_at_rowid().

◆ position_to_rowid

int(* dt_thumbtable_layout_ops_t::position_to_rowid) (dt_thumbtable_t *table, const double x, const double y)

Definition at line 84 of file thumbtable_internal.h.

Referenced by _position_to_rowid().

◆ pre_activate

void(* dt_thumbtable_layout_ops_t::pre_activate) (dt_thumbtable_t *table, int32_t imgid)

Definition at line 143 of file thumbtable_internal.h.

Referenced by dt_thumbtable_key_pressed_grid().

◆ relevant_scrollbar_changed

gboolean(* dt_thumbtable_layout_ops_t::relevant_scrollbar_changed) (dt_thumbtable_t *table, GtkWidget *widget, GtkAllocation *allocation)

Definition at line 112 of file thumbtable_internal.h.

Referenced by _scrollbar_widget_size_allocate().

◆ rowid_to_position

void(* dt_thumbtable_layout_ops_t::rowid_to_position) (dt_thumbtable_t *table, int rowid, int *x, int *y)

Definition at line 83 of file thumbtable_internal.h.

Referenced by _rowid_to_position().

◆ setup_parent

void(* dt_thumbtable_layout_ops_t::setup_parent) (dt_thumbtable_t *table)

Definition at line 131 of file thumbtable_internal.h.

Referenced by dt_thumbtable_set_parent().

◆ update_content_size

void(* dt_thumbtable_layout_ops_t::update_content_size) (dt_thumbtable_t *table)

Definition at line 94 of file thumbtable_internal.h.

Referenced by _update_grid_area().

◆ wants_page_size_notify

gboolean(* dt_thumbtable_layout_ops_t::wants_page_size_notify) (dt_thumbtable_t *table, GObject *object)

Definition at line 111 of file thumbtable_internal.h.

Referenced by _scrollbar_page_size_notify().

◆ wants_scroll_value

gboolean(* dt_thumbtable_layout_ops_t::wants_scroll_value) (dt_thumbtable_t *table, GtkAdjustment *adjustment)

Definition at line 110 of file thumbtable_internal.h.

Referenced by _scrollbar_value_changed().


The documentation for this struct was generated from the following file: