Cleanup: Move remaining spreadsheet editor code to C++ namespace

This commit is contained in:
Hans Goudey
2024-01-31 16:32:10 -05:00
parent 1934075d97
commit 5fa61ee620
11 changed files with 45 additions and 29 deletions

View File

@@ -36,13 +36,16 @@ void ED_spacetype_nla();
void ED_spacetype_script();
void ED_spacetype_text();
void ED_spacetype_sequencer();
void ED_spacetype_logic();
void ED_spacetype_console();
void ED_spacetype_userpref();
void ED_spacetype_clip();
void ED_spacetype_statusbar();
void ED_spacetype_topbar();
void ED_spacetype_spreadsheet();
namespace blender::ed {
namespace spreadsheet {
void register_spacetype();
}
} // namespace blender::ed
/** \} */

View File

@@ -7,4 +7,8 @@
struct ID;
struct SpaceSpreadsheet;
ID *ED_spreadsheet_get_current_id(const SpaceSpreadsheet *sspreadsheet);
namespace blender::ed::spreadsheet {
ID *get_current_id(const SpaceSpreadsheet *sspreadsheet);
}

View File

@@ -84,7 +84,7 @@ void ED_spacetypes_init()
ED_spacetype_clip();
ED_spacetype_statusbar();
ED_spacetype_topbar();
ED_spacetype_spreadsheet();
spreadsheet::register_spacetype();
/* Register operator types for screen and all spaces. */
ED_operatortypes_userpref();

View File

