Package name.shamansir.mvp4glayoutdemo.client.page.user.view

Source Code of name.shamansir.mvp4glayoutdemo.client.page.user.view.UserEditView$EditViewUiBinder

package name.shamansir.mvp4glayoutdemo.client.page.user.view;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiTemplate;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;

import name.shamansir.mvp4glayout.client.ui.Pluggable;
import name.shamansir.mvp4glayout.client.ui.state.State;
import name.shamansir.mvp4glayout.client.ui.widget.Plug;
import name.shamansir.mvp4glayout.client.ui.widget.StatedPortal;

import name.shamansir.mvp4glayoutdemo.client.page.user.presenter.UserEditPresenter.Display;
import name.shamansir.mvp4glayoutdemo.shared.dao.User;

public final class UserEditView extends StatedPortal implements Display {
   
    @UiTemplate("UserEditView.ui.xml")   
    interface EditViewUiBinder extends UiBinder<Widget, UserEditView> { } 
    private static EditViewUiBinder uiBinder = GWT.create(EditViewUiBinder.class);
   
    @UiField Plug ifEmpty;
    @UiField Plug whenLoading;
   
    @UiField Plug basicInfoPlug;
    @UiField Plug avatarPlug;
    @UiField Plug agePlug;
    @UiField Plug testPlug;
   
    @UiField TextBox name;
    @UiField TextBox familyName;
    @UiField TextBox age;
    @UiField TextBox avatar;
    @UiField Button save;
   
    private int currentUser = -1;
   
    public UserEditView() {
    }   
   
    @Override
    public void createView() {
      initWidget(uiBinder.createAndBindUi(this));
     
        register(ifEmpty, State.NO_DATA);
        register(whenLoading, State.LOADING_DATA);     
    }

    @Override
    public void prepareFor(State to) {
       
    }

    @Override
    public void clear() {
        currentUser = -1;
        name.setValue("");
        familyName.setValue("");
        age.setValue("");
        avatar.setValue("");
    }

    @Override
    public User collect() {
        final User result = new User(currentUser);
        result.name =  name.getValue();
        result.familyName =  familyName.getValue();
        result.age =  Integer.valueOf(age.getValue());
        result.avatar =  avatar.getValue();
        return result;
    }

    @Override
    public void showUser(User user) {
        this.currentUser = user.getId();
        name.setValue(user.name);
        familyName.setValue(user.familyName);
        age.setValue(String.valueOf(user.age));
        avatar.setValue(String.valueOf(user.avatar));
    }

    @Override
    public HasClickHandlers getSaveButton() { return save; }
   
    @Override
    public Pluggable getInfoEditor() { return basicInfoPlug; }

    @Override
    public Pluggable getAgeEditor() { return agePlug; }

    @Override
    public Pluggable getAvatarEditor() { return avatarPlug; }

    @Override
    public Pluggable getTestWidget() { return testPlug; }

    @Override
    public void userSavedAs(int newId) {
        this.currentUser = newId;
        Window.alert("User " + newId + " is saved");
    }

}
TOP

Related Classes of name.shamansir.mvp4glayoutdemo.client.page.user.view.UserEditView$EditViewUiBinder

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.