Package org.waveprotocol.wave.model.conversation

Examples of org.waveprotocol.wave.model.conversation.ConversationBlip


    wavelet.removeListener(remoteChangeDetector);
  }

  private void onRemoteChange(Blip raw) {
    // Some op caused by someone else occurred. Stop auto-reading.
    ConversationBlip blip = rawAutoRead.get(raw);
    if (blip != null && blip != reading) {
      stopAutoReading(blip);
    }
  }
View Full Code Here


    @Override
    public void onBlipAdded(ObservableConversationBlip blip) {
      ConversationThread parentThread = blip.getThread();
      ThreadView threadView = viewOf(parentThread);
      if (threadView != null) {
        ConversationBlip ref = findBefore(blip, parentThread.getBlips());
        BlipView refView = viewOf(ref);

        // Render the new blip.
        threadView.insertBlipAfter(refView, blip);
        bubbleBlipCountUpdate(blip);
View Full Code Here

    private void bubbleBlipCountUpdate(ConversationBlip blip) {
      ConversationThread thread = blip.getThread();
      ThreadView threadUi = viewOf(thread);
      threadUi.setTotalBlipCount(readMonitor.getTotalCount(thread));
      ConversationBlip parentBlip = thread.getParentBlip();
      if (parentBlip != null) {
        bubbleBlipCountUpdate(parentBlip);
      }
    }
View Full Code Here

   * title is set.
   */
  private void maybeSetOrUpdateTitle() {
    if (blipUi != null && editor != null) {
      CMutableDocument document = editor.getDocument();
      ConversationBlip editBlip = views.getBlip(blipUi);
      if (editBlip.isRoot() && !TitleHelper.hasExplicitTitle(document)) {
        Range titleRange = TitleHelper.findImplicitTitle(document);
        TitleHelper.setImplicitTitle(document, titleRange.getStart(), titleRange.getEnd());
      }
    }
  }
View Full Code Here

  }

  @Override
  public void onFocusMoved(BlipView oldUi, BlipView newUi) {
    if (oldUi != null) {
      ConversationBlip oldBlip = models.getBlip(oldUi);
      InteractiveDocument document = documents.get(oldBlip);
      if (oldBlip != null) {
        supplement.stopReading(oldBlip);
        document.stopDiffRetention();
        document.clearDiffs();
      }
    }

    if (newUi != null) {
      // UI hack: normally, becoming read triggers diff clearing, except when
      // the cause of becoming read is focus-frame placement.
      ConversationBlip newBlip = models.getBlip(newUi);
      InteractiveDocument document = documents.get(newBlip);
      if (newBlip != null) {
        document.startDiffRetention();
        supplement.startReading(newBlip);
      }
View Full Code Here

      }
    }
  }

  public boolean isRead(BlipView blipUi) {
    ConversationBlip blip = models.getBlip(blipUi);
    if(blip != null)
      return !supplement.isUnread(blip);
    return false;
  }
View Full Code Here

    edit.stopEditing();
  }

  @Override
  public void reply(BlipView blipUi) {
    ConversationBlip blip = views.getBlip(blipUi);
    ContentDocument doc = documents.get(blip).getDocument();
    // Insert the reply at a good spot near the current selection, or use the
    // end of the document as a fallback.
    int location = DocumentUtil.getLocationNearSelection(doc);
    if (location == -1) {
      location = blip.getContent().size() - 1;
    }
    ConversationBlip reply = blip.addReplyThread(location).appendBlip();
    blipQueue.flush();
    focusAndEdit(views.getBlipView(reply));
  }
View Full Code Here

  }

  @Override
  public void addContinuation(ThreadView threadUi) {
    ConversationThread thread = views.getThread(threadUi);
    ConversationBlip continuation = thread.appendBlip();
    blipQueue.flush();
    focusAndEdit(views.getBlipView(continuation));
  }
View Full Code Here

    edit.startEditing(blipUi);
  }

  @Override
  public void popupLink(BlipView blipUi) {
    ConversationBlip blip = views.getBlip(blipUi);
    // TODO(Yuri Z.) Change to use the conversation model when the Conversation
    // exposes a reference to its ConversationView.
    WaveId waveId = blip.hackGetRaw().getWavelet().getWaveId();
    WaveletId waveletId;
    try {
      waveletId = DualIdSerialiser.MODERN.deserialiseWaveletId(blip.getConversation().getId());
    } catch (InvalidIdException e) {
      Window.alert(messages.invalidWaveletId(blip.getConversation().getId()));
      return;
    }
    WaveRef waveRef = WaveRef.of(waveId, waveletId, blip.getId());
    final String waveRefStringValue =
        WaveRefConstants.WAVE_URI_PREFIX + GwtWaverefEncoder.encodeToUriPathSegment(waveRef);
    BlipLinkPopupView blipLinkPopupView = blipUi.createLinkPopup();
    blipLinkPopupView.setLinkInfo(waveRefStringValue);
    blipLinkPopupView.show();
View Full Code Here

  public BlipView selectMostRecentlyModified() {
    Conversation conversation  = wave.getRoot();
    if (conversation == null) {
      return null;
    } else {
      ConversationBlip blip = wave.getRoot().getRootThread().getFirstBlip();
      BlipView rootBlipUi = views.getBlipView(blip);
      if (rootBlipUi == null) {
        return null;
      }
      return findMostRecentlyModified(rootBlipUi);
View Full Code Here

TOP

Related Classes of org.waveprotocol.wave.model.conversation.ConversationBlip

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.