Search in sources :

Example 1 with JWFNumberField

use of org.jwildfire.create.tina.swing.JWFNumberField in project JWildfire by thargor6.

the class IFlamesInternalFrame method getJContentPane.

private JPanel getJContentPane() {
    if (jContentPane == null) {
        jContentPane = new JPanel();
        jContentPane.setBorder(new EmptyBorder(2, 0, 0, 0));
        jContentPane.setLayout(new BorderLayout());
        mainTopPanel = new JPanel();
        mainTopPanel.setBorder(new TitledBorder(null, "", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        mainTopPanel.setPreferredSize(new Dimension(10, 70));
        jContentPane.add(mainTopPanel, BorderLayout.NORTH);
        mainTopPanel.setLayout(null);
        newButton = new JButton();
        newButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.newButton_clicked();
            }
        });
        newButton.setText("New IFlame");
        newButton.setPreferredSize(new Dimension(125, 52));
        newButton.setMnemonic(KeyEvent.VK_N);
        newButton.setMinimumSize(new Dimension(100, 52));
        newButton.setMaximumSize(new Dimension(32000, 52));
        newButton.setFont(new Font("Dialog", Font.BOLD, 10));
        newButton.setActionCommand("New from scratch");
        newButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/document-new-7.png")));
        newButton.setBounds(12, 10, 143, 48);
        mainTopPanel.add(newButton);
        loadIFlameFromClipboardButton = new JButton();
        loadIFlameFromClipboardButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.loadIFlameFromClipboardButton_clicked();
            }
        });
        loadIFlameFromClipboardButton.setText("From Clipboard");
        loadIFlameFromClipboardButton.setPreferredSize(new Dimension(125, 24));
        loadIFlameFromClipboardButton.setMinimumSize(new Dimension(100, 24));
        loadIFlameFromClipboardButton.setMaximumSize(new Dimension(32000, 24));
        loadIFlameFromClipboardButton.setFont(new Font("Dialog", Font.BOLD, 10));
        loadIFlameFromClipboardButton.setBounds(223, 10, 143, 24);
        mainTopPanel.add(loadIFlameFromClipboardButton);
        saveIFlameToClipboardButton = new JButton();
        saveIFlameToClipboardButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.saveIFlameToClipboardButton_clicked();
            }
        });
        saveIFlameToClipboardButton.setText("To Clipboard");
        saveIFlameToClipboardButton.setPreferredSize(new Dimension(125, 24));
        saveIFlameToClipboardButton.setMinimumSize(new Dimension(100, 24));
        saveIFlameToClipboardButton.setMaximumSize(new Dimension(32000, 24));
        saveIFlameToClipboardButton.setIconTextGap(2);
        saveIFlameToClipboardButton.setFont(new Font("Dialog", Font.BOLD, 10));
        saveIFlameToClipboardButton.setBounds(366, 10, 143, 24);
        mainTopPanel.add(saveIFlameToClipboardButton);
        loadIFlameButton = new JButton();
        loadIFlameButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.loadIFlameButton_clicked();
            }
        });
        loadIFlameButton.setText("Load IFlame...");
        loadIFlameButton.setPreferredSize(new Dimension(125, 24));
        loadIFlameButton.setMinimumSize(new Dimension(100, 24));
        loadIFlameButton.setMaximumSize(new Dimension(32000, 24));
        loadIFlameButton.setFont(new Font("Dialog", Font.BOLD, 10));
        loadIFlameButton.setBounds(223, 34, 143, 24);
        mainTopPanel.add(loadIFlameButton);
        saveIFlameButton = new JButton();
        saveIFlameButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.saveIFlameButton_clicked();
            }
        });
        saveIFlameButton.setText("Save IFlame...");
        saveIFlameButton.setPreferredSize(new Dimension(125, 24));
        saveIFlameButton.setMinimumSize(new Dimension(100, 24));
        saveIFlameButton.setMaximumSize(new Dimension(32000, 24));
        saveIFlameButton.setIconTextGap(2);
        saveIFlameButton.setFont(new Font("Dialog", Font.BOLD, 10));
        saveIFlameButton.setBounds(366, 34, 143, 24);
        mainTopPanel.add(saveIFlameButton);
        resolutionProfileCmb = new JComboBox();
        resolutionProfileCmb.setPreferredSize(new Dimension(125, 24));
        resolutionProfileCmb.setMinimumSize(new Dimension(100, 24));
        resolutionProfileCmb.setMaximumSize(new Dimension(32767, 24));
        resolutionProfileCmb.setMaximumRowCount(32);
        resolutionProfileCmb.setFont(new Font("Dialog", Font.BOLD, 10));
        resolutionProfileCmb.setBounds(882, 34, 143, 24);
        resolutionProfileCmb.addItemListener(new ItemListener() {

            public void itemStateChanged(ItemEvent e) {
                if (iflamesController != null) {
                    iflamesController.saveUndoPoint();
                    iflamesController.resolutionProfileCmb_changed();
                }
            }
        });
        mainTopPanel.add(resolutionProfileCmb);
        refreshLibraryButton = new JButton();
        refreshLibraryButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.reloadLibraryButton_clicked();
            }
        });
        refreshLibraryButton.setText("Refresh Library");
        refreshLibraryButton.setPreferredSize(new Dimension(125, 52));
        refreshLibraryButton.setMnemonic(KeyEvent.VK_N);
        refreshLibraryButton.setMinimumSize(new Dimension(100, 52));
        refreshLibraryButton.setMaximumSize(new Dimension(32000, 52));
        refreshLibraryButton.setFont(new Font("Dialog", Font.BOLD, 10));
        refreshLibraryButton.setActionCommand("New from scratch");
        refreshLibraryButton.setBounds(1027, 10, 143, 48);
        mainTopPanel.add(refreshLibraryButton);
        iflameToEditorButton = new JButton();
        iflameToEditorButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.iflameToEditorButton_clicked();
            }
        });
        iflameToEditorButton.setText("To Flames Editor");
        iflameToEditorButton.setPreferredSize(new Dimension(125, 52));
        iflameToEditorButton.setMnemonic(KeyEvent.VK_N);
        iflameToEditorButton.setMinimumSize(new Dimension(100, 52));
        iflameToEditorButton.setMaximumSize(new Dimension(32000, 52));
        iflameToEditorButton.setFont(new Font("Dialog", Font.BOLD, 10));
        iflameToEditorButton.setActionCommand("New from scratch");
        iflameToEditorButton.setBounds(557, 10, 143, 48);
        iflameToEditorButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/brick2.png")));
        mainTopPanel.add(iflameToEditorButton);
        clearCacheButton = new JButton();
        clearCacheButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.clearCacheButton_clicked();
            }
        });
        clearCacheButton.setToolTipText("Remove all cached data to free memory");
        clearCacheButton.setText("Clear cache");
        clearCacheButton.setPreferredSize(new Dimension(125, 24));
        clearCacheButton.setMinimumSize(new Dimension(100, 24));
        clearCacheButton.setMaximumSize(new Dimension(32000, 24));
        clearCacheButton.setIconTextGap(2);
        clearCacheButton.setFont(new Font("Dialog", Font.BOLD, 10));
        clearCacheButton.setBounds(882, 10, 143, 24);
        mainTopPanel.add(clearCacheButton);
        mainLeftPanel = new JPanel();
        mainLeftPanel.setBorder(new TitledBorder(null, "Image Library", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        mainLeftPanel.setPreferredSize(new Dimension(158, 10));
        jContentPane.add(mainLeftPanel, BorderLayout.WEST);
        mainLeftPanel.setLayout(new BorderLayout(0, 0));
        panel_1 = new JPanel();
        panel_1.setPreferredSize(new Dimension(10, 32));
        mainLeftPanel.add(panel_1, BorderLayout.NORTH);
        panel_1.setLayout(null);
        loadImagesButton = new JButton();
        loadImagesButton.setBounds(2, 6, 124, 24);
        panel_1.add(loadImagesButton);
        loadImagesButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.loadImagesButton_clicked();
            }
        });
        loadImagesButton.setText("Add Images...");
        loadImagesButton.setPreferredSize(new Dimension(125, 24));
        loadImagesButton.setMinimumSize(new Dimension(100, 24));
        loadImagesButton.setMaximumSize(new Dimension(32000, 24));
        loadImagesButton.setFont(new Font("Dialog", Font.BOLD, 10));
        loadImagesButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/document-open-5.png")));
        imageStackRootPanel = new JPanel();
        mainLeftPanel.add(imageStackRootPanel, BorderLayout.CENTER);
        imageStackRootPanel.setLayout(new BorderLayout(0, 0));
        mainRightPanel = new JPanel();
        mainRightPanel.setBorder(new TitledBorder(null, "Flame Library", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        mainRightPanel.setPreferredSize(new Dimension(158, 10));
        jContentPane.add(mainRightPanel, BorderLayout.EAST);
        mainRightPanel.setLayout(new BorderLayout(0, 0));
        panel = new JPanel();
        panel.setPreferredSize(new Dimension(10, 32));
        mainRightPanel.add(panel, BorderLayout.NORTH);
        panel.setLayout(null);
        loadFlamesButton = new JButton();
        loadFlamesButton.setBounds(2, 6, 124, 24);
        panel.add(loadFlamesButton);
        loadFlamesButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.loadFlamesButton_clicked();
            }
        });
        loadFlamesButton.setText("Add Flames...");
        loadFlamesButton.setPreferredSize(new Dimension(125, 24));
        loadFlamesButton.setMinimumSize(new Dimension(100, 24));
        loadFlamesButton.setMaximumSize(new Dimension(32000, 24));
        loadFlamesButton.setFont(new Font("Dialog", Font.BOLD, 10));
        loadFlamesButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/document-open-5.png")));
        flameStackRootPanel = new JPanel();
        mainRightPanel.add(flameStackRootPanel, BorderLayout.CENTER);
        flameStackRootPanel.setLayout(new BorderLayout(0, 0));
        mainBottomPanel = new JPanel();
        mainBottomPanel.setBorder(new TitledBorder(null, "Parameters", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        mainBottomPanel.setPreferredSize(new Dimension(10, 272));
        jContentPane.add(mainBottomPanel, BorderLayout.SOUTH);
        mainBottomPanel.setLayout(new BorderLayout(0, 0));
        panel_2 = new JPanel();
        panel_2.setBorder(new TitledBorder(null, "", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_2.setPreferredSize(new Dimension(346, 10));
        mainBottomPanel.add(panel_2, BorderLayout.WEST);
        panel_2.setLayout(null);
        JLabel lblFlame = new JLabel();
        lblFlame.setBounds(18, 6, 82, 22);
        panel_2.add(lblFlame);
        lblFlame.setText("Base-Flame");
        lblFlame.setPreferredSize(new Dimension(94, 22));
        lblFlame.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameCmb = new JComboBox();
        baseFlameCmb.setBounds(98, 6, 125, 22);
        panel_2.add(baseFlameCmb);
        baseFlameCmb.setPreferredSize(new Dimension(125, 22));
        baseFlameCmb.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlamePreviewRootPnl = new JPanel();
        baseFlamePreviewRootPnl.setBounds(18, 33, 204, 137);
        panel_2.add(baseFlamePreviewRootPnl);
        baseFlamePreviewRootPnl.setPreferredSize(new Dimension(240, 130));
        baseFlamePreviewRootPnl.setMinimumSize(new Dimension(160, 100));
        baseFlamePreviewRootPnl.setMaximumSize(new Dimension(32767, 160));
        baseFlamePreviewRootPnl.setLayout(new BorderLayout(0, 0));
        baseFlameFromClipboardButton = new JButton();
        baseFlameFromClipboardButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.baseFlameFromClipboardButton_clicked();
            }
        });
        baseFlameFromClipboardButton.setToolTipText("Replace the currently selected base-flame with the content of the clipboard");
        baseFlameFromClipboardButton.setText("From Clipboard");
        baseFlameFromClipboardButton.setPreferredSize(new Dimension(125, 24));
        baseFlameFromClipboardButton.setMinimumSize(new Dimension(100, 24));
        baseFlameFromClipboardButton.setMaximumSize(new Dimension(32000, 24));
        baseFlameFromClipboardButton.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameFromClipboardButton.setBounds(229, 26, 105, 24);
        panel_2.add(baseFlameFromClipboardButton);
        baseFlameToClipboardButton = new JButton();
        baseFlameToClipboardButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.baseFlameToClipboardButton_clicked();
            }
        });
        baseFlameToClipboardButton.setToolTipText("Copy the currently select base-flame to the clipboard");
        baseFlameToClipboardButton.setText("To Clipboard");
        baseFlameToClipboardButton.setPreferredSize(new Dimension(125, 24));
        baseFlameToClipboardButton.setMinimumSize(new Dimension(100, 24));
        baseFlameToClipboardButton.setMaximumSize(new Dimension(32000, 24));
        baseFlameToClipboardButton.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameToClipboardButton.setBounds(229, 52, 105, 24);
        panel_2.add(baseFlameToClipboardButton);
        baseFlameClearButton = new JButton();
        baseFlameClearButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.baseFlameClearButton_clicked();
            }
        });
        baseFlameClearButton.setToolTipText("Clear the currently selected base-flame");
        baseFlameClearButton.setText("Clear");
        baseFlameClearButton.setPreferredSize(new Dimension(125, 24));
        baseFlameClearButton.setMinimumSize(new Dimension(100, 24));
        baseFlameClearButton.setMaximumSize(new Dimension(32000, 24));
        baseFlameClearButton.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameClearButton.setBounds(229, 100, 105, 24);
        panel_2.add(baseFlameClearButton);
        baseFlameClearAllButton = new JButton();
        baseFlameClearAllButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.baseFlameClearAllButton_clicked();
            }
        });
        baseFlameClearAllButton.setToolTipText("Clear all base-flames");
        baseFlameClearAllButton.setText("Clear all");
        baseFlameClearAllButton.setPreferredSize(new Dimension(125, 24));
        baseFlameClearAllButton.setMinimumSize(new Dimension(100, 24));
        baseFlameClearAllButton.setMaximumSize(new Dimension(32000, 24));
        baseFlameClearAllButton.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameClearAllButton.setBounds(229, 126, 105, 24);
        panel_2.add(baseFlameClearAllButton);
        baseFlameClearOthersButton = new JButton();
        baseFlameClearOthersButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.baseFlameClearOthersButton_clicked();
            }
        });
        baseFlameClearOthersButton.setToolTipText("Clear all other flames except the current one");
        baseFlameClearOthersButton.setText("Clear others");
        baseFlameClearOthersButton.setPreferredSize(new Dimension(125, 24));
        baseFlameClearOthersButton.setMinimumSize(new Dimension(100, 24));
        baseFlameClearOthersButton.setMaximumSize(new Dimension(32000, 24));
        baseFlameClearOthersButton.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameClearOthersButton.setBounds(229, 152, 105, 24);
        panel_2.add(baseFlameClearOthersButton);
        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        mainBottomPanel.add(tabbedPane, BorderLayout.CENTER);
        JPanel panel_3 = new JPanel();
        tabbedPane.addTab("Edge Finding", null, panel_3, null);
        panel_3.setLayout(null);
        erodeSizeField = new JWFNumberField();
        erodeSizeField.setHasMinValue(true);
        erodeSizeField.setHasMaxValue(true);
        erodeSizeField.setMinValue(3.0);
        erodeSizeField.setMaxValue(9.0);
        erodeSizeField.setOnlyIntegers(true);
        erodeSizeField.setBounds(157, 108, 100, 24);
        panel_3.add(erodeSizeField);
        erodeSizeField.setValueStep(2.0);
        erodeSizeField.setText("");
        erodeSizeField.setPreferredSize(new Dimension(100, 24));
        erodeSizeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        erodeSizeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.erodeSizeField_changed();
                }
            }
        });
        JLabel lblSize = new JLabel();
        lblSize.setBounds(124, 108, 35, 22);
        panel_3.add(lblSize);
        lblSize.setToolTipText("");
        lblSize.setText("Size");
        lblSize.setPreferredSize(new Dimension(94, 22));
        lblSize.setFont(new Font("Dialog", Font.BOLD, 10));
        edgesNorthButton = new JToggleButton();
        edgesNorthButton.setToolTipText("");
        edgesNorthButton.setText("Edges North");
        edgesNorthButton.setPreferredSize(new Dimension(136, 24));
        edgesNorthButton.setFont(new Font("Dialog", Font.BOLD, 10));
        edgesNorthButton.setBounds(80, 6, 105, 24);
        edgesNorthButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.edgesNorthButton_clicked();
            }
        });
        panel_3.add(edgesNorthButton);
        edgesWestButton = new JToggleButton();
        edgesWestButton.setToolTipText("");
        edgesWestButton.setText("Edges West");
        edgesWestButton.setPreferredSize(new Dimension(136, 24));
        edgesWestButton.setFont(new Font("Dialog", Font.BOLD, 10));
        edgesWestButton.setBounds(6, 32, 105, 24);
        edgesWestButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.edgesWestButton_clicked();
            }
        });
        panel_3.add(edgesWestButton);
        edgesEastButton = new JToggleButton();
        edgesEastButton.setToolTipText("");
        edgesEastButton.setText("Edges East");
        edgesEastButton.setPreferredSize(new Dimension(136, 24));
        edgesEastButton.setFont(new Font("Dialog", Font.BOLD, 10));
        edgesEastButton.setBounds(152, 32, 105, 24);
        edgesEastButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.edgesEastButton_clicked();
            }
        });
        panel_3.add(edgesEastButton);
        edgesSouthButton = new JToggleButton();
        edgesSouthButton.setToolTipText("");
        edgesSouthButton.setText("Edges South");
        edgesSouthButton.setPreferredSize(new Dimension(136, 24));
        edgesSouthButton.setFont(new Font("Dialog", Font.BOLD, 10));
        edgesSouthButton.setBounds(80, 58, 105, 24);
        edgesSouthButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.edgesSouthButton_clicked();
            }
        });
        panel_3.add(edgesSouthButton);
        erodeButton = new JToggleButton();
        erodeButton.setToolTipText("");
        erodeButton.setText("Erode");
        erodeButton.setPreferredSize(new Dimension(136, 24));
        erodeButton.setFont(new Font("Dialog", Font.BOLD, 10));
        erodeButton.setBounds(7, 108, 105, 24);
        erodeButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.erodeButton_clicked();
            }
        });
        panel_3.add(erodeButton);
        displayPreprocessedImageButton = new JToggleButton();
        displayPreprocessedImageButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.displayPreprocessedImageButton_clicked();
            }
        });
        displayPreprocessedImageButton.setToolTipText("Display the pre-processed image");
        displayPreprocessedImageButton.setText("Display Preprocessed Image");
        displayPreprocessedImageButton.setPreferredSize(new Dimension(136, 24));
        displayPreprocessedImageButton.setFont(new Font("Dialog", Font.BOLD, 10));
        displayPreprocessedImageButton.setBounds(372, 32, 227, 24);
        panel_3.add(displayPreprocessedImageButton);
        maxImageWidthField = new JWFNumberField();
        maxImageWidthField.setHasMinValue(true);
        maxImageWidthField.setHasMaxValue(true);
        maxImageWidthField.setValueStep(50.0);
        maxImageWidthField.setText("");
        maxImageWidthField.setPreferredSize(new Dimension(100, 24));
        maxImageWidthField.setOnlyIntegers(true);
        maxImageWidthField.setMinValue(32.0);
        maxImageWidthField.setMaxValue(4096.0);
        maxImageWidthField.setFont(new Font("Dialog", Font.PLAIN, 10));
        maxImageWidthField.setBounds(499, 6, 100, 24);
        maxImageWidthField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.maxImageWidthField_changed();
                }
            }
        });
        panel_3.add(maxImageWidthField);
        JLabel lblMaximalImageSize = new JLabel();
        lblMaximalImageSize.setToolTipText("Reduce the image-width for faster preprocessing, ");
        lblMaximalImageSize.setText("Maximum Image Width");
        lblMaximalImageSize.setPreferredSize(new Dimension(94, 22));
        lblMaximalImageSize.setFont(new Font("Dialog", Font.BOLD, 10));
        lblMaximalImageSize.setBounds(372, 6, 125, 22);
        panel_3.add(lblMaximalImageSize);
        panel_5 = new JPanel();
        tabbedPane.addTab("Global Structure", null, panel_5, null);
        panel_5.setLayout(null);
        globalScaleXField = new JWFNumberField();
        globalScaleXField.setValueStep(0.05);
        globalScaleXField.setText("");
        globalScaleXField.setPreferredSize(new Dimension(100, 24));
        globalScaleXField.setFont(new Font("Dialog", Font.PLAIN, 10));
        globalScaleXField.setBounds(330, 6, 100, 24);
        globalScaleXField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.globalScaleXField_changed();
                }
            }
        });
        panel_5.add(globalScaleXField);
        JLabel lblScalex = new JLabel();
        lblScalex.setToolTipText("");
        lblScalex.setText("ScaleX");
        lblScalex.setPreferredSize(new Dimension(94, 22));
        lblScalex.setFont(new Font("Dialog", Font.BOLD, 10));
        lblScalex.setBounds(235, 8, 93, 22);
        panel_5.add(lblScalex);
        JLabel lblScaley = new JLabel();
        lblScaley.setToolTipText("");
        lblScaley.setText("ScaleY");
        lblScaley.setPreferredSize(new Dimension(94, 22));
        lblScaley.setFont(new Font("Dialog", Font.BOLD, 10));
        lblScaley.setBounds(235, 32, 93, 22);
        panel_5.add(lblScaley);
        globalScaleYField = new JWFNumberField();
        globalScaleYField.setValueStep(0.05);
        globalScaleYField.setText("");
        globalScaleYField.setPreferredSize(new Dimension(100, 24));
        globalScaleYField.setFont(new Font("Dialog", Font.PLAIN, 10));
        globalScaleYField.setBounds(330, 30, 100, 24);
        globalScaleYField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.globalScaleYField_changed();
                }
            }
        });
        panel_5.add(globalScaleYField);
        JLabel lblScalez = new JLabel();
        lblScalez.setToolTipText("");
        lblScalez.setText("ScaleZ");
        lblScalez.setPreferredSize(new Dimension(94, 22));
        lblScalez.setFont(new Font("Dialog", Font.BOLD, 10));
        lblScalez.setBounds(235, 56, 93, 22);
        panel_5.add(lblScalez);
        globalScaleZField = new JWFNumberField();
        globalScaleZField.setValueStep(0.05);
        globalScaleZField.setText("");
        globalScaleZField.setPreferredSize(new Dimension(100, 24));
        globalScaleZField.setFont(new Font("Dialog", Font.PLAIN, 10));
        globalScaleZField.setBounds(330, 54, 100, 24);
        globalScaleZField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.globalScaleZField_changed();
                }
            }
        });
        panel_5.add(globalScaleZField);
        globalOffsetXField = new JWFNumberField();
        globalOffsetXField.setValueStep(0.05);
        globalOffsetXField.setText("");
        globalOffsetXField.setPreferredSize(new Dimension(100, 24));
        globalOffsetXField.setFont(new Font("Dialog", Font.PLAIN, 10));
        globalOffsetXField.setBounds(566, 6, 100, 24);
        globalOffsetXField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.globalOffsetXField_changed();
                }
            }
        });
        panel_5.add(globalOffsetXField);
        JLabel lblOffsetx = new JLabel();
        lblOffsetx.setToolTipText("");
        lblOffsetx.setText("OffsetX");
        lblOffsetx.setPreferredSize(new Dimension(94, 22));
        lblOffsetx.setFont(new Font("Dialog", Font.BOLD, 10));
        lblOffsetx.setBounds(471, 8, 93, 22);
        panel_5.add(lblOffsetx);
        JLabel lblOffsety = new JLabel();
        lblOffsety.setToolTipText("");
        lblOffsety.setText("OffsetY");
        lblOffsety.setPreferredSize(new Dimension(94, 22));
        lblOffsety.setFont(new Font("Dialog", Font.BOLD, 10));
        lblOffsety.setBounds(471, 32, 93, 22);
        panel_5.add(lblOffsety);
        globalOffsetYField = new JWFNumberField();
        globalOffsetYField.setValueStep(0.05);
        globalOffsetYField.setText("");
        globalOffsetYField.setPreferredSize(new Dimension(100, 24));
        globalOffsetYField.setFont(new Font("Dialog", Font.PLAIN, 10));
        globalOffsetYField.setBounds(566, 30, 100, 24);
        globalOffsetYField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.globalOffsetYField_changed();
                }
            }
        });
        panel_5.add(globalOffsetYField);
        JLabel lblOffsetz = new JLabel();
        lblOffsetz.setToolTipText("");
        lblOffsetz.setText("OffsetZ");
        lblOffsetz.setPreferredSize(new Dimension(94, 22));
        lblOffsetz.setFont(new Font("Dialog", Font.BOLD, 10));
        lblOffsetz.setBounds(471, 56, 93, 22);
        panel_5.add(lblOffsetz);
        globalOffsetZField = new JWFNumberField();
        globalOffsetZField.setValueStep(0.05);
        globalOffsetZField.setText("");
        globalOffsetZField.setPreferredSize(new Dimension(100, 24));
        globalOffsetZField.setFont(new Font("Dialog", Font.PLAIN, 10));
        globalOffsetZField.setBounds(566, 54, 100, 24);
        globalOffsetZField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.globalOffsetZField_changed();
                }
            }
        });
        panel_5.add(globalOffsetZField);
        structureThresholdField = new JWFNumberField();
        structureThresholdField.setMaxValue(1.0);
        structureThresholdField.setHasMinValue(true);
        structureThresholdField.setHasMaxValue(true);
        structureThresholdField.setValueStep(0.05);
        structureThresholdField.setText("");
        structureThresholdField.setPreferredSize(new Dimension(100, 24));
        structureThresholdField.setFont(new Font("Dialog", Font.PLAIN, 10));
        structureThresholdField.setBounds(101, 6, 100, 24);
        structureThresholdField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.structureThresholdField_changed();
                }
            }
        });
        panel_5.add(structureThresholdField);
        JLabel lblThreshold = new JLabel();
        lblThreshold.setToolTipText("");
        lblThreshold.setText("Threshold");
        lblThreshold.setPreferredSize(new Dimension(94, 22));
        lblThreshold.setFont(new Font("Dialog", Font.BOLD, 10));
        lblThreshold.setBounds(6, 8, 93, 22);
        panel_5.add(lblThreshold);
        JLabel lblDensity = new JLabel();
        lblDensity.setToolTipText("");
        lblDensity.setText("Density");
        lblDensity.setPreferredSize(new Dimension(94, 22));
        lblDensity.setFont(new Font("Dialog", Font.BOLD, 10));
        lblDensity.setBounds(6, 34, 93, 22);
        panel_5.add(lblDensity);
        structureDensityField = new JWFNumberField();
        structureDensityField.setHasMinValue(true);
        structureDensityField.setHasMaxValue(true);
        structureDensityField.setMaxValue(1.0);
        structureDensityField.setValueStep(0.05);
        structureDensityField.setText("");
        structureDensityField.setPreferredSize(new Dimension(100, 24));
        structureDensityField.setFont(new Font("Dialog", Font.PLAIN, 10));
        structureDensityField.setBounds(101, 32, 100, 24);
        structureDensityField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.structureDensityField_changed();
                }
            }
        });
        panel_5.add(structureDensityField);
        shapeDistributionCmb = new JComboBox();
        shapeDistributionCmb.setPreferredSize(new Dimension(125, 22));
        shapeDistributionCmb.setFont(new Font("Dialog", Font.BOLD, 10));
        shapeDistributionCmb.setBounds(101, 56, 100, 22);
        shapeDistributionCmb.addItemListener(new ItemListener() {

            public void itemStateChanged(ItemEvent e) {
                if (iflamesController != null) {
                    iflamesController.shapeDistributionCmb_changed();
                }
            }
        });
        panel_5.add(shapeDistributionCmb);
        JLabel lblShapeDistribution = new JLabel();
        lblShapeDistribution.setToolTipText("");
        lblShapeDistribution.setText("Shape distribution");
        lblShapeDistribution.setPreferredSize(new Dimension(94, 22));
        lblShapeDistribution.setFont(new Font("Dialog", Font.BOLD, 10));
        lblShapeDistribution.setBounds(6, 58, 93, 22);
        panel_5.add(lblShapeDistribution);
        panel_4 = new JPanel();
        tabbedPane.addTab("Blending", null, panel_4, null);
        panel_4.setLayout(null);
        iflameBrightnessField = new JWFNumberField();
        iflameBrightnessField.setHasMinValue(true);
        iflameBrightnessField.setValueStep(0.05);
        iflameBrightnessField.setText("");
        iflameBrightnessField.setPreferredSize(new Dimension(100, 24));
        iflameBrightnessField.setFont(new Font("Dialog", Font.PLAIN, 10));
        iflameBrightnessField.setBounds(101, 6, 100, 24);
        iflameBrightnessField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.iflameBrightnessField_changed();
                }
            }
        });
        panel_4.add(iflameBrightnessField);
        JLabel lblIflameBrightness = new JLabel();
        lblIflameBrightness.setToolTipText("");
        lblIflameBrightness.setText("IFlame brightness");
        lblIflameBrightness.setPreferredSize(new Dimension(94, 22));
        lblIflameBrightness.setFont(new Font("Dialog", Font.BOLD, 10));
        lblIflameBrightness.setBounds(6, 8, 93, 22);
        panel_4.add(lblIflameBrightness);
        JLabel lblImageBrightness = new JLabel();
        lblImageBrightness.setToolTipText("");
        lblImageBrightness.setText("Image brightness");
        lblImageBrightness.setPreferredSize(new Dimension(94, 22));
        lblImageBrightness.setFont(new Font("Dialog", Font.BOLD, 10));
        lblImageBrightness.setBounds(6, 32, 93, 22);
        panel_4.add(lblImageBrightness);
        imageBrightnessField = new JWFNumberField();
        imageBrightnessField.setHasMinValue(true);
        imageBrightnessField.setValueStep(0.05);
        imageBrightnessField.setText("");
        imageBrightnessField.setPreferredSize(new Dimension(100, 24));
        imageBrightnessField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageBrightnessField.setBounds(101, 30, 100, 24);
        imageBrightnessField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageBrightnessField_changed();
                }
            }
        });
        panel_4.add(imageBrightnessField);
        JLabel lblIflameDensity = new JLabel();
        lblIflameDensity.setToolTipText("");
        lblIflameDensity.setText("IFlame density");
        lblIflameDensity.setPreferredSize(new Dimension(94, 22));
        lblIflameDensity.setFont(new Font("Dialog", Font.BOLD, 10));
        lblIflameDensity.setBounds(6, 56, 93, 22);
        panel_4.add(lblIflameDensity);
        iflameDensityField = new JWFNumberField();
        iflameDensityField.setMaxValue(1.0);
        iflameDensityField.setHasMinValue(true);
        iflameDensityField.setHasMaxValue(true);
        iflameDensityField.setValueStep(0.05);
        iflameDensityField.setText("");
        iflameDensityField.setPreferredSize(new Dimension(100, 24));
        iflameDensityField.setFont(new Font("Dialog", Font.PLAIN, 10));
        iflameDensityField.setBounds(101, 54, 100, 24);
        iflameDensityField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.iflameDensityField_changed();
                }
            }
        });
        panel_4.add(iflameDensityField);
        imageRedChangeField = new JWFNumberField();
        imageRedChangeField.setMinValue(-1.0);
        imageRedChangeField.setHasMaxValue(true);
        imageRedChangeField.setValueStep(0.05);
        imageRedChangeField.setText("");
        imageRedChangeField.setPreferredSize(new Dimension(100, 24));
        imageRedChangeField.setMaxValue(1.0);
        imageRedChangeField.setHasMinValue(true);
        imageRedChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageRedChangeField.setBounds(360, 5, 100, 24);
        imageRedChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageRedChangeField_changed();
                }
            }
        });
        panel_4.add(imageRedChangeField);
        JLabel lblRedChange = new JLabel();
        lblRedChange.setToolTipText("");
        lblRedChange.setText("Red change");
        lblRedChange.setPreferredSize(new Dimension(94, 22));
        lblRedChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblRedChange.setBounds(228, 7, 130, 22);
        panel_4.add(lblRedChange);
        JLabel lblGreenChange = new JLabel();
        lblGreenChange.setToolTipText("");
        lblGreenChange.setText("Green change");
        lblGreenChange.setPreferredSize(new Dimension(94, 22));
        lblGreenChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblGreenChange.setBounds(228, 31, 130, 22);
        panel_4.add(lblGreenChange);
        imageGreenChangeField = new JWFNumberField();
        imageGreenChangeField.setMinValue(-1.0);
        imageGreenChangeField.setHasMaxValue(true);
        imageGreenChangeField.setValueStep(0.05);
        imageGreenChangeField.setText("");
        imageGreenChangeField.setPreferredSize(new Dimension(100, 24));
        imageGreenChangeField.setMaxValue(1.0);
        imageGreenChangeField.setHasMinValue(true);
        imageGreenChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageGreenChangeField.setBounds(360, 29, 100, 24);
        imageGreenChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageGreenChangeField_changed();
                }
            }
        });
        panel_4.add(imageGreenChangeField);
        JLabel lblBlueChange = new JLabel();
        lblBlueChange.setToolTipText("");
        lblBlueChange.setText("Blue change");
        lblBlueChange.setPreferredSize(new Dimension(94, 22));
        lblBlueChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblBlueChange.setBounds(228, 56, 130, 22);
        panel_4.add(lblBlueChange);
        imageBlueChangeField = new JWFNumberField();
        imageBlueChangeField.setMinValue(-1.0);
        imageBlueChangeField.setValueStep(0.05);
        imageBlueChangeField.setText("");
        imageBlueChangeField.setPreferredSize(new Dimension(100, 24));
        imageBlueChangeField.setMaxValue(1.0);
        imageBlueChangeField.setHasMinValue(true);
        imageBlueChangeField.setHasMaxValue(true);
        imageBlueChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageBlueChangeField.setBounds(360, 54, 100, 24);
        imageBlueChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageBlueChangeField_changed();
                }
            }
        });
        panel_4.add(imageBlueChangeField);
        JLabel lblHslChange = new JLabel();
        lblHslChange.setToolTipText("");
        lblHslChange.setText("Hue change");
        lblHslChange.setPreferredSize(new Dimension(94, 22));
        lblHslChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblHslChange.setBounds(228, 88, 130, 22);
        panel_4.add(lblHslChange);
        imageHueChangeField = new JWFNumberField();
        imageHueChangeField.setValueStep(0.05);
        imageHueChangeField.setText("");
        imageHueChangeField.setPreferredSize(new Dimension(100, 24));
        imageHueChangeField.setMinValue(-1.0);
        imageHueChangeField.setMaxValue(1.0);
        imageHueChangeField.setHasMinValue(true);
        imageHueChangeField.setHasMaxValue(true);
        imageHueChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageHueChangeField.setBounds(360, 86, 100, 24);
        imageHueChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageHueChangeField_changed();
                }
            }
        });
        panel_4.add(imageHueChangeField);
        imageSaturationChangeField = new JWFNumberField();
        imageSaturationChangeField.setValueStep(0.05);
        imageSaturationChangeField.setText("");
        imageSaturationChangeField.setPreferredSize(new Dimension(100, 24));
        imageSaturationChangeField.setMinValue(-1.0);
        imageSaturationChangeField.setMaxValue(1.0);
        imageSaturationChangeField.setHasMinValue(true);
        imageSaturationChangeField.setHasMaxValue(true);
        imageSaturationChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageSaturationChangeField.setBounds(360, 110, 100, 24);
        imageSaturationChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageSaturationChangeField_changed();
                }
            }
        });
        panel_4.add(imageSaturationChangeField);
        JLabel lblSaturationChange = new JLabel();
        lblSaturationChange.setToolTipText("");
        lblSaturationChange.setText("Saturation change");
        lblSaturationChange.setPreferredSize(new Dimension(94, 22));
        lblSaturationChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSaturationChange.setBounds(228, 112, 130, 22);
        panel_4.add(lblSaturationChange);
        JLabel lblLightnessChange = new JLabel();
        lblLightnessChange.setToolTipText("");
        lblLightnessChange.setText("Lightness change");
        lblLightnessChange.setPreferredSize(new Dimension(94, 22));
        lblLightnessChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblLightnessChange.setBounds(228, 137, 130, 22);
        panel_4.add(lblLightnessChange);
        imageLightnessChangeField = new JWFNumberField();
        imageLightnessChangeField.setValueStep(0.05);
        imageLightnessChangeField.setText("");
        imageLightnessChangeField.setPreferredSize(new Dimension(100, 24));
        imageLightnessChangeField.setMinValue(-1.0);
        imageLightnessChangeField.setMaxValue(1.0);
        imageLightnessChangeField.setHasMinValue(true);
        imageLightnessChangeField.setHasMaxValue(true);
        imageLightnessChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        imageLightnessChangeField.setBounds(360, 135, 100, 24);
        imageLightnessChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.imageLightnessChangeField_changed();
                }
            }
        });
        panel_4.add(imageLightnessChangeField);
        panel_7 = new JPanel();
        tabbedPane.addTab("Base Flame Appearance", null, panel_7, null);
        panel_7.setLayout(new BorderLayout(0, 0));
        tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP);
        panel_7.add(tabbedPane_1);
        panel_9 = new JPanel();
        tabbedPane_1.addTab("Size and Orientation", null, panel_9, null);
        panel_9.setLayout(null);
        baseFlameSizeField = new JWFNumberField();
        baseFlameSizeField.setBounds(101, 6, 100, 24);
        panel_9.add(baseFlameSizeField);
        baseFlameSizeField.setValueStep(0.05);
        baseFlameSizeField.setText("");
        baseFlameSizeField.setPreferredSize(new Dimension(100, 24));
        baseFlameSizeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblSize_1 = new JLabel();
        lblSize_1.setBounds(6, 8, 93, 22);
        panel_9.add(lblSize_1);
        lblSize_1.setToolTipText("");
        lblSize_1.setText("Size");
        lblSize_1.setPreferredSize(new Dimension(94, 22));
        lblSize_1.setFont(new Font("Dialog", Font.BOLD, 10));
        JLabel lblSizeVariaton = new JLabel();
        lblSizeVariaton.setBounds(6, 32, 93, 22);
        panel_9.add(lblSizeVariaton);
        lblSizeVariaton.setToolTipText("");
        lblSizeVariaton.setText("Size Variaton");
        lblSizeVariaton.setPreferredSize(new Dimension(94, 22));
        lblSizeVariaton.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameSizeVariationField = new JWFNumberField();
        baseFlameSizeVariationField.setHasMinValue(true);
        baseFlameSizeVariationField.setBounds(101, 30, 100, 24);
        panel_9.add(baseFlameSizeVariationField);
        baseFlameSizeVariationField.setValueStep(0.05);
        baseFlameSizeVariationField.setText("");
        baseFlameSizeVariationField.setPreferredSize(new Dimension(100, 24));
        baseFlameSizeVariationField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameCentreXField = new JWFNumberField();
        baseFlameCentreXField.setBounds(101, 79, 100, 24);
        panel_9.add(baseFlameCentreXField);
        baseFlameCentreXField.setValueStep(0.05);
        baseFlameCentreXField.setText("");
        baseFlameCentreXField.setPreferredSize(new Dimension(100, 24));
        baseFlameCentreXField.setMaxValue(1.0);
        baseFlameCentreXField.setHasMinValue(true);
        baseFlameCentreXField.setHasMaxValue(true);
        baseFlameCentreXField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblCentrex = new JLabel();
        lblCentrex.setBounds(6, 81, 93, 22);
        panel_9.add(lblCentrex);
        lblCentrex.setToolTipText("");
        lblCentrex.setText("CentreX");
        lblCentrex.setPreferredSize(new Dimension(94, 22));
        lblCentrex.setFont(new Font("Dialog", Font.BOLD, 10));
        JLabel lblCentrey = new JLabel();
        lblCentrey.setBounds(6, 105, 93, 22);
        panel_9.add(lblCentrey);
        lblCentrey.setToolTipText("");
        lblCentrey.setText("CentreY");
        lblCentrey.setPreferredSize(new Dimension(94, 22));
        lblCentrey.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameCentreYField = new JWFNumberField();
        baseFlameCentreYField.setBounds(101, 103, 100, 24);
        panel_9.add(baseFlameCentreYField);
        baseFlameCentreYField.setValueStep(0.05);
        baseFlameCentreYField.setText("");
        baseFlameCentreYField.setPreferredSize(new Dimension(100, 24));
        baseFlameCentreYField.setMaxValue(1.0);
        baseFlameCentreYField.setHasMinValue(true);
        baseFlameCentreYField.setHasMaxValue(true);
        baseFlameCentreYField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblCentrez = new JLabel();
        lblCentrez.setBounds(6, 128, 93, 22);
        panel_9.add(lblCentrez);
        lblCentrez.setToolTipText("");
        lblCentrez.setText("CentreZ");
        lblCentrez.setPreferredSize(new Dimension(94, 22));
        lblCentrez.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameCentreZField = new JWFNumberField();
        baseFlameCentreZField.setBounds(101, 126, 100, 24);
        panel_9.add(baseFlameCentreZField);
        baseFlameCentreZField.setValueStep(0.05);
        baseFlameCentreZField.setText("");
        baseFlameCentreZField.setPreferredSize(new Dimension(100, 24));
        baseFlameCentreZField.setMaxValue(1.0);
        baseFlameCentreZField.setHasMinValue(true);
        baseFlameCentreZField.setHasMaxValue(true);
        baseFlameCentreZField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameRotateAlphaField = new JWFNumberField();
        baseFlameRotateAlphaField.setBounds(345, 6, 100, 24);
        panel_9.add(baseFlameRotateAlphaField);
        baseFlameRotateAlphaField.setValueStep(0.05);
        baseFlameRotateAlphaField.setText("");
        baseFlameRotateAlphaField.setPreferredSize(new Dimension(100, 24));
        baseFlameRotateAlphaField.setMaxValue(1.0);
        baseFlameRotateAlphaField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblRotate = new JLabel();
        lblRotate.setBounds(213, 8, 130, 22);
        panel_9.add(lblRotate);
        lblRotate.setToolTipText("");
        lblRotate.setText("Rotate Alpha");
        lblRotate.setPreferredSize(new Dimension(94, 22));
        lblRotate.setFont(new Font("Dialog", Font.BOLD, 10));
        JLabel lblRotateVariation = new JLabel();
        lblRotateVariation.setBounds(213, 32, 130, 22);
        panel_9.add(lblRotateVariation);
        lblRotateVariation.setToolTipText("");
        lblRotateVariation.setText("Rotate Alpha Variation");
        lblRotateVariation.setPreferredSize(new Dimension(94, 22));
        lblRotateVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameRotateAlphaVariationField = new JWFNumberField();
        baseFlameRotateAlphaVariationField.setHasMinValue(true);
        baseFlameRotateAlphaVariationField.setBounds(345, 30, 100, 24);
        panel_9.add(baseFlameRotateAlphaVariationField);
        baseFlameRotateAlphaVariationField.setValueStep(0.05);
        baseFlameRotateAlphaVariationField.setText("");
        baseFlameRotateAlphaVariationField.setPreferredSize(new Dimension(100, 24));
        baseFlameRotateAlphaVariationField.setMaxValue(1.0);
        baseFlameRotateAlphaVariationField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameRotateBetaField = new JWFNumberField();
        baseFlameRotateBetaField.setBounds(345, 55, 100, 24);
        panel_9.add(baseFlameRotateBetaField);
        baseFlameRotateBetaField.setValueStep(0.05);
        baseFlameRotateBetaField.setText("");
        baseFlameRotateBetaField.setPreferredSize(new Dimension(100, 24));
        baseFlameRotateBetaField.setMaxValue(1.0);
        baseFlameRotateBetaField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblRotateBeta = new JLabel();
        lblRotateBeta.setBounds(213, 57, 130, 22);
        panel_9.add(lblRotateBeta);
        lblRotateBeta.setToolTipText("");
        lblRotateBeta.setText("Rotate Beta");
        lblRotateBeta.setPreferredSize(new Dimension(94, 22));
        lblRotateBeta.setFont(new Font("Dialog", Font.BOLD, 10));
        JLabel lblRotateBetaVariation = new JLabel();
        lblRotateBetaVariation.setBounds(213, 81, 130, 22);
        panel_9.add(lblRotateBetaVariation);
        lblRotateBetaVariation.setToolTipText("");
        lblRotateBetaVariation.setText("Rotate Beta Variation");
        lblRotateBetaVariation.setPreferredSize(new Dimension(94, 22));
        lblRotateBetaVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameRotateBetaVariationField = new JWFNumberField();
        baseFlameRotateBetaVariationField.setHasMinValue(true);
        baseFlameRotateBetaVariationField.setBounds(345, 79, 100, 24);
        panel_9.add(baseFlameRotateBetaVariationField);
        baseFlameRotateBetaVariationField.setValueStep(0.05);
        baseFlameRotateBetaVariationField.setText("");
        baseFlameRotateBetaVariationField.setPreferredSize(new Dimension(100, 24));
        baseFlameRotateBetaVariationField.setMaxValue(1.0);
        baseFlameRotateBetaVariationField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblRotateGamma = new JLabel();
        lblRotateGamma.setBounds(213, 106, 130, 22);
        panel_9.add(lblRotateGamma);
        lblRotateGamma.setToolTipText("");
        lblRotateGamma.setText("Rotate Gamma");
        lblRotateGamma.setPreferredSize(new Dimension(94, 22));
        lblRotateGamma.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameRotateGammaField = new JWFNumberField();
        baseFlameRotateGammaField.setBounds(345, 104, 100, 24);
        panel_9.add(baseFlameRotateGammaField);
        baseFlameRotateGammaField.setValueStep(0.05);
        baseFlameRotateGammaField.setText("");
        baseFlameRotateGammaField.setPreferredSize(new Dimension(100, 24));
        baseFlameRotateGammaField.setMaxValue(1.0);
        baseFlameRotateGammaField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameRotateGammaVariationField = new JWFNumberField();
        baseFlameRotateGammaVariationField.setHasMinValue(true);
        baseFlameRotateGammaVariationField.setBounds(345, 128, 100, 24);
        panel_9.add(baseFlameRotateGammaVariationField);
        baseFlameRotateGammaVariationField.setValueStep(0.05);
        baseFlameRotateGammaVariationField.setText("");
        baseFlameRotateGammaVariationField.setPreferredSize(new Dimension(100, 24));
        baseFlameRotateGammaVariationField.setMaxValue(1.0);
        baseFlameRotateGammaVariationField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblRotateGammaVariation = new JLabel();
        lblRotateGammaVariation.setBounds(213, 130, 130, 22);
        panel_9.add(lblRotateGammaVariation);
        lblRotateGammaVariation.setToolTipText("");
        lblRotateGammaVariation.setText("Rotate Gamma Variation");
        lblRotateGammaVariation.setPreferredSize(new Dimension(94, 22));
        lblRotateGammaVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameInstancingCBx = new JCheckBox("Instancing");
        baseFlameInstancingCBx.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameInstancingCbx_changed();
                }
            }
        });
        baseFlameInstancingCBx.setBounds(464, 6, 104, 18);
        panel_9.add(baseFlameInstancingCBx);
        copyBaseFlameParamsToOthersButton = new JButton();
        copyBaseFlameParamsToOthersButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.copyBaseFlameParamsToOthersButton_clicked();
            }
        });
        copyBaseFlameParamsToOthersButton.setToolTipText("Copy the parameters of this base-flame to all other flames");
        copyBaseFlameParamsToOthersButton.setText("Copy params to others");
        copyBaseFlameParamsToOthersButton.setPreferredSize(new Dimension(125, 24));
        copyBaseFlameParamsToOthersButton.setMinimumSize(new Dimension(100, 24));
        copyBaseFlameParamsToOthersButton.setMaximumSize(new Dimension(32000, 24));
        copyBaseFlameParamsToOthersButton.setFont(new Font("Dialog", Font.BOLD, 10));
        copyBaseFlameParamsToOthersButton.setBounds(464, 128, 192, 24);
        panel_9.add(copyBaseFlameParamsToOthersButton);
        panel_10 = new JPanel();
        tabbedPane_1.addTab("Distribution", null, panel_10, null);
        panel_10.setLayout(null);
        baseFlameMinValueField = new JWFNumberField();
        baseFlameMinValueField.setMaxValue(1.0);
        baseFlameMinValueField.setHasMinValue(true);
        baseFlameMinValueField.setHasMaxValue(true);
        baseFlameMinValueField.setValueStep(0.05);
        baseFlameMinValueField.setText("");
        baseFlameMinValueField.setPreferredSize(new Dimension(100, 24));
        baseFlameMinValueField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameMinValueField.setBounds(101, 6, 100, 24);
        baseFlameMinValueField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameMinValueField_changed();
                }
            }
        });
        panel_10.add(baseFlameMinValueField);
        baseFlameMinValueLabel = new JLabel();
        baseFlameMinValueLabel.setToolTipText("");
        baseFlameMinValueLabel.setText("Min Value");
        baseFlameMinValueLabel.setPreferredSize(new Dimension(94, 22));
        baseFlameMinValueLabel.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameMinValueLabel.setBounds(6, 8, 93, 22);
        panel_10.add(baseFlameMinValueLabel);
        baseFlameMaxValueLabel = new JLabel();
        baseFlameMaxValueLabel.setToolTipText("");
        baseFlameMaxValueLabel.setText("Max Value");
        baseFlameMaxValueLabel.setPreferredSize(new Dimension(94, 22));
        baseFlameMaxValueLabel.setFont(new Font("Dialog", Font.BOLD, 10));
        baseFlameMaxValueLabel.setBounds(6, 32, 93, 22);
        panel_10.add(baseFlameMaxValueLabel);
        baseFlameMaxValueField = new JWFNumberField();
        baseFlameMaxValueField.setHasMinValue(true);
        baseFlameMaxValueField.setHasMaxValue(true);
        baseFlameMaxValueField.setMaxValue(1.0);
        baseFlameMaxValueField.setValueStep(0.05);
        baseFlameMaxValueField.setText("");
        baseFlameMaxValueField.setPreferredSize(new Dimension(100, 24));
        baseFlameMaxValueField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameMaxValueField.setBounds(101, 30, 100, 24);
        baseFlameMaxValueField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameMaxValueField_changed();
                }
            }
        });
        panel_10.add(baseFlameMaxValueField);
        baseFlameWeightField = new JWFNumberField();
        baseFlameWeightField.setHasMinValue(true);
        baseFlameWeightField.setValueStep(0.05);
        baseFlameWeightField.setText("");
        baseFlameWeightField.setPreferredSize(new Dimension(100, 24));
        baseFlameWeightField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameWeightField.setBounds(101, 66, 100, 24);
        baseFlameWeightField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameWeightField_changed();
                }
            }
        });
        panel_10.add(baseFlameWeightField);
        JLabel lblWeight = new JLabel();
        lblWeight.setToolTipText("");
        lblWeight.setText("Weight");
        lblWeight.setPreferredSize(new Dimension(94, 22));
        lblWeight.setFont(new Font("Dialog", Font.BOLD, 10));
        lblWeight.setBounds(6, 68, 93, 22);
        panel_10.add(lblWeight);
        baseFlameGridXOffsetField = new JWFNumberField();
        baseFlameGridXOffsetField.setOnlyIntegers(true);
        baseFlameGridXOffsetField.setValueStep(1.0);
        baseFlameGridXOffsetField.setText("");
        baseFlameGridXOffsetField.setPreferredSize(new Dimension(100, 24));
        baseFlameGridXOffsetField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameGridXOffsetField.setBounds(327, 6, 100, 24);
        baseFlameGridXOffsetField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameGridXOffsetField_changed();
                }
            }
        });
        panel_10.add(baseFlameGridXOffsetField);
        JLabel lblGridXOff = new JLabel();
        lblGridXOff.setToolTipText("");
        lblGridXOff.setText("Grid X Offset");
        lblGridXOff.setPreferredSize(new Dimension(94, 22));
        lblGridXOff.setFont(new Font("Dialog", Font.BOLD, 10));
        lblGridXOff.setBounds(232, 8, 93, 22);
        panel_10.add(lblGridXOff);
        JLabel lblGridYOffset = new JLabel();
        lblGridYOffset.setToolTipText("");
        lblGridYOffset.setText("Grid Y Offset");
        lblGridYOffset.setPreferredSize(new Dimension(94, 22));
        lblGridYOffset.setFont(new Font("Dialog", Font.BOLD, 10));
        lblGridYOffset.setBounds(232, 32, 93, 22);
        panel_10.add(lblGridYOffset);
        baseFlameGridYOffsetField = new JWFNumberField();
        baseFlameGridYOffsetField.setValueStep(1.0);
        baseFlameGridYOffsetField.setText("");
        baseFlameGridYOffsetField.setPreferredSize(new Dimension(100, 24));
        baseFlameGridYOffsetField.setOnlyIntegers(true);
        baseFlameGridYOffsetField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameGridYOffsetField.setBounds(327, 30, 100, 24);
        baseFlameGridYOffsetField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameGridYOffsetField_changed();
                }
            }
        });
        panel_10.add(baseFlameGridYOffsetField);
        JLabel lblGridXSize = new JLabel();
        lblGridXSize.setToolTipText("");
        lblGridXSize.setText("Grid X Size");
        lblGridXSize.setPreferredSize(new Dimension(94, 22));
        lblGridXSize.setFont(new Font("Dialog", Font.BOLD, 10));
        lblGridXSize.setBounds(232, 68, 93, 22);
        panel_10.add(lblGridXSize);
        baseFlameGridXSizeField = new JWFNumberField();
        baseFlameGridXSizeField.setMinValue(1.0);
        baseFlameGridXSizeField.setHasMinValue(true);
        baseFlameGridXSizeField.setValueStep(1.0);
        baseFlameGridXSizeField.setText("");
        baseFlameGridXSizeField.setPreferredSize(new Dimension(100, 24));
        baseFlameGridXSizeField.setOnlyIntegers(true);
        baseFlameGridXSizeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameGridXSizeField.setBounds(327, 66, 100, 24);
        baseFlameGridXSizeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameGridXSizeField_changed();
                }
            }
        });
        panel_10.add(baseFlameGridXSizeField);
        JLabel lblGridYSize = new JLabel();
        lblGridYSize.setToolTipText("");
        lblGridYSize.setText("Grid Y Size");
        lblGridYSize.setPreferredSize(new Dimension(94, 22));
        lblGridYSize.setFont(new Font("Dialog", Font.BOLD, 10));
        lblGridYSize.setBounds(232, 92, 93, 22);
        panel_10.add(lblGridYSize);
        baseFlameGridYSizeField = new JWFNumberField();
        baseFlameGridYSizeField.setMinValue(1.0);
        baseFlameGridYSizeField.setValueStep(1.0);
        baseFlameGridYSizeField.setText("");
        baseFlameGridYSizeField.setPreferredSize(new Dimension(100, 24));
        baseFlameGridYSizeField.setOnlyIntegers(true);
        baseFlameGridYSizeField.setHasMinValue(true);
        baseFlameGridYSizeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameGridYSizeField.setBounds(327, 90, 100, 24);
        baseFlameGridYSizeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameGridYSizeField_changed();
                }
            }
        });
        panel_10.add(baseFlameGridYSizeField);
        panel_20 = new JPanel();
        tabbedPane_1.addTab("Blending", null, panel_20, null);
        panel_20.setLayout(null);
        JLabel lblBrightnessMin = new JLabel();
        lblBrightnessMin.setToolTipText("");
        lblBrightnessMin.setText("Brightness Min");
        lblBrightnessMin.setPreferredSize(new Dimension(94, 22));
        lblBrightnessMin.setFont(new Font("Dialog", Font.BOLD, 10));
        lblBrightnessMin.setBounds(6, 8, 130, 22);
        panel_20.add(lblBrightnessMin);
        baseFlameBrightnessMinField = new JWFNumberField();
        baseFlameBrightnessMinField.setHasMinValue(true);
        baseFlameBrightnessMinField.setValueStep(0.05);
        baseFlameBrightnessMinField.setText("");
        baseFlameBrightnessMinField.setPreferredSize(new Dimension(100, 24));
        baseFlameBrightnessMinField.setMaxValue(1.0);
        baseFlameBrightnessMinField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameBrightnessMinField.setBounds(138, 6, 100, 24);
        baseFlameBrightnessMinField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameBrightnessMinField_changed();
                }
            }
        });
        panel_20.add(baseFlameBrightnessMinField);
        JLabel lblBrightnessMax = new JLabel();
        lblBrightnessMax.setToolTipText("");
        lblBrightnessMax.setText("Brightness Max");
        lblBrightnessMax.setPreferredSize(new Dimension(94, 22));
        lblBrightnessMax.setFont(new Font("Dialog", Font.BOLD, 10));
        lblBrightnessMax.setBounds(6, 32, 130, 22);
        panel_20.add(lblBrightnessMax);
        baseFlameBrightnessMaxField = new JWFNumberField();
        baseFlameBrightnessMaxField.setValueStep(0.05);
        baseFlameBrightnessMaxField.setText("");
        baseFlameBrightnessMaxField.setPreferredSize(new Dimension(100, 24));
        baseFlameBrightnessMaxField.setMaxValue(1.0);
        baseFlameBrightnessMaxField.setHasMinValue(true);
        baseFlameBrightnessMaxField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameBrightnessMaxField.setBounds(138, 30, 100, 24);
        baseFlameBrightnessMaxField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameBrightnessMaxField_changed();
                }
            }
        });
        panel_20.add(baseFlameBrightnessMaxField);
        JLabel lblBrightnessChange = new JLabel();
        lblBrightnessChange.setToolTipText("Probability to change brightness to a value between min and max, otherwise the min value is choosen");
        lblBrightnessChange.setText("Brightness Change");
        lblBrightnessChange.setPreferredSize(new Dimension(94, 22));
        lblBrightnessChange.setFont(new Font("Dialog", Font.BOLD, 10));
        lblBrightnessChange.setBounds(6, 57, 130, 22);
        panel_20.add(lblBrightnessChange);
        baseFlameBrightnessChangeField = new JWFNumberField();
        baseFlameBrightnessChangeField.setHasMinValue(true);
        baseFlameBrightnessChangeField.setHasMaxValue(true);
        baseFlameBrightnessChangeField.setValueStep(0.05);
        baseFlameBrightnessChangeField.setText("");
        baseFlameBrightnessChangeField.setPreferredSize(new Dimension(100, 24));
        baseFlameBrightnessChangeField.setMaxValue(1.0);
        baseFlameBrightnessChangeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        baseFlameBrightnessChangeField.setBounds(138, 55, 100, 24);
        baseFlameBrightnessChangeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameBrightnessChangeField_changed();
                }
            }
        });
        panel_20.add(baseFlameBrightnessChangeField);
        panel_12 = new JPanel();
        tabbedPane_1.addTab("Mutations", null, panel_12, null);
        panel_12.setLayout(null);
        paramMinValueField = new JWFNumberField();
        paramMinValueField.setValueStep(0.05);
        paramMinValueField.setText("");
        paramMinValueField.setPreferredSize(new Dimension(100, 24));
        paramMinValueField.setFont(new Font("Dialog", Font.PLAIN, 10));
        paramMinValueField.setBounds(101, 98, 100, 24);
        paramMinValueField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.paramMinValueField_changed();
                }
            }
        });
        panel_12.add(paramMinValueField);
        JLabel label = new JLabel();
        label.setToolTipText("");
        label.setText("Min Value");
        label.setPreferredSize(new Dimension(94, 22));
        label.setFont(new Font("Dialog", Font.BOLD, 10));
        label.setBounds(6, 100, 93, 22);
        panel_12.add(label);
        JLabel label_1 = new JLabel();
        label_1.setToolTipText("");
        label_1.setText("Max Value");
        label_1.setPreferredSize(new Dimension(94, 22));
        label_1.setFont(new Font("Dialog", Font.BOLD, 10));
        label_1.setBounds(6, 124, 93, 22);
        panel_12.add(label_1);
        paramMaxValueField = new JWFNumberField();
        paramMaxValueField.setValueStep(0.05);
        paramMaxValueField.setText("");
        paramMaxValueField.setPreferredSize(new Dimension(100, 24));
        paramMaxValueField.setFont(new Font("Dialog", Font.PLAIN, 10));
        paramMaxValueField.setBounds(101, 122, 100, 24);
        paramMaxValueField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.paramMaxValueField_changed();
                }
            }
        });
        panel_12.add(paramMaxValueField);
        selectedMutationCmb = new JComboBox();
        selectedMutationCmb.setPreferredSize(new Dimension(125, 22));
        selectedMutationCmb.setFont(new Font("Dialog", Font.BOLD, 10));
        selectedMutationCmb.setBounds(101, 6, 100, 22);
        selectedMutationCmb.addItemListener(new ItemListener() {

            public void itemStateChanged(ItemEvent e) {
                if (iflamesController != null) {
                    iflamesController.selectedMutationCmb_changed();
                }
            }
        });
        panel_12.add(selectedMutationCmb);
        JLabel lblMutation = new JLabel();
        lblMutation.setText("Mutation");
        lblMutation.setPreferredSize(new Dimension(94, 22));
        lblMutation.setFont(new Font("Dialog", Font.BOLD, 10));
        lblMutation.setBounds(6, 6, 82, 22);
        panel_12.add(lblMutation);
        JScrollPane scrollPane_2 = new JScrollPane();
        scrollPane_2.setBounds(210, 6, 279, 140);
        panel_12.add(scrollPane_2);
        paramPropertyPathTree = new JTree();
        paramPropertyPathTree.addTreeSelectionListener(new TreeSelectionListener() {

            public void valueChanged(TreeSelectionEvent e) {
                if (iflamesController != null) {
                    iflamesController.paramPropertyPathTree_changed();
                }
            }
        });
        paramPropertyPathTree.setRootVisible(false);
        scrollPane_2.setViewportView(paramPropertyPathTree);
        panel_17 = new JPanel();
        tabbedPane_1.addTab("Dynamics", null, panel_17, null);
        panel_17.setLayout(null);
        speedXField = new JWFNumberField();
        speedXField.setValueStep(0.05);
        speedXField.setText("");
        speedXField.setPreferredSize(new Dimension(100, 24));
        speedXField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedXField.setBounds(101, 6, 100, 24);
        speedXField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedXField_changed();
                }
            }
        });
        panel_17.add(speedXField);
        JLabel lblSpeedX = new JLabel();
        lblSpeedX.setToolTipText("");
        lblSpeedX.setText("Speed X");
        lblSpeedX.setPreferredSize(new Dimension(94, 22));
        lblSpeedX.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedX.setBounds(6, 8, 93, 22);
        panel_17.add(lblSpeedX);
        JLabel lblSpeedY = new JLabel();
        lblSpeedY.setToolTipText("");
        lblSpeedY.setText("Speed Y");
        lblSpeedY.setPreferredSize(new Dimension(94, 22));
        lblSpeedY.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedY.setBounds(6, 58, 93, 22);
        panel_17.add(lblSpeedY);
        speedYField = new JWFNumberField();
        speedYField.setValueStep(0.05);
        speedYField.setText("");
        speedYField.setPreferredSize(new Dimension(100, 24));
        speedYField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedYField.setBounds(101, 56, 100, 24);
        speedYField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedYField_changed();
                }
            }
        });
        panel_17.add(speedYField);
        JLabel lblSpeedZ = new JLabel();
        lblSpeedZ.setToolTipText("");
        lblSpeedZ.setText("Speed Z");
        lblSpeedZ.setPreferredSize(new Dimension(94, 22));
        lblSpeedZ.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedZ.setBounds(6, 106, 93, 22);
        panel_17.add(lblSpeedZ);
        speedZField = new JWFNumberField();
        speedZField.setValueStep(0.05);
        speedZField.setText("");
        speedZField.setPreferredSize(new Dimension(100, 24));
        speedZField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedZField.setBounds(101, 104, 100, 24);
        speedZField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedZField_changed();
                }
            }
        });
        panel_17.add(speedZField);
        speedXVarField = new JWFNumberField();
        speedXVarField.setHasMinValue(true);
        speedXVarField.setValueStep(0.05);
        speedXVarField.setText("");
        speedXVarField.setPreferredSize(new Dimension(100, 24));
        speedXVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedXVarField.setBounds(101, 30, 100, 24);
        speedXVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedXVarField_changed();
                }
            }
        });
        panel_17.add(speedXVarField);
        JLabel lblSpeedXVariation = new JLabel();
        lblSpeedXVariation.setToolTipText("");
        lblSpeedXVariation.setText("Speed X Variation");
        lblSpeedXVariation.setPreferredSize(new Dimension(94, 22));
        lblSpeedXVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedXVariation.setBounds(6, 32, 93, 22);
        panel_17.add(lblSpeedXVariation);
        JLabel lblSpeedYVariation = new JLabel();
        lblSpeedYVariation.setToolTipText("");
        lblSpeedYVariation.setText("Speed Y Variation");
        lblSpeedYVariation.setPreferredSize(new Dimension(94, 22));
        lblSpeedYVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedYVariation.setBounds(6, 82, 93, 22);
        panel_17.add(lblSpeedYVariation);
        speedYVarField = new JWFNumberField();
        speedYVarField.setHasMinValue(true);
        speedYVarField.setValueStep(0.05);
        speedYVarField.setText("");
        speedYVarField.setPreferredSize(new Dimension(100, 24));
        speedYVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedYVarField.setBounds(101, 80, 100, 24);
        speedYVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedYVarField_changed();
                }
            }
        });
        panel_17.add(speedYVarField);
        JLabel lblSpeedZVariation = new JLabel();
        lblSpeedZVariation.setToolTipText("");
        lblSpeedZVariation.setText("Speed Z Variation");
        lblSpeedZVariation.setPreferredSize(new Dimension(94, 22));
        lblSpeedZVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedZVariation.setBounds(6, 130, 93, 22);
        panel_17.add(lblSpeedZVariation);
        speedZVarField = new JWFNumberField();
        speedZVarField.setHasMinValue(true);
        speedZVarField.setValueStep(0.05);
        speedZVarField.setText("");
        speedZVarField.setPreferredSize(new Dimension(100, 24));
        speedZVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedZVarField.setBounds(101, 128, 100, 24);
        speedZVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedZVarField_changed();
                }
            }
        });
        panel_17.add(speedZVarField);
        speedAlphaField = new JWFNumberField();
        speedAlphaField.setValueStep(0.05);
        speedAlphaField.setText("");
        speedAlphaField.setPreferredSize(new Dimension(100, 24));
        speedAlphaField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedAlphaField.setBounds(318, 6, 100, 24);
        speedAlphaField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedAlphaField_changed();
                }
            }
        });
        panel_17.add(speedAlphaField);
        JLabel lblSpeedAlpha = new JLabel();
        lblSpeedAlpha.setToolTipText("");
        lblSpeedAlpha.setText("Speed Alpha");
        lblSpeedAlpha.setPreferredSize(new Dimension(94, 22));
        lblSpeedAlpha.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedAlpha.setBounds(223, 8, 93, 22);
        panel_17.add(lblSpeedAlpha);
        JLabel lblSpeedBeta = new JLabel();
        lblSpeedBeta.setToolTipText("");
        lblSpeedBeta.setText("Speed Beta");
        lblSpeedBeta.setPreferredSize(new Dimension(94, 22));
        lblSpeedBeta.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedBeta.setBounds(223, 58, 93, 22);
        panel_17.add(lblSpeedBeta);
        speedBetaField = new JWFNumberField();
        speedBetaField.setValueStep(0.05);
        speedBetaField.setText("");
        speedBetaField.setPreferredSize(new Dimension(100, 24));
        speedBetaField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedBetaField.setBounds(318, 56, 100, 24);
        speedBetaField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedBetaField_changed();
                }
            }
        });
        panel_17.add(speedBetaField);
        JLabel lblSpeedGamma = new JLabel();
        lblSpeedGamma.setToolTipText("");
        lblSpeedGamma.setText("Speed Gamma");
        lblSpeedGamma.setPreferredSize(new Dimension(94, 22));
        lblSpeedGamma.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedGamma.setBounds(223, 108, 93, 22);
        panel_17.add(lblSpeedGamma);
        speedGammaField = new JWFNumberField();
        speedGammaField.setValueStep(0.05);
        speedGammaField.setText("");
        speedGammaField.setPreferredSize(new Dimension(100, 24));
        speedGammaField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedGammaField.setBounds(318, 106, 100, 24);
        speedGammaField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedGammaField_changed();
                }
            }
        });
        panel_17.add(speedGammaField);
        JLabel lblSpeedAlphaVar = new JLabel();
        lblSpeedAlphaVar.setToolTipText("Speed Alpha Variation");
        lblSpeedAlphaVar.setText("Speed Alpha Var");
        lblSpeedAlphaVar.setPreferredSize(new Dimension(94, 22));
        lblSpeedAlphaVar.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedAlphaVar.setBounds(223, 32, 93, 22);
        panel_17.add(lblSpeedAlphaVar);
        JLabel lblSpeedBetaVar = new JLabel();
        lblSpeedBetaVar.setToolTipText("");
        lblSpeedBetaVar.setText("Speed Beta Var");
        lblSpeedBetaVar.setPreferredSize(new Dimension(94, 22));
        lblSpeedBetaVar.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedBetaVar.setBounds(223, 84, 93, 22);
        panel_17.add(lblSpeedBetaVar);
        JLabel lblSpeedGammaVar = new JLabel();
        lblSpeedGammaVar.setToolTipText("");
        lblSpeedGammaVar.setText("Speed Gamma Var");
        lblSpeedGammaVar.setPreferredSize(new Dimension(94, 22));
        lblSpeedGammaVar.setFont(new Font("Dialog", Font.BOLD, 10));
        lblSpeedGammaVar.setBounds(223, 130, 93, 22);
        panel_17.add(lblSpeedGammaVar);
        speedAlphaVarField = new JWFNumberField();
        speedAlphaVarField.setHasMinValue(true);
        speedAlphaVarField.setValueStep(0.05);
        speedAlphaVarField.setText("");
        speedAlphaVarField.setPreferredSize(new Dimension(100, 24));
        speedAlphaVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedAlphaVarField.setBounds(318, 30, 100, 24);
        speedAlphaVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedAlphaVarField_changed();
                }
            }
        });
        panel_17.add(speedAlphaVarField);
        speedBetaVarField = new JWFNumberField();
        speedBetaVarField.setHasMinValue(true);
        speedBetaVarField.setValueStep(0.05);
        speedBetaVarField.setText("");
        speedBetaVarField.setPreferredSize(new Dimension(100, 24));
        speedBetaVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedBetaVarField.setBounds(318, 82, 100, 24);
        speedBetaVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedBetaVarField_changed();
                }
            }
        });
        panel_17.add(speedBetaVarField);
        speedGammaVarField = new JWFNumberField();
        speedGammaVarField.setHasMinValue(true);
        speedGammaVarField.setValueStep(0.05);
        speedGammaVarField.setText("");
        speedGammaVarField.setPreferredSize(new Dimension(100, 24));
        speedGammaVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        speedGammaVarField.setBounds(318, 128, 100, 24);
        speedGammaVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.speedGammaVarField_changed();
                }
            }
        });
        panel_17.add(speedGammaVarField);
        JLabel lblRadialAccel = new JLabel();
        lblRadialAccel.setToolTipText("");
        lblRadialAccel.setText("Radial Accel");
        lblRadialAccel.setPreferredSize(new Dimension(94, 22));
        lblRadialAccel.setFont(new Font("Dialog", Font.BOLD, 10));
        lblRadialAccel.setBounds(440, 8, 93, 22);
        panel_17.add(lblRadialAccel);
        radialAccelField = new JWFNumberField();
        radialAccelField.setValueStep(0.05);
        radialAccelField.setText("");
        radialAccelField.setPreferredSize(new Dimension(100, 24));
        radialAccelField.setFont(new Font("Dialog", Font.PLAIN, 10));
        radialAccelField.setBounds(535, 6, 100, 24);
        radialAccelField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.radialAccelField_changed();
                }
            }
        });
        panel_17.add(radialAccelField);
        JLabel lblRadialAccelVar = new JLabel();
        lblRadialAccelVar.setToolTipText("");
        lblRadialAccelVar.setText("Radial Accel Var");
        lblRadialAccelVar.setPreferredSize(new Dimension(94, 22));
        lblRadialAccelVar.setFont(new Font("Dialog", Font.BOLD, 10));
        lblRadialAccelVar.setBounds(440, 32, 93, 22);
        panel_17.add(lblRadialAccelVar);
        radialAccelVarField = new JWFNumberField();
        radialAccelVarField.setValueStep(0.05);
        radialAccelVarField.setText("");
        radialAccelVarField.setPreferredSize(new Dimension(100, 24));
        radialAccelVarField.setHasMinValue(true);
        radialAccelVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        radialAccelVarField.setBounds(535, 30, 100, 24);
        radialAccelVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.radialAccelVarField_changed();
                }
            }
        });
        panel_17.add(radialAccelVarField);
        JLabel lblTangentialAccel = new JLabel();
        lblTangentialAccel.setToolTipText("");
        lblTangentialAccel.setText("Tangential Accel");
        lblTangentialAccel.setPreferredSize(new Dimension(94, 22));
        lblTangentialAccel.setFont(new Font("Dialog", Font.BOLD, 10));
        lblTangentialAccel.setBounds(440, 60, 93, 22);
        panel_17.add(lblTangentialAccel);
        tangentialAccelField = new JWFNumberField();
        tangentialAccelField.setValueStep(0.05);
        tangentialAccelField.setText("");
        tangentialAccelField.setPreferredSize(new Dimension(100, 24));
        tangentialAccelField.setFont(new Font("Dialog", Font.PLAIN, 10));
        tangentialAccelField.setBounds(535, 58, 100, 24);
        tangentialAccelField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.tangentialAccelField_changed();
                }
            }
        });
        panel_17.add(tangentialAccelField);
        JLabel lblTangentAccelVar = new JLabel();
        lblTangentAccelVar.setToolTipText("");
        lblTangentAccelVar.setText("Tangent Accel Var");
        lblTangentAccelVar.setPreferredSize(new Dimension(94, 22));
        lblTangentAccelVar.setFont(new Font("Dialog", Font.BOLD, 10));
        lblTangentAccelVar.setBounds(440, 84, 93, 22);
        panel_17.add(lblTangentAccelVar);
        tangentialAccelVarField = new JWFNumberField();
        tangentialAccelVarField.setValueStep(0.05);
        tangentialAccelVarField.setText("");
        tangentialAccelVarField.setPreferredSize(new Dimension(100, 24));
        tangentialAccelVarField.setHasMinValue(true);
        tangentialAccelVarField.setFont(new Font("Dialog", Font.PLAIN, 10));
        tangentialAccelVarField.setBounds(535, 82, 100, 24);
        tangentialAccelVarField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.tangentialAccelVarField_changed();
                }
            }
        });
        panel_17.add(tangentialAccelVarField);
        copyDynamicsParamsToOthersButton = new JButton();
        copyDynamicsParamsToOthersButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.copyDynamicsParamsToOthersButton_clicked();
            }
        });
        copyDynamicsParamsToOthersButton.setBounds(440, 129, 192, 24);
        panel_17.add(copyDynamicsParamsToOthersButton);
        copyDynamicsParamsToOthersButton.setToolTipText("Copy the parameters of this base-flame to all other flames");
        copyDynamicsParamsToOthersButton.setText("Copy params to others");
        copyDynamicsParamsToOthersButton.setPreferredSize(new Dimension(125, 24));
        copyDynamicsParamsToOthersButton.setMinimumSize(new Dimension(100, 24));
        copyDynamicsParamsToOthersButton.setMaximumSize(new Dimension(32000, 24));
        copyDynamicsParamsToOthersButton.setFont(new Font("Dialog", Font.BOLD, 10));
        panel_13 = new JPanel();
        tabbedPane.addTab("Dynamics", null, panel_13, null);
        panel_13.setLayout(new BorderLayout(0, 0));
        JPanel panel_14 = new JPanel();
        panel_14.setPreferredSize(new Dimension(10, 64));
        panel_13.add(panel_14, BorderLayout.NORTH);
        panel_14.setLayout(null);
        motionLifeTimeField = new JWFNumberField();
        motionLifeTimeField.setHasMinValue(true);
        motionLifeTimeField.setValueStep(0.05);
        motionLifeTimeField.setText("");
        motionLifeTimeField.setPreferredSize(new Dimension(100, 24));
        motionLifeTimeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        motionLifeTimeField.setBounds(101, 6, 100, 24);
        motionLifeTimeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.motionLifeTimeField_changed();
                }
            }
        });
        panel_14.add(motionLifeTimeField);
        JLabel lblLifeTime = new JLabel();
        lblLifeTime.setToolTipText("");
        lblLifeTime.setText("Life time");
        lblLifeTime.setPreferredSize(new Dimension(94, 22));
        lblLifeTime.setFont(new Font("Dialog", Font.BOLD, 10));
        lblLifeTime.setBounds(6, 8, 93, 22);
        panel_14.add(lblLifeTime);
        JLabel lblLifeTimeVariation = new JLabel();
        lblLifeTimeVariation.setToolTipText("");
        lblLifeTimeVariation.setText("Life time variation");
        lblLifeTimeVariation.setPreferredSize(new Dimension(94, 22));
        lblLifeTimeVariation.setFont(new Font("Dialog", Font.BOLD, 10));
        lblLifeTimeVariation.setBounds(6, 32, 93, 22);
        panel_14.add(lblLifeTimeVariation);
        motionLifeTimeVariationField = new JWFNumberField();
        motionLifeTimeVariationField.setHasMinValue(true);
        motionLifeTimeVariationField.setValueStep(0.05);
        motionLifeTimeVariationField.setText("");
        motionLifeTimeVariationField.setPreferredSize(new Dimension(100, 24));
        motionLifeTimeVariationField.setFont(new Font("Dialog", Font.PLAIN, 10));
        motionLifeTimeVariationField.setBounds(101, 30, 100, 24);
        motionLifeTimeVariationField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.motionLifeTimeVariationField_changed();
                }
            }
        });
        panel_14.add(motionLifeTimeVariationField);
        JLabel lblPropertiesIndicatedBy = new JLabel();
        lblPropertiesIndicatedBy.setToolTipText("");
        lblPropertiesIndicatedBy.setText("Properties indicated by a star-symbol may be animated by using motion-curves");
        lblPropertiesIndicatedBy.setPreferredSize(new Dimension(94, 22));
        lblPropertiesIndicatedBy.setFont(new Font("Dialog", Font.BOLD, 10));
        lblPropertiesIndicatedBy.setBounds(213, 8, 399, 22);
        panel_14.add(lblPropertiesIndicatedBy);
        JPanel panel_15 = new JPanel();
        panel_13.add(panel_15, BorderLayout.CENTER);
        panel_15.setLayout(new BorderLayout(0, 0));
        JTabbedPane tabbedPane_2 = new JTabbedPane(JTabbedPane.TOP);
        panel_15.add(tabbedPane_2, BorderLayout.CENTER);
        JPanel panel_16 = new JPanel();
        tabbedPane_2.addTab("Force", null, panel_16, null);
        panel_16.setLayout(null);
        motionForceXField = new JWFNumberField();
        motionForceXField.setValueStep(0.05);
        motionForceXField.setText("");
        motionForceXField.setPreferredSize(new Dimension(100, 24));
        motionForceXField.setFont(new Font("Dialog", Font.PLAIN, 10));
        motionForceXField.setBounds(101, 6, 100, 24);
        motionForceXField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.motionForceXField_changed();
                }
            }
        });
        panel_16.add(motionForceXField);
        motionForceYField = new JWFNumberField();
        motionForceYField.setValueStep(0.05);
        motionForceYField.setText("");
        motionForceYField.setPreferredSize(new Dimension(100, 24));
        motionForceYField.setFont(new Font("Dialog", Font.PLAIN, 10));
        motionForceYField.setBounds(101, 30, 100, 24);
        motionForceYField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.motionForceYField_changed();
                }
            }
        });
        panel_16.add(motionForceYField);
        JLabel lblForceX = new JLabel();
        lblForceX.setToolTipText("");
        lblForceX.setText("Force X*");
        lblForceX.setPreferredSize(new Dimension(94, 22));
        lblForceX.setFont(new Font("Dialog", Font.BOLD, 10));
        lblForceX.setBounds(6, 8, 93, 22);
        panel_16.add(lblForceX);
        JLabel lblForceY = new JLabel();
        lblForceY.setToolTipText("");
        lblForceY.setText("Force Y*");
        lblForceY.setPreferredSize(new Dimension(94, 22));
        lblForceY.setFont(new Font("Dialog", Font.BOLD, 10));
        lblForceY.setBounds(6, 32, 93, 22);
        panel_16.add(lblForceY);
        JLabel lblForceZ = new JLabel();
        lblForceZ.setToolTipText("");
        lblForceZ.setText("Force Z*");
        lblForceZ.setPreferredSize(new Dimension(94, 22));
        lblForceZ.setFont(new Font("Dialog", Font.BOLD, 10));
        lblForceZ.setBounds(6, 56, 93, 22);
        panel_16.add(lblForceZ);
        motionForceZField = new JWFNumberField();
        motionForceZField.setValueStep(0.05);
        motionForceZField.setText("");
        motionForceZField.setPreferredSize(new Dimension(100, 24));
        motionForceZField.setFont(new Font("Dialog", Font.PLAIN, 10));
        motionForceZField.setBounds(101, 54, 100, 24);
        motionForceZField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.motionForceZField_changed();
                }
            }
        });
        panel_16.add(motionForceZField);
        panel_19 = new JPanel();
        tabbedPane_2.addTab("Center of Radial Forces", null, panel_19, null);
        panel_19.setLayout(null);
        forceCentreXField = new JWFNumberField();
        forceCentreXField.setValueStep(0.05);
        forceCentreXField.setText("");
        forceCentreXField.setPreferredSize(new Dimension(100, 24));
        forceCentreXField.setFont(new Font("Dialog", Font.PLAIN, 10));
        forceCentreXField.setBounds(101, 6, 100, 24);
        forceCentreXField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.forceCentreXField_changed();
                }
            }
        });
        panel_19.add(forceCentreXField);
        JLabel lblCentreX = new JLabel();
        lblCentreX.setToolTipText("");
        lblCentreX.setText("Centre X*");
        lblCentreX.setPreferredSize(new Dimension(94, 22));
        lblCentreX.setFont(new Font("Dialog", Font.BOLD, 10));
        lblCentreX.setBounds(6, 8, 93, 22);
        panel_19.add(lblCentreX);
        JLabel lblCentreY = new JLabel();
        lblCentreY.setToolTipText("");
        lblCentreY.setText("Centre Y*");
        lblCentreY.setPreferredSize(new Dimension(94, 22));
        lblCentreY.setFont(new Font("Dialog", Font.BOLD, 10));
        lblCentreY.setBounds(6, 32, 93, 22);
        panel_19.add(lblCentreY);
        forceCentreYField = new JWFNumberField();
        forceCentreYField.setValueStep(0.05);
        forceCentreYField.setText("");
        forceCentreYField.setPreferredSize(new Dimension(100, 24));
        forceCentreYField.setFont(new Font("Dialog", Font.PLAIN, 10));
        forceCentreYField.setBounds(101, 30, 100, 24);
        forceCentreYField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.forceCentreYField_changed();
                }
            }
        });
        panel_19.add(forceCentreYField);
        JLabel lblCentreZ = new JLabel();
        lblCentreZ.setToolTipText("");
        lblCentreZ.setText("Centre Z*");
        lblCentreZ.setPreferredSize(new Dimension(94, 22));
        lblCentreZ.setFont(new Font("Dialog", Font.BOLD, 10));
        lblCentreZ.setBounds(6, 56, 93, 22);
        panel_19.add(lblCentreZ);
        forceCentreZField = new JWFNumberField();
        forceCentreZField.setValueStep(0.05);
        forceCentreZField.setText("");
        forceCentreZField.setPreferredSize(new Dimension(100, 24));
        forceCentreZField.setFont(new Font("Dialog", Font.PLAIN, 10));
        forceCentreZField.setBounds(101, 54, 100, 24);
        forceCentreZField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.forceCentreZField_changed();
                }
            }
        });
        panel_19.add(forceCentreZField);
        panel_11 = new JPanel();
        tabbedPane.addTab("Statistics", null, panel_11, null);
        panel_11.setLayout(new BorderLayout(0, 0));
        scrollPane_1 = new JScrollPane();
        panel_11.add(scrollPane_1, BorderLayout.CENTER);
        statisticsTextArea = new JTextArea();
        statisticsTextArea.setEditable(false);
        scrollPane_1.setViewportView(statisticsTextArea);
        baseFlameRotateGammaVariationField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameRotateGammaVariationField_changed();
                }
            }
        });
        baseFlameRotateGammaField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameRotateGammaField_changed();
                }
            }
        });
        baseFlameRotateBetaVariationField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameRotateBetaVariationField_changed();
                }
            }
        });
        baseFlameRotateBetaField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameRotateBetaField_changed();
                }
            }
        });
        baseFlameRotateAlphaVariationField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameRotateAlphaVariationField_changed();
                }
            }
        });
        baseFlameRotateAlphaField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameRotateAlphaField_changed();
                }
            }
        });
        baseFlameCentreZField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameCentreZField_changed();
                }
            }
        });
        baseFlameCentreYField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameCentreYField_changed();
                }
            }
        });
        baseFlameCentreXField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameCentreXField_changed();
                }
            }
        });
        baseFlameSizeVariationField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameSizeVariationField_changed();
                }
            }
        });
        baseFlameSizeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameSizeField_changed();
                }
            }
        });
        panel_6 = new JPanel();
        panel_6.setPreferredSize(new Dimension(128, 10));
        mainBottomPanel.add(panel_6, BorderLayout.EAST);
        panel_6.setLayout(null);
        refreshIFlameButton = new JButton();
        refreshIFlameButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.refreshIFlameButton_clicked();
            }
        });
        refreshIFlameButton.setBounds(6, 66, 105, 24);
        panel_6.add(refreshIFlameButton);
        refreshIFlameButton.setToolTipText("Rebuild and refresh IFlame");
        refreshIFlameButton.setText("Refresh");
        refreshIFlameButton.setPreferredSize(new Dimension(125, 24));
        refreshIFlameButton.setMinimumSize(new Dimension(100, 24));
        refreshIFlameButton.setMaximumSize(new Dimension(32000, 24));
        refreshIFlameButton.setFont(new Font("Dialog", Font.BOLD, 10));
        autoRefreshButton = new JToggleButton();
        autoRefreshButton.setBounds(6, 92, 105, 24);
        panel_6.add(autoRefreshButton);
        autoRefreshButton.setSelected(true);
        autoRefreshButton.setToolTipText("Automatically rebuild the IFlame after changes, which may be slow");
        autoRefreshButton.setText("Auto Refresh");
        autoRefreshButton.setPreferredSize(new Dimension(136, 24));
        autoRefreshButton.setFont(new Font("Dialog", Font.BOLD, 10));
        undoButton = new JButton();
        undoButton.setBounds(6, 130, 105, 24);
        panel_6.add(undoButton);
        undoButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.undoAction();
            }
        });
        undoButton.setToolTipText("Undo");
        undoButton.setText("Undo");
        undoButton.setPreferredSize(new Dimension(72, 24));
        undoButton.setMnemonic(KeyEvent.VK_Z);
        undoButton.setIconTextGap(0);
        undoButton.setFont(new Font("Dialog", Font.BOLD, 9));
        undoButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/edit-undo-6.png")));
        redoButton = new JButton();
        redoButton.setBounds(6, 156, 105, 24);
        panel_6.add(redoButton);
        redoButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.redoAction();
            }
        });
        redoButton.setToolTipText("Redo");
        redoButton.setText("Redo");
        redoButton.setPreferredSize(new Dimension(72, 24));
        redoButton.setMnemonic(KeyEvent.VK_Y);
        redoButton.setIconTextGap(0);
        redoButton.setFont(new Font("Dialog", Font.BOLD, 9));
        redoButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/edit-redo-6.png")));
        renderFlameButton = new JButton();
        renderFlameButton.setBounds(6, 6, 103, 24);
        panel_6.add(renderFlameButton);
        renderFlameButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.renderFlameButton_clicked();
            }
        });
        renderFlameButton.setToolTipText("Render image");
        renderFlameButton.setPreferredSize(new Dimension(42, 24));
        renderFlameButton.setMnemonic(KeyEvent.VK_R);
        renderFlameButton.setIconTextGap(0);
        renderFlameButton.setFont(new Font("Dialog", Font.BOLD, 9));
        renderFlameButton.setIcon(new ImageIcon(getClass().getResource("/org/jwildfire/swing/icons/new/fraqtive.png")));
        previewButton = new JToggleButton();
        previewButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                iflamesController.previewButton_clicked();
            }
        });
        previewButton.setToolTipText("Draw circles instead of real fractals");
        previewButton.setText("Preview");
        previewButton.setPreferredSize(new Dimension(136, 24));
        previewButton.setFont(new Font("Dialog", Font.BOLD, 10));
        previewButton.setBounds(6, 32, 105, 24);
        panel_6.add(previewButton);
        panel_8 = new JPanel();
        panel_8.setPreferredSize(new Dimension(10, 26));
        mainBottomPanel.add(panel_8, BorderLayout.NORTH);
        panel_8.setLayout(new BorderLayout(0, 0));
        mainProgressBar = new JProgressBar();
        mainProgressBar.setBorder(null);
        panel_8.add(mainProgressBar, BorderLayout.CENTER);
        mainProgressBar.setValue(0);
        mainProgressBar.setStringPainted(true);
        mainProgressBar.setPreferredSize(new Dimension(169, 14));
        panel_18 = new JPanel();
        panel_18.setPreferredSize(new Dimension(346, 10));
        panel_8.add(panel_18, BorderLayout.WEST);
        panel_18.setLayout(null);
        motionTimeField = new JWFNumberField();
        motionTimeField.setBounds(240, 0, 100, 24);
        panel_18.add(motionTimeField);
        motionTimeField.setHasMinValue(true);
        motionTimeField.setValueStep(0.05);
        motionTimeField.setText("");
        motionTimeField.setPreferredSize(new Dimension(100, 24));
        motionTimeField.setFont(new Font("Dialog", Font.PLAIN, 10));
        JLabel lblTime = new JLabel();
        lblTime.setBounds(145, 2, 93, 22);
        panel_18.add(lblTime);
        lblTime.setToolTipText("");
        lblTime.setText("Time");
        lblTime.setPreferredSize(new Dimension(94, 22));
        lblTime.setFont(new Font("Dialog", Font.BOLD, 10));
        motionTimeField.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                if (iflamesController != null) {
                    iflamesController.motionTimeField_changed();
                }
            }
        });
        baseFlameCmb.addItemListener(new ItemListener() {

            public void itemStateChanged(ItemEvent e) {
                if (iflamesController != null) {
                    iflamesController.baseFlameCmb_changed();
                }
            }
        });
        mainCenterPanel = new JPanel();
        mainCenterPanel.setBorder(new TitledBorder(null, "Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        jContentPane.add(mainCenterPanel, BorderLayout.CENTER);
        mainCenterPanel.setLayout(new BorderLayout(0, 0));
        scrollPane = new JScrollPane();
        mainCenterPanel.add(scrollPane, BorderLayout.CENTER);
        introductionTextPane = new JTextPane();
        introductionTextPane.setEditable(false);
        scrollPane.setViewportView(introductionTextPane);
    }
    return jContentPane;
}
Also used : JPanel(javax.swing.JPanel) ImageIcon(javax.swing.ImageIcon) ItemEvent(java.awt.event.ItemEvent) JTextArea(javax.swing.JTextArea) ActionEvent(java.awt.event.ActionEvent) JTabbedPane(javax.swing.JTabbedPane) JButton(javax.swing.JButton) JProgressBar(javax.swing.JProgressBar) TreeSelectionListener(javax.swing.event.TreeSelectionListener) TitledBorder(javax.swing.border.TitledBorder) Font(java.awt.Font) JTextPane(javax.swing.JTextPane) BorderLayout(java.awt.BorderLayout) JToggleButton(javax.swing.JToggleButton) ChangeListener(javax.swing.event.ChangeListener) EmptyBorder(javax.swing.border.EmptyBorder) JScrollPane(javax.swing.JScrollPane) JComboBox(javax.swing.JComboBox) JLabel(javax.swing.JLabel) Dimension(java.awt.Dimension) JWFNumberField(org.jwildfire.create.tina.swing.JWFNumberField) JCheckBox(javax.swing.JCheckBox) JTree(javax.swing.JTree) ActionListener(java.awt.event.ActionListener) ChangeEvent(javax.swing.event.ChangeEvent) ItemListener(java.awt.event.ItemListener) TreeSelectionEvent(javax.swing.event.TreeSelectionEvent)

