Example usage for org.apache.wicket.extensions.breadcrumb IBreadCrumbModel addListener

List of usage examples for org.apache.wicket.extensions.breadcrumb IBreadCrumbModel addListener

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.breadcrumb IBreadCrumbModel addListener.

Prototype

void addListener(IBreadCrumbModelListener listener);

Source Link

Document

Adds a bread crumb model listener.

Usage

From source file:org.hippoecm.frontend.plugins.cms.admin.AdminBreadCrumbPanel.java

License:Apache License

public AdminBreadCrumbPanel(final String id, final IBreadCrumbModel breadCrumbModel) {
    super(id, breadCrumbModel);

    setOutputMarkupId(true);/* ww w .j a  va 2 s . c  o  m*/

    breadCrumbModel.addListener(new IBreadCrumbModelListener() {
        @Override
        public void breadCrumbActivated(final IBreadCrumbParticipant previousParticipant,
                final IBreadCrumbParticipant breadCrumbParticipant) {
        }

        @Override
        public void breadCrumbAdded(final IBreadCrumbParticipant breadCrumbParticipant) {
            if (breadCrumbParticipant == AdminBreadCrumbPanel.this) {
                onAddedToBreadCrumbsBar();
            }
        }

        @Override
        public void breadCrumbRemoved(final IBreadCrumbParticipant breadCrumbParticipant) {
            if (breadCrumbParticipant == AdminBreadCrumbPanel.this) {
                breadCrumbModel.removeListener(this);
                onRemovedFromBreadCrumbsBar();
            }
        }
    });
}

From source file:org.hippoecm.frontend.plugins.cms.admin.updater.UpdaterPanel.java

License:Apache License

public UpdaterPanel(final String componentId, final IBreadCrumbModel breadCrumbModel,
        final IPluginContext context) {
    super(componentId, breadCrumbModel);

    this.context = context;

    form = new HippoForm("new-form");
    final AjaxButton newButton = new AjaxButton("new-button") {
        @Override//from w w w  . ja  v a2s . c  o  m
        protected void onSubmit(AjaxRequestTarget target, Form<?> currentForm) {
            newUpdater();
        }
    };

    // customize feedbackpanel to display only messages from hippoform
    FeedbackPanel feedbackPanel = getFeedbackPanel();
    if (feedbackPanel != null) {
        feedbackPanel.setFilter(message -> {
            final Component reporter = message.getReporter();
            return reporter == UpdaterPanel.this.form;
        });
    }

    form.add(newButton);

    add(form);

    treeModel = new JcrTreeModel(new JcrTreeNode(new JcrNodeModel(UPDATE_PATH), null)) {
        @Override
        protected TreeModelEvent newTreeModelEvent(final Event event) throws RepositoryException {
            if (StringUtils.equals(event.getPath(), getNodePath())) {
                updateUI();
            }
            return super.newTreeModelEvent(event);
        }
    };
    context.registerService(treeModel, IObserver.class.getName());

    breadCrumbModel.addListener(new IBreadCrumbModelListener() {
        @Override
        public void breadCrumbActivated(final IBreadCrumbParticipant previousParticipant,
                final IBreadCrumbParticipant breadCrumbParticipant) {
        }

        @Override
        public void breadCrumbAdded(final IBreadCrumbParticipant breadCrumbParticipant) {
        }

        @Override
        public void breadCrumbRemoved(final IBreadCrumbParticipant breadCrumbParticipant) {
            if (breadCrumbParticipant == UpdaterPanel.this) {
                breadCrumbModel.removeListener(this);
                context.unregisterService(treeModel, IObserver.class.getName());
            }
        }
    });

    tree = new UpdaterTree("updater-tree", treeModel, newTreeNodeTranslator(), newTreeNodeIconProvider());
    tree.setRootLess(true);
    tree.setOutputMarkupId(true);
    add(tree);

    tree.expandChildrenOfRoot();

    editor = EMPTY_EDITOR;
    editor.setOutputMarkupId(true);
    add(editor);

    title = new Label("updater-title", new AbstractReadOnlyModel<String>() {
        @Override
        public String getObject() {
            return getUpdaterTitle();
        }
    });
    title.setOutputMarkupId(true);
    add(title);

    setOutputMarkupId(true);
}