Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesdna/DNA_space_types.h
| Show First 20 Lines • Show All 1,864 Lines • ▼ Show 20 Lines | typedef struct SpreadsheetColumn { | ||||
| /** | /** | ||||
| * Identifies the data in the column. | * Identifies the data in the column. | ||||
| * This is a pointer instead of a struct to make it easier if we want to "subclass" | * This is a pointer instead of a struct to make it easier if we want to "subclass" | ||||
| * #SpreadsheetColumnID in the future for different kinds of ids. | * #SpreadsheetColumnID in the future for different kinds of ids. | ||||
| */ | */ | ||||
| SpreadsheetColumnID *id; | SpreadsheetColumnID *id; | ||||
| } SpreadsheetColumn; | } SpreadsheetColumn; | ||||
| /** | |||||
| * An item in SpaceSpreadsheet.context_path. | |||||
| * This is a bases struct for the structs below. | |||||
| */ | |||||
| typedef struct SpreadsheetContext { | |||||
| struct SpreadsheetContext *next, *prev; | |||||
| /* eSpaceSpreadsheet_ContextType. */ | |||||
| int type; | |||||
| char _pad[4]; | |||||
| } SpreadsheetContext; | |||||
| typedef struct SpreadsheetContextObject { | |||||
| SpreadsheetContext base; | |||||
| struct Object *object; | |||||
| } SpreadsheetContextObject; | |||||
| typedef struct SpreadsheetContextModifier { | |||||
| SpreadsheetContext base; | |||||
| char *modifier_name; | |||||
| } SpreadsheetContextModifier; | |||||
| typedef struct SpreadsheetContextNode { | |||||
| SpreadsheetContext base; | |||||
| char *node_name; | |||||
| } SpreadsheetContextNode; | |||||
| typedef struct SpaceSpreadsheet { | typedef struct SpaceSpreadsheet { | ||||
| SpaceLink *next, *prev; | SpaceLink *next, *prev; | ||||
| /** Storage of regions for inactive spaces. */ | /** Storage of regions for inactive spaces. */ | ||||
| ListBase regionbase; | ListBase regionbase; | ||||
| char spacetype; | char spacetype; | ||||
| char link_flag; | char link_flag; | ||||
| char _pad0[6]; | char _pad0[6]; | ||||
| /* End 'SpaceLink' header. */ | /* End 'SpaceLink' header. */ | ||||
| /* List of #SpreadsheetColumn. */ | /* List of #SpreadsheetColumn. */ | ||||
| ListBase columns; | ListBase columns; | ||||
| struct ID *pinned_id; | /** | ||||
| * List of #SpreadsheetContext. | |||||
| * This is a path to the data that is displayed in the spreadsheet. | |||||
| * It can be set explicitely by an action of the user (e.g. clicking the preview icon in a | |||||
| * geometry node) or it can be derived from context automatically based on some heuristic. | |||||
| */ | |||||
| ListBase context_path; | |||||
HooglyBoogly: Messed up formatting here, and we need another comment. | |||||
| /* eSpaceSpreadsheet_FilterFlag. */ | /* eSpaceSpreadsheet_FilterFlag. */ | ||||
| uint8_t filter_flag; | uint8_t filter_flag; | ||||
| /* #GeometryComponentType. */ | /* #GeometryComponentType. */ | ||||
| uint8_t geometry_component_type; | uint8_t geometry_component_type; | ||||
| /* #AttributeDomain. */ | /* #AttributeDomain. */ | ||||
| uint8_t attribute_domain; | uint8_t attribute_domain; | ||||
| /* eSpaceSpreadsheet_ObjectContext. */ | /* eSpaceSpreadsheet_ObjectContext. */ | ||||
| uint8_t object_eval_state; | uint8_t object_eval_state; | ||||
| char _pad1[4]; | /* eSpaceSpreadsheet_Flag. */ | ||||
| uint32_t flag; | |||||
| SpaceSpreadsheet_Runtime *runtime; | SpaceSpreadsheet_Runtime *runtime; | ||||
| } SpaceSpreadsheet; | } SpaceSpreadsheet; | ||||
| typedef enum eSpaceSpreadsheet_Flag { | |||||
| SPREADSHEET_FLAG_PINNED = (1 << 0), | |||||
| SPREADSHEET_FLAG_CONTEXT_PATH_COLLAPSED = (1 << 1), | |||||
| } eSpaceSpreadsheet_Flag; | |||||
| typedef enum eSpaceSpreadsheet_FilterFlag { | typedef enum eSpaceSpreadsheet_FilterFlag { | ||||
| SPREADSHEET_FILTER_SELECTED_ONLY = (1 << 0), | SPREADSHEET_FILTER_SELECTED_ONLY = (1 << 0), | ||||
| } eSpaceSpreadsheet_FilterFlag; | } eSpaceSpreadsheet_FilterFlag; | ||||
| typedef enum eSpaceSpreadsheet_ObjectEvalState { | typedef enum eSpaceSpreadsheet_ObjectEvalState { | ||||
| SPREADSHEET_OBJECT_EVAL_STATE_FINAL = 0, | SPREADSHEET_OBJECT_EVAL_STATE_EVALUATED = 0, | ||||
| SPREADSHEET_OBJECT_EVAL_STATE_ORIGINAL = 1, | SPREADSHEET_OBJECT_EVAL_STATE_ORIGINAL = 1, | ||||
| SPREADSHEET_OBJECT_EVAL_STATE_NODE = 2, | |||||
| } eSpaceSpreadsheet_Context; | } eSpaceSpreadsheet_Context; | ||||
| typedef enum eSpaceSpreadsheet_ContextType { | |||||
| SPREADSHEET_CONTEXT_OBJECT = 0, | |||||
| SPREADSHEET_CONTEXT_MODIFIER = 1, | |||||
| SPREADSHEET_CONTEXT_NODE = 2, | |||||
| } eSpaceSpreadsheet_ContextType; | |||||
| /** | /** | ||||
| * We can't just use UI_UNIT_X, because it does not take `widget.points` into account, which | * We can't just use UI_UNIT_X, because it does not take `widget.points` into account, which | ||||
| * modifies the width of text as well. | * modifies the width of text as well. | ||||
| */ | */ | ||||
| #define SPREADSHEET_WIDTH_UNIT \ | #define SPREADSHEET_WIDTH_UNIT \ | ||||
| (UI_UNIT_X * UI_style_get_dpi()->widget.points / (float)UI_DEFAULT_TEXT_POINTS) | (UI_UNIT_X * UI_style_get_dpi()->widget.points / (float)UI_DEFAULT_TEXT_POINTS) | ||||
| /** \} */ | /** \} */ | ||||
| ▲ Show 20 Lines • Show All 53 Lines • Show Last 20 Lines | |||||
Messed up formatting here, and we need another comment.