001    package org.gwtbootstrap3.client.ui.base;
002    
003    /*
004     * #%L
005     * GwtBootstrap3
006     * %%
007     * Copyright (C) 2013 GwtBootstrap3
008     * %%
009     * Licensed under the Apache License, Version 2.0 (the "License");
010     * you may not use this file except in compliance with the License.
011     * You may obtain a copy of the License at
012     * 
013     *      http://www.apache.org/licenses/LICENSE-2.0
014     * 
015     * Unless required by applicable law or agreed to in writing, software
016     * distributed under the License is distributed on an "AS IS" BASIS,
017     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018     * See the License for the specific language governing permissions and
019     * limitations under the License.
020     * #L%
021     */
022    
023    import org.gwtbootstrap3.client.ui.constants.DeviceSize;
024    
025    /**
026     * Interface to set the visibility and hidden properties of elements
027     * <p/>
028     * Example:
029     * <p/>
030     * hiddenOn="SM MD"
031     * hiddenOn="SM,MD"
032     * visibleOn="SM LG"
033     * visibleOn="MD,LG"
034     * hiddenOn="LG"
035     *
036     * @author Joshua Godi
037     */
038    public interface HasResponsiveness {
039        /**
040         * Sets the devices that the element is visible on
041         *
042         * @param deviceSize device size
043         * @see org.gwtbootstrap3.client.ui.constants.DeviceSize
044         */
045        void setVisibleOn(DeviceSize deviceSize);
046    
047        /**
048         * Sets the devices that the element is hidden on
049         *
050         * @param deviceSize device sizes
051         * @see org.gwtbootstrap3.client.ui.constants.DeviceSize
052         */
053        void setHiddenOn(DeviceSize deviceSize);
054    }