
com.talk2object.plum.interaction.rich.field.viewBuilder.ImageFieldViewBuilder Maven / Gradle / Ivy
The newest version!
package com.talk2object.plum.interaction.rich.field.viewBuilder;
import java.util.List;
import com.talk2object.plum.input.value.image.Image;
import com.talk2object.plum.interaction.controller.AbstractController;
import com.talk2object.plum.interaction.controller.Controller;
import com.talk2object.plum.interaction.rich.field.AbstractComponentBridge;
import com.talk2object.plum.interaction.rich.field.ComponentBridge;
import com.talk2object.plum.interaction.rich.field.ImageField;
import com.talk2object.plum.interaction.rich.field.InteractiveField;
import com.talk2object.plum.view._abstract.components.listbox.option.ObjectOptions;
import com.talk2object.plum.view._abstract.components.listbox.option.Options;
import com.talk2object.plum.view._abstract.components.listbox.option.converter.DefaultOptionConverter;
import com.talk2object.plum.view._abstract.components.listbox.option.converter.OptionConverter;
import com.talk2object.plum.view.component.Component;
import com.talk2object.plum.view.component.ImageView;
import com.talk2object.plum.view.component.listbox.DropdownList;
import com.talk2object.plum.view.component.listbox.RadioField;
public class ImageFieldViewBuilder extends AbstractFieldViewBuilder {
@Override
protected Component createInputComponent(InteractiveField input) {
ImageView imageView = new ImageView();
ImageField imageInput = (ImageField) input;
Component component = imageView;
imageView.setWidth(imageInput.getWidth());
imageView.setHeight(imageInput.getHeight());
new AbstractController(
input, imageView) {
@Override
public void updateViewState() {
getView().setImage((Image) getModel().getValue());
}
@Override
public void updateModelState() {
getModel().setValue(getView().getImage());
}
};
return component;
}
@Override
protected Component createSelectComponent(InteractiveField input) {
RadioField box = new RadioField();
Component component = box;
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy