Example usage for org.apache.wicket.extensions.markup.html.repeater.tree.table TreeColumn TreeColumn

List of usage examples for org.apache.wicket.extensions.markup.html.repeater.tree.table TreeColumn TreeColumn

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.repeater.tree.table TreeColumn TreeColumn.

Prototype

public TreeColumn(IModel<String> displayModel) 

Source Link

Document

Construct.

Usage

From source file:com.evolveum.midpoint.web.page.admin.orgs.OrgTreePanel.java

License:Apache License

private void initLayout() {
    WebMarkupContainer treeHeader = new WebMarkupContainer(ID_TREE_HEADER);
    treeHeader.setOutputMarkupId(true);/*from   w  w w . j  a  va 2  s. c o m*/
    add(treeHeader);

    String title = StringUtils.isEmpty(treeTitleKey) ? "TreeTablePanel.hierarchy" : treeTitleKey;
    Label treeTitle = new Label(ID_TREE_TITLE, createStringResource(title));
    treeHeader.add(treeTitle);

    InlineMenu treeMenu = new InlineMenu(ID_TREE_MENU, new Model<>((Serializable) createTreeMenuInternal()));
    treeHeader.add(treeMenu);

    ISortableTreeProvider provider = new OrgTreeProvider(this, getModel()) {
        @Override
        protected List<InlineMenuItem> createInlineMenuItems() {
            return createTreeChildrenMenu();
        }
    };
    List<IColumn<SelectableBean<OrgType>, String>> columns = new ArrayList<>();

    if (selectable) {
        columns.add(new CheckBoxHeaderColumn<SelectableBean<OrgType>>());
    }

    columns.add(
            new TreeColumn<SelectableBean<OrgType>, String>(createStringResource("TreeTablePanel.hierarchy")));
    columns.add(new InlineMenuHeaderColumn(createTreeChildrenMenu()));

    WebMarkupContainer treeContainer = new WebMarkupContainer(ID_TREE_CONTAINER) {

        @Override
        public void renderHead(IHeaderResponse response) {
            super.renderHead(response);

            // method computes height based on document.innerHeight() -
            // screen height;
            Component form = OrgTreePanel.this.getParent().get("memberPanel");
            if (form != null) {
                response.render(OnDomReadyHeaderItem
                        .forScript("updateHeight('" + getMarkupId() + "', ['#" + form.getMarkupId() + "'], ['#"
                                + OrgTreePanel.this.get(ID_TREE_HEADER).getMarkupId() + "'])"));
            }
        }
    };
    add(treeContainer);

    TableTree<SelectableBean<OrgType>, String> tree = new TableTree<SelectableBean<OrgType>, String>(ID_TREE,
            columns, provider, Integer.MAX_VALUE, new TreeStateModel(this, provider)) {

        @Override
        protected Component newContentComponent(String id, IModel<SelectableBean<OrgType>> model) {
            return new SelectableFolderContent(id, this, model, selected) {

                @Override
                protected void onClick(AjaxRequestTarget target) {
                    super.onClick(target);

                    MidPointAuthWebSession session = OrgTreePanel.this.getSession();
                    SessionStorage storage = session.getSessionStorage();
                    storage.getUsers().setSelectedItem(selected.getObject());

                    selectTreeItemPerformed(selected.getObject(), target);
                }
            };
        }

        @Override
        protected Item<SelectableBean<OrgType>> newRowItem(String id, int index,
                final IModel<SelectableBean<OrgType>> model) {
            Item<SelectableBean<OrgType>> item = super.newRowItem(id, index, model);
            item.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    SelectableBean<OrgType> itemObject = model.getObject();
                    if (itemObject != null && itemObject.equals(selected.getObject())) {
                        return "success";
                    }

                    return null;
                }
            }));
            return item;
        }

        @Override
        public void collapse(SelectableBean<OrgType> collapsedItem) {
            super.collapse(collapsedItem);
            MidPointAuthWebSession session = OrgTreePanel.this.getSession();
            SessionStorage storage = session.getSessionStorage();
            Set<SelectableBean<OrgType>> items = storage.getUsers().getExpandedItems();
            if (items != null && items.contains(collapsedItem)) {
                items.remove(collapsedItem);
            }
            storage.getUsers().setExpandedItems((TreeStateSet) items);
            storage.getUsers().setCollapsedItem(collapsedItem);
        }

        @Override
        protected void onModelChanged() {
            super.onModelChanged();

            Set<SelectableBean<OrgType>> items = getModelObject();

            MidPointAuthWebSession session = OrgTreePanel.this.getSession();
            SessionStorage storage = session.getSessionStorage();
            storage.getUsers().setExpandedItems((TreeStateSet<SelectableBean<OrgType>>) items);
        }
    };
    tree.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
    tree.getTable().add(AttributeModifier.replace("class", "table table-striped table-condensed"));
    tree.add(new WindowsTheme());
    // tree.add(AttributeModifier.replace("class", "tree-midpoint"));
    treeContainer.add(tree);
}

From source file:com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.java

License:Apache License

@Override
protected void initLayout() {
    add(new ConfirmationDialog(ID_CONFIRM_DELETE_POPUP,
            createStringResource("TreeTablePanel.dialog.title.confirmDelete"), createDeleteConfirmString()) {

        @Override/*  w w  w .  ja v a2 s  .c  om*/
        public void yesPerformed(AjaxRequestTarget target) {
            close(target);

            switch (getConfirmType()) {
            case CONFIRM_DELETE:
                deleteConfirmedPerformed(target);
                break;
            case CONFIRM_DELETE_ROOT:
                deleteRootConfirmedPerformed(target);
                break;
            }

        }
    });

    add(new OrgUnitBrowser(ID_MOVE_POPUP) {

        @Override
        protected void createRootPerformed(AjaxRequestTarget target) {
            moveConfirmedPerformed(target, null, null, Operation.MOVE);
        }

        @Override
        protected void rowSelected(AjaxRequestTarget target, IModel<OrgTableDto> row, Operation operation) {
            moveConfirmedPerformed(target, selected.getObject(), row.getObject(), operation);
        }

        @Override
        public ObjectQuery createRootQuery() {
            ArrayList<String> oids = new ArrayList<String>();
            ObjectQuery query = new ObjectQuery();

            if (isMovingRoot() && getRootFromProvider() != null) {
                oids.add(getRootFromProvider().getOid());
            }

            //Selection from table, but only if we are not moving root
            if (!isMovingRoot()) {
                oids.remove(getRootFromProvider().getOid());

                List<OrgTableDto> objects = WebMiscUtil.getSelectedData(getTable());
                if (!objects.isEmpty()) {
                    for (OrgTableDto dto : objects) {
                        oids.add(dto.getOid());

                        //TODO - uncomment this, if parentOrgOid filtering is also required (see issue MID-1780)
                        //oids.addAll(getOrgParentOids(dto.getOid()));
                    }
                }
            }

            if (oids.isEmpty()) {
                return null;
            }

            ObjectFilter oidFilter = InOidFilter.createInOid(oids);
            query.setFilter(NotFilter.createNot(oidFilter));

            return query;
        }
    });

    add(new OrgUnitAddDeletePopup(ID_ADD_DELETE_POPUP) {

        @Override
        public void addPerformed(AjaxRequestTarget target, OrgType selected) {
            addOrgUnitToUserPerformed(target, selected);
        }

        @Override
        public void removePerformed(AjaxRequestTarget target, OrgType selected) {
            removeOrgUnitToUserPerformed(target, selected);
        }

        @Override
        public ObjectQuery getAddProviderQuery() {
            return null;
        }

        @Override
        public ObjectQuery getRemoveProviderQuery() {
            return null;
        }
    });

    WebMarkupContainer treeHeader = new WebMarkupContainer(ID_TREE_HEADER);
    treeHeader.setOutputMarkupId(true);
    add(treeHeader);

    InlineMenu treeMenu = new InlineMenu(ID_TREE_MENU, new Model((Serializable) createTreeMenu()));
    treeHeader.add(treeMenu);

    ISortableTreeProvider provider = new OrgTreeProvider(this, getModel());
    List<IColumn<OrgTreeDto, String>> columns = new ArrayList<IColumn<OrgTreeDto, String>>();
    columns.add(new TreeColumn<OrgTreeDto, String>(createStringResource("TreeTablePanel.hierarchy")));

    WebMarkupContainer treeContainer = new WebMarkupContainer(ID_TREE_CONTAINER) {

        @Override
        public void renderHead(IHeaderResponse response) {
            super.renderHead(response);

            //method computes height based on document.innerHeight() - screen height;
            response.render(OnDomReadyHeaderItem.forScript(
                    "updateHeight('" + getMarkupId() + "', ['#" + TreeTablePanel.this.get(ID_FORM).getMarkupId()
                            + "'], ['#" + TreeTablePanel.this.get(ID_TREE_HEADER).getMarkupId() + "'])"));
        }
    };
    add(treeContainer);

    TableTree<OrgTreeDto, String> tree = new TableTree<OrgTreeDto, String>(ID_TREE, columns, provider,
            Integer.MAX_VALUE, new TreeStateModel(provider)) {

        @Override
        protected Component newContentComponent(String id, IModel<OrgTreeDto> model) {
            return new SelectableFolderContent(id, this, model, selected) {

                @Override
                protected void onClick(AjaxRequestTarget target) {
                    super.onClick(target);

                    selectTreeItemPerformed(target);
                }
            };
        }

        @Override
        protected Item<OrgTreeDto> newRowItem(String id, int index, final IModel<OrgTreeDto> model) {
            Item item = super.newRowItem(id, index, model);
            item.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    OrgTreeDto itemObject = model.getObject();
                    if (itemObject != null && itemObject.equals(selected.getObject())) {
                        return "success";
                    }

                    return null;
                }
            }));
            return item;
        }
    };
    tree.getTable().add(AttributeModifier.replace("class", "table table-striped table-condensed"));
    tree.add(new WindowsTheme());
    //        tree.add(AttributeModifier.replace("class", "tree-midpoint"));
    treeContainer.add(tree);

    initTable();
    initSearch();
}

From source file:com.norconex.jefmon.instance.tree.JobsTableTree.java

License:Apache License

private static List<IColumn<JobStatusTreeNode, Void>> createColumns() {
    List<IColumn<JobStatusTreeNode, Void>> columns = new ArrayList<IColumn<JobStatusTreeNode, Void>>();
    columns.add(new TreeColumn<JobStatusTreeNode, Void>(new ResourceModel("col.job")));
    columns.add(new ProgressColumn(new ResourceModel("col.progress")));
    columns.add(new StatusColumn(new ResourceModel("col.status")));
    columns.add(new DateStartedColumn(new ResourceModel("col.started")));
    columns.add(new DurationColumn(new ResourceModel("col.duration")));
    columns.add(new RemainingColumn(new ResourceModel("col.remaining")));
    columns.add(new PropertyColumn<JobStatusTreeNode, Void>(new ResourceModel("col.note"), "note"));

    columns.add(new ActionsColumn(new ResourceModel("col.actions")));

    return columns;
}

From source file:nl.mpi.lamus.web.components.UnlinkedNodesPanel.java

License:Open Source License

private List<IColumn<WorkspaceTreeNode, String>> createColumns() {

    List<IColumn<WorkspaceTreeNode, String>> columns = new ArrayList<>();

    columns.add(new TreeColumn<WorkspaceTreeNode, String>(
            Model.of(getLocalizer().getString("unlinked_nodes_table_column_node", this))));

    columns.add(new PropertyColumn<WorkspaceTreeNode, String>(
            Model.of(getLocalizer().getString("unlinked_nodes_table_column_type", this)), "type"));

    columns.add(new PropertyColumn<WorkspaceTreeNode, String>(
            Model.of(getLocalizer().getString("unlinked_nodes_table_column_status", this)), "statusAsString"));

    columns.add(new AbstractColumn<WorkspaceTreeNode, String>(Model.of("")) {

        @Override/*  www.  j  a  va 2s.  c om*/
        public void populateItem(Item<ICellPopulator<WorkspaceTreeNode>> cellItem, String componentId,
                IModel<WorkspaceTreeNode> model) {

            if (model.getObject().getParent() != null) {
                cellItem.add(new Label(componentId).setVisible(false));
                return;
            }

            AjaxLink<WorkspaceTreeNode> deleteLink = new AutoDisablingAjaxLink<WorkspaceTreeNode>(componentId,
                    model) {

                @Override
                public void onClick(AjaxRequestTarget target) {

                    try {
                        workspaceService.deleteNode(LamusSession.get().getUserId(), getModelObject());

                        target.add(UnlinkedNodesPanel.this);

                    } catch (WorkspaceException | ProtectedNodeException ex) {
                        error(ex.getMessage());
                    }
                }

            };
            deleteLink.setBody(Model.of(getLocalizer().getString("unlinked_nodes_table_column_remove_button",
                    UnlinkedNodesPanel.this)));
            deleteLink.add(AttributeModifier.append("class", new Model<>("tableActionLink")));
            cellItem.add(deleteLink);
        }
    });

    return columns;
}

