Package com.extjs.gxt.ui.client.aria

Source Code of com.extjs.gxt.ui.client.aria.ContentPanelNavigationHandler

/*
* Ext GWT 2.2.4 - Ext for GWT
* Copyright(c) 2007-2010, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
package com.extjs.gxt.ui.client.aria;

import java.util.ArrayList;
import java.util.List;

import com.extjs.gxt.ui.client.widget.CollapsePanel;
import com.extjs.gxt.ui.client.widget.Component;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Header;
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
import com.google.gwt.user.client.ui.Widget;

public class ContentPanelNavigationHandler implements NavigationHandler {

  public List<Widget> getOrderedWidgets(Widget widget) {
    ContentPanel panel = null;
    if (widget instanceof HorizontalPanel) {
      panel = (ContentPanel)widget.getParent().getParent();
    } else if (widget.getParent() instanceof ContentPanel){
      panel = (ContentPanel) widget.getParent();
    } else {
      panel = (ContentPanel) widget;
    }

    List<Widget> widgets = new ArrayList<Widget>();

    Header header = panel.getHeader();
    for (int i = 0, len = header.getTools().size(); i < len; i++) {
      widgets.add(header.getTool(i));
    }

    if (panel.getTopComponent() != null) {
      widgets.add(panel.getTopComponent());
    }

    for (int i = 0, len = panel.getItemCount(); i < len; i++) {
      widgets.add(panel.getItem(i));
    }

    if (panel.getBottomComponent() != null) {
      widgets.add(panel.getBottomComponent());
    }

    if (panel.getButtonBar() != null && panel.getButtonBar().getItemCount() > 0 ) {
      widgets.add(panel.getButtonBar());
    }
   
    if (panel instanceof CollapsePanel) {
      widgets.add(((CollapsePanel)panel).getCollapseButton());
    }
    return widgets;
  }

  public boolean canHandleTabKey(Component comp) {
    if (comp instanceof HorizontalPanel) {
      return comp.getParent() instanceof Header;
    }
    return comp instanceof ContentPanel;
  }

}
TOP

Related Classes of com.extjs.gxt.ui.client.aria.ContentPanelNavigationHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.