Add tooltip for column header if text is truncated

This commit is contained in:
Christoph Atteneder 2017-12-21 14:31:14 +01:00
parent 68328a8c19
commit 3514edb84c
No known key found for this signature in database
GPG key ID: CD5DC1C529CDFD3B
19 changed files with 134 additions and 123 deletions

View file

@ -0,0 +1,12 @@
package io.bisq.gui.components;
import javafx.scene.control.TableColumn;
public class AutoTooltipTableColumn<S,T> extends TableColumn<S,T> {
public AutoTooltipTableColumn(String text) {
super();
setGraphic(new AutoTooltipLabel(text));
}
}

View file

@ -25,6 +25,7 @@ import io.bisq.gui.common.view.ActivatableViewAndModel;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AutoTooltipButton;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.AutoTooltipTableColumn;
import io.bisq.gui.components.TableGroupHeadline;
import io.bisq.gui.main.overlays.popups.Popup;
import io.bisq.gui.util.ImageUtil;
@ -209,23 +210,23 @@ public class ArbitratorSelectionView extends ActivatableViewAndModel<GridPane, A
autoSelectAllMatchingCheckBox.setOnAction(event ->
model.setAutoSelectArbitrators(autoSelectAllMatchingCheckBox.isSelected()));
TableColumn<ArbitratorListItem, String> dateColumn = new TableColumn<>(Res.get("account.arbitratorSelection.regDate"));
TableColumn<ArbitratorListItem, String> dateColumn = new AutoTooltipTableColumn<>(Res.get("account.arbitratorSelection.regDate"));
dateColumn.setSortable(false);
dateColumn.setCellValueFactory(param -> new ReadOnlyObjectWrapper<>(param.getValue().getRegistrationDate()));
dateColumn.setMinWidth(140);
dateColumn.setMaxWidth(140);
TableColumn<ArbitratorListItem, String> nameColumn = new TableColumn<>(Res.get("shared.onionAddress"));
TableColumn<ArbitratorListItem, String> nameColumn = new AutoTooltipTableColumn<>(Res.get("shared.onionAddress"));
nameColumn.setSortable(false);
nameColumn.setCellValueFactory(param -> new ReadOnlyObjectWrapper<>(param.getValue().getAddressString()));
nameColumn.setMinWidth(90);
TableColumn<ArbitratorListItem, String> languagesColumn = new TableColumn<>(Res.get("account.arbitratorSelection.languages"));
TableColumn<ArbitratorListItem, String> languagesColumn = new AutoTooltipTableColumn<>(Res.get("account.arbitratorSelection.languages"));
languagesColumn.setSortable(false);
languagesColumn.setCellValueFactory(param -> new ReadOnlyObjectWrapper<>(param.getValue().getLanguageCodes()));
languagesColumn.setMinWidth(130);
TableColumn<ArbitratorListItem, ArbitratorListItem> selectionColumn = new TableColumn<ArbitratorListItem, ArbitratorListItem>(
TableColumn<ArbitratorListItem, ArbitratorListItem> selectionColumn = new AutoTooltipTableColumn<ArbitratorListItem, ArbitratorListItem>(
Res.get("shared.accept")) {
{
setMinWidth(60);

View file

@ -26,6 +26,7 @@ import io.bisq.gui.Navigation;
import io.bisq.gui.common.view.ActivatableView;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.AutoTooltipTableColumn;
import io.bisq.gui.components.InputTextField;
import io.bisq.gui.components.TableGroupHeadline;
import io.bisq.gui.main.MainView;
@ -220,7 +221,7 @@ public class ActiveCompensationRequestView extends ActivatableView<SplitPane, Vo
}
private void setColumns() {
TableColumn<CompensationRequest, CompensationRequest> dateColumn = new TableColumn<CompensationRequest, CompensationRequest>(Res.get("shared.dateTime")) {
TableColumn<CompensationRequest, CompensationRequest> dateColumn = new AutoTooltipTableColumn<CompensationRequest, CompensationRequest>(Res.get("shared.dateTime")) {
{
setMinWidth(190);
setMaxWidth(190);
@ -251,7 +252,7 @@ public class ActiveCompensationRequestView extends ActivatableView<SplitPane, Vo
tableView.getSortOrder().add(dateColumn);
TableColumn<CompensationRequest, CompensationRequest> nameColumn = new TableColumn<>(Res.get("shared.name"));
TableColumn<CompensationRequest, CompensationRequest> nameColumn = new AutoTooltipTableColumn<>(Res.get("shared.name"));
nameColumn.setCellValueFactory((tradeStatistics) -> new ReadOnlyObjectWrapper<>(tradeStatistics.getValue()));
nameColumn.setCellFactory(
new Callback<TableColumn<CompensationRequest, CompensationRequest>, TableCell<CompensationRequest,
@ -275,7 +276,7 @@ public class ActiveCompensationRequestView extends ActivatableView<SplitPane, Vo
tableView.getColumns().add(nameColumn);
TableColumn<CompensationRequest, CompensationRequest> uidColumn = new TableColumn<>(Res.get("shared.id"));
TableColumn<CompensationRequest, CompensationRequest> uidColumn = new AutoTooltipTableColumn<>(Res.get("shared.id"));
uidColumn.setCellValueFactory((tradeStatistics) -> new ReadOnlyObjectWrapper<>(tradeStatistics.getValue()));
uidColumn.setCellFactory(
new Callback<TableColumn<CompensationRequest, CompensationRequest>, TableCell<CompensationRequest,

View file

@ -34,6 +34,7 @@ import io.bisq.gui.common.view.ActivatableView;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AddressWithIconAndDirection;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.AutoTooltipTableColumn;
import io.bisq.gui.components.HyperlinkWithIcon;
import io.bisq.gui.main.dao.wallet.BsqBalanceUtil;
import io.bisq.gui.util.BsqFormatter;
@ -239,7 +240,7 @@ public class BsqTxView extends ActivatableView<GridPane, Void> {
}
private void addDateColumn() {
TableColumn<BsqTxListItem, BsqTxListItem> column = new TableColumn<>(Res.get("shared.dateTime"));
TableColumn<BsqTxListItem, BsqTxListItem> column = new AutoTooltipTableColumn(Res.get("shared.dateTime"));
column.setCellValueFactory(item -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setMinWidth(180);
column.setMaxWidth(180);
@ -272,7 +273,8 @@ public class BsqTxView extends ActivatableView<GridPane, Void> {
}
private void addTxIdColumn() {
TableColumn<BsqTxListItem, BsqTxListItem> column = new TableColumn<>(Res.get("shared.txId"));
TableColumn<BsqTxListItem, BsqTxListItem> column = new AutoTooltipTableColumn(Res.get("shared.txId"));
column.setCellValueFactory(item -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setMinWidth(60);
column.setCellFactory(
@ -308,7 +310,7 @@ public class BsqTxView extends ActivatableView<GridPane, Void> {
}
private void addAddressColumn() {
TableColumn<BsqTxListItem, BsqTxListItem> column = new TableColumn<>(Res.get("shared.address"));
TableColumn<BsqTxListItem, BsqTxListItem> column = new AutoTooltipTableColumn<>(Res.get("shared.address"));
column.setCellValueFactory(item -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setMinWidth(140);
column.setCellFactory(
@ -357,7 +359,7 @@ public class BsqTxView extends ActivatableView<GridPane, Void> {
}
private void addAmountColumn() {
TableColumn<BsqTxListItem, BsqTxListItem> column = new TableColumn<>(Res.get("shared.amountWithCur", "BSQ"));
TableColumn<BsqTxListItem, BsqTxListItem> column = new AutoTooltipTableColumn<>(Res.get("shared.amountWithCur", "BSQ"));
column.setMinWidth(100);
column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setCellFactory(new Callback<TableColumn<BsqTxListItem, BsqTxListItem>,
@ -385,7 +387,7 @@ public class BsqTxView extends ActivatableView<GridPane, Void> {
}
private void addConfidenceColumn() {
TableColumn<BsqTxListItem, BsqTxListItem> column = new TableColumn<>(Res.get("shared.confirmations"));
TableColumn<BsqTxListItem, BsqTxListItem> column = new AutoTooltipTableColumn<>(Res.get("shared.confirmations"));
column.setMinWidth(130);
column.setMaxWidth(130);
@ -415,7 +417,7 @@ public class BsqTxView extends ActivatableView<GridPane, Void> {
}
private void addTxTypeColumn() {
TableColumn<BsqTxListItem, BsqTxListItem> column = new TableColumn<>(Res.get("dao.wallet.tx.type"));
TableColumn<BsqTxListItem, BsqTxListItem> column = new AutoTooltipTableColumn<>(Res.get("dao.wallet.tx.type"));
column.setCellValueFactory(item -> new ReadOnlyObjectWrapper<>(item.getValue()));
column.setMinWidth(70);
column.setMaxWidth(column.getMinWidth());

View file

@ -912,13 +912,11 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
///////////////////////////////////////////////////////////////////////////////////////////
private TableColumn<Dispute, Dispute> getSelectColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("shared.select")) {
{
setMinWidth(80);
setMaxWidth(80);
setSortable(false);
}
};
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute,Dispute>(Res.get("shared.select"));
column.setMinWidth(80);
column.setMaxWidth(80);
column.setSortable(false);
column.setCellValueFactory((addressListItem) ->
new ReadOnlyObjectWrapper<>(addressListItem.getValue()));
column.setCellFactory(
@ -957,7 +955,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getContractColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("shared.details")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("shared.details")) {
{
setMinWidth(80);
setSortable(false);
@ -997,7 +995,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getDateColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("shared.date")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("shared.date")) {
{
setMinWidth(180);
}
@ -1023,7 +1021,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getTradeIdColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("shared.tradeId")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("shared.tradeId")) {
{
setMinWidth(110);
}
@ -1064,7 +1062,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getBuyerOnionAddressColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("support.buyerAddress")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("support.buyerAddress")) {
{
setMinWidth(170);
}
@ -1090,7 +1088,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getSellerOnionAddressColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("support.sellerAddress")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("support.sellerAddress")) {
{
setMinWidth(170);
}
@ -1143,7 +1141,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getMarketColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("shared.market")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("shared.market")) {
{
setMinWidth(130);
}
@ -1169,7 +1167,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getRoleColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("support.role")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("support.role")) {
{
setMinWidth(130);
}
@ -1199,7 +1197,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
}
private TableColumn<Dispute, Dispute> getStateColumn() {
TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>(Res.get("support.state")) {
TableColumn<Dispute, Dispute> column = new AutoTooltipTableColumn<Dispute, Dispute>(Res.get("support.state")) {
{
setMinWidth(50);
}

View file

@ -109,11 +109,11 @@ public class DepositView extends ActivatableView<VBox, Void> {
@Override
public void initialize() {
paymentLabelString = Res.get("funds.deposit.fundBisqWallet");
selectColumn.setText(Res.get("shared.select"));
addressColumn.setText(Res.get("shared.address"));
balanceColumn.setText(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode()));
confirmationsColumn.setText(Res.get("shared.confirmations"));
usageColumn.setText(Res.get("shared.usage"));
selectColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.select")));
addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address")));
balanceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())));
confirmationsColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.confirmations")));
usageColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.usage")));
// trigger creation of at least 1 savings address
walletService.getOrCreateAddressEntry(AddressEntry.Context.AVAILABLE);

View file

@ -91,10 +91,10 @@ public class LockedView extends ActivatableView<VBox, Void> {
@Override
public void initialize() {
dateColumn.setText(Res.get("shared.dateTime"));
detailsColumn.setText(Res.get("shared.details"));
addressColumn.setText(Res.get("shared.address"));
balanceColumn.setText(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode()));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
detailsColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.details")));
addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address")));
balanceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())));
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.locked.noFunds")));

View file

@ -91,10 +91,10 @@ public class ReservedView extends ActivatableView<VBox, Void> {
@Override
public void initialize() {
dateColumn.setText(Res.get("shared.dateTime"));
detailsColumn.setText(Res.get("shared.details"));
addressColumn.setText(Res.get("shared.address"));
balanceColumn.setText(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode()));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
detailsColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.details")));
addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address")));
balanceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())));
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.reserved.noFunds")));

View file

@ -130,13 +130,13 @@ public class TransactionsView extends ActivatableView<VBox, Void> {
@Override
public void initialize() {
dateColumn.setText(Res.get("shared.dateTime"));
detailsColumn.setText(Res.get("shared.details"));
addressColumn.setText(Res.get("shared.address"));
transactionColumn.setText(Res.get("shared.txId", Res.getBaseCurrencyCode()));
amountColumn.setText(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
confidenceColumn.setText(Res.get("shared.confirmations", Res.getBaseCurrencyCode()));
revertTxColumn.setText(Res.get("shared.revert", Res.getBaseCurrencyCode()));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
detailsColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.details")));
addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address")));
transactionColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.txId", Res.getBaseCurrencyCode())));
amountColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode())));
confidenceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.confirmations", Res.getBaseCurrencyCode())));
revertTxColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.revert", Res.getBaseCurrencyCode())));
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.tx.noTxAvailable")));

View file

@ -144,9 +144,9 @@ public class WithdrawalView extends ActivatableView<VBox, Void> {
toLabel.setText(Res.get("funds.withdrawal.toLabel", Res.getBaseCurrencyCode()));
withdrawButton.setText(Res.get("funds.withdrawal.withdrawButton"));
addressColumn.setText(Res.get("shared.address"));
balanceColumn.setText(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode()));
selectColumn.setText(Res.get("shared.select"));
addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address")));
balanceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())));
selectColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.select")));
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.withdrawal.noFundsAvailable")));

View file

@ -28,6 +28,7 @@ import io.bisq.gui.common.view.ActivatableViewAndModel;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AutoTooltipButton;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.AutoTooltipTableColumn;
import io.bisq.gui.main.MainView;
import io.bisq.gui.main.offer.BuyOfferView;
import io.bisq.gui.main.offer.SellOfferView;
@ -393,7 +394,7 @@ public class OfferBookChartView extends ActivatableViewAndModel<VBox, OfferBookC
});
// amount
TableColumn<OfferListItem, OfferListItem> amountColumn = new TableColumn<>(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
TableColumn<OfferListItem, OfferListItem> amountColumn = new AutoTooltipTableColumn<>(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
amountColumn.setMinWidth(115);
amountColumn.setSortable(false);
amountColumn.setCellValueFactory((offer) -> new ReadOnlyObjectWrapper<>(offer.getValue()));
@ -416,7 +417,7 @@ public class OfferBookChartView extends ActivatableViewAndModel<VBox, OfferBookC
// Lets remove that as it is not really relevant and seems to be confusing to some users
// accumulated
/* TableColumn<OfferListItem, OfferListItem> accumulatedColumn = new TableColumn<>(Res.get("shared.sumWithCur", Res.getBaseCurrencyCode()));
/* TableColumn<OfferListItem, OfferListItem> accumulatedColumn = new AutoTooltipTableColumn<>(Res.get("shared.sumWithCur", Res.getBaseCurrencyCode()));
accumulatedColumn.setMinWidth(100);
accumulatedColumn.setSortable(false);
accumulatedColumn.setCellValueFactory((offer) -> new ReadOnlyObjectWrapper<>(offer.getValue()));

View file

@ -22,6 +22,7 @@ import io.bisq.common.locale.Res;
import io.bisq.gui.common.view.ActivatableViewAndModel;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.AutoTooltipTableColumn;
import io.bisq.gui.util.BSFormatter;
import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.collections.ListChangeListener;
@ -117,10 +118,10 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
int numberOfSellOffers = sortedList.stream().mapToInt(item -> item.numberOfSellOffers).sum();
String total = formatter.formatCoin(Coin.valueOf(sortedList.stream().mapToLong(item -> item.totalAmount.value).sum()));
numberOfOffersColumn.setText(Res.get("market.spread.numberOfOffersColumn", numberOfOffers));
numberOfBuyOffersColumn.setText(Res.get("market.spread.numberOfBuyOffersColumn", numberOfBuyOffers));
numberOfSellOffersColumn.setText(Res.get("market.spread.numberOfSellOffersColumn", numberOfSellOffers));
totalAmountColumn.setText(Res.get("market.spread.totalAmountColumn", total));
numberOfOffersColumn.setGraphic(new AutoTooltipLabel(Res.get("market.spread.numberOfOffersColumn", numberOfOffers)));
numberOfBuyOffersColumn.setGraphic(new AutoTooltipLabel(Res.get("market.spread.numberOfBuyOffersColumn", numberOfBuyOffers)));
numberOfSellOffersColumn.setGraphic(new AutoTooltipLabel((Res.get("market.spread.numberOfSellOffersColumn", numberOfSellOffers))));
totalAmountColumn.setGraphic(new AutoTooltipLabel(Res.get("market.spread.totalAmountColumn", total)));
}
@ -129,7 +130,7 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
///////////////////////////////////////////////////////////////////////////////////////////
private TableColumn<SpreadItem, SpreadItem> getCurrencyColumn() {
TableColumn<SpreadItem, SpreadItem> column = new TableColumn<SpreadItem, SpreadItem>(Res.get("shared.currency")) {
TableColumn<SpreadItem, SpreadItem> column = new AutoTooltipTableColumn<SpreadItem, SpreadItem>(Res.get("shared.currency")) {
{
setMinWidth(160);
}
@ -157,7 +158,7 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
}
private TableColumn<SpreadItem, SpreadItem> getNumberOfOffersColumn() {
TableColumn<SpreadItem, SpreadItem> column = new TableColumn<SpreadItem, SpreadItem>("Total offers") {
TableColumn<SpreadItem, SpreadItem> column = new TableColumn<SpreadItem, SpreadItem>() {
{
setMinWidth(100);
}
@ -269,7 +270,7 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
}
private TableColumn<SpreadItem, SpreadItem> getSpreadColumn() {
TableColumn<SpreadItem, SpreadItem> column = new TableColumn<SpreadItem, SpreadItem>(Res.get("market.spread.spreadColumn")) {
TableColumn<SpreadItem, SpreadItem> column = new AutoTooltipTableColumn<SpreadItem, SpreadItem>(Res.get("market.spread.spreadColumn")) {
{
setMinWidth(110);
}

View file

@ -28,6 +28,7 @@ import io.bisq.core.trade.statistics.TradeStatistics2;
import io.bisq.gui.common.view.ActivatableViewAndModel;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.AutoTooltipTableColumn;
import io.bisq.gui.components.AutoTooltipToggleButton;
import io.bisq.gui.main.market.trades.charts.price.CandleStickChart;
import io.bisq.gui.main.market.trades.charts.volume.VolumeChart;
@ -186,7 +187,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
priceColumn.setSortable(!showAll);
if (showAll) {
volumeColumn.setText(Res.get("shared.amount"));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amount")));
priceColumnLabel.set(Res.get("shared.price"));
if (!tableView.getColumns().contains(marketColumn))
tableView.getColumns().add(1, marketColumn);
@ -196,7 +197,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
volumeChart.setPrefHeight(volumeChart.getMinHeight());
priceSeries.setName(selectedTradeCurrency.getName());
String code = selectedTradeCurrency.getCode();
volumeColumn.setText(Res.get("shared.amountWithCur", code));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountWithCur", code)));
priceColumnLabel.set(formatter.getPriceWithCurrencyCode(code));
@ -462,7 +463,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
VBox.setVgrow(tableView, Priority.ALWAYS);
// date
TableColumn<TradeStatistics2, TradeStatistics2> dateColumn = new TableColumn<TradeStatistics2, TradeStatistics2>(Res.get("shared.dateTime")) {
TableColumn<TradeStatistics2, TradeStatistics2> dateColumn = new AutoTooltipTableColumn<TradeStatistics2, TradeStatistics2>(Res.get("shared.dateTime")) {
{
setMinWidth(190);
setMaxWidth(190);
@ -491,7 +492,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
tableView.getColumns().add(dateColumn);
// market
marketColumn = new TableColumn<TradeStatistics2, TradeStatistics2>(Res.get("shared.market")) {
marketColumn = new AutoTooltipTableColumn<TradeStatistics2, TradeStatistics2>(Res.get("shared.market")) {
{
setMinWidth(130);
setMaxWidth(130);
@ -544,7 +545,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
tableView.getColumns().add(priceColumn);
// amount
TableColumn<TradeStatistics2, TradeStatistics2> amountColumn = new TableColumn<>(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
TableColumn<TradeStatistics2, TradeStatistics2> amountColumn = new AutoTooltipTableColumn<>(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
amountColumn.setCellValueFactory((tradeStatistics) -> new ReadOnlyObjectWrapper<>(tradeStatistics.getValue()));
amountColumn.setCellFactory(
new Callback<TableColumn<TradeStatistics2, TradeStatistics2>, TableCell<TradeStatistics2,
@ -598,7 +599,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
tableView.getColumns().add(volumeColumn);
// paymentMethod
TableColumn<TradeStatistics2, TradeStatistics2> paymentMethodColumn = new TableColumn<>(Res.get("shared.paymentMethod"));
TableColumn<TradeStatistics2, TradeStatistics2> paymentMethodColumn = new AutoTooltipTableColumn<>(Res.get("shared.paymentMethod"));
paymentMethodColumn.setCellValueFactory((tradeStatistics) -> new ReadOnlyObjectWrapper<>(tradeStatistics.getValue()));
paymentMethodColumn.setCellFactory(
new Callback<TableColumn<TradeStatistics2, TradeStatistics2>, TableCell<TradeStatistics2,
@ -622,7 +623,7 @@ public class TradesChartsView extends ActivatableViewAndModel<VBox, TradesCharts
tableView.getColumns().add(paymentMethodColumn);
// direction
TableColumn<TradeStatistics2, TradeStatistics2> directionColumn = new TableColumn<>(Res.get("shared.offerType"));
TableColumn<TradeStatistics2, TradeStatistics2> directionColumn = new AutoTooltipTableColumn<>(Res.get("shared.offerType"));
directionColumn.setCellValueFactory((tradeStatistics) -> new ReadOnlyObjectWrapper<>(tradeStatistics.getValue()));
directionColumn.setCellFactory(
new Callback<TableColumn<TradeStatistics2, TradeStatistics2>, TableCell<TradeStatistics2,

View file

@ -31,10 +31,7 @@ import io.bisq.core.user.DontShowAgainLookup;
import io.bisq.gui.Navigation;
import io.bisq.gui.common.view.ActivatableViewAndModel;
import io.bisq.gui.common.view.FxmlView;
import io.bisq.gui.components.AutoTooltipButton;
import io.bisq.gui.components.AutoTooltipLabel;
import io.bisq.gui.components.HyperlinkWithIcon;
import io.bisq.gui.components.PeerInfoIcon;
import io.bisq.gui.components.*;
import io.bisq.gui.main.MainView;
import io.bisq.gui.main.account.AccountView;
import io.bisq.gui.main.account.content.arbitratorselection.ArbitratorSelectionView;
@ -255,14 +252,14 @@ public class OfferBookView extends ActivatableViewAndModel<GridPane, OfferBookVi
(showAll, code) -> {
setDirectionTitles();
if (showAll) {
volumeColumn.setText(Res.get("shared.amountMinMax"));
priceColumn.setText(Res.get("shared.price"));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountMinMax")));
priceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.price")));
if (!tableView.getColumns().contains(marketColumn))
tableView.getColumns().add(0, marketColumn);
} else {
volumeColumn.setText(Res.get("offerbook.volume", code));
priceColumn.setText(formatter.getPriceWithCurrencyCode(code));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("offerbook.volume", code)));
priceColumn.setGraphic(new AutoTooltipLabel(formatter.getPriceWithCurrencyCode(code)));
if (tableView.getColumns().contains(marketColumn))
tableView.getColumns().remove(marketColumn);
@ -490,11 +487,8 @@ public class OfferBookView extends ActivatableViewAndModel<GridPane, OfferBookVi
///////////////////////////////////////////////////////////////////////////////////////////
private TableColumn<OfferBookListItem, OfferBookListItem> getAmountColumn() {
TableColumn<OfferBookListItem, OfferBookListItem> column = new TableColumn<OfferBookListItem, OfferBookListItem>(Res.get("shared.BTCMinMax")) {
{
setMinWidth(150);
}
};
TableColumn<OfferBookListItem, OfferBookListItem> column = new AutoTooltipTableColumn<OfferBookListItem, OfferBookListItem>(Res.get("shared.BTCMinMax"));
column.setMinWidth(150);
column.setCellValueFactory((offer) -> new ReadOnlyObjectWrapper<>(offer.getValue()));
column.setCellFactory(
new Callback<TableColumn<OfferBookListItem, OfferBookListItem>, TableCell<OfferBookListItem,
@ -518,7 +512,7 @@ public class OfferBookView extends ActivatableViewAndModel<GridPane, OfferBookVi
}
private TableColumn<OfferBookListItem, OfferBookListItem> getMarketColumn() {
TableColumn<OfferBookListItem, OfferBookListItem> column = new TableColumn<OfferBookListItem, OfferBookListItem>(Res.get("shared.market")) {
TableColumn<OfferBookListItem, OfferBookListItem> column = new AutoTooltipTableColumn<OfferBookListItem, OfferBookListItem>(Res.get("shared.market")) {
{
setMinWidth(120);
// setMaxWidth(130);
@ -667,7 +661,7 @@ public class OfferBookView extends ActivatableViewAndModel<GridPane, OfferBookVi
}
private TableColumn<OfferBookListItem, OfferBookListItem> getPaymentMethodColumn() {
TableColumn<OfferBookListItem, OfferBookListItem> column = new TableColumn<OfferBookListItem, OfferBookListItem>(Res.get("shared.paymentMethod")) {
TableColumn<OfferBookListItem, OfferBookListItem> column = new AutoTooltipTableColumn<OfferBookListItem, OfferBookListItem>(Res.get("shared.paymentMethod")) {
{
setMinWidth(125);
}
@ -703,7 +697,7 @@ public class OfferBookView extends ActivatableViewAndModel<GridPane, OfferBookVi
}
private TableColumn<OfferBookListItem, OfferBookListItem> getActionColumn() {
TableColumn<OfferBookListItem, OfferBookListItem> column = new TableColumn<OfferBookListItem, OfferBookListItem>(Res.get("offerbook.wantTo")) {
TableColumn<OfferBookListItem, OfferBookListItem> column = new AutoTooltipTableColumn<OfferBookListItem, OfferBookListItem>(Res.get("offerbook.wantTo")) {
{
setMinWidth(80);
setSortable(false);
@ -831,7 +825,7 @@ public class OfferBookView extends ActivatableViewAndModel<GridPane, OfferBookVi
}
private TableColumn<OfferBookListItem, OfferBookListItem> getAvatarColumn() {
TableColumn<OfferBookListItem, OfferBookListItem> column = new TableColumn<OfferBookListItem, OfferBookListItem>("") {
TableColumn<OfferBookListItem, OfferBookListItem> column = new AutoTooltipTableColumn<OfferBookListItem, OfferBookListItem>("") {
{
setMinWidth(40);
setMaxWidth(40);

View file

@ -88,14 +88,14 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
@Override
public void initialize() {
priceColumn.setText(Res.get("shared.price"));
amountColumn.setText(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
volumeColumn.setText(Res.get("shared.volume"));
marketColumn.setText(Res.get("shared.market"));
directionColumn.setText(Res.get("shared.offerType"));
dateColumn.setText(Res.get("shared.dateTime"));
tradeIdColumn.setText(Res.get("shared.tradeId"));
stateColumn.setText(Res.get("shared.state"));
priceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.price")));
amountColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode())));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.volume")));
marketColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.market")));
directionColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.offerType")));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
tradeIdColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.tradeId")));
stateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.state")));
avatarColumn.setText("");
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

View file

@ -54,14 +54,14 @@ public class FailedTradesView extends ActivatableViewAndModel<VBox, FailedTrades
@Override
public void initialize() {
priceColumn.setText(Res.get("shared.price"));
amountColumn.setText(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
volumeColumn.setText(Res.get("shared.volume"));
marketColumn.setText(Res.get("shared.market"));
directionColumn.setText(Res.get("shared.offerType"));
dateColumn.setText(Res.get("shared.dateTime"));
tradeIdColumn.setText(Res.get("shared.tradeId"));
stateColumn.setText(Res.get("shared.state"));
priceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.price")));
amountColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode())));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.volume")));
marketColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.market")));
directionColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.offerType")));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
tradeIdColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.tradeId")));
stateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.state")));
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
tableView.setPlaceholder(new AutoTooltipLabel(Res.get("table.placeholder.noItems", Res.get("shared.trades"))));

View file

@ -64,14 +64,14 @@ public class OpenOffersView extends ActivatableViewAndModel<VBox, OpenOffersView
@Override
public void initialize() {
priceColumn.setText(Res.get("shared.price"));
amountColumn.setText(Res.get("shared.BTCMinMax"));
volumeColumn.setText(Res.get("shared.amountMinMax"));
marketColumn.setText(Res.get("shared.market"));
directionColumn.setText(Res.get("shared.offerType"));
dateColumn.setText(Res.get("shared.dateTime"));
offerIdColumn.setText(Res.get("shared.offerId"));
removeItemColumn.setText("");
priceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.price")));
amountColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.BTCMinMax")));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountMinMax")));
marketColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.market")));
directionColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.offerType")));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
offerIdColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.offerId")));
removeItemColumn.setGraphic(new AutoTooltipLabel(""));
setOfferIdColumnCellFactory();
setDirectionColumnCellFactory();

View file

@ -90,14 +90,14 @@ public class PendingTradesView extends ActivatableViewAndModel<VBox, PendingTrad
@Override
public void initialize() {
priceColumn.setText(Res.get("shared.price"));
amountColumn.setText(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode()));
volumeColumn.setText(Res.get("shared.volume"));
marketColumn.setText(Res.get("shared.market"));
roleColumn.setText(Res.get("portfolio.pending.role"));
dateColumn.setText(Res.get("shared.dateTime"));
tradeIdColumn.setText(Res.get("shared.tradeId"));
paymentMethodColumn.setText(Res.get("shared.paymentMethod"));
priceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.price")));
amountColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.amountWithCur", Res.getBaseCurrencyCode())));
volumeColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.volume")));
marketColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.market")));
roleColumn.setGraphic(new AutoTooltipLabel(Res.get("portfolio.pending.role")));
dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime")));
tradeIdColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.tradeId")));
paymentMethodColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.paymentMethod")));
avatarColumn.setText("");
setTradeIdColumnCellFactory();

View file

@ -136,14 +136,14 @@ public class NetworkSettingsView extends ActivatableViewAndModel<GridPane, Activ
reSyncSPVChainLabel.setText(Res.getWithCol("settings.net.reSyncSPVChainLabel"));
reSyncSPVChainButton.setText(Res.get("settings.net.reSyncSPVChainButton"));
p2PPeersLabel.setText(Res.get("settings.net.p2PPeersLabel"));
onionAddressColumn.setText(Res.get("settings.net.onionAddressColumn"));
creationDateColumn.setText(Res.get("settings.net.creationDateColumn"));
connectionTypeColumn.setText(Res.get("settings.net.connectionTypeColumn"));
onionAddressColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.onionAddressColumn")));
creationDateColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.creationDateColumn")));
connectionTypeColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.connectionTypeColumn")));
totalTrafficLabel.setText(Res.get("settings.net.totalTrafficLabel"));
roundTripTimeColumn.setText(Res.get("settings.net.roundTripTimeColumn"));
sentBytesColumn.setText(Res.get("settings.net.sentBytesColumn"));
receivedBytesColumn.setText(Res.get("settings.net.receivedBytesColumn"));
peerTypeColumn.setText(Res.get("settings.net.peerTypeColumn"));
roundTripTimeColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.roundTripTimeColumn")));
sentBytesColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.sentBytesColumn")));
receivedBytesColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.receivedBytesColumn")));
peerTypeColumn.setGraphic(new AutoTooltipLabel(Res.get("settings.net.peerTypeColumn")));
openTorSettingsButton.setText(Res.get("settings.net.openTorSettingsButton"));
GridPane.setMargin(bitcoinPeersLabel, new Insets(4, 0, 0, 0));