diff options
Diffstat (limited to 'server/src/main/java/com/vaadin/ui/HasChildMeasurementHint.java')
-rw-r--r-- | server/src/main/java/com/vaadin/ui/HasChildMeasurementHint.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/server/src/main/java/com/vaadin/ui/HasChildMeasurementHint.java b/server/src/main/java/com/vaadin/ui/HasChildMeasurementHint.java new file mode 100644 index 0000000000..86d33f57b2 --- /dev/null +++ b/server/src/main/java/com/vaadin/ui/HasChildMeasurementHint.java @@ -0,0 +1,69 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.ui; + +/** + * Component with layout measuring hint. Used to improve granularity of control + * over child component measurements. + * + * @since 7.6 + * @author Vaadin Ltd + */ +public interface HasChildMeasurementHint extends HasComponents { + + /** + * Specifies how you would like child components measurements to be handled. + * Since this is a hint, it can be ignored when deemed necessary. + */ + public enum ChildMeasurementHint { + + /** + * Always measure all child components (default). + */ + MEASURE_ALWAYS, + + /** + * Measure child component only if child component is a Layout or + * implements either ManagedLayout or ElementResizeListener. + */ + MEASURE_IF_NEEDED, + + /** + * Never measure child components. This can improve rendering speed of + * components with lots of children (e.g. Table), but can cause some + * child components to be rendered incorrectly (e.g. ComboBox). + */ + MEASURE_NEVER + + } + + /** + * Sets desired child size measurement hint. + * + * @param hint + * desired hint. A value of null will reset value back to the + * default (MEASURE_ALWAYS) + */ + void setChildMeasurementHint(ChildMeasurementHint hint); + + /** + * Returns the current child size measurement hint. + * + * @return a child measurement hint value + */ + ChildMeasurementHint getChildMeasurementHint(); + +} |