TuPrologIDEBuilder
Fluent entry point for embedding the tuProlog IDE window into a host JavaFX javafx.application.Application: build one (typically as TuPrologIDEBuilder(stage)), customize it via the title/icon/onClose/onAbout/ stylesheets/customLibrar(y|ies)/customTab(s) fluent setters, then call show to load the FXML view, wire it to a fresh TuPrologIDEModel (via TuPrologIDEController), and display stage.
NOTE (customTabs): If a CustomTab.tab has a Tab.id that is already existing in the IDE, it substitutes the existing Tab instead of being added to the tab list.
Example:
class MyIDE : Application() {
override fun start(stage: Stage) {
TuPrologIDEBuilder(stage)
.title("My Prolog IDE")
.customLibrary(MyLibrary)
.show()
}
}Constructors
Properties
Extra Library instances loaded into the IDE's solver in addition to the built-in ones (see TuPrologIDEModel.customizeSolver).
Extra tabs (and their model wiring) added to the IDE's side tab pane; see CustomTab and the note above.
The window icon, and the image shown in the default "about" dialog (see showAboutDialog).
CSS stylesheet URLs (see Resources) applied to the IDE's javafx.scene.Scene.
Functions
Appends customLibrary to customLibraries.
Appends customTab to customTabs.
Appends tab to customTabs with a no-op ModelConfigurator.
Appends a CustomTab pairing tab with modelConfigurator to customTabs.
Loads the IDE's FXML view onto stage, installs a fresh TuPrologIDEController wired to it, applies title/icon/stylesheets/onClose/onAbout, adds every customTabs entry (see TuPrologIDEController.addTab), loads every customLibraries entry into the controller's TuPrologIDEModel (see TuPrologIDEModel.customizeSolver), runs each CustomTab's ModelConfigurator, and finally shows stage.
Appends stylesheet to stylesheets.