public STree(TreeModel model) { super(); setModel(model); setRootVisible(true); setSelectionModel(new SDefaultTreeSelectionModel()); installTransferHandler(); createActionMap(); }
/** * Creates a tree. * * @return the created tree. */ protected STree createSTree() { STree tree = new STree(); tree.setVerticalAlignment(SConstants.TOP_ALIGN); tree.setHorizontalAlignment(SConstants.LEFT_ALIGN); return tree; }
/** * Adds the specified mouse listener to receive mouse events from * this component. * If l is null, no exception is thrown and no action is performed. * * @param l the component listener. * @see org.wings.event.SMouseEvent * @see org.wings.event.SMouseListener * @see org.wings.STable#removeMouseListener */ public final void addMouseListener(SMouseListener l) { addEventListener(SMouseListener.class, l); }
private void writeTreeNode(STree component, Device device, int row, int depth) throws IOException { final TreePath path = component.getPathForRow(row); final STreeCellRenderer cellRenderer = component.getCellRenderer(); TreeModel model = component.getModel(); final boolean isLeaf = model.isLeaf(node); final boolean isExpanded = component.isExpanded(path); final boolean isSelected = component.isPathSelected(path); final boolean isSelectable = renderSelectableCells && (component.getSelectionModel() != SDefaultTreeSelectionModel.NO_SELECTION_MODEL); Object parentElement = component.isRootVisible() ? null : model.getRoot(); for (int i = component.isRootVisible() ? 0 : 1; i < pathElements.length; i++) { Object element = pathElements[i]; boolean lastElement = i == pathElements.length - 1; final String expansionParameter = STree.getExpansionParameter(row, false); Utils.printClickability(device, component, expansionParameter, true, component.getShowAsFormComponent()); Utils.optAttribute(device, "width", component.getNodeIndentDepth()); device.print(">"); final String selectionParameter = STree.getSelectionParameter(row, false) + ( Utils.isMac() ? ";shiftKey='+event.shiftKey+';ctrlKey='+event.altKey+'" : ";shiftKey='+event.shiftKey+';ctrlKey='+event.ctrlKey+'" ); Utils.printClickability(device, component, selectionParameter, true, component.getShowAsFormComponent()); Utils.optAttribute(device, "tabindex", component.getFocusTraversalIndex()); SCellRendererPane rendererPane = component.getCellRendererPane(); rendererPane.writeComponent(device, cellComp, component);
ConnectorHierarchyTreeModel treeModel = new ConnectorHierarchyTreeModel( connector); viewComponent.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); viewComponent.setModel(treeModel); viewComponent.setCellRenderer(new ConnectorTreeCellRenderer()); treeSelectionModelBinder.bindSelectionModel(connector, viewComponent); viewComponent.getModel().addTreeModelListener(new TreeModelListener() {
ConnectorHierarchyTreeModel treeModel = new ConnectorHierarchyTreeModel( connector); viewComponent.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); viewComponent.setModel(treeModel); viewComponent.setCellRenderer(new ConnectorTreeCellRenderer(viewDescriptor, locale)); treeSelectionModelBinder.bindSelectionModel(connector, viewComponent);
/** * {@inheritDoc} */ public void bindSelectionModel(IValueConnector rootConnector, STree tree) { tree.getSelectionModel().addTreeSelectionListener( genericSelectionModelListener); TreeConnectorsListener connectorsListener = new TreeConnectorsListener( rootConnector, tree.getSelectionModel()); tree.getModel().addTreeModelListener(connectorsListener); }
@Override public void installCG(final SComponent comp) { super.installCG(comp); final STree component = (STree) comp; final CGManager manager = component.getSession().getCGManager(); Object value = manager.getObject("STree.cellRenderer", STreeCellRenderer.class); if (value != null) { component.setCellRenderer((STreeCellRenderer) value); } value = manager.getObject("STree.nodeIndentDepth", Integer.class); if (value != null) { component.setNodeIndentDepth((Integer) value); } }
private void expandAll(final STree tree, final TreePath tp) { if (tp == null) { return; } Object node = tp.getLastPathComponent(); TreeModel model = tree.getModel(); if (!model.isLeaf(node)) { // Bug with duplicate nodes, when expanding parents of newly added nodes. // tree.expandPath(tp); for (int i = 0; i < model.getChildCount(node); i++) { expandAll(tree, tp.pathByAddingChild(model.getChild(node, i))); } } }
protected void fireTreeExpansionEvent(TreeExpansionEvent e, boolean expansion) { if (selectionModel.getDelayEvents()) { addDelayedExpansionEvent(e, expansion); } else { // Guaranteed to return a non-null array Object[] listeners = getListenerList(); // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == TreeExpansionListener.class) { if (expansion) ((TreeExpansionListener) listeners[i + 1]).treeExpanded(e); else ((TreeExpansionListener) listeners[i + 1]).treeCollapsed(e); } } fireViewportChanged(false); } }
/** * {@inheritDoc} */ public void bindSelectionModel(IValueConnector rootConnector, STree tree) { tree.getSelectionModel().addTreeSelectionListener( genericSelectionModelListener); TreeConnectorsListener connectorsListener = new TreeConnectorsListener( rootConnector, tree.getSelectionModel()); tree.getModel().addTreeModelListener(connectorsListener); }
sel, expanded, leaf, row, nodeHasFocus); if (value instanceof IValueConnector) { IValueConnector rootConnector = (IValueConnector) tree.getModel() .getRoot(); SIcon nodeIcon = null; getDescriptorPathFromConnectorTreePath(ConnectorTreeHelper .getTreePathForConnector((IValueConnector) tree .getModel().getRoot(), (IValueConnector) value))) .getNodeGroupDescriptor(); String labelKey = nodeGroupDescriptor.getName();
/** * Creates a tree. * * @return the created tree. */ protected STree createSTree() { STree tree = new STree(); tree.setVerticalAlignment(SConstants.TOP_ALIGN); tree.setHorizontalAlignment(SConstants.LEFT_ALIGN); return tree; }
/** * Adds the given <code>SViewportChangeListener</code> to the scrollable. * * @param l the listener to be added */ @Override public void addViewportChangeListener(SViewportChangeListener l) { addEventListener(SViewportChangeListener.class, l); }
/** * Adds a listener for <code>TreeWillExpand</code> events. * * @param tel a <code>TreeWillExpandListener</code> that will be notified * when a tree node will be expanded or collapsed (a "negative * expansion") */ public void addTreeWillExpandListener(TreeWillExpandListener tel) { addEventListener(TreeWillExpandListener.class, tel); }
public void addTreeSelectionListener(TreeSelectionListener tsl) { addEventListener(TreeSelectionListener.class, tsl); }
public void addTreeExpansionListener(TreeExpansionListener tel) { addEventListener(TreeExpansionListener.class, tel); }