Package com.dci.intellij.dbn.navigation.options.ui

Source Code of com.dci.intellij.dbn.navigation.options.ui.ObjectsLookupSettingsForm

package com.dci.intellij.dbn.navigation.options.ui;

import com.dci.intellij.dbn.common.options.ui.ConfigurationEditorForm;
import com.dci.intellij.dbn.common.ui.KeyUtil;
import com.dci.intellij.dbn.common.ui.list.CheckBoxList;
import com.dci.intellij.dbn.navigation.options.ObjectsLookupSettings;
import com.intellij.openapi.actionSystem.Shortcut;
import com.intellij.openapi.keymap.KeymapUtil;
import com.intellij.openapi.options.ConfigurationException;

import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.border.TitledBorder;

public class ObjectsLookupSettingsForm extends ConfigurationEditorForm<ObjectsLookupSettings> {
    private JPanel mainPanel;
    private JScrollPane lookupObjectsScrollPane;
    private JRadioButton loadRadioButton;
    private JRadioButton noLoadRadioButton;
    private JRadioButton promptRadioButton;
    private JRadioButton noPromptRadioButton;
    private CheckBoxList lookupObjectsList;

    public ObjectsLookupSettingsForm(ObjectsLookupSettings configuration) {
        super(configuration);
        Shortcut[] shortcuts = KeyUtil.getShortcuts("DBNavigator.Actions.Navigation.GotoDatabaseObject");
        TitledBorder border = (TitledBorder) mainPanel.getBorder();
        border.setTitle("Lookup Objects (" + KeymapUtil.getShortcutsText(shortcuts) + ")");
        updateBorderTitleForeground(mainPanel);

        lookupObjectsList = new CheckBoxList(configuration.getLookupObjectTypes());
        lookupObjectsScrollPane.setViewportView(lookupObjectsList);

        boolean databaseLoadActive = getConfiguration().getForceDatabaseLoad().value();
        loadRadioButton.setSelected(databaseLoadActive);
        noLoadRadioButton.setSelected(!databaseLoadActive);

        boolean promptConnectionSelectionActive = getConfiguration().getPromptConnectionSelection().value();
        promptRadioButton.setSelected(promptConnectionSelectionActive);
        noPromptRadioButton.setSelected(!promptConnectionSelectionActive);

        registerComponents(
                lookupObjectsList,
                promptRadioButton,
                noPromptRadioButton,
                loadRadioButton,
                noLoadRadioButton);
    }

    @Override
    public void applyChanges() throws ConfigurationException {
        lookupObjectsList.applyChanges();
        getConfiguration().getForceDatabaseLoad().applyChanges(loadRadioButton);
        getConfiguration().getPromptConnectionSelection().applyChanges(promptRadioButton);
    }

    @Override
    public void resetChanges() {
        getConfiguration().getForceDatabaseLoad().applyChanges(loadRadioButton);
        getConfiguration().getPromptConnectionSelection().applyChanges(promptRadioButton);
    }

    public JComponent getComponent() {
        return mainPanel;
    }
}
TOP

Related Classes of com.dci.intellij.dbn.navigation.options.ui.ObjectsLookupSettingsForm

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.