5 #ifndef CNOID_BASE_PROJECT_MANAGER_H
6 #define CNOID_BASE_PROJECT_MANAGER_H
11 #include "exportdecl.h"
15 class ExtensionManager;
22 static void setDefaultOptionToStoreLayoutInProjectFile(
bool on);
39 void loadProject(
const std::string& filename,
Item* parentItem =
nullptr);
41 void loadBuiltinProject(
const std::string& resourceFile,
Item* parentItem =
nullptr);
42 bool isLoadingProject()
const;
43 void saveProject(
const std::string& filename,
Item* item =
nullptr);
44 void overwriteCurrentProject();
45 std::string currentProjectFile()
const;
46 std::string currentProjectDirectory()
const;
47 void setCurrentProjectName(
const std::string& filename);
49 SignalProxy<void(
int recursiveLevel)> sigProjectAboutToBeLoaded();
50 SignalProxy<void(
int recursiveLevel)> sigProjectLoaded();
59 friend class ExtensionManagerImpl;
62 const std::string& moduleName,
63 const std::string& objectName,
64 std::function<
bool(
Archive&)> storeFunction,
65 std::function<
void(
const Archive&)> restoreFunction);
67 void resetArchivers(
const std::string& moduleName);