Blender  V3.3
Classes | Functions
blender::ed::spreadsheet Namespace Reference

Classes

class  SpreadsheetCache
 
class  ColumnValues
 
class  DataSource
 
class  GeometryComponentCacheKey
 
class  GeometryComponentCacheValue
 
class  ExtraColumns
 
class  GeometryDataSource
 
class  VolumeDataSource
 
class  GeometryDataSetTreeViewItem
 
class  GeometryDataSetTreeView
 
struct  CellDrawParams
 
class  SpreadsheetDrawer
 
class  SpreadsheetLayoutDrawer
 
struct  ColumnLayout
 
struct  SpreadsheetLayout
 

Functions

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 SpreadsheetContextObjectspreadsheet_context_object_new ()
 
static SpreadsheetContextObjectspreadsheet_context_object_copy (const SpreadsheetContextObject *src_context)
 
static void spreadsheet_context_object_hash (const SpreadsheetContextObject *context, BLI_HashMurmur2A *mm2)
 
static void spreadsheet_context_object_free (SpreadsheetContextObject *context)
 
static SpreadsheetContextModifierspreadsheet_context_modifier_new ()
 
static SpreadsheetContextModifierspreadsheet_context_modifier_copy (const SpreadsheetContextModifier *src_context)
 
static void spreadsheet_context_modifier_hash (const SpreadsheetContextModifier *context, BLI_HashMurmur2A *mm2)
 
static void spreadsheet_context_modifier_free (SpreadsheetContextModifier *context)
 
static SpreadsheetContextNodespreadsheet_context_node_new ()
 
static SpreadsheetContextNodespreadsheet_context_node_copy (const SpreadsheetContextNode *src_context)
 
static void spreadsheet_context_node_hash (const SpreadsheetContextNode *context, BLI_HashMurmur2A *mm2)
 
static void spreadsheet_context_node_free (SpreadsheetContextNode *context)
 
SpreadsheetContextspreadsheet_context_new (eSpaceSpreadsheet_ContextType type)
 
SpreadsheetContextspreadsheet_context_copy (const SpreadsheetContext *old_context)
 
static void spreadsheet_context_hash (const SpreadsheetContext *context, BLI_HashMurmur2A *mm2)
 
void spreadsheet_context_free (SpreadsheetContext *context)
 
static bool spreadsheet_context_update_tag (SpaceSpreadsheet *sspreadsheet)
 
GeometrySet spreadsheet_get_display_geometry_set (const SpaceSpreadsheet *sspreadsheet, Object *object_eval)
 
static void find_fields_to_evaluate (const SpaceSpreadsheet *sspreadsheet, Map< std::string, GField > &r_fields)
 
static void add_fields_as_extra_columns (SpaceSpreadsheet *sspreadsheet, const GeometryComponent &component, ExtraColumns &r_extra_columns)
 
std::unique_ptr< DataSourcedata_source_from_geometry (const bContext *C, Object *object_eval)
 
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_data_set_region_panels_register (ARegionType &region_type)
 
std::unique_ptr< SpreadsheetDrawerspreadsheet_drawer_from_layout (const SpreadsheetLayout &spreadsheet_layout)
 
template<typename T , typename OperationFn >
static void apply_filter_operation (const VArray< T > &data, OperationFn check_fn, const IndexMask mask, Vector< int64_t > &new_indices)
 
static void apply_row_filter (const SpreadsheetRowFilter &row_filter, const Map< StringRef, const ColumnValues * > &columns, const IndexMask prev_mask, Vector< int64_t > &new_indices)
 
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)
 

Function Documentation

◆ add_fields_as_extra_columns()

static void blender::ed::spreadsheet::add_fields_as_extra_columns ( SpaceSpreadsheet sspreadsheet,
const GeometryComponent component,
ExtraColumns r_extra_columns 
)
static

◆ apply_filter_operation()

template<typename T , typename OperationFn >
static void blender::ed::spreadsheet::apply_filter_operation ( const VArray< T > &  data,
OperationFn  check_fn,
const IndexMask  mask,
Vector< int64_t > &  new_indices 
)
static

