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