Dale Glass
4d8a20aed7
Use logging categories everywhere in the base scripting engine code
2023-05-19 00:17:39 +02:00
Dale Glass
acd19f7c40
Review fix: add flag to choose whether to abort script on exception
2023-05-19 00:17:39 +02:00
Dale Glass
bb74c2ecc9
Allow accessing engine exceptions from ScriptManager
2023-05-19 00:17:39 +02:00
Dale Glass
67e7a7375a
Further exception work on V8
...
* Get rid of maybeEmitUncaughtException
* Mostly get rid of makeError
* Introduce exception hierarchy, change exceptions to shared_ptr
* Simplify exception throwing code
2023-05-19 00:17:39 +02:00
Dale Glass
c0e62c5cc2
Initial exception handling
...
Make exception handling use the new ScriptException class.
Add exception signal
Throw exceptions in script evaluation
Remove references to ScriptManager from ScriptEngine
2023-05-19 00:17:39 +02:00
ae7d229d0e
Fix copyright headers
2023-05-19 00:17:38 +02:00
Dale Glass
02a0e33e95
Add NETWORKLESS_TEST_SCRIPT type to NetworkManager.
...
This is a slightly hacky way to make ScriptManager work without any
networking, and minimize the number of dependencies needed to run
a test.
2023-05-19 00:17:38 +02:00
Dale Glass
84fd17cb66
Review fixes
2023-05-19 00:17:38 +02:00
Dale Glass
36cba56325
A bit more documentation
2023-05-19 00:17:38 +02:00
Dale Glass
4d70155e59
Create ScriptManagerScriptingInterface to move off the scripting API into its own class
...
Add a lot of documentation
2023-05-19 00:17:38 +02:00
Dale Glass
e35aa8046d
Add more Doxygen docs
...
Doesn't work right in ScriptManager, looks like a conflict with JSDoc
2023-05-19 00:17:38 +02:00
b554fc70ea
Added script timers performance debugging
2023-05-19 00:17:38 +02:00
5809576577
Fixed Create App
2023-05-19 00:17:37 +02:00
Dale Glass
1a4eb3ac62
Keep return script value
2023-05-19 00:17:36 +02:00
Dale Glass
e5217c44f0
Build fixes
2023-05-19 00:17:36 +02:00
b4d21c38c3
Updated script isolation files
2023-05-19 00:17:36 +02:00
8304a0c500
Fixed clearTimeout behavior when called with expired timer
2023-05-19 00:17:35 +02:00
0a3ec92031
Type registeration fixes for scripting engine
2023-05-19 00:17:35 +02:00
Heather Anderson
55b5a2cd03
Continued tightening and testing of the scripting engine "glue" logic
...
- QObject wrappers will now be reused when asked to wrap the same QObject multiple times
- improved error reporting when we can't form a native call from script
- dropped support for having the existing QtScript logic handle Qt object transformations
- assuming that our code will handle all calls into native objects
- changing timer functions to use CTimer* publicly rather than casted QObject*
2023-05-19 00:17:34 +02:00
Heather Anderson
bc6eaf25dc
first pass creating Qt <-> QtScript interface
2023-05-19 00:17:34 +02:00
Heather Anderson
70fbe76341
convert script engine variables from QSharedPointer to std::shared_ptr
2023-05-19 00:17:34 +02:00
Heather Anderson
bd4a035ffb
significant cleanup of ScriptEngineQtScript (which isn't exposed to the scripting engine and shouldn't be @jsdoc'ed)
2023-05-19 00:17:34 +02:00
Heather Anderson
8581022a53
rework ScriptValue to act like a stack variable rather than a pointer
2023-05-19 00:17:34 +02:00
Heather Anderson
665ea521e8
shifting classes around and adding static initializers to resolve dependencies on scripting-engine (and drop dependencies from scripting-engine)
2023-05-19 00:17:33 +02:00
Heather Anderson
2dd9d784a9
working to clean up the QtScript implementation and move towards completion of the proxy interface
2023-05-19 00:17:33 +02:00
Heather Anderson
1e018dbc64
isolate calls to the QtScript libraries to an interface we control
2023-05-19 00:17:33 +02:00