protected PatchEditorFrame(String name, IPatch patch) {
protected PatchEditorFrame(String name, ISinglePatch patch) {
    protected PatchEditorFrame(String name, IPatch patch) {        // create a resizable, closable, maximizable, and iconifiable frame.        super(name, true, true, true, true);        p = patch;        // make a backup copy        originalPatch = (IPatch)p.clone();        gbc = new GridBagConstraints();        scrollPane = new JPanel();        scrollPane.setLayout(new GridBagLayout());        scrollPane.setSize(600, 400);        scroller = new JScrollPane(scrollPane);        getContentPane().add(scroller);        setSize(600, 400);        moveToDefaultLocation();        faderInEnable(AppConfig.getFaderEnable());        scroller.getVerticalScrollBar().addMouseListener(new MouseAdapter() {                public void mousePressed(MouseEvent e) {                }                public void mouseReleased(MouseEvent e) {                    repaint();                }            });        scroller.getHorizontalScrollBar().addMouseListener(new MouseAdapter() {                public void mousePressed(MouseEvent e) {                }                public void mouseReleased(MouseEvent e) {                    repaint();                }            });        addJSLFrameListener(new JSLFrameListener() {                public void JSLFrameClosing(JSLFrameEvent e) {                    frameClosing();                }                public void JSLFrameOpened(JSLFrameEvent e) {                    frameOpened();                }                public void JSLFrameActivated(JSLFrameEvent e) {                    frameActivated();                    gotFocus();                    Actions.setEnabled(false,                                         Actions.EN_GET                                         | Actions.EN_PASTE);                    Actions.setEnabled(true,                                         Actions.EN_COPY                                         | Actions.EN_EXPORT                                         | Actions.EN_PLAY                                         | Actions.EN_REASSIGN                                         | Actions.EN_SEND                                         | Actions.EN_SEND_TO                                         | Actions.EN_STORE);                }                public void JSLFrameClosed(JSLFrameEvent e) {                }                public void JSLFrameDeactivated(JSLFrameEvent e) {                    Actions.setEnabled(false,                                         Actions.EN_COPY                                         | Actions.EN_EXPORT                                         | Actions.EN_PLAY                                         | Actions.EN_REASSIGN                                         | Actions.EN_SEND                                         | Actions.EN_SEND_TO                                         | Actions.EN_STORE);                    lostFocus();                }                public void JSLFrameDeiconified(JSLFrameEvent e) {                }                public void JSLFrameIconified(JSLFrameEvent e) {                }            });    }