OpenLexocad
27.1
PythonScriptObject.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
Core/DocObject.h
>
4
#include <
Core/PropertyGUID.h
>
5
#include <
Core/PropertyLogical.h
>
6
#include <
Core/PropertyText.h
>
7
8
namespace
Core
9
{
10
class
LX_CORE_EXPORT
PythonScriptObject
:
public
Core::DocObject
11
{
12
typedef
Core::DocObject
inherited
;
13
14
TYPESYSTEM_HEADER
()
15
LX_NODE_HEADER
()
16
public
:
17
friend
class
PythonScriptObject_Factory;
18
19
PythonScriptObject
();
20
~
PythonScriptObject
();
21
22
PropertyGUID
scriptId
;
// The Script Id
23
PropertyText
scriptPath
;
// The Script path
24
PropertyLogical
isExternal
;
// Flag if Script is internal or external
25
26
void
save(
Base::AbstractWriter
& writer,
Base::PersistenceVersion
& save_version)
override
;
27
void
restore(
Base::AbstractXMLReader
& reader,
Base::PersistenceVersion
&
version
)
override
;
28
// void saveDocFile(Base::AbstractWriter &writer, const Base::String& filename, const Base::String& tmpdir) override;
29
// void restoreDocFile(Base::Reader &reader, const Base::String& tmpdir) override;
30
bool
mustbeSaved()
const override
;
31
32
static
bool
isRegistered(
const
Base::GlobalId
& aScriptId);
33
static
bool
registerScript(
PythonScriptObject
* aScriptObject);
34
static
PythonScriptObject
* getRegisteredScript(
const
Base::GlobalId
& aScriptPath);
35
36
protected
:
37
Core::DocObject
* copy(
Core::CoreDocument
* toDoc,
DocObjectMap
& copyMap =
DocObjectMap
())
override
;
38
39
private
:
40
static
std::map<Base::GlobalId, Core::PythonScriptObject*> scriptRegistry;
41
};
42
43
DECLARE_OBJECT_FACTORY_NOIFC
(PythonScriptObject_Factory,
PythonScriptObject
);
44
}
// namespace Core
Base::PersistenceVersion
Definition:
Persistence.h:14
Core::PythonScriptObject::scriptPath
PropertyText scriptPath
Definition:
PythonScriptObject.h:23
Core::PropertyLogical
Definition:
PropertyLogical.h:16
Core::PropertyGUID
The PropertyGUID class saves and restores GUIDs. It also handles the management of GUIDs in the Docum...
Definition:
PropertyGUID.h:24
Core::PropertyText
Definition:
PropertyText.h:11
Core::version
LX_CORE_EXPORT Version & version
PropertyGUID.h
PropertyText.h
Core::CoreDocument
Definition:
CoreDocument.h:210
Base::AbstractXMLReader
Definition:
AbstractXMLReader.h:7
PropertyLogical.h
Base::GlobalId
Definition:
GlobalId.h:29
Core::PythonScriptObject
Definition:
PythonScriptObject.h:10
Core
Definition:
Base.h:12
Core::DECLARE_OBJECT_FACTORY_NOIFC
DECLARE_OBJECT_FACTORY_NOIFC(PropertyBoolDescriptor_Factory, PropertyBoolDescriptor)
DocObject.h
Base::AbstractWriter
Definition:
Writer.h:16
Core::PythonScriptObject::isExternal
PropertyLogical isExternal
Definition:
PythonScriptObject.h:24
LX_NODE_HEADER
LX_NODE_HEADER()
Core::PythonScriptObject::scriptId
PropertyGUID scriptId
Definition:
PythonScriptObject.h:22
DocObjectMap
std::map< Core::DocObject *, Core::DocObject * > DocObjectMap
Definition:
DocObject.h:10
TYPESYSTEM_HEADER
TYPESYSTEM_HEADER()
Core::DocObject
Definition:
DocObject.h:51
lexocad
Core
include
Core
PythonScriptObject.h
Generated by
1.8.15