Package com.totsp.gwittir.client.ui

Source Code of com.totsp.gwittir.client.ui.TextBox

/*
* TextBox.java
*
* Created on July 16, 2007, 2:59 PM
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
*/
package com.totsp.gwittir.client.ui;

import com.google.gwt.core.client.GWT;
import java.util.Comparator;

import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ChangeListenerCollection;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FocusListener;
import com.google.gwt.user.client.ui.FocusListenerCollection;
import com.google.gwt.user.client.ui.HasFocus;
import com.google.gwt.user.client.ui.KeyboardListener;
import com.google.gwt.user.client.ui.SourcesClickEvents;
import com.google.gwt.user.client.ui.SourcesKeyboardEvents;
import com.google.gwt.user.client.ui.TextBoxBase;
import com.google.gwt.user.client.ui.Widget;
import com.totsp.gwittir.client.action.Action;


/**
*
* @author <a href="mailto:cooper@screaming-penguin.com">Robert "kebernet" Cooper</a>
*/
public class TextBox extends AbstractBoundWidget<String> implements HasFocus, HasEnabled, SourcesKeyboardEvents, SourcesClickEvents {
    private com.google.gwt.user.client.ui.TextBox base = new com.google.gwt.user.client.ui.TextBox();
    private ChangeListenerCollection changeListeners = new ChangeListenerCollection();
    private FocusListenerCollection focusListeners = new FocusListenerCollection();
    private String old;
    public TextBox() {
        this(false);
    }
   
    /** Creates a new instance of TextBox */
    public TextBox(final boolean updateOnKeypress) {
        final TextBox instance = this;
        old = base.getText();
        base.addFocusListener( new FocusListener(){

            public void onFocus(Widget sender) {
                focusListeners.fireFocus(TextBox.this);
            }

            public void onLostFocus(Widget sender) {
                focusListeners.fireLostFocus(TextBox.this);
            }
           
        });
       
        if(updateOnKeypress) {
            this.addKeyboardListener(new KeyboardListener() {
                public void onKeyPress(Widget sender, char keyCode,
                        int modifiers) {
                   
                    changes.firePropertyChange("value", old,
                            getValue() );
                    old = (String) getValue();
                   
                }
               
                public void onKeyDown(Widget sender, char keyCode,
                        int modifiers) {
                }
               
                public void onKeyUp(Widget sender, char keyCode,
                        int modifiers) {
                }
            });
        } else {
            this.addKeyboardListener( new KeyboardListener(){
                public void onKeyUp(Widget sender, char keyCode, int modifiers) {
                }

                public void onKeyPress(Widget sender, char keyCode, int modifiers) {
                    if( keyCode == KeyboardListener.KEY_ENTER ){
                        setFocus(false);
                        setFocus(true);
                    }
                }

                public void onKeyDown(Widget sender, char keyCode, int modifiers) {
                }
               
            });
        }
       
        this.base.addChangeListener(new ChangeListener() {
            public void onChange(Widget sender) {
               
                changes.firePropertyChange("value", old, getValue() );
                old = (String) getValue();
                changeListeners.fireChange(instance);
               
            }
        });
        super.initWidget(this.base);
    }
   
    public void addChangeListener(ChangeListener listener) {
        this.base.addChangeListener(listener);
    }
   
    public void addClickListener(ClickListener listener) {
        this.base.addClickListener(listener);
    }
   
    public void addFocusListener(FocusListener listener) {
        this.focusListeners.add(listener);
    }
   
    public void addKeyboardListener(KeyboardListener listener) {
        this.base.addKeyboardListener(listener);
    }
   
    public void cancelKey() {
        this.base.cancelKey();
    }
   
    public int getCursorPos() {
        int retValue;
       
        retValue = this.base.getCursorPos();
       
        return retValue;
    }
   
    public int getMaxLength() {
        int retValue;
       
        retValue = this.base.getMaxLength();
       
        return retValue;
    }
   
    public String getName() {
        String retValue;
       
        retValue = this.base.getName();
       
        return retValue;
    }
   
    public int getOffsetHeight() {
        int retValue;
       
        retValue = this.base.getOffsetHeight();
       
        return retValue;
    }
   
    public int getOffsetWidth() {
        int retValue;
       
        retValue = this.base.getOffsetWidth();
       
        return retValue;
    }
   
    public String getSelectedText() {
        String retValue;
       
        retValue = this.base.getSelectedText();
       
        return retValue;
    }
   
