Adds the given MathObject, sym, to the symbol table,
associating it with the given name (which is probably
the name of the symbol or that name transformed to lower
case, but it doesn't have to be).
Add the specified CoordinateRect to this DisplayCanvas, filling the entire canvas,
and with background color equal to the background color of the canvas.
Add a row number variable (from the getRowNumberVariable() method) and
a column variable for each column (from the getColumnVariable() method)
to the parser.
An object of type Cases stores a list of "case values" that is generated
while an expression is being evaluated using the routine Expression.getValuesWithCases().
Cases() -
Constructor for class edu.hws.jcm.data.Cases
One of the possible styles for displaying a VectorField: as a vector field where a vector is shown as
an arrow from (x,y) to (x+xFunc(x,y),y+xFunc(x,y)), except that a maximum length is imposed.
If thie is true, then the value of the variable associated with
the x-ccordinate of the mouse is clamped to lie within the
xmin and xmax of the coordinate rect.
If thie is true, then the value of the variable associated with
the y-ccordinate of the mouse is clamped to lie within the
ymin and ymax of the coordinate rect.
If this ParserExtension is registered with a parser and the parser
encounters the name of the function in the string it is parsing,
then the parser will call this routine.
When the name of this ParserExtension is encountered by a parser with which
the extension is registered, the parser calls this routine to parse the
summation subexpression.
Create a string that is displayed at the reference point (xPos,yPos);
The positioning constant, pos, gives the positioning relative to this point, if xPos or yPos is non-null.
To allow different styles of reporting errors, a
Controller uses an ErrorReporter to report any
errors that are thrown during its checkInput/compute
cycle.
Return the number of commands in prog that are part of this function reference,
including the space occupied by the commands that compute the values of the
function's arguments.
If there is a point in the list with x-coordinate x, then this function returns
the index of that point in the list (where the index of the first point is zero).
If an edit function has been specified (by startEdit()), this function copies the
data form the TableFunctionInput into that function, and returns a
pointer to that function.
An object belonging to a concrete subclass of FunctionParserExtesion is a
mathematical function that can be registered with a Parser and then used in
strings that are parsed by that parser.
This method will set all the input objects in this JCMPanel
and in sub-JCMPanels, as well as any other input objects that have been
added to the panels' Controllers, to notify the Controller of this JCMPanel
when they change.
Get a Button corresponding to one of the six button types defined by the constants
SET_LIMITS, EQUALIZE, ZOOM_IN, ZOOM_OUT, SAVE, and RESTORE in this class.
Get a function of one variable whose value at a real number
x is computed by assigning x to the variable v and then
returning the value of the expression associated with this
ExpressionInput.
Get the "handleMouseZooms" property of this DisplayCanvas, which determines whether the
canvas reacts to mouse events by zooming the CoordinateRect that is clicked.
Get the value of the throwErrors property, which determines whether an error
is thrown when an attempt is made to refer to the value of a cell that
contains an invalid string.
Create a JCMPanel that uses a GridLayout with the specified number of rows
and columns and with horizontal and veritcal gaps of 3 pixels between components.
Create a LimitControlPanel containing input boxes labeled
"xmin", "xmax", "ymin", "ymax" and whatever buttons are in the
set specified by the first parameter.
The Limits interface is implemented by edu.hws.jcm.data.CoordinateRect
and by other objects that can be "Tied" to a CoordinateRect, such as
LimitControlPanel.
A MouseTracker can be added to a CoordinateRect in a DisplayCanvas to respond to user
mouse actions in the rectangular area occupied by the CoordinateRect.
If this is non-null, then its compute() method is called
when the user clicks the mouse and, if listenForDrags is also
true, when the user drags and releases the mouse.
When a Panner object is added to a CoordinateRect, it becomes possible to
"grab" the coordinate rectangle and pan it (that is, slide it around by
moving it with the mouse).
Panner() -
Constructor for class edu.hws.jcm.draw.Panner
Create a Panner object that will let the user pan the CoordinateRect
that contains the Panner by
right-clicking and dragging (or, on Macintosh, command-clicking).
A ParserContext holds all the state data for a parsing operation, including the
string that is being parsed, a pointer to the current position in that string,
and the most recently parsed token from the string.
If the style of the function is set to PIECEWISE_LINEAR,
then linear interpolation is used to find the value
of the functions for x-values between the points that define the function.
Specifies a rectangle with one corner at (x1,y1), and with width given by x2, or h if
if x2 is null, and with height given by y2, or by v if y2 is null.
If a function has been specified using startEdit(), and neither
finishEdit() nor cancelEdit have been called, then this method
will discard the current data in and replace it with data from
the edit function.
One of the possible styles for displaying a VectorField: as a field of tangent lines where the length
of the line is proportional to the length of the vector.
One of the possible styles for displaying a VectorField: as a vector field where a vector is shown as
an arrow with length proportional to the length of the vector.
If the value of autoAddRows is true, then an empty row is added to the table
automatically when the user attempts to move down from the last row of
the table, provided that the last row is non-empty (so there can only be
one auto-added row at a time).
If the parameter is true, then the limits on the CoordinateRect that contains
this ScatterPlot are automatically adjusted whenever the data is recomputed.
Put the given real number, val, in the cell in the specified row
and column, where rows are numbered starting from 1 and columns are
numbered starting from zero.
If the parameter is true, then a missing data value (an empty cell or
an undefined value for one of the expressions) is considered to be an
error, and a JCMError is thrown when it is encountered.
If the Controller, c, is non-null, then its compute() method will be called whenever
the user presses the return key while typing in this text-input box.
Call this function with b = true if this is a function of one variable
and you want it to behave like a standard function in that parentheses
can be optional around the argument of the function.
This overrides the setText() method from the TextField class so that
it will also force the contents to be checked the next time
the checkInput() method is called.
Create the function of one variable such that the value
of the function at x is obtained by temporarily assigning x as the
value of the variable v and then evaluating e.
If the style of the function is set to SMOOTH,
then cubic interpolation is used to find the value
of the functions for x-values between the points that define the function.
Create a StandardFunction object to represent the standard
function with the given operation code, where opCode is one
of the codes for standard functions defined in class ExpressionProgram.
Create a StandardFunction object to represent the standard
function with the given operation code, where opCode is one
of the codes for stadard functions defined in class ExpressionProgram.
If the style of the function is set to STEP, then the function is
piecewise constant, and the value of the function at x is taken
from the nearest point in the list of points that define the function.
If the style of the function is set to STEP_LEFT, then the function is
piecewise constant, and the value of the function at x is taken
from the nearest point to the left in the list of points that define the function.
If the style of the function is set to STEP_RIGHT, then the function is
piecewise constant, and the value of the function at x is taken
from the nearest point to the right in the list of points that define the function.
If the most recently read token was of type IDENTIFIER, then
this is the corresponding MathObject from the symbol table,
or null if the identifier is not in the symbol table.
Create a horizontal variable slider with the given name and range of
values, and register it with the given parser (but only if
both name and p are non-null).
A WrapperFunction contains another function and delegates to it
all calls to methods from the Function interface, except for calls
to setName() and getName().