############################################################################
# Copyright (C) 1982-2011 ESL Syndetic Limited #
# All Rights Reserved. #
# #
# NOTICE #
# PROPRIETARY AND CONFIDENTIAL #
# #
# This computer program is and contains trade secret and confidential and #
# proprietary information of ESL Syndetic Limited. All use, disclosure, #
# and/or reproduction not specifically authorized in writing by #
# ESL Syndetic Limited is prohibited. This program may also be protected #
# under the copyright and trade secrets laws of countries other than the #
# U.S.A. #
# #
# #
############################################################################
#
# Description : Public part of the Business Graphics Module
#
############################################################################
public body BGraph is
integer constant GMaxDataSets is 10 #The maximum number of Data Sets is 10
GMaxDataElements is 20 #and Data Elements is 20
boolean variable GraphPie is true #This variable is set to false when a
#pie is attempted with both negative and
#positive numbers in the same Data Set,
#and NO PIE IS PRODUCED.
##############################################################################
#
# The following variables must be set by the author before calling
# one of the graphing actions to create the graph.
#
###############################################################################
#The following data arrays are set by the user with the current X (GDataX) and
#Y (GDataY) values for the graph. If you are not graphing X,Y data, GDataX
#should be left null (all elements set to "").
string GDataY[1 thru GMaxDataSets, 1 thru GMaxDataElements]
string GDataX[1 thru GMaxDataSets, 1 thru GMaxDataElements]
string variable GRegion #This specifies what region the graph
#will be put into.
integer GDataSets #Tells how many Data Sets there are,
integer GDataElements #and how many Data Elements there are
#in current graph.
############################################################################
#
# The following are optional parameters which can be set by the
# author to change graph appearance, or data analysis.
#
############################################################################
#Used to set X axis labels
string variable GLabels[1 thru GMaxDataElements]
#Used to set legend label for data sets
string variable GLegend[1 thru GMaxDataSets]
boolean variable GLegendOn is true #Used to enable legends in those graphs
#that support them
string variable GxTitle #Used to specify titles for X axis
string variable GxTitle2 #Used to specify 2nd line of X axis title.
string variable GTitle #Graph
string variable GFootnote #Footnote
string variable GyTitle #Y axis (if scale is changed from data
# will contain scale change
# i.e. thousands)
string variable GTitleFont #Fonts used for various titles (default
GTickFont #is medium for all) Tick labels
GFootnoteFont #Footnote
GLegendFont #Legend
GAxisTitleFont #X and Y axis labels
string GDecimalPoint is "." #Included for compatibility with prior rev
boolean GAutoScaleY is true #Tells whether to use autoscale
boolean GAutoScaleX is true #or X and Y values specifed
string GTopY GTopX GBottomY GBottomX #here. If GAutoScaleX or GAutoScaleY
#is false then the Top and Bottom values
#must be set.
string GXTickIncrement is ""
string GYTickIncrement is ""
string YTicks[1 thru GMaxDataElements] # Y tick labels
string XTicks[1 thru GMaxDataElements] # X tick labels
integer XNumTicks is 9 # number of x tick marks
integer YNumTicks is 9 # number of y tick marks
boolean GAutoYTitle is true #Tells whether scale override for
boolean GAutoXTitle is true #X or Y axis should be used instead of
#GxTitle or GyTitle. (true=override
#GxTitle and/or GyTitle)
boolean GraphOnLast is false #Tells Graph Module to graph new data
#on previous graph.
boolean GridX is false #These variables tell whether Grid ticks
boolean GridY is false #should be extended over full graph
#on X and/or Y axis.
boolean GDrawXTicks is true #These variables tell whether
boolean GDrawYTicks is true #tick marks should be drawn.
boolean GraphOverlap is false #These variables are for bar graphs only
boolean Graph3D is false #They specify overlapping and/or 3D
#styles of bars.
boolean G3DOutline is true #Outline 3D bars
boolean GRedNegativeBars is false #Specifies negative bars should be
#drawn red.
#Allows color selection for different
#Data Sets (for bar and line graphs),
#different Data Elements (for pie graph)
#Can be set with any valid
#color numbers.
string variable GColor[1 thru GMaxDataElements] is 1,2,3,4,5,6,7,8,1,2,3,4 ,
5,6,7,8,1,2,3,4
# The GPatterns array may be loaded with names of patterns to be used
# for the drawing of symbols on graphs
string GPatterns[1 thru GMaxDataSets] is
"%Triangle", "%SquareP", "%TriangleS", "%Cross",
"%CircleP","%SCircleP" ,"%SSquareP" ,"%CrossX",
"%Triangle", "%SquareP"
string variable GFootnoteColor is 27 #Allow setting of footnote color
string variable GxTitleColor is 27 #Allow setting of Xtitle color
string variable GyTitleColor is 27 #Allow setting of Ytitle color
string variable GTitleColor is 27 #Allow setting of Graph Title color
string variable GLegendColor is 27 #Allow setting of Legend word color
string variable GMissingDataValue is "*" # For missing line data
#Here for Compatibility with prior
#Versions
integer variable GPriority[1 thru 10] is 1,2,3,4,5,6,7,8,9,10
integer variable GPieDataSet is 1 #Specifies which data set should be
#used for pie representation.
boolean variable GPieLabels is true #Specifies whether labels should be
#put around pie slices
integer GStartPie is 0 #Allows pie wedges to start drawing
#X degrees to the right of the default
#0 degree starting point at the top
#of the pie.
boolean variable GStepLineSet[1 thru GMaxDataSets] #Creates a step line instead
# of line graph
integer variable GLineWidth is 1
boolean GMarkerLines is false #true if there are x or y marker lines
integer GMarkerLineWidth is 4 #width of X and Y marker lines
string GMarkerColor is 1 #Color of X and Y marker lines
boolean GXMarkers[1 thru GMaxDataElements] #x markers located
boolean GYMarkers[1 thru GMaxDataElements] #y markers located
boolean GTBars is false #[This feature is unsupported].
#true if you want to have touchable
#bars in the standard bar graph
#############################################################################
#
# Classes for Moving parts of graph
#
#############################################################################
class GMovables #Class allows you to move the graph
#title, footnote, X axis title, Y axis
#title, and the whole legend block.
class GTouchBars #Class allows you to access bars in
#a normal bar chart.
#############################################################################
#
# One of these actions must be invoked to create a graph.
#
#############################################################################
action GBars is #Used to create bar graph.
action "%GraphBars"
action GStackedBars is #Used to create stack bar graph.
action "%StackedBars"
action GLines is #Used to create line graph.
action "%GLines"
action GLinesWithSymbols is #Used to create line graph.
action "%GLinesWithSymbols"
action GScatter is #Used to create scatter graph.
action "%GScatter"
action GSurfaceLines is #Used to create surface line graph.
action "%GSurfaceLines"
action GStackedLines is #Used to create stacked line graph.
action "%GStackedLines"
action GPie is #Used to create pie graph.
action "%GPie"
action GHiLoClose is #Used to create hi-lo-close graph.
action "%GHiLoClose"
end public body BGraph