我在自定义Eclipse编辑器中创建了自己的DefaultTextHover扩展,并希望向悬停添加图标 - 类似于当我将鼠标悬停在程序元素上时JDT的作用。
目前,我的getHoverInfo实现为hover本身返回了相应的String。但我希望悬停也包含一个图标 - 类似于我在编辑器大纲中已经使用的图标。
我该怎么做?
答案 0 :(得分:1)
您需要将DefaultTextHover
实施ITextHoverExtension
扩展为getHoverControlCreator
,这会添加新方法IInformationControlCreator
。此方法返回IInformationControl
,用于创建IInformationControl
,用于显示悬停信息。
DefaultInformationControl
创建悬停并可以任意方式解释悬停文本(例如HTML)。
IInformationControl
实现了DefaultInformationControl.IInformationPresenter
,可以为您完成大量工作。这要求您提供实施DefaultInformationControl.IInformationPresenterExtension
和HTMLTextPresenter
。
有一个内部 JFace类<ListBox x:Name="lbTreatments" HorizontalAlignment="Left" Height="473" Margin="10,37,0,0" VerticalAlignment="Top" Width="309" FontSize="13">
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding subcategoryName}" FontWeight="Bold"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
可以作为实现信息展示器的示例(因为这是内部的,不应该直接使用它)。