Пример #1
0
 /*
  * (non-Javadoc)
  *
  * @see org.xmind.core.ITopicRange#encloses(org.xmind.core.ITopic)
  */
 public boolean encloses(ITopic subtopic) {
   if (subtopic == null) return false;
   ITopic parent = subtopic.getParent();
   if (parent == null || !parent.equals(getParent())) return false;
   int startIndex = getStartIndex();
   int endIndex = getEndIndex();
   int subIndex = subtopic.getIndex();
   return subIndex >= startIndex && subIndex <= endIndex;
 }
Пример #2
0
 protected ITopic getTopic(int index) {
   if (index >= 0) {
     ITopic parent = getParent();
     if (parent != null) {
       List<ITopic> children = parent.getChildren(ITopic.ATTACHED);
       if (index < children.size()) return children.get(index);
     }
   }
   return null;
 }
Пример #3
0
  @Test
  public void testGetFolded() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);

    assertOrderedResultSet(eval(ct, "@folded"), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, "@folded"), Boolean.FALSE);
    assertOrderedResultSet(eval(mt2, "@folded"), Boolean.FALSE);
    assertOrderedResultSet(eval(mt3, "@folded"), Boolean.TRUE);
  }
Пример #4
0
  @Test
  public void testGetMarkers() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);

    assertUnorderedResultSet(eval(ct, "marker"), ct.getMarkerRefs().toArray());
    assertUnorderedResultSet(eval(mt1, "marker"), mt1.getMarkerRefs().toArray());
    assertUnorderedResultSet(eval(mt2, "marker"), mt2.getMarkerRefs().toArray());
    assertUnorderedResultSet(eval(mt3, "marker"), mt3.getMarkerRefs().toArray());
  }
Пример #5
0
 public List<ITopic> getEnclosingTopics() {
   int startIndex = getStartIndex();
   int endIndex = getEndIndex();
   if (startIndex >= 0 && endIndex >= 0 && endIndex >= startIndex) {
     ITopic parent = getParent();
     if (parent != null) {
       List<ITopic> children = parent.getChildren(ITopic.ATTACHED);
       if (!children.isEmpty()) {
         return getSubtopics(startIndex, endIndex, children);
       }
     }
   }
   return NO_ENCLOSING_TOPICS;
 }
Пример #6
0
  @Test
  public void testGetMarkerIds() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);

    assertUnorderedResultSet(eval(ct, "marker/@id"));
    assertUnorderedResultSet(eval(mt1, "marker/@id"), "priority-2", "smiley-laugh");
    assertUnorderedResultSet(eval(mt2, "marker/@id"), "task-3oct");
    assertUnorderedResultSet(eval(mt3, "marker/@id"));

    assertOrderedResultSet(eval(mt2, "marker/@id='task-3oct'"), Boolean.TRUE);
  }
Пример #7
0
  @Test
  public void testGetTitle() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);

    assertOrderedResultSet(eval(ct, "@title"), "Central Topic");
    assertOrderedResultSet(eval(mt1, "@title"), "Main Topic 1");
    assertOrderedResultSet(eval(mt2, "@title"), "Task");
    assertOrderedResultSet(eval(mt3, "@title"), "Platform Expression Framework.txt");

    assertOrderedResultSet(eval(ct, "@title='Central Topic'"), Boolean.TRUE);
    assertOrderedResultSet(eval(mt1, "@title='Main Topic 1'"), Boolean.TRUE);
  }
Пример #8
0
  @Test
  public void testGetCount() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);

    assertOrderedResultSet(eval(ct, "count(marker)"), Integer.valueOf(0));
    assertOrderedResultSet(eval(mt1, "count(marker)"), Integer.valueOf(2));
    assertOrderedResultSet(eval(mt2, "count(marker)"), Integer.valueOf(1));
    assertOrderedResultSet(eval(mt3, "count(marker)"), Integer.valueOf(0));

    assertOrderedResultSet(eval(ct, "count(marker)=0"), Boolean.TRUE);
    assertOrderedResultSet(eval(mt1, "count(marker)=2"), Boolean.TRUE);
  }
Пример #9
0
 public void setStyle(String key, String value) {
   IStyleSelector ss = branch.getBranchPolicy().getStyleSelector(branch);
   if (ss instanceof DummyStyleSelector) {
     ((DummyStyleSelector) ss).setOverridedStyle(key, value);
   } else {
     IStyleSheet styleSheet = topic.getOwnedWorkbook().getStyleSheet();
     IStyle style = styleSheet.findStyle(topic.getStyleId());
     if (style == null) {
       style = styleSheet.createStyle(IStyle.TOPIC);
       styleSheet.addStyle(style, IStyleSheet.NORMAL_STYLES);
       topic.setStyleId(style.getId());
     }
     style.setProperty(key, value);
   }
 }
