Warning, /graphics/kst-plot/pyKst/AddingInterfaces is written in an unsupported language. File is not indexed.
0001 How to add an interface for a new NamedObject. 0002 0003 -Create a class which inherits from ScriptInterface. 0004 eg, ScalarGenSI in scalarsscriptinterface.cpp 0005 0006 -Implement the 5 methods. 0007 -doCommand actually parses the commands from pyKst.py 0008 -you probably want to call doNamedObjectCommand as is done 0009 in ScalarGenSI::doCommand() 0010 0011 -Add virtual ScriptInterface* createScriptInterface() to the 0012 class you are making an interface for. eg, Scalar. 0013 0014 ScriptInterface* Scalar::createScriptInterface() { 0015 return new ScalarGenSI(this); 0016 } 0017 0018 -Create a command in ScripServer.h 0019 eg, QByteArray newGeneratedScalar(QByteArray& command, QLocalSocket* s,ObjectStore*_store); 0020 0021 -Implement it in ScripServer.cpp 0022 0023 QByteArray ScriptServer::newGeneratedScalar(QByteArray&, QLocalSocket* s,ObjectStore*) { 0024 if(_interface) { 0025 return handleResponse("To access this function, first call endEdit()",s); 0026 } else { 0027 _interface = ScalarGenSI::newScalar(_store); return handleResponse("Ok",s); 0028 } 0029 } 0030 0031 -register it in _fnMap 0032 _fnMap.insert("newGeneratedScalar()",&ScriptServer::newGeneratedScalar); 0033 0034 -Call the interface you just wrote in pyKst.py 0035 search for GeneratedScalar as an example. 0036