public AssetCanvas(final FormItem formItem) { setWidth(100); setAlign(Alignment.CENTER); previewContainer = new Canvas(); addMember(previewContainer); previewContainer.setWidth(100); previewContainer.setHeight(100); previewContainer.setBorder("1px solid #a6abb4"); imageUpdateButton = new IButton("Update Artifact"); imageUpdateButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { String formItemName = formItem.getName(); ((DynamicEntityDataSource) formItem.getForm().getDataSource()) .getFormItemCallbackHandlerManager() .getFormItemCallback(formItemName) .execute(formItem); } }); addMember(imageUpdateButton); if (formItem.getDisabled()) { imageUpdateButton.setVisible(false); } }