2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
* CGHDisplayOrderChanger.java |
2 |
26 Feb 07 |
jari |
3 |
* |
2 |
26 Feb 07 |
jari |
* Created on March 24, 2003, 6:41 PM |
2 |
26 Feb 07 |
jari |
5 |
*/ |
2 |
26 Feb 07 |
jari |
6 |
|
2 |
26 Feb 07 |
jari |
7 |
package org.tigr.microarray.mev.cgh.CGHGuiObj; |
2 |
26 Feb 07 |
jari |
8 |
|
2 |
26 Feb 07 |
jari |
9 |
import javax.swing.DefaultListModel; |
2 |
26 Feb 07 |
jari |
10 |
|
2 |
26 Feb 07 |
jari |
11 |
import org.tigr.microarray.mev.cluster.gui.IData; |
2 |
26 Feb 07 |
jari |
//import org.abramson.microarray.cgh.CGHFcdObj.CGHMultipleArrayDataFcd; |
2 |
26 Feb 07 |
jari |
13 |
|
2 |
26 Feb 07 |
jari |
14 |
|
2 |
26 Feb 07 |
jari |
15 |
/** |
2 |
26 Feb 07 |
jari |
16 |
* |
2 |
26 Feb 07 |
jari |
* @author Adam Margolin |
2 |
26 Feb 07 |
jari |
* @author Raktim Sinha |
2 |
26 Feb 07 |
jari |
19 |
*/ |
2 |
26 Feb 07 |
jari |
20 |
|
2 |
26 Feb 07 |
jari |
21 |
public class CGHDisplayOrderChanger extends javax.swing.JDialog { |
2 |
26 Feb 07 |
jari |
22 |
DisplayOrderObj[] dataObjs; |
2 |
26 Feb 07 |
jari |
23 |
|
2 |
26 Feb 07 |
jari |
//This contains the current position in the first dimension, and the |
2 |
26 Feb 07 |
jari |
//original position in the second dimension |
2 |
26 Feb 07 |
jari |
26 |
int[] indicesOrder; |
2 |
26 Feb 07 |
jari |
27 |
IData data; |
2 |
26 Feb 07 |
jari |
28 |
boolean cancel; |
2 |
26 Feb 07 |
jari |
29 |
|
2 |
26 Feb 07 |
jari |
/** Creates new form CGHDisplayOrderChanger */ |
2 |
26 Feb 07 |
jari |
31 |
public CGHDisplayOrderChanger(java.awt.Frame parent, boolean modal) { |
2 |
26 Feb 07 |
jari |
32 |
super(parent, modal); |
2 |
26 Feb 07 |
jari |
33 |
initComponents(); |
2 |
26 Feb 07 |
jari |
34 |
} |
2 |
26 Feb 07 |
jari |
35 |
|
2 |
26 Feb 07 |
jari |
36 |
public CGHDisplayOrderChanger(IData data, java.awt.Frame parent, boolean modal){ |
2 |
26 Feb 07 |
jari |
37 |
super(parent, modal); |
2 |
26 Feb 07 |
jari |
//this.data = fcd.getData(); |
2 |
26 Feb 07 |
jari |
39 |
cancel = false; |
2 |
26 Feb 07 |
jari |
40 |
this.data = data; |
2 |
26 Feb 07 |
jari |
41 |
initComponents(); |
2 |
26 Feb 07 |
jari |
42 |
|
2 |
26 Feb 07 |
jari |
43 |
lstData.setModel(new DefaultListModel()); |
2 |
26 Feb 07 |
jari |
44 |
this.data = data; |
2 |
26 Feb 07 |
jari |
//initializeIndices(); |
2 |
26 Feb 07 |
jari |
46 |
|
2 |
26 Feb 07 |
jari |
47 |
indicesOrder = data.getSamplesOrder(); |
2 |
26 Feb 07 |
jari |
48 |
for(int i = 0; i < indicesOrder.length; i++){ |
2 |
26 Feb 07 |
jari |
49 |
((DefaultListModel)lstData.getModel()).addElement(data.getSampleName(indicesOrder[i] )); |
2 |
26 Feb 07 |
jari |
//((DefaultListModel)lstData.getModel()).addElement(data.getSampleName(data.getSamplesOrder()[i] )); |
2 |
26 Feb 07 |
jari |
51 |
} |
2 |
26 Feb 07 |
jari |
52 |
|
2 |
26 Feb 07 |
jari |
53 |
|
2 |
26 Feb 07 |
jari |
54 |
setSize(400, 400); |
2 |
26 Feb 07 |
jari |
55 |
} |
2 |
26 Feb 07 |
jari |
56 |
|
2 |
26 Feb 07 |
jari |
57 |
private void initializeIndices(){ |
2 |
26 Feb 07 |
jari |
58 |
indicesOrder = new int[data.getFeaturesCount()]; |
2 |
26 Feb 07 |
jari |
59 |
|
2 |
26 Feb 07 |
jari |
60 |
int[] experimentIndices = data.getSamplesOrder(); |
2 |
26 Feb 07 |
jari |
61 |
for(int i = 0; i < data.getFeaturesCount(); i++){ |
2 |
26 Feb 07 |
jari |
62 |
indicesOrder[experimentIndices[i]] = i; |
2 |
26 Feb 07 |
jari |
63 |
} |
2 |
26 Feb 07 |
jari |
64 |
|
2 |
26 Feb 07 |
jari |
65 |
} |
2 |
26 Feb 07 |
jari |
66 |
|
2 |
26 Feb 07 |
jari |
/** This method is called from within the constructor to |
2 |
26 Feb 07 |
jari |
* initialize the form. |
2 |
26 Feb 07 |
jari |
* WARNING: Do NOT modify this code. The content of this method is |
2 |
26 Feb 07 |
jari |
* always regenerated by the Form Editor. |
2 |
26 Feb 07 |
jari |
71 |
*/ |
2 |
26 Feb 07 |
jari |
72 |
private void initComponents() {//GEN-BEGIN:initComponents |
2 |
26 Feb 07 |
jari |
73 |
jPanel1 = new javax.swing.JPanel(); |
2 |
26 Feb 07 |
jari |
74 |
jScrollPane1 = new javax.swing.JScrollPane(); |
2 |
26 Feb 07 |
jari |
75 |
lstData = new javax.swing.JList(); |
2 |
26 Feb 07 |
jari |
76 |
jPanel2 = new javax.swing.JPanel(); |
2 |
26 Feb 07 |
jari |
77 |
jPanel3 = new javax.swing.JPanel(); |
2 |
26 Feb 07 |
jari |
78 |
btnMoveUp = new javax.swing.JButton(); |
2 |
26 Feb 07 |
jari |
79 |
btnMoveDown = new javax.swing.JButton(); |
2 |
26 Feb 07 |
jari |
80 |
jPanel4 = new javax.swing.JPanel(); |
2 |
26 Feb 07 |
jari |
81 |
btnOk = new javax.swing.JButton(); |
2 |
26 Feb 07 |
jari |
82 |
btnCancel = new javax.swing.JButton(); |
2 |
26 Feb 07 |
jari |
83 |
|
2 |
26 Feb 07 |
jari |
84 |
addWindowListener(new java.awt.event.WindowAdapter() { |
2 |
26 Feb 07 |
jari |
85 |
public void windowClosing(java.awt.event.WindowEvent evt) { |
2 |
26 Feb 07 |
jari |
86 |
closeDialog(evt); |
2 |
26 Feb 07 |
jari |
87 |
} |
2 |
26 Feb 07 |
jari |
88 |
}); |
2 |
26 Feb 07 |
jari |
89 |
|
2 |
26 Feb 07 |
jari |
90 |
jPanel1.setLayout(new java.awt.BorderLayout()); |
2 |
26 Feb 07 |
jari |
91 |
|
2 |
26 Feb 07 |
jari |
92 |
jScrollPane1.setViewportView(lstData); |
2 |
26 Feb 07 |
jari |
93 |
|
2 |
26 Feb 07 |
jari |
94 |
jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER); |
2 |
26 Feb 07 |
jari |
95 |
|
2 |
26 Feb 07 |
jari |
96 |
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); |
2 |
26 Feb 07 |
jari |
97 |
|
2 |
26 Feb 07 |
jari |
98 |
jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.Y_AXIS)); |
2 |
26 Feb 07 |
jari |
99 |
|
2 |
26 Feb 07 |
jari |
100 |
btnMoveUp.setText("Up"); |
2 |
26 Feb 07 |
jari |
101 |
btnMoveUp.addActionListener(new java.awt.event.ActionListener() { |
2 |
26 Feb 07 |
jari |
102 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
2 |
26 Feb 07 |
jari |
103 |
btnMoveUpActionPerformed(evt); |
2 |
26 Feb 07 |
jari |
104 |
} |
2 |
26 Feb 07 |
jari |
105 |
}); |
2 |
26 Feb 07 |
jari |
106 |
|
2 |
26 Feb 07 |
jari |
107 |
jPanel3.add(btnMoveUp); |
2 |
26 Feb 07 |
jari |
108 |
|
2 |
26 Feb 07 |
jari |
109 |
btnMoveDown.setText("Down"); |
2 |
26 Feb 07 |
jari |
110 |
btnMoveDown.addActionListener(new java.awt.event.ActionListener() { |
2 |
26 Feb 07 |
jari |
111 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
2 |
26 Feb 07 |
jari |
112 |
btnMoveDownActionPerformed(evt); |
2 |
26 Feb 07 |
jari |
113 |
} |
2 |
26 Feb 07 |
jari |
114 |
}); |
2 |
26 Feb 07 |
jari |
115 |
|
2 |
26 Feb 07 |
jari |
116 |
jPanel3.add(btnMoveDown); |
2 |
26 Feb 07 |
jari |
117 |
|
2 |
26 Feb 07 |
jari |
118 |
jPanel2.add(jPanel3); |
2 |
26 Feb 07 |
jari |
119 |
|
2 |
26 Feb 07 |
jari |
120 |
btnOk.setText("Ok"); |
2 |
26 Feb 07 |
jari |
121 |
btnOk.addActionListener(new java.awt.event.ActionListener() { |
2 |
26 Feb 07 |
jari |
122 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
2 |
26 Feb 07 |
jari |
123 |
btnOkActionPerformed(evt); |
2 |
26 Feb 07 |
jari |
124 |
} |
2 |
26 Feb 07 |
jari |
125 |
}); |
2 |
26 Feb 07 |
jari |
126 |
|
2 |
26 Feb 07 |
jari |
127 |
jPanel4.add(btnOk); |
2 |
26 Feb 07 |
jari |
128 |
|
2 |
26 Feb 07 |
jari |
129 |
btnCancel.setText("Cancel"); |
2 |
26 Feb 07 |
jari |
130 |
btnCancel.addActionListener(new java.awt.event.ActionListener(){ |
2 |
26 Feb 07 |
jari |
131 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
2 |
26 Feb 07 |
jari |
132 |
btnCancelActionPerformed(evt); |
2 |
26 Feb 07 |
jari |
133 |
} |
2 |
26 Feb 07 |
jari |
134 |
}); |
2 |
26 Feb 07 |
jari |
135 |
|
2 |
26 Feb 07 |
jari |
136 |
jPanel4.add(btnCancel); |
2 |
26 Feb 07 |
jari |
137 |
|
2 |
26 Feb 07 |
jari |
138 |
jPanel2.add(jPanel4); |
2 |
26 Feb 07 |
jari |
139 |
|
2 |
26 Feb 07 |
jari |
140 |
getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH); |
2 |
26 Feb 07 |
jari |
141 |
|
2 |
26 Feb 07 |
jari |
142 |
pack(); |
2 |
26 Feb 07 |
jari |
143 |
}//GEN-END:initComponents |
2 |
26 Feb 07 |
jari |
144 |
|
2 |
26 Feb 07 |
jari |
145 |
private void btnMoveDownActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnMoveDownActionPerformed |
2 |
26 Feb 07 |
jari |
// Add your handling code here: |
2 |
26 Feb 07 |
jari |
147 |
int selectedIndex = lstData.getSelectedIndex(); |
2 |
26 Feb 07 |
jari |
148 |
if(selectedIndex < lstData.getModel().getSize() - 1){ |
2 |
26 Feb 07 |
jari |
149 |
Object obj = ((DefaultListModel)lstData.getModel()).remove(selectedIndex); |
2 |
26 Feb 07 |
jari |
150 |
((DefaultListModel)lstData.getModel()).insertElementAt(obj, selectedIndex + 1); |
2 |
26 Feb 07 |
jari |
151 |
lstData.setSelectedIndex(selectedIndex + 1); |
2 |
26 Feb 07 |
jari |
152 |
|
2 |
26 Feb 07 |
jari |
153 |
int tmp = indicesOrder[selectedIndex]; |
2 |
26 Feb 07 |
jari |
154 |
indicesOrder[selectedIndex] = indicesOrder[selectedIndex + 1]; |
2 |
26 Feb 07 |
jari |
155 |
indicesOrder[selectedIndex + 1] = tmp; |
2 |
26 Feb 07 |
jari |
156 |
} |
2 |
26 Feb 07 |
jari |
157 |
}//GEN-LAST:event_btnMoveDownActionPerformed |
2 |
26 Feb 07 |
jari |
158 |
|
2 |
26 Feb 07 |
jari |
159 |
private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnOkActionPerformed |
2 |
26 Feb 07 |
jari |
// Add your handling code here: |
2 |
26 Feb 07 |
jari |
/*int[] reverseIndices = new int[indicesOrder.length]; |
2 |
26 Feb 07 |
jari |
for(int i = 0; i < reverseIndices.length; i++){ |
2 |
26 Feb 07 |
jari |
reverseIndices[indicesOrder[i]] = i; |
2 |
26 Feb 07 |
jari |
164 |
} |
2 |
26 Feb 07 |
jari |
165 |
|
2 |
26 Feb 07 |
jari |
data.setExperimentIndices(reverseIndices); |
2 |
26 Feb 07 |
jari |
167 |
*/ |
2 |
26 Feb 07 |
jari |
//for(int i = 0; i < reverseIndices.length; i++){ |
2 |
26 Feb 07 |
jari |
// System.out.println("Index " + i + " value " + reverseIndices[i]); |
2 |
26 Feb 07 |
jari |
170 |
//} |
2 |
26 Feb 07 |
jari |
171 |
|
2 |
26 Feb 07 |
jari |
172 |
setVisible(false); |
2 |
26 Feb 07 |
jari |
173 |
dispose(); |
2 |
26 Feb 07 |
jari |
174 |
}//GEN-LAST:event_btnOkActionPerformed |
2 |
26 Feb 07 |
jari |
175 |
|
2 |
26 Feb 07 |
jari |
176 |
private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) { |
2 |
26 Feb 07 |
jari |
177 |
cancel = true; |
2 |
26 Feb 07 |
jari |
178 |
dispose(); |
2 |
26 Feb 07 |
jari |
179 |
} |
2 |
26 Feb 07 |
jari |
180 |
private void btnMoveUpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnMoveUpActionPerformed |
2 |
26 Feb 07 |
jari |
// Add your handling code here: |
2 |
26 Feb 07 |
jari |
182 |
int selectedIndex = lstData.getSelectedIndex(); |
2 |
26 Feb 07 |
jari |
183 |
if(selectedIndex > 0){ |
2 |
26 Feb 07 |
jari |
184 |
Object obj = ((DefaultListModel)lstData.getModel()).remove(selectedIndex); |
2 |
26 Feb 07 |
jari |
185 |
((DefaultListModel)lstData.getModel()).insertElementAt(obj, selectedIndex - 1); |
2 |
26 Feb 07 |
jari |
186 |
lstData.setSelectedIndex(selectedIndex - 1); |
2 |
26 Feb 07 |
jari |
187 |
|
2 |
26 Feb 07 |
jari |
188 |
int tmp = indicesOrder[selectedIndex]; |
2 |
26 Feb 07 |
jari |
189 |
indicesOrder[selectedIndex] = indicesOrder[selectedIndex - 1]; |
2 |
26 Feb 07 |
jari |
190 |
indicesOrder[selectedIndex - 1] = tmp; |
2 |
26 Feb 07 |
jari |
191 |
} |
2 |
26 Feb 07 |
jari |
192 |
|
2 |
26 Feb 07 |
jari |
193 |
}//GEN-LAST:event_btnMoveUpActionPerformed |
2 |
26 Feb 07 |
jari |
194 |
|
2 |
26 Feb 07 |
jari |
195 |
public boolean isCancelled(){ |
2 |
26 Feb 07 |
jari |
196 |
return cancel; |
2 |
26 Feb 07 |
jari |
197 |
} |
2 |
26 Feb 07 |
jari |
/** Closes the dialog */ |
2 |
26 Feb 07 |
jari |
199 |
private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog |
2 |
26 Feb 07 |
jari |
200 |
setVisible(false); |
2 |
26 Feb 07 |
jari |
201 |
dispose(); |
2 |
26 Feb 07 |
jari |
202 |
}//GEN-LAST:event_closeDialog |
2 |
26 Feb 07 |
jari |
203 |
|
2 |
26 Feb 07 |
jari |
/** Getter for property indicesOrder. |
2 |
26 Feb 07 |
jari |
* @return Value of property indicesOrder. |
2 |
26 Feb 07 |
jari |
206 |
*/ |
2 |
26 Feb 07 |
jari |
207 |
public int[] getIndicesOrder() { |
2 |
26 Feb 07 |
jari |
208 |
generateIndicesOrder(); |
2 |
26 Feb 07 |
jari |
209 |
return this.indicesOrder; |
2 |
26 Feb 07 |
jari |
210 |
} |
2 |
26 Feb 07 |
jari |
211 |
|
2 |
26 Feb 07 |
jari |
212 |
private void generateIndicesOrder(){ |
2 |
26 Feb 07 |
jari |
213 |
indicesOrder = new int[dataObjs.length]; |
2 |
26 Feb 07 |
jari |
214 |
for(int i = 0; i < indicesOrder.length; i++){ |
2 |
26 Feb 07 |
jari |
215 |
indicesOrder[ ((DisplayOrderObj)lstData.getModel().getElementAt(i)).getOrigIndex()] = i; |
2 |
26 Feb 07 |
jari |
216 |
} |
2 |
26 Feb 07 |
jari |
217 |
} |
2 |
26 Feb 07 |
jari |
218 |
|
2 |
26 Feb 07 |
jari |
/** Setter for property indicesOrder. |
2 |
26 Feb 07 |
jari |
* @param indicesOrder New value of property indicesOrder. |
2 |
26 Feb 07 |
jari |
221 |
*/ |
2 |
26 Feb 07 |
jari |
222 |
public void setIndicesOrder(int[] indicesOrder) { |
2 |
26 Feb 07 |
jari |
223 |
this.indicesOrder = indicesOrder; |
2 |
26 Feb 07 |
jari |
224 |
} |
2 |
26 Feb 07 |
jari |
225 |
|
2 |
26 Feb 07 |
jari |
226 |
private class DisplayOrderObj { |
2 |
26 Feb 07 |
jari |
227 |
Object value; |
2 |
26 Feb 07 |
jari |
228 |
int origIndex; |
2 |
26 Feb 07 |
jari |
229 |
|
2 |
26 Feb 07 |
jari |
230 |
DisplayOrderObj(Object value, int origIndex){ |
2 |
26 Feb 07 |
jari |
231 |
this.value = value; |
2 |
26 Feb 07 |
jari |
232 |
this.origIndex = origIndex; |
2 |
26 Feb 07 |
jari |
233 |
} |
2 |
26 Feb 07 |
jari |
234 |
|
2 |
26 Feb 07 |
jari |
/** Getter for property value. |
2 |
26 Feb 07 |
jari |
* @return Value of property value. |
2 |
26 Feb 07 |
jari |
237 |
*/ |
2 |
26 Feb 07 |
jari |
238 |
public java.lang.Object getValue() { |
2 |
26 Feb 07 |
jari |
239 |
return value; |
2 |
26 Feb 07 |
jari |
240 |
} |
2 |
26 Feb 07 |
jari |
241 |
|
2 |
26 Feb 07 |
jari |
/** Setter for property value. |
2 |
26 Feb 07 |
jari |
* @param value New value of property value. |
2 |
26 Feb 07 |
jari |
244 |
*/ |
2 |
26 Feb 07 |
jari |
245 |
public void setValue(java.lang.Object value) { |
2 |
26 Feb 07 |
jari |
246 |
this.value = value; |
2 |
26 Feb 07 |
jari |
247 |
} |
2 |
26 Feb 07 |
jari |
248 |
|
2 |
26 Feb 07 |
jari |
/** Getter for property origIndex. |
2 |
26 Feb 07 |
jari |
* @return Value of property origIndex. |
2 |
26 Feb 07 |
jari |
251 |
*/ |
2 |
26 Feb 07 |
jari |
252 |
public int getOrigIndex() { |
2 |
26 Feb 07 |
jari |
253 |
return origIndex; |
2 |
26 Feb 07 |
jari |
254 |
} |
2 |
26 Feb 07 |
jari |
255 |
|
2 |
26 Feb 07 |
jari |
/** Setter for property origIndex. |
2 |
26 Feb 07 |
jari |
* @param origIndex New value of property origIndex. |
2 |
26 Feb 07 |
jari |
258 |
*/ |
2 |
26 Feb 07 |
jari |
259 |
public void setOrigIndex(int origIndex) { |
2 |
26 Feb 07 |
jari |
260 |
this.origIndex = origIndex; |
2 |
26 Feb 07 |
jari |
261 |
} |
2 |
26 Feb 07 |
jari |
262 |
|
2 |
26 Feb 07 |
jari |
263 |
public String toString(){ |
2 |
26 Feb 07 |
jari |
264 |
return value.toString(); |
2 |
26 Feb 07 |
jari |
265 |
} |
2 |
26 Feb 07 |
jari |
266 |
|
2 |
26 Feb 07 |
jari |
267 |
} |
2 |
26 Feb 07 |
jari |
268 |
|
2 |
26 Feb 07 |
jari |
// Variables declaration - do not modify//GEN-BEGIN:variables |
2 |
26 Feb 07 |
jari |
270 |
private javax.swing.JPanel jPanel4; |
2 |
26 Feb 07 |
jari |
271 |
private javax.swing.JScrollPane jScrollPane1; |
2 |
26 Feb 07 |
jari |
272 |
private javax.swing.JButton btnMoveDown; |
2 |
26 Feb 07 |
jari |
273 |
private javax.swing.JPanel jPanel3; |
2 |
26 Feb 07 |
jari |
274 |
private javax.swing.JButton btnMoveUp; |
2 |
26 Feb 07 |
jari |
275 |
private javax.swing.JPanel jPanel2; |
2 |
26 Feb 07 |
jari |
276 |
private javax.swing.JList lstData; |
2 |
26 Feb 07 |
jari |
277 |
private javax.swing.JPanel jPanel1; |
2 |
26 Feb 07 |
jari |
278 |
private javax.swing.JButton btnOk; |
2 |
26 Feb 07 |
jari |
279 |
private javax.swing.JButton btnCancel; |
2 |
26 Feb 07 |
jari |
// End of variables declaration//GEN-END:variables |
2 |
26 Feb 07 |
jari |
281 |
|
2 |
26 Feb 07 |
jari |
282 |
} |