org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay.java Source code

Java tutorial

Introduction

Here is the source code for org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay.java

Source

package org.gwtbootstrap3.extras.fullcalendar.client.ui;

/*
 * #%L
 * GwtBootstrap3
 * %%
 * Copyright (C) 2013 - 2014 GwtBootstrap3
 * %%
 * 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.
 * #L%
 */

import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArrayInteger;

/**
 * @author Jeff Isenhart
 * @see http://arshaw.com/fullcalendar/docs/display/
 */
public class GeneralDisplay implements IsJavaScriptObject {
    private JavaScriptObject general;

    public GeneralDisplay() {
        this(new Header());
    }

    public GeneralDisplay(final Header header) {
        newInstance();
        if (header != null) {
            setHeader(header.toJavaScript());
        }
    }

    private native void newInstance() /*-{
                                      var theInstance = this;
                                      theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general = {
                                      firstDay: 0,
                                      isRTL: false,
                                      weekends: true,
                                      hiddenDays: [],
                                      weekMode: 'fixed',
                                      weekNumbers: false,
                                      weekNumberCalculation: 'local',
                                      aspectRatio: 1.35,
                                      handleWindowResize: true,
                                      prev: 'left-single-arrow',
                                      next: 'right-single-arrow',
                                      prevYear: 'left-double-arrow',
                                      nextYear: 'right-double-arrow'
                                      };
                                      }-*/;

    public native void setViewRenderCallback(ViewRenderCallback callback) /*-{
                                                                          if (callback) {
                                                                          var theInstance = this;
                                                                          theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.viewRender = function (view, element) {
                                                                          callback.@org.gwtbootstrap3.extras.fullcalendar.client.ui.ViewRenderCallback::viewRender(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/Element;)(view, element[0]);
                                                                          };
                                                                              
                                                                          theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.viewDestroy = function (view, element) {
                                                                          callback.@org.gwtbootstrap3.extras.fullcalendar.client.ui.ViewRenderCallback::viewDestroy(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/Element;)(view, element[0]);
                                                                          };
                                                                              
                                                                          theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.dayRender = function (date, cell) {
                                                                          callback.@org.gwtbootstrap3.extras.fullcalendar.client.ui.ViewRenderCallback::dayRender(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/Element;)(date, cell);
                                                                          };
                                                                              
                                                                          theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.windowResize = function (view) {
                                                                          callback.@org.gwtbootstrap3.extras.fullcalendar.client.ui.ViewRenderCallback::windowResize(Lcom/google/gwt/core/client/JavaScriptObject;)(view);
                                                                          };
                                                                          }
                                                                          }-*/;

    public native void setFirstDayOption(int firstDay) /*-{
                                                       if (firstDay >= 0 && firstDay <= 6) {
                                                       var theInstance = this;
                                                       theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.firstDay = firstDay;
                                                       }
                                                       }-*/;

    public native void setIsRTL(boolean rtl) /*-{
                                             var theInstance = this;
                                             return theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.isRTL = rtl;
                                             }-*/;

    public void setHeader(final Header header) {
        setHeader(header == null ? null : header.toJavaScript());
    }

    private native void setHeader(JavaScriptObject header) /*-{
                                                           var theInstance = this;
                                                           theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.header = header;
                                                           }-*/;

    public native void setWeekends(boolean weekends) /*-{
                                                     var theInstance = this;
                                                     return theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.weekends = weekends;
                                                     }-*/;

    public void setHiddenDays(final int... days) {
        if (days != null) {
            final JsArrayInteger intArr = (JsArrayInteger) JsArrayInteger.createArray();
            for (final int i : days) {
                assert i >= 0 && i <= 6;
                intArr.push(i);
            }
            setHiddenDays(intArr);
        }
    }

    public native void setHiddenDays(JsArrayInteger hiddenDays) /*-{
                                                                var theInstance = this;
                                                                theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.hiddenDays = hiddenDays;
                                                                }-*/;

    public native void setWeekMode(String mode) /*-{
                                                if (mode) {
                                                if (mode == 'fixed' || mode == 'liquid' || mode == 'variable') {
                                                var theInstance = this;
                                                theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.weekMode = mode;
                                                }
                                                }
                                                    
                                                }-*/;

    public native void setWeekNumbers(boolean weekNumbers) /*-{
                                                           var theInstance = this;
                                                           return theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.weekNumbers = weekNumbers;
                                                               
                                                           }-*/;

    public native void setWeekNumberCaculation(String calculation) /*-{
                                                                   if (calculation) {
                                                                   if (calculation == 'local' || calculation == 'ISO') {
                                                                   var theInstance = this;
                                                                   theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.weekNumberCalculation = calculation;
                                                                   }
                                                                   }
                                                                       
                                                                   }-*/;

    //to-do: make this a callback
    public native void setWeekNumberCaculation(JavaScriptObject weekNumberFunction) /*-{
                                                                                    if (weekNumberFunction) {
                                                                                    var theInstance = this;
                                                                                    theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.weekNumberCalculation = weekNumberFunction;
                                                                                    }
                                                                                        
                                                                                    }-*/;

    public native void setBusinessHours(boolean businessHours) /*-{
                                                               var theInstance = this;
                                                               theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.businessHours = businessHours;
                                                               }-*/;

    public native void setHeight(int height) /*-{
                                             var theInstance = this;
                                             theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.height = height;
                                             }-*/;

    public native void setContentHeight(int contentHeight) /*-{
                                                           var theInstance = this;
                                                           theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.contentHeight = contentHeight;
                                                           }-*/;

    public native void setAspectRatio(double aspectRatio) /*-{
                                                          var theInstance = this;
                                                          theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.aspectRatio = aspectRatio;
                                                          }-*/;

    public native void setHandleWindowResize(boolean handleWindowResize) /*-{
                                                                         var theInstance = this;
                                                                         return theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.handleWindowResize = handleWindowResize;
                                                                         }-*/;

    public native void setPrev(String previous) /*-{
                                                var theInstance = this;
                                                theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.prev = previous;
                                                }-*/;

    public native void setNext(String next) /*-{
                                            var theInstance = this;
                                            theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.next = next;
                                            }-*/;

    public native void setPrevYear(String previousYear) /*-{
                                                        var theInstance = this;
                                                        theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.prevYear = previousYear;
                                                        }-*/;

    public native void setNextYear(String nextYear) /*-{
                                                    var theInstance = this;
                                                    theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.GeneralDisplay::general.nextYear = nextYear;
                                                    }-*/;

    @Override
    public JavaScriptObject toJavaScript() {
        return general;
    }
}