source: trunk/gsdl3/packages/vishnu/src/vishnu/testvis/sammon/SammKeywordPanel.java@ 8189

Last change on this file since 8189 was 8189, checked in by kjdon, 20 years ago

first version of Imperial College's Visualiser code

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
Line 
1package vishnu.testvis.sammon;
2
3import javax.swing.*;
4import java.awt.*;
5import java.awt.event.*;
6import vishnu.testvis.visual.*;
7import vishnu.testvis.object.*;
8import java.util.*;
9import vishnu.testvis.treemap.table.*;
10
11class SammKeywordPanel extends JPanel
12{
13 RW_DataModel _dataModel;
14 //SammRWTable _dataModel;
15 JTable _table = new JTable();
16 JScrollPane theScrollPane;
17 JCheckBox checkBoxes[];
18 JLabel labels[];
19 Vishnu currentMain;
20 GraphicalPane parentPane;
21
22 public SammKeywordPanel(Vishnu currentMain, GraphicalPane parent)
23 {
24 this.currentMain = currentMain;
25 this.parentPane = parent;
26
27 theScrollPane = new JScrollPane();
28
29 //setBackground(Color.white);
30 setPreferredSize(new Dimension(200,900));
31 setBorder(BorderFactory.createLoweredBevelBorder());
32 setLayout(new BorderLayout(10,0));
33 Font theFont = new java.awt.Font("Monospaced", 0, 12);
34
35 //JLabel title = new JLabel("Related keywords");
36 //title.setFont(theFont);
37 //add(title,"North");
38
39 _dataModel = new RW_DataModel();
40 //_dataModel = new SammRWTable();
41 _table.setModel(_dataModel);
42
43 _table.setAutoCreateColumnsFromModel(false);
44 _table.getColumnModel().getColumn(0).setPreferredWidth(20);
45 _table.getColumnModel().getColumn(1).setPreferredWidth(100);
46 _table.getColumnModel().getColumn(2).setPreferredWidth(50);
47 _table.setRowSelectionAllowed(false);
48 setupRenderer();
49
50 theScrollPane.getViewport().add(_table, null);
51 add(theScrollPane,"Center");
52
53 setVisible(true);
54
55 JButton refineButton = new JButton("Filter Documents");
56 refineButton.setBorder(BorderFactory.createRaisedBevelBorder());
57 refineButton.setMaximumSize(new Dimension(30,70));
58
59 MouseListener ml = new MouseAdapter()
60 {
61 public void mouseClicked(MouseEvent e)
62 {
63 // what does this do Shalini?
64 // Call the refine engine
65 refineEngine();
66 }
67 };
68
69 refineButton.addMouseListener(ml);
70 refineButton.setFont(theFont);
71 add(refineButton,"South");
72
73
74 }
75 public void refineEngine()
76 {
77 currentMain.log.startsection("FILTERING");
78
79 parentPane.hLinkPanel.setText(_dataModel.getRefinedDocs());
80 String trec_id[] = _dataModel.getRefinedTrecIDs();
81 String filter_Words[] = _dataModel.getFilterWords();
82 String s = new String("");
83 for( int i = 0; i < filter_Words.length; i++ )
84 {
85 s += filter_Words[i] + " ";
86 }
87
88 currentMain.log.log("FILTER_WORDS",s);
89 currentMain.log.log("FILTERED_DOCS",Integer.toString(trec_id.length));
90
91 Vector performance = currentMain.queries.getPerformance(currentMain.query, trec_id);
92
93 currentMain.log.startsection("PERFORMANCE");
94
95 if( performance.size() > 0 )
96 {
97 Integer relvTotal = (Integer)performance.elementAt(performance.size()-2);
98 Integer relvRetr = (Integer)performance.elementAt(performance.size()-1);
99 currentMain.log.log("RELEVANT_TOTAL",Integer.toString(relvTotal.intValue()));
100 currentMain.log.log("RELEVANT_RETRIEVED",Integer.toString(relvRetr.intValue()));
101 for( int i = 0; i < performance.size()-2; i++ )
102 {
103 Integer perf = (Integer)performance.elementAt(i);
104 String str = "PRECISION_" + Integer.toString((i+1)*10);
105 currentMain.log.log(str,Integer.toString(perf.intValue()));
106 }
107 }
108 else
109 {
110 currentMain.log.log("INFO","No relevance data available");
111 }
112
113
114 currentMain.log.endsection("PERFORMANCE");
115 currentMain.log.endsection("FILTERING");
116 }
117
118 // have dendroclusterobj/sammonclusterobj etc as subclasses
119 // of some abstract clusterObj superclass with some
120 // core fields (docs, hitdocFreq etc)
121 public void update(ClusterObj c)
122 {
123 _dataModel.setData(currentMain.dataManager.getWords(), c);
124 }
125
126 public void update2(vishnu.testvis.dendro.ClusterObj c)
127 {
128 _dataModel.setData(currentMain.dataManager.getWords(), c);
129 }
130
131 public void clear()
132 {
133 _dataModel.clear();
134 }
135 private void setupRenderer()
136 {
137 BarRenderer bar = new BarRenderer();
138 //-- Have a number painted in the middle of the bar
139 bar.setStringPainted(true);
140 //-- setup the background color of the bar
141 bar.setBackground(_table.getBackground());
142
143 //-- render the last column as a bar
144 _table.getColumnModel().getColumn(2).setCellRenderer(bar);
145 }
146
147
148}
Note: See TracBrowser for help on using the repository browser.