221 .sorted((c1, c2) -> Integer.compare(DEFAULT_COLUMNS_ORDER.get(c1.getId()),
222 DEFAULT_COLUMNS_ORDER.get(c2.getId())));
223 final Stream<ColumnSettings> naturalOrderColumns = columns.stream()
224 .filter(c -> !DEFAULT_COLUMNS_ORDER.containsKey(c.getId()))
225 .sorted((c1, c2) -> String.CASE_INSENSITIVE_ORDER.compare(c1.getId(), c2.getId()));
226 final List<ColumnSettings> resultColumns = Stream.concat(defaultOrderColumns, naturalOrderColumns)
227 .collect(Collectors.toList());
228 return new TableSettings(orderBy, resultColumns);
229 }
230
231 public static TableSettings createTableSettingsByAllAndVisibleColumns(
232 final Collection<String> allColumns, final Collection<String> visibleColumns) {
233 final List<ColumnSettings> defaultListCols = new ArrayList<>();
234 for (String columnId : allColumns) {
235 defaultListCols.add(new ColumnSettings(columnId, !visibleColumns.contains(columnId), null, null));
236 }
237 return createTableSettingsByOrderByAndColumnsWithDefaultOrdering(null, defaultListCols);
238 }
239
240 private static String createColumnId(IAttribute<?> attr) {
241 return new StringBuilder().append(attr.getIdentifier()).append(":")
242 .append(attr.getContentType().getIdentifier()).toString();
243 }
244
245 public static IAction createAttributeCheckAction(IAttribute<?> attribute, Consumer<Boolean> onChange) {
246 return createCheckAction(attribute.getName(), attribute.getDescription(), attribute.getIdentifier(),
247 getFieldColor(attribute), onChange);
248 }
249
250 public static IAction createTypeCheckAction(
251 String actionId, String typeId, String name, String description, Consumer<Boolean> onChange) {
252 return createCheckAction(name, description, actionId, TypeLabelProvider.getColorOrDefault(typeId), onChange);
253 }
254
255 public static IAction createAggregatorCheckAction(
256 IAggregator<?, ?> aggregator, String id, Color color, Consumer<Boolean> onChange) {
257 return createCheckAction(aggregator.getName(), aggregator.getDescription(), id, color, onChange);
258 }
259
260 public static IAction createCheckAction(
261 String name, String description, String id, Color color, Consumer<Boolean> onChange) {
|
221 .sorted((c1, c2) -> Integer.compare(DEFAULT_COLUMNS_ORDER.get(c1.getId()),
222 DEFAULT_COLUMNS_ORDER.get(c2.getId())));
223 final Stream<ColumnSettings> naturalOrderColumns = columns.stream()
224 .filter(c -> !DEFAULT_COLUMNS_ORDER.containsKey(c.getId()))
225 .sorted((c1, c2) -> String.CASE_INSENSITIVE_ORDER.compare(c1.getId(), c2.getId()));
226 final List<ColumnSettings> resultColumns = Stream.concat(defaultOrderColumns, naturalOrderColumns)
227 .collect(Collectors.toList());
228 return new TableSettings(orderBy, resultColumns);
229 }
230
231 public static TableSettings createTableSettingsByAllAndVisibleColumns(
232 final Collection<String> allColumns, final Collection<String> visibleColumns) {
233 final List<ColumnSettings> defaultListCols = new ArrayList<>();
234 for (String columnId : allColumns) {
235 defaultListCols.add(new ColumnSettings(columnId, !visibleColumns.contains(columnId), null, null));
236 }
237 return createTableSettingsByOrderByAndColumnsWithDefaultOrdering(null, defaultListCols);
238 }
239
240 private static String createColumnId(IAttribute<?> attr) {
241 return new StringBuilder().append(attr.getIdentifier()).append(":") //$NON-NLS-1$
242 .append(attr.getContentType().getIdentifier()).toString();
243 }
244
245 public static IAction createAttributeCheckAction(IAttribute<?> attribute, Consumer<Boolean> onChange) {
246 return createCheckAction(attribute.getName(), attribute.getDescription(), attribute.getIdentifier(),
247 getFieldColor(attribute), onChange);
248 }
249
250 public static IAction createTypeCheckAction(
251 String actionId, String typeId, String name, String description, Consumer<Boolean> onChange) {
252 return createCheckAction(name, description, actionId, TypeLabelProvider.getColorOrDefault(typeId), onChange);
253 }
254
255 public static IAction createAggregatorCheckAction(
256 IAggregator<?, ?> aggregator, String id, Color color, Consumer<Boolean> onChange) {
257 return createCheckAction(aggregator.getName(), aggregator.getDescription(), id, color, onChange);
258 }
259
260 public static IAction createCheckAction(
261 String name, String description, String id, Color color, Consumer<Boolean> onChange) {
|