@Override public void setSources(String... sources) { TreeItem[] items = tree.getSelection(); if (items.length < 1) return; TreeItem item = items[0]; if (lastSelectedItem == item) return; if (lastSelectedItem != null && !lastSelectedItem.isDisposed()) { lastSelectedItem.setBackground(new Color(getDisplay(), 255, 255, 255)); lastSelectedItem.setExpanded(false); lastSelectedItem.removeAll(); } lastSelectedItem = item; lastSelectedItem.setBackground(new Color(getDisplay(), 190, 190, 255)); if (sources == null || sources.length < 1) return; for (String source : sources) { item = new TreeItem(lastSelectedItem, SWT.NONE); item.setFont(UIDATA.FONT_9); int idx = source.indexOf('.'); if (idx > -1) source = source.substring(idx + 1); item.setText(source); } if (!lastSelectedItem.getExpanded()) lastSelectedItem.setExpanded(true); }
protected void refreshItem(TreeItem item, SelectableFeature feature) { item.setBackground(null); item.setFont(treeItemStandardFont); switch (feature.getAutomatic()) { case SELECTED: item.setGrayed(true); item.setForeground(null); item.setChecked(true); break; case UNSELECTED: item.setGrayed(true); item.setForeground(gray); item.setChecked(false); break; case UNDEFINED: item.setGrayed(false); item.setForeground(null); item.setChecked(feature.getManual() == Selection.SELECTED); break; } }
public void setSelectedCategory(String category) { if (category == null) return; if (lastSelectedItem != null && !lastSelectedItem.isDisposed()) { lastSelectedItem.setBackground(new Color(getDisplay(), 255, 255, 255)); lastSelectedItem.setExpanded(false); lastSelectedItem.removeAll(); lastSelectedItem = null; } TreeItem[] items = tree.getItems(); if (items == null || items.length < 1) return; TreeItem selectedItem = null; for (TreeItem item : items) { if (item.getText().equals(category)) { selectedItem = item; break; } } if (selectedItem == null) return; tree.setSelection(selectedItem); }