Description

Figure 7.1. gestalt


The »gestalt« command creates the »Jeszra« main window.

Purpose: composes the user interface of Jeszra.

Key Features

Dynamic menus

Dynamic menus are required to circumference various TK Menu Bugs under AQUA (refresh).

Note: the menus are first generated inside the init function; to ensure there are menus at all. This is also required in order to have active accelerators just after launch.

Palettes

Palettes are a special kind of toolbars, using the goolbar template.

Toolbar, Statusbar, Tooltips

Application typical decorational elements.

Inspector, Hierarchy

»Jeszra« specific elements.

Scripttool

Scripttool is also a palette, intended for recording and playback of scripts.

Window Command

A Window created through the gestalt command exposes various functions. Using these functions has the following general form:

object.option(?arg, arg, ...?)

PathName is the same as the window path name. Option and the args determine the exact behavior of the command. The following commands are possible for this window:

object.cget(option)

Returns the current value of the configuration option given by option. Option may have any of the values accepted by the gestalt command.

object.configure(?option? ?=value, option=value, ...?)

Query or modify the configuration options of the window. If no option is specified, returns a list describing all of the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given window option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the gestalt command.

object.unmanagedWindow()

Remove the selected window from geometry management. Hide the window.

object.addSectionAfter( container row )

Grid Menu. Increase the grid inside the container of the current selected window, by adding a new section row after it.

object.showTextOnly()

Hide the icons inside the palettes.

object.analyzeScript( history )

Evaluation & substitution for historic commands

Stop recording and analyze what's been recorded process history data . remove index from each entry .. substitute defined command patterns ... substitute defined atoms.

Substitution. A substitution does occur whenever a context definition was inserted into the history. Such a context is defined as a history script with an action context. In addition the action (context) is added as a comment to the substitution command. A substitution will be applied on the following commands and on the previous command. The previous command is embedded within the substitution! Requiring that the previous command returns with the item of substitution.

Example:

newWidget ...
set frame_1 .top_1.frame_1;
set frame_1 [newWidget...];

object.showStatusbar()

Displays the status-bar at the bottom of the window.

object.open()

Open a project from disc.

object.delete()

Remove the current window.

object.enterMenu()

Executed in response to a F10-Key. A previously hidden menubar is displayed in response to the F10-Key.

object.about( ?stream? )

Display copyright informations.

object.addRowBefore( container row )

Grid Menu. Increases the grid inside the container of the current selected window, by adding a new row before it.

object.perlWrapper()

Undocumented.

object.paste()

Paste the content of the clipboard under the current selected window.

object.closeTest()

object.scripts()

Don’t use »scripttool« here, because this will launch the script editor. These editor displays the recorded stuff to the point of calling. Scripts is thus a substitute for accessing the dedicated scripttool window.

object.test()

Run the current project in a special test environment. This environment is configured through »tcltest.tcl«.

object.isTemplate()

Test whether the current window is the root window of a template –Internal used to generate DocBook, Elisp, Lisp.

object.hierarchy2Svg( ?svgfile? )

Make a SVG screen-shot from the current hierarchy view -- including the tabset.

object.gridManager()

Undocumented.

object.lispWrapper()

Generate a Lisp Wrapper class for the selected tempalte.

object.window2Svg( window ?svgfile? )

Make a screen-shot from a given child »window«.

object.redo()

Redo the previous action.

object.rubyWrapper()

Generate a Ruby Wrapper class for the selected template.

object.showToolbar()

Displays the main toolbar.

object.hideToolbar()

Unmaps the main toolbar.

object.flatHierarchy()

Turns the flat hierarchy mode on.

Flat hierarchy means that all windows are direct children of the toplevel window.

The container window will be different from the parent window.

object.svgScreenshot()

Create a SVG Screens hot from the selected toplevel window.

object.filtersDef()

Define initial filter definition. Button, menubutton, checkbutton & radiobutton are defined her in order to circumvent tile related stuff...

object.actions()

-

object.packManager()

Set the next used geometry manager to »pack«. This setting is permanent, until another geometry manager gets chosen.

object.new( ?type? ?style? )

Create a new project of »type« and variant »style«.

object.scripttool()

Initialize the Tcl history mechanism.

object.hideStatusbar()

Hide the Status-bar at the bottom of the window.

object.pythonWrapper()

Generate a Python Wrapper class for the selected template.

object.embeddedHelplines()

Helpline editor for embedded Helplines. fixme (Roger) 04/21/2008 : Doesn't work properly. Help lines show/hide doesn't operate Remove Help lines doesn't work, either. Need to extend gelplines and hlines.

NOT YET USABLE

object.importCode()

object.inspector()

Return the current inspector.

object.showTooltips()

Activates interactive tool tips.

object.statusbar()

Return the current status bar to the caller.

object.palettes()

Give path to the palettes window

object.windowManager()

