001 /*
002 * Copyright 2006 Mat Gessel <mat.gessel@gmail.com>
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005 * use this file except in compliance with the License. You may obtain a copy of
006 * 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, WITHOUT
012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013 * License for the specific language governing permissions and limitations under
014 * the License.
015 */
016 package asquare.gwt.tk.client.ui.behavior.impl;
017
018 import com.google.gwt.user.client.Event;
019 import com.google.gwt.user.client.ui.Widget;
020
021 import asquare.gwt.tk.client.ui.behavior.GlassPanelController;
022 import asquare.gwt.tk.client.util.DomUtil;
023
024 public class GlassPanelControllerIE6 implements GlassPanelController
025 {
026 /*
027 * Originally, the implementation was selected via a deferred binding rule.
028 * However, adding an additional rule for strict/quirks mode increased
029 * compile time by 40%.
030 */
031 private final GlassPanelController s_impl;
032
033 public GlassPanelControllerIE6()
034 {
035 s_impl = createImpl();
036 }
037
038 protected GlassPanelController createImpl()
039 {
040 if (DomUtil.isQuirksMode())
041 {
042 return new GlassPanelControllerIE6ImplQuirks();
043 }
044 else
045 {
046 return new GlassPanelControllerIE6ImplStrict();
047 }
048 }
049
050 public int getEventBits()
051 {
052 return s_impl.getEventBits();
053 }
054
055 public Class getId()
056 {
057 return s_impl.getId();
058 }
059
060 public void onBrowserEvent(Widget widget, Event event)
061 {
062 s_impl.onBrowserEvent(widget, event);
063 }
064
065 public void plugIn(Widget widget)
066 {
067 s_impl.plugIn(widget);
068 }
069
070 public void unplug(Widget widget)
071 {
072 s_impl.unplug(widget);
073 }
074 }