Example usage for org.apache.wicket Component determineVisibility

List of usage examples for org.apache.wicket Component determineVisibility

Introduction

In this page you can find the example usage for org.apache.wicket Component determineVisibility.

Prototype

public final boolean determineVisibility() 

Source Link

Document

Determines whether or not a component should be visible, taking into account all the factors: #isVisible() , #isVisibilityAllowed() , #isRenderAllowed()

Usage

From source file:org.cast.cwm.components.ShyContainer.java

License:Open Source License

private boolean someChildVisible() {
    Boolean found = this.visitChildren(new IVisitor<Component, Boolean>() {

        @Override//w  w  w .j  av  a  2 s.  co m
        public void component(Component component, final IVisit<Boolean> visit) {
            if (determineVisibility(component)) {
                visit.stop(true);
            } else {
                visit.dontGoDeeper();
            }
        }

        private boolean determineVisibility(Component component) {
            component.configure();
            return component.determineVisibility();
        }

    });
    return (found != null && found);
}

From source file:org.devgateway.eudevfin.ui.common.components.VisibilityAwareContainer.java

License:Open Source License

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

    final Model<Boolean> oneVisibleChild = Model.of(Boolean.FALSE);
    this.visitChildren(AbstractField.class, new IVisitor<Component, Object>() {
        @Override//from   w w w  .j a va  2 s . c om
        public void component(Component object, IVisit<Object> visit) {
            object.configure(); //force an early configure on the visited object
            if (object.determineVisibility()) { //use determineVisibility instead of isVisible, handles all cases!
                oneVisibleChild.setObject(Boolean.TRUE);
                visit.stop();
            }
        }
    });

    this.setVisibilityAllowed(oneVisibleChild.getObject());
}