Package org.gephi.datalab.plugin.manipulators.columns.merge.ui

Source Code of org.gephi.datalab.plugin.manipulators.columns.merge.ui.CreateTimeIntervalUI$ColumnWrapper

/*
Copyright 2008-2010 Gephi
Authors : Eduardo Ramos <eduramiba@gmail.com>
Website : http://www.gephi.org

This file is part of Gephi.

Gephi 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.

Gephi 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 Gephi.  If not, see <http://www.gnu.org/licenses/>.
*/
package org.gephi.datalab.plugin.manipulators.columns.merge.ui;

import java.awt.Color;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import org.gephi.data.attributes.api.AttributeColumn;
import org.gephi.datalab.plugin.manipulators.columns.merge.CreateTimeInterval;
import org.gephi.datalab.spi.DialogControls;
import org.gephi.datalab.spi.Manipulator;
import org.gephi.datalab.spi.ManipulatorUI;
import org.openide.util.NbPreferences;

/**
* UI for CreateTimeInterval
* @author Eduardo Ramos <eduramiba@gmail.com>
*/
public class CreateTimeIntervalUI extends javax.swing.JPanel implements ManipulatorUI {

    private static final Color INVALID_NUMBER_COLOR = new Color(254, 150, 150);
    private static final String PARSE_NUMBERS_SAVED_PARAMETER = "CreateTimeIntervalUI_parseNumbers";
    private static final String START_NUMBER_SAVED_PARAMETER = "CreateTimeIntervalUI_startNumber";
    private static final String END_NUMBER_SAVED_PARAMETER = "CreateTimeIntervalUI_endNumber";
    private static final String DATE_FORMAT_SAVED_PARAMETER = "CreateTimeIntervalUI_dateFormat";
    private static final String START_DATE_SAVED_PARAMETER = "CreateTimeIntervalUI_startDate";
    private static final String END_DATE_SAVED_PARAMETER = "CreateTimeIntervalUI_endDate";
    private CreateTimeInterval manipulator;
    private DialogControls dialogControls;
    private ColumnWrapper column1, column2;

    /** Creates new form CreateTimeIntervalUI */
    public CreateTimeIntervalUI() {
        initComponents();
        defaultStartNumberText.getDocument().addDocumentListener(new DocumentListener() {

            public void insertUpdate(DocumentEvent e) {
                refreshOkButton();
            }

            public void removeUpdate(DocumentEvent e) {
                refreshOkButton();
            }

            public void changedUpdate(DocumentEvent e) {
                refreshOkButton();
            }
        });
        defaultEndNumberText.getDocument().addDocumentListener(new DocumentListener() {

            public void insertUpdate(DocumentEvent e) {
                refreshOkButton();
            }

            public void removeUpdate(DocumentEvent e) {
                refreshOkButton();
            }

            public void changedUpdate(DocumentEvent e) {
                refreshOkButton();
            }
        });

        //Add some common date formats to choose:
        dateFormatComboBox.addItem("yyyy-MM-dd");
        dateFormatComboBox.addItem("yyyy/MM/dd");
        dateFormatComboBox.addItem("dd-MM-yyyy");
        dateFormatComboBox.addItem("dd/MM/yyyy");
        dateFormatComboBox.addItem("MM-dd-yyyy");
        dateFormatComboBox.addItem("MM/dd/yyyy");
        dateFormatComboBox.setSelectedIndex(0);
    }