From source file:org.onehippo.forge.exdocpicker.impl.field.tree.ExternalTreeItemFieldBrowserDialog.java

License:Apache License

private List<IColumn<Serializable, String>> createColumns() {
    List<IColumn<Serializable, String>> columns = new ArrayList<>();
    columns.add(new TreeColumn<>(Model.of("Tree")));
    return columns;
}

From source file:org.onexus.ui.api.progressbar.ProgressBar.java

License:Apache License

public ProgressBar(String id) {
    super(id);//from w w w .  j a va2 s  .  co m

    provider = new ProgressTreeProvider();
    treeState = new ProgressExpansionModel();

    setOutputMarkupId(true);

    final WebMarkupContainer modal = new WebMarkupContainer("modal") {

        @Override
        protected void onBeforeRender() {
            addOrReplace(new DefaultTableTree<Progress, String>("tree", columns, provider, Integer.MAX_VALUE,
                    treeState).setOutputMarkupId(true));
            super.onBeforeRender();
        }
    };

    final WebMarkupContainer minimized = new WebMarkupContainer("minimized");
    minimized.setOutputMarkupId(true);
    add(minimized);

    final WebMarkupContainer logDetails = new WebMarkupContainer("log-details");
    logDetails.setOutputMarkupId(true);
    logDetails.add(new EmptyPanel("logs"));
    modal.add(logDetails);

    modal.add(new AjaxLink<String>("refresh") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.add(modal.get("tree"));
        }
    });

    modal.setMarkupId("taskmanagerModal");
    add(modal);

    minimized.add(new AjaxLink<String>("show") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.add(modal);
            target.add(minimized);
            target.appendJavaScript("$('#taskmanagerModal').modal('show')");
        }
    });

    this.columns = new ArrayList<IColumn<Progress, String>>();
    columns.add(new TreeColumn<Progress, String>(Model.of("task")));
    columns.add(new PropertyColumn<Progress, String>(Model.of("title"), "title"));
    columns.add(new StatusColumn());
    columns.add(new LogsColumn() {

        @Override
        protected void showLogs(Progress progress, AjaxRequestTarget target) {
            logDetails.addOrReplace(new Label("logs", toLogsString(progress)));
            target.add(logDetails);
        }
    });

}

From source file:org.projectforge.plugins.skillmatrix.SkillTreeBuilder.java

License:Open Source License

/**
 * @return/*from www  .  j av  a 2 s  . c  o m*/
 */
