2013-11-14 2 views
1

я создал TreeViewer и PatternFilterКак добавить полужирный к тексту, который нашел в PatternFilter

PatternFilter patternFilter = new PatternFilter(); 
FilteredTree filter = new FilteredTree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter, true); 
treeViewer = filter.getViewer(); 

treeViewer.setContentProvider(new TreeContentProvider()); 
treeViewer.setLabelProvider(new TreeLabelProvider()); 
treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); 
treeViewer.setInput(Activator.getDefault().getTreeModel()); 

Tree tree = treeViewer.getTree(); 

Как я могу добавить жирный текст в текст результатов фильтра?

Как фильтр в диалоге настроек в Затмении

ответ

1

Затмение Preferences использует тот же FilteredTree. Зная это, отсюда легко.

Быстрая поездка в FilteredTree и CTRL +F текст bold.

Первый результат этого метода:

/** 
* Return a bold font if the given element matches the given pattern. 
* Clients can opt to call this method from a Viewer's label provider to get 
* a bold font for which to highlight the given element in the tree. 
* 
* @param element 
*   element for which a match should be determined 
* @param tree 
*   FilteredTree in which the element resides 
* @param filter 
*   PatternFilter which determines a match 
* 
* @return bold font 
*/ 
public static Font getBoldFont(Object element, FilteredTree tree, PatternFilter filter) 

Если мы ищем, где он используется, мы находим org.eclipse.ui.internal.dialogs.PreferenceBoldLabelProvider.

Используйте ту же трюк в своем поставщике лейбла.


Edit 1: Как greg-449 сказал, я надеюсь, что вы достаточно опытный, чтобы знать, чтобы не использовать внутренние классы, а immitate их и создать свой собственный счет расширения LabelProvider (в данном случае).

+0

Но будьте осторожны, что 'PreferenceBoldLabelProvider' находится в ** внутреннем ** пакете, поэтому его не следует использовать и может меняться без уведомления. –

+0

Как вы нашли класс для восприятия? – user1365697

+0

И что вы имели в виду в быстрой поездке pus prrss cntrl f – user1365697

Смежные вопросы