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

Source Code of org.mevenide.idea.editor.pom.ui.build.TestingPanel

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

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.editor.pom.ui.AbstractPomLayerPanel;
import org.mevenide.idea.psi.project.PsiProject;
import org.mevenide.idea.util.ui.CustomFormsComponentFactory;
import org.mevenide.idea.util.ui.UIUtils;

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

    /**
     * The unit tests source code directory field.
     */
    private final JTextField testsSourceDirField = new JTextField();

    /**
     * The directories locations panel.
     */
    private final JPanel dirsPanel = createDirectoriesPanel();

    /**
     * The test source code resources panel.
     */
    private final ResourcesPanel resources;

    /**
     * Creates an instance for the given file.
     */
    public TestingPanel(final PsiProject pProject) {
        final BeanAdapter model = new BeanAdapter(pProject, true);

        resources = new ResourcesPanel(pProject.getTestResources());
        Bindings.bind(testsSourceDirField,
                      model.getValueModel("unitTestSourceDirectory"));

        layoutComponents();
    }

    private void layoutComponents() {
        final String cols = "fill:min:grow";
        final String rows = "top:min, top:min, top:min, fill:min:grow";
        final FormLayout layout = new FormLayout(cols, rows);
        DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);
        builder.setComponentFactory(CustomFormsComponentFactory.getInstance());

        UIUtils.installBorder(dirsPanel);

        builder.appendSeparator(RES.get("test.dirs.title"));
        builder.append(dirsPanel);
        builder.appendSeparator(RES.get("test.patterns.title"));
        builder.append(resources);
    }

    /**
     * Creates the directories panel.
     *
     * @return panel
     */
    protected JPanel createDirectoriesPanel() {
        final FormLayout layout = new FormLayout("right:min, 2dlu, fill:pref:grow");
        DefaultFormBuilder builder = new DefaultFormBuilder(layout);
        builder.setComponentFactory(CustomFormsComponentFactory.getInstance());

        builder.append(RES.get("test.src.dir"), testsSourceDirField);
        return builder.getPanel();
    }
}
TOP

Related Classes of org.mevenide.idea.editor.pom.ui.build.TestingPanel

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.