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.widgets;
17  
18  import org.kuali.student.common.ui.client.util.DebugIdUtils;
19  import org.kuali.student.common.ui.client.widgets.impl.KSButtonImpl;
20  
21  import com.google.gwt.core.client.GWT;
22  import com.google.gwt.event.dom.client.ClickHandler;
23  import com.google.gwt.event.dom.client.MouseOutHandler;
24  import com.google.gwt.event.dom.client.MouseOverHandler;
25  import com.google.gwt.event.shared.HandlerRegistration;
26  
27  /**
28   * KSButton wraps gwt Button. This class provides most of the same functionality, but sets
29   * KS css styles for its default look and a variety of button events (for improved browser
30   * compatibility and customizability). An image can be also be added to a KSButton (an
31   * improvement over gwt Button).
32   * 
33   * @author Kuali Student Team
34   * 
35   */
36  public class KSButton extends KSButtonAbstract {
37  
38      KSButtonAbstract button = GWT.create(KSButtonImpl.class);
39  
40      public boolean isEnabled() {
41          return button.isEnabled();
42      }
43  
44      public void setEnabled(boolean enabled) {
45          button.setEnabled(enabled);
46      }
47  
48      public KSButton() {
49          this.init();
50          this.initWidget(button);
51      }
52  
53      public KSButton(String text, ClickHandler handler) {
54          this.init(text, handler);
55          this.initWidget(button);
56          button.ensureDebugId(DebugIdUtils.createWebDriverSafeDebugId(text));
57      }
58  
59      public KSButton(String text) {
60          this.init(text);
61          this.initWidget(button);
62          button.ensureDebugId(DebugIdUtils.createWebDriverSafeDebugId(text));
63      }
64  
65      public KSButton(String text, ButtonStyle style) {
66          this.init(text, style);
67          this.initWidget(button);
68          button.ensureDebugId(DebugIdUtils.createWebDriverSafeDebugId(text));
69      }
70  
71      public KSButton(String text, ButtonStyle style, ClickHandler handler) {
72          this.init(text, style, handler);
73          this.initWidget(button);
74          button.ensureDebugId(DebugIdUtils.createWebDriverSafeDebugId(text));
75      }
76  
77      public void setText(String text) {
78          button.setText(text);
79      }
80  
81      @Override
82      public HandlerRegistration addClickHandler(ClickHandler handler) {
83          return button.addClickHandler(handler);
84      }
85  
86      @Override
87      public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
88          return button.addMouseOverHandler(handler);
89      }
90  
91      @Override
92      public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
93          return button.addMouseOutHandler(handler);
94      }
95  
96      @Override
97      public void init() {
98          button.init();
99      }
100 
101     @Override
102     public void init(String text) {
103         button.init(text);
104     }
105 
106     @Override
107     public void init(String text, ButtonStyle style) {
108         button.init(text, style);
109     }
110 
111     public void init(String text, ButtonStyle style, ClickHandler handler) {
112         button.init(text, style, handler);
113     }
114 
115     @Override
116     public void init(String text, ClickHandler handler) {
117         button.init(text, handler);
118     }
119 
120     @Override
121     public void addStyleName(String style) {
122         button.addStyleName(style);
123     }
124 
125     @Override
126     public void removeStyleName(String style) {
127         button.removeStyleName(style);
128     }
129 
130     @Override
131     public void setStyleName(String style) {
132         button.setStyleName(style);
133     }
134 
135     @Override
136     protected void onEnsureDebugId(String baseID) {
137         button.ensureDebugId(baseID);
138     }
139     
140     
141 
142 }