Bonjour,
bien que sur la papier, ça semble aisé, j'avoue ne pas réussir à faire fonctionner mon ViewerFilter associé à un table Viewer.

J'ai créé un TableViewer, et j'ai affiché sans problèmes une liste d'élements en utilisant un ILazyContentProvider, et en faisant un setContent de mon modèle (pour résumer rapidement..).

j'ai crée le viewerFilter suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
public class MessageViewerFilter extends ViewerFilter
{
	String m_message = "";
 
	public void init(String message)
	{
		m_message = ".*" + message + ".*";
 
	}
 
	@Override
	public boolean select(Viewer viewer, Object parentElement, Object element) {
 
		Message msg = (Message) element;
		if(msg.getLogMessage().matches(m_message))
		{
			return true;
		}
		return false;
	}
Pour appliquer le filtre, j'ai fait:
monTableViewer.addFilter(monInstanceDeMessageViewerFilter);

J'update régulièrement le viewer avec le modèle (suivi d'un .refresh() ), mais je remarque que le filtrage ne se fait pas, et que le prog ne break jamais dans la methode 'select'.

Il y a un secret dans l'utilisation des ViewerFilter ?

Merci!
Benoit