Set the next used geometry manager to »parent«. This setting is permanent, until another geometry manager gets chosen.

The »parent« geometry manager stands for any window built-in geometry manager.

Under normal conditions, the built-in geometry manager is anyway dominant to any other manager. This setting is only useful when the built-in geometry manager was turned of for the related window. See »grepkproperties« Built-in Manager.

object.showMenubar()

Displays a formerly hidden menubar. As a side-effect the show menubar button is destroyed.

object.hideMenubar()

hideMenubar places a small button as a place holder for the main menu bar. The menu bar is removed..

object.customManager( manager )

Set the next used geometry manager to »manager«. This setting is permanent, until another geomentry manager gets chosen.

object.customizeToolbar( ?toolbar? )

Starts and initialize the goolbarEditor For the provided toolbar.

The toolbar will be modified accordingly (the -show property).

object.close()

Close the current project.

object.importIcons()

Import the specified image file into the current project.

object.isToplevel()

Test whether the current window is a toplevel window –Internal used for SVG.

object.hideTooltips()

Disable interactive tool tips.

object.runtimeEnvironment()

Create »pkgIndex.tcl« and »tclIndex.tcl« inside the project directory.

object.emacsSkeletons()

Create Emacs skeletons for the selected template.

object.saveAs()

Undocumented.

object.cut()

Copy the selected windows to the clipboard and erase them.

object.showHelplines( ?state? )

Display dynamic help lines.

object.attachHandleToMenubar()

Put a menubar hide button in the menubar. The function searches for the clone of the menubar and »place« a »handle« button in its left side.

X11, only.

object.insertNextTo()

Mark the current selected window as the insertion point. The next new window is put underneath this window.

object.postAllMenus( ... )

Undocumented.

object.placeManager()

Set the next used geometry manager to »place«. This setting is permanent, until another geomentry manager gets chosen.

object.xcodeMacros()

Create XCode Text macros for the selected template.

object.mytbicons()

Creates a »giconscale« window. Similar to »myicons«, but exclusively dedicated to the main toolbar.

object.inspector2Svg( ?svgfile? )

Make a SVG screen-shot from the current inspector edit session –only from the main inspector.

object.evalEnsure( interp item )

Visit all palette windows and evaluate their »ensure« property with »item« inside the current project (»interp«).

object.closeRun()

Close the test project.

object.pasteSpecial()

Use a custom paste operation, in order to apply previous copied windows.

object.undo()

Undo the previous action.

object.showStuff( ?showIcon? ?showText? )

Internal used; display the icon and text inside of palette windows according to »showIcon« and »showText«.

object.showShell()

Display an interactive console window. Revision : 09/18-28/2009, Roger–extendB and transient-

object.find()

Displays the »Find« Dialog. Revision : 09/09/2009, Roger

object.docbook()

Generate a DocBook Refentry for the selected tempalte.

object.editHelplines()

Display the »Help line Editor«. The help line editor is displayed and configured to work on the current window.

If the help line editor was previously open, then it is only reconfigured. Use the generic helplines property access. Revision : 09/09/2009, Roger

object.addRowAfter( container row )

Grid Menu. Increase the grid inside the container of the current selected window, by adding a new row after it.

object.copy()

Copy the selected windows to the clipboard.

object.quit()

Terminate »Jeszra« and store the current preferences in a customization file.

object.showPreferences()

Display the preference dialog and register a refresh handler for modified settings.

object.showIconOnly()

Hide the text inside the palettes.

object.init()

Initialize gestalt. Populate palettes. Create the scripttool.

object.containerOnly( ?state? )

Allow the window being dragged to the same container only. No sibling, nice or nephew is allowed. Apply current setting to current project –only.

object.toolsmenu()

Provides access to the »Tools« menu inside the main menu bar.

object.hideHelplines()

Hide dynamic help lines.

object.removeRow( container row )

Grid Menu. Decrease the grid inside the container of the selected window, by removing the current row.

object.hierarchy()

Return the current hierarchy view.

object.closeEdits()

Close all open projects, including the test environment.

object.save()

Save the current project to disc.

object.addSectionBefore( container row )

Grid Menu. Increases the grid inside the container of the current selected window, by adding a new section row before it.

object.helplinesdialog()

Return the current helplines dialog.

object.deepHierarchy()

Turns the »deephierarchy« mode on. This is default behavior.

In a deep hierarchy the parent window shall also be the container. Multiple levels of containing windows may exist.

object.toggleToolbar()

Switch the visibility from hidden to shown and vise-versa for the main toolbar.

Needed under Tk 8.5 / AQUA, to control the toolbar visibility from the title-bar.

object.searchdialog()

Return the current search dialog.

object.tile()

Looks for tile substitutions inside the option database.

object.newmenu()

Provides access to the »New« sub menu inside the »File« menu of the main menu bar.

object.showIconText()

Display both: icons and text inside the palettes.