Example 2 with JWFNumberField

use of org.jwildfire.create.tina.swing.JWFNumberField in project JWildfire by thargor6.

the class NumberFieldBuilder method buildPart.

@Override
public JWFNumberField buildPart(ScriptParamsForm pForm, JPanel pPanel, int xOff, int yOff) {
    createLabel(pPanel, xOff, yOff);
    JWFNumberField numberField = new JWFNumberField();
    numberField.setValueStep(1.0);
    numberField.setText("");
    numberField.setSize(new Dimension(EDITFIELD_WIDTH, FIELD_HEIGHT));
    numberField.setPreferredSize(new Dimension(100, 24));
    numberField.setLocation(new Point(xOff + LABEL_WIDTH + H_BORDER, yOff));
    numberField.setFont(new Font("Dialog", Font.PLAIN, 10));
    numberField.setBounds(xOff + LABEL_WIDTH + H_BORDER, yOff, EDITFIELD_WIDTH, FIELD_HEIGHT);
    numberField.setName(propertyName);
    if (initialValue != null) {
        numberField.setValue(initialValue.doubleValue());
    }
    pPanel.add(numberField);
    return numberField;
}
Also used : Dimension(java.awt.Dimension) Point(java.awt.Point) JWFNumberField(org.jwildfire.create.tina.swing.JWFNumberField) Font(java.awt.Font)