◆ apply_row_filter()

static void blender::ed::spreadsheet::apply_row_filter ( const SpreadsheetRowFilter row_filter,
const Map< StringRef, const ColumnValues * > &  columns,
const IndexMask  prev_mask,
Vector< int64_t > &  new_indices 
)
static

◆ cpp_type_to_column_type()

eSpreadsheetColumnValueType blender::ed::spreadsheet::cpp_type_to_column_type ( const CPPType type)

◆ data_source_from_geometry()

std::unique_ptr< DataSource > blender::ed::spreadsheet::data_source_from_geometry ( const bContext C,
Object object_eval 
)

◆ 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()

static void blender::ed::spreadsheet::draw_cell_contents ( const bContext C,
ARegion region,
const SpreadsheetDrawer drawer,
const int  scroll_offset_x,
const int  scroll_offset_y 
)
static

◆ 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()

static void blender::ed::spreadsheet::draw_left_column_content ( const int  scroll_offset_y,
const bContext C,
ARegion region,
const SpreadsheetDrawer drawer 
)
static

◆ draw_separator_lines()

static void blender::ed::spreadsheet::draw_separator_lines ( const uint  pos,
const int  scroll_offset_x,
const ARegion region,
const SpreadsheetDrawer drawer 
)
static

◆ draw_spreadsheet_in_region()

void blender::ed::spreadsheet::draw_spreadsheet_in_region ( const bContext C,
ARegion region,
const SpreadsheetDrawer drawer 
)

◆ 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()

static void blender::ed::spreadsheet::draw_top_row_content ( const bContext C,
ARegion region,
const SpreadsheetDrawer drawer,
const int  scroll_offset_x 
)
static

◆ find_fields_to_evaluate()

static void blender::ed::spreadsheet::find_fields_to_evaluate ( const SpaceSpreadsheet sspreadsheet,
Map< std::string, GField > &  r_fields 
)
static

◆ 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

◆ 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 70 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 57 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 78 of file spreadsheet_column.cc.

References SpreadsheetColumn::id.

Referenced by spreadsheet_column_copy().

◆ spreadsheet_context_copy()

SpreadsheetContext * blender::ed::spreadsheet::spreadsheet_context_copy ( const SpreadsheetContext old_context)

◆ spreadsheet_context_free()

void blender::ed::spreadsheet::spreadsheet_context_free ( SpreadsheetContext context)

◆ spreadsheet_context_hash()

static void blender::ed::spreadsheet::spreadsheet_context_hash ( const SpreadsheetContext context,
BLI_HashMurmur2A mm2 
)
static

◆ spreadsheet_context_modifier_copy()

static SpreadsheetContextModifier* blender::ed::spreadsheet::spreadsheet_context_modifier_copy ( const SpreadsheetContextModifier src_context)
static

◆ spreadsheet_context_modifier_free()

static void blender::ed::spreadsheet::spreadsheet_context_modifier_free ( SpreadsheetContextModifier context)
static

Definition at line 88 of file spreadsheet_context.cc.

References blender::compositor::context, and MEM_freeN.

Referenced by spreadsheet_context_free().

◆ spreadsheet_context_modifier_hash()

static void blender::ed::spreadsheet::spreadsheet_context_modifier_hash ( const SpreadsheetContextModifier context,
BLI_HashMurmur2A mm2 
)
static

Definition at line 80 of file spreadsheet_context.cc.

References BLI_hash_mm2a_add(), and blender::compositor::context.

Referenced by spreadsheet_context_hash().

◆ spreadsheet_context_modifier_new()

static SpreadsheetContextModifier* blender::ed::spreadsheet::spreadsheet_context_modifier_new ( )
static

◆ spreadsheet_context_new()

SpreadsheetContext * blender::ed::spreadsheet::spreadsheet_context_new ( eSpaceSpreadsheet_ContextType  type)

◆ spreadsheet_context_node_copy()

