예제 #1
0
 /**
  * Find the DigestView that contains a certain digest
  *
  * @param digest the digest the DigestView should contain.
  * @return the DigestView containing the digest. {@null} if the digest is not found.
  */
 private DigestView findDigestView(Digest digest) {
   DigestView digestUi = searchUi.getFirst();
   while (digestUi != null) {
     if (digestUis.get(digestUi).equals(digest)) {
       return digestUi;
     }
     digestUi = searchUi.getNext(digestUi);
   }
   return null;
 }
예제 #2
0
 private void selectWaveUri(String waveId) {
   // Log.info("Trying to select waveId " + waveId);
   DigestView digestUi = searchUi.getFirst();
   while (digestUi != null) {
     Digest digest = digestUis.get(digestUi);
     WaveId iteraWaveId = digest.getWaveId();
     // Log.info("Comparing to waveId " + iteraWaveId);
     if (iteraWaveId.equals(WaveId.deserialise(waveId))) {
       setSelected(digestUi);
       return;
     }
     digestUi = searchUi.getNext(digestUi);
   }
   setSelected(null);
 }
예제 #3
0
 private void renderDigests() {
   isRenderingInProgress = true;
   // Preserve selection on re-rendering.
   WaveId toSelect = selected != null ? digestUis.get(selected).getWaveId() : null;
   searchUi.clearDigests();
   digestUis.clear();
   setSelected(null);
   for (int i = 0, size = search.getMinimumTotal(); i < size; i++) {
     Digest digest = search.getDigest(i);
     if (digest == null) {
       continue;
     }
     DigestView digestUi = searchUi.insertBefore(null, digest);
     digestUis.put(digestUi, digest);
     if (digest.getWaveId().equals(toSelect)) {
       setSelected(digestUi);
     }
   }
   isRenderingInProgress = false;
 }
예제 #4
0
 /** Invokes the wave-select action on the currently selected digest. */
 private void openSelected() {
   actionHandler.onWaveSelected(digestUis.get(selected).getWaveId());
 }