package synthdrivers.RolandMT32;
import core.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.border.*;

        JPanel cmnPane=new JPanel();
        cmnPane.setLayout(new GridBagLayout());	 
        gbc.weightx=0;   							         
        addWidget(cmnPane, ....

        gbc.gridx=0;
        gbc.gridy=0;
        gbc.gridwidth=5;
        gbc.gridheight=3;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.anchor=GridBagConstraints.EAST;

        cmnPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
            "Common",TitledBorder.CENTER, TitledBorder.CENTER)); 
 
        scrollPane.add(cmnPane,gbc);
    
        gbc.weightx = 5;

        JPanel partialPane = new JPanel();
        partialPane.setLayout(new GridBagLayout());
        
        JTabbedPane partTabPane = new JTabbedPane();
   
            JPanel WGPane = new JPanel();
            WGPane.setLayout(new GridBagLayout());
            partTabPane.addTab("Partial"+(i+1)+" WG & P", WGPane);

            addWidget(WGPane, new ComboBoxWidget("WG PITCH COARSE", patch, 
                new MT32Model(patch,j+0x00), new MT32Sender(j+k+0x00), 
                noteName), 0, gy, 1, 1, 11);
                             
            WGPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
                "WG & P",TitledBorder.CENTER,TitledBorder.CENTER));

            JPanel TVFPane = new JPanel();
            TVFPane.setLayout(new GridBagLayout());
            addWidget(TVFPane,new ScrollBarWidget("TVF CUTOFF FREQ",patch,0,100,0, lwf,
                new MT32Model(patch,j+0x17),new MT32Sender(j+k+0x17)),0,gy,3,1,55);
            TVFPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
                "TVF",TitledBorder.CENTER,TitledBorder.CENTER));

   gbc.gridx=10;
   gbc.gridy=0;
   gbc.gridwidth=5;
   gbc.gridheight=9;

            partTabPane.addTab("Partial"+(i+1)+" TVF", TVFPane);

            JPanel TVAPane = new JPanel();
            TVAPane.setLayout(new GridBagLayout());
          
            addWidget(TVAPane,new ScrollBarWidget("TVA LEVEL",patch,0,100,0, lwa,
                new MT32Model(patch,j+0x29), new MT32Sender(j+k+0x29)),0,gy,3,1,55);
            
            TVAPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
                "TVA",TitledBorder.CENTER,TitledBorder.CENTER));
            partTabPane.add(TVAPane, gbc);
            
            partTabPane.addTab("Partial"+(i+1)+" TVA", TVAPane);
            partialPane.add(partTabPane, gbc);


        gbc.gridx=5;gbc.gridy=0;gbc.gridwidth=5;gbc.gridheight=9;
        partialPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED), 
            "PARTIALS",TitledBorder.CENTER,TitledBorder.CENTER));  
        scrollPane.add(partialPane, gbc);

        gbc.gridx=5;gbc.gridy=0;gbc.gridwidth=5;gbc.gridheight=9;

        pack();
        show();
    }

    
 
    JPanel partialPane = new JPanel();
    partialPane.setLayout(new GridBagLayout());
        
        JTabbedPane partTabPane = new JTabbedPane();
        for (int i=0; i<4; i++)
        {
            JPanel partNPane = new JPanel();
            partTabPane.addTab("Partial "+(i+1), partNPane);
                
                JTabbedPane WGTabPane = new JTabbedPane();
                WGTabPane.addTab("WG&P_ENV", partNPane);
                WGTabPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
                    "WG & P",TitledBorder.CENTER,TitledBorder.CENTER));
            partNPane.add(WGPane, gbc);
                
                JTabbedPane TVFTabPane = new JTabbedPane();
                TVFTabPane.addTab("TVF", partNPane);
                TVFTabPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
                    "TVF",TitledBorder.CENTER,TitledBorder.CENTER));
            partNPane.add(TVFPane, gbc);

                JTabbedPane TVATabPane = new JTabbedPane();
                TVATabPane.addTab("TVA", partNPane);
                TVATabPane.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED),
                    "TVA",TitledBorder.CENTER,TitledBorder.CENTER));
            partNPane.add(TVAPane, gbc);
        }
        partialPane.add(parTabPane, gbc);
    scrollPane.add(partialPane, gbc);
