Nateo API Documentation

Class Overview - Grouped

This page shows a grouped overview of the public classes and interfaces of the Nateo name space. Identifiers are links. Please click them to get to the appropriate documentation.
Here you can find the different classes logically grouped to better see what different kinds of classes there are
 
There is also an alphabetical version of this list here.

Controls

Control Class Description
NtTimeChartControl This is the core control showing the time chart itself. It contains all the functionality to efficiently show the data, scroll horizontally and vertically, drag data, etc.
NtHeaderControl NtHeaderControl is the time scale control located either on top of the NtTimeChartControl or directly below. There can be only one NtHeaderControl per NtTimeChartControl.
NtFlankControl NtFlankControl is the control that contains the row headers. In most cases there is at least one NtFlankControl (typically located to the left flank of the NtTimeChartControl). But there might be more (one left, one right, or even more then one at each side).
NtRowHeader Each row can have one or more row headers. For example a row may have one row header on the left and one on the right side. Row headers consist of simple strings and a background color or custom created bitmaps of the appropriate size which may display anything like scales. When initializing your form, you instantiate the appropriate row header(s) for each of the rows and add them to your NtTimeChartControl.
NtHScrollBar The horizontal and vertical scroll bars coming along with the NtTimeChartControl are separate controls, while the build in scroll bars inherited from System.Windows.Forms.Panel are turned off. This allows for better control in positioning and adjusting the scroll bars.
NtVScrollBar The horizontal and vertical scroll bars coming along with the NtTimeChartControl are separate controls, while the build in scroll bars inherited from System.Windows.Forms.Panel are turned off. This allows for better control in positioning and adjusting the scroll bars.
NtBackPanel This is an empty panel used only to draw the border around the NtTimeChartControl, NtFlankControl and possible scroll bars. This means it is placed in the background behind these controls with the appropriate size. See the tutorials how to implement this easily.

 

Objects

Object Class Description
NtDataObject This is one of the most important classes for Nateo API programmers: All data objects you want to store within the time chart control must be derived from this class. Often you will have objects that you can not derive from this class (because they are already defined and derived from something else). In this case, simply create a new class type derived from NtDataObject containing a reference to your object type. Instantiate one per data object and store that instance into the time chart control.
NtDisplayObject While the NtDataObject represents one data object, each NtDisplayObject represents the optical representation of one data object. This might be a text, a bitmap, a cross marker etc. Users do not interact with the data objects themselves but with the display objects. For example if you double click on one display object, the event is driven for the display object, which contains a reference to the data object, so your program can react properly.
NtDisplayObjectText This displays a data object as a rectangle with a text. Derived from NtDisplayObject.
NtDisplayObjectBitmap This displays a data object as a bitmap. Typical cases are images and icons. Also common are bitmaps created by the application at runtime. Derived from NtDisplayObject.
NtDisplayObjectCross This displays a data object as a crossmark, while the data determinates the ordinate of the value. This allows to display data as curves. Linking lines are optional. Derived from NtDisplayObject.

 

Defining the View

Class Description
NtDisplayDef Upon startup you must provide one NtDisplayDef for each data type that you want to display. For example if you want to display pressure values and temperature values you need one NtDisplayDef that defines how to draw a temperature value and one that defines how to draw a pressure value. So one NtDisplayDef fits for one data type (defined by the member dataTypeId).
NtPerspective This class contains all the NtRowPerspective objects for all the rows of a NtTimeChartControl. You can regard this class to be the definition for the row composition and category set up for the current display. You can quickly switch between different views of the same data by simply setting another NtPerspective. For example, in many applications it makes sense to have a button or shortcut to return to a standard layout of the rows, whenever users mixed up the row order by dragging rows etc.
NtRowPerspective Each row in the time chart is described by one instance of this class. It describes the row: Row height, category, and which data types are to be located in this row. Still it does not describe 'how' data is being displayed (in terms of color, display method etc.). Example: Whenever you change the order and the assignment of data types to certain rows, you change the row perspective of that row. But here you can not change that a certain data type for example is being displayed as blue text, because this is not a row property but a property of your data type definition.

 

Interfaces

Interface Description
NtApplication You can implement this interface and declare your implementation to the NtTimeChartControl by calling SetNtApplication(). The NtTimeChartControl then uses this interface to retrieve certain information about data objects like its string value, double value or a Bitmap to represent that object. One interface method is in place to get tooltip texts for data objects and two others to determine if a certain date is a holiday or weekend.
NtCustomObjectPaint The way how a data object is being displayed in the NtTimeChartControl depends on the data type of the very object. All objects of the same type are being drawn in the same way. The NtTimeChartControl supports drawing for several types already (bitmaps, curves, texts, icons, cross marks). In addition to this you might want to implement your own data types and the way how to draw the data objects of those types. These are custom object types. By implementing this interface NtCustomObjectPaint you allow the NtTimeChartControl to access your code in order to perform the drawing.

 

Helper Classes

Helper Class Description
NtCategoryOpenCloseAnimator If you want to hide a row in your time chart, you can set its row height to zero and invalidate. But if you prefer to smoothly open and close rows by an animated action, simply instantiate this animator class.
NtDataObjectDtComparer A comparator for NtDataObject to sort them by time sequence.

 

Event Arguments

Event Argument Class Description
NtCancelEventArgs You can create event handler for several events sent by the different controls (most of all NtTimeChartControl). Some events like dragging objects can be marked as cancelled by your event handler, so they will not be performed. This is an easy way to determine what users can do within the time chart and what not. NtCancelEventArgs is the base class of these kind of event arguments. You hardly need to instantiate them by yourself.
NtCategoryEventArgs Open and closing a category rises an event of this kind. You can catch and cancel it to prohibit the action and keep the status unchanged.
NtDisplayObjectEventArgs Some events rise per display object. For example if the user double clicks on an object within your time chart, then a NtDisplayObjectEvent is being raised. You can catch this and react on it, as the display object affected is indicated in the NtDisplayObjectEventArgs.
NtObjectDraggingEventArgs Object dragging events occur when one or more objects are being dragged. So this is not an event happening for a single object but for a group of objects, as multi selection is possible within NtTimeChartControl.
NtRowDraggingEventArgs Row dragging allows the user to change the vertical order of rows. When the user picks one row (on the row header pres Ctrl on the keyboard plus left mouse button) an event is raised. You can catch and cancel this event if you do not want to allow the dragging. Another event is raised when the user drops his selection. Again you can cancel the entire action by cancelling this event. Please note: If you organize your rows in categories, then the user can also pick full categories and drag them vertically with all rows within.
NtTimeZoomEventArgs When users change the time scale factor (by using the mouse wheel while holding Ctrl-key) this event is being fired.

 

Enumerations

Enumeration Description
TimeDisplayMode The Time Chart is organized in columns. One column can have different meanings like an hour or a day. The enumeration TimeDisplayMode defines the possible options.