Пример #10
0
  @Test
  public void testGetType() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);
    ITopic ft1 = ct.getChildren(ITopic.DETACHED).get(0);
    ITopic st1 = ct.getChildren(ITopic.SUMMARY).get(0);

    assertOrderedResultSet(eval(ct, "@type"), ITopic.ROOT);
    assertOrderedResultSet(eval(mt1, "@type"), ITopic.ATTACHED);
    assertOrderedResultSet(eval(mt2, "@type"), ITopic.ATTACHED);
    assertOrderedResultSet(eval(mt3, "@type"), ITopic.ATTACHED);
    assertOrderedResultSet(eval(ft1, "@type"), ITopic.DETACHED);
    assertOrderedResultSet(eval(st1, "@type"), ITopic.SUMMARY);
  }
Пример #11
0
 public void dispose() {
   if (topic != null) {
     ITopic parent = topic.getParent();
     if (parent != null) {
       parent.remove(topic);
       branch = null;
     } else {
       if (branch != null) {
         branch.getStatus().deactivate();
         branch.removeNotify();
         removeBranchView();
         branch.setParent(null);
         branch = null;
       }
     }
     topic = null;
   }
 }
Пример #12
0
  private void doSaveNotes() {
    INotesContent html = notesAdapter.makeNewHtmlContent();
    INotesContent plain = notesAdapter.makeNewPlainContent();
    ITopic topic = topicPart.getTopic();
    EditDomain domain = topicPart.getSite().getViewer().getEditDomain();
    if (domain != null) {
      ICommandStack cs = domain.getCommandStack();
      if (cs != null) {
        ModifyNotesCommand modifyHtml = new ModifyNotesCommand(topic, html, INotes.HTML);
        ModifyNotesCommand modifyPlain = new ModifyNotesCommand(topic, plain, INotes.PLAIN);
        CompoundCommand cmd = new CompoundCommand(modifyHtml, modifyPlain);
        cmd.setLabel(CommandMessages.Command_ModifyNotes);
        cs.execute(cmd);
        return;
      }
    }

    INotes notes = topic.getNotes();
    notes.setContent(INotes.HTML, html);
    notes.setContent(INotes.PLAIN, plain);
  }
Пример #13
0
 private String getValue(Object target, String name) {
   if ("title".equals(name)) { // $NON-NLS-1$
     if (target instanceof ITitled) return ((ITitled) target).getTitleText();
   } else if ("name".equals(name)) { // $NON-NLS-1$
     if (target instanceof INamed) return ((INamed) target).getName();
   } else if ("hyperlinkType".equals(name)) { // $NON-NLS-1$
     if (target instanceof ITopic) {
       ITopic topic = (ITopic) target;
       String hyperlink = topic.getHyperlink();
       if (hyperlink == null || "".equals(hyperlink)) // $NON-NLS-1$
       return "none"; //$NON-NLS-1$
       if (HyperlinkUtils.isAttachmentURL(hyperlink)) return "attachment"; // $NON-NLS-1$
       if (HyperlinkUtils.isInternalURL(hyperlink)) return "internal"; // $NON-NLS-1$
       if (hyperlink.startsWith("file:")) // $NON-NLS-1$
       return "file"; //$NON-NLS-1$
       return "unknown"; //$NON-NLS-1$
     }
   } else if ("topicType".equals(name)) { // $NON-NLS-1$
     if (target instanceof ITopic) return ((ITopic) target).getType();
   }
   return null;
 }
Пример #14
0
  @Test
  public void testGetChildTopics() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();

    assertOrderedResultSet(eval(ct, "topic"), ct.getAllChildren().toArray());

    assertOrderedResultSet(eval(ct, "topic[1]"), ct.getAllChildren().get(0));
    assertOrderedResultSet(
        eval(ct, "topic[@type='attached']"), ct.getChildren(ITopic.ATTACHED).toArray());
    assertOrderedResultSet(
        eval(ct, "topic[@type='detached']"), ct.getChildren(ITopic.DETACHED).toArray());
    assertOrderedResultSet(
        eval(ct, "topic[@type='summary']"), ct.getChildren(ITopic.SUMMARY).toArray());

    assertOrderedResultSet(
        eval(ct, "topic[matches(@type,'(at|de)tached')]"),
        concat(ct.getChildren(ITopic.ATTACHED), ct.getChildren(ITopic.DETACHED)).toArray());
  }
