|
Kross, the Kexi scripting bridge.
^ toc
Common
-
[done] Let everything, interpreters and wrappers, be a plugin.
-
[done] Load plugins only on demand.
-
[done] Call scripting functions from within native code.
-
[done] Callback of native functionality from within scripting code.
-
[done] Integrate handling of classes and instances.
- [planned] Be able to inheritate a C++ class in scripting code.
- [planned] Write some Python DB-API to KexiDB layer to be able to use all the database-drivers python supports within Kexi.
- [planned] Autogenerate API-documentation.
^ toc
Embedding
-
[done] Wrap KexiDB to access the whole database-functionality Kexi provides.
-
[done] Wrap the Kexi application to access Kexi runtime-stuff like the KexiMainWindow.
-
[done] Support QObject, signals and slots and Q_PROPERTY's.
- [planned] Port to Qt4 QMeta-framework for wrapped QObject's signals and slots handling.
^ toc
Extending
-
[done] Enable using of GUI-toolkits like TKinter or PyQt.
-
[done] Add some example scripts to demonstrate how scripting could be used to extend Kexi.
- [planned] Provide a simple Wizard-plugin that enables creating of wizards with Kexi-widgets like the "Connect with server"-dialog from within scripting.
- [planned] Write some tool to be able to automatically create wrappers out of existing code. Maybe something like a Smoke-compatibility layer would do the job.
- [planned] Optional build Kexi-independend python module out of the existing KexiDB-wrappers. This would allow e.g. an easy Web implementation.
^ toc
-
[done] Open, edit, save and execute scriptingcode.
-
[done] Catch stdout and stderr and display them. On exceptions jump to the line of code where it got thrown.
-
[done] Switch between supported interpreter bindings via propertyeditor.
-
[done] Configure interpreter-dependend options via propertyeditor.
- [planned] Debugger that displays the objecttree.
- [planned] Breakpoints execution should sleep on.
- [planned] Backtrace to show the ways an execution was gone.
^ toc
Security
-
[done] Integrate Zope RestrictedPython to provide a restricted python environment to execute python scripting code in a secure sandbox.
- [planned] Write security-proxies to provide some needed functionality like "print" even in restricted mode.
- [planned] Sign scriptingcode with e.g. QCA to be able to split scripts into trusted and untrusted/insecure ones.
^ toc
Interpreter
-
[done] implement Python binding
- [planned] implement KJS binding to support ECMA like some other KDE-applications do
- [planned] implement Java binding to be able to e.g. access JDBC
^ toc
- [planned] Macrorecorder
- [planned] Macroeditor
- [planned] Macromanager
|