static SpreadsheetContextNode* blender::ed::spreadsheet::spreadsheet_context_node_copy ( const SpreadsheetContextNode src_context)
static

◆ spreadsheet_context_node_free()

static void blender::ed::spreadsheet::spreadsheet_context_node_free ( SpreadsheetContextNode context)
static

Definition at line 121 of file spreadsheet_context.cc.

References blender::compositor::context, and MEM_freeN.

Referenced by spreadsheet_context_free().

◆ spreadsheet_context_node_hash()

static void blender::ed::spreadsheet::spreadsheet_context_node_hash ( const SpreadsheetContextNode context,
BLI_HashMurmur2A mm2 
)
static

Definition at line 113 of file spreadsheet_context.cc.

References BLI_hash_mm2a_add(), and blender::compositor::context.

Referenced by spreadsheet_context_hash().

◆ spreadsheet_context_node_new()

static SpreadsheetContextNode* blender::ed::spreadsheet::spreadsheet_context_node_new ( )
static

◆ spreadsheet_context_object_copy()

static SpreadsheetContextObject* blender::ed::spreadsheet::spreadsheet_context_object_copy ( const SpreadsheetContextObject src_context)
static

◆ spreadsheet_context_object_free()

static void blender::ed::spreadsheet::spreadsheet_context_object_free ( SpreadsheetContextObject context)
static

Definition at line 58 of file spreadsheet_context.cc.

References blender::compositor::context, and MEM_freeN.

Referenced by spreadsheet_context_free().

◆ spreadsheet_context_object_hash()

static void blender::ed::spreadsheet::spreadsheet_context_object_hash ( const SpreadsheetContextObject context,
BLI_HashMurmur2A mm2 
)
static

Definition at line 52 of file spreadsheet_context.cc.

References BLI_hash_mm2a_add(), and blender::compositor::context.

Referenced by spreadsheet_context_hash().

◆ spreadsheet_context_object_new()

static SpreadsheetContextObject* blender::ed::spreadsheet::spreadsheet_context_object_new ( )
static

◆ spreadsheet_context_update_tag()

static bool blender::ed::spreadsheet::spreadsheet_context_update_tag ( SpaceSpreadsheet sspreadsheet)
static

Tag any data relevant to the spreadsheet's context for recalculation in order to collect information to display in the editor, which may be cached during evaluation.

Returns
True when any data has been tagged for update.

Definition at line 206 of file spreadsheet_context.cc.

References SpaceSpreadsheet::context_path, DEG_id_tag_update(), Object::id, ID_RECALC_GEOMETRY, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), SpreadsheetContextObject::object, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), SPREADSHEET_CONTEXT_OBJECT, and type.

Referenced by ED_spreadsheet_context_path_update_tag().

◆ spreadsheet_data_set_panel_draw()

void blender::ed::spreadsheet::spreadsheet_data_set_panel_draw ( const bContext C,
Panel panel 
)

◆ spreadsheet_data_set_region_panels_register()

void blender::ed::spreadsheet::spreadsheet_data_set_region_panels_register ( ARegionType region_type)

◆ spreadsheet_drawer_from_layout()

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

Definition at line 365 of file spreadsheet_layout.cc.

Referenced by spreadsheet_main_region_draw().

◆ spreadsheet_filter_rows()

IndexMask blender::ed::spreadsheet::spreadsheet_filter_rows ( const SpaceSpreadsheet sspreadsheet,
const SpreadsheetLayout spreadsheet_layout,
const DataSource data_source,
ResourceScope scope 
)

◆ spreadsheet_get_display_geometry_set()

GeometrySet blender::ed::spreadsheet::spreadsheet_get_display_geometry_set ( const SpaceSpreadsheet sspreadsheet,
Object object_eval 
)

◆ 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()

SpreadsheetRowFilter * blender::ed::spreadsheet::spreadsheet_row_filter_new ( )

◆ update_view2d_tot_rect()

static void blender::ed::spreadsheet::update_view2d_tot_rect ( const SpreadsheetDrawer drawer,
ARegion region,
const int  row_amount 
)
static

◆ 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