use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method popController.
@Override
public void popController(Controller controller) {
int index = getIndex(controller);
if (index > 0 && index < stack.size()) {
BreadCrumb popedCrumb = null;
for (int i = stack.size(); i-- > index; ) {
Link link = stack.remove(i);
popedCrumb = (BreadCrumb) link.getUserObject();
popedCrumb.dispose();
}
setContent(index - 1);
updateCloseLinkTitle();
}
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method popUpToRootController.
@Override
public void popUpToRootController(UserRequest ureq) {
if (stack.size() > 1) {
for (int i = stack.size(); i-- > 1; ) {
Link link = stack.remove(i);
BreadCrumb crumb = (BreadCrumb) link.getUserObject();
crumb.dispose();
}
// set the root controller
Link rootLink = stack.get(0);
BreadCrumb rootCrumb = (BreadCrumb) rootLink.getUserObject();
setContent(rootCrumb.getController());
updateCloseLinkTitle();
fireEvent(ureq, new PopEvent(rootCrumb.getController(), false));
}
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method popContent.
@Override
public void popContent() {
if (stack.size() > 1) {
Link link = stack.remove(stack.size() - 1);
BreadCrumb crumb = (BreadCrumb) link.getUserObject();
crumb.dispose();
}
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method changeDisplayname.
@Override
public void changeDisplayname(String displayName, String iconLeftCss, Controller ctrl) {
for (int i = stack.size(); i-- > 1; ) {
Link link = stack.get(i);
BreadCrumb crumb = (BreadCrumb) link.getUserObject();
if (crumb.getController() == ctrl) {
link.setCustomDisplayText(StringHelper.escapeHtml(displayName));
if (StringHelper.containsNonWhitespace(iconLeftCss)) {
link.setIconLeftCSS(iconLeftCss);
} else {
link.setIconLeftCSS(null);
}
}
}
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method setContent.
private void setContent(int crumbIndex) {
Link currentLink = stack.get(crumbIndex);
BreadCrumb crumb = (BreadCrumb) currentLink.getUserObject();
if (crumb.getController() == null) {
if (crumbIndex - 1 >= 0) {
Link parentLink = stack.get(crumbIndex - 1);
BreadCrumb parentCrumb = (BreadCrumb) parentLink.getUserObject();
setContent(parentCrumb.getController());
}
} else {
setContent(crumb.getController());
}
}
Aggregations