Hopefully this question doesn't require a team of lawyers.
I'd like to use JxBrowser in my module, but when I try to create a JxBrowser engine instance I get the following error:
com.teamdev.jxbrowser.engine.NoLicenseException
at com.teamdev.jxbrowser.engine.internal.LicenseExceptionFactory.create(LicenseExceptionFactory.java:65)
at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:268)
at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:163)
at ...
- Does IA's JxBrowser license cover usage by module authors?
- Does the answer to #1 change if my module requires Perspective in order to run?
- Basically, am I allowed to grab a reference to the designer's existing JxBrowser engine?
I would guess no based on this, but I don't know the we have a different license agreement or terms.
What are you ultimately trying to do? I would hazard a guess that referencing an existing JxBrowser instance is probably "more okay" than creating your own, but, uh, disclaimer: I am not a lawyer.
If you are intending to offer some kind of configuration UI in the designer, you should brush up on your java Swing and implement a Workspace
.
I'd like to use Monaco as an editor for JavaScript resources.
An RSyntaxTextArea will do fine, I was mostly interested in it as an exercise/proof of concept.
The current progress:
4 Likes

I am still not a lawyer, but, if you get a reference to the Perspective DesignerHook
, then get the workspace, it has a getter for the JxB Engine
... so you're not creating your own, you're just recycling the one we use.
1 Like
Off the thread topic, but while I have your attention, are the new 8.1 script editor improvements public?
PythonTextAreaEditActionHandler references com.inductiveautomation.ignition.designer.gui.tools.PythonTextArea
, but there's no JavaDoc page for that class.
It's written in Kotlin, and our build isn't capable of producing and/or merging KDoc with Javadoc.
It's one of the reasons I rewrote the Device API interfaces back into Java
3 Likes
This is 8.3, but I think the only API difference is the change to the scriptHintTree/PackageTreeNode
; in 8.1 you provide a ScriptHintMap
.
The only 'gotcha' I remember adding to the documentation is that you should not directly modify the Document inside the inner RSTA - always interact with the text
property.
If you just want to enrich autocomplete with something, go to the completion provider which has some relatively self explanatory methods:
CompletionDescriptor
is a pretty basic hierarchy of data classes.
2 Likes