/** * Copyright (C) 2011 Brian Ferris <bdferris@onebusaway.org> * * 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. */ package org.onebusaway.webapp.gwt.common.widgets; import com.google.gwt.user.client.Element; import com.google.gwt.user.client.ui.ComplexPanel; import com.google.gwt.user.client.ui.Widget; public abstract class AbstractElementPanel extends ComplexPanel { /** * Creates an empty flow panel. */ public AbstractElementPanel() { setElement(createElement()); } /** * Adds a new child widget to the panel. * * @param w the widget to be added */ @Override public void add(Widget w) { super.add(w, getElement()); } /** * Inserts a widget before the specified index. * * @param w the widget to be inserted * @param beforeIndex the index before which it will be inserted * @throws IndexOutOfBoundsException if <code>beforeIndex</code> is out of * range */ public void insert(Widget w, int beforeIndex) { super.insert(w, getElement(), beforeIndex, true); } protected abstract Element createElement(); }