Summary of function =================== The Tk Remote development tools enable the development tools to be used with any session of ECLiPSe via the Tcl remote interface. This allows the tools to be used with an ECLiPSe that does not use ECLiPSe's Tcl embedding interface, such as the tty toplevel, and an ECLiPSe that is already embedded into another language. The development tools can also be run on a different platform from the ECLiPSe session, as long as the two machines can be linked through the network. The full suite of development tools is provided, and they can be used much as with Tkeclipse. The only difference is that the user can only interactively use the tools when the tools have `control', that is, when ECLiPSe code is not being executed. When the tools have control, execution of ECLiPSe code is suspended. ECLiPSe execution can be continued by either pressing the `Resume ECLiPSe' button, or through interacting with some of the development tools, such as the tracer. Control can be transferred from ECLiPSe to the tools by the tools/0 predicate. Layout ====== The remote development tools toplevel has a menu bar, below which is a status bar, below which is a `Resume ECLiPSe' button. Menu bar options: ----------------- File Menu: Disconnect -- disconnect from the ECLiPSe session. The tools window(s) remain, and can be examined further. However, interaction with the ECLiPSe session is no longer possible. The disconnection will cause the ECLiPSe to abort what it was doing. Exit -- Terminate the execution of the remote development tools. If it is attached to an ECLiPSe session, a disconnection will be performed first. Tools Menu: This provides the same suite of development tools as the Tkeclipse toplevel. Help Menu Balloon help - toggles balloon help Help topics for the development tools Status Panel: ------------- This indicates the status of the TkTools. It can display 2 different statuses. This is indicated by the message on the panel, and the colour it has: ECLiPSe Active: the panel is grayed out. ECLiPSe side has control, and the user cannot interact with the development tools. TkTools Active: the panel is highlighted. Remote development tools has control, and the user can interact with the development tools. Resume ECLiPSe button: ---------------------- This allows the control to be passed explicitly back to ECLiPSe so that ECLiPSe execution can continue. This can only occur when the remote development tools have control. However, it is not always possible to pass control explicitly to ECLiPSe: for example, the control has to implicitly passed back to ECLiPSe via the tracer while debugging a program. In such situations, the button is disabled even though the development tools have control. If the ECLiPSe side is disconnected from the development tools (e.g. by terminating the ECLiPSe process), then the development side has control but no longer has an ECLiPSe side to pass control back to. In this case, the button is also disabled, and the `Resume ECLiPSe' label is replaced by `Disconnected'. The user can still use the development tools to view any previous results that was generated while the development tools was connected to ECLiPSe. Differences From TkECLiPSe ========================== The main difference from using the development tools with TkECLiPSe are: 1. In TkECLiPSe, the toplevel is provided by TkECLiPSe. With the remote tools, the toplevel is provided by the ECLiPSe side. This can be the ECLiPSe application that the user is developing, or the standard tty ECLiPSe top-level. 2. The user cannot interact with the development tools when ECLiPSe side has control. 3. The development tools can be run on a different machine than the ECLiPSe process. The defaults for the development tools (editor to use, the values for the preference editor) is taken from where the remote development tools are run from, and not from where the ECLiPSe process is (With TkECLiPSe, the two are the same).