Blender V4.3
blender::ed::spreadsheet Namespace Reference

Classes

struct  CellDrawParams
 
struct  ColumnLayout
 
class  ColumnValues
 
class  CurvesDomainViewItem
 
class  CurvesViewItem
 
class  DataSetViewItem
 
class  DataSource
 
class  ExtraColumns
 
struct  GeometryDataIdentifier
 
class  GeometryDataSetTreeView
 
class  GeometryDataSource
 
class  GeometryInstancesTreeView
 
class  GreasePencilLayerCurvesDomainViewItem
 
class  GreasePencilLayersViewItem
 
class  GreasePencilLayerViewItem
 
class  GreasePencilViewItem
 
class  InstanceReferenceViewItem
 
class  InstancesTreeViewItem
 
class  InstancesViewItem
 
class  MeshDomainViewItem
 
class  MeshViewItem
 
class  PointCloudViewItem
 
class  PointsViewItem
 
class  RootGeometryViewItem
 
struct  SpaceSpreadsheet_Runtime
 
class  SpreadsheetCache
 
class  SpreadsheetDrawer
 
struct  SpreadsheetLayout
 
class  SpreadsheetLayoutDrawer
 
class  VolumeDataSource
 
class  VolumeGridsViewItem
 

Functions

void register_spacetype ()
 
IDget_current_id (const SpaceSpreadsheet *sspreadsheet)
 
static SpaceLinkspreadsheet_create (const ScrArea *, const Scene *)
 
static void spreadsheet_free (SpaceLink *sl)
 
static void spreadsheet_init (wmWindowManager *, ScrArea *area)
 
static SpaceLinkspreadsheet_duplicate (SpaceLink *sl)
 
static void spreadsheet_keymap (wmKeyConfig *keyconf)
 
static void spreadsheet_id_remap (ScrArea *, SpaceLink *slink, const blender::bke::id::IDRemapper &mappings)
 
static void spreadsheet_foreach_id (SpaceLink *space_link, LibraryForeachIDData *data)
 
static void spreadsheet_main_region_init (wmWindowManager *wm, ARegion *region)
 
static void view_active_object (const bContext *C, SpaceSpreadsheet *sspreadsheet)
 
static void spreadsheet_update_context (const bContext *C)
 
Objectspreadsheet_get_object_eval (const SpaceSpreadsheet *sspreadsheet, const Depsgraph *depsgraph)
 
static std::unique_ptr< DataSourceget_data_source (const bContext *C)
 
static float get_default_column_width (const ColumnValues &values)
 
static float get_column_width (const ColumnValues &values)
 
static float get_column_width_in_pixels (const ColumnValues &values)
 
static int get_index_column_width (const int tot_rows)
 
static void update_visible_columns (ListBase &columns, DataSource &data_source)
 
static void spreadsheet_main_region_draw (const bContext *C, ARegion *region)
 
static void spreadsheet_main_region_listener (const wmRegionListenerParams *params)
 
static void spreadsheet_header_region_init (wmWindowManager *, ARegion *region)
 
static void spreadsheet_header_region_draw (const bContext *C, ARegion *region)
 
static void spreadsheet_header_region_free (ARegion *)
 
static void spreadsheet_header_region_listener (const wmRegionListenerParams *params)
 
static void spreadsheet_footer_region_init (wmWindowManager *, ARegion *region)
 
static void spreadsheet_footer_region_draw (const bContext *C, ARegion *region)
 
static void spreadsheet_footer_region_free (ARegion *)
 
static void spreadsheet_footer_region_listener (const wmRegionListenerParams *)
 
static void spreadsheet_dataset_region_listener (const wmRegionListenerParams *params)
 
static void spreadsheet_dataset_region_draw (const bContext *C, ARegion *region)
 
static void spreadsheet_sidebar_init (wmWindowManager *wm, ARegion *region)
 
static void spreadsheet_right_region_free (ARegion *)
 
static void spreadsheet_right_region_listener (const wmRegionListenerParams *)
 
static void spreadsheet_blend_read_data (BlendDataReader *reader, SpaceLink *sl)
 
