@Override public String getValue(TreeItem object) { String penImageResource = "<img src=\"" + JaggerResources.INSTANCE.getPencilImage().getSafeUri().asString() + "\" height=\"15\" width=\"15\">" + "<ins font-size='10px'>double click to edit</ins><br><br>"; String toShow; // Only for columns with data if (!field.equals(NAME)) { if (webClientProperties.isUserCommentEditAvailable()) { if (object.get(NAME).equals(USER_COMMENT)) { toShow = object.get(field).replaceAll("\n", "<br>"); return penImageResource + toShow; } } if (webClientProperties.isTagsAvailable()) { if (object.get(NAME).equals(SESSION_TAGS)) { toShow = object.get(field).replaceAll("\n", "<br>"); return penImageResource + toShow; } } } return object.get(field); }
private void setupGraphic() { TreeItem<DbTreeValue> treeItem = getTreeItem(); if (treeItem != null && treeItem.getGraphic() != null) { setGraphic(treeItem.getGraphic()); } else { setGraphic(null); } }
public static TreeItem getTreeItem(Tree tree, Object data) { for (TreeItem item : tree.getItems()) { if (item.getData() == data) { return item; } } return null; }
public void onDisconnectDb(ActionEvent ev) { TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem(); if (selectedItem == null) { return; } selectedItem.getValue().getMongoConnection().close(); removeFromRoot(selectedItem); }
private void addItemToStore(TreeItem record, SummarySingleDto metricDto) { TreeItem taskItem = getTestItem(metricDto.getMetricName().getTest()); for (TreeItem rec : treeStore.getChildren(taskItem)) { if (rec.getKey().equals(record.getKey())) { return; } } treeStore.add(taskItem, record); }
private Optional<DynamicTreeItem> findParentOfType( TreeItem<DbTreeValue> selectedItem, Class<DynamicTreeItem> class1) { if (selectedItem == null) { return Optional.empty(); } if (class1.isAssignableFrom(selectedItem.getClass())) { return Optional.of((DynamicTreeItem) selectedItem); } return findParentOfType(selectedItem.getParent(), class1); }
public static int getColumnAtPos(TreeItem item, int x, int y) { int columnCount = item.getParent().getColumnCount(); for (int i = 0; i < columnCount; i++) { Rectangle rect = item.getBounds(i); if (rect.contains(x, y)) { return i; } } return -1; }
public void removeTestInfo(TaskDataDto test) { String id = getTestItemId(test); TreeItem testItem = treeStore.findModelWithKey(id); if (testItem == null) { return; } TreeItem testInfo = treeStore.getFirstChild(testItem); if (testInfo != null && TEST_INFO.equals(testInfo.get(NAME))) removeWithParent(testInfo); }
private TreeItem getTestDescriptionItem(String descriptionStr) { for (TreeItem item : treeStore.getRootItems()) { if (descriptionStr.equals(item.get(NAME))) { return item; } } TreeItem description = new TreeItem(descriptionStr); description.put(NAME, descriptionStr); treeStore.add(description); return description; }
public static void packColumns(@NotNull Tree tree, boolean fit, @Nullable float[] ratios) { tree.setRedraw(false); try { // Check for disposed items // TODO: it looks like SWT error. Sometimes tree items are disposed and NPE is thrown from // column.pack for (TreeItem item : tree.getItems()) { if (item.isDisposed()) { return; } } int totalWidth = 0; final TreeColumn[] columns = tree.getColumns(); for (TreeColumn column : columns) { column.pack(); totalWidth += column.getWidth(); } Rectangle clientArea = tree.getClientArea(); if (clientArea.isEmpty()) { return; } if (fit) { int areaWidth = clientArea.width; if (tree.getVerticalBar() != null) { areaWidth -= tree.getVerticalBar().getSize().x; } if (totalWidth > areaWidth) { int extraSpace = totalWidth - areaWidth; for (TreeColumn tc : columns) { double ratio = (double) tc.getWidth() / totalWidth; tc.setWidth((int) (tc.getWidth() - extraSpace * ratio)); } } else if (totalWidth < areaWidth) { float extraSpace = areaWidth - totalWidth; if (columns.length > 0) { if (ratios == null || ratios.length < columns.length) { extraSpace /= columns.length; extraSpace--; for (TreeColumn tc : columns) { tc.setWidth((int) (tc.getWidth() + extraSpace)); } } else { for (int i = 0; i < columns.length; i++) { TreeColumn tc = columns[i]; tc.setWidth((int) (tc.getWidth() + extraSpace * ratios[i])); } } } } } } finally { tree.setRedraw(true); } }
public void compactWithChildIfOnlyOneChild() { if (branches.size() == 1) { TreeItem child = branches.get(0); if (!child.isTest()) { name += "." + child.name; fullName += "." + child.name; branches = child.branches; compactWithChildIfOnlyOneChild(); } } }
private void buildCollectionDetail(MongoDatabase db, TreeItem<DbTreeValue> ti) { DbTreeValue indexCategory = new DbTreeValue(db, "Indexes", TreeValueType.CATEGORY); indexCategory.setCollectionName(ti.getValue().getDisplayValue()); ti.getChildren() .add( new DynamicTreeItem( indexCategory, new FontAwesomeIconView(FontAwesomeIcon.FOLDER), executor, popupService, this::buildIndexes)); }
private void removeRecord(SummarySingleDto metric) { TreeItem testItem = getTestItem(metric.getMetricName().getTest()); String key = testItem.getKey() + metric.getMetricName().getMetricName(); for (TreeItem item : treeStore.getChildren(testItem)) { if (item.getKey().equals(key)) { removeWithParent(item); return; } } }
void doRecursive(RecursiveTreeMethod method, int level) { if (method.shouldDoItemBeforeBranches() && (level != 0)) { method.doMethod(this); } for (TreeItem branch : branches) { branch.doRecursive(method, level + 1); } if (!method.shouldDoItemBeforeBranches() && (level != 0)) { method.doMethod(this); } }
@Test public void testPackRespectSubItems() { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("Item 0"); TreeItem subitem = new TreeItem(item, SWT.NONE); subitem.setText("Subitem 0.0"); column.pack(); int columnWidth = column.getWidth(); item.setExpanded(true); column.pack(); assertTrue(column.getWidth() > columnWidth); }
public void treeViewClicked(MouseEvent ev) { if (ev.getClickCount() == 2) { // don't process click on triangle EventTarget target = ev.getTarget(); if (target instanceof Node && !"arrow".equals(((Node) target).getStyleClass())) { TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem(); if (selectedItem != null && selectedItem.getValue().getValueType() == TreeValueType.COLLECTION) { mainFrameController.openTab(); ev.consume(); } } } }
void addItem(String[] itemPath, int currentIndex) { if (currentIndex < itemPath.length) { // special case for this tree only, that all the titles should be organised before we start. if (nameSameAsLastName(itemPath[currentIndex])) { branches.get(branches.size() - 1).addItem(itemPath, ++currentIndex); } else { String branchName = itemPath[currentIndex]; String branchFullName = fullName; branchFullName += (fullName.length() > 0) ? "." + branchName : branchName; TreeItem branch = new TreeItem(branchName, branchFullName); branches.add(branch); branch.addItem(itemPath, ++currentIndex); } } }
private void makeTree(List<String> pageList) { for (String pageName : pageList) { String[] splits = pageName.split("\\."); treeRoot.addItem(splits, 0); } compactTree(); }
// clear everything but Session Information public void clearTreeStore() { for (TreeItem root : treeStore.getRootItems()) { if (root.getKey().equals(SESSION_INFO_ID)) { continue; } for (TreeItem test : treeStore.getChildren(root)) { for (TreeItem item : treeStore.getChildren(test)) { if (TEST_INFO.equals(item.get(NAME))) { continue; } removeWithParent(item); } } } }
private TreeItem getTestItem(TaskDataDto tdd) { String key = getTestItemId(tdd); TreeItem taskItem = treeStore.findModelWithKey(key); if (taskItem != null) { return taskItem; } TreeItem description = getTestDescriptionItem(tdd.getDescription()); taskItem = new TreeItem(key); taskItem.put(NAME, getTestItemName(tdd)); taskItem.put(TEST_DESCRIPTION, tdd.getDescription()); treeStore.add(description, taskItem); return taskItem; }
private void buildLessonTree(Response response) { TreeItem item = null; JsArray<LessonCategoryJS> lessonJSArray = JsonUtils.safeEval(response.getText()); for (int i = 0; i < lessonJSArray.length(); i++) { LessonCategoryJS lessonCategoryJS = lessonJSArray.get(i); TreeItem category = new TreeItem(); category.setText(lessonCategoryJS.getName()); JsArray<LessonJS> lessons = lessonCategoryJS.getChildren(); for (int j = 0; j < lessons.length(); j++) { LessonJS lesson = lessons.get(j); TreeItem lessonItem = new TreeItem(); Storage sessionStorage = Storage.getSessionStorageIfSupported(); String lastUrl = sessionStorage.getItem("lastUrl"); lessonItem.setText(lesson.getText()); category.addItem(lessonItem); lessonsTreeMap.put(lessonItem.getText(), lesson); if (lesson.getTechnology().equals(LessonTechnology.GWT.toString())) { addLessonToMap(lesson); } if (lastUrl != null && lastUrl.equals(lesson.getUrl())) { item = lessonItem; lessonPanel.setSelectedLesson(lesson); category.setState(true); } } lessonTree.addItem(category); } lessonTree.setSelectedItem(item); }
static TreeItem PreviousItem(Tree tree, TreeItem item) { if (item == null) return null; TreeItem childItem = item; TreeItem parentItem = childItem.getParentItem(); int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem); if (index == 0) { return parentItem; } else { TreeItem nextItem = parentItem == null ? tree.getItem(index - 1) : parentItem.getItem(index - 1); int count = nextItem.getItemCount(); while (count > 0 && nextItem.getExpanded()) { nextItem = nextItem.getItem(count - 1); count = nextItem.getItemCount(); } return nextItem; } }
public static <DO> DO findDataObjectInPath(TreeItem treeItem, Class<DO> doClass) { Iterator itr = treeItem.iterator(); while (itr.hasNext()) { Object dataObj = itr.next(); if (doClass.isInstance(dataObj)) { return doClass.cast(dataObj); } } return null; }
private void compactTree() { RecursiveTreeMethod compactBranch = new RecursiveTreeMethod() { @Override public void doMethod(TreeItem item) { item.compactWithChildIfOnlyOneChild(); } }; treeRoot.doRecursive(compactBranch, 0); }
private void onReanameCollection(ActionEvent actionEvent) { TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem(); if (selectedItem == null) { return; } DbTreeValue value = selectedItem.getValue(); TextInputDialog dialog = new TextInputDialog(value.getDisplayValue()); dialog.setContentText("New collection name:"); dialog.setHeaderText("Rename collection"); dialog .showAndWait() .ifPresent( targetCollection -> { MongoCollection<Document> collection = value.getMongoDatabase().getMongoDb().getCollection(value.getDisplayValue()); collection.renameCollection( new MongoNamespace(value.getMongoDatabase().getName(), targetCollection)); ((DynamicTreeItem) selectedItem.getParent()).reload(); }); }
public boolean equals(Object obj) { if (!obj.getClass().equals(this.getClass())) return false; StateTreeString s = (StateTreeString) obj; boolean ans = (state.equals(s.state) && i.equals(s.i) && o.equals(s.o) && align[0] == s.align[0] && align[1] == s.align[1] && align[2] == s.align[2] && align[3] == s.align[3]); return ans; }
public void findLatestResults(final File historyDirectory) { RecursiveTreeMethod findLatestResult = new RecursiveTreeMethod() { @Override public void doMethod(TreeItem item) { if (item.isTest()) { File directory = new File(historyDirectory, item.fullName); MostRecentPageHistoryReader reader = new MostRecentPageHistoryReader(directory); item.result = reader.findMostRecentTestRun(); } } }; treeRoot.doRecursive(findLatestResult, 0); }
public void onCreateNewDb(ActionEvent ev) { TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem(); if (selectedItem == null || selectedItem.getValue().getValueType() != TreeValueType.CONNECTION) { return; } TextInputDialog dialog = new TextInputDialog(); dialog.setContentText("Enter Name:"); dialog.setHeaderText("Create new db"); dialog .showAndWait() .ifPresent( r -> selectedItem .getChildren() .add( createDbItem( selectedItem .getValue() .getMongoConnection() .createMongoDB(dialog.getResult())))); }
public void writeDataToExcel(Sheet sheet) { LOGGER.debug("[{}] Exporting data to excel", getText()); List<ExcelColumnRenderer> columnRendererList = new ArrayList<>(); columnRendererList.add(new TaskStatusExcelColumn()); columnRendererList.add(new TaskDescriptionExcelColumn()); TimerangeProvider timerangeProvider = fetchTimereportContext.get().getTimerangeProvider(); LocalDate startDate = timerangeProvider.getStartDate(); LocalDate endDate = timerangeProvider.getEndDate(); long amountOfDaysToDisplay = ChronoUnit.DAYS.between(startDate, endDate); for (int days = 0; days <= amountOfDaysToDisplay; days++) { LocalDate currentColumnDate = timerangeProvider.getStartDate().plus(days, ChronoUnit.DAYS); String displayDate = FormattingUtil.formatDate(currentColumnDate); columnRendererList.add(new WorklogExcelColumn(displayDate, currentColumnDate)); } columnRendererList.add(new TaskWorklogSummaryExcelColumn()); TreeItem<DisplayRow> root = taskTableView.getRoot(); ObservableList<TreeItem<DisplayRow>> children = root.getChildren(); for (int columnIndex = 0; columnIndex < columnRendererList.size(); columnIndex++) { ExcelColumnRenderer excelColumnRenderer = columnRendererList.get(columnIndex); excelColumnRenderer.renderCells( columnIndex, sheet, children, fetchTimereportContext.get().getGroupByCategory().isPresent()); } // autosize column widths for (int i = 0; i < columnRendererList.size(); i++) { sheet.autoSizeColumn(i); } }
public void countResults() { RecursiveTreeMethod countResults = new RecursiveTreeMethod() { @Override public boolean shouldDoItemBeforeBranches() { return false; } @Override public void doMethod(TreeItem item) { item.calculateResults(); } }; treeRoot.doRecursive(countResults, 0); }