@@ -48,8 +48,7 @@
#include <sstream>
using namespace blender;
using namespace blender::ed::spreadsheet;
namespace blender::ed::spreadsheet {
static SpaceLink *spreadsheet_create(const ScrArea * /*area*/, const Scene * /*scene*/)
{
@@ -193,7 +192,7 @@ static void spreadsheet_main_region_init(wmWindowManager *wm, ARegion *region)
}
}
ID *ED_spreadsheet_get_current_id(const SpaceSpreadsheet *sspreadsheet)
ID *get_current_id(const SpaceSpreadsheet *sspreadsheet)
{
if (BLI_listbase_is_empty(&sspreadsheet->viewer_path.path)) {
return nullptr;
@@ -296,7 +295,7 @@ static void spreadsheet_update_context(const bContext *C)
Object *spreadsheet_get_object_eval(const SpaceSpreadsheet *sspreadsheet,
const Depsgraph *depsgraph)
{
ID *used_id = ED_spreadsheet_get_current_id(sspreadsheet);
ID *used_id = get_current_id(sspreadsheet);
if (used_id == nullptr) {
return nullptr;
}
@@ -717,7 +716,7 @@ static void spreadsheet_blend_write(BlendWriter *writer, SpaceLink *sl)
BKE_viewer_path_blend_write(writer, &sspreadsheet->viewer_path);
}
void ED_spacetype_spreadsheet()
void register_spacetype()
{
SpaceType *st = MEM_cnew<SpaceType>("spacetype spreadsheet");
ARegionType *art;
@@ -801,8 +800,10 @@ void ED_spacetype_spreadsheet()
art->init = ED_region_panels_init;
art->draw = spreadsheet_dataset_region_draw;
art->listener = spreadsheet_dataset_region_listener;
blender::ed::spreadsheet::spreadsheet_data_set_region_panels_register(*art);
spreadsheet_data_set_region_panels_register(*art);
BLI_addhead(&st->regiontypes, art);
BKE_spacetype_register(st);
}
} // namespace blender::ed::spreadsheet

View File

@@ -487,14 +487,14 @@ std::unique_ptr<ColumnValues> VolumeDataSource::get_column_values(
if (STREQ(column_id.name, "Grid Name")) {
return std::make_unique<ColumnValues>(
IFACE_("Grid Name"), VArray<std::string>::ForFunc(size, [volume](int64_t index) {
const blender::bke::VolumeGridData *volume_grid = BKE_volume_grid_get(volume, index);
const bke::VolumeGridData *volume_grid = BKE_volume_grid_get(volume, index);
return volume_grid->name();
}));
}
if (STREQ(column_id.name, "Data Type")) {
return std::make_unique<ColumnValues>(
IFACE_("Data Type"), VArray<std::string>::ForFunc(size, [volume](int64_t index) {
const blender::bke::VolumeGridData *volume_grid = BKE_volume_grid_get(volume, index);
const bke::VolumeGridData *volume_grid = BKE_volume_grid_get(volume, index);
const VolumeGridType type = volume_grid->grid_type();
const char *name = nullptr;
RNA_enum_name_from_value(rna_enum_volume_grid_data_type_items, type, &name);
@@ -504,7 +504,7 @@ std::unique_ptr<ColumnValues> VolumeDataSource::get_column_values(
if (STREQ(column_id.name, "Class")) {
return std::make_unique<ColumnValues>(
IFACE_("Class"), VArray<std::string>::ForFunc(size, [volume](int64_t index) {
const blender::bke::VolumeGridData *volume_grid = BKE_volume_grid_get(volume, index);
const bke::VolumeGridData *volume_grid = BKE_volume_grid_get(volume, index);
openvdb::GridClass grid_class = volume_grid->grid_class();
if (grid_class == openvdb::GridClass::GRID_FOG_VOLUME) {
return IFACE_("Fog Volume");

View File

@@ -7,13 +7,18 @@
#include "BKE_geometry_set.hh"
#include "spreadsheet_cache.hh"
struct ARegionType;
struct bContext;
namespace blender::ed::spreadsheet {
struct SpaceSpreadsheet_Runtime {
public:
int visible_rows = 0;
int tot_rows = 0;
int tot_columns = 0;
blender::ed::spreadsheet::SpreadsheetCache cache;
SpreadsheetCache cache;
SpaceSpreadsheet_Runtime() = default;
@@ -24,15 +29,10 @@ struct SpaceSpreadsheet_Runtime {
}
};
struct ARegionType;
struct bContext;
void spreadsheet_operatortypes();
void spreadsheet_update_context_path(const bContext *C);
Object *spreadsheet_get_object_eval(const SpaceSpreadsheet *sspreadsheet,
const Depsgraph *depsgraph);
namespace blender::ed::spreadsheet {
bke::GeometrySet spreadsheet_get_display_geometry_set(const SpaceSpreadsheet *sspreadsheet,
Object *object_eval);

View File

@@ -22,7 +22,7 @@
#include "spreadsheet_intern.hh"
#include "spreadsheet_row_filter.hh"
using namespace blender::ed::spreadsheet;
namespace blender::ed::spreadsheet {
static int row_filter_add_exec(bContext *C, wmOperator * /*op*/)
{
@@ -82,9 +82,7 @@ static void SPREADSHEET_OT_remove_row_filter_rule(wmOperatorType *ot)
static int select_component_domain_invoke(bContext *C, wmOperator *op, const wmEvent * /*event*/)
{
using namespace blender;
const auto component_type = blender::bke::GeometryComponent::Type(
RNA_int_get(op->ptr, "component_type"));
const auto component_type = bke::GeometryComponent::Type(RNA_int_get(op->ptr, "component_type"));
bke::AttrDomain domain = bke::AttrDomain(RNA_int_get(op->ptr, "attribute_domain_type"));
SpaceSpreadsheet *sspreadsheet = CTX_wm_space_spreadsheet(C);
@@ -126,3 +124,5 @@ void spreadsheet_operatortypes()
WM_operatortype_append(SPREADSHEET_OT_remove_row_filter_rule);
WM_operatortype_append(SPREADSHEET_OT_change_spreadsheet_data_source);
}
} // namespace blender::ed::spreadsheet

View File

@@ -31,8 +31,7 @@
#include <sstream>
using namespace blender;
using namespace blender::ed::spreadsheet;
namespace blender::ed::spreadsheet {
static void filter_panel_id_fn(void * /*row_filter_v*/, char *r_name)
{
@@ -367,3 +366,5 @@ void register_row_filter_panels(ARegionType &region_type)
BLI_addtail(&region_type.paneltypes, panel_type);
}
}
} // namespace blender::ed::spreadsheet

View File

@@ -6,4 +6,8 @@
struct ARegionType;
namespace blender::ed::spreadsheet {
void register_row_filter_panels(ARegionType &region_type);
}

View File

@@ -76,19 +76,22 @@ namespace blender::ed::text {
struct SpaceText_Runtime;
} // namespace blender::ed::text
using SpaceText_Runtime = blender::ed::text::SpaceText_Runtime;
namespace blender::ed::spreadsheet {
struct SpaceSpreadsheet_Runtime;
} // namespace blender::ed::spreadsheet
using SpaceSpreadsheet_Runtime = blender::ed::spreadsheet::SpaceSpreadsheet_Runtime;
#else
typedef struct SpaceNode_Runtime SpaceNode_Runtime;
typedef struct SpaceOutliner_Runtime SpaceOutliner_Runtime;
typedef struct SpaceSeq_Runtime SpaceSeq_Runtime;
typedef struct SpaceText_Runtime SpaceText_Runtime;
typedef struct SpaceSpreadsheet_Runtime SpaceSpreadsheet_Runtime;
#endif
/** Defined in `file_intern.hh`. */
typedef struct SpaceFile_Runtime SpaceFile_Runtime;
/** Defined in `spreadsheet_intern.hh`. */
typedef struct SpaceSpreadsheet_Runtime SpaceSpreadsheet_Runtime;
/* -------------------------------------------------------------------- */
/** \name SpaceLink (Base)
* \{ */

View File

@@ -3297,7 +3297,7 @@ const EnumPropertyItem *rna_SpaceSpreadsheet_attribute_domain_itemf(bContext * /
SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)ptr->data;
auto component_type = bke::GeometryComponent::Type(sspreadsheet->geometry_component_type);
if (sspreadsheet->object_eval_state == SPREADSHEET_OBJECT_EVAL_STATE_ORIGINAL) {
ID *used_id = ED_spreadsheet_get_current_id(sspreadsheet);
ID *used_id = ed::spreadsheet::get_current_id(sspreadsheet);
if (used_id != nullptr) {
if (GS(used_id->name) == ID_OB) {
Object *used_object = (Object *)used_id;