Example 3 with JWFNumberField

use of org.jwildfire.create.tina.swing.JWFNumberField in project JWildfire by thargor6.

the class ScriptParamsForm method collectFieldValues.

private void collectFieldValues() {
    params.clear();
    for (Object control : namedControls) {
        if (control instanceof JWFNumberField) {
            JWFNumberField numberField = (JWFNumberField) control;
            params.put(numberField.getName(), new ScriptParam(numberField.getDoubleValue()));
        } else if (control instanceof JTextField) {
            JTextField textField = (JTextField) control;
            params.put(textField.getName(), new ScriptParam(textField.getText()));
        } else if (control instanceof JComboBox) {
            JComboBox comboBox = (JComboBox) control;
            params.put(comboBox.getName(), new ScriptParam((String) comboBox.getSelectedItem()));
        } else if (control instanceof JCheckBox) {
            JCheckBox checkBox = (JCheckBox) control;
            params.put(checkBox.getName(), new ScriptParam(checkBox.isSelected()));
        } else {
            throw new IllegalStateException(control.getClass().getName());
        }
    }
}
Also used : ScriptParam(org.jwildfire.create.tina.script.ScriptParam) JCheckBox(javax.swing.JCheckBox) JComboBox(javax.swing.JComboBox) JTextField(javax.swing.JTextField) JWFNumberField(org.jwildfire.create.tina.swing.JWFNumberField)

Aggregations

JWFNumberField (org.jwildfire.create.tina.swing.JWFNumberField)3 Dimension (java.awt.Dimension)2 Font (java.awt.Font)2 JCheckBox (javax.swing.JCheckBox)2 JComboBox (javax.swing.JComboBox)2 BorderLayout (java.awt.BorderLayout)1 Point (java.awt.Point)1 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 ItemEvent (java.awt.event.ItemEvent)1 ItemListener (java.awt.event.ItemListener)1 ImageIcon (javax.swing.ImageIcon)1 JButton (javax.swing.JButton)1 JLabel (javax.swing.JLabel)1 JPanel (javax.swing.JPanel)1 JProgressBar (javax.swing.JProgressBar)1 JScrollPane (javax.swing.JScrollPane)1 JTabbedPane (javax.swing.JTabbedPane)1 JTextArea (javax.swing.JTextArea)1 JTextField (javax.swing.JTextField)1