Package com.dci.intellij.dbn.editor.data.options.ui

Source Code of com.dci.intellij.dbn.editor.data.options.ui.DataEditorFilterSettingsForm

package com.dci.intellij.dbn.editor.data.options.ui;

import com.dci.intellij.dbn.common.options.ui.ConfigurationEditorForm;
import com.dci.intellij.dbn.editor.data.filter.DatasetFilterType;
import com.dci.intellij.dbn.editor.data.options.DataEditorFilterSettings;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.ui.ColoredListCellRenderer;
import com.intellij.ui.SimpleTextAttributes;

import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JList;
import javax.swing.JPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class DataEditorFilterSettingsForm extends ConfigurationEditorForm<DataEditorFilterSettings> {
    private JPanel mainPanel;
    private JCheckBox promptFilterDialogCheckBox;
    private JComboBox defaultFilterTypeComboBox;

    public DataEditorFilterSettingsForm(DataEditorFilterSettings settings) {
        super(settings);
        defaultFilterTypeComboBox.addItem(DatasetFilterType.NONE);
        defaultFilterTypeComboBox.addItem(DatasetFilterType.BASIC);
        defaultFilterTypeComboBox.addItem(DatasetFilterType.CUSTOM);
        defaultFilterTypeComboBox.setRenderer(new ColoredListCellRenderer() {
            protected void customizeCellRenderer(JList list, Object value, int index, boolean selected, boolean hasFocus) {
                DatasetFilterType filterType = (DatasetFilterType) value;
                setIcon(filterType.getIcon());
                append(filterType.name(), SimpleTextAttributes.REGULAR_ATTRIBUTES);
            }
        });
        updateBorderTitleForeground(mainPanel);
        resetChanges();
        defaultFilterTypeComboBox.setEnabled(promptFilterDialogCheckBox.isSelected());
        registerComponent(promptFilterDialogCheckBox);
        registerComponent(defaultFilterTypeComboBox);
    }

    @Override
    protected ActionListener createActionListener() {
        return new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                getConfiguration().setModified(true);
                defaultFilterTypeComboBox.setEnabled(promptFilterDialogCheckBox.isSelected());
            }
        };
    }

    public JPanel getComponent() {
        return mainPanel;
    }

    public void applyChanges() throws ConfigurationException {
        DataEditorFilterSettings settings = getConfiguration();
        settings.setPromptFilterDialog(promptFilterDialogCheckBox.isSelected());
        settings.setDefaultFilterType((DatasetFilterType) defaultFilterTypeComboBox.getSelectedItem());
    }


    public void resetChanges() {
        DataEditorFilterSettings settings = getConfiguration();
        promptFilterDialogCheckBox.setSelected(settings.isPromptFilterDialog());
        defaultFilterTypeComboBox.setSelectedItem(settings.getDefaultFilterType());
    }
}
TOP

Related Classes of com.dci.intellij.dbn.editor.data.options.ui.DataEditorFilterSettingsForm

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.