static void spreadsheet_blend_write (BlendWriter *writer, SpaceLink *sl)
 
eSpreadsheetColumnValueType cpp_type_to_column_type (const CPPType &type)
 
SpreadsheetColumnIDspreadsheet_column_id_new ()
 
SpreadsheetColumnIDspreadsheet_column_id_copy (const SpreadsheetColumnID *src_column_id)
 
void spreadsheet_column_id_free (SpreadsheetColumnID *column_id)
 
SpreadsheetColumnspreadsheet_column_new (SpreadsheetColumnID *column_id)
 
void spreadsheet_column_assign_runtime_data (SpreadsheetColumn *column, const eSpreadsheetColumnValueType data_type, const StringRefNull display_name)
 
SpreadsheetColumnspreadsheet_column_copy (const SpreadsheetColumn *src_column)
 
void spreadsheet_column_free (SpreadsheetColumn *column)
 
static void add_mesh_debug_column_names (const Mesh &mesh, const bke::AttrDomain domain, FunctionRef< void(const SpreadsheetColumnID &, bool is_extra)> fn)
 
static std::unique_ptr< ColumnValuesbuild_mesh_debug_columns (const Mesh &mesh, const bke::AttrDomain domain, const StringRef name)
 
int get_instance_reference_icon (const bke::InstanceReference &reference)
 
bke::GeometrySet spreadsheet_get_display_geometry_set (const SpaceSpreadsheet *sspreadsheet, Object *object_eval)
 
bke::GeometrySet get_geometry_set_for_instance_ids (const bke::GeometrySet &root_geometry, const Span< SpreadsheetInstanceID > instance_ids)
 
std::unique_ptr< DataSourcedata_source_from_geometry (const bContext *C, Object *object_eval)
 
static void draw_row_suffix (ui::AbstractTreeViewItem &view_item, const StringRefNull str)
 
static void draw_count (ui::AbstractTreeViewItem &view_item, const int count)
 
static StringRefNull mesh_domain_to_label (const bke::AttrDomain domain)
 
static StringRefNull curves_domain_to_label (const bke::AttrDomain domain)
 
static BIFIconID mesh_domain_to_icon (const bke::AttrDomain domain)
 
static BIFIconID curves_domain_to_icon (const bke::AttrDomain domain)
 
void spreadsheet_data_set_panel_draw (const bContext *C, Panel *panel)
 
static void draw_index_column_background (const uint pos, const ARegion *region, const SpreadsheetDrawer &drawer)
 
static void draw_alternating_row_overlay (const uint pos, const int scroll_offset_y, const ARegion *region, const SpreadsheetDrawer &drawer)
 
static void draw_top_row_background (const uint pos, const ARegion *region, const SpreadsheetDrawer &drawer)
 
static void draw_separator_lines (const uint pos, const int scroll_offset_x, const ARegion *region, const SpreadsheetDrawer &drawer)
 
static void get_visible_rows (const SpreadsheetDrawer &drawer, const ARegion *region, const int scroll_offset_y, int *r_first_row, int *r_max_visible_rows)
 
static void draw_left_column_content (const int scroll_offset_y, const bContext *C, ARegion *region, const SpreadsheetDrawer &drawer)
 
static void draw_top_row_content (const bContext *C, ARegion *region, const SpreadsheetDrawer &drawer, const int scroll_offset_x)
 
static void draw_cell_contents (const bContext *C, ARegion *region, const SpreadsheetDrawer &drawer, const int scroll_offset_x, const int scroll_offset_y)
 
static void update_view2d_tot_rect (const SpreadsheetDrawer &drawer, ARegion *region, const int row_amount)
 
void draw_spreadsheet_in_region (const bContext *C, ARegion *region, const SpreadsheetDrawer &drawer)
 
void spreadsheet_operatortypes ()
 
void spreadsheet_data_set_region_panels_register (ARegionType &region_type)
 
std::unique_ptr< SpreadsheetDrawerspreadsheet_drawer_from_layout (const SpreadsheetLayout &spreadsheet_layout)
 
static int row_filter_add_exec (bContext *C, wmOperator *)
 
