Allow passing style to StyledTextEditor. Add border to tags editor.

This commit is contained in:
BoykoAlex
2021-08-24 15:31:20 -04:00
parent e165ed5254
commit 478eabb6f1
6 changed files with 20 additions and 18 deletions

View File

@@ -15,6 +15,7 @@ import java.util.LinkedHashSet;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.viewers.ICellEditorListener;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.springframework.ide.eclipse.boot.dash.BootDashActivator;
@@ -39,7 +40,7 @@ public class TagsPropertyControl extends AbstractBdePropertyControl {
public void createControl(Composite composite, TabbedPropertySheetPage page) {
super.createControl(composite, page);
page.getWidgetFactory().createLabel(composite, "Tags:").setLayoutData(GridDataFactory.fillDefaults().create()); //$NON-NLS-1$
tags = new TagsEditor(composite, getStylers(), new TagContentProposalProvider(BootDashActivator.getDefault().getModel()), UIUtils.CTRL_SPACE, UIUtils.TAG_CA_AUTO_ACTIVATION_CHARS);
tags = new TagsEditor(composite, SWT.SINGLE | SWT.BORDER, getStylers(), new TagContentProposalProvider(BootDashActivator.getDefault().getModel()), UIUtils.CTRL_SPACE, UIUtils.TAG_CA_AUTO_ACTIVATION_CHARS);
tags.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
tags.addListener(new ICellEditorListener() {
@Override
@@ -47,8 +48,8 @@ public class TagsPropertyControl extends AbstractBdePropertyControl {
String str = (String) tags.getValue();
BootDashElement element = getBootDashElement();
if (element != null) {
LinkedHashSet<String> tagsSet = str.isEmpty() ? new LinkedHashSet<String>()
: new LinkedHashSet<String>(Arrays.asList(TagUtils.parseTags(str)));
LinkedHashSet<String> tagsSet = str.isEmpty() ? new LinkedHashSet<>()
: new LinkedHashSet<>(Arrays.asList(TagUtils.parseTags(str)));
if (!tagsSet.equals(element.getTags())) {
element.setTags(tagsSet);
}

View File

@@ -99,9 +99,9 @@ public abstract class StyledTextCellEditor extends CellEditor {
super(parent, style);
}
public StyledTextCellEditor(Composite parent, IContentProposalProvider contentProposalProvider,
public StyledTextCellEditor(Composite parent, int style, IContentProposalProvider contentProposalProvider,
KeyStroke keyStroke, char[] autoActivationCharacters) {
this(parent);
this(parent, style);
enableContentProposal(contentProposalProvider, keyStroke, autoActivationCharacters);
}

View File

@@ -25,13 +25,13 @@ import org.eclipse.swt.widgets.Composite;
*/
public abstract class StyledTextEditor extends StyledTextCellEditor {
public StyledTextEditor(Composite parent) {
super(parent);
public StyledTextEditor(Composite parent, int style) {
super(parent, style);
}
public StyledTextEditor(Composite parent, IContentProposalProvider contentProposalProvider,
public StyledTextEditor(Composite parent, int style, IContentProposalProvider contentProposalProvider,
KeyStroke keyStroke, char[] autoActivationCharacters) {
super(parent, contentProposalProvider, keyStroke, autoActivationCharacters);
super(parent, style, contentProposalProvider, keyStroke, autoActivationCharacters);
setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
}

View File

@@ -17,6 +17,7 @@ import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.springframework.ide.eclipse.boot.dash.model.BootDashElement;
import org.springframework.ide.eclipse.boot.dash.model.BootDashViewModel;
import org.springframework.ide.eclipse.boot.dash.model.TagUtils;
@@ -36,13 +37,13 @@ public class TagEditingSupport extends EditingSupport {
public TagEditingSupport(TableViewer viewer, LiveExpression<BootDashElement> selection, Stylers stylers) {
super(viewer);
this.editor = new TagsCellEditor(viewer.getTable(), stylers);
this.editor = new TagsCellEditor(viewer.getTable(), SWT.SINGLE, stylers);
}
public TagEditingSupport(TableViewer viewer, LiveExpression<BootDashElement> selection, BootDashViewModel model, Stylers stylers) {
super(viewer);
IContentProposalProvider proposalProvider = new TagContentProposalProvider(model);
this.editor = new TagsCellEditor(viewer.getTable(), stylers, proposalProvider, UIUtils.CTRL_SPACE,
this.editor = new TagsCellEditor(viewer.getTable(), SWT.SINGLE, stylers, proposalProvider, UIUtils.CTRL_SPACE,
UIUtils.TAG_CA_AUTO_ACTIVATION_CHARS);
}

View File

@@ -29,14 +29,14 @@ public class TagsCellEditor extends StyledTextCellEditor {
private Stylers stylers;
public TagsCellEditor(Composite parent, Stylers stylers) {
public TagsCellEditor(Composite parent, int style, Stylers stylers) {
super(parent);
this.stylers = stylers;
}
public TagsCellEditor(Composite parent, Stylers stylers, IContentProposalProvider contentProposalProvider,
public TagsCellEditor(Composite parent, int style, Stylers stylers, IContentProposalProvider contentProposalProvider,
KeyStroke keyStroke, char[] autoActivationCharacters) {
super(parent, contentProposalProvider, keyStroke, autoActivationCharacters);
super(parent, style, contentProposalProvider, keyStroke, autoActivationCharacters);
setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
this.stylers = stylers;
}

View File

@@ -29,14 +29,14 @@ public class TagsEditor extends StyledTextEditor {
private Stylers stylers;
public TagsEditor(Composite parent, Stylers stylers) {
super(parent);
public TagsEditor(Composite parent, int style, Stylers stylers) {
super(parent, style);
this.stylers = stylers;
}
public TagsEditor(Composite parent, Stylers stylers, IContentProposalProvider contentProposalProvider,
public TagsEditor(Composite parent, int style, Stylers stylers, IContentProposalProvider contentProposalProvider,
KeyStroke keyStroke, char[] autoActivationCharacters) {
super(parent, contentProposalProvider, keyStroke, autoActivationCharacters);
super(parent, style, contentProposalProvider, keyStroke, autoActivationCharacters);
setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
this.stylers = stylers;
}