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.client.ui.resources;
017
018import com.github.gwtbootstrap.client.ui.config.Configurator;
019import com.google.gwt.core.client.GWT;
020import com.google.gwt.resources.client.ClientBundle;
021import com.google.gwt.resources.client.TextResource;
022
023/**
024 * Interface that provides the Bootstrap resources.
025 * 
026 * @since 2.0.4.0
027 * 
028 * @author Carlos Alexandro Becker
029 * 
030 * @author Dominik Mayer
031 */
032public interface Resources extends ClientBundle {
033
034        public static Resources RESOURCES = GWT.create(Resources.class);
035
036        /**
037         * Returns the Bootstrap CSS file.
038         * <p>
039         * Override this method to use your own CSS file.
040         * 
041         * @return the Bootstrap CSS file
042         */
043        // Imported as a TextResource until GWT supports CSS3.
044        @Source("css/bootstrap.min.css")
045        TextResource bootstrapCss();
046        
047        /**
048         * Returns the required jQuery version.
049         * <p>
050         * By default, GWT Bootstrap uses jQuery 1.x. Override this method to
051         * provide a different version of jQuery.
052         * 
053         * @return the jQuery JavaScript Library
054         */
055        @Source("js/jquery-1.11.0.min.js")
056        TextResource jquery();
057
058        /**
059         * Returns a version of Bootstrap with all plugins included.
060         * <p>
061         * The first three digits in the GWT Bootstrap version number specify the
062         * provided Bootstrap version. (GWT Bootstrap 2.0.4.0 uses Bootstrap 2.0.2.
063         * GWT Bootstrap 2.1.2.3 will use Bootstrap 2.1.2.)
064         * </p>
065         * <p>
066         * 
067         * Override this method to provide a different version of Bootstrap. You
068         * might want to chose a more lightweight implementation without some of the
069         * plugins. <b>This may break some widgets!</b>
070         * 
071         * @return the Bootstrap JavaScript
072         */
073        @Source("js/bootstrap.min.js")
074        TextResource bootstrapJs();
075
076        /**
077         * Returns the responsive extension to Bootstrap.
078         * <p>
079         * The responsive design is neither injected nor activated by default. You
080         * have to implement your own {@link Configurator} and let
081         * {@link Configurator#hasResponsiveDesign()} return {@code true}.
082         * </p>
083         * <p>
084         * 
085         * Override this method to provide a different version of the responsive
086         * extension. <b>This may break some widgets!</b>
087         * 
088         * @return the Bootstrap responsive extension JavaScript
089         */
090        @Source("css/bootstrap-responsive.min.css")
091        TextResource bootstrapResponsiveCss();
092
093        /**
094         * Returns the GWT-Bootstrap CSS.
095         * <p>
096         * It contains styles that overrides conflicting GWT styles.
097         * </p>
098         * <p>
099         * <b>Don't override this unless you know what you're doing!</b>
100         * </p>
101         * 
102         * @return the GWT-Bootstrap styles
103         */
104        @Source("css/gwt-bootstrap.css")
105        TextResource gwtBootstrapCss();
106
107    @Source("css/font-awesome.min.css")
108    TextResource fontAwesomeCss();
109
110//      @Source("js/bootstrap-collapse.js")
111//      TextResource bootstrapCollapseJs();
112
113//      @Source("css/prettify.css")
114//      TextResource prettify_css();
115
116//      @Source("js/prettify/prettify.js")
117//      TextResource prettify_js();
118
119//      @Source("js/prettify.js")
120//      TextResource prettify_js();
121
122//      @Source("js/bootstrap-alerts.js")
123//      TextResource alerts();
124//
125//      @Source("js/bootstrap-buttons.js")
126//      TextResource buttons();
127//
128//      @Source("js/bootstrap-dropdown.js")
129//      TextResource dropdown();
130//
131//      @Source("js/bootstrap-modal.js")
132//      TextResource modal();
133//
134//      @Source("js/bootstrap-popover.js")
135//      TextResource popover();
136//
137//      @Source("js/bootstrap-scrollspy.js")
138//      TextResource scrollspy();
139//
140//      @Source("js/bootstrap-tabs.js")
141//      TextResource tabs();
142//
143//      @Source("js/bootstrap-twipsy.js")
144//      TextResource twipsy();
145}