Obtaining Help ============== Brief balloon-style help can be obtained on most components of this GUI by setting balloon help from the Tools menu. With balloon help turned on, if the mouse cursor is left on an item that has balloon help for a short period of time, a text message (the balloon) will popup giving some short information on the particular item. Balloon help is on by default. To make the default to be no balloon help, use the TkECLiPSe preference editor. If a more detailed help file (like this one for the top-level) is available for a particular window, it can be obtained by typing Alt-h (Alt key with h) within the window. If a menu bar is available in a particular window, the help file can also be obtained from the menu. *Note* functions that are accessed via the right-mouse button can alternatively be accessed via control-left mouse button. This is mainly for allow one-button mouse users, where the mouse button corresponds to the left-mouse button. Summary of function =================== The toplevel provides a graphical user interface to ECLiPSe's top-level. A set of tools are also provided to help the user to develop programs. If tkeclipse is started from a command line, two command line options are available to set the sizes of the stacks: -g The maximum size to which the global/trail stack area can grow to. The size is specified in kilobytes (followed by an optional K), in megabytes (followed by M) or in gigabytes (followed by G). -l The maximum size to which the global/trail stack area can grow to. The size is specified in kilobytes (followed by an optional K), in megabytes (followed by M) or in gigabytes (followed by G). The user can also specify various initial settings for the tkeclipse which would override the default values. See the initial settings section for more. Errors and warning messages disable scrolling on the output window. Scrolling can be re-enabled by left-clicking on the y scroll-bar. Layout ====== The toplevel is divided into the following components (from the top): A menu bar A box indicating the current toplevel module, and a query entry box A set of buttons for controlling the execution of a program, plus an indicator of the status of the current query. A Results window where the result of executing the query is shown. An Output and Error Messages window where outputs from a program and also messages from ECLiPSe are displayed. Initial Settings ================ The user can specify initial settings for various parameters of tkeclipse, which will override the predefined defaults. These parameters are divided into two types: those specific to the tkeclipse toplevel, and those that are used by the development tools (which may also be applicable to the toplevel, e.g. balloonhelp). The initial values of these parameters can either be specified by using the Preference Editor tool, or they can be specified directly: a) On Unix: in the files .tkeclipserc (for toplevel parameters) and .tkeclipsetoolsrc (for development tools parameters). The system will first search for these files in the current directory, and then in the user's home directory. Each parameter is specified on a separate line in the appropriate file, in the format b) On Windows: these parameters are specified in the Windows registry, under two keys: HKEY_CURRENT_USER\\Software\\IC-Parc\\ECLiPSe\\tkeclipserc (for toplevel) HKEY_CURRENT_USER\\Software\\IC-Parc\\ECLiPSe\\tkeclipsetoolsrc (for development tools) Each parameter is specified as a value under the appropriate key. The name of the value is the parameter, and the type of the value is a string. The initial settings for the parameters for the tools will be loaded during the call to ec_tools_init, so they will be set when the user uses the tools in their own application. The following parameters are currently allowed: Toplevel: --------- Parameter Possible Value Description ________________________________________________________________________ globalsize positive integer The maximum size to which the global/trail stack area can grow to. The unit is megabytes. Overridden by the -g option. localsize positive integer The maximum size to which the local/control stack area can grow to. The unit is megabytes. Overridden by the -l option. initquery string An ECLiPSe query that TkECLiPSe will execute immediately after startup. It can be used to perform user defined initialisations. default_module string The default toplevel module name (default: eclipse). default_language string The default language name (default: eclipse_language). See the manual for more detailed description of the memory areas of ECLiPSe. See the Preference Editor help file for a description of the development tools parameters. Functionality ============= Menu Bar -------- File Menu Change directory - allows to change ECLiPSe's current working directory. Compile - allows the user to select an ECLiPSe source file. This file will be compiled and loaded. Use module - allows the user to select an ECLiPSe module file (source or precompiled). This will be compiled/loaded and its contents imported into the current toplevel module. Edit - allows the user to select a file to edit. The text editor to be used can be specified in the Preference Editor. The default values are the value of the VISUAL environment variable under Unix, or Wordpad under Windows. Cross referencer - allows the user to select a source file, runs the cross referencer over it (see library(xref)), and displays the resulting graph in a new window. Source checker (lint) - allows the user to select a source file, runs the lint source checker over it (see library(lint)), possibly displaying warnings in the Output window. Compile example - like 'Compile', but shows files from the example directory which is distributed with ECLiPSe. New module - allows the user to specify a new module that will be created. The new module becomes the current toplevel module. If an existing module is given, then tkeclipse will attempt to erase the module first. Locked module and the default module cannot be erased this way. The user needs to specify the name of the module and can also specify the language that the module will be loaded with. Clear toplevel module - allows the user to clear the current toplevel module, i.e. to erase it and start with a fresh, empty module. The language loaded with the module will be eclipse_language. Use `New module' to create a module with a different language. Exit - Leave ECLiPSe Query Menu Run - run the query in the Query Entry window (this is the same as clicking the run-button) Time Profile - run the query in the Query Entry window with the timing profiler (see lib(profile)). Only the first solution will be computed. Port Profile - run the query in the Query Entry window with the port profiler (see lib(port_profile)). Only the first solution will be computed. History - pop up the query history window, containing all previous queries in reverse order. Tools Menu - this offers a set of tools that the user can use for developing ECLiPSe programs. These tools can also be available to user programs which have their own GUI developed via ECLiPSe's new Tcl/Tk interface (see the example programs in the lib_tcl directory). See the tools' respective help files for more details on a specific tool. Compile scratch-pad - allows the compilation of short ECLiPSe code. Source Files - this tool provides an interface to the files tracked by ECLiPSe make command. Predicates - this tool provides an interface to obtaining information on predicates that are currently in ECLiPSe. Delayed Goals - displays the goals that are currently being delayed during execution. Tracer - a debugging tool that allows the user to trace the execution of a program. Inspector - allows the user to browse and examine ECLiPSe terms. Visualisation Client - launches a Java visualisation client (see the Visualisation Manual for details) Global Settings - allows the user to view and change global settings of ECLiPSe. Statistics - display statistical information on ECLiPSe, which are updated at regular intervals. Simple Query - allows the user to run a simple query once (no backtracking) at a different break-level from the main top-level execution. ECLiPSe Help - an interface to ECLiPSe's help/1 predicate to obtain information on ECLiPSe built-ins. Preference Editor - See above Balloon Help - toggles balloon help. Help Menu Balloon Help - toggles balloon help. About this ECLiPSe - shows information on the version of ECLiPSe being run. Toplevel Help - this window Other help topics Current module box ------------------ This shows the current module. The user can change to a different module by the popdown list from the arrow button on the right of the box. Query entry box and buttons --------------------------- The user can type in ECLiPSe queries here. A terminating full-stop is not necessary. This can be used as in a traditional tty interface, with most built-ins available in a tty interface also available, although more convenient methods may be available through the GUI, such as examining the ECLiPSe global state (via the global settings tool). A query is executed either by typing return, or by clicking the run button. Alternatives can be obtained by clicking the more button. Note that clicking on the run button when more alternatives are available will re-execute the query. A history of previous queries can be obtained from either the popdown list on the arrow at the right of the box, or by selecting 'History' from the Query menu or the query entry context menu. The popdown list contains the previous queries with duplicates removed in chronological order (oldest first), while the history window shows all the previous queries in reverse chronological order. A previous query can then be selected and re-executed from either of these lists. The user can also step through the previous queries via the up and down arrow keys. Typing the tab key will try to complete the query with the most recent matching query from the (non-duplicated) history. The status of the currently executing or just executed query is shown in the status box: Yes: the query has executed successfully. More: the query has executed successfully, and there is still search-space left to explore which might produce more solutions. The more button would be active. No: the query has failed. Abort: the query has aborted (e.g. with errors). Idle: no query yet, or previous query terminated. Running: the query is currently being executed. Note that if the tracer tool is active, then it is possible for the execution to be stopped at a trace-line in the tracer tool, and continued execution of the query is controlled from the tracer tool in this case. The make button: runs the make command, which will recompile any files that are tracked by the system and which have been changed since they were compiled (see the Source File tool from the Tools menu for the interface to the file tracking). The interrupt button: use this button to interrupt an executing query. This will pop up a window that allows to abort or continue the execution. If the debugger is on, it can be forced into creep mode. Results Window -------------- For each query, this window shows the query that is executed, followed by the bindings made to the variables in the query after it succeeds. The most recent query is shown in blue, with the previous queries shown in black. In addition, the status after executing the query is shown after any bindings: More/Yes/No/Abort. The contents of the results window can be copied and pasted onto a different window. Select an area to be copied by dragging the left mouse-button, and then on Unix systems, the results can be pasted with the middle button. On Windows, middle button can only be used to paste to another window of tkeclipse. The standard single click to select character, double click to select word and triple click to select line under the mouse is available. To paste to a window from a different application, the selected text must first be copied using control-C and pasted using control-V (or Control-/ to select all). The outputs on the results window and the output and error messages window can be matched up by right clicking on the text in one of the windows and selecting the `Highlight corresponding' option from the background menu. The corresponding sections in both windows will be highlighted in light blue. Note also that this highlighting is orthogonal to the normal selection. The results and output windows can be cleared by right click and selecting the `Clear this window' option from the background menu. Output and Error Messages Window -------------------------------- Outputs from the user program (e.g. from write/1 to the standard output) are sent to this window. The outputs from the most recent query is shown in blue; those from previous queries in black. Messages from ECLiPSe are also sent to this window, both normal messages, and error/warning messages (those sent to the error stream). The error messages are shown in red, and warning messages in orange. To alert the user that errors/warnings have occurred, the window is positioned to display the last of any such messages in the current query, and scrolling is disabled until the next query. To re-enable scrolling before the next query, left-click on the y-scroll bar. The contents of the output window can be copied and pasted onto a different window. Select an area to be copied by dragging the left mouse-button, and then on Unix systems, the results can be pasted with the middle button. On Windows, middle button can only be used to paste to another window of tkeclipse. To paste to a window from a different application, the selected text must first be copied using control-C and pasted using control-V. The relative sizes of the results window and the output and error messages window can be adjusted by dragging their common boundary.