[Previous] [Next] [Contents] [Index]


    The ITEX Table Editor (on UNIX)

This chapter contains reference information about the Table Editor, used for editing various TTCN tables.

The functionality of the Table Editor, the menus, windows and quick-buttons are described in this chapter. The ITEX Browser is described in The ITEX Browser (on UNIX). How to analyze and find tables is described in Analyzing TTCN Documents (on UNIX).

For an overview of ITEX, see Introduction to ITEX on UNIX.

Note:  UNIX version

This is the UNIX version of the chapter. The corresponding Windows chapter is Editing TTCN Documents (in Windows).

Table of Contents 

Introduction to the Table Editor

The Table Editor is used for editing the various TTCN tables. It is possible to have any number of tables open for editing at any given time.

ITEX supports all of the standardized, non-compact tables that are defined in ISO/IEC 9646-3. The compact Test Case Dynamic Behaviour table (ISO/IEC 9646-3, clause C.3) and the concurrent TTCN tables are supported, as well as the modular TTCN tables to be added in the upcoming new TTCN version.

The compact tables for constraints (also in Annex C of ISO/IEC 9646-3) are not supported.

On screen, ITEX presents all tables exactly as defined in ISO/IEC 9646-3, apart from some minor additions to the regular dynamic behaviour tables (for test cases, test steps and defaults), to the compact test case dynamic behaviour table, to the ASN.1 type by reference tables, to the test suite constant declarations by reference, and to the import tables.

These changes have been introduced to aid the automatic generation of the TTCN document overview and index tables. For more information, see Generating the Test Suite Overview Tables. However, in the printed GR form the TTCN document is presented according to the ISO standard (i.e. the differences are not present in the printed version).

As a visual aid, a dotted line separates rows in a table. Again, this is not present in the printed GR form.

ITEX always displays the optional comments column and comments footer of a table, even if they are empty.

The Table Editor has been designed to allow fast and easy editing using the mouse and/or keyboard. Rows in a table can be added, copied (both within a table and between other tables) and deleted. When combined with the Find Table, Replace and Analyzer tools, the Table Editor is a powerful tool for the development and debugging of TTCN documents.

The tables are scrollable in both the vertical and horizontal directions, and because the use of the mouse is minimized (the cursor and <tab> keys can be used for jumping from field to field), editing is quick and easy.

The Table Editor supports semi-automatic generation of send and receive statement lines. This is accomplished by presenting the user with lists of existing PCOs, types and constraints. The components in a send or receive statement is selected by the user from these lists. ITEX assists these selections by preventing selection of incompatible items. These features are collectively called Data Dictionary.

The Table Editor also shows the analysis status of the table contents.

Figure 213 : A Table Editor for a test case

Extracted pic [4]

Opening a Table

Tables are opened from a Browser when you double-click on a selected table name, or with the popup menu. For more detailed information see Opening a Table.

Note: 

The group tables can only be opened with the menu commands.

Renaming a Table      

A table can be renamed either by using the Rename command in the Browser (for more information see Renaming Dynamic Items) or by editing the table name in the table itself. This choice also exists for objects in multiple-object tables.

Navigating and Editing Text in a Table

The Table Editor facilitates fast and efficient editing. The input focus determines which field is open for editing at any given time.

Setting the Input Focus

The input focus is automatically set on the name field of the table when it is opened. Reset the input focus by pointing and clicking or by using the following shortcuts:

To move to: Use this key combination:

Next field

<Tab>

Previous field

<Shift+Tab>

Another part of the table

<Ctrl+Tab>

Next field in same column

<Ctrl+Down arrow>

Previous field in same column

<Ctrl+Up arrow>

Field on the left

<Ctrl+Left arrow>

Field on the right

<Ctrl+Right arrow>

First field

<Ctrl+Home>

Last field

<Ctrl+End>

Editing Text in a Table

To edit the text in a field, set the input focus on the field to be edited and start typing. Note that the insertion point is at the beginning of the line. Use the mouse or the keys to move the insertion point.

The table fields will expand automatically to accommodate the text. A line break in the text can be added by pressing <Return>.

If the initial typing is performed with very high speed, race problems may arise. ITEX detects them and notifies them with a beep. This means that the text typed in will not appear correct in the buffer.

If this happens often, you should make a brief pause between typing the first and consecutive characters.

