package org.robotframework.ide.eclipse.main.plugin.tableeditor.settings; 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.model.RobotSuiteFile; import org.robotframework.ide.eclipse.main.plugin.tableeditor.TableConfigurationLabels; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.CombinedProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.ImportsProposalsProvider.LibrariesProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.ImportsProposalsProvider.ResourceFileLocationsProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.ImportsProposalsProvider.VariableFileLocationsProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.VariableProposalsProvider; import org.robotframework.ide.eclipse.main.plugin.tableeditor.assist.WithNameElementsProposalsProvider; import org.robotframework.red.nattable.edit.RedTextCellEditor; class ImportsSettingsEditConfiguration extends AbstractRegistryConfiguration { private final RobotSuiteFile suiteFile; private final IRowDataProvider<?> dataProvider; private final boolean wrapCellContent; ImportsSettingsEditConfiguration(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 VariableFileLocationsProposalsProvider(suiteFile, dataProvider), new ResourceFileLocationsProposalsProvider(suiteFile, dataProvider), new WithNameElementsProposalsProvider(dataProvider), new LibrariesProposalsProvider(suiteFile, dataProvider), new VariableProposalsProvider(suiteFile, dataProvider)); configRegistry.registerConfigAttribute(EditConfigAttributes.CELL_EDITOR, new RedTextCellEditor(proposalProvider, wrapCellContent), DisplayMode.NORMAL, TableConfigurationLabels.ASSIST_REQUIRED); } }