/* * ImageSavePopup.java * * Created on March 8, 2006, 1:31 PM */ package Current.popups.ImageSave; import Current.gui.*; import Current.manage.*; import Current.util.TextProcess; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.util.*; import java.io.File; import org.freehep.graphics2d.VectorGraphics; import org.freehep.graphicsio.ps.PSGraphics2D; import org.freehep.graphicsio.svg.SVGGraphics2D; import org.pat.graphics.boxed.ListenString; /** * * * @author pat */ public class ImageSavePopup extends Container { public static boolean canSave(){ SecurityManager SM=System.getSecurityManager(); if (SM==null) { //System.out.println("No SecurityManager Present!"); return true; } return false; } Manager M; static final int padding=4; static Color bgColor=new Color(0,110,146); Title T; private int mode=0; SaverList L; SaveOptions O; String select=null; public ImageSavePopup(Manager M) { setBackground(Color.BLUE); this.M=M; setLayout(new BorderLayout()); T=new Title(); add(T,"North"); L=new SaverList(); add(L,"Center"); setSize(200,200); } public void cleanup() { if (L!=null) { L.cleanup(); } } public void toggle(){ invalidate(); switch (mode){ case 0: remove(L); L.cleanup(); L=null; break; case 1: remove(O); O=null; break; } mode=(mode+1)%2; switch (mode){ case 0: L=new SaverList(); add(L,"Center"); break; case 1: O=new SaveOptions(); add(O,"Center"); break; } T.LS[0].str=T.info[mode]; validate(); //repaint(); } public class Title extends Canvas implements MouseListener { private ListenString[] LS=new ListenString[3]; private String[] info={"choose canvas:", "choose file:"}; public Title() { setFont(new Font("sanserif", Font.PLAIN, 12)); setBackground(bgColor); LS[2]=new ListenString("save an image",this); LS[2].showBorder=false; LS[2].setLeft(padding); LS[2].setTop(padding); LS[2].setColors(Color.WHITE, bgColor); LS[0]=new ListenString(info[mode],info,this); LS[0].showBorder=false; LS[0].setLeft(padding); LS[0].setTop(LS[2].getBottom()+2*padding); LS[0].setColors(Color.WHITE, bgColor); LS[1]=new ListenString("?",this); LS[1].setTop(padding); LS[1].setColors(Color.WHITE, bgColor); setSize((int)(LS[1].getRight()+padding), (int)(LS[0].getBottom()+padding)); addMouseListener(this); } public void paint(Graphics gfx) { Graphics2D g=(Graphics2D) gfx; g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); LS[1].setRight(getWidth()-padding); for (int i=0; i12) { temp=temp.substring(0,12); } if (! LS[4].str.equals(temp)) { LS[4].str=temp; LS[4].size(); repaint(); return; } } } public void focusGained(java.awt.event.FocusEvent focusEvent) { } public void focusLost(java.awt.event.FocusEvent focusEvent) { if (selected) { selected=false; selectColors(); repaint(); return; } } } }