static void SPREADSHEET_OT_add_row_filter_rule (wmOperatorType *ot)
 
static int row_filter_remove_exec (bContext *C, wmOperator *op)
 
static void SPREADSHEET_OT_remove_row_filter_rule (wmOperatorType *ot)
 
static int select_component_domain_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static void SPREADSHEET_OT_change_spreadsheet_data_source (wmOperatorType *ot)
 
template<typename T , typename OperationFn >
static IndexMask apply_filter_operation (const VArray< T > &data, OperationFn check_fn, const IndexMask &mask, IndexMaskMemory &memory)
 
static IndexMask apply_row_filter (const SpreadsheetRowFilter &row_filter, const Map< StringRef, const ColumnValues * > &columns, const IndexMask prev_mask, IndexMaskMemory &memory)
 
static bool use_row_filters (const SpaceSpreadsheet &sspreadsheet)
 
static bool use_selection_filter (const SpaceSpreadsheet &sspreadsheet, const DataSource &data_source)
 
IndexMask spreadsheet_filter_rows (const SpaceSpreadsheet &sspreadsheet, const SpreadsheetLayout &spreadsheet_layout, const DataSource &data_source, ResourceScope &scope)
 
SpreadsheetRowFilterspreadsheet_row_filter_new ()
 
SpreadsheetRowFilterspreadsheet_row_filter_copy (const SpreadsheetRowFilter *src_row_filter)
 
void spreadsheet_row_filter_free (SpreadsheetRowFilter *row_filter)
 
static void filter_panel_id_fn (void *, char *r_name)
 
static std::string operation_string (const eSpreadsheetColumnValueType data_type, const eSpreadsheetFilterOperation operation)
 
static std::string value_string (const SpreadsheetRowFilter &row_filter, const eSpreadsheetColumnValueType data_type)
 
static SpreadsheetColumnlookup_visible_column_for_filter (const SpaceSpreadsheet &sspreadsheet, const StringRef column_name)
 
static void spreadsheet_filter_panel_draw_header (const bContext *C, Panel *panel)
 
static void spreadsheet_filter_panel_draw (const bContext *C, Panel *panel)
 
static void spreadsheet_row_filters_layout (const bContext *C, Panel *panel)
 
static void filter_reorder (bContext *C, Panel *panel, int new_index)
 
static short get_filter_expand_flag (const bContext *, Panel *panel)
 
static void set_filter_expand_flag (const bContext *, Panel *panel, short expand_flag)
 
void register_row_filter_panels (ARegionType &region_type)
 

Function Documentation

◆ add_mesh_debug_column_names()

static void blender::ed::spreadsheet::add_mesh_debug_column_names ( const Mesh & mesh,
const bke::AttrDomain domain,
FunctionRef< void(const SpreadsheetColumnID &, bool is_extra)> fn )
static

◆ apply_filter_operation()

template<typename T , typename OperationFn >
static IndexMask blender::ed::spreadsheet::apply_filter_operation ( const VArray< T > & data,
OperationFn check_fn,
const IndexMask & mask,
IndexMaskMemory & memory )
static

◆ apply_row_filter()

◆ build_mesh_debug_columns()

static std::unique_ptr< ColumnValues > blender::ed::spreadsheet::build_mesh_debug_columns ( const Mesh & mesh,
const bke::AttrDomain domain,
const StringRef name )
static

◆ cpp_type_to_column_type()

◆ curves_domain_to_icon()

◆ curves_domain_to_label()

◆ data_source_from_geometry()

◆ draw_alternating_row_overlay()

static void blender::ed::spreadsheet::draw_alternating_row_overlay ( const uint pos,
const int scroll_offset_y,
const ARegion * region,
const SpreadsheetDrawer & drawer )
static

◆ draw_cell_contents()

◆ draw_count()

◆ draw_index_column_background()

static void blender::ed::spreadsheet::draw_index_column_background ( const uint pos,
const ARegion * region,
const SpreadsheetDrawer & drawer )
static

◆ draw_left_column_content()

◆ draw_row_suffix()

