From df5ef341cb9a5008434897818279310a118cf073 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Mon, 21 May 2018 21:44:26 +0300 Subject: [PATCH] #3506 Results grid header tooltips --- .../src/org/jkiss/dbeaver/core/CoreMessages.java | 5 ++++- .../jkiss/dbeaver/core/CoreResources.properties | 4 ++++ .../dbeaver/ui/controls/lightgrid/LightGrid.java | 15 +++++++++++++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java index c199742774..1d88f24c59 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java @@ -1361,7 +1361,10 @@ public class CoreMessages extends NLS { public static String toolbar_cmd_undo_name; public static String toolbar_cmd_redo_name; //toolbar editor menu item - + + public static String grid_tooltip_sort_by_column; + public static String grid_tooltip_filter_by_column; + static { // initialize resource bundle NLS.initializeMessages(BUNDLE_NAME, CoreMessages.class); diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties index cd577a9ecb..ebd7a35a71 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties @@ -1320,5 +1320,9 @@ toolbar_cmd_undo_name = Undo toolbar_cmd_redo_name = Redo ##toolbar editor menu item## +grid_tooltip_sort_by_column = Sort by column +grid_tooltip_filter_by_column = Filter by column value + + diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java index 2ae7b0258c..79b252b7a9 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java @@ -20,6 +20,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jface.resource.JFaceColors; +import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.*; import org.eclipse.swt.events.*; @@ -29,6 +30,7 @@ import org.eclipse.ui.progress.UIJob; import org.jkiss.code.NotNull; import org.jkiss.code.Nullable; import org.jkiss.dbeaver.Log; +import org.jkiss.dbeaver.core.CoreMessages; import org.jkiss.dbeaver.model.DBPImage; import org.jkiss.dbeaver.ui.UIUtils; import org.jkiss.dbeaver.ui.dnd.LocalObjectTransfer; @@ -3614,7 +3616,10 @@ public abstract class LightGrid extends Canvas { Point point = new Point(x, y); final GridColumn col = getColumn(point); final int row = getRow(point); - Integer detail = y; + Integer detail = + (hoveringOnColumnSorter ? 1000000 : 0) + + (hoveringOnColumnFilter ? 1000000 : 0) + + y; boolean hoverChange = false; @@ -3653,7 +3658,13 @@ public abstract class LightGrid extends Canvas { newTip = getCellToolTip(hoveringColumn, hoveringItem); } else if (columnHeadersVisible && hoveringColumn != null && y <= headerHeight) { // get column header specific tooltip - newTip = hoveringColumn.getHeaderTooltip(); + if (hoveringOnColumnSorter) { + newTip = NLS.bind(CoreMessages.grid_tooltip_sort_by_column, getLabelProvider().getText(hoveringColumn.getElement())); + } else if (hoveringOnColumnFilter) { + newTip = NLS.bind(CoreMessages.grid_tooltip_filter_by_column, getLabelProvider().getText(hoveringColumn.getElement())); + } else { + newTip = hoveringColumn.getHeaderTooltip(); + } } else if (rowHeaderVisible && hoveringItem >= 0 && x <= rowHeaderWidth) { newTip = getLabelProvider().getToolTipText(getRowElement(hoveringItem)); } -- GitLab