Author: jflesch
Date: 2007-06-23 19:14:41 +0000 (Sat, 23 Jun 2007)
New Revision: 13738
Modified:
trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
Modify the internal mechanisms to display the tables in the queueWatcher tab
Modified: trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-23 18:21:32 UTC
(rev 13737)
+++ trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-23 19:14:41 UTC
(rev 13738)
@@ -42,8 +42,14 @@
if (x >= 0)
tabNames.remove(x);
- else
+ else {
Logger.error(this, "remove(): Component not found ?");
+ try { /* dirty way to have a trace back */
+ throw new Exception("bleh");
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
super.remove(panel);
}
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 18:21:32 UTC (rev
13737)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 19:14:41 UTC (rev
13738)
@@ -13,9 +13,10 @@
import javax.swing.JTable;
import javax.swing.JProgressBar;
import javax.swing.JTextArea;
+import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Component;
-
+import javax.swing.ImageIcon;
import java.util.Vector;
@@ -45,6 +46,7 @@
private int columnWithKeys = -1;
+ private boolean statusInProgressBars = true;
public Table(Config config, String prefix) {
super();
@@ -106,6 +108,9 @@
columnWithKeys = c;
}
+ public void showStatusInProgressBars(boolean v) {
+ statusInProgressBars = v;
+ }
public void setDefaultRenderer() {
setDefaultRenderer(getColumnClass(0), new DefaultRenderer());
@@ -157,11 +162,11 @@
final boolean
isSelected, final boolean hasFocus,
final int row,
final int column) {
- if(value == null)
+ if (value == null)
return
super.getTableCellRendererComponent(table, "",
isSelected, hasFocus, row, column);
- if(value instanceof FCPTransferQuery) {
+ if (value instanceof FCPTransferQuery) {
final FCPTransferQuery query =
(FCPTransferQuery)value;
final JProgressBar bar = new JProgressBar(0,
100);
@@ -185,8 +190,11 @@
bar.setString(I18n.getMessage("thaw.common.ok"));
if(!query.isFinished()) {
- bar.setString(query.getStatus() +
- " [
"+Integer.toString(progress)+"% ]");
+ if (statusInProgressBars)
+ bar.setString(query.getStatus()
+
+ " [
"+Integer.toString(progress)+"% ]");
+ else
+
bar.setString(Integer.toString(progress)+"%");
}
return bar;
@@ -194,7 +202,9 @@
Component cell;
- if(value instanceof Long) {
+ if (value instanceof ImageIcon) {
+ cell = new JLabel(((ImageIcon)value));
+ } else if(value instanceof Long) {
cell =
super.getTableCellRendererComponent(table,
thaw.gui.GUIHelper.getPrintableSize(((Long)value).longValue()),
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
2007-06-23 18:21:32 UTC (rev 13737)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
2007-06-23 19:14:41 UTC (rev 13738)
@@ -111,6 +111,7 @@
table.setShowGrid(false);
table.setIntercellSpacing(new java.awt.Dimension(0, 0));
+ table.showStatusInProgressBars(false);
final JTableHeader header = table.getTableHeader();
header.setUpdateTableInRealTime(true);
@@ -141,7 +142,7 @@
scrollPane = new JScrollPane(table);
panel.add(scrollPane, BorderLayout.CENTER);
- table.setDefaultRenderer( table.getColumnClass(0), new
ProgressRenderer(table, tableModel, isForInsertionQueue) );
+ //table.setDefaultRenderer( table.getColumnClass(0), new
ProgressRenderer(table, tableModel, isForInsertionQueue) );
tableModel.addTableModelListener(table);
@@ -227,124 +228,6 @@
}
- private class ProgressRenderer extends DefaultTableCellRenderer {
- private final static long serialVersionUID = 20060709;
-
- private final Color SUCCESS = Color.GREEN;
- private final Color FAILURE = Color.RED;
- private final Color RUNNING = Color.ORANGE;
- private final Color PENDING = Color.WHITE;
- private Color softGray;
-
- private QueueTableModel model = null;
- private JTable tabl = null;
- private boolean insertionQueue;
-
- public ProgressRenderer(final JTable table, final
QueueTableModel model, final boolean isForInsertion) {
- this.model = model;
- tabl = table;
- insertionQueue = isForInsertion;
- softGray = new Color(240,240,240);
- }
-
- public Component getTableCellRendererComponent(final JTable
table, Object value,
- boolean
isSelected, final boolean hasFocus,
- final int row,
final int column) {
-
- if(value == null)
- value = "";
-
- final FCPTransferQuery query = model.getQuery(row);
-
- if(value instanceof Integer) {
-
- final Integer progress = (Integer)value;
- final JProgressBar bar = new JProgressBar(0,
100);
-
- bar.setStringPainted(true);
- bar.setBorderPainted(false);
-
- if(progress.intValue() >= 0) {
- bar.setValue(progress.intValue());
-
- String toAdd = "%";
-
- if(!query.isProgressionReliable())
- toAdd = toAdd + " [*]";
-
- bar.setString(progress.toString() +
toAdd);
- } else {
- bar.setValue(100);
-
bar.setString(I18n.getMessage("thaw.common.failed"));
- }
-
-
- return bar;
- }
-
- Component cell = null;
-
- if (column == 0) {
- if(query == null)
- return null;
-
- if(!query.isRunning() && !query.isFinished())
- cell = new JLabel("");
-
- if(query.isFinished() && query.isSuccessful() &&
- ( (!(query instanceof FCPClientGet)) ||
((FCPClientGet)query).isWritingSuccessful()))
- cell = new JLabel(IconBox.minGreen);
-
- if(query.isFinished() && (!query.isSuccessful()
||
- ((query instanceof
FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
- cell = new JLabel(IconBox.minRed);
-
- if(query.isRunning() && !query.isFinished())
- cell = new JLabel(IconBox.minOrange);
-
- } else {
-
- cell =
super.getTableCellRendererComponent(table, value,
-
isSelected, hasFocus,
- row,
column);
-
- }
-
- if (!isSelected) {
- if (row % 2 == 0)
- cell.setBackground(Color.WHITE);
- else
- cell.setBackground(softGray);
- }
-
- /*
- if(!isSelected) {
-
- if(query == null)
- return null;
-
- if(!query.isRunning() && !query.isFinished())
- cell.setBackground(PENDING);
-
- if(query.isFinished() && query.isSuccessful() &&
- ( (!(query instanceof FCPClientGet)) ||
((FCPClientGet)query).isWritingSuccessful()))
- cell.setBackground(SUCCESS);
-
- if(query.isFinished() && (!query.isSuccessful()
||
- ((query instanceof
FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
- cell.setBackground(FAILURE);
-
- if(query.isRunning() && !query.isFinished())
- cell.setBackground(RUNNING);
- }
- */
-
- return cell;
- }
-
- }
-
-
public void reloadSelections() {
selectedRows = table.getSelectedRows();
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
2007-06-23 18:21:32 UTC (rev 13737)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
2007-06-23 19:14:41 UTC (rev 13738)
@@ -18,7 +18,12 @@
import thaw.core.Logger;
import thaw.fcp.FCPQueueManager;
import thaw.fcp.FCPTransferQuery;
+import thaw.fcp.FCPClientGet;
+import thaw.fcp.FCPClientPut;
+import thaw.gui.IconBox;
+
+
public class QueueTableModel extends javax.swing.table.AbstractTableModel
implements Observer {
private static final long serialVersionUID = 20060708;
@@ -95,17 +100,31 @@
if(row >= queries.size())
return null;
- /* we don't return any value for the first column,
- * the renderer will deduce itself what must be put in this
column
- */
- if (column == 0)
- return null;
- else
- column--;
-
final FCPTransferQuery query =
(FCPTransferQuery)queries.get(row);
- if(column == 0) {
+ if (column == 0) {
+ if(query == null)
+ return null;
+
+ if(!query.isRunning() && !query.isFinished())
+ return " ";
+
+ if(query.isFinished() && query.isSuccessful() &&
+ ( (!(query instanceof FCPClientGet)) ||
((FCPClientGet)query).isWritingSuccessful()))
+ return IconBox.minGreen;
+
+ if(query.isFinished() && (!query.isSuccessful() ||
+ ((query instanceof
FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
+ return IconBox.minRed;
+
+ if(query.isRunning() && !query.isFinished())
+ return IconBox.minOrange;
+
+ return " ";
+ }
+
+
+ if(column == 1) {
String filename = query.getFilename();
if (filename == null)
@@ -114,7 +133,7 @@
return filename;
}
- if(column == 1)
+ if(column == 2)
return
thaw.gui.GUIHelper.getPrintableSize(query.getFileSize());
if(!isForInsertions && (column == 2)) {
@@ -124,28 +143,14 @@
return
I18n.getMessage("thaw.common.unspecified");
}
- if( (isForInsertions && (column == 2))
- || (!isForInsertions && (column == 3)) )
+ if( (isForInsertions && (column == 3))
+ || (!isForInsertions && (column == 4)) )
return query.getStatus();
- if( ((isForInsertions && (column == 3))
- || (!isForInsertions && (column == 4)) ) ) {
+ if( ((isForInsertions && (column == 4))
+ || (!isForInsertions && (column == 5)) ) ) {
- if(!query.isFinished() || query.isSuccessful()) {
- int progress;
-
- if ((query instanceof thaw.fcp.FCPClientPut
- &&
(query.getTransferWithTheNodeProgression() < 100))
- || ((query instanceof thaw.fcp.FCPClientGet)
- &&
(query.getTransferWithTheNodeProgression() > 0)))
- progress =
query.getTransferWithTheNodeProgression();
- else
- progress = query.getProgression();
-
- return new Integer(progress);
- } else
- return new Integer(-1);
-
+ return query;
}
return null;