view src/de/mpg/mpiwg/itgroup/digilib/digiImage/properties/DigiImageProperties.java @ 24:1a7940ac5169

minor
author dwinter
date Wed, 05 Jan 2011 14:04:58 +0100
parents 643fa1daa70c
children 6e7bb3467531
line wrap: on
line source

package de.mpg.mpiwg.itgroup.digilib.digiImage.properties;

import java.util.Map;

import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;

import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter;

public class DigiImageProperties implements IPropertySource {

	//private DigiImageParameter dp;
	private DigiImage digiImage;
	private Map<String, String> pt;

	public DigiImageProperties(DigiImage digiImage) {
		//this.dp = digiImage.getParameter();
		this.digiImage = digiImage;
		this.pt = digiImage.getParameter().createMapFromParameters(null);
	}

	public Object getEditableValue() {
		// TODO Auto-generated method stub
		return null;
	}

	public IPropertyDescriptor[] getPropertyDescriptors() {
		
		
		IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[pt.keySet().size()];
		int i=0;
		for (String key: pt.keySet()) {				
			// Add each property supported.
			
			//PropertyDescriptor descriptor;

			TextPropertyDescriptor des = new TextPropertyDescriptor(key, key);
			
			propertyDescriptors[i] = des;

			des.setCategory("Image parameters");
			i++;
		}
				
		// Return it.
		return propertyDescriptors;

	
	}

	public Object getPropertyValue(Object id) {
		return pt.get(id);
	}

	public boolean isPropertySet(Object id) {
		// TODO Auto-generated method stub
		return false;
	}

	public void resetPropertyValue(Object id) {
		// TODO Auto-generated method stub

	}

	public void setPropertyValue(Object id, Object value) {
		
		String oldValue = pt.get(id);
		if(oldValue.equals(value)){
			return;
		}
		
		pt.put((String)id, (String)value);
		digiImage.setParameter(new DigiImageParameter(pt));
		digiImage.redraw();
		
	}

}