    private void readSavedParameters() {
        parseNumbersRadioButton.setSelected(NbPreferences.forModule(CreateTimeIntervalUI.class).getBoolean(PARSE_NUMBERS_SAVED_PARAMETER, true));
        defaultStartNumberText.setText(NbPreferences.forModule(CreateTimeIntervalUI.class).get(START_NUMBER_SAVED_PARAMETER, ""));
        defaultEndNumberText.setText(NbPreferences.forModule(CreateTimeIntervalUI.class).get(END_NUMBER_SAVED_PARAMETER, ""));
        dateFormatComboBox.setSelectedIndex(NbPreferences.forModule(CreateTimeIntervalUI.class).getInt(DATE_FORMAT_SAVED_PARAMETER, 0));
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String date = NbPreferences.forModule(CreateTimeIntervalUI.class).get(START_DATE_SAVED_PARAMETER, "");
            if (!date.isEmpty()) {
                defaultStartDatePicker.setDate(sdf.parse(date));
            }
            date = NbPreferences.forModule(CreateTimeIntervalUI.class).get(END_DATE_SAVED_PARAMETER, "");
            if (!date.isEmpty()) {
                defaultEndDatePicker.setDate(sdf.parse(date));
            }
        } catch (ParseException ex) {
        }
    }

    private void storeSavedParameters() {
        NbPreferences.forModule(CreateTimeIntervalUI.class).putBoolean(PARSE_NUMBERS_SAVED_PARAMETER, parseNumbersRadioButton.isSelected());
        NbPreferences.forModule(CreateTimeIntervalUI.class).put(START_NUMBER_SAVED_PARAMETER, defaultStartNumberText.getText());
        NbPreferences.forModule(CreateTimeIntervalUI.class).put(END_NUMBER_SAVED_PARAMETER, defaultEndNumberText.getText());
        NbPreferences.forModule(CreateTimeIntervalUI.class).putInt(DATE_FORMAT_SAVED_PARAMETER, dateFormatComboBox.getSelectedIndex());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date;
        date = defaultStartDatePicker.getDate();
        if (date != null) {
            NbPreferences.forModule(CreateTimeIntervalUI.class).put(START_DATE_SAVED_PARAMETER, sdf.format(date));
        }
        date = defaultEndDatePicker.getDate();
        if (date != null) {
            NbPreferences.forModule(CreateTimeIntervalUI.class).put(END_DATE_SAVED_PARAMETER, sdf.format(date));
        }
    }

    public void setup(Manipulator m, DialogControls dialogControls) {
        this.manipulator = (CreateTimeInterval) m;
        this.dialogControls = dialogControls;
        AttributeColumn[] columns = manipulator.getColumns();
        column1 = new ColumnWrapper(columns[0]);
        if (columns.length == 2) {//2 columns were chosen to merge
            column2 = new ColumnWrapper(columns[1]);
        } else {//Only 1 column was chosen
            column2 = new ColumnWrapper(null);
        }
        startColumnComboBox.addItem(column1);
        startColumnComboBox.addItem(column2);
        endColumnComboBox.addItem(column1);
        endColumnComboBox.addItem(column2);
        readSavedParameters();
        refreshTimeParseMode();
        refreshOkButton();
    }

    public void unSetup() {
        if (dialogControls.isOkButtonEnabled()) {
            boolean parseNumbers = parseNumbersRadioButton.isSelected();
            manipulator.setParseNumbers(parseNumbers);
            manipulator.setStartColumn(((ColumnWrapper) startColumnComboBox.getSelectedItem()).column);
            manipulator.setEndColumn(((ColumnWrapper) endColumnComboBox.getSelectedItem()).column);
            if (parseNumbers) {
                if (defaultStartNumberText.getText().trim().isEmpty()) {
                    manipulator.setStartNumber(Double.NEGATIVE_INFINITY);
                } else {
                    manipulator.setStartNumber(Double.parseDouble(defaultStartNumberText.getText().trim()));
                }
                if (defaultEndNumberText.getText().trim().isEmpty()) {
                    manipulator.setEndNumber(Double.POSITIVE_INFINITY);
                } else {
                    manipulator.setEndNumber(Double.parseDouble(defaultEndNumberText.getText().trim()));
                }
            } else {
                SimpleDateFormat dateFormat = new SimpleDateFormat((String) dateFormatComboBox.getSelectedItem());
                manipulator.setDateFormat(dateFormat);
                manipulator.setStartDate(defaultStartDatePicker.getDate() != null ? dateFormat.format(defaultStartDatePicker.getDate()) : null);
                manipulator.setEndDate(defaultEndDatePicker.getDate() != null ? dateFormat.format(defaultEndDatePicker.getDate()) : null);
            }
        }
        storeSavedParameters();
    }

    public String getDisplayName() {
        return manipulator.getName();
    }

    public JPanel getSettingsPanel() {
        return this;
    }

    public boolean isModal() {
        return true;
    }

    private boolean validateNumberOrEmpty(JTextField textField) {
        if (parseNumbersRadioButton.isSelected()) {
            String text = textField.getText().trim();
            if (text.isEmpty()) {
                textField.setBackground(Color.WHITE);
                return true;
            } else {
                try {
                    Double.parseDouble(text);
                    textField.setBackground(Color.WHITE);
                    return true;
                } catch (Exception ex) {
                    textField.setBackground(INVALID_NUMBER_COLOR);
                    return false;
                }
            }
        } else {
            textField.setBackground(Color.WHITE);
            return true;
        }
    }

    private void refreshOkButton() {
        boolean enabled=validateNumberOrEmpty(defaultStartNumberText);
        enabled=validateNumberOrEmpty(defaultEndNumberText)&&enabled;
        dialogControls.setOkButtonEnabled(enabled);
    }

    private void refreshTimeParseMode() {
        boolean parseNumbers = parseNumbersRadioButton.isSelected();
        defaultStartNumberLabel.setEnabled(parseNumbers);
        defaultEndNumberLabel.setEnabled(parseNumbers);
        defaultStartNumberText.setEnabled(parseNumbers);
        defaultEndNumberText.setEnabled(parseNumbers);
        dateFormatLabel.setEnabled(!parseNumbers);
        dateFormatComboBox.setEnabled(!parseNumbers);
        dateDefaultStartLabel.setEnabled(!parseNumbers);
        dateDefaultEndLabel.setEnabled(!parseNumbers);
        defaultStartDatePicker.setEnabled(!parseNumbers);
        defaultEndDatePicker.setEnabled(!parseNumbers);
        refreshOkButton();
    }

    private class ColumnWrapper {

        private AttributeColumn column;

        public ColumnWrapper(AttributeColumn column) {
            this.column = column;
        }

        @Override
        public String toString() {
            return column != null ? column.getTitle() : "";
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup = new javax.swing.ButtonGroup();
        startColumnLabel = new javax.swing.JLabel();
        startColumnComboBox = new javax.swing.JComboBox();
        endColumnComboBox = new javax.swing.JComboBox();
        endColumnLabel = new javax.swing.JLabel();
        parseNumbersRadioButton = new javax.swing.JRadioButton();
        header = new org.jdesktop.swingx.JXHeader();
        parseDatesRadioButton = new javax.swing.JRadioButton();
        defaultStartDatePicker = new org.jdesktop.swingx.JXDatePicker();
        dateDefaultStartLabel = new javax.swing.JLabel();
        defaultEndDatePicker = new org.jdesktop.swingx.JXDatePicker();
        dateDefaultEndLabel = new javax.swing.JLabel();
        dateFormatLabel = new javax.swing.JLabel();
        dateFormatComboBox = new javax.swing.JComboBox();
        defaultStartNumberLabel = new javax.swing.JLabel();
        defaultEndNumberLabel = new javax.swing.JLabel();
        defaultStartNumberText = new javax.swing.JTextField();
        defaultEndNumberText = new javax.swing.JTextField();

        startColumnLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.startColumnLabel.text")); // NOI18N

        startColumnComboBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                startColumnComboBoxActionPerformed(evt);
            }
        });

        endColumnComboBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                endColumnComboBoxActionPerformed(evt);
            }
        });

        endColumnLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.endColumnLabel.text")); // NOI18N

        buttonGroup.add(parseNumbersRadioButton);
        parseNumbersRadioButton.setSelected(true);
        parseNumbersRadioButton.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.parseNumbersRadioButton.text")); // NOI18N
        parseNumbersRadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                parseNumbersRadioButtonActionPerformed(evt);
            }
        });

        header.setDescription(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.header.description")); // NOI18N
        header.setTitle(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.header.title")); // NOI18N

        buttonGroup.add(parseDatesRadioButton);
        parseDatesRadioButton.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.parseDatesRadioButton.text")); // NOI18N
        parseDatesRadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                parseDatesRadioButtonActionPerformed(evt);
            }
        });

        defaultStartDatePicker.setEnabled(false);

        dateDefaultStartLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.dateDefaultStartLabel.text")); // NOI18N
        dateDefaultStartLabel.setEnabled(false);

        defaultEndDatePicker.setEnabled(false);

        dateDefaultEndLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.dateDefaultEndLabel.text")); // NOI18N
        dateDefaultEndLabel.setEnabled(false);

        dateFormatLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.dateFormatLabel.text")); // NOI18N
        dateFormatLabel.setEnabled(false);

        dateFormatComboBox.setEnabled(false);

        defaultStartNumberLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.defaultStartNumberLabel.text")); // NOI18N

        defaultEndNumberLabel.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.defaultEndNumberLabel.text")); // NOI18N

        defaultStartNumberText.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.defaultStartNumberText.text")); // NOI18N

        defaultEndNumberText.setText(org.openide.util.NbBundle.getMessage(CreateTimeIntervalUI.class, "CreateTimeIntervalUI.defaultEndNumberText.text")); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(endColumnLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(startColumnLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(startColumnComboBox, 0, 180, Short.MAX_VALUE)
                    .addComponent(endColumnComboBox, 0, 180, Short.MAX_VALUE))
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(parseDatesRadioButton)
                .addContainerGap(216, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(parseNumbersRadioButton)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(defaultStartNumberLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addGap(15, 15, 15)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(dateDefaultStartLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(dateDefaultEndLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(dateFormatLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addComponent(defaultEndNumberLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(defaultStartDatePicker, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
                            .addComponent(defaultEndDatePicker, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
                            .addComponent(dateFormatComboBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, 170, Short.MAX_VALUE)
                            .addComponent(defaultStartNumberText, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
                            .addComponent(defaultEndNumberText, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE))))
                .addContainerGap())
            .addComponent(header, javax.swing.GroupLayout.DEFAULT_SIZE, 305, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(header, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(startColumnLabel)
                    .addComponent(startColumnComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(endColumnComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(endColumnLabel))
                .addGap(18, 18, 18)
                .addComponent(parseNumbersRadioButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(defaultStartNumberLabel)
                    .addComponent(defaultStartNumberText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(defaultEndNumberLabel)
                    .addComponent(defaultEndNumberText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(33, 33, 33)
                .addComponent(parseDatesRadioButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(dateFormatComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(dateFormatLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(defaultStartDatePicker, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(dateDefaultStartLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(dateDefaultEndLabel)
                    .addComponent(defaultEndDatePicker, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
    }// </editor-fold>//GEN-END:initComponents

    private void parseNumbersRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_parseNumbersRadioButtonActionPerformed
        refreshTimeParseMode();
    }//GEN-LAST:event_parseNumbersRadioButtonActionPerformed

    private void parseDatesRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_parseDatesRadioButtonActionPerformed
        refreshTimeParseMode();
    }//GEN-LAST:event_parseDatesRadioButtonActionPerformed

    private void startColumnComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_startColumnComboBoxActionPerformed
        if (startColumnComboBox.getSelectedItem() == column1) {
            endColumnComboBox.setSelectedItem(column2);
        } else {
            endColumnComboBox.setSelectedItem(column1);
        }
    }//GEN-LAST:event_startColumnComboBoxActionPerformed

    private void endColumnComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_endColumnComboBoxActionPerformed
        if (endColumnComboBox.getSelectedItem() == column1) {
            startColumnComboBox.setSelectedItem(column2);
        } else {
            startColumnComboBox.setSelectedItem(column1);
        }
    }//GEN-LAST:event_endColumnComboBoxActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroup;
    private javax.swing.JLabel dateDefaultEndLabel;
    private javax.swing.JLabel dateDefaultStartLabel;
    private javax.swing.JComboBox dateFormatComboBox;
    private javax.swing.JLabel dateFormatLabel;
    private org.jdesktop.swingx.JXDatePicker defaultEndDatePicker;
    private javax.swing.JLabel defaultEndNumberLabel;
    private javax.swing.JTextField defaultEndNumberText;
    private org.jdesktop.swingx.JXDatePicker defaultStartDatePicker;
    private javax.swing.JLabel defaultStartNumberLabel;
    private javax.swing.JTextField defaultStartNumberText;
    private javax.swing.JComboBox endColumnComboBox;
    private javax.swing.JLabel endColumnLabel;
    private org.jdesktop.swingx.JXHeader header;
    private javax.swing.JRadioButton parseDatesRadioButton;
    private javax.swing.JRadioButton parseNumbersRadioButton;
    private javax.swing.JComboBox startColumnComboBox;
    private javax.swing.JLabel startColumnLabel;
    // End of variables declaration//GEN-END:variables
}
TOP

Related Classes of org.gephi.datalab.plugin.manipulators.columns.merge.ui.CreateTimeIntervalUI$ColumnWrapper

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.