@SuppressWarnings("serial")
private List<IColumn<SkillNode, String>> createColumns() {
    final CellItemListener<SkillNode> cellItemListener = new CellItemListener<SkillNode>() {
        public void populateItem(final Item<ICellPopulator<SkillNode>> item, final String componentId,
                final IModel<SkillNode> rowModel) {
            final SkillNode skillNode = rowModel.getObject();
            SkillListPage.appendCssClasses(item, skillNode.getSkill(), highlightedSkillNodeId);
        }
    };

    final List<IColumn<SkillNode, String>> columns = new ArrayList<IColumn<SkillNode, String>>();

    final TreeColumn<SkillNode, String> title = new TreeColumn<SkillNode, String>(
            new ResourceModel("plugins.skillmatrix.skill.title")) {
        @Override
        public void populateItem(final Item<ICellPopulator<SkillNode>> cellItem, final String componentId,
                final IModel<SkillNode> rowModel) {
            final RepeatingView view = new RepeatingView(componentId);
            cellItem.add(view);
            final SkillNode skillNode = rowModel.getObject();
            if (selectMode == false) {
                view.add(new ListSelectActionPanel(view.newChildId(), rowModel, SkillEditPage.class,
                        skillNode.getId(), parentPage, ""));
            } else {
                view.add(new ListSelectActionPanel(view.newChildId(), rowModel, caller, selectProperty,
                        skillNode.getId(), ""));
            }
            AbstractListPage.addRowClick(cellItem);
            final NodeModel<SkillNode> nodeModel = (NodeModel<SkillNode>) rowModel;
            final Component nodeComponent = getTree().newNodeComponent(view.newChildId(),
                    nodeModel.getWrappedModel());
            nodeComponent.add(new NodeBorder(nodeModel.getBranches()));
            view.add(nodeComponent);
            cellItemListener.populateItem(cellItem, componentId, rowModel);
        }
    };

    final CellItemListenerPropertyColumn<SkillNode> created = new CellItemListenerPropertyColumn<SkillNode>(
            new ResourceModel("created"), null, "skill.created", cellItemListener);

    final CellItemListenerPropertyColumn<SkillNode> lastUpdate = new CellItemListenerPropertyColumn<SkillNode>(
            new ResourceModel("lastUpdate"), null, "skill.lastUpdate", cellItemListener);

    final CellItemListenerPropertyColumn<SkillNode> description = new CellItemListenerPropertyColumn<SkillNode>(
            new ResourceModel("plugins.skillmatrix.skill.description"), null, "skill.description",
            cellItemListener);

    final CellItemListenerPropertyColumn<SkillNode> comment = new CellItemListenerPropertyColumn<SkillNode>(
            new ResourceModel("plugins.skillmatrix.skill.comment"), null, "skill.comment", cellItemListener);

    final CellItemListenerPropertyColumn<SkillNode> rateable = new CellItemListenerPropertyColumn<SkillNode>(
            new ResourceModel("plugins.skillmatrix.skill.rateable"), null, "skill.rateable", cellItemListener);

    columns.add(title);
    columns.add(description);
    columns.add(comment);
    columns.add(rateable);
    columns.add(created);
    columns.add(lastUpdate);

    return columns;
}

From source file:org.projectforge.web.task.TaskTreeBuilder.java

License:Open Source License

/**
 * @return//ww w  .  j  av  a2  s. co m
 */
