/* * (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; }
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; }
@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); }
@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()); }
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; }
@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); }
@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); }
@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); }
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); } }
@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); }
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; } }
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); }
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; }
@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()); }
@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); }
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; }