|                                                                                                              1   package org.columba.mail.gui.search;
 19
 20  import java.text.MessageFormat
  ; 21  import java.util.Iterator
  ; 22  import java.util.List
  ; 23  import java.util.ResourceBundle
  ; 24
 25  import javax.swing.ImageIcon
  ; 26  import javax.swing.JComponent
  ; 27
 28  import org.columba.core.gui.search.api.IResultPanel;
 29  import org.columba.core.search.api.IResultEvent;
 30  import org.columba.core.search.api.ISearchResult;
 31  import org.columba.mail.resourceloader.IconKeys;
 32  import org.columba.mail.resourceloader.MailImageLoader;
 33
 34  public class CriteriaResultPanel implements IResultPanel {
 35
 36      private ResourceBundle
  bundle; 37
 38      private String
  providerTechnicalName; 39
 40      private String
  criteriaTechnicalName; 41
 42      private ResultList list;
 43
 44      public CriteriaResultPanel(String
  providerTechnicalName, 45              String
  criteriaTechnicalName) { 46          super();
 47
 48          this.criteriaTechnicalName = criteriaTechnicalName;
 49          this.providerTechnicalName = providerTechnicalName;
 50
 51          bundle = ResourceBundle.getBundle("org.columba.mail.i18n.search");
 52
 53          list = new ResultList();
 54
 55      }
 56
 57      public String
  getSearchCriteriaTechnicalName() { 58          return criteriaTechnicalName;
 59      }
 60
 61      public String
  getProviderTechnicalName() { 62          return providerTechnicalName;
 63      }
 64
 65      public JComponent
  getView() { 66          return list;
 67      }
 68
 69      public ImageIcon
  getIcon() { 70          return MailImageLoader.getSmallIcon(IconKeys.MESSAGE_READ);
 71      }
 72
 73      public String
  getTitle(String  searchTerm) { 74          String
  result = MessageFormat.format(bundle 75                  .getString(criteriaTechnicalName + "_title"),
 76                  new Object
  [] { searchTerm }); 77          return result;
 78      }
 79
 80      public String
  getDescription(String  searchTerm) { 81          String
  result = MessageFormat.format(bundle 82                  .getString(criteriaTechnicalName + "_description"),
 83                  new Object
  [] { searchTerm }); 84          return result;
 85      }
 86
 87      public void resultArrived(IResultEvent event) {
 88          if (!event.getProviderName().equals(this.providerTechnicalName))
 89              return;
 90          if (!event.getSearchCriteria().getTechnicalName().equals(
 91                  this.criteriaTechnicalName))
 92              return;
 93
 94          List
  <ISearchResult> result = event.getSearchResults(); 95
 96          Iterator
  <ISearchResult> it = result.iterator(); 97          while (it.hasNext()) {
 98              list.add(it.next());
 99          }
 100
 101         list.revalidate();
 102     }
 103
 104     public void clearSearch(IResultEvent event) {
 105
 106     }
 107
 108     public void reset(IResultEvent event) {
 109         list.clear();
 110     }
 111
 112     public void finished(IResultEvent event) {
 113     }
 114
 115 }
 116
                                                                                                                                                                                                             |                                                                       
 
 
 
 
 
                                                                                   Popular Tags                                                                                                                                                                                              |