/* * Copyright 2011 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; import com.vaadin.shared.ui.AbstractLayoutState; import com.vaadin.ui.Layout.MarginHandler; /** * An abstract class that defines default implementation for the {@link Layout} * interface. * * @author Vaadin Ltd. * @since 5.0 */ @SuppressWarnings("serial") public abstract class AbstractLayout extends AbstractComponentContainer implements Layout, MarginHandler { protected MarginInfo margins = new MarginInfo(false); @Override public AbstractLayoutState getState() { return (AbstractLayoutState) super.getState(); } /* * (non-Javadoc) * * @see com.vaadin.ui.Layout#setMargin(boolean) */ @Override public void setMargin(boolean enabled) { margins.setMargins(enabled); getState().setMarginsBitmask(margins.getBitMask()); requestRepaint(); } /* * (non-Javadoc) * * @see com.vaadin.ui.Layout.MarginHandler#getMargin() */ @Override public MarginInfo getMargin() { return margins; } /* * (non-Javadoc) * * @see com.vaadin.ui.Layout.MarginHandler#setMargin(MarginInfo) */ @Override public void setMargin(MarginInfo marginInfo) { margins.setMargins(marginInfo); getState().setMarginsBitmask(margins.getBitMask()); requestRepaint(); } /* * (non-Javadoc) * * @see com.vaadin.ui.Layout#setMargin(boolean, boolean, boolean, boolean) */ @Override public void setMargin(boolean topEnabled, boolean rightEnabled, boolean bottomEnabled, boolean leftEnabled) { margins.setMargins(topEnabled, rightEnabled, bottomEnabled, leftEnabled); getState().setMarginsBitmask(margins.getBitMask()); requestRepaint(); } }