use of doc.attributes.GridPointAttribute in project OpenNotebook by jaltekruse.
the class GraphObject method setDefaults.
public void setDefaults() {
try {
addList(new ListAttribute<>(EXPRESSIONS, new StringAttribute(EXPRESSION), 6, true, false));
addList(new ListAttribute<>(POINTS, new GridPointAttribute("", -7E8, 7E8, -7E8, 7E8), 1000000, true, false));
addList(new ListAttribute<>(LINE_GRAPH, new GridPointAttribute("", -7E8, 7E8, -7E8, 7E8), 1000000, true, false));
addList(new ListAttribute<>(BAR_GRAPH_VALUES, new DoubleAttribute("", -7E8, 7E8), 50, false, true));
addAttribute(new IntegerAttribute(BAR_GRAPH_GROUP_SIZE, 1, 1, 100, false));
addList(new ListAttribute<>(BAR_GRAPH_LABELS, new StringAttribute(""), 100, false, true));
addAttribute(new SelectionAttribute(SELECTION, new Selection(), false));
addAttribute(new DoubleAttribute(X_MIN, -7E8, 7E8, true, true));
getAttributeWithName(X_MIN).setValueWithString("-5");
addAttribute(new DoubleAttribute(X_MAX, -7E8, 7E8, true, true));
getAttributeWithName(X_MAX).setValueWithString("5");
addAttribute(new DoubleAttribute(Y_MIN, -7E8, 7E8, true, true));
getAttributeWithName(Y_MIN).setValueWithString("-5");
addAttribute(new DoubleAttribute(Y_MAX, -7E8, 7E8, true, true));
getAttributeWithName(Y_MAX).setValueWithString("5");
addAttribute(new DoubleAttribute(X_STEP, -3E8, 3E8, true, true));
getAttributeWithName(X_STEP).setValueWithString("1");
addAttribute(new DoubleAttribute(Y_STEP, -3E8, 3E8, true, true));
getAttributeWithName(Y_STEP).setValueWithString("1");
addAttribute(new IntegerAttribute(FONT_SIZE, 1, 20));
getAttributeWithName(FONT_SIZE).setValueWithString("8");
addAttribute(new BooleanAttribute(SHOW_AXIS));
getAttributeWithName(SHOW_AXIS).setValue(true);
addAttribute(new BooleanAttribute(SHOW_NUMBERS));
getAttributeWithName(SHOW_NUMBERS).setValue(true);
addAttribute(new BooleanAttribute(SHOW_GRID));
getAttributeWithName(SHOW_GRID).setValue(true);
addAttribute(new ColorAttribute(LINE_GRAPH_COLOR));
getAttributeWithName(LINE_GRAPH_COLOR).setValue(Color.BLUE);
} catch (Exception e) {
e.printStackTrace();
}
}
use of doc.attributes.GridPointAttribute in project OpenNotebook by jaltekruse.
the class OldReader method readAttribute.
public void readAttribute(String uri, String name, String qName, Attributes atts) {
MathObjectAttribute mAtt = null;
boolean justAddedAttribute = false;
if (qName.equals("BooleanAttribute")) {
mAtt = new BooleanAttribute(atts.getValue(NAME));
justAddedAttribute = true;
} else if (qName.equals("DoubleAttribute")) {
mAtt = new DoubleAttribute(atts.getValue(NAME));
justAddedAttribute = true;
} else if (qName.equals("GridPointAttribute")) {
mAtt = new GridPointAttribute(atts.getValue(NAME));
justAddedAttribute = true;
} else if (qName.equals("IntegerAttribute")) {
mAtt = new IntegerAttribute(atts.getValue(NAME));
justAddedAttribute = true;
} else if (qName.equals("StringAttribute")) {
mAtt = new StringAttribute(atts.getValue(NAME));
justAddedAttribute = true;
} else {
if (mObj == group) {
return;
}
if (DEBUG) {
System.out.println("bad attribute found! " + qName);
}
}
if (justAddedAttribute) {
try {
mAtt.setValueWithString(atts.getValue(VALUE));
mObj.addAttribute(mAtt);
mObj.setAttributeValue(mAtt.getName(), mAtt.getValue());
} catch (AttributeException e) {
if (DEBUG) {
System.out.println(e.getMessage());
}
hadAttributeError = true;
attributeNameInError = atts.getValue(NAME);
attributeValueInError = atts.getValue(VALUE);
objectWithError = mObj.getClass().getSimpleName();
justAddedAttribute = false;
return;
}
} else {
for (int i = 0; i < atts.getLength(); i++) {
if (DEBUG) {
System.out.println(atts.getValue(i).toString());
}
}
hadAttributeError = true;
attributeNameInError = atts.getValue(NAME);
attributeValueInError = atts.getValue(VALUE);
objectWithError = mObj.getClass().getSimpleName();
justAddedAttribute = false;
return;
}
}
use of doc.attributes.GridPointAttribute in project OpenNotebook by jaltekruse.
the class GraphObjectGUI method drawMathObject.
public void drawMathObject(GraphObject object, Graphics g, Point pageOrigin, float zoomLevel) {
ScaledSizeAndPosition sap = getSizeAndPosition(object, pageOrigin, zoomLevel);
graph.removeAllSingleGraphs();
graph.removeAllPoints();
int colorIndex = 0;
boolean hadError = false;
for (StringAttribute ex : object.getExpressions()) {
if (!ex.getValue().equals("")) {
try {
graph.AddGraph(new GraphedCartFunction(graph, "y=" + ex.getValue(), "x", "y", true, graphColors[colorIndex]));
} catch (NodeException e) {
// TODO Auto-generated catch block
hadError = true;
}
}
colorIndex++;
}
//graph.lineGraph.linePoints = object.getPoints();
graph.lineGraph.linePoints.removeAllElements();
graph.removeAllPoints();
for (GridPointAttribute pt : object.getPoints()) {
if (pt != null) {
graph.addPoint(pt.getValue().getx(), pt.getValue().gety());
}
}
graph.barGraph.values.removeAllElements();
for (DoubleAttribute d : object.getBarGraphValues().getValues()) {
graph.barGraph.values.add(d.getValue());
}
graph.barGraph.labels.removeAllElements();
for (StringAttribute strAttr : object.getBarGraphLabels().getValues()) {
graph.barGraph.labels.add(strAttr.getValue());
}
graph.barGraph.groupSize = object.getBarGraphGroupSize();
graph.lineGraph.setColor(object.getLineGraphColor());
synchronized (object.getLineGraphPoints().getValues()) {
for (GridPointAttribute pt : object.getLineGraphPoints().getValues()) {
if (pt != null) {
graph.lineGraph.linePoints.add(new GridPoint(pt.getValue().getx(), pt.getValue().gety()));
}
}
}
graph.repaint(g, sap.getWidth(), sap.getHeight(), zoomLevel, sap.getxOrigin(), sap.getyOrigin(), object);
if (hadError) {
FontMetrics fm = g.getFontMetrics();
int errorWidth = fm.stringWidth("error");
g.setColor(Color.WHITE);
g.fillRect((sap.getxOrigin() + sap.getWidth() / 2) - errorWidth / 2, (sap.getyOrigin() + sap.getHeight() / 2) - fm.getHeight() / 2, errorWidth + 4, fm.getHeight() + 4);
g.setColor(Color.BLACK);
g.drawRect((sap.getxOrigin() + sap.getWidth() / 2) - errorWidth / 2, (sap.getyOrigin() + sap.getHeight() / 2) - fm.getHeight() / 2, errorWidth + 4, fm.getHeight() + 4);
g.setColor(Color.RED);
g.drawString("error", (sap.getxOrigin() + sap.getWidth() / 2) - errorWidth / 2 + 2, (sap.getyOrigin() + sap.getHeight() / 2) + fm.getHeight() / 2);
}
}
use of doc.attributes.GridPointAttribute in project OpenNotebook by jaltekruse.
the class GraphObjectGUI method mouseClicked.
public void mouseClicked(GraphObject gObj, int x, int y, float zoomLevel) {
// and cannot be removed
if (false) {
// deliberately disabled, but this makes sure this code is still compiling (as commenting out would not do
//add a point to the graph
gObj.getPoints().add(new GridPointAttribute("", new GridPoint(graph.screenxToGrid(x), -1 * graph.screenyToGrid(y))));
// add a single x value "selection"
graph.pullVarsFromGraphObject(gObj, (int) (gObj.getWidth() * zoomLevel), (int) (gObj.getHeight() * zoomLevel));
((Selection) gObj.getAttributeWithName(GraphObject.SELECTION).getValue()).setStart(graph.screenxToGrid(x));
}
return;
}
Aggregations