Basic Features


Introduction

This section discusses the basic features provided by EditTable and its related widgets. Advanced features are covered later in this manual.


Figure 1: Understanding the Basic Features


Margins and Table Dimensions

You can control all aspects of table size, margins, and dimensions. EditTable lets you dynamically:

Margins can be sized automatically or based on resources provided by either the XmManager widget or the INT Scroll widget (XintScroll). Total table size is limited only by the size of available memory.


Text Alignment, Size, Font, Type

EditTable gives you complete control over the positioning, size, color and font of all text components, including:

For instance, the title can be at any location on the table (top/bottom/left/right). Annotations can be on either side or both sides of the table, with any desired justification inside the annotation area.


Text Editing

The EditTable widget supports a large number of editing operations that can either be controlled by the application using INT functions or performed by the end user via action routines. Users of applications built on EditTable can edit cells or row/column annotations directly in a full text editing mode (i.e., click, shade, backspace, retype). The widget supports the following features:

Any deleted or copied rows or columns are stored on a clipboard that can simultaneously hold both columns and rows. When another copy or delete operation occurs, the data copied or deleted replaces the same type of data (row or column) currently on the clipboard. Data on the clipboard can be pasted into the table using convenience functions and action routines.


Column/Row Formatting

A column can be modified by changing any of the following:

EditTable allows format changes by the application or the user. For example, the user may want prices to be displayed using dollar signs, commas, and decimals, even though the price data is stored without these elements.


Cursor Movement

Users can traverse a table using the keyboard (Tab, cursor keys, etc.) or by using the mouse to click directly on a cell. The application can control keyboard traversal through a callback so that the cursor skips over certain parts of the table that are irrelevant to the current operation. You can also build dialogs that let end users "go to" a specific row/column in the table or to a specified percent of the width/height of the table.