DEFINITION MODULE MatEditor;
(*******************************************************************
Module MatEditor (Version 1.0)
Copyright (c) 1990-2006 by Olivier Roth, Andreas Fischlin and
ETH Zurich.
Purpose Simple, interactive editing of a matrix in a
"Dialog Machine" window.
Remarks This module is part of the Mat-library, which forms
part of the RAMSES package.
Uses DMWindows, DMWindIO, DMEditFields.
Programming
o Design
Olivier Roth 02/03/1990
Andreas Fischlin 28/05/1993
o Implementation
Olivier Roth 02/03/1990
Andreas Fischlin 28/05/1993
ETH Zurich
Systems Ecology
CHN E 35.1
Universitaetstrasse 16
8092 Zurich
SWITZERLAND
URLs:
<mailto:RAMSES@env.ethz.ch>
<http://www.sysecol.ethz.ch>
<http://www.sysecol.ethz.ch/SimSoftware/RAMSES>
Last revision of definition: 28/05/1993 AF
*******************************************************************)
FROM DMWindows IMPORT WindowFrame;
FROM Matrices IMPORT Matrix, Selection;
PROCEDURE OpenMatrixEditor;
(* Invokes the Matrix Editor in a separate window in which one
* may chose interactivelly among the following commands:
* New…, Open…, Save, Save As…, Close, Show, Hide, Duplicate, Rename.
*)
PROCEDURE CloseMatrixEditor;
(* Closes the Matrix Editor's window. *)
PROCEDURE ShowMatrixInWindow( VAR a: Matrix; wF: WindowFrame );
(* Opens a window with matrix "a" at location "wF". If "a" is not
* an existent matrix (declared with MatBase.DeclMatrix) a new
* matrix of dimension 2 x 2 and name 'Untitled' is declared implicitely.
* If "wF.w" or "wF.h" are specified <= 0 then the matrix's window is
* opened as big as necessary centered on the screen.
* Closing the window interactivelly is equivalent to a call to
* "HideMatrixInWindow" (see below). *)
PROCEDURE HideMatrixInWindow( VAR a: Matrix );
(* Closes the window in which matrix "a" is being edited. The matrix
* "a" is not removed from the list of editable matrices and can be
* reopened in a matrix edit window either interactivelly (Show) or
* with the procedure "ShowMatrixInWindow". *)
PROCEDURE AddMatrixToMatEdList( a: Matrix );
(* This procedure adds the matrix "a" to the list of editable matrices
* without showing it in a matrix edit window. *)
PROCEDURE DelMatrixFromMatEdList( a: Matrix );
(* This procedure deletes the matrix "a" from the list of editable
* matrices and closes an eventual open matrix edit window. *)
PROCEDURE SetSelection( a: Matrix; sel: Selection );
PROCEDURE GetSelection( a: Matrix; VAR sel: Selection );
END MatEditor.