Пример #15
0
  @Test
  public void testCommonTopicTests() {
    ITopic ct = workbook.getPrimarySheet().getRootTopic();
    ITopic mt1 = ct.getChildren(ITopic.ATTACHED).get(0);
    ITopic mt2 = ct.getChildren(ITopic.ATTACHED).get(1);
    ITopic mt3 = ct.getChildren(ITopic.ATTACHED).get(2);
    ITopic ft1 = ct.getChildren(ITopic.DETACHED).get(0);
    ITopic st1 = ct.getChildren(ITopic.SUMMARY).get(0);

    // topic has a specific title
    String test1 = "@title='Task'";
    assertOrderedResultSet(eval(ct, test1), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, test1), Boolean.FALSE);
    assertOrderedResultSet(eval(mt2, test1), Boolean.TRUE);
    assertOrderedResultSet(eval(mt3, test1), Boolean.FALSE);
    assertOrderedResultSet(eval(ft1, test1), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test1), Boolean.FALSE);

    // topic is the root topic
    String test2 = "@type='root'";
    assertOrderedResultSet(eval(ct, test2), Boolean.TRUE);
    assertOrderedResultSet(eval(mt1, test2), Boolean.FALSE);
    assertOrderedResultSet(eval(mt2, test2), Boolean.FALSE);
    assertOrderedResultSet(eval(mt3, test2), Boolean.FALSE);
    assertOrderedResultSet(eval(ft1, test2), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test2), Boolean.FALSE);

    // topic is a summary topic
    String test3 = "@type='summary'";
    assertOrderedResultSet(eval(ct, test3), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, test3), Boolean.FALSE);
    assertOrderedResultSet(eval(mt2, test3), Boolean.FALSE);
    assertOrderedResultSet(eval(mt3, test3), Boolean.FALSE);
    assertOrderedResultSet(eval(ft1, test3), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test3), Boolean.TRUE);

    // topic is an attachment
    String test4 = "matches(@hyperlink,'^xap\\:.*')";
    assertOrderedResultSet(eval(ct, test4), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, test4), Boolean.FALSE);
    assertOrderedResultSet(eval(mt2, test4), Boolean.FALSE);
    assertOrderedResultSet(eval(mt3, test4), Boolean.TRUE);
    assertOrderedResultSet(eval(ft1, test4), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test4), Boolean.FALSE);

    // topic has markers
    String test5 = "count(marker)>0";
    assertOrderedResultSet(eval(ct, test5), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, test5), Boolean.TRUE);
    assertOrderedResultSet(eval(mt2, test5), Boolean.TRUE);
    assertOrderedResultSet(eval(mt3, test5), Boolean.FALSE);
    assertOrderedResultSet(eval(ft1, test5), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test5), Boolean.FALSE);

    // topic has image
    String test6 = "count(image[@source])>0";
    assertOrderedResultSet(eval(ct, test6), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, test6), Boolean.FALSE);
    assertOrderedResultSet(eval(mt2, test6), Boolean.TRUE);
    assertOrderedResultSet(eval(mt3, test6), Boolean.FALSE);
    assertOrderedResultSet(eval(ft1, test6), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test6), Boolean.FALSE);

    // topic has markers belonging to a specific group
    String test7 = "count(marker[@groupId='priorityMarkers'])>0";
    assertOrderedResultSet(eval(ct, test7), Boolean.FALSE);
    assertOrderedResultSet(eval(mt1, test7), Boolean.TRUE);
    assertOrderedResultSet(eval(mt2, test7), Boolean.FALSE);
    assertOrderedResultSet(eval(mt3, test7), Boolean.FALSE);
    assertOrderedResultSet(eval(ft1, test7), Boolean.FALSE);
    assertOrderedResultSet(eval(st1, test7), Boolean.FALSE);
  }
Пример #16
0
 private ITopic createDummyTopic(IBranchPart sourceBranch, boolean newTopic) {
   ITopic topic;
   if (sourceBranch == null && newTopic) {
     ITopic centralTopic = (ITopic) viewer.getAdapter(ITopic.class);
     topic = centralTopic.getOwnedWorkbook().createTopic();
     centralTopic.add(topic, ITopic.DETACHED);
   } else if (sourceBranch != null) {
     ITopic sourceTopic = sourceBranch.getTopic();
     topic = sourceTopic.getOwnedWorkbook().createTopic();
     topic.setTitleText(sourceTopic.getTitleText());
     topic.setStyleId(sourceTopic.getStyleId());
     topic.setTitleWidth(sourceTopic.getTitleWidth());
     ((TopicImpl) topic).setCoreEventSupport(new CoreEventSupport());
   } else {
     topic = Core.getWorkbookBuilder().createWorkbook().createTopic();
   }
   return topic;
 }