Добавление произвольного текста рядом с вкладками с помощью GWT TabLayoutPanel
В настоящее время у меня есть TabLayoutPanel с несколькими вкладками, внутри каждой вкладки находится набор хлебных крошек. Я хотел бы иметь возможность отображать свои хлебные крошки прямо рядом с вкладками (внутри самой вкладки). Я еще не видел ни одного случая, чтобы кто-то сделал это, и я начинаю верить, что мог бы в конечном итоге сам переписать их класс TabLayoutPanel и реализовать его там, где это необходимо, но, очевидно, я бы предпочел не идти по этому пути, если нет альтернативы.,
Кто-нибудь есть какие-либо рекомендации по этому поводу?
1 ответ
Решение
Просто наткнулся на ту же проблему. Вот большинство подходящих фрагментов кода. Я добавил стрелку Unicode, когда вкладка была выбрана, и удалил ее, когда она была отменена.
private final String htmlStr ="\u25bb";
private String getTabTitle(String html){
// Designed to work for this example input.
//If you pass a different string you will need to do different matching.
if(html.indexOf("\u25bb") < 0)
return html;
else
return html.substring(html.indexOf("\u25bb")+1);
}
@Override
public void onBeforeSelection(BeforeSelectionEvent<Integer> event) {
if(!getSelectedIndex().equals(event.getItem())) {
notifyCurrentTabOfClosing();
selectedIndex = event.getItem();
String tabtitle = getTabTitle(getTabBar().getTabHTML(selectedIndex));
getTabBar().setTabHTML(selectedIndex, htmlStr+tabtitle);
}
}
}
public void selectTab(Widget widget) {
int widgetIndex = getWidgetIndex(widget);
selectTab(widgetIndex);
String tabtitle = getTabTitle(getTabBar().getTabHTML(widgetIndex));
getTabBar().setTabHTML(widgetIndex, htmlStr+tabtitle);
}