static void blender::ed::spreadsheet::draw_row_suffix ( ui::AbstractTreeViewItem & view_item,
const StringRefNull str )
static

◆ draw_separator_lines()

◆ draw_spreadsheet_in_region()

◆ draw_top_row_background()

static void blender::ed::spreadsheet::draw_top_row_background ( const uint pos,
const ARegion * region,
const SpreadsheetDrawer & drawer )
static

◆ draw_top_row_content()

◆ filter_panel_id_fn()

static void blender::ed::spreadsheet::filter_panel_id_fn ( void * ,
char * r_name )
static

Definition at line 36 of file spreadsheet_row_filter_ui.cc.

References BKE_ST_MAXNAME, and BLI_strncpy().

Referenced by spreadsheet_row_filters_layout().

◆ filter_reorder()

static void blender::ed::spreadsheet::filter_reorder ( bContext * C,
Panel * panel,
int new_index )
static

◆ get_column_width()

static float blender::ed::spreadsheet::get_column_width ( const ColumnValues & values)
static

◆ get_column_width_in_pixels()

static float blender::ed::spreadsheet::get_column_width_in_pixels ( const ColumnValues & values)
static

Definition at line 383 of file space_spreadsheet.cc.

References get_column_width(), and SPREADSHEET_WIDTH_UNIT.

Referenced by spreadsheet_main_region_draw().

◆ get_current_id()

ID * blender::ed::spreadsheet::get_current_id ( const SpaceSpreadsheet * sspreadsheet)

◆ get_data_source()

static std::unique_ptr< DataSource > blender::ed::spreadsheet::get_data_source ( const bContext * C)
static

◆ get_default_column_width()

◆ get_filter_expand_flag()

static short blender::ed::spreadsheet::get_filter_expand_flag ( const bContext * ,
Panel * panel )
static

◆ get_geometry_set_for_instance_ids()

bke::GeometrySet blender::ed::spreadsheet::get_geometry_set_for_instance_ids ( const bke::GeometrySet & root_geometry,
const Span< SpreadsheetInstanceID > instance_ids )

◆ get_index_column_width()

static int blender::ed::spreadsheet::get_index_column_width ( const int tot_rows)
static

◆ get_instance_reference_icon()

◆ get_visible_rows()

static void blender::ed::spreadsheet::get_visible_rows ( const SpreadsheetDrawer & drawer,
const ARegion * region,
const int scroll_offset_y,
int * r_first_row,
int * r_max_visible_rows )
static

◆ lookup_visible_column_for_filter()

static SpreadsheetColumn * blender::ed::spreadsheet::lookup_visible_column_for_filter ( const SpaceSpreadsheet & sspreadsheet,
const StringRef column_name )
static

◆ mesh_domain_to_icon()

static BIFIconID blender::ed::spreadsheet::mesh_domain_to_icon ( const bke::AttrDomain domain)
static

◆ mesh_domain_to_label()

static StringRefNull blender::ed::spreadsheet::mesh_domain_to_label ( const bke::AttrDomain domain)
static

◆ operation_string()

◆ register_row_filter_panels()

◆ register_spacetype()

void blender::ed::spreadsheet::register_spacetype ( )

Definition at line 725 of file space_spreadsheet.cc.

References BKE_spacetype_register(), BLI_addhead(), ARegionType::draw, ED_KEYMAP_FRAMES, ED_KEYMAP_HEADER, ED_KEYMAP_UI, ED_KEYMAP_VIEW2D, ED_region_panels_draw(), ED_region_panels_init(), ED_region_panels_layout(), ARegionType::free, HEADERY, ARegionType::init, ARegionType::keymapflag, ARegionType::layout, ARegionType::listener, ARegionType::lock, ARegionType::prefsizex, ARegionType::prefsizey, ARegionType::regionid, register_row_filter_panels(), register_spacetype(), RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, SPACE_SPREADSHEET, spreadsheet_blend_read_data(), spreadsheet_blend_write(), spreadsheet_create(), spreadsheet_data_set_region_panels_register(), spreadsheet_dataset_region_draw(), spreadsheet_dataset_region_listener(), spreadsheet_duplicate(), spreadsheet_footer_region_draw(), spreadsheet_footer_region_free(), spreadsheet_footer_region_init(), spreadsheet_footer_region_listener(), spreadsheet_foreach_id(), spreadsheet_free(), spreadsheet_header_region_draw(), spreadsheet_header_region_free(), spreadsheet_header_region_init(), spreadsheet_header_region_listener(), spreadsheet_id_remap(), spreadsheet_init(), spreadsheet_keymap(), spreadsheet_main_region_draw(), spreadsheet_main_region_init(), spreadsheet_main_region_listener(), spreadsheet_operatortypes(), spreadsheet_right_region_free(), spreadsheet_right_region_listener(), spreadsheet_sidebar_init(), STRNCPY, UI_SIDEBAR_PANEL_WIDTH, and V2D_SCROLL_WIDTH.

