Package com.dci.intellij.dbn.connection.ui

Source Code of com.dci.intellij.dbn.connection.ui.SelectCurrentSchemaForm

package com.dci.intellij.dbn.connection.ui;

import com.dci.intellij.dbn.common.ui.DBNForm;
import com.dci.intellij.dbn.common.ui.DBNFormImpl;
import com.dci.intellij.dbn.common.util.VirtualFileUtil;
import com.dci.intellij.dbn.connection.ConnectionHandler;
import com.dci.intellij.dbn.connection.mapping.FileConnectionMappingManager;
import com.dci.intellij.dbn.language.common.DBLanguageFile;
import com.dci.intellij.dbn.object.DBSchema;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;

import javax.swing.DefaultListModel;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import java.util.List;

public class SelectCurrentSchemaForm extends DBNFormImpl implements DBNForm {
    private JPanel mainPanel;
    private JLabel fileLabel;
    private JTextArea hintTextArea;
    private JList schemasList;
    private JLabel connectionLabel;

    public SelectCurrentSchemaForm(DBLanguageFile file, ConnectionHandler connectionHandler) {
        VirtualFile virtualFile = file.getVirtualFile();
        fileLabel.setText(virtualFile.getPath());
        fileLabel.setIcon(VirtualFileUtil.getIcon(virtualFile));
        connectionLabel.setText(connectionHandler.getName());
        connectionLabel.setIcon(connectionHandler.getIcon());
        schemasList.setCellRenderer(new ObjectListCellRenderer());

        Project project = connectionHandler.getProject();
        FileConnectionMappingManager connectionMappingManager = FileConnectionMappingManager.getInstance(project);
        DBSchema currentSchema = connectionMappingManager.getCurrentSchema(virtualFile);

        List<DBSchema> schemas = connectionHandler.getObjectBundle().getSchemas();
        DefaultListModel model = new DefaultListModel();

        for (DBSchema schema : schemas) {
            model.addElement(schema);
        }
        schemasList.setModel(model);
        schemasList.setSelectedValue(currentSchema, true);
    }

    public JPanel getComponent() {
        return mainPanel;
    }

    public void setHintMessage(String hint) {
        if (hint == null) {
            hintTextArea.setText(null);
            hintTextArea.setVisible(false);
        } else {
            hintTextArea.setText(hint);
        }
    }

    public DBSchema getSelectedSchema() {
        return (DBSchema) schemasList.getSelectedValue();
    }

    public JComponent getSchemasList() {
        return schemasList;
    }

    public void dispose() {
        super.dispose();
    }
}
TOP

Related Classes of com.dci.intellij.dbn.connection.ui.SelectCurrentSchemaForm

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.