package automenta.vivisect.swing.property;
import java.beans.PropertyEditor;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Property {
/**
* @return The name of the field (to be presented by the GUI). If not set, the name of the
* variable will be used.
*/
String name() default "";
/**
* The description will provide further information on this field (seen in the configuration panel)
* @return The description of the field. If not set, the <b>name</b> parameter will be used.
*/
String description() default "";
/**
* You can use categories to group various properties that are somehow related
* @return The category for this configuration field
*/
String category() default "";
boolean editable() default true;
/**
* The (full) class name of the editor to be used for this property
*/
Class<? extends PropertyEditor> editorClass() default PropertyEditor.class;
}