@SuppressWarnings("serial")
private List<IColumn<TaskNode, String>> createColumns() {
    final TaskTree taskTree = getTaskTree();
    final CellItemListener<TaskNode> cellItemListener = new CellItemListener<TaskNode>() {
        public void populateItem(final Item<ICellPopulator<TaskNode>> item, final String componentId,
                final IModel<TaskNode> rowModel) {
            final TaskNode taskNode = rowModel.getObject();
            TaskListPage.appendCssClasses(item, taskNode.getTask(), highlightedTaskNodeId);
        }
    };
    final List<IColumn<TaskNode, String>> columns = new ArrayList<IColumn<TaskNode, String>>();

    columns.add(new TreeColumn<TaskNode, String>(new ResourceModel("task")) {
        @Override
        public void populateItem(final Item<ICellPopulator<TaskNode>> cellItem, final String componentId,
                final IModel<TaskNode> rowModel) {
            final RepeatingView view = new RepeatingView(componentId);
            cellItem.add(view);
            final TaskNode taskNode = rowModel.getObject();
            if (selectMode == false) {
                view.add(new ListSelectActionPanel(view.newChildId(), rowModel, TaskEditPage.class,
                        taskNode.getId(), parentPage, ""));
            } else {
                view.add(new ListSelectActionPanel(view.newChildId(), rowModel, caller, selectProperty,
                        taskNode.getId(), ""));
            }
            AbstractListPage.addRowClick(cellItem);
            final NodeModel<TaskNode> nodeModel = (NodeModel<TaskNode>) rowModel;
            final Component nodeComponent = getTree().newNodeComponent(view.newChildId(),
                    nodeModel.getWrappedModel());
            nodeComponent.add(new NodeBorder(nodeModel.getBranches()));
            view.add(nodeComponent);
            cellItemListener.populateItem(cellItem, componentId, rowModel);
        }
    });
    columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("task.consumption"), null,
            "task", cellItemListener) {
        @Override
        public void populateItem(final Item<ICellPopulator<TaskNode>> item, final String componentId,
                final IModel<TaskNode> rowModel) {
            final TaskNode node = rowModel.getObject();
            item.add(TaskListPage.getConsumptionBarPanel(tree, componentId, getTaskTree(), selectMode, node));
            cellItemListener.populateItem(item, componentId, rowModel);
        }
    });
    if (showCost == true) {
        columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("fibu.kost2"), null,
                "task.kost2", cellItemListener) {
            @Override
            public void populateItem(final Item<ICellPopulator<TaskNode>> item, final String componentId,
                    final IModel<TaskNode> rowModel) {
                final Label label = TaskListPage.getKostLabel(componentId, getTaskTree(),
                        rowModel.getObject().getTask());
                item.add(label);
                cellItemListener.populateItem(item, componentId, rowModel);
            }
        });
    }
    if (taskTree.hasOrderPositionsEntries() == true && showOrders == true) {
        columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("fibu.auftrag.auftraege"),
                null, null, cellItemListener) {
            @Override
            public void populateItem(final Item<ICellPopulator<TaskNode>> item, final String componentId,
                    final IModel<TaskNode> rowModel) {
                final TaskNode taskNode = rowModel.getObject();
                final Set<AuftragsPositionVO> orderPositions = taskTree
                        .getOrderPositionEntries(taskNode.getId());
                if (CollectionUtils.isEmpty(orderPositions) == true) {
                    final Label label = new Label(componentId, ""); // Empty label.
                    item.add(label);
                } else {
                    final OrderPositionsPanel orderPositionsPanel = new OrderPositionsPanel(componentId) {
                        @Override
                        protected void onBeforeRender() {
                            super.onBeforeRender();
                            // Lazy initialization because getString(...) of OrderPositionsPanel fails if panel.init(orderPositions) is called directly
                            // after instantiation.
                            init(orderPositions);
                        };
                    };
                    item.add(orderPositionsPanel);
                }
                cellItemListener.populateItem(item, componentId, rowModel);
            }
        });
    }
    columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("shortDescription"), null,
            "task.shortDescription", cellItemListener));
    if (accessChecker.isLoggedInUserMemberOfGroup(ProjectForgeGroup.FINANCE_GROUP) == true) {
        columns.add(new DatePropertyColumn<TaskNode>(dateTimeFormatter,
                parentPage.getString("task.protectTimesheetsUntil.short"), null, "task.protectTimesheetsUntil",
                cellItemListener));
    }
    columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("task.reference"), null,
            "reference", cellItemListener));
    columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("priority"), null, "priority",
            cellItemListener) {
        @Override
        public void populateItem(final Item<ICellPopulator<TaskNode>> item, final String componentId,
                final IModel<TaskNode> rowModel) {
            final Label label = TaskListPage.getPriorityLabel(componentId, priorityFormatter,
                    rowModel.getObject().getTask());
            item.add(label);
            cellItemListener.populateItem(item, componentId, rowModel);
        }
    });
    columns.add(new CellItemListenerPropertyColumn<TaskNode>(new ResourceModel("task.status"), null, "status",
            cellItemListener) {
        @Override
        public void populateItem(final Item<ICellPopulator<TaskNode>> item, final String componentId,
                final IModel<TaskNode> rowModel) {
            final Label label = TaskListPage.getStatusLabel(componentId, taskFormatter,
                    rowModel.getObject().getTask());
            item.add(label);
            cellItemListener.populateItem(item, componentId, rowModel);
        }
    });
    final UserPropertyColumn<TaskNode> userPropertyColumn = new UserPropertyColumn<TaskNode>(
            parentPage.getString("task.assignedUser"), null, "task.responsibleUserId", cellItemListener)
                    .withUserFormatter(userFormatter).setUserGroupCache(userGroupCache);
    columns.add(userPropertyColumn);
    return columns;
}

From source file:wicketdnd.examples.TableTreeExample.java

License:Apache License

private List<IColumn<Foo, String>> columns() {
    List<IColumn<Foo, String>> columns = new ArrayList<IColumn<Foo, String>>();

    columns.add(new TreeColumn<Foo, String>(Model.of("Name")));
    columns.add(new PropertyColumn<Foo, String>(Model.of("Name"), "name"));

    return columns;
}