// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea
// Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com
// Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
// Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
package graphtea.plugins.main.ui;
import graphtea.graph.old.GShape;
import graphtea.ui.components.gpropertyeditor.GBasicCellRenderer;
import graphtea.ui.components.gpropertyeditor.editors.inplace.ValueSet;
import javax.swing.*;
import java.awt.*;
/**
* @author Azin Azadi
*/
public class GShapeRenderer implements ValueSet, GBasicCellRenderer<GShape> {
public Component getRendererComponent(final GShape value) {
//Vertex v=new Vertex();
JPanel p = new JPanel() {
/**
*
*/
private static final long serialVersionUID = 880282301386500240L;
@Override
public void paint(Graphics g) {
super.paint(g);
int h = getHeight();
g.drawString(value.name + "", h + 4, (h - 2) / 2 + 8);
g.setColor(Color.lightGray);
GShape.fillShape(value.name, g, h - 1, h - 1);
g.setColor(Color.darkGray);
GShape.drawShape(value.name, g, h - 1, h - 1);
// g.setColor(Color.black);
}
};
p.setPreferredSize(new Dimension(50, 30));
p.setBackground(Color.white);
return p;
}
public Object[] getValues() {
return new GShape[]{
GShape.OVAL,
GShape.RECTANGLE,
GShape.ROUNDRECT,
GShape.STAR,
GShape.SIXPOINTSTAR,
GShape.SEVENPOINTSTAR,
GShape.EIGHTPOINTSTAR,
GShape.NINEPOINTSTAR,
GShape.TENPOINTSTAR,
GShape.LEFTWARDTTRIANGLE,
GShape.RIGHTWARDTRIANGLE,
GShape.UPWARDTRIANGLE,
GShape.DOWNWARDTRIANGLE,
GShape.REGULARHEXAGON,
GShape.REGULARPENTAGON,
GShape.DOWNWARDTRAPEZOID,
GShape.UPWARDTRAPEZOID,
GShape.RIGHTWARDTRAPEZOID,
GShape.LEFTWARDTRAPEZOID,
GShape.DOWNWARDPARALLELOGRAM,
GShape.UPWARDPARALLELOGRAM,
GShape.NICESTAR,
GShape.NICESIXPOINTSTAR,
GShape.NICESEVENPOINTSTAR,
GShape.NICEEIGHTPOINTSTAR,
GShape.NICENINEPOINTSTAR,
GShape.NICETENPOINTSTAR,
};
}
}