OSDN Git Service

パッケージ情報を追加、その他リファクタリング
[midichordhelper/MIDIChordHelper.git] / src / camidion / chordhelper / mididevice / MidiDeviceFrame.java
index 4fde422..a62ee71 100644 (file)
@@ -13,7 +13,6 @@ import javax.sound.midi.Receiver;
 import javax.sound.midi.Transmitter;
 import javax.swing.JInternalFrame;
 import javax.swing.JLabel;
-import javax.swing.JList;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.Timer;
@@ -23,8 +22,8 @@ import javax.swing.Timer;
  */
 public class MidiDeviceFrame extends JInternalFrame {
        private MidiDeviceModel deviceModel;
-       private MidiTransmitterListView transmitterListView;
-       private MidiReceiverListView receiverListView;
+       private TransmitterListView transmitterListView;
+       private ReceiverListView receiverListView;
        private JScrollPane scrollPane;
        private JPanel trxPanel, txPanel, rxPanel;
        private Timer timer;
@@ -37,12 +36,12 @@ public class MidiDeviceFrame extends JInternalFrame {
         * このデバイスフレームに貼り付けられたMIDIトランスミッタリストビューを取得します。
         * @return MIDIトランスミッタリストビュー
         */
-       public MidiTransmitterListView getMidiTransmitterListView() { return transmitterListView; }
+       public TransmitterListView getMidiTransmitterListView() { return transmitterListView; }
        /**
         * このデバイスフレームに貼り付けられたMIDIトランシーバリストビューを取得します。
         * @return MIDIトランシーバリストビュー
         */
-       public MidiReceiverListView getMidiReceiverListView() { return receiverListView; }
+       public ReceiverListView getMidiReceiverListView() { return receiverListView; }
        /**
         * ダイアログウィンドウがアクティブなときだけタイムスタンプ更新を有効にするためのリスナー
         */
@@ -55,7 +54,7 @@ public class MidiDeviceFrame extends JInternalFrame {
        /**
         * MIDIデバイスモデルからフレームビューを構築します。
         */
-       public MidiDeviceFrame(MidiDeviceModel deviceModel, final MidiCablePane cablePane) {
+       public MidiDeviceFrame(MidiDeviceModel deviceModel, MidiCablePane cablePane) {
                super( null, true, true, false, false );
                this.deviceModel = deviceModel;
                setTitle("[" + deviceModel.getMidiDeviceInOutType().getShortName() + "] " + deviceModel);
@@ -78,18 +77,18 @@ public class MidiDeviceFrame extends JInternalFrame {
                }}, BorderLayout.SOUTH);
                add(scrollPane = new JScrollPane(trxPanel = new JPanel() {{
                        setLayout(new BorderLayout());
-                       MidiDeviceModel.ReceiverListModel rxListModel = getMidiDeviceModel().getReceiverList();
+                       ReceiverListModel rxListModel = getMidiDeviceModel().getReceiverListModel();
                        if( rxListModel != null ) {
-                               receiverListView = new MidiReceiverListView(rxListModel, cablePane);
+                               receiverListView = new ReceiverListView(rxListModel, cablePane);
                                add(rxPanel = new JPanel() {{
                                        setLayout(new BorderLayout());
                                        add(new JLabel("Rx") {{ setVerticalAlignment(TOP); }}, BorderLayout.WEST);
                                        add(receiverListView);
                                }}, BorderLayout.NORTH);
                        }
-                       MidiDeviceModel.TransmitterListModel txListModel = getMidiDeviceModel().getTransmitterList();
+                       TransmitterListModel txListModel = getMidiDeviceModel().getTransmitterListModel();
                        if( txListModel != null ) {
-                               transmitterListView = new MidiTransmitterListView(txListModel, cablePane);
+                               transmitterListView = new TransmitterListView(txListModel, cablePane);
                                add(txPanel = new JPanel() {{
                                        setLayout(new BorderLayout());
                                        add(new JLabel("Tx") {{ setVerticalAlignment(TOP); }}, BorderLayout.WEST);
@@ -106,6 +105,7 @@ public class MidiDeviceFrame extends JInternalFrame {
        public Rectangle getBoundsOf(Transmitter tx) {
                if( transmitterListView == null ) return null;
                Rectangle rect = transmitterListView.getCellBounds(tx);
+               if( rect == null ) return null;
                translate(rect, txPanel, transmitterListView);
                return rect;
        }
@@ -117,11 +117,11 @@ public class MidiDeviceFrame extends JInternalFrame {
        public Rectangle getBoundsOf(Receiver rx) {
                if( receiverListView == null ) return null;
                Rectangle rect = receiverListView.getCellBounds(rx);
+               if( rect == null ) return null;
                translate(rect, rxPanel, receiverListView);
                return rect;
        }
-       private void translate(Rectangle rect, JPanel panel, JList<? extends AutoCloseable> list) {
-               if( rect == null ) return;
+       private void translate(Rectangle rect, JPanel panel, AbstractTransceiverListView<?> list) {
                int x = getX() + getRootPane().getX() + getContentPane().getX() +
                                scrollPane.getX() + trxPanel.getX() +
                                panel.getX() + list.getX();