ChartObject 3.2 Release Notes


This document contains information about the differences between versions 3.1 and 3.2 plus bug fixes included in Release3.2.10 of the ChartObject Widget.

Topic

See Page

Release Highlights

Release Notes - go to

AxisObject

Release Notes - go to

ChartObject

Release Notes - go to

EditObject Widget

Release Notes - go to

Plot2D Widget

Release Notes - go to

ChartObject Bug Fixes

Release Notes - go to

Release Highlights



AxisObject Object Class


New Resource


The following new resource is defined for the AxisObject Object Class.

Name

Type

Default

Access

XmNminimumLabelSpacing

int

0

CSG

XmNminimumLabelSpacing


Specifies the minimum distance, in pixel, between any adjacent label annotations.

New Callback


The following callbacks are defined by the ChartObject.

Name

Structure

Reason

XmNcolorLabelCallback

XintAxisObjectColorLabelCallbackStruct

None

The following ordered table lists the members of the callback structure, XintAxisObjectColorLabelCallbackStruct associated with callback XmNcolorLabelCallback.

Data Type

Member

Description

int

reason

Indicates why the callback was invoked.

XEvent *

event

Points to the XEvent that triggered the callback.

int

index

Index of the label for which the color is being changed.

float

position

Position of the label.

String

label

The character string content of the label.

Pixel

color

The color of the label (can be changed).

Object

object

The object id of the AxisObject.

int

doit

Set it to False to prevent the color from being changed.

ChartObject


Chart Callbacks


The following callbacks are defined by the ChartObject.

Name

Structure

Reason

XmNchartLayoutCallback

XintChartLayoutCallbackStruct

None

XmNplotLayoutCallback

XintPlotLayoutCallbackStruct

None

The following ordered table lists the members of the callback structure, XintChartLayoutCallbackStruct associated with callback XmNchartLayoutCallback.

Data Type

Member

Description

int

reason

Indicates why the callback was invoked.

XEvent *

event

Points to the XEvent that triggered the callback.

XintChartMargins *

chart_margins

The margins of the chart. The user should control it in the callback routine to maintain the aspect ratio he wants.

int

chart_height

Height of the chart (in pixels).

int

chart_width

Width of the chart (in pixels).

Boolean

doit

Set to False to prevent the chart margin from being recalculated.

The following ordered table lists the members of the callback structure, XintPlotLayoutCallbackStruct associated with callback XmNplotLayoutCallback.

Data Type

Member

Description

int

reason

Indicates why the callback was invoked.

XEvent *

event

Points to the XEvent that triggered the callback.

int

plot_height

Height of the plot (in pixels). **

int

plot_width

Width of the plot (in pixels).**

Boolean

doit

Set to False to prevent the plot dimensions from being recalculated.

** The user should control it in the callback routine to maintain the aspect ratio he wants.

New Defined Functions


The following new functions are defined for the ChartObject Widget.

Function Name

Description

XintChartFreezeUpdates

To freeze (or unfreeze) the chart while doing a series of changes.

XintChartInitializeClassConverter

Initializes the ChartObject class converter.

XintChartFreezeUpdates


Specifies whether to freeze or unfreeze a chart.

Boolean XintChartFreezeUpdates (...)

Object

object

Object ID of the chart to be frozen.

int

toggle

Set to 1 to freeze, 0 to unfreeze.

If toggle is set to freeze chart and chart is already frozen then it returns False. If toggle is set to unfreeze chart and chart is not frozen then returns False. Otherwise, returns True.

XintChartInitializeClassConverter


This function is used to install the ChartObject class converter. This converter is used to convert the ascii object format and templates for the ChartObject from the string class name to the widget pointer class.

void XintChartInitializeClassConverter (void)

EditObject Widget


New Defined Function


The following new function is defined for the EditObject Widget.

Function Name

Description

_XintEditObjectReadFile

Reads an ASCII file containing a description of objects and places them into the EditObject widget.

_XintEditObjectReadFile


This function reads an object description file and creates the objects in the specified EditObject widget.

Boolean _XintEditObjectReadFile (...)

Widget

widget

EditObject widget ID.

char *

filename

Name of the file containing the object description.

The function returns False if it cannot open filename or if filename does not contain a valid object description.

New Defined Macro


The following new macro is defined for the EditObject Widget.

Macro Name

Description

XintEditObjectReadFile

Reads an ASCII file containing a description of objects and places them into the EditObject widget.

XintEditObjectReadFile


This macro reads an object description file and creates the objects in the specified EditObject widget. Depending on which include file is added, this macro will be redefined to use a file loader that is "aware" of the type of file it needs to load. For instance, if <Xint/Chart.h> is included the macro is redefined to use a "Chart aware" file loader.

Boolean XintEditObjectReadFile (...)

Widget

widget

EditObject widget ID.

char *

filename

Name of the file containing the object description.

The function returns False if it cannot open filename or if filename does not contain a valid object description.

Plot2D Widget


New Defined Function


The following new function is defined for the Plot2D Widget.

Function Name

Description

XintPlotInsertObject

Allows insertion of objects into a plot without the need for an expose.

XintPlotInsertObject


This function allows the insertion of objects into a plot without the need for an expose.

void XintPlotInsertObject (...)

Object

chart or

plat

Chart or Plot ID.

Object

child

Name of the child object to be inserted.

ChartObject Bug Fixes


Bug Fixes Release3.2


The following is the list of the bugs that were fixed for the 3.2 release:

BugFixes Release 3.2.10


libmalloc and libmapmalloc are extensions to the normal C runtime for different performance/implementation issues. Our library uses neither.

BugFixes Release 3.2.11