import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.BiFunction;
import java.util.function.Consumer;
import org.eclipse.core.runtime.Assert;
import org.eclipse.nebula.widgets.nattable.reorder.ColumnReorderLayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum;
-import org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand;
import org.eclipse.nebula.widgets.nattable.sort.config.SingleClickSortConfiguration;
import org.eclipse.nebula.widgets.nattable.style.CellStyleAttributes;
import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
import org.simantics.browsing.ui.swt.ViewerRowReference;
import org.simantics.browsing.ui.swt.internal.Threads;
import org.simantics.db.layer0.SelectionHints;
-import org.simantics.utils.datastructures.BinaryFunction;
import org.simantics.utils.datastructures.MapList;
import org.simantics.utils.datastructures.disposable.AbstractDisposable;
import org.simantics.utils.datastructures.hints.IHintContext;
private boolean expand;
private boolean verticalBarVisible = false;
- private BinaryFunction<Object[], GraphExplorer, Object[]> selectionTransformation = new BinaryFunction<Object[], GraphExplorer, Object[]>() {
+ private BiFunction<GraphExplorer, Object[], Object[]> selectionTransformation = new BiFunction<GraphExplorer, Object[], Object[]>() {
@Override
- public Object[] call(GraphExplorer explorer, Object[] objects) {
+ public Object[] apply(GraphExplorer explorer, Object[] objects) {
Object[] result = new Object[objects.length];
for (int i = 0; i < objects.length; i++) {
IHintContext context = new AdaptableHintContext(SelectionHints.KEY_MAIN);
}
protected Object[] transformSelection(Object[] objects) {
- return selectionTransformation.call(this, objects);
+ return selectionTransformation.apply(this, objects);
}
protected static Object[] filter(SelectionFilter filter, NodeContext[] contexts) {
@Override
public void setSelectionTransformation(
- BinaryFunction<Object[], GraphExplorer, Object[]> f) {
+ BiFunction<GraphExplorer, Object[], Object[]> f) {
this.selectionTransformation = f;
}
columnAccessor = new GEColumnAccessor(this);
IDataProvider dataProvider = new ListDataProvider<TreeNode>(list, columnAccessor);
-
- int defaultFontSize = 12;
- int height = (int)Math.ceil(((double)(defaultFontSize))*getDisplayScale()) + DataLayer.DEFAULT_ROW_HEIGHT-defaultFontSize;
- dataLayer = new DataLayer(dataProvider, DataLayer.DEFAULT_COLUMN_WIDTH, height);
+
+// FIXME: NatTable 1.0 required help to work with custom display scaling (Windows 7 display scaling).
+// It seems that NatTable 1.4 breaks with the same code in Windows 7, so now the code is disabled.
+// More testing with different hardware is required...
+// int defaultFontSize = 12;
+// int height = (int)Math.ceil(((double)(defaultFontSize))*getDisplayScale()) + DataLayer.DEFAULT_ROW_HEIGHT-defaultFontSize;
+// dataLayer = new DataLayer(dataProvider, DataLayer.DEFAULT_COLUMN_WIDTH, height);
+ dataLayer = new DataLayer(dataProvider);
// resizable rows are unnecessary in Sulca report.
dataLayer.setRowsResizableByDefault(false);
// Column header layer
columnHeaderDataProvider = new GEColumnHeaderDataProvider(this, dataLayer);
columnHeaderDataLayer = new DefaultColumnHeaderDataLayer(columnHeaderDataProvider);
- columnHeaderDataLayer.setDefaultRowHeight(height);
+ //columnHeaderDataLayer.setDefaultRowHeight(height);
columnHeaderDataProvider.updateColumnSizes();
//ISortModel sortModel = new EcoSortModel(this, generator,dataLayer);