Subversion Repositories svn.mios

Rev

Rev 505 | Rev 696 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 505 Rev 628
Line 19... Line 19...
19
 */
19
 */
20
20
21
package org.midibox.sidedit.gui.controls;
21
package org.midibox.sidedit.gui.controls;
22
22
23
import java.awt.BorderLayout;
23
import java.awt.BorderLayout;
24
import java.awt.FlowLayout;
-
 
25
import java.awt.event.ActionEvent;
24
import java.awt.event.ActionEvent;
26
import java.awt.Dimension;
-
 
27
import javax.swing.*;
-
 
28
25
29
import org.midibox.sidedit.*;
26
import javax.swing.BoxLayout;
30
import org.midibox.utils.gui.ImageLoader;
27
import javax.swing.ButtonGroup;
-
 
28
import javax.swing.JPanel;
31
import org.midibox.utils.gui.MyButtonUI;
29
import javax.swing.JRadioButton;
32
30
33
import java.awt.Font;
-
 
34
import java.awt.*;
-
 
35
import java.awt.event.*;
31
import org.midibox.sidedit.SIDSysexParameterControl;
36
import javax.swing.*;
-
 
37
32
38
public class SIDSysexParameterControlRadio extends SIDSysexParameterControlGUI {
33
public class SIDSysexParameterControlRadio extends SIDSysexParameterControlGUI {
39
34
40
    public static float mouseWheelResolution = 10.0f;
35
    public static float mouseWheelResolution = 10.0f;
41
    private JRadioButton[] radioButtons;
36
    private JRadioButton[] radioButtons;
42
37
-
 
38
    public SIDSysexParameterControlRadio(
-
 
39
            SIDSysexParameterControl midiParameter, boolean showLabel,
43
    public SIDSysexParameterControlRadio(SIDSysexParameterControl midiParameter, boolean showLabel, String labelLocation, boolean valueBelow, boolean showValue) {
40
            String labelLocation, boolean valueBelow, boolean showValue) {
44
        super(midiParameter, showLabel, labelLocation, valueBelow, showValue);
41
        super(midiParameter, showLabel, labelLocation, valueBelow, showValue);
45
       
42
46
        JPanel panel = new JPanel();
43
        JPanel panel = new JPanel();
47
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
44
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
48
        panel.setOpaque(false);
45
        panel.setOpaque(false);
Line 58... Line 55...
58
        }  
55
        }
59
        updateGraphics();
56
        updateGraphics();
60
        add(panel, BorderLayout.CENTER);
57
        add(panel, BorderLayout.CENTER);
61
        updateGraphics();      
58
        updateGraphics();
62
    }
59
    }
63
   
-
 
64
   
60
65
    public void actionPerformed(ActionEvent ae) {
61
    public void actionPerformed(ActionEvent ae) {
66
        super.actionPerformed(ae);     
62
        super.actionPerformed(ae);
67
        for (int i=0;i<radioButtons.length;i++) {
63
        for (int i = 0; i < radioButtons.length; i++) {
68
            if ((ae.getSource()==radioButtons[i]) && (radioButtons[i].isSelected())) {
64
            if ((ae.getSource() == radioButtons[i])
-
 
65
                    && (radioButtons[i].isSelected())) {
69
                if (update) {
66
                if (update) {
70
                    update = false;
67
                    update = false;
-
 
68
                    int newval = midiParameter
71
                    int newval = midiParameter.lookUpAlias((String)radioButtons[i].getText());
69
                            .lookUpAlias((String) radioButtons[i].getText());
72
                    midiParameter.setMidiValue(newval, true);                  
70
                    midiParameter.setMidiValue(newval, true);
73
                    for (int c = 0; c < midiParameters.size(); c++) {
71
                    for (int c = 0; c < midiParameters.size(); c++) {
74
                        SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters.elementAt(c);
72
                        SIDSysexParameterControl mp = (SIDSysexParameterControl) midiParameters
-
 
73
                                .elementAt(c);
75
                        mp.setMidiValue(newval, false);
74
                        mp.setMidiValue(newval, false);
76
                    }                  
75
                    }
77
                    update = true;
76
                    update = true;
78
                    break;
77
                    break;
79
                }
78
                }
Line 84... Line 83...
84
    public void updateGraphics() {
83
    public void updateGraphics() {
85
        super.updateGraphics();
84
        super.updateGraphics();
86
        if (update) {
85
        if (update) {
87
            update = false;
86
            update = false;
88
            for (int i=0;i<radioButtons.length;i++) {
87
            for (int i = 0; i < radioButtons.length; i++) {
-
 
88
                if (i == midiParameter
89
                if (i==midiParameter.lookUpValue(midiParameter.getMidiValue())) {
89
                        .lookUpValue(midiParameter.getMidiValue())) {
90
                    radioButtons[i].setSelected(true);
90
                    radioButtons[i].setSelected(true);
91
                } else {
91
                } else {
92
                    radioButtons[i].setSelected(false);
92
                    radioButtons[i].setSelected(false);
93
                }
93
                }
94
            }
94
            }