Я считаю, что заголовки используют значки, но я не уверен, что вы можете использовать текст. Вы можете добавить запись в контекстное (всплывающее) меню, в котором будет отображаться количество трассировок, и при щелчке по элементу запустите просмотр.
Я основал это на шаблоне Hello, World Command, который поставляется с Eclipse, и добавил вклад в меню.
Я расширил CompoundContributionItem, чтобы он выполнял роль меню следующим образом.
/**
* Menu contribution which will update it's label to show the number of current
* traces.
*/
public class TraceWindowContributionItem extends CompoundContributionItem {
private static int demoTraceCount = 0;
/**
* Implemented to create a label which displays the number of traces.
*/
@Override
protected IContributionItem[] getContributionItems() {
//Here is your dynamic label.
final String label = getTraceCount() + " traces";
//Create other items needed for creation of contribution.
final String id = "test.dynamicContribution";
final IServiceLocator serviceLocator = findServiceLocator();
final String commandId = "test.commands.sampleCommand";
final Map parameters = new HashMap();
//Here is the contribution which will be displayed in the menu.
final CommandContributionItem contribution = new CommandContributionItem(
serviceLocator, id, commandId, parameters, null, null, null,
label, null, null, SWT.NONE);
return new IContributionItem[] { contribution };
}
/**
* Demo method simply increments by 1 each time the popup is shown. Your
* code would store or query for the actual trace count each time.
* @return
*/
private int getTraceCount() {
return demoTraceCount++;
}
/**
* Find the service locator to give to the contribution.
*/
private IServiceLocator findServiceLocator() {
return PlatformUI.getWorkbench().getActiveWorkbenchWindow();
}
}
Теперь нам нужно подключить это к команде и обработчику, который запустит ваше представление.
Вот мой plugin.xml.
<!-- Wire up our dynamic menu contribution which will show the number of traces -->
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
<dynamic
class="test.TraceWindowContributionItem"
id="test.dynamicContribution">
</dynamic>
</menuContribution>
</extension>
<!-- Command and handler for launching the traces view -->
<extension
point="org.eclipse.ui.commands">
<category
name="Sample Category"
id="test.commands.category">
</category>
<command
categoryId="test.commands.category"
defaultHandler="test.handlers.SampleHandler"
id="test.commands.sampleCommand"
name="Sample Command">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="test.commands.sampleCommand"
class="test.handlers.SampleHandler">
</handler>
</extension>