import org.argeo.api.cms.CmsLog;
import org.argeo.app.api.Term;
import org.argeo.app.api.TermsManager;
import org.argeo.api.cms.CmsLog;
import org.argeo.app.api.Term;
import org.argeo.app.api.TermsManager;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.swt.MouseDoubleClick;
import org.argeo.cms.swt.MouseDown;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.swt.MouseDoubleClick;
import org.argeo.cms.swt.MouseDown;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
for (Term value : currentValue) {
Composite block = new Composite(placeholder, SWT.NONE);
block.setLayout(CmsSwtUtils.noSpaceGridLayout(3));
for (Term value : currentValue) {
Composite block = new Composite(placeholder, SWT.NONE);
block.setLayout(CmsSwtUtils.noSpaceGridLayout(3));
processTermListLabel(value, lbl);
if (isEditable())
lbl.addMouseListener((MouseDoubleClick) (e) -> {
processTermListLabel(value, lbl);
if (isEditable())
lbl.addMouseListener((MouseDoubleClick) (e) -> {
ToolBar toolBar = new ToolBar(block, SWT.HORIZONTAL);
ToolItem cancelItem = new ToolItem(toolBar, SWT.FLAT);
ToolBar toolBar = new ToolBar(block, SWT.HORIZONTAL);
ToolItem cancelItem = new ToolItem(toolBar, SWT.FLAT);
termL.setText(display);
processTermListLabel(term, termL);
if (isTermSelectable(term))
termL.setText(display);
processTermListLabel(term, termL);
if (isTermSelectable(term))