To cut, copy and paste text in the fields, you use the following shortcut keys. Note that you do not use the same commands or shortcut keys as when editing entire rows in a table.

To do this: Use this key combination:

Delete one character forward

<Ctrl+D>

Cut selected text

<Cut>, <L10>, <Shift+Delete>

Cut text to the end of the line

<Ctrl+K>

Copy selected text

<Copy>, <L6>, <Ctrl+Insert>1

Paste cut or copied text

<Paste>, <L8>, <Shift+Insert>

Paste the most recently cut line

<Ctrl+Y>


1. <Ctrl+Shift+Insert> also works.

Note: 

The paste buffer for text is not the same as the one used for entire rows in the body of a table.

Caution! 

Note that ITEX has no undo function. This means that <Undo> has no effect.

Replacing Text

Tools >  Replace


Extracted pic [5]

Use this command to search for and replace text strings within the current table. For more information see Replacing Text Strings.

Moving the Insertion Point When Editing Text

To move the insertion point: Use this key combination

Down in the same field

<Ctrl+N>, <down arrow>, <R14>

Up in the same field

<Ctrl+P>, <up arrow>, <R8>

Left in the same field

<Ctrl+B>, <left arrow>, <R10>

Right in the same field

<Ctrl+F>, <right arrow>, <R12>

To the beginning of the line

<Ctrl+A>

To the end of the line

<Ctrl+E>

Editing Rows in a Table

The following commands allow rows to be added, deleted, copied etc. in the bodies of all TTCN tables that contain more than one column.

The ASN.1 tables only have a single column with a single row and therefore adding, deleting and copying rows is not applicable.

Note: 

The contents of these tables can still be copied, pasted etc. as text.

These commands do not work in table headers and footers, as the formats of these parts of a table are defined by the TTCN standard.

Selecting Rows in a Table

Rows in the body of a table are selected by pointing and clicking while at the same time pressing <Ctrl>. Selecting a row does not deselect other selected rows.

In the dynamic behaviour tables single rows can be selected by pointing to the row number and clicking without <Ctrl>. A behaviour tree of rows are selected by pointing and clicking while at the same time pressing both <Ctrl> and <Shift>.

Deselecting a Row

To deselect a row, simply point to the selected row and attempt to reselect it. This operation toggles the select status on the pointed row.

Note: 

Setting the input focus will also deselect all selected rows.

Cutting, Copying and Pasting Rows

Rows in a table may be cut, copied and pasted. Copy and Paste will work across all the different tables although the this is primarily intended for use among tables of the same or similar types.

Edit >   Cut


Extracted pic [6]

Removes selected row or rows from the table and stores them in the clipboard.

Edit >   Copy


Extracted pic [1]

Copies selected rows to the paste buffer. Any number of rows may be selected.

Note: 

The paste buffer for entire rows in the body of a table, is not the same as the one used for text.

Deleting Rows

Edit >   Delete

Deletes the selected row or rows.

Caution! 

ITEX has no undo so this command is irreversible.

Inserting Rows

Edit >   Insert Row


Extracted pic [7]

Inserts a new rowbefore a selected row. Only one row may be selected.

Edit >   Insert Row After


Extracted pic [8]

Inserts a new row after a selected row. Only one row may be selected.

Edit >   Insert Tree Header

Inserts a new Tree Header row before a selected row. Only one row may be selected. This command only works in dynamic behaviour tables.

Edit >   Insert Tree Header After

Inserts a new Tree Header row after a selected row. Only one row may be selected. This command only works in dynamic behaviour tables.

The <Ins> Key

The <Ins> key (on the right-hand keypad) can be used for inserting rows. If you press this key while input focus is in the header or footer of a table, a new row is appended after the last row in the body of the table. If the input focus is set on a field in the body of the table, <Ins> will insert a new row after the field that has the input focus. The input focus will be transferred to the corresponding field in the new row.

Indenting Rows in Behaviour Descriptions

TTCN behaviour tables include a number of commands and shortcut keys that simplify indenting behaviour lines.

Caution! 

Do not use the <Tab> character to represent indentation in behaviour trees.

Edit >   Increase Indent


Extracted pic [9]

Increases the indentation of selected behaviour lines by one position. This command can only be used to indent behaviour lines.

Edit >   Decrease Indent


Extracted pic [10]

Decreases the indentation (i.e. undent) of the selected rows by one position. This command can only be used on behaviour lines.

Selecting Branches in Behaviour Descriptions

TTCN behaviour tables include the following short-cut key that simplifies the task of selecting behaviour lines.

Showing the Indentation Level

Show >   Show Indent

Causes the indentation level of behaviour lines to be displayed in the line number column of behaviour tables. Choosing this command again will cause the display to revert to line numbering.

Exporting and Importing Objects

Generate Exports and Generate Import assist in the use of the Modular TTCN feature of exporting and importing objects to and from other documents.

Tools >   Generate Exports

Fills the TTCN Exports table with rows that provide access to the objects of the current document. Only rows that are not already present will be added (at the end of the table), so it is supported to repeat this operation at a later time to detect if any object has been added since the last time. Generate Exports is only available when the Table Editor contains a TTCN Exports table.

Tools >   Generate Import

Fills the Import table with rows that enables access to the objects of the document to import from. Only rows that are not already present will be added (at the end of the table), so it is supported to repeat this operation at a later time to detect if any object has been added since the last time. Generate Import is, naturally, only available when the Table Editor contains an Import table.

Browsing in the Table Editor

With the Previous Table and the Next Table commands, you can easily browse the contents of the TTCN document.

File >   Previous Table


Extracted pic [13]

Replaces the table shown in the Table Editor with the previous table in the document. To open the table five tables before the current, use <Ctrl> + Previous Table.

File >   Next Table


Extracted pic [16]

Replaces the table shown in the Table Editor with the next table in the document. To open the table five tables after the current, use <Ctrl> + Next Table.

See also Context Sensitive Popup Menu and Finding Tables by Name.

Generating Behaviour Statements

In TTCN behaviour tables it is possible to get lists of user defined objects (e.g. constraints, timers etc.). Through these lists, you can generate a statement.

When you invoke the following commands, a row in the table should have the input focus.

Data Dictionary >   Add Send Statement


Extracted pic [11]

Generate a Send statement by selecting a PCO, a type and a constraint.

This functionality requires that the TTCN document is analyzed. The PCOs, types and constraints with major reference problems or missing type references will not be presented in these lists.

Each list is split in two parts. The upper part contains the items corresponding to the selected items in the other lists. The lower part contains the rest of the items.

Figure 214 : Add Send statement dialog (receive is analogous)

Extracted pic [2]

Data Dictionary >   Add Receive Statement


Extracted pic [12]

Generate a Receive statement by selecting a PCO, a type and a constraint.

A dialog which is analogous with Add Send Statement will be displayed.

Data Dictionary >   Add StartTimer Statement

Generate a StartTimer statement by selecting a timer.

Figure 215 : Add StartTimer Statement dialog

Extracted pic [3]

Data Dictionary >   Add CancelTimer Statement

Generate a CancelTimer statement by selecting a timer.

A dialog which is analogous with Add StartTimer Statement will be displayed.

Data Dictionary >   Add Attach Statement

Generate an Attach statement by selecting a test step and specifying an actual parameter list (if the test step has a formal parameter list).

Figure 216 : Add Attach Statement dialog

Extracted pic [14]

Data Dictionary >   Add Timeout Statement

Generate a Timeout statement by selecting a timer.

A dialog which is analogous with Add StartTimer Statement will be displayed.

Reverting a Table

File >   Revert

Causes all edits to the table since it was last opened to be discarded. In other words, the contents of the table are restored to what they were at the point when the table was opened.

This gives ITEX a limited undo capability. Note that the analyze status of the table may be set to not analyzed by this command.

Creating a New Constraint Table

The Create Constraint and Copy Constraint commands, facilitate the creation of Constraint tables:

Tools >   Create Constraint

Creates a new Constraint table -- related to the Type table currently shown in the Table Editor -- in a new Table Editor window.

If you use <Ctrl> + Create Constraint, the new Constraint table will instead be shown in the current Table Editor.

Tools >   Copy Constraint

Creates a new Constraint table -- that is an exact copy of the Constraint table currently shown in the Table Editor -- in a new Table Editor window.

If you use <Ctrl> + Copy Constraint, the new Constraint table will instead be shown in the current Table Editor.

Generating the Test Suite Overview Tables

The generation of Test Suite Overview Tables is described in Generating the Test Suite Overview Tables.

Using Popup Menus

