123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- /*
- * Copyright 2000-2018 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.server;
-
- import java.io.Serializable;
-
- /**
- * Interface to be implemented by components wishing to display some object that
- * may be dynamically resized during runtime.
- *
- * @author Vaadin Ltd.
- * @since 3.0
- */
- public interface Sizeable extends Serializable {
-
- /**
- * @deprecated As of 7.0, use {@link Unit#PIXELS} instead
- */
- @Deprecated
- public static final Unit UNITS_PIXELS = Unit.PIXELS;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#POINTS} instead
- */
- @Deprecated
- public static final Unit UNITS_POINTS = Unit.POINTS;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#PICAS} instead
- */
- @Deprecated
- public static final Unit UNITS_PICAS = Unit.PICAS;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#EM} instead
- */
- @Deprecated
- public static final Unit UNITS_EM = Unit.EM;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#EX} instead
- */
- @Deprecated
- public static final Unit UNITS_EX = Unit.EX;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#MM} instead
- */
- @Deprecated
- public static final Unit UNITS_MM = Unit.MM;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#CM} instead
- */
- @Deprecated
- public static final Unit UNITS_CM = Unit.CM;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#INCH} instead
- */
- @Deprecated
- public static final Unit UNITS_INCH = Unit.INCH;
-
- /**
- * @deprecated As of 7.0, use {@link Unit#PERCENTAGE} instead
- */
- @Deprecated
- public static final Unit UNITS_PERCENTAGE = Unit.PERCENTAGE;
-
- /**
- * @deprecated As of 7.3, use instead {@link #setSizeUndefined()},
- * {@link #setHeightUndefined()} and
- * {@link #setWidthUndefined()}
- */
- @Deprecated
- public static final float SIZE_UNDEFINED = -1;
-
- public enum Unit {
- /**
- * Unit code representing pixels.
- */
- PIXELS("px"),
- /**
- * Unit code representing points (1/72nd of an inch).
- */
- POINTS("pt"),
- /**
- * Unit code representing picas (12 points).
- */
- PICAS("pc"),
- /**
- * Unit code representing the font-size of the relevant font.
- */
- EM("em"),
- /**
- * Unit code representing the font-size of the root font.
- */
- REM("rem"),
- /**
- * Unit code representing the x-height of the relevant font.
- */
- EX("ex"),
- /**
- * Unit code representing millimeters.
- */
- MM("mm"),
- /**
- * Unit code representing centimeters.
- */
- CM("cm"),
- /**
- * Unit code representing inches.
- */
- INCH("in"),
- /**
- * Unit code representing in percentage of the containing element
- * defined by terminal.
- */
- PERCENTAGE("%");
-
- private final String symbol;
-
- private Unit(String symbol) {
- this.symbol = symbol;
- }
-
- public String getSymbol() {
- return symbol;
- }
-
- @Override
- public String toString() {
- return symbol;
- }
-
- public static Unit getUnitFromSymbol(String symbol) {
- if (symbol == null) {
- return Unit.PIXELS; // Defaults to pixels
- }
- for (Unit unit : Unit.values()) {
- if (symbol.equals(unit.getSymbol())) {
- return unit;
- }
- }
- return Unit.PIXELS; // Defaults to pixels
- }
- }
-
- /**
- * Gets the width of the object. Negative number implies unspecified size
- * (terminal is free to set the size).
- *
- * @return width of the object in units specified by widthUnits property.
- */
- public float getWidth();
-
- /**
- * Gets the height of the object. Negative number implies unspecified size
- * (terminal is free to set the size).
- *
- * @return height of the object in units specified by heightUnits property.
- */
- public float getHeight();
-
- /**
- * Gets the width property units.
- *
- * @return units used in width property.
- */
- public Unit getWidthUnits();
-
- /**
- * Gets the height property units.
- *
- * @return units used in height property.
- */
- public Unit getHeightUnits();
-
- /**
- * Sets the height of the component using String presentation.
- *
- * String presentation is similar to what is used in Cascading Style Sheets.
- * Size can be length or percentage of available size.
- *
- * The empty string ("") or null will unset the height and set the units to
- * pixels.
- *
- * See
- * <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-length">CSS
- * specification</a> for more details.
- *
- * @param height
- * in CSS style string representation
- */
- public void setHeight(String height);
-
- /**
- * Sets the width of the object. Negative number implies unspecified size
- * (terminal is free to set the size).
- *
- * @param width
- * the width of the object.
- * @param unit
- * the unit used for the width.
- */
- public void setWidth(float width, Unit unit);
-
- /**
- * Sets the height of the object. Negative number implies unspecified size
- * (terminal is free to set the size).
- *
- * @param height
- * the height of the object.
- * @param unit
- * the unit used for the width.
- */
- public void setHeight(float height, Unit unit);
-
- /**
- * Sets the width of the component using String presentation.
- *
- * String presentation is similar to what is used in Cascading Style Sheets.
- * Size can be length or percentage of available size.
- *
- * The empty string ("") or null will unset the width and set the units to
- * pixels.
- *
- * See
- * <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-length">CSS
- * specification</a> for more details.
- *
- * @param width
- * in CSS style string representation, null or empty string to
- * reset
- */
- public void setWidth(String width);
-
- /**
- * Sets the size to 100% x 100%.
- */
- public void setSizeFull();
-
- /**
- * Sets the width to 100%.
- *
- * @since
- */
- public void setWidthFull();
-
- /**
- * Sets the height to 100%.
- *
- * @since
- */
- public void setHeightFull();
-
- /**
- * Clears any size settings.
- */
- public void setSizeUndefined();
-
- /**
- * Clears any defined width.
- *
- * @since 7.3
- */
- public void setWidthUndefined();
-
- /**
- * Clears any defined height.
- *
- * @since 7.3
- */
- public void setHeightUndefined();
-
- }
|