001/*
002 *  Copyright 2012 GWT-Bootstrap
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License.
015 */
016package com.github.gwtbootstrap.datetimepicker.client.ui.base;
017
018/**
019 * Define a element that have the startView property.
020 *
021 * @author Carlos Alexandro Becker
022 * @author Alain Penders
023 * @since 2.1.1.0
024 */
025public interface HasViewMode {
026
027    public static enum ViewMode {HOUR, DAY, MONTH, YEAR, DECADE}
028
029    /**
030     * Set the Min ViewMode
031     *
032     * @param mode ViewMode.{HOUR,DAY,MONTH,YEAR,DECADE}
033     */
034    void setMinView(ViewMode mode);
035
036    /**
037     * Set the Min ViewMode
038     *
039     * @param mode One of (HOUR,DAY,MONTH,YEAR,DECADE), case-insensitive
040     */
041    void setMinView(String mode);
042
043    /**
044     * Set the Start ViewMode
045     *
046     * @param mode ViewMode.{HOUR,DAY,MONTH,YEAR,DECADE}
047     */
048    void setStartView(ViewMode mode);
049
050    /**
051     * Set the Start ViewMode
052     *
053     * @param mode One of (HOUR,DAY,MONTH,YEAR,DECADE), case-insensitive
054     */
055    void setStartView(String mode);
056
057    /**
058     * Set the Max ViewMode
059     *
060     * @param mode ViewMode.{HOUR,DAY,MONTH,YEAR,DECADE}
061     */
062    void setMaxView(ViewMode mode);
063
064    /**
065     * Set the Max ViewMode
066     *
067     * @param mode One of (HOUR,DAY,MONTH,YEAR,DECADE), case-insensitive
068     */
069    void setMaxView(String mode);
070}