Skip to content
Snippets Groups Projects
Commit c0062f8d authored by Andreas Bayha's avatar Andreas Bayha
Browse files

TreeViewer added possibility for tooltip in DynamicTreeTableViewers


Extended DynamicTreeTableUIProviderBase to enable tooltips via
overwriting a respective getter.

Issue-ref: 4288
Issue-URL: af3#4288

Signed-off-by: default avatarAndreas Bayha <bayha@fortiss.org>
parent 0083d70b
No related branches found
No related tags found
1 merge request!1954288
......@@ -5,7 +5,7 @@ DynamicTextFieldTreeTableCell.java 62fa0c08b11d87e0eed41f84be85505c2740e75d GREE
DynamicTreeContentProviderBase.java 91896b1fb5104d126544c44c1ff8c30f2a13a8d6 GREEN
DynamicTreeItem.java 7e81ea98038b5eca90df583e0268d4e8f37aaf25 GREEN
DynamicTreeItemBase.java d883066ecc181120302ca32f328538de7a45b093 GREEN
DynamicTreeTableUIProviderBase.java 29aa753793ab90676d45e5b76b11f7b46ce02a97 GREEN
DynamicTreeTableUIProviderBase.java e3dfec549343ec7371f2ecb321cb28563532dece YELLOW
DynamicTreeTableViewer.java 77e9995a3bee37d57578dad9434a53c702128efa YELLOW
DynamicTreeUIProviderBase.java 82d3c051213f0147f4c67ad247a08696cee73110 GREEN
DynamicTreeViewer.java 33066062a82101cf28410e4d04f85bb9c24251db GREEN
......
......@@ -28,6 +28,7 @@ import javafx.scene.Node;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.TextField;
import javafx.scene.control.Tooltip;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeTableCell;
import javafx.scene.control.TreeTableColumn;
......@@ -64,6 +65,22 @@ public abstract class DynamicTreeTableUIProviderBase<T> {
return "";
}
/**
* Retrieves the tooltip text which shall be displayed for the given element in the given
* column.
*
* No tooltip will be displayed, if this method return 'null'.
*
* @param element
* The element to get a tooltip for.
* @param column
* The column index for which to get a tooltip.
* @return The tooltip as a {@link String}.
*/
public String getTooltip(T element, int column) {
return null;
}
/**
* Determines, which {@link String} is in text editor cells when stating to edit.
*
......@@ -322,6 +339,13 @@ public abstract class DynamicTreeTableUIProviderBase<T> {
final Node icon = getIconNode(data, columnIndex);
cell.setGraphic(icon);
cell.setStyle(getCellStyle(data, columnIndex));
final String tooltipStr = getTooltip(data, columnIndex);
if(tooltipStr != null) {
Tooltip tt = new Tooltip();
tt.setText(tooltipStr);
cell.setTooltip(tt);
}
} else {
// reset icon for cases, in which a row was styled before, but became empty by now.
cell.setGraphic(null);
......@@ -603,7 +627,7 @@ public abstract class DynamicTreeTableUIProviderBase<T> {
* {@link DynamicTreeViewer} due to the absence of proper selection interfaces in
* JFX.
*/
private void addContextMenuHandler(TreeTableCell<T, String> cell, ContextMenu menu, T element) {
private void addContextMenuHandler(TreeTableCell<T, ?> cell, ContextMenu menu, T element) {
cell.getTreeTableView().addEventHandler(MouseEvent.MOUSE_RELEASED, e -> {
if(e.getButton() == MouseButton.SECONDARY) {
TreeItem<T> selected =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment