1 package org.columba.mail.gui.search; 2 3 import java.text.MessageFormat ; 4 import java.util.Iterator ; 5 import java.util.List ; 6 import java.util.ResourceBundle ; 7 8 import javax.swing.ImageIcon ; 9 import javax.swing.JComponent ; 10 11 import org.columba.core.gui.search.api.IResultPanel; 12 import org.columba.core.search.api.IResultEvent; 13 import org.columba.core.search.api.ISearchResult; 14 import org.columba.mail.resourceloader.IconKeys; 15 import org.columba.mail.resourceloader.MailImageLoader; 16 17 public class ComplexResultPanel implements IResultPanel { 18 19 private ResourceBundle bundle; 20 21 private String providerTechnicalName; 22 23 private String criteriaTechnicalName; 24 25 private ResultList list; 26 27 public ComplexResultPanel(String providerTechnicalName) { 28 super(); 29 30 this.providerTechnicalName = providerTechnicalName; 31 32 bundle = ResourceBundle.getBundle("org.columba.mail.i18n.search"); 33 34 list = new ResultList(); 35 36 } 37 38 public String getSearchCriteriaTechnicalName() { 39 return ""; 40 } 41 42 public String getProviderTechnicalName() { 43 return providerTechnicalName; 44 } 45 46 public JComponent getView() { 47 return list; 48 } 49 50 public ImageIcon getIcon() { 51 return MailImageLoader.getSmallIcon(IconKeys.MESSAGE_READ); 52 } 53 54 public String getTitle(String searchTerm) { 55 String result = bundle.getString("provider_title"); 56 return result; 57 } 58 59 public String getDescription(String searchTerm) { 60 String result = bundle.getString("provider_description"); 61 return result; 62 } 63 64 public void resultArrived(IResultEvent event) { 65 if (!event.getProviderName().equals(this.providerTechnicalName)) 66 return; 67 68 List <ISearchResult> result = event.getSearchResults(); 69 70 Iterator <ISearchResult> it = result.iterator(); 71 while (it.hasNext()) { 72 list.add(it.next()); 73 } 74 75 list.revalidate(); 76 } 77 78 public void clearSearch(IResultEvent event) { 79 80 } 81 82 public void reset(IResultEvent event) { 83 list.clear(); 84 } 85 86 public void finished(IResultEvent event) { 87 } 88 89 } | Popular Tags |