    public int getSelectionLength() {
        int retValue;
       
        retValue = this.base.getSelectionLength();
       
        return retValue;
    }
   
    public String getStyleName() {
        String retValue;
       
        retValue = this.base.getStyleName();
       
        return retValue;
    }
   
    public int getTabIndex() {
        return this.base.getTabIndex();
    }
   
    public String getText() {
        return this.base.getText();
    }
   
    public String getTitle() {
        return this.base.getTitle();
    }
   
    public String getValue() {
        try{
            return this.base.getText().length() == 0 ? null : this.base.getText();
        } catch(RuntimeException re){
            GWT.log( ""+this.base, re);
            return null;
        }
    }
   
    public int getVisibleLength() {
        return this.base.getVisibleLength();
    }
   
    @Override
    public void removeChangeListener(ChangeListener listener) {
        this.base.removeChangeListener(listener);
    }
   
    public void removeClickListener(ClickListener listener) {
        this.base.removeClickListener(listener);
    }
   
    public void removeFocusListener(FocusListener listener) {
        this.focusListeners.remove(listener);
    }
   
    public void removeKeyboardListener(KeyboardListener listener) {
        this.base.removeKeyboardListener(listener);
    }
   
    @Override
    public void removeStyleName(String style) {
        this.base.removeStyleName(style);
    }
   
    public void selectAll() {
        this.base.selectAll();
    }
   
    public void setAccessKey(char key) {
        this.base.setAccessKey(key);
    }
   
    public void setCursorPos(int pos) {
        this.base.setCursorPos(pos);
    }
   
    public void setEnabled(boolean enabled) {
        this.base.setEnabled(enabled);
    }
   
    public void setFocus(boolean focused) {
        this.base.setFocus(focused);
    }
   
    public void setHeight(String height) {
        this.base.setHeight(height);
    }
   
    public void setKey(char key) {
        this.base.setKey(key);
    }
   
    public void setMaxLength(int length) {
        this.base.setMaxLength(length);
    }
   
    public void setName(String name) {
        this.base.setName(name);
    }
   
    public void setPixelSize(int width, int height) {
        this.base.setPixelSize(width, height);
    }
   
    public void setReadOnly(boolean readOnly) {
    }
   
    public void setSelectionRange(int pos, int length) {
        this.base.setSelectionRange(pos, length);
    }
   
    public void setSize(String width, String height) {
        this.base.setSize(width, height);
    }
   
    public void setStyleName(String style) {
        this.base.setStyleName(style);
    }
   
    public void setTabIndex(int index) {
        this.base.setTabIndex(index);
    }
   
    public void setText(String text) {
        this.base.setText(text);
    }
   
    public void setTextAlignment(TextBoxBase.TextAlignConstant align) {
        this.base.setTextAlignment(align);
    }
   
    public void setTitle(String title) {
        this.base.setTitle(title);
    }
   
    public void setValue(String value) {
        old = this.getValue();
        this.setText(value);
        //if( this.getValue() != old && this.getValue() != null && !this.getValue().equals( old ) ){
        //the above doesn't fire a change on the case new==null, old!=null
        if (this.getValue() != old
       && (this.getValue() == null || (this.getValue() != null && !this
          .getValue().equals(old)))) {
            this.changes.firePropertyChange("value", old, this.getValue());
        }
        old = this.getValue();
    }
   
    public void setVisibleLength(int length) {
        this.base.setVisibleLength(length);
    }
   
    public void setWidth(String width) {
        this.base.setWidth(width);
    }
   
    public void sinkEvents(int eventBitsToAdd) {
        this.base.sinkEvents(eventBitsToAdd);
    }
   
    public void unsinkEvents(int eventBitsToRemove) {
        this.base.unsinkEvents(eventBitsToRemove);
    }
   
    public void setModel(Object model) {
        super.setModel(model);
    }
   
   
    public void setAction(Action action) {
        super.setAction(action);
    }
   
    public Comparator getComparator() {
        Comparator retValue;
       
        retValue = super.getComparator();
        return retValue;
    }
   
    public Object getModel() {
        Object retValue;
       
        retValue = super.getModel();
        return retValue;
    }
   
    public Action getAction() {
        Action retValue;
       
        retValue = super.getAction();
        return retValue;
    }

    public boolean isEnabled() {
        return this.base.isEnabled();
    }
   
}
TOP

Related Classes of com.totsp.gwittir.client.ui.TextBox

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.