Skip to content

Commit 55547fc

Browse files
committed
Split XML project file reading and writing.
1 parent dcea65f commit 55547fc

File tree

11 files changed

+4620
-4336
lines changed

11 files changed

+4620
-4336
lines changed

src/appleseed.python/bindproject.cpp

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -248,27 +248,28 @@ namespace
248248
}
249249

250250
bpy::object project_file_reader_read_default_opts(
251-
ProjectFileReader* reader,
252251
const char* project_filename,
253252
const char* schema_filename)
254253
{
255-
auto_release_ptr<Project> project(reader->read(project_filename, schema_filename));
254+
auto_release_ptr<Project> project(
255+
ProjectFileReader::read(project_filename, schema_filename));
256256
return bpy::object(project);
257257
}
258258

259259
bpy::object project_file_reader_read_with_opts(
260-
ProjectFileReader* reader,
261260
const char* project_filename,
262261
const char* schema_filename,
263262
const ProjectFileReader::Options opts)
264263
{
265-
auto_release_ptr<Project> project(reader->read(project_filename, schema_filename, opts));
264+
auto_release_ptr<Project> project(
265+
ProjectFileReader::read(project_filename, schema_filename, opts));
266266
return bpy::object(project);
267267
}
268268

269-
bpy::object project_file_reader_load_builtin(ProjectFileReader* reader, const char* project_name)
269+
bpy::object project_file_reader_load_builtin(const char* project_name)
270270
{
271-
auto_release_ptr<Project> project(reader->load_builtin(project_name));
271+
auto_release_ptr<Project> project(
272+
ProjectFileReader::load_builtin(project_name));
272273
return bpy::object(project);
273274
}
274275

@@ -353,9 +354,9 @@ void bind_project()
353354
.value("OmitProjectSchemaValidation", ProjectFileReader::OmitProjectSchemaValidation);
354355

355356
bpy::class_<ProjectFileReader>("ProjectFileReader")
356-
.def("read", &project_file_reader_read_default_opts)
357-
.def("read", &project_file_reader_read_with_opts)
358-
.def("load_builtin", &project_file_reader_load_builtin);
357+
.def("read", &project_file_reader_read_default_opts).staticmethod("read")
358+
.def("read", &project_file_reader_read_with_opts).staticmethod("read")
359+
.def("load_builtin", &project_file_reader_load_builtin).staticmethod("load_builtin");
359360

360361
bpy::enum_<ProjectFileWriter::Options>("ProjectFileWriterOptions")
361362
.value("Defaults", ProjectFileWriter::Defaults)
@@ -366,7 +367,7 @@ void bind_project()
366367

367368
bpy::class_<ProjectFileWriter>("ProjectFileWriter")
368369
// These methods are static but for symmetry with ProjectFileReader we're exposing them as non-static.
369-
.def("write", write_project_default_opts)
370-
.def("write", write_project_with_opts)
371-
.def("write", write_project_with_opts_and_comments);
370+
.def("write", write_project_default_opts).staticmethod("write")
371+
.def("write", write_project_with_opts).staticmethod("write")
372+
.def("write", write_project_with_opts_and_comments).staticmethod("write");
372373
}

src/appleseed.qtcommon/project/projectmanager.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838

3939
// appleseed.foundation headers.
4040
#include "foundation/platform/compiler.h"
41+
#include "foundation/utility/searchpaths.h"
4142

4243
// Qt headers.
4344
#include <QFutureWatcher>

src/appleseed/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2028,6 +2028,10 @@ set (renderer_modeling_project_sources
20282028
renderer/modeling/project/projecttracker.cpp
20292029
renderer/modeling/project/projecttracker.h
20302030
renderer/modeling/project/renderingtimer.h
2031+
renderer/modeling/project/xmlprojectfilereader.cpp
2032+
renderer/modeling/project/xmlprojectfilereader.h
2033+
renderer/modeling/project/xmlprojectfilewriter.cpp
2034+
renderer/modeling/project/xmlprojectfilewriter.h
20312035
)
20322036
list (APPEND appleseed_sources
20332037
${renderer_modeling_project_sources}

0 commit comments

Comments
 (0)