[Bf-blender-cvs] [c4b1dd175da] temp-spreadsheet-row-filter: Merge branch 'master' into temp-spreadsheet-row-filter
Hans Goudey
noreply at git.blender.org
Sat Apr 10 01:03:26 CEST 2021
Commit: c4b1dd175da74db9474cb467c00f53240a994fec
Author: Hans Goudey
Date: Fri Apr 9 11:41:00 2021 -0500
Branches: temp-spreadsheet-row-filter
https://developer.blender.org/rBc4b1dd175da74db9474cb467c00f53240a994fec
Merge branch 'master' into temp-spreadsheet-row-filter
===================================================================
===================================================================
diff --cc source/blender/blenkernel/intern/screen.c
index 89d5ed2fcd9,d5540a3cfd3..e76fdb715a8
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@@ -1350,7 -1350,13 +1350,15 @@@ static void write_area(BlendWriter *wri
}
else if (sl->spacetype == SPACE_SPREADSHEET) {
BLO_write_struct(writer, SpaceSpreadsheet, sl);
+
+ /* TODO: Write rules. */
++
+ SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl;
+ LISTBASE_FOREACH (SpreadsheetColumn *, column, &sspreadsheet->columns) {
+ BLO_write_struct(writer, SpreadsheetColumn, column);
+ BLO_write_struct(writer, SpreadsheetColumnID, column->id);
+ BLO_write_string(writer, column->id->name);
+ }
}
}
}
@@@ -1704,8 -1707,14 +1709,14 @@@ static void direct_link_area(BlendDataR
}
else if (sl->spacetype == SPACE_SPREADSHEET) {
SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl;
-
+ /* TODO: Read rules. */
sspreadsheet->runtime = NULL;
+
+ BLO_read_list(reader, &sspreadsheet->columns);
+ LISTBASE_FOREACH (SpreadsheetColumn *, column, &sspreadsheet->columns) {
+ BLO_read_data_address(reader, &column->id);
+ BLO_read_data_address(reader, &column->id->name);
+ }
}
}
diff --cc source/blender/editors/space_spreadsheet/space_spreadsheet.cc
index 1fc601b7d6c,d34b625293c..52ea60a811d
--- a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
+++ b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
@@@ -86,12 -86,11 +88,16 @@@ static SpaceLink *spreadsheet_create(co
static void spreadsheet_free(SpaceLink *sl)
{
SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)sl;
+
+ LISTBASE_FOREACH_MUTABLE (SpreadSheetRowFilter *, row_filter, &sspreadsheet->row_filters) {
+ MEM_freeN(row_filter);
+ }
+
MEM_SAFE_FREE(sspreadsheet->runtime);
+
+ LISTBASE_FOREACH_MUTABLE (SpreadsheetColumn *, column, &sspreadsheet->columns) {
+ spreadsheet_column_free(column);
+ }
}
static void spreadsheet_init(wmWindowManager *UNUSED(wm), ScrArea *area)
@@@ -109,10 -112,11 +119,15 @@@ static SpaceLink *spreadsheet_duplicate
SpaceSpreadsheet *sspreadsheet_new = (SpaceSpreadsheet *)MEM_dupallocN(sspreadsheet_old);
sspreadsheet_new->runtime = (SpaceSpreadsheet_Runtime *)MEM_dupallocN(sspreadsheet_old->runtime);
+ BLI_listbase_clear(&sspreadsheet_new->row_filters);
+ LISTBASE_FOREACH (const SpreadSheetRowFilter *, row_filter, &sspreadsheet_old->row_filters) {
+ BLI_addtail(&sspreadsheet_new->row_filters, MEM_dupallocN(row_filter));
+ }
+ BLI_listbase_clear(&sspreadsheet_new->columns);
+ LISTBASE_FOREACH (SpreadsheetColumn *, src_column, &sspreadsheet_old->columns) {
+ SpreadsheetColumn *new_column = spreadsheet_column_copy(src_column);
+ BLI_addtail(&sspreadsheet_new->columns, new_column);
+ }
return (SpaceLink *)sspreadsheet_new;
}
diff --cc source/blender/makesdna/DNA_space_types.h
index 546cbfda230,a90047b9daa..1d88da8fd18
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@@ -1914,24 -1906,9 +1937,25 @@@ typedef enum eSpaceSpreadsheet_RowFilte
typedef enum eSpaceSpreadsheet_ObjectEvalState {
SPREADSHEET_OBJECT_EVAL_STATE_FINAL = 0,
SPREADSHEET_OBJECT_EVAL_STATE_ORIGINAL = 1,
+ SPREADSHEET_OBJECT_EVAL_STATE_NODE = 2,
} eSpaceSpreadsheet_Context;
- typedef enum eSpaceSpreadsheet_RowFilterOperation {
- SPREADSHEET_ROW_FILTER_EQUAL = 0,
- SPREADSHEET_ROW_FILTER_GREATER = 1,
- SPREADSHEET_ROW_FILTER_LESS = 2,
- } eSpaceSpreadsheet_RowFilterOperation;
-
+typedef enum eSpaceSpreadsheet_RowFilterDataType {
+ SPREADSHEET_ROW_FILTER_FLOAT = 0,
+ SPREADSHEET_ROW_FILTER_INT32 = 1,
+ SPREADSHEET_ROW_FILTER_FLOAT3 = 2,
+ SPREADSHEET_ROW_FILTER_COLOR = 3,
+ SPREADSHEET_ROW_FILTER_STRING = 4,
+ SPREADSHEET_ROW_FILTER_BOOL = 5,
+ SPREADSHEET_ROW_FILTER_FLOAT2 = 6,
+} eSpaceSpreadsheet_RowFilterDataType;
+
++typedef enum eSpaceSpreadsheet_RowFilterOperation {
++ SPREADSHEET_ROW_FILTER_EQUAL = 0,
++ SPREADSHEET_ROW_FILTER_GREATER = 1,
++ SPREADSHEET_ROW_FILTER_LESS = 2,
++} eSpaceSpreadsheet_RowFilterOperation;
++
/** \} */
/* -------------------------------------------------------------------- */
More information about the Bf-blender-cvs
mailing list