package org.robotframework.ide.eclipse.main.plugin.tableeditor.cases; import org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration; import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry; import org.eclipse.nebula.widgets.nattable.data.IRowDataProvider; import org.eclipse.nebula.widgets.nattable.edit.EditConfigAttributes; import org.eclipse.nebula.widgets.nattable.style.DisplayMode; import org.robotframework.ide.eclipse.main.plugin.assist.RedSettingProposals.SettingTarget; import org.robotframework.ide.eclipse.main.plugin.model.RobotSuiteFile; import org.robotframework.ide.eclipse.main.plugin.tableeditor.TableConfigurationLabels; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.CodeReservedElementsProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.CombinedProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.ImportsInCodeProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.KeywordProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.SettingProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.VariableProposalsProvider; import org.robotframework.red.nattable.edit.RedTextCellEditor; public class CasesTableEditConfiguration extends AbstractRegistryConfiguration { private final RobotSuiteFile suiteFile; private final IRowDataProvider<?> dataProvider; private final boolean wrapCellContent; public CasesTableEditConfiguration(final RobotSuiteFile suiteFile, final IRowDataProvider<?> dataProvider, final boolean wrapCellContent) { this.suiteFile = suiteFile; this.dataProvider = dataProvider; this.wrapCellContent = wrapCellContent; } @Override public void configureRegistry(final IConfigRegistry configRegistry) { final CombinedProposalsProvider proposalProvider = new CombinedProposalsProvider( new SettingProposalsProvider(SettingTarget.TEST_CASE), new CodeReservedElementsProposalsProvider(dataProvider), new KeywordProposalsProvider(suiteFile), new ImportsInCodeProposalsProvider(suiteFile), new VariableProposalsProvider(suiteFile, dataProvider)); configRegistry.registerConfigAttribute(EditConfigAttributes.CELL_EDITOR, new RedTextCellEditor(proposalProvider, wrapCellContent), DisplayMode.NORMAL, TableConfigurationLabels.ASSIST_REQUIRED); } }