[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