Package org.waveprotocol.wave.model.conversation

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


      if (blipId == null || blipId.isEmpty()) {
        supplement.markAsRead();
      } else {
        ObservableConversation conversation =
            context.openConversation(operation, participant).getRoot();
        ConversationBlip blip = conversation.getBlip(blipId);
        supplement.markAsRead(blip);
      }
    } else if (modifyHow.equals(ModifyHowType.MARK_AS_UNREAD.getValue())) {
      supplement.markAsUnread();
    } else {
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(
          "Unable to link to this blip, invalid conversation id " + 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

  }

  @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

   * 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

  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

    if (rootBlip == null) {
      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;
        }
        rootBlip =  rootBlipUi;
View Full Code Here

      conversation = wave.getRoot();
    }
    if (conversation == null) {
      return null;
    } else {
      ConversationBlip blip = null;
      // If there's blip reference then focus on that blip.
      // Find selected blip.
      if (documentId != null) {
        blip = wave.getRoot().getBlip(documentId);
        if (blip != null) {
View Full Code Here

  private BlipView findMostRecentlyModified(BlipView start) {
    BlipView blipUi = start;
    Map<Long, BlipView> blips = CollectionUtils.newHashMap();
    while (blipUi != null) {
      ConversationBlip blip = views.getBlip(blipUi);
      blips.put(blip.getLastModifiedTime() , blipUi);
      blipUi = traverser.getNext(blipUi);
    }
    long lmt = Collections.max(blips.keySet());
    return blips.get(lmt);
  }
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.