Data Window

Data windows in DM2000 used to store and visualize data arrays (2D tables of numbers). DM2000 implements classic multi-document (MDI) interface: you can open unlimited number of data windows framed by main window that presents DM2000 application itself. Every data window has two viewers that display data array associated with window: worksheet and plot. You may display only worksheet, only plot or both worksheet and plot (appropriate commands are found in the View menu). After a long period of maintenance of data acquisition systems it was found that traditional scheme (worksheet + plot in separate windows) is not convenient for real time operation. That's why I decide to make uniform data windows with several visual representations. This choice has no restrictions - any window may play role both worksheet and plot.

Plot viewer display data in the form of 2D curves (series). Each serie must reference a range of numbers from the array associated with data window (and displayed in worksheet). If no data range associated with plot serie, it is treated as "empty" and not displayed (although appropriate serie object exists). Notice that plot serie may reference data from any data window, not only data displayed by the worksheet of the same data window. Another type is "functional" series that display symbolic expressions rather than numeric data. Every plot viewer can display unlimited number of series. By default, 8 series are preconfigured but you can easily add new ones. Various serie properties may be changed using Serie Properties dialog box; in addition, DM2000 includes special Serie Manager window.

Immediately after you open data file it is displayed only by worksheet viewer (you can set initial data window state in the Application Properties dialog box), but all predefined plot series are empty and not displayed. To display plot curve, you should open Serie Properties dialog box and specify data range or select range of data in the worksheet worksheet and plot selected worksheet cells (see View commands for more details how to plot data).

Both worksheet and plot viewers may grab input focus (or become active). The status line of the main window displays active (focused) viewer as well as some additional information related to this viewer. Notice that the most of data editing and processing operations and other tools act on active viewer and may be disabled if appropriate operation is not applicable to the active viewer. In addition, both plot and worksheet have pop-up menus that have commands specific to the clicked object.


From the programmer's point of view, every data window has 3 objects: invisible data container that acts as data storage, and visible worksheet and plot that display data in container and interact with user. While worksheet displays only data from container of the same window, plot can have several "series", each series may display data from any data window.
Data container is not 2D array: actually it works like the dynamic list of "items" (1D arrays of numbers in DM2000) of variable length. However, numbers of all items with the same index in the item really form column, and may be referenced in plot and worksheet (or somewhere else) as a single column. Columns in DM2000 are denoted by letters A..Z; hence, you may process tables with maximum 26 columns. Notice again, DM2000 is not usual spreadsheet processor! But the number of  lines is unlimited: you can easily create or open file with 1 000 000 lines (tens of  MBytes in size).