001 /*
002 * Sonar, open source software quality management tool.
003 * Copyright (C) 2008-2012 SonarSource
004 * mailto:contact AT sonarsource DOT com
005 *
006 * Sonar is free software; you can redistribute it and/or
007 * modify it under the terms of the GNU Lesser General Public
008 * License as published by the Free Software Foundation; either
009 * version 3 of the License, or (at your option) any later version.
010 *
011 * Sonar is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014 * Lesser General Public License for more details.
015 *
016 * You should have received a copy of the GNU Lesser General Public
017 * License along with Sonar; if not, write to the Free Software
018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
019 */
020 package org.sonar.gwt.ui;
021
022 import com.google.gwt.core.client.GWT;
023 import com.google.gwt.user.client.ui.AbstractImagePrototype;
024 import com.google.gwt.user.client.ui.ImageBundle;
025
026 /**
027 * All icons are 16x16 pixels
028 */
029 public final class Icons {
030 private static IconBundle INSTANCE;
031
032 private Icons() {
033 // only static methods
034 }
035
036 public static IconBundle get() {
037 if (INSTANCE == null) {
038 INSTANCE = GWT.create(IconBundle.class);
039 }
040 return INSTANCE;
041 }
042
043 public static AbstractImagePrototype forQualifier(final String qualifier) {
044 AbstractImagePrototype image;
045 if ("FIL".equals(qualifier)) {
046 image = get().qualifierFile();
047 } else if ("CLA".equals(qualifier)) {
048 image = get().qualifierClass();
049
050 } else if ("PAC".equals(qualifier)) {
051 image = get().qualifierPackage();
052
053 } else if ("DIR".equals(qualifier)) {
054 image = get().qualifierDirectory();
055
056 } else if ("BRC".equals(qualifier)) {
057 image = get().qualifierModule();
058
059 } else if ("TRK".equals(qualifier)) {
060 image = get().qualifierProject();
061
062 } else if ("UTS".equals(qualifier)) {
063 image = get().qualifierUnitTest();
064
065 } else if ("FLD".equals(qualifier)) {
066 image = get().qualifierField();
067
068 } else if ("MET".equals(qualifier)) {
069 image = get().qualifierMethod();
070
071 } else if ("LIB".equals(qualifier)) {
072 image = get().qualifierLibrary();
073
074 } else {
075 image = get().empty();
076 }
077 return image;
078 }
079
080 /**
081 * @since 2.2
082 * @deprecated since 2.5 use {@link Icons#forSeverity(String)}
083 */
084 @Deprecated
085 public static AbstractImagePrototype forPriority(final String priority) {
086 return forSeverity(priority);
087 }
088
089 /**
090 * @since 2.5
091 */
092 public static AbstractImagePrototype forSeverity(final String severity) {
093 AbstractImagePrototype image;
094 if ("BLOCKER".equals(severity)) {
095 image = get().priorityBlocker();
096
097 } else if ("CRITICAL".equals(severity)) {
098 image = get().priorityCritical();
099
100 } else if ("MAJOR".equals(severity)) {
101 image = get().priorityMajor();
102
103 } else if ("MINOR".equals(severity)) {
104 image = get().priorityMinor();
105
106 } else if ("INFO".equals(severity)) {
107 image = get().priorityInfo();
108
109 } else {
110 image = get().empty();
111 }
112 return image;
113 }
114
115 public static interface IconBundle extends ImageBundle {
116 AbstractImagePrototype empty();
117
118 AbstractImagePrototype zoom();
119
120 AbstractImagePrototype information();
121
122 AbstractImagePrototype help();
123
124 AbstractImagePrototype qualifierField();
125
126 AbstractImagePrototype qualifierMethod();
127
128 AbstractImagePrototype qualifierClass();
129
130 AbstractImagePrototype qualifierFile();
131
132 AbstractImagePrototype qualifierUnitTest();
133
134 AbstractImagePrototype qualifierDirectory();
135
136 AbstractImagePrototype qualifierPackage();
137
138 AbstractImagePrototype qualifierProject();
139
140 AbstractImagePrototype qualifierModule();
141
142 AbstractImagePrototype qualifierLibrary();
143
144 AbstractImagePrototype statusOk();
145
146 AbstractImagePrototype statusError();
147
148 AbstractImagePrototype statusWarning();
149
150 AbstractImagePrototype priorityBlocker();
151
152 AbstractImagePrototype priorityCritical();
153
154 AbstractImagePrototype priorityMajor();
155
156 AbstractImagePrototype priorityMinor();
157
158 AbstractImagePrototype priorityInfo();
159 }
160 }