cc.kune.gspace.client.options.general.EntityOptGeneralPanel.java Source code

Java tutorial

Introduction

Here is the source code for cc.kune.gspace.client.options.general.EntityOptGeneralPanel.java

Source

/*
 *
 * Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under
 * one or more contributor license agreements (see COPYRIGHT for details).
 * The CA licenses this file to you under the GNU Affero General Public
 * License version 3, (the "License"); you may not use this file except in
 * compliance with the License. This file is part of kune.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
package cc.kune.gspace.client.options.general;

import cc.kune.common.client.ui.IconLabel;
import cc.kune.common.client.ui.MaskWidgetView;
import cc.kune.core.client.ui.DefaultForm;
import cc.kune.core.client.ui.dialogs.tabbed.TabTitleGenerator;
import cc.kune.gspace.client.options.EntityOptionsView;

import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.FieldEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;

// TODO: Auto-generated Javadoc
/**
 * The Class EntityOptGeneralPanel.
 * 
 * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado)
 */
public class EntityOptGeneralPanel extends DefaultForm implements EntityOptGeneralView {

    /** The Constant TAB_ID. */
    public static final String TAB_ID = "k-eodlp-gen-id";

    /** The mask widget. */
    private final MaskWidgetView maskWidget;

    /** The tab title. */
    private final IconLabel tabTitle;

    /**
     * Instantiates a new entity opt general panel.
     * 
     * @param maskWidget
     *          the mask widget
     * @param img
     *          the img
     * @param title
     *          the title
     * @param introMessage
     *          the intro message
     */
    public EntityOptGeneralPanel(final MaskWidgetView maskWidget, final ImageResource img, final String title,
            final String introMessage) {
        this.maskWidget = maskWidget;

        tabTitle = TabTitleGenerator.generate(img, title, MAX_TABTITLE_LENGTH, TAB_ID);
        super.setWidth(EntityOptionsView.WIDTH);
        super.setFrame(true);
        super.getFormPanel().setLabelWidth(100);
        super.addStyleName("k-overflow-y-auto");
        final Label label = new Label();
        label.setText(introMessage);
        label.addStyleName("kune-Margin-10-tb");
        super.add(label);
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.google.gwt.user.client.ui.IsWidget#asWidget()
     */
    @Override
    public Widget asWidget() {
        return super.getFormPanel();
    }

    /*
     * (non-Javadoc)
     * 
     * @see cc.kune.gspace.client.options.general.EntityOptGeneralView#clear()
     */
    @Override
    public void clear() {
        super.getFormPanel().removeAll();
        super.reset();
    }

    /*
     * (non-Javadoc)
     * 
     * @see cc.kune.gspace.client.options.EntityOptionsTabView#getTabTitle()
     */
    @Override
    public IsWidget getTabTitle() {
        return tabTitle;
    }

    /*
     * (non-Javadoc)
     * 
     * @see
     * cc.kune.gspace.client.options.general.EntityOptGeneralView#isRendered()
     */
    @Override
    public boolean isRendered() {
        return super.getFormPanel().isRendered();
    }

    /*
     * (non-Javadoc)
     * 
     * @see cc.kune.gspace.client.options.general.EntityOptGeneralView#mask()
     */
    @Override
    public void mask() {
        maskWidget.mask(this);
    }

    /*
     * (non-Javadoc)
     * 
     * @see
     * cc.kune.gspace.client.options.general.EntityOptGeneralView#setChangeHandler
     * (com.google.gwt.event.dom.client.ChangeHandler)
     */
    @Override
    public void setChangeHandler(final ChangeHandler changeHandler) {
        final Listener<BaseEvent> listener = new Listener<BaseEvent>() {
            @Override
            public void handleEvent(final BaseEvent be) {
                changeHandler.onChange(null);
            }
        };
        for (@SuppressWarnings("rawtypes")
        final Field field : super.getFormPanel().getFields()) {
            // field.addListener(Events.Change, listener);
            field.addListener(Events.Blur, listener);
            field.addListener(Events.OnKeyPress, new Listener<FieldEvent>() {
                @Override
                public void handleEvent(final FieldEvent fe) {
                    if (fe.getEvent().getKeyCode() == 13) {
                        changeHandler.onChange(null);
                    }
                }
            });
        }
    }

    /*
     * (non-Javadoc)
     * 
     * @see cc.kune.gspace.client.options.general.EntityOptGeneralView#unmask()
     */
    @Override
    public void unmask() {
        maskWidget.unMask();
    }
}