import java.awt.Dimension;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ComponentEvent;\r
-import java.awt.event.ComponentListener;\r
+import java.awt.event.MouseEvent;\r
+import java.awt.event.MouseListener;\r
import java.awt.event.WindowEvent;\r
import java.util.Vector;\r
\r
import javax.swing.JTable;\r
import javax.swing.ListSelectionModel;\r
import javax.swing.SwingConstants;\r
+import javax.swing.event.ListSelectionEvent;\r
+import javax.swing.event.ListSelectionListener;\r
import javax.swing.event.TableModelEvent;\r
import javax.swing.event.TableModelListener;\r
import javax.swing.table.DefaultTableCellRenderer;\r
import org.tianocore.frameworkwizard.common.Log;\r
import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.ui.IFrame;\r
+import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
+import org.tianocore.frameworkwizard.module.Identifications.LibraryClass.LibraryClassVector;\r
\r
-public class FindResult extends IFrame implements TableModelListener, ComponentListener {\r
+public class FindResult extends IFrame implements TableModelListener, ListSelectionListener, MouseListener {\r
\r
///\r
/// Define class Serial Version UID\r
\r
private static FindResult findLibraryClassResult = null;\r
\r
+ private int selectedRow = -1;\r
+\r
+ private LibraryClassVector lcv = null;\r
+\r
+ private Vector<FindResultId> vLibraryClassFindResult = null;\r
+\r
/**\r
* This is the default constructor\r
*/\r
jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
\r
+ jTable.getSelectionModel().addListSelectionListener(this);\r
jTable.getModel().addTableModelListener(this);\r
+ jTable.addMouseListener(this);\r
\r
model.addColumn("Name");\r
model.addColumn("Type");\r
jTable.getColumn("Produced by").setCellRenderer(new MyTableCellRenderer());\r
jTable.getColumn("Consumed by").setCellRenderer(new MyTableCellRenderer());\r
jTable.getColumn("Declared by").setCellRenderer(new MyTableCellRenderer());\r
- \r
-// jTable.getColumn("Name").setPreferredWidth((this.getSize().width - 30) / 5);\r
-// jTable.getColumn("Type").setPreferredWidth((this.getSize().width - 30) / 5);\r
-// jTable.getColumn("Produced by").setPreferredWidth((this.getSize().width - 30) / 5);\r
-// jTable.getColumn("Consumed by").setPreferredWidth((this.getSize().width - 30) / 5);\r
-// jTable.getColumn("Declared by").setPreferredWidth((this.getSize().width - 30) / 5);\r
+\r
int columnWidth = (this.getSize().width - 28) / 5;\r
jTable.getColumn("Name").setPreferredWidth(columnWidth);\r
jTable.getColumn("Type").setPreferredWidth(columnWidth);\r
}\r
\r
if (this.method.equals("LIBRARY_CLASS")) {\r
- Vector<LibraryClassId> vLibraryClass = Find.getAllLibraryClassForFind();\r
-\r
- if (vLibraryClass.size() > 0) {\r
+ lcv = Find.getAllLibraryClassVector();\r
+ vLibraryClassFindResult = Find.getAllLibraryClassForFind(lcv);\r
\r
- for (int index = 0; index < vLibraryClass.size(); index++) {\r
+ if (vLibraryClassFindResult.size() > 0) {\r
+ for (int index = 0; index < vLibraryClassFindResult.size(); index++) {\r
Vector<String> v = new Vector<String>();\r
- v.addElement(vLibraryClass.elementAt(index).getName());\r
- v.addElement(vLibraryClass.elementAt(index).getType());\r
- String strProducedModules = vLibraryClass.elementAt(index).getProducedModules();\r
+ v.addElement(vLibraryClassFindResult.elementAt(index).getName());\r
+ v.addElement(vLibraryClassFindResult.elementAt(index).getType());\r
+\r
+ //\r
+ // Generate Produced Modules List\r
+ //\r
+ String strProducedModules = "";\r
+ Vector<ModuleIdentification> vModule = vLibraryClassFindResult.elementAt(index)\r
+ .getProducedModules();\r
+ for (int indexOfPM = 0; indexOfPM < vModule.size(); indexOfPM++) {\r
+ strProducedModules = strProducedModules + "<br>"\r
+ + vModule.get(indexOfPM).getPackageId().getName() + "."\r
+ + vModule.get(indexOfPM).getName();\r
+ }\r
if (strProducedModules.indexOf("<br>") == 0) {\r
strProducedModules = strProducedModules.substring("<br>".length());\r
}\r
int line1 = Tools.getSpecificStringCount(strProducedModules, "<br>");\r
v.addElement("<html>" + strProducedModules + "</html>");\r
\r
- String strConsumedModules = vLibraryClass.elementAt(index).getConsumedModules();\r
+ //\r
+ // Generate Consumed Modules List\r
+ //\r
+ String strConsumedModules = "";\r
+ vModule = vLibraryClassFindResult.elementAt(index).getConsumedModules();\r
+ for (int indexOfCM = 0; indexOfCM < vModule.size(); indexOfCM++) {\r
+ strConsumedModules = strConsumedModules + "<br>"\r
+ + vModule.get(indexOfCM).getPackageId().getName() + "."\r
+ + vModule.get(indexOfCM).getName();\r
+ }\r
if (strConsumedModules.indexOf("<br>") == 0) {\r
strConsumedModules = strConsumedModules.substring("<br>".length());\r
}\r
int line2 = Tools.getSpecificStringCount(strConsumedModules, "<br>");\r
v.addElement("<html>" + strConsumedModules + "</html>");\r
\r
- v.addElement(vLibraryClass.elementAt(index).getDeclaredBy());\r
+ v.addElement(vLibraryClassFindResult.elementAt(index).getDeclaredBy().getName());\r
\r
model.addRow(v);\r
jTable.setRowHeight(index, (Math.max(line1, line2) > 1 ? Math.max(line1, line2) : 1) * 18);\r
\r
}\r
\r
+ /* (non-Javadoc)\r
+ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
+ *\r
+ */\r
public void actionPerformed(ActionEvent arg0) {\r
if (arg0.getSource() == this.jButtonClose) {\r
-\r
this.dispose();\r
}\r
}\r
Tools.resizeTableColumn(this.jTable, this.getSize().width - 28);\r
}\r
\r
+ /* (non-Javadoc)\r
+ * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent)\r
+ *\r
+ */\r
+ public void valueChanged(ListSelectionEvent arg0) {\r
+ if (arg0.getValueIsAdjusting()) {\r
+ return;\r
+ }\r
+ ListSelectionModel lsm = (ListSelectionModel) arg0.getSource();\r
+ if (lsm.isSelectionEmpty()) {\r
+ return;\r
+ } else {\r
+ selectedRow = lsm.getMinSelectionIndex();\r
+ }\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)\r
+ *\r
+ */\r
+ public void mouseClicked(MouseEvent arg0) {\r
+ if (arg0.getClickCount() == 2) {\r
+ if (this.selectedRow < 0) {\r
+ return;\r
+ } else {\r
+ if (this.method.equals("LIBRARY_CLASS")) {\r
+ FindResultDetailInfo frdi = new FindResultDetailInfo(vLibraryClassFindResult.elementAt(selectedRow));\r
+ frdi.setVisible(true);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
/* (non-Javadoc)\r
* @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)\r
*\r
\r
class MyTableCellRenderer extends DefaultTableCellRenderer {\r
///\r
- ///\r
+ /// Define Class Serial Version UID\r
///\r
private static final long serialVersionUID = -2082787479305255946L;\r
\r
}\r
}\r
\r
+ public void mousePressed(MouseEvent e) {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
+ public void mouseReleased(MouseEvent e) {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
+ public void mouseEntered(MouseEvent e) {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
+ public void mouseExited(MouseEvent e) {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
}\r