VCOM:VectorWorks:Scripting:IPythonScriptEngine: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 7: | Line 7: | ||
namespace <code>VectorWorks::Scripting</code> | namespace <code>VectorWorks::Scripting</code> | ||
This class provides the ability for a plug-in to compile and execute Python scripts. | |||
</desc> | </desc> | ||
Line 13: | Line 13: | ||
<interface> | <interface> | ||
<code lang="cpp"> | <code lang="cpp"> | ||
// --------------------------------------------------------------------------------------------------- | |||
// {473B0000-869A-4E12-86C9-056EFC87871B} | |||
static const VWIID IID_PythonScriptEngine = { 0x473b0000, 0x869a, 0x4e12, { 0x86, 0xc9, 0x5, 0x6e, 0xfc, 0x87, 0x87, 0x1b } }; | |||
class IPythonScriptEngine : public IVWSingletonUnknown | |||
{ | |||
public: | |||
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 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; | |||
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; | |||
virtual VCOMError VCOM_CALLTYPE DisplayScriptOptionsDlg() = 0; | |||
}; | |||
</code> | </code> | ||
</interface> | </interface> | ||
Line 22: | Line 51: | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::CompileScript|CompileScript]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::CompileScript|CompileScript]] | ||
Compile the specified scripts. This is just used for purposes of reporting syntax errors. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::RequestPredefinedCode|RequestPredefinedCode]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::RequestPredefinedCode|RequestPredefinedCode]] | ||
Uses UI to return predefined code (i.e. function names, criteria, etc) text. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::ExecuteScript|ExecuteScript]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::ExecuteScript|ExecuteScript]] | ||
Execute a python script provided as text. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_RemoveValues|Repository_RemoveValues]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_RemoveValues|Repository_RemoveValues]] | ||
Allow access to repository to communicate data with the plug-in. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_RemoveValue|Repository_RemoveValue]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_RemoveValue|Repository_RemoveValue]] | ||
Allow access to repository to communicate data with the plug-in. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_GetValue|Repository_GetValue]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_GetValue|Repository_GetValue]] | ||
Allow access to repository to communicate data with the plug-in. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_SetValue|Repository_SetValue]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_SetValue|Repository_SetValue]] | ||
Allow access to repository to communicate data with the plug-in. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_GetValueNames|Repository_GetValueNames]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::Repository_GetValueNames|Repository_GetValueNames]] | ||
Allow access to repository to communicate data with the plug-in. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::CallUserFunction|CallUserFunction]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::CallUserFunction|CallUserFunction]] | ||
Call are user function from a library callback. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::CallUserProcedure|CallUserProcedure]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::CallUserProcedure|CallUserProcedure]] | ||
Call are user function from a library callback. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::ReportRuntimeWarning|ReportRuntimeWarning]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::ReportRuntimeWarning|ReportRuntimeWarning]] | ||
Report warnings in the script engine. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::ReportRuntimeError|ReportRuntimeError]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::ReportRuntimeError|ReportRuntimeError]] | ||
Report errors in the script engine. | |||
</line> | </line> | ||
<line> | <line> | ||
[[VCOM:VectorWorks:Scripting:IPythonScriptEngine::DisplayScriptOptionsDlg|DisplayScriptOptionsDlg]] | [[VCOM:VectorWorks:Scripting:IPythonScriptEngine::DisplayScriptOptionsDlg|DisplayScriptOptionsDlg]] | ||
Display the UI to specify scripting options. | |||
</line> | </line> | ||
</lineList> | </lineList> |
Latest revision as of 15:21, 19 September 2013
Description
namespace VectorWorks::Scripting
This class provides the ability for a plug-in to compile and execute Python scripts.
Interface
// --------------------------------------------------------------------------------------------------- // {473B0000-869A-4E12-86C9-056EFC87871B} static const VWIID IID_PythonScriptEngine = { 0x473b0000, 0x869a, 0x4e12, { 0x86, 0xc9, 0x5, 0x6e, 0xfc, 0x87, 0x87, 0x1b } }; class IPythonScriptEngine : public IVWSingletonUnknown { public: 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 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; 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; virtual VCOMError VCOM_CALLTYPE DisplayScriptOptionsDlg() = 0; };
Members
CompileScript Compile the specified scripts. This is just used for purposes of reporting syntax errors. RequestPredefinedCode Uses UI to return predefined code (i.e. function names, criteria, etc) text. ExecuteScript Execute a python script provided as text. Repository_RemoveValues Allow access to repository to communicate data with the plug-in. Repository_RemoveValue Allow access to repository to communicate data with the plug-in. Repository_GetValue Allow access to repository to communicate data with the plug-in. Repository_SetValue Allow access to repository to communicate data with the plug-in. Repository_GetValueNames Allow access to repository to communicate data with the plug-in. CallUserFunction Call are user function from a library callback. CallUserProcedure Call are user function from a library callback. ReportRuntimeWarning Report warnings in the script engine. ReportRuntimeError Report errors in the script engine. DisplayScriptOptionsDlg Display the UI to specify scripting options.
Remarks
There is predefined type for smart VCOM pointer VCOMPtr to IPythonScriptEngine interface:
typedef VCOMPtr<IPythonScriptEngine> IPythonScriptEnginePtr;
Version
Available from: Vectorworks 2014
See Also
[[VCOM:VCOMPtr]]