public void removeProperty(PreviewProperty property) { properties.remove(property.getName()); }
/** * Add <code>property</code> to the properties. * <p> * The property should have a unique name and the method will throw an exception * if not. * @param property the property to add to the properties * @throws IllegalArgumentException if <code>property</code> already exists */ public void addProperty(PreviewProperty property) { if (properties.containsKey(property.getName())) { throw new RuntimeException("The property " + property.getName() + " already exists. Each property name should be unique."); } for (String parent : property.dependencies) { PreviewProperty p = properties.get(parent); if (p != null && !p.getType().equals(Boolean.class)) { throw new IllegalArgumentException("The property " + property.getName() + " has dependencies to non-boolean property " + p.getName()); } } properties.put(property.getName(), property); }
/** * Returns all properties which defined <code>property</code> as a dependency. * @param property the parent property * @return all properties with <code>property</code> as a parent property */ public PreviewProperty[] getChildProperties(PreviewProperty property) { List<PreviewProperty> props = new ArrayList<>(); for (PreviewProperty p : properties.values()) { for (String pn : p.dependencies) { if (pn.equals(property.getName())) { props.add(p); } } } return props.toArray(new PreviewProperty[0]); }
/** * Returns all properties <code>property</code> defined as dependencies. * @param property the property to find parent properties from * @return all properties <code>property</code> depends on */ public PreviewProperty[] getParentProperties(PreviewProperty property) { List<PreviewProperty> props = new ArrayList<>(); for (PreviewProperty p : properties.values()) { for (String pn : property.dependencies) { if (pn.equals(p.getName())) { props.add(p); } } } return props.toArray(new PreviewProperty[0]); }
@Override public void setValue(Object t) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { property.setValue(t); for (PreviewProperty p : children) { propertyChange(new PropertyChangeEvent(this, p.getName(), p.getValue(), p.getValue())); } } }
public ChildPreviewPropertyWrapper(PreviewProperty previewProperty, PreviewProperty[] parents) { super(previewProperty.getName(), previewProperty.getType(), previewProperty.getDisplayName(), previewProperty.getDescription()); this.property = previewProperty; this.parents = parents; }
public ParentPreviewPropertyWrapper(PreviewProperty previewProperty, PreviewProperty[] children) { super(previewProperty.getName(), previewProperty.getType(), previewProperty.getDisplayName(), previewProperty.getDescription()); this.property = previewProperty; this.children = children; }
public PreviewPropertyWrapper(PreviewProperty previewProperty) { super(previewProperty.getName(), previewProperty.getType(), previewProperty.getDisplayName(), previewProperty.getDescription()); this.property = previewProperty; }
String propertyName = property.getName(); Object propertyValue = property.getValue(); if (propertyValue != null) {
@Override public void savePreset(String name) { if (model != null) { PreviewModel previewModel = previewController.getModel(); Map<String, Object> map = new HashMap<>(); for (PreviewProperty p : previewModel.getProperties().getProperties()) { map.put(p.getName(), p.getValue()); } for (Entry<String, Object> p : previewModel.getProperties().getSimpleValues()) { map.put(p.getKey(), p.getValue()); } PreviewPreset preset = new PreviewPreset(name, map); presetUtils.savePreset(preset); model.setCurrentPreset(preset); } }
@Override public void duplicate(Workspace source, Workspace destination) { PreviewController previewController=Lookup.getDefault().lookup(PreviewController.class); PreviewModel sourceModel=previewController.getModel(source); PreviewModel destModel=previewController.getModel(destination); destModel.setManagedRenderers(sourceModel.getManagedRenderers()); for(PreviewProperty property:sourceModel.getProperties().getProperties()){ destModel.getProperties().putValue(property.getName(), property.getValue()); } for(Entry<String,Object> property:sourceModel.getProperties().getSimpleValues()){ destModel.getProperties().putValue(property.getKey(), property.getValue()); } } }
/** * Removes unnecessary properties from not enabled renderers */ private void reloadProperties() { if(properties == null){ initProperties(); }else{ PreviewProperties newProperties = new PreviewProperties();//Ensure that the properties object doesn't change //Properties from renderers for (Renderer renderer : getManagedEnabledRenderers()) { PreviewProperty[] props = renderer.getProperties(); for (PreviewProperty p : props) { newProperties.addProperty(p); if (properties.hasProperty(p.getName())) { newProperties.putValue(p.getName(), properties.getValue(p.getName()));//Keep old values } } } //Remove old properties (this keeps simple values) for (PreviewProperty p : properties.getProperties()) { properties.removeProperty(p); } //Set new properties for (PreviewProperty property : newProperties.getProperties()) { properties.addProperty(property); } } }