001 // GraphLab Project: http://graphlab.sharif.edu 002 // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology 003 // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ 004 005 package graphlab.plugins.main.ui; 006 007 import graphlab.graph.old.GShape; 008 import graphlab.ui.components.gpropertyeditor.GBasicCellRenderer; 009 import graphlab.ui.components.gpropertyeditor.editors.inplace.ValueSet; 010 011 import javax.swing.*; 012 import java.awt.*; 013 014 /** 015 * @author Azin Azadi 016 */ 017 public class GShapeRenderer implements ValueSet, GBasicCellRenderer<GShape> { 018 public Component getRendererComponent(final GShape value) { 019 //Vertex v=new Vertex(); 020 JPanel p = new JPanel() { 021 022 /** 023 * 024 */ 025 private static final long serialVersionUID = 880282301386500240L; 026 027 @Override 028 public void paint(Graphics g) { 029 super.paint(g); 030 int h = getHeight(); 031 g.drawString(((GShape) value).name + "", h + 4, (h - 2) / 2 + 8); 032 g.setColor(Color.lightGray); 033 GShape.fillShape((GShape) value, g, h - 1, h - 1); 034 g.setColor(Color.darkGray); 035 GShape.drawShape((GShape) value, g, h - 1, h - 1); 036 // g.setColor(Color.black); 037 } 038 }; 039 p.setPreferredSize(new Dimension(50, 30)); 040 p.setBackground(Color.white); 041 return p; 042 } 043 044 public Object[] getValues() { 045 return new GShape[]{ 046 GShape.OVAL, 047 GShape.RECTANGLE, 048 GShape.ROUNDRECT, 049 GShape.STAR, 050 GShape.SIXPOINTSTAR, 051 GShape.SEVENPOINTSTAR, 052 GShape.EIGHTPOINTSTAR, 053 GShape.NINEPOINTSTAR, 054 GShape.TENPOINTSTAR, 055 GShape.LEFTWARDTTRIANGLE, 056 GShape.RIGHTWARDTRIANGLE, 057 GShape.UPWARDTRIANGLE, 058 GShape.DOWNWARDTRIANGLE, 059 GShape.REGULARHEXAGON, 060 GShape.REGULARPENTAGON, 061 GShape.DOWNWARDTRAPEZOID, 062 GShape.UPWARDTRAPEZOID, 063 GShape.RIGHTWARDTRAPEZOID, 064 GShape.LEFTWARDTRAPEZOID, 065 GShape.DOWNWARDPARALLELOGRAM, 066 GShape.UPWARDPARALLELOGRAM, 067 GShape.NICESTAR, 068 GShape.NICESIXPOINTSTAR, 069 GShape.NICESEVENPOINTSTAR, 070 GShape.NICEEIGHTPOINTSTAR, 071 GShape.NICENINEPOINTSTAR, 072 GShape.NICETENPOINTSTAR, 073 074 075 }; 076 } 077 078 079 }