/******************************************************************************
* Copyright (c) 2011-2013, Linagora
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Linagora - initial API and implementation
*******************************************************************************/
package com.ebmwebsourcing.petals.common.internal.provisional.utils;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.graphics.Image;
import com.ebmwebsourcing.petals.common.internal.PetalsCommonPlugin;
/**
* @author Mickael Istria - EBM WebSourcing
*/
public final class PetalsImages {
public static final PetalsImages INSTANCE = new PetalsImages();
private final List<Image> images;
private Image pencil;
private Image add;
private Image delete;
private Image browse;
private Image searchWSDL;
private Image ok;
private Image ko;
/**
* Constructor.
*/
private PetalsImages() {
this.images = new ArrayList<Image>();
}
/**
* @return
*/
public Image getPencil() {
if (this.pencil == null) {
this.pencil = PetalsCommonPlugin.getImageDescriptor("icons/obj16/pencil.png").createImage();
this.images.add( this.pencil );
}
return this.pencil;
}
/**
* @return
*/
public Image getAdd() {
if (this.add == null) {
this.add = PetalsCommonPlugin.getImageDescriptor("icons/obj16/add.png").createImage();
this.images.add( this.add );
}
return this.add;
}
/**
* @return
*/
public Image getDelete() {
if (this.delete == null) {
this.delete = PetalsCommonPlugin.getImageDescriptor("icons/obj16/delete.png").createImage();
this.images.add( this.delete );
}
return this.delete;
}
/**
* @return
*/
public Image getBrowse() {
if (this.browse == null) {
this.browse = PetalsCommonPlugin.getImageDescriptor("icons/obj16/folder_explore.png").createImage();
this.images.add( this.browse );
}
return this.browse;
}
/**
* @return
*/
public Image getSearchWSDL() {
if (this.searchWSDL == null) {
this.searchWSDL = PetalsCommonPlugin.getImageDescriptor("icons/obj16/Interface_explore.gif").createImage();
this.images.add( this.searchWSDL );
}
return this.searchWSDL;
}
/**
* @return
*/
public Image getOk() {
if (this.ok == null) {
this.ok = PetalsCommonPlugin.getImageDescriptor("icons/obj16/tick.png").createImage();
this.images.add( this.ok );
}
return this.ok;
}
/**
* @return
*/
public Image getKO() {
if (this.ko == null) {
this.ko = PetalsCommonPlugin.getImageDescriptor("icons/obj16/cross.png").createImage();
this.images.add( this.ko );
}
return this.ko;
}
/**
* Disposes all the images.
*/
public void dispose() {
for( Image img : this.images ) {
if( ! img.isDisposed()) {
img.dispose();
this.images.remove( img );
}
}
}
}