The background popup menu is accessible when you click the right mouse button. When you click the right mouse button and <Ctrl>, the context sensitive menu will be available.

Context Sensitive Popup Menu

The context popup menu contains only one operation, Find Table, but in addition it also contains some of the content of the table to be opened by this Find Table operation. The identifier to use in the Find Table operation is retrieved from the field content under the mouse pointer when the context menu was invoked.

Figure 217 : Example use of the Table Editor context popup menu

Extracted pic [15]

Background Popup Menu

The background popup menus are available in all ITEX tables but the appearance differs in accordance with the applicable operations. The popup menus in synchronized behaviour tables and desynchronized behaviour tables have a totally different appearance and will be described below:

Synchronized Behaviour Tables

If the Table Editor contains a behaviour table which is synchronized, the popup menu will display the same menu entries as the SDT Link menu. For an explanation of synchronized and the commands in the SDT Link menu see TTCN Test Suite Generation.

Desynchronized Behaviour Tables

If the Table Editor contains a behaviour table which is not synchronized, the popup menu will have a different appearance than in the previous case.

The popup menu will contain a sub menu containing all the menu entries of the Data Dictionary pull-down menu. It will also contain the following entries:

Cut Focused Row

Removes the focused row from the table and stores it in the clipboard.

Copy Focused Row

Copies the focused row to the paste buffer.

Paste Before Focused Row

Pastes the contents of the paste buffer before the focused row.

Delete Focused Row

Deletes the focused row.

Increase Indent

Increases the indentation of the focused behaviour line by one position.

Decrease Indent

Decreases the indentation of the focused behaviour line by one position.

Increase Sub Tree Indent

Increases the indentation of an entire branch in the behaviour tree by one position starting from the focused row.

Decrease Sub Tree Indent

Decreases the indentation of an entire branch in the behaviour tree by one position starting from the focused row.

Insert Row After

Insert a new row after the focused row.

Show Error Message

Displays the analysis status message (if any) of the focused field.

Find Table

Finds a named table.

Key and Button Bindings

Some bindings operate on the body rows as if they were organized as a tree (work only in the dynamic part of the TTCN document). The indentation level defines the tree structure.

Key Action

osfUp

Move focus to a neighbor field.

osfDown

Move focus to a neighbor field.

osfRight

Move focus to a neighbor field.

osfLeft

Move focus to a neighbor field.

Ctrl+osfUp

Move focus to a neighbor field even when editing.

Ctrl+osfDown

Move focus to a neighbor field even when editing.

Ctrl+osfRight

Move focus to a neighbor field even when editing.

Ctrl+osfLeft

Move focus to a neighbor field even when editing.

osfInsert

Insert a new row, after focused row if already in body, otherwise last in body.

osfHelp

Get help on Table Editors.

Ctrl+Z

Run Analyze & Stop

character keys

Start editing field and then apply key.

Delete

Start editing field and then apply key.

...

Start editing field and then apply key.

Tab

Move focus to a neighbor field.

Shift+Tab

Same as <Tab> but in the opposite direction.

Ctrl+Tab

Navigate in the tool bar, scroll bar, table header, table body and table footer of the Table Editor.

Ctrl+Shift+Tab

Same as <Ctrl+Tab> but in the opposite direction.

Ctrl+space

Toggle selection of focused row

KP_Add

Increase indentation level of focused row

Ctrl+KP_Add

Increase indentation level of selected rows

Shift+KP_Add

Increase indentation level of focused subtree

Ctrl+Shift+KP_Add

Increase indentation level of subtree of single selected row

KP_Subtract

Decrease indentation level of focused row

Ctrl+KP_Subtract

Decrease indentation level of selected rows

Shift+KP_Subtract

Decrease indentation level of focused subtree

Ctrl+Shift+KP_Subtract

Decrease indentation level of subtree of single selected row

Shift+osfUp

Move focus to previous row at same indentation level

Shift+osfDown

Move focus to next row at same indentation level

Shift+osfRight

Move focus to last child row of focused row

Shift+osfLeft

Move focus to parent of focused row

Mouse Button (OSF Names) Action

Button1

Set focus to the field, and start editing.

Button2

Move focus to the field.

Ctrl+Button1

Toggle selection status of the row

Ctrl+Shift+Button1

Toggle selection status of the subtree with the row as root, move the focus to the field under pointer


[Previous] [Next] [Contents] [Index]