Package org.mevenide.idea.editor.pom.ui

Source Code of org.mevenide.idea.editor.pom.ui.DeploymentPanel

package org.mevenide.idea.editor.pom.ui;

import com.jgoodies.binding.adapter.Bindings;
import com.jgoodies.binding.beans.BeanAdapter;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
import javax.swing.*;
import org.mevenide.idea.Res;
import org.mevenide.idea.psi.project.PsiProject;
import org.mevenide.idea.util.ui.CustomFormsComponentFactory;

/**
* @author Arik
*/
public class DeploymentPanel extends AbstractPomLayerPanel {
    /**
     * Resources.
     */
    private static final Res RES = Res.getInstance(DeploymentPanel.class);

    private final JTextField siteAddressField = new JTextField();
    private final JTextField siteDirectoryField = new JTextField();
    private final JTextField distributionAddressField = new JTextField();
    private final JTextField distributionDirectoryField = new JTextField();

    protected final PsiProject project;
    protected final BeanAdapter model;

    public DeploymentPanel(final PsiProject psiProject) {
        project = psiProject;
        model = new BeanAdapter(project, true);

        layoutComponents();
        bindComponents();
    }

    private void layoutComponents() {
        final FormLayout layout = new FormLayout(
                "right:min, 2dlu, fill:pref:grow");
        DefaultFormBuilder builder = new DefaultFormBuilder(layout,
                                                            RES.getBundle(),
                                                            this);
        builder.setComponentFactory(CustomFormsComponentFactory.getInstance());

        builder.appendSeparator(RES.get("site.deployment.title"));
        builder.append(RES.get("site.address"), siteAddressField);
        builder.append(RES.get("site.directory"), siteDirectoryField);

        builder.appendSeparator(RES.get("dist.deployment.title"));
        builder.append(RES.get("dist.address"), distributionAddressField);
        builder.append(RES.get("dist.directory"), distributionDirectoryField);
    }

    private void bindComponents() {
        Bindings.bind(siteAddressField, model.getValueModel("siteAddress"));
        Bindings.bind(siteDirectoryField, model.getValueModel("siteDirectory"));
        Bindings.bind(distributionAddressField,
                      model.getValueModel("distributionAddress"));
        Bindings.bind(distributionDirectoryField,
                      model.getValueModel("distributionDirectory"));
    }
}
TOP

Related Classes of org.mevenide.idea.editor.pom.ui.DeploymentPanel

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.