This Figure 11.1, “The General Preferences” deals with interactive settings. For example interactive dialogs, whenever a new item is inserted. And which project type Jeszra shall use on startup.
The bottom section inside Figure 11.1, “The General Preferences” allows the live editing of Jeszra.
The Figure 11.3, “Advanced Settings” preference page presents mixed customization settings. Here scripts are assigned to the project creation. And the DocBook interactive editor is activated.
The DocBook editor appears after modifying a template interface.
The bottom section of Figure 11.3, “Advanced Settings”, displays coding related settings, which allow the complete control over the used coding model.
»tclEdit«, is the main script, used by Jeszra whenever a new project is opened or created. An alternative »tclEdit« can be used to alter the coding model.
Example 11.2. Alternative Coding Model
To replace the »template« coding model with an »polymorphic« model.
Write an extension to tcldumper.tcl
—the code generation backend– has to be partially overwritten
and the new module, containing the alterations integrated
into Jeszra by using »tclEdit«.
package provide alternateDumper 1.0 # The »template« signature as of »tclDumper« proc dumper::template { name pathname createdW createdH createdS ifccomment ifc} { # Alternate Implementation... }
Using alternate back ends via »tclEdit«.
... # Use the original »tclDumper«! package require tclDumper # Overwrite parts from »tclDumper«, # such as »dumper::template«. package require alternateDumper ...
There are a few environment variables controlling the behavior or assumed configuration of Jeszra.
JESZRACONFIG was already mentioned in the prior sections. JESZRACONFIG defines where the configuration shall be stored.
DEBUG_LEVEL is a Runtime Library environment variable to control logging during development and bug-tracking.
JESZRAHOME the Jeszra installation directory. VGHOME is related to JESZRAHOME.
HOME , the user's home directory. The Jeszra configuration is normally searched in this directory.
XAPPLRESDIR, the
directory where Jeszra searches its X Resource Database
resources. The app-defaults
sub-directory, inside the user's home directory is
used when XAPPLERESDIR is
undefined.
ORGANISATION identifies the copyright holder in the generated code.
USER, identifies the author in the generated code.
LICENSE, used during the code generation to create a license notice.
GPMODE specifies that a procedure is created for every new composite window. GPMODE is a Runtime Library environemt variable.
HTMLHOME, HTMLBROWSER , location of the html documentation and the assumed web-browser. Needed for using the Runtime Library online help module: href.
Tk_LIBRARY, identifies the Tk shared library used inside a project. Some windowing systems may allow to use an alternative Tk library inside of all projects. Using TK_LIBRARY in such a way is dangerous and may very likely lead to data-loss.
Some variables inside the Jeszra settings alter the configuration itself.
The Jeszra code generation and the its
own configuration is based on prototypes. Under normal
conditions are file specific prototypes stored inside
the prototypes
sub-directory.
Jeszra can be instructed to bypass these
prototypes and instead to use alternate prototypes.
Example 11.3. Prototypes
:rat(settings,File,Prototype,Ifc)
The generated tests.
:rat(settings,File,Prototype,Configuration)
The generated configuration.
:rat(settings,File,Prototype,StartUp)
Generated preamble for a template based project.