/*
Violet - A program for editing UML diagrams.
Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package com.horstmann.violet.framework;
import java.beans.PropertyEditorSupport;
/**
A helper class for showing names of objects in a property
sheet that allows the user to pick one of a finite set of
named values.
*/
public class PropertySelector extends PropertyEditorSupport
{
/**
Constructs a selector that correlates names and objects.
@param n the strings to display in a combo box
@param v the corresponding object values
*/
public PropertySelector(String[] n, Object[] v)
{
names = n;
values = v;
}
public String[] getTags()
{
return names;
}
public String getAsText()
{
for (int i = 0; i < values.length; i++)
if (getValue().equals(values[i])) return names[i];
return null;
}
public void setAsText(String s)
{
for (int i = 0; i < names.length; i++)
if (s.equals(names[i])) setValue(values[i]);
}
private String[] names;
private Object[] values;
}