Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * This program is free software; you can redistribute it and/or modify it under the 
   * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software 
   * Foundation.
   *
   * You should have received a copy of the GNU Lesser General Public License along with this 
   * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 
   * or from the Free Software Foundation, Inc., 
   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  * See the GNU Lesser General Public License for more details.
  *
  * Copyright 2011 Pentaho Corporation.  All rights reserved.
  * 
  * @author Michael D'Amour
  * 
  */
 package org.pentaho.gwt.widgets.client.tabs;
 
 import  com.google.gwt.event.dom.client.ClickEvent;
 import  com.google.gwt.event.dom.client.ClickHandler;
 import  com.google.gwt.event.dom.client.MouseOutEvent;
 import  com.google.gwt.event.dom.client.MouseOutHandler;
 import  com.google.gwt.event.dom.client.MouseOverEvent;
 import  com.google.gwt.event.dom.client.MouseOverHandler;
 import  com.google.gwt.user.client.DOM;
 import  com.google.gwt.user.client.Event;
 import  com.google.gwt.user.client.ui.HorizontalPanel;
 import  com.google.gwt.user.client.ui.Image;
 import  com.google.gwt.user.client.ui.Label;
 import  com.google.gwt.user.client.ui.SimplePanel;
 import  com.google.gwt.user.client.ui.Widget;
 
 public class PentahoTab extends SimplePanel {
 
   private PentahoTabPanel tabPanel;
   private Widget content;
   private Label label = new Label();
 
   public PentahoTab(String textString tooltipPentahoTabPanel tabPanel, Widget contentboolean closeable) {
     this. = content;
     this. = tabPanel;
     setStylePrimaryName("pentaho-tabWidget");
     sinkEvents(Event.ONDBLCLICK | Event.ONMOUSEUP);
 
     if (closeable) {
       final Image closeTabImage = ..tab_close_off().createImage();
       closeTabImage.setStyleName("pentaho-tabWidget-close");
       closeTabImage.addClickHandler(new ClickHandler() {
         public void onClick(ClickEvent event) {
           event.getNativeEvent().stopPropagation();
           closeTab();
         }
       });
       closeTabImage.addMouseOverHandler(new MouseOverHandler() {
         public void onMouseOver(MouseOverEvent event) {
           ..tab_close_on().applyTo(closeTabImage);
         }
       });
       closeTabImage.addMouseOutHandler(new MouseOutHandler() {
 
         public void onMouseOut(MouseOutEvent event) {
           ..tab_close_off().applyTo(closeTabImage);
         }
       });
 
       HorizontalPanel p = new HorizontalPanel();
       setupLabel(texttooltip);
       p.add();
       p.add(closeTabImage);
       setWidget(p);
     } else {
       setupLabel(texttooltip);
       setWidget();
     }
   }
 
   public void setupLabel(String textString tooltip) {
     .setText(text);
     .setTitle(tooltip);
     .setStylePrimaryName("pentaho-tabWidgetLabel");
   }
 
   public Widget getContent() {
     return ;
   }
 
   public void setContent(Widget content) {
     this. = content;
   }
 
   protected PentahoTabPanel getTabPanel() {
     return ;
   }
 
   protected void setTabPanel(PentahoTabPanel tabPanel) {
     this. = tabPanel;
  }
  public void onBrowserEvent(Event event) {
    if ((DOM.eventGetType(event) & Event.ONDBLCLICK) == Event.ONDBLCLICK) {
      onDoubleClick(event);
    } else if (DOM.eventGetButton(event) == Event.BUTTON_RIGHT) {
      onRightClick(event);
    } else if (DOM.eventGetButton(event) == Event.BUTTON_LEFT) {
      if (event.getEventTarget().toString().toLowerCase().indexOf("image") == -1) {
        fireTabSelected();
      }
    }
    super.onBrowserEvent(event);
  }
  public void onDoubleClick(Event event) {
  }
  public void onRightClick(Event event) {
  }
  public void setSelected(boolean selected) {
    if (selected) {
      addStyleDependentName("selected");
    } else {
      removeStyleDependentName("selected");
    }
  }
  public String getLabelText() {
    return .getText();
  }
  public void setLabelText(String text) {
    .setText(text);
  }
  public void setLabelTooltip(String tooltip) {
    .setTitle(tooltip);
  }
  public String getLabelTooltip() {
    return .getTitle();
  }
  protected void closeTab() {
    .closeTab(thistrue);
  }
  protected void fireTabSelected() {
    .selectTab(this);
  }
New to GrepCode? Check out our FAQ X