Integration with Other INT Widgets


Introduction

EditTable is a subclass of other INT widgets. For this reason, it automatically inherits the features of any other INT widgets that belong to the same general class. The following diagram shows the hierarchy of INT widgets in the same class as EditTable.


Figure 14: Overall Widget Hierarchy

As part of the overall INT product family, EditTable offers integration with the other INT widgets in this metaclass. The other widgets are summarized below:


Hardcopy Output and Coordinate Mapping (XintCompBase)

The INT CompBase widget gives all other widgets in the metaclass the ability to produce hardcopy output and perform coordinate system mapping between the widget's coordinate system and the application's coordinate system.

Enhanced Scrolling (XintScroll)

The Scroll widget is a container widget that scrolls an EditTable widget in such a way that its annotation remains visible during scrolling. A Scroll widget combines:

The application has control over which of the Scroll widget's components are displayed and where they are located. Also, several Scroll widgets can share one or both scrollbars to allow for synchronous scrolling of multiple tables.


Graphic objects (XintGraphic)

The XintGraphic object class is the base class that defines the basic resources and methods for displaying and editing graphic objects. Graphic objects can only be displayed in a widget that is a subclass of the XintEditObject widget class. At the lowest level, the graphic object subclasses include:

The XintGraphic class defines all the basic methods that apply to objects, including methods to display, select, move and resize an object. Additional methods include group, ungroup, cut, paste, and file import/export. INT Graphic resources define object properties such as fill pattern, color, line thickness and line style.


Figure 15: Hierarchy for Graphic Objects


Graphic Object Editing, Storage, and Retrieval (XintEditObject)

An optional INT product called the Object Editor Library (XintEditObject) lets users draw graphic objects such as text, lines, circles, arcs, or arrows and superimpose them directly on a table. For example, a user may want to draw attention to a special group of data in a report or presentation.


Figure 16: Example of Graphics Superimposed on Table

The EditObject widget provides support for displaying, editing, and storing/retrieving graphic objects through a comprehensive set of actions, callbacks and convenience functions.

Editing capabilities include the ability to select one or more objects and to move, size or shape objects. A set of convenience functions lets you save and restore objects to or from an ASCII file. An internal clipboard mechanism provides cut and paste functionality inside an application or between two different applications that use EditObject widgets (or widgets from a class that has the XintEditObject as an ancestor).

Graphics can be saved to a separate file for later retrieval and use in the table. When a component is removed from a table, any graphic object tied to that component is removed also. However, the graphic object still exists and will reappear when the removed element is restored.


ChartObject Library

INT ChartObject is a library of Graphic objects based on the architecture described above. This package allows the application and the end-user to produce all kinds of 2D and 3D charts. There is a close integration between the EditTable and the Chart object library. An EditTable widget and a ChartObject can be dynamically linked. It is also possible to drag and drop cells from an EditTable widget into a ChartObject. See the ChartObject documentation for more information on the INT ChartObject and Graphic libraries.