BBjWindow::addBarChart

Description

In BBj 7.00 and higher, this method adds a bar chart control to the BBjWindow.

Syntax

Return Value

Method

BBjBarChart

addBarChart(int ID, number x, number y, number w, number h, string xLabel, string yLabel, int seriesCount, int categoryCount, boolean showLegend, boolean is3D, boolean isHorizontal)

BBjBarChart

addBarChart(int ID, number x, number y, number w, number h, string xLabel, string yLabel, int seriesCount, int categoryCount, boolean showLegend, boolean is3D, boolean isHorizontal, byte[] flags)

BBjBarChart addBarChart(int ID, string xLabel, string yLabel, int seriesCount, int categoryCount, boolean showLegend, boolean is3D, boolean isHorizontal)
BBjBarChart addBarChart(int ID, string xLabel, string yLabel, int seriesCount, int categoryCount, boolean showLegend, boolean is3D, boolean isHorizontal, byte[] flags)
BBjBarChart addBarChart(string xLabel, string yLabel, int seriesCount, int categoryCount, boolean showLegend, boolean is3D, boolean isHorizontal)
BBjBarChart addBarChart(string xLabel, string yLabel, int seriesCount, int categoryCount, boolean showLegend, boolean is3D, boolean isHorizontal, byte[] flags)

Parameters

Variable

Description

ID

Specifies the Control ID number. It must be an integer between 1 and 32767 and be unique within a given top level window.

x

Horizontal position of the upper-left corner of the control in current units.

y

Vertical position of the upper-left corner of the control in current units.

width

Width of the control in current units.

height

Height of the control in current units.

xLabel

The label that should appear on the x axis.

yLabel

The label that should appear on the y axis.

seriesCount

The number of series that are to be displayed.

categoryCount

The number of categories that are to be displayed.

showLegend

An indication of whether a default legend should be displayed..
0 = Do not show legend
1 = Show legend

is3D

An indication of whether the chart should be rendered in 3 dimensions..
0 = Do not render in 3D
1 = Render in 3D

Note: This parameter is ignored in BBj 23 and higher; 3d charts are not supported in JFreeChart 1.5.x.

isHorizontal

An indication of whether the chart should be rendered with horizontal bars.

flags

Control flags, as follows:

Flag 

Description

$0001$

Sets the control to be initially disabled

$0010$

Sets the control to be initially invisible

$0800$

Draws a recessed client edge around the control

$1000$

Draws a raised edge around the control

Return Value

Returns the created BBjBarChart object.

Remarks

If the ID parameter is not specified, a control ID is assigned dynamically using getAvailableControlID().

If the x, y, width, and height parameters are not specified, they are all initialized to 0. This is typically for use with DWC windows that dynamically arrange their contents (window creation flag $00100000$).

Example

rem ' BBjWindow::addBarChart Example

rem 'BBjBarChart demo: Graph Maximum Velocities for the Soapbox Derby

declare BBjBarChart barChart!
declare BBjWindow win!
declare BBjSysGui sysgui!
declare BBjNumber sysgui
declare BBjSystemMetrics sysMetrics!
declare java.awt.Dimension screenDimension!
declare BBjNumber height
declare BBjNumber width
declare BBjNumber numSeries
declare BBjNumber numCategories
declare BBjNumber series_ctr
declare BBjNumber categories_ctr

rem 'instantiate the window and chart to take up a quarter screen
sysgui=unt
open (sysgui) "X0"
sysgui!=BBjAPI().getSysGui()

sysMetrics!=sysgui!.getSystemMetrics()
screenDimension!=sysMetrics!.getScreenSize()
width=int(screenDimension!.getWidth()/2)
height=int(screenDimension!.getHeight()/2)

win!=sysgui!.addWindow(10,10,width,height,"BBjBarChart Sample",$00090083$)
win!.setCallback(win!.ON_CLOSE,"end_demo")

numSeries=3
numCategories=5
barChart!=win!.addBarChart(101,10,10,width-20,height-20,"X Axis","Y Axis",numSeries,numCategories,0,0,0)

barChart!.setTitle("Soapbox Derby")
barChart!.setXLabel("Race")
barChart!.setYLabel("Maximum Velocity")

for series_ctr=0 to numSeries-1
    barchart!.setSeriesName(series_ctr,"Soapbox #"+str(series_ctr+1))
next series_ctr

rem 'Populate the chart with data for each car and race.
for categories_ctr=0 to numCategories-1
    barchart!.setCategoryName(categories_ctr,"Race #"+str(categories_ctr+1))
    for series_ctr=0 to numSeries-1
        barchart!.setBarValue(series_ctr,categories_ctr,rnd(40))
    next series_ctr
next categories_ctr

print "The Chart's title is ",$22$,barChart!.getTitle(),$22$
print "The Chart's X Label is ",$22$,barChart!.getXLabel(),$22$
print "The Chart's Y Label is ",$22$,barChart!.getYLabel(),$22$

if (barchart!.is3D()) then
    print "The Chart is 3D."
else
    print "The Chart is not 3D."
endif

barChart!.writePNGToServer(pgm(-2)+".png")

process_events

end_demo:
release

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

BBjBarChart

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.