VCOM:VectorWorks:Scripting:IVectorScriptEngine

From Vectorworks Developer
Jump to navigation Jump to search

.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference

Description

namespace VectorWorks::VectorScript

Interface


static const VWIID IID_VectorScriptEngine = { 0x7B793B1B, 0xE2C8, 0x43A0, { 0x86, 0xC6, 0x54, 0x2E, 0xEA, 0x7E, 0x94, 0x6B } };

class IVectorScriptEngine : public IVWSingletonUnknown
{
public:
	virtual ~IVectorScriptEngine() { }
	virtual VCOMError VCOM_CALLTYPE CompileScript(const TXString& script,
		                                      bool inShouldDisplayDialogs,
                                                      bool& outWasCompiledSuccessfully,
                                                      Sint32* outLineNumberOfSelectedError, /* optional. Pass NULL if not desired */
                                                      TXString* outErrorText /* optional. Pass NULL if not desired */) = 0;

	virtual VCOMError VCOM_CALLTYPE RequestPredefinedCode(EPredefinedCodeRequest predefinedCodeType, TXString& outCode) = 0;

	virtual VCOMError VCOM_CALLTYPE CallUserFunction(void* functionRef, PluginLibraryArgTable* arguments, size_t argumentsCount) = 0;
	virtual VCOMError VCOM_CALLTYPE CallUserProcedure(void* procedureRef, PluginLibraryArgTable* arguments, size_t argumentsCount) = 0;

	virtual VCOMError VCOM_CALLTYPE ReportRuntimeWarning(const TXString& text) = 0;
	virtual VCOMError VCOM_CALLTYPE ReportRuntimeError(const TXString& text) = 0;

// VW2012
public:
	virtual VCOMError VCOM_CALLTYPE ExecuteScript(const TXString& script) = 0;

	virtual VCOMError VCOM_CALLTYPE Repository_RemoveValues() = 0;
	virtual VCOMError VCOM_CALLTYPE Repository_RemoveValue(const TXString& name) = 0;
	virtual VCOMError VCOM_CALLTYPE Repository_GetValue(const TXString& name, VWVariant& outValue) = 0;
	virtual VCOMError VCOM_CALLTYPE Repository_SetValue(const TXString& name, const VWVariant& value) = 0;
	virtual VCOMError VCOM_CALLTYPE Repository_GetValueNames(TXStringArray& outArray) = 0;
};

Members

CompileScript
RequestPredefinedCode
CallUserFunction
CallUserProcedure
ReportRuntimeWarning
ReportRuntimeError
ExecuteScript
Repository RemoveValues
Repository RemoveValue
Repository GetValue
Repository SetValue
Repository GetValueNames

Remarks

There is predefined type for smart VCOM pointer VCOMPtr to IVectorScriptEngine interface:

typedef VCOMPtr<IVectorScriptEngine>  IVectorScriptEnginePtr;

Version

Available from: Vectorworks 2010

See Also

VCOM:VCOMPtr

[[VCOM:VCOMPtr]]