Basic Focus Tabbing Sample (Smart GWT) : Tab « GWT « Java






Basic Focus Tabbing Sample (Smart GWT)

Basic Focus Tabbing Sample (Smart GWT)
   
/*
 * SmartGWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * SmartGWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  SmartGWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 * This software 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.
 */

package com.smartgwt.sample.showcase.client;


import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.DragAppearance;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.events.DrawEvent;
import com.smartgwt.client.widgets.events.DrawHandler;
import com.smartgwt.client.widgets.events.FocusChangedEvent;
import com.smartgwt.client.widgets.events.FocusChangedHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.ComboBoxItem;
import com.smartgwt.client.widgets.form.fields.DateItem;
import com.smartgwt.client.widgets.layout.HStack;
import com.smartgwt.client.widgets.layout.VLayout;

public class Showcase implements EntryPoint{

    public void onModuleLoad() {
       RootPanel.get().add(getViewPanel());
    }
    public Canvas getViewPanel() {
      HStack hStack = new HStack();
      hStack.setWidth(300);
      hStack.setHeight(100);
      hStack.setShowEdges(true);
      hStack.setCanAcceptDrop(true);
      hStack.setAnimateMembers(true);
      hStack.setDropLineThickness(4);
      
      final Label focusLabel = new Label();
      focusLabel.setID("focusLabel");
      focusLabel.setAlign(Alignment.CENTER);
      focusLabel.setTop(150);
      focusLabel.setWidth(300);
      focusLabel.setHeight(50);
      
      final Img bluePawn = new Img();
      bluePawn.setID("bluePawn");
      bluePawn.setLayoutAlign(Alignment.CENTER);
      bluePawn.setWidth(48);
      bluePawn.setHeight(48);
      bluePawn.setCanFocus(true);
      bluePawn.setSrc("pieces/48/pawn_blue.png");
      bluePawn.setCanDragReposition(true);
      bluePawn.setCanDrop(true);
      bluePawn.setDragAppearance(DragAppearance.TARGET);
      bluePawn.addDrawHandler(new DrawHandler() {
    public void onDraw(DrawEvent event) {
      bluePawn.focus();
    }
      });
      bluePawn.addFocusChangedHandler(new FocusChangedHandler() {
    public void onFocusChanged(FocusChangedEvent event) {
      changeLabel(focusLabel, bluePawn.getID(), event.getHasFocus());
    }
      });

      ComboBoxItem field1 = new ComboBoxItem();
      field1.setName("field1");
      field1.setValueMap("Option 1", "Option 2");
      
      DateItem field2 = new DateItem();
      field2.setName("field2");
      
      final DynamicForm simpleForm = new DynamicForm();
      simpleForm.setID("simpleForm");
      simpleForm.setLayoutAlign(Alignment.CENTER);
      simpleForm.setHeight(48);
      simpleForm.setFields(field1, field2);
      simpleForm.addFocusChangedHandler(new FocusChangedHandler() {
    public void onFocusChanged(FocusChangedEvent event) {
      changeLabel(focusLabel, simpleForm.getID(), event.getHasFocus());
    }
      });
      
      final Img greenPawn = new Img();
      greenPawn.setID("greenPawn");
      greenPawn.setLayoutAlign(Alignment.CENTER);
      greenPawn.setWidth(48);
      greenPawn.setHeight(48);
      greenPawn.setCanFocus(true);
      greenPawn.setSrc("pieces/48/pawn_green.png");
      greenPawn.setCanDragReposition(true);
      greenPawn.setCanDrop(true);
      greenPawn.setDragAppearance(DragAppearance.TARGET);
      greenPawn.addFocusChangedHandler(new FocusChangedHandler() {
    public void onFocusChanged(FocusChangedEvent event) {
      changeLabel(focusLabel, greenPawn.getID(), event.getHasFocus());
    }
      });

      hStack.addMember(bluePawn);
      hStack.addMember(simpleForm);
      hStack.addMember(greenPawn);
      
      VLayout vLayout = new VLayout();
      vLayout.setMembersMargin(10);
      vLayout.addMember(hStack);
      vLayout.addMember(focusLabel);
      
      return vLayout;
    }
    private void changeLabel(Label label, String id, boolean hasFocus) {
      if (hasFocus)
        label.setContents(id + " has focus");
        else
          label.setContents("");
    }
}

   
    
    
  








SmartGWT.zip( 9,880 k)

Related examples in the same category

1.Tab orientation (Smart GWT)Tab orientation (Smart GWT)
2.Set tab alignment (Smart GWT)Set tab alignment (Smart GWT)
3.Add a tab, remove a tab (Smart GWT)Add a tab, remove a tab (Smart GWT)
4.Closable tab (Smart GWT)Closable tab (Smart GWT)
5.Tabs Custom Control Sample (Smart GWT)Tabs Custom Control Sample (Smart GWT)
6.Change Tab title dynamically (Smart GWT)Change Tab title dynamically (Smart GWT)
7.Add controls to Tab page (Smart GWT)Add controls to Tab page (Smart GWT)
8.Set URL view for Tab (Smart GWT)Set URL view for Tab (Smart GWT)
9.Scrollable tab header line (Smart GWT)Scrollable tab header line (Smart GWT)
10.Using tab to hold form (Smart GWT)Using tab to hold form (Smart GWT)
11.Click on the resizebar next to the Navigation tree to hide it (Smart GWT)Click on the resizebar next to the Navigation tree to hide it (Smart GWT)
12.Adding text to tab panel (Ext GWT)Adding text to tab panel (Ext GWT)
13.Adding Autoload ajax content to tab panel (Ext GWT)Adding Autoload ajax content to tab panel (Ext GWT)
14.Listen to tab selection event (Ext GWT)Listen to tab selection event (Ext GWT)
15.Adding icon to tab bar (Ext GWT)Adding icon to tab bar (Ext GWT)
16.Diable a tab item (Ext GWT)Diable a tab item (Ext GWT)
17.Using VerticalPanel to hold tab panel (Ext GWT)Using VerticalPanel to hold tab panel (Ext GWT)
18.Adding HTML content to a tab panel (Ext GWT)Adding HTML content to a tab panel (Ext GWT)
19.Adding new tab dynamically (Ext GWT)Adding new tab dynamically (Ext GWT)
20.Closable tab (Ext GWT)Closable tab (Ext GWT)
21.Enable tab context menu (Ext GWT)Enable tab context menu (Ext GWT)
22.Make tab scrollable (Ext GWT)Make tab scrollable (Ext GWT)
23.Set selected tab (Ext GWT)Set selected tab (Ext GWT)
24.Tabbed Form (Ext GWT)Tabbed Form (Ext GWT)