View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.common.ui.client.configurable.mvc;
17  
18  import com.google.gwt.dom.client.Element;
19  import com.google.gwt.user.client.DOM;
20  import com.google.gwt.user.client.ui.ComplexPanel;
21  import com.google.gwt.user.client.ui.Widget;
22  
23  /**
24   * This class provides static methods for generating H1-H6 elements with the passed in text
25   *
26   * @author Kuali Student Team (kuali-student@googlegroups.com)
27   *
28   */
29  public class SectionTitle extends ComplexPanel {
30  
31  
32  
33      private SectionTitle(Element e) {
34          this.setElement(e);
35      }
36  
37      public static SectionTitle generateEmptyTitle() {
38          return generateTitle(DOM.createSpan(), null);
39      }
40  
41      public static SectionTitle generateH1Title(String titletext) {
42  
43      	Element headerElement = DOM.createElement("H1");
44      	headerElement.setInnerText(titletext);
45          return generateTitle(headerElement, "KS-H1-Section-Title");
46      }
47  
48      public static SectionTitle generateH2Title(String titletext) {
49  
50      	Element headerElement = DOM.createElement("H2");
51      	headerElement.setInnerText(titletext);
52          return generateTitle(headerElement, "KS-H2-Section-Title");
53      }
54  
55      public static SectionTitle generateH3Title(String titletext) {
56  
57      	Element headerElement = DOM.createElement("H3");
58      	headerElement.setInnerText(titletext);
59          return generateTitle(headerElement, "KS-H3-Section-Title");
60      }
61  
62      public static SectionTitle generateH4Title(String titletext) {
63  
64      	Element headerElement = DOM.createElement("H4");
65      	headerElement.setInnerText(titletext);
66          return generateTitle(headerElement, "KS-H4-Section-Title");
67      }
68  
69      public static SectionTitle generateH5Title(String titletext) {
70  
71      	Element headerElement = DOM.createElement("H5");
72      	headerElement.setInnerText(titletext);
73          return generateTitle(headerElement, "KS-H5-Section-Title");
74      }
75  
76      public static SectionTitle generateH6Title(String titletext) {
77  
78      	Element headerElement = DOM.createElement("H6");
79      	headerElement.setInnerText(titletext);
80          return generateTitle(headerElement, "KS-H6-Section-Title");
81      }
82  
83      private static SectionTitle generateTitle(Element header, String styleName) {
84      	SectionTitle thisTitle = new SectionTitle(header);
85      	thisTitle.addStyleName("KS-Section-Title");
86          if(styleName != null){
87          	thisTitle.addStyleName(styleName);
88          }
89          return thisTitle;
90      }
91  
92      public void setText(String text){
93      	this.getElement().setInnerText(text);
94      	
95      }
96      
97      public void setHTML(String html){
98      	this.getElement().setInnerHTML(html);
99      }
100     
101 	  /**
102 	   * Adds a new child widget to the panel.
103 	   * 
104 	   * @param w the widget to be added
105 	   */
106 	  @Override
107 	  public void add(Widget w) {
108 	    add(w, getElement());
109 	  }
110 }
111 
112