Files
gzz-mirror/Modules/awtool/AwtNote.zob
2026-09-14 20:19:29 -04:00

136 lines
3.5 KiB
Java

/*
Awtnote.java
*
* Copyright (c) 1999-2000, Ted Nelson and Tuomas Lukka
*
* You may use and distribute under the terms of either the GNU Lesser
* General Public License, either version 2 of the license or,
* at your choice, any later version. Alternatively, you may use and
* distribute under the terms of the XPL.
*
* See the LICENSE.lgpl and LICENSE.xpl files for the specific terms of
* the licenses.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the README
* file for more details.
*
*/
/*
* Written by Kimmo Wideroos
*/
package org.gzigzag.module;
import org.gzigzag.*;
import java.awt.*;
import java.util.*;
/** this is for awt content. change 'AwtNote' => 'AwtContent'
*/
public class AwtNote extends ZObCellRepr implements ZOb {
public static boolean dbg = false;
static final void p(String s) { if(dbg) System.out.println(s); }
static final void pa(String s) { System.out.println(s); }
STRUCTPARAMS {
double width
= 0.1;
double height
= 0.07;
}
// category link
private AwtLink cLink = null;
double x = Double.NaN;
double y = Double.NaN;
public void setCell(ZZCell c) {
super.setCell(c);
ZZCell cc, nCategoryCell = AwtUtil.getNoteCellCategory(c);
if(nCategoryCell != null) {
cc = c.s(AwtUtil.d_from, -1);
if(cc.s("d.1") != null)
cLink = (AwtLink)AwtUtil.readZObClone(cc);
else
cLink = new AwtLink();
cLink.setCell(cc);
} else {
cLink = new AwtLink();
}
}
public double getWidth() { return width; }
public double getHeight() { return height; }
public double[] getDimension() { return new double[] { width, height }; }
public void setDimension(double w, double h) {
width = w;
height = h;
}
public AwtLink getCategoryLink() {
return cLink;
}
public void setCategoryLink(AwtLink cl) {
cLink = cl;
}
public void setCoord(double x, double y) {
cLink.setX(x);
cLink.setY(y);
}
public void setX(double x) {
cLink.setX(x);
}
public void setY(double y) {
cLink.setY(y);
}
public double[] getCoord() {
return new double[] { cLink.getX(), cLink.getY() };
}
public double getX() {
return cLink.getX();
}
public double getY() {
return cLink.getY();
}
public String getZObName() {
return "Note";
}
/** method for storing ZOb back to structure.
* @param start quess;)
* @param clone whether or not to make the new central cell a clone of
* this.cell (default is true).
*/
public String cellRepr(ZZCell start, boolean clone)
{
ZZCell c = start.getOrNewCell("d.1");
c.setText(getZObClassName());
c.setText("AwtNote");
c = c.getOrNewCell("d.1");
c.setText("width");
c.getOrNewCell("d.1").setText(""+getWidth());
c = c.getOrNewCell("d.2");
c.setText("height");
c.getOrNewCell("d.1").setText(""+getHeight());
if(clone && !start.equals(getCell())) {
getCell().connect(AwtUtil.d_clone, start);
}
if(cLink.getCell() != null) cLink.cellRepr();
return "";
}
}
// vim: set syntax=java :