repl.simple.mathematica.Ui.ConfigCenterPanel.java Source code

Java tutorial

Introduction

Here is the source code for repl.simple.mathematica.Ui.ConfigCenterPanel.java

Source

/*
Mathematica REPL IntelliJ IDEA plugin
Copyright (C) 2014  Aliaksandr Dubrouski
    
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
This program 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 General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package repl.simple.mathematica.Ui;

import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.ui.TextBrowseFolderListener;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.ui.ColorPanel;
import com.intellij.uiDesigner.core.GridConstraints;
import com.intellij.uiDesigner.core.GridLayoutManager;
import com.intellij.uiDesigner.core.Spacer;

import javax.swing.*;
import java.awt.*;

/**
 * Plugin path configuration component.
 */
public class ConfigCenterPanel {
    JPanel rootPanel;
    TextFieldWithBrowseButton mathLinkPath;
    TextFieldWithBrowseButton mathKernelPath;
    TextFieldWithBrowseButton nativeLibPath;

    JTextField mathLinkArgs;

    public ColorPanel getStringColor() {
        return stringColor;
    }

    public void setStringColor(ColorPanel stringColor) {
        this.stringColor = stringColor;
    }

    public ColorPanel getSystemColor() {
        return systemColor;
    }

    public void setSystemColor(ColorPanel systemColor) {
        this.systemColor = systemColor;
    }

    public ColorPanel getCommentColor() {
        return commentColor;
    }

    public void setCommentColor(ColorPanel commentColor) {
        this.commentColor = commentColor;
    }

    public ColorPanel getPromptColor() {
        return promptColor;
    }

    public void setPromptColor(ColorPanel promptColor) {
        this.promptColor = promptColor;
    }

    public ColorPanel getBackground() {
        return background;
    }

    public void setBackground(ColorPanel background) {
        this.background = background;
    }

    public ColorPanel getTextColor() {
        return textColor;
    }

    public void setTextColor(ColorPanel textColor) {
        this.textColor = textColor;
    }

    public ColorPanel getMessageColor() {
        return messageColor;
    }

    public void setMessageColor(ColorPanel messageColor) {
        this.messageColor = messageColor;
    }

    ColorPanel stringColor;
    ColorPanel systemColor;
    ColorPanel commentColor;
    ColorPanel promptColor;
    ColorPanel background;
    ColorPanel textColor;
    ColorPanel messageColor;
    JCheckBox syntaxHighlight;

    public ConfigCenterPanel() {
        mathLinkPath.addBrowseFolderListener(
                new TextBrowseFolderListener(new FileChooserDescriptor(true, false, true, false, false, false)));
        mathKernelPath.addBrowseFolderListener(
                new TextBrowseFolderListener(new FileChooserDescriptor(true, false, false, false, false, false)));
        nativeLibPath.addBrowseFolderListener(
                new TextBrowseFolderListener(new FileChooserDescriptor(false, true, false, false, false, false)));
    }

    public JPanel getRootPanel() {
        return rootPanel;
    }

    public String getMathLinkPath() {
        return mathLinkPath.getText();
    }

    public String getMathKernelPath() {
        return mathKernelPath.getText();
    }

    public String getNativeLibPath() {
        return nativeLibPath.getText();
    }

    public void setMathLinkPath(String path) {
        mathLinkPath.setText(path);
    }

    public void setMathKernelPath(String path) {
        mathKernelPath.setText(path);
    }

    public void setNativeLibPath(String path) {
        nativeLibPath.setText(path);
    }

    public String getMathLinkArgs() {
        return mathLinkArgs.getText();
    }

    public void setMathLinkArgs(String args) {
        mathLinkArgs.setText(args);
    }

    {
        // GUI initializer generated by IntelliJ IDEA GUI Designer
        // >>> IMPORTANT!! <<<
        // DO NOT EDIT OR ADD ANY CODE HERE!
        $$$setupUI$$$();
    }

    /**
     * Method generated by IntelliJ IDEA GUI Designer
     * >>> IMPORTANT!! <<<
     * DO NOT edit this method OR call it in your code!
     *
     * @noinspection ALL
     */
    private void $$$setupUI$$$() {
        rootPanel = new JPanel();
        rootPanel.setLayout(new GridLayoutManager(13, 2, new Insets(0, 0, 0, 0), -1, -1));
        final JLabel label1 = new JLabel();
        label1.setText("MathLink Path");
        rootPanel.add(label1,
                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label2 = new JLabel();
        label2.setText("MathKernel Path");
        rootPanel.add(label2,
                new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label3 = new JLabel();
        label3.setText("Native Library Path");
        rootPanel.add(label3,
                new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        mathLinkPath = new TextFieldWithBrowseButton();
        mathLinkPath.setText("");
        rootPanel.add(mathLinkPath,
                new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        mathKernelPath = new TextFieldWithBrowseButton();
        rootPanel.add(mathKernelPath,
                new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        nativeLibPath = new TextFieldWithBrowseButton();
        rootPanel.add(nativeLibPath,
                new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        final Spacer spacer1 = new Spacer();
        rootPanel.add(spacer1,
                new GridConstraints(12, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1,
                        GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
        final JLabel label4 = new JLabel();
        label4.setText("Math Link Arguments");
        rootPanel.add(label4,
                new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(135, 31), null, 0, false));
        mathLinkArgs = new JTextField();
        rootPanel.add(mathLinkArgs,
                new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, 31), null, 0, false));
        final JLabel label5 = new JLabel();
        label5.setText("Text Color");
        rootPanel.add(label5,
                new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label6 = new JLabel();
        label6.setText("Background");
        rootPanel.add(label6,
                new GridConstraints(5, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label7 = new JLabel();
        label7.setText("String Color");
        rootPanel.add(label7,
                new GridConstraints(6, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label8 = new JLabel();
        label8.setText("System Color");
        rootPanel.add(label8,
                new GridConstraints(7, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label9 = new JLabel();
        label9.setText("Comment Color");
        rootPanel.add(label9,
                new GridConstraints(8, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        final JLabel label10 = new JLabel();
        label10.setText("Prompt Color");
        rootPanel.add(label10,
                new GridConstraints(9, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        textColor = new ColorPanel();
        rootPanel.add(textColor,
                new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        background = new ColorPanel();
        rootPanel.add(background,
                new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        stringColor = new ColorPanel();
        rootPanel.add(stringColor,
                new GridConstraints(6, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        systemColor = new ColorPanel();
        rootPanel.add(systemColor,
                new GridConstraints(7, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        commentColor = new ColorPanel();
        rootPanel.add(commentColor,
                new GridConstraints(8, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        final JLabel label11 = new JLabel();
        label11.setText("Message Color");
        rootPanel.add(label11,
                new GridConstraints(10, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        promptColor = new ColorPanel();
        rootPanel.add(promptColor,
                new GridConstraints(9, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        messageColor = new ColorPanel();
        rootPanel.add(messageColor,
                new GridConstraints(10, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL,
                        GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null,
                        new Dimension(150, -1), null, 0, false));
        final JLabel label12 = new JLabel();
        label12.setText("Syntax Highlight");
        rootPanel.add(label12,
                new GridConstraints(11, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
                        false));
        syntaxHighlight = new JCheckBox();
        syntaxHighlight.setText("");
        rootPanel.add(syntaxHighlight,
                new GridConstraints(11, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                        GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
    }

    /**
     * @noinspection ALL
     */
    public JComponent $$$getRootComponent$$$() {
        return rootPanel;
    }
}