Referenced by register_spacetype().

◆ row_filter_add_exec()

◆ row_filter_remove_exec()

◆ select_component_domain_invoke()

◆ set_filter_expand_flag()

static void blender::ed::spreadsheet::set_filter_expand_flag ( const bContext * ,
Panel * panel,
short expand_flag )
static

◆ spreadsheet_blend_read_data()

◆ spreadsheet_blend_write()

◆ spreadsheet_column_assign_runtime_data()

void blender::ed::spreadsheet::spreadsheet_column_assign_runtime_data ( SpreadsheetColumn * column,
const eSpreadsheetColumnValueType data_type,
const StringRefNull display_name )

◆ spreadsheet_column_copy()

SpreadsheetColumn * blender::ed::spreadsheet::spreadsheet_column_copy ( const SpreadsheetColumn * src_column)

◆ spreadsheet_column_free()

void blender::ed::spreadsheet::spreadsheet_column_free ( SpreadsheetColumn * column)

◆ spreadsheet_column_id_copy()

SpreadsheetColumnID * blender::ed::spreadsheet::spreadsheet_column_id_copy ( const SpreadsheetColumnID * src_column_id)

◆ spreadsheet_column_id_free()

void blender::ed::spreadsheet::spreadsheet_column_id_free ( SpreadsheetColumnID * column_id)

Definition at line 84 of file spreadsheet_column.cc.

References MEM_freeN(), and SpreadsheetColumnID::name.

Referenced by spreadsheet_column_free().

◆ spreadsheet_column_id_new()

SpreadsheetColumnID * blender::ed::spreadsheet::spreadsheet_column_id_new ( )

Definition at line 71 of file spreadsheet_column.cc.

Referenced by spreadsheet_column_id_copy().

◆ spreadsheet_column_new()

SpreadsheetColumn * blender::ed::spreadsheet::spreadsheet_column_new ( SpreadsheetColumnID * column_id)

Definition at line 92 of file spreadsheet_column.cc.

References SpreadsheetColumn::id.

Referenced by spreadsheet_column_copy().

◆ spreadsheet_create()

◆ spreadsheet_data_set_panel_draw()

◆ spreadsheet_data_set_region_panels_register()

◆ spreadsheet_dataset_region_draw()

static void blender::ed::spreadsheet::spreadsheet_dataset_region_draw ( const bContext * C,
ARegion * region )
static

◆ spreadsheet_dataset_region_listener()

static void blender::ed::spreadsheet::spreadsheet_dataset_region_listener ( const wmRegionListenerParams * params)
static

◆ spreadsheet_drawer_from_layout()

std::unique_ptr< SpreadsheetDrawer > blender::ed::spreadsheet::spreadsheet_drawer_from_layout ( const SpreadsheetLayout & spreadsheet_layout)

Definition at line 435 of file spreadsheet_layout.cc.

Referenced by spreadsheet_main_region_draw().

◆ spreadsheet_duplicate()

◆ spreadsheet_filter_panel_draw()

◆ spreadsheet_filter_panel_draw_header()

◆ spreadsheet_filter_rows()

◆ spreadsheet_footer_region_draw()

◆ spreadsheet_footer_region_free()

static void blender::ed::spreadsheet::spreadsheet_footer_region_free ( ARegion * )
static

◆ spreadsheet_footer_region_init()

static void blender::ed::spreadsheet::spreadsheet_footer_region_init ( wmWindowManager * ,
ARegion * region )
static

◆ spreadsheet_footer_region_listener()

static void blender::ed::spreadsheet::spreadsheet_footer_region_listener ( const wmRegionListenerParams * )
static

◆ spreadsheet_foreach_id()

static void blender::ed::spreadsheet::spreadsheet_foreach_id ( SpaceLink * space_link,
LibraryForeachIDData * data )
static

◆ spreadsheet_free()

◆ spreadsheet_get_display_geometry_set()

◆ spreadsheet_get_object_eval()

Object * blender::ed::spreadsheet::spreadsheet_get_object_eval ( const SpaceSpreadsheet * sspreadsheet,
const Depsgraph * depsgraph )

◆ spreadsheet_header_region_draw()

static void blender::ed::spreadsheet::spreadsheet_header_region_draw ( const bContext * C,
ARegion * region )
static

◆ spreadsheet_header_region_free()

static void blender::ed::spreadsheet::spreadsheet_header_region_free ( ARegion * )
static

◆ spreadsheet_header_region_init()

static void blender::ed::spreadsheet::spreadsheet_header_region_init ( wmWindowManager * ,
ARegion * region )
static

◆ spreadsheet_header_region_listener()

◆ spreadsheet_id_remap()

static void blender::ed::spreadsheet::spreadsheet_id_remap ( ScrArea * ,
SpaceLink * slink,
const blender::bke::id::IDRemapper & mappings )
static

Definition at line 158 of file space_spreadsheet.cc.

References BKE_viewer_path_id_remap(), and SpaceSpreadsheet::viewer_path.

Referenced by register_spacetype().

◆ spreadsheet_init()

static void blender::ed::spreadsheet::spreadsheet_init ( wmWindowManager * ,
ScrArea * area )
static

Definition at line 114 of file space_spreadsheet.cc.

References SpaceSpreadsheet::runtime.

Referenced by register_spacetype().

◆ spreadsheet_keymap()

static void blender::ed::spreadsheet::spreadsheet_keymap ( wmKeyConfig * keyconf)
static

Definition at line 152 of file space_spreadsheet.cc.

References RGN_TYPE_WINDOW, SPACE_SPREADSHEET, and WM_keymap_ensure().

Referenced by register_spacetype().

◆ spreadsheet_main_region_draw()

◆ spreadsheet_main_region_init()

◆ spreadsheet_main_region_listener()

◆ spreadsheet_operatortypes()

void blender::ed::spreadsheet::spreadsheet_operatortypes ( )

◆ SPREADSHEET_OT_add_row_filter_rule()

◆ SPREADSHEET_OT_change_spreadsheet_data_source()

◆ SPREADSHEET_OT_remove_row_filter_rule()

◆ spreadsheet_right_region_free()

static void blender::ed::spreadsheet::spreadsheet_right_region_free ( ARegion * )
static

◆ spreadsheet_right_region_listener()

static void blender::ed::spreadsheet::spreadsheet_right_region_listener ( const wmRegionListenerParams * )
static

◆ spreadsheet_row_filter_copy()

SpreadsheetRowFilter * blender::ed::spreadsheet::spreadsheet_row_filter_copy ( const SpreadsheetRowFilter * src_row_filter)

◆ spreadsheet_row_filter_free()

void blender::ed::spreadsheet::spreadsheet_row_filter_free ( SpreadsheetRowFilter * row_filter)

◆ spreadsheet_row_filter_new()

◆ spreadsheet_row_filters_layout()

◆ spreadsheet_sidebar_init()

◆ spreadsheet_update_context()

◆ update_view2d_tot_rect()

◆ update_visible_columns()

◆ use_row_filters()

static bool blender::ed::spreadsheet::use_row_filters ( const SpaceSpreadsheet & sspreadsheet)
static

◆ use_selection_filter()

static bool blender::ed::spreadsheet::use_selection_filter ( const SpaceSpreadsheet & sspreadsheet,
const DataSource & data_source )
static

◆ value_string()

◆ view_active_object()