package agg.gui; import java.net.URL; import javax.swing.ImageIcon; /** * This class supplies access to various icons and other pictures. Please look * at method description which icon can be accessed. It must be checked if you * get back a valid URL. * * @author $Author: olga $ * @version $Id: IconResource.java,v 1.7 2010/06/09 11:07:13 olga Exp $ */ public class IconResource { private final static String LIBPATH = "agg/lib/"; private final static String ICONPATH = LIBPATH + "icons/"; private final static String GRAGRAICONFILE = "gragra.gif"; private final static String GRAGRAEXPORTICONFILE = "gragraExport.gif"; private final static String GRAGRAIMPORTICONFILE = "gragraImport.gif"; private final static String CONTROLFLOWICONFILE = "controlFlow.gif"; private final static String GRAPHICONFILE = "graph.gif"; private final static String TYPEGRAPHICONFILE = "typegraph.gif"; private final static String GRAPHEXPORTICONFILE = "graphExport.gif"; private final static String GRAPHIMPORTICONFILE = "graphImport.gif"; private final static String NACICONFILE = "nac.gif"; private final static String PACICONFILE = "pac.jpg"; private final static String ACICONFILE = "nestedApplCond.gif"; private final static String RULEICONFILE = "rule.gif"; private final static String RULESCHEMEICONFILE = "ruleScheme.gif"; private final static String RULEEXPORTICONFILE = "ruleExport.gif"; private final static String RULEIMPORTICONFILE = "ruleImport.gif"; private final static String ATOMICCONSTRICONFILE = "atomic.gif"; private final static String FORMULACONSTRICONFILE = "formula.gif"; private final static String POSTCONSTRICONFILE = "post.gif"; private final static String CONSTRAINTICONFILE = "constr.gif"; private final static String ATOMCONSTRICONFILE = "atomconstr.gif"; private final static String OVERLAPINGGRAPHICONFILE = "overlapingGraph.gif"; private final static String STOPICONFILE = "stop.gif"; private final static String VERSIONID = "Version.id"; private final static String AGGLOGO = "AGG_LOGO.gif"; private final static String AGGICON = "AGG_ICON64.gif"; private final static String OK = "ok2.gif"; private final static String WRONG = "answer_bad2.gif"; private final static String OPTION = "OptionIcon.gif"; private final static String SMALL_STOP = "stop_small.gif"; private final static String CONSTRUCTION = "Baustelle_anim2.gif"; private final static String WORKER = "Baustelle.gif"; private final static String ATTRCONDITIONICONFILE = "attrCondition.gif"; private IconResource() { // never create a instance of this class } private static final URL makeURL(String source) { return ClassLoader.getSystemClassLoader().getResource(source); } /** * The location for the gragra icon which is displayed at top of a gragra in * the tree. */ public final static URL getURLGraGra() { return makeURL(ICONPATH + GRAGRAICONFILE); } /** * The location for the export gragra icon which is displayed in the tree. */ public final static URL getURLGraGraExport() { return makeURL(ICONPATH + GRAGRAEXPORTICONFILE); } /** * The location for the import gragra icon which is displayed in the tree. */ public final static URL getURLGraGraImport() { return makeURL(ICONPATH + GRAGRAIMPORTICONFILE); } /** * The location for the control flow icon */ public final static URL getURLControlFlow() { return makeURL(ICONPATH + CONTROLFLOWICONFILE); } /** * The location for the graph icon which is displayed in the tree. */ public final static URL getURLGraph() { return makeURL(ICONPATH + GRAPHICONFILE); } /** * The location for the graph icon which is displayed in the tree.for the * type graph */ public final static URL getURLTypeGraph() { return makeURL(ICONPATH + TYPEGRAPHICONFILE); } /** * The location for the export graph icon which is displayed in the tree. */ public final static URL getURLGraphExport() { return makeURL(ICONPATH + GRAPHEXPORTICONFILE); } /** * The location for the import graph icon which is displayed in the tree. */ public final static URL getURLGraphImport() { return makeURL(ICONPATH + GRAPHIMPORTICONFILE); } /** * The location for the negative application condition icon which is * displayed in the tree. */ public final static URL getURLNAC() { return makeURL(ICONPATH + NACICONFILE); } public final static URL getURLPAC() { return makeURL(ICONPATH + PACICONFILE); } public final static URL getURLAC() { return makeURL(ICONPATH + ACICONFILE); } public final static URL getURLAtomic() { return makeURL(ICONPATH + ATOMICCONSTRICONFILE); } public final static URL getURLAttrCondition() { return makeURL(ICONPATH + ATTRCONDITIONICONFILE); } public final static URL getURLFormula() { return makeURL(ICONPATH + FORMULACONSTRICONFILE); } public final static URL getURLPost() { return makeURL(ICONPATH + POSTCONSTRICONFILE); } public final static URL getURLConstraint() { return makeURL(ICONPATH + CONSTRAINTICONFILE); } public final static URL getURLAtomConstr() { return makeURL(ICONPATH + ATOMCONSTRICONFILE); } /** * The location for the rule icon which is displayed in the tree. */ public final static URL getURLRule() { return makeURL(ICONPATH + RULEICONFILE); } /** * The location for the export rule icon which is displayed in the tree. */ public final static URL getURLRuleExport() { return makeURL(ICONPATH + RULEEXPORTICONFILE); } /** * The location for the import rule icon which is displayed in the tree. */ public final static URL getURLRuleImport() { return makeURL(ICONPATH + RULEIMPORTICONFILE); } public final static URL getURLStop() { return makeURL(ICONPATH + STOPICONFILE); } /** * The location for the overlaping graph icon which is displayed at the * title bar. */ public final static URL getURLOverlapGraph() { return makeURL(ICONPATH + OVERLAPINGGRAPHICONFILE); } /** * The location for the rule scheme icon which is displayed in the tree. */ public final static URL getURLRuleScheme() { return makeURL(ICONPATH + RULESCHEMEICONFILE); } /** * The icon is returned which is specified. param url The location where to * find the icon. Use the <code>getURL...</code> methods from this class. */ public final static ImageIcon getIconFromURL(URL url) { if (url != null) return new ImageIcon(url); return new ImageIcon(); } public final static URL getURLVersionID() { return makeURL(ICONPATH + VERSIONID); } public final static URL getURLAGGLogo() { return makeURL(ICONPATH + AGGLOGO); } public final static URL getURLAGGIcon() { return makeURL(ICONPATH + AGGICON); } public final static URL getOkIcon() { return makeURL(ICONPATH + OK); } public final static URL getWrongIcon() { return makeURL(ICONPATH + WRONG); } public final static URL getOptionIcon() { return makeURL(ICONPATH + OPTION); } public final static URL getStopIcon() { return makeURL(ICONPATH + SMALL_STOP); } public final static URL getWorkingIcon() { return makeURL(ICONPATH + CONSTRUCTION); } public final static URL getWorkerIcon() { return makeURL(ICONPATH + WORKER); } } /* * $Log: IconResource.java,v $ * Revision 1.7 2010/06/09 11:07:13 olga * tuning * * Revision 1.6 2010/03/08 15:40:22 olga * code optimizing * * Revision 1.5 2009/05/12 10:37:01 olga * CPA: bug fixed * Applicability of Rule Seq. : bug fixed * * Revision 1.4 2008/09/04 07:49:24 olga * GUI extension: hide nodes, edges * * Revision 1.3 2007/09/10 13:05:21 olga * In this update: * - package xerces2.5.0 is not used anymore; * - class com.objectspace.jgl.Pair is replaced by the agg own generic class agg.util.Pair; * - bugs fixed in: usage of PACs in rules; match completion; * usage of static method calls in attr. conditions * - graph editing: added some new features * Revision 1.2 2007/06/13 08:32:50 olga Update: * V161 * * Revision 1.1 2005/08/25 11:56:53 enrico *** empty log message *** * * Revision 1.2 2005/06/20 13:37:03 olga Up to now the version 1.2.8 will be * prepared. * * Revision 1.1 2005/05/30 12:58:03 olga Version with Eclipse * * Revision 1.3 2003/03/05 18:24:19 komm sorted/optimized import statements * * Revision 1.2 2002/09/23 12:24:09 komm added type graph in xt_basis, editor * and GUI * * Revision 1.1.1.1 2002/07/11 12:17:10 olga Imported sources * * Revision 1.5 2001/07/04 10:41:48 olga GUI, neues Icon * * Revision 1.4 2001/03/15 17:02:54 olga Icons korrektur. * * Revision 1.3 2001/03/08 11:00:07 olga Das ist Stand nach der AGG GUI * Reimplementierung und Parser Anbindung. * * Revision 1.2 2000/12/07 14:23:37 matzmich XML-Kram Man beachte: xerces * (/home/tfs/gragra/AGG/LIB/Xerces/xerces.jar) wird jetzt im CLASSPATH * benoetigt. * * Revision 1.1 2000/06/28 08:05:00 shultzke cover die resourcen der Icons * * Revision 1.2 2000/06/26 09:11:14 shultzke classFiles geloescht * * Revision 1.1.1.1 2000/06/26 08:57:33 shultzke Anfang der * ParserDiplomEntwicklung * */