Skip to content
Snippets Groups Projects
Commit 0dd34ce5 authored by Raphael GIRARDOT's avatar Raphael GIRARDOT
Browse files

Better display manager table dimensions management (DATAREDUC-872)

parent 03d2e572
Branches
Tags
No related merge requests found
......@@ -22,52 +22,10 @@ import fr.soleil.data.service.IKey;
public class DisplayManagerTableModel extends AbstractTableModel {
private static final long serialVersionUID = 2324018400837459885L;
private static final long serialVersionUID = -4541979323424660122L;
protected List<DisplayedItem> openedItemsList;
// this represents a row in the table
// this is to avoid computing things again and again
class DisplayedItem extends Item {
private final String name;
public DisplayedItem(final Item item, final String name) {
super(item);
this.name = name;
}
public String getName() {
return name;
}
}
public enum Columns {
// Order of enum constants stands for columns' order
ITEM, DESCRIPTION, TYPE, FORMAT, AXIS, XSCALE, YSCALE;
@Override
public String toString() {
switch (this) {
case ITEM:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.Item");
case DESCRIPTION:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.Alias");
case TYPE:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.Type");
case FORMAT:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.Format");
case AXIS:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.Axis");
case XSCALE:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.XScale");
case YSCALE:
return DataBrowser.MESSAGES.getString("DisplayManager.Column.YScale");
}
return null;
}
}
public DisplayManagerTableModel() {
initComponents();
}
......@@ -188,4 +146,46 @@ public class DisplayManagerTableModel extends AbstractTableModel {
public int getColumnCount() {
return Columns.values().length;
}
// ///////////// //
// Inner classes //
// ///////////// //
// this represents a row in the table
// this is to avoid computing things again and again
protected class DisplayedItem extends Item {
private final String name;
public DisplayedItem(final Item item, final String name) {
super(item);
this.name = name;
}
public String getName() {
return name;
}
}
public enum Columns {
// Order of enum constants stands for columns' order
ITEM(DataBrowser.MESSAGES.getString("DisplayManager.Column.Item")),
DESCRIPTION(DataBrowser.MESSAGES.getString("DisplayManager.Column.Alias")),
TYPE(DataBrowser.MESSAGES.getString("DisplayManager.Column.Type")),
FORMAT(DataBrowser.MESSAGES.getString("DisplayManager.Column.Format")),
AXIS(DataBrowser.MESSAGES.getString("DisplayManager.Column.Axis")),
XSCALE(DataBrowser.MESSAGES.getString("DisplayManager.Column.XScale")),
YSCALE(DataBrowser.MESSAGES.getString("DisplayManager.Column.YScale"));
private final String name;
private Columns(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
}
......@@ -25,6 +25,7 @@ import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.ToolTipManager;
import javax.swing.event.ListSelectionEvent;
......@@ -50,10 +51,11 @@ import org.jdesktop.swingx.table.ColumnFactory;
import org.jdesktop.swingx.table.TableColumnExt;
import fr.soleil.data.service.IKey;
import fr.soleil.lib.project.ObjectUtils;
public class DisplayManagerViewer extends JPanel implements IDataBrowserItemListener, ListSelectionListener {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 4172000299353964569L;
private final DataBrowserController controller;
......@@ -84,123 +86,17 @@ public class DisplayManagerViewer extends JPanel implements IDataBrowserItemList
private void initComponents() {
removeItemAction = new AbstractActionExt(DataBrowser.MESSAGES.getString("Action.DisplayManager.RemoveItem"),
DataBrowser.ICONS.getIcon("RemoveItemAction")) {
private static final long serialVersionUID = -6952311280183520151L;
@Override
public void actionPerformed(final ActionEvent e) {
int[] selectedRows = table.getSelectedRows();
if (selectedRows.length > 0) {
List<DisplayedItem> selectedItems = new ArrayList<DisplayedItem>(selectedRows.length);
for (int i : selectedRows) {
int index = table.convertRowIndexToModel(i);
DisplayedItem displayedItem = tableModel.getDisplayedItem(index);
selectedItems.add(displayedItem);
}
for (DisplayedItem displayedItem : selectedItems) {
closeItem(displayedItem.getKey());
}
}
}
};
removeItemAction = new RemoveItemAction();
popupMenu = new JPopupMenu();
JMenuItem closeItem = new MyJMenuItem(removeItemAction);
popupMenu.add(closeItem);
tableModel = new DisplayManagerTableModel() {
// override setValue from the tableModel to be notified of real axis
// changes.
// This avoids problems when listening to the editor, which is also
// notified when preparing to display (selecting the current value).
private static final long serialVersionUID = -1376927684030304878L;
@Override
public void setValueAt(final Object aValue, final int rowIndex, final int columnIndex) {
DisplayedItem displayedItem = openedItemsList.get(rowIndex);
if ((columnIndex == Columns.AXIS.ordinal()) && (aValue instanceof AxisType)
&& (displayedItem.getAxis() != null)) {
AxisType newAxis = (AxisType) aValue;
if (!displayedItem.getAxis().equals(newAxis)) {
setItemAxis(displayedItem.getKey(), newAxis);
}
} else {
Item scaleItem = null;
if (aValue instanceof Item) {
scaleItem = (Item) aValue;
}
if (columnIndex == Columns.XSCALE.ordinal()) {
displayedItem.setXItem(scaleItem);
} else if (columnIndex == Columns.YSCALE.ordinal()) {
displayedItem.setYItem(scaleItem);
}
setItemScale(displayedItem);
}
}
};
table = new JXTable() {
private static final long serialVersionUID = -4391458714903323645L;
@Override
public Component prepareRenderer(final TableCellRenderer renderer, final int row, final int column) {
Component c = super.prepareRenderer(renderer, row, column);
if (c instanceof JComponent) {
JComponent jc = (JComponent) c;
// tooltip
String tooltip = null;
int columnIndex = convertColumnIndexToModel(column);
int index = convertRowIndexToModel(row);
DisplayedItem displayedItem = tableModel.getDisplayedItem(index);
if (columnIndex == Columns.ITEM.ordinal()) {
IDataSourceBrowser browser = displayedItem.getBrowser();
IKey itemKey = displayedItem.getKey();
String description = browser.getDescription(itemKey);
if (description != null) {
tooltip = description;
}
if (jc instanceof JLabel) {
Font oldFont = jc.getFont();
Color background = jc.getBackground();
((JLabel) jc).setUI(new ReverseLabelUI());
jc.setFont(oldFont);
jc.setBackground(background);
tableModel = new ItemTransmissionTableModel();
}
table = new DisplayManagerTable();
} else if ((columnIndex == Columns.XSCALE.ordinal()) || (columnIndex == Columns.YSCALE.ordinal())) {
Item scaleItem = displayedItem.getXItem();
if (columnIndex == Columns.YSCALE.ordinal()) {
scaleItem = displayedItem.getYItem();
}
if (scaleItem != null) {
IDataSourceBrowser browser = scaleItem.getBrowser();
String description = browser.getDescription(scaleItem.getKey());
if (description != null) {
tooltip = description;
}
((JLabel) jc).setText(browser.getDisplayName(scaleItem.getKey()));
} else {
((JLabel) jc).setText("");
}
}
if ((tooltip == null)
&& (c.getPreferredSize().width > this.getCellRect(row, column, false).width)) {
tooltip = String.valueOf(getValueAt(row, column));
}
jc.setToolTipText(tooltip);
}
return c;
}
};
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// set a specific column factory to allow referring each column with its
// enum constant
table.setColumnFactory(new ColumnFactory() {
......@@ -239,34 +135,7 @@ public class DisplayManagerViewer extends JPanel implements IDataBrowserItemList
table.getSelectionModel().addListSelectionListener(this);
table.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(final MouseEvent e) {
onPopupTrigger(e);
}
@Override
public void mouseReleased(final MouseEvent e) {
onPopupTrigger(e);
}
@Override
public void mouseClicked(final MouseEvent e) {
onPopupTrigger(e);
}
private void onPopupTrigger(final MouseEvent e) {
if (e.isPopupTrigger()) {
int pointedRow = table.rowAtPoint(e.getPoint());
// if user clicked on a selected row, show popup
if (pointedRow != -1) {
if (table.isRowSelected(pointedRow)) {
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
}
});
table.addMouseListener(new DisplayManagerTableMouseListener());
ToolTipManager.sharedInstance().registerComponent(table);
}
......@@ -359,6 +228,7 @@ public class DisplayManagerViewer extends JPanel implements IDataBrowserItemList
if (yScaleCellEditor != null) {
yScaleCellEditor.addScaleItem(item);
}
table.packAll();
}
});
}
......@@ -376,6 +246,7 @@ public class DisplayManagerViewer extends JPanel implements IDataBrowserItemList
if (yScaleCellEditor != null) {
yScaleCellEditor.removeScaleItem(item);
}
table.packAll();
}
});
}
......@@ -456,4 +327,170 @@ public class DisplayManagerViewer extends JPanel implements IDataBrowserItemList
}
}
// ///////////// //
// Inner classes //
// ///////////// //
protected class RemoveItemAction extends AbstractActionExt {
private static final long serialVersionUID = -974632433120182361L;
public RemoveItemAction() {
super(DataBrowser.MESSAGES.getString("Action.DisplayManager.RemoveItem"),
DataBrowser.ICONS.getIcon("Action.RemoveItems"));
}
@Override
public void actionPerformed(final ActionEvent e) {
int[] selectedRows = table.getSelectedRows();
if (selectedRows.length > 0) {
List<DisplayedItem> selectedItems = new ArrayList<DisplayedItem>(selectedRows.length);
for (int i : selectedRows) {
int index = table.convertRowIndexToModel(i);
DisplayedItem displayedItem = tableModel.getDisplayedItem(index);
selectedItems.add(displayedItem);
}
for (DisplayedItem displayedItem : selectedItems) {
closeItem(displayedItem.getKey());
}
}
}
}
protected class ItemTransmissionTableModel extends DisplayManagerTableModel {
private static final long serialVersionUID = -3787986807436730733L;
// override setValue from the tableModel to be notified of real axis changes.
// This avoids problems when listening to the editor, which is also notified when preparing to display
// (selecting the current value).
@Override
public void setValueAt(final Object aValue, final int rowIndex, final int columnIndex) {
DisplayedItem displayedItem = openedItemsList.get(rowIndex);
if ((columnIndex == Columns.AXIS.ordinal()) && (aValue instanceof AxisType)
&& (displayedItem.getAxis() != null)) {
AxisType newAxis = (AxisType) aValue;
if (!displayedItem.getAxis().equals(newAxis)) {
setItemAxis(displayedItem.getKey(), newAxis);
}
} else {
Item scaleItem = null;
if (aValue instanceof Item) {
scaleItem = (Item) aValue;
}
boolean packColumn;
if (columnIndex == Columns.XSCALE.ordinal()) {
displayedItem.setXItem(scaleItem);
packColumn = true;
} else if (columnIndex == Columns.YSCALE.ordinal()) {
displayedItem.setYItem(scaleItem);
packColumn = true;
} else {
packColumn = false;
}
setItemScale(displayedItem);
if (packColumn) {
DataBrowser.runInEDT(new Runnable() {
@Override
public void run() {
int tableColumnIndex = table.convertColumnIndexToView(columnIndex);
if (tableColumnIndex > -1) {
table.packColumn(tableColumnIndex, 5);
}
}
});
}
}
}
}
protected class DisplayManagerTable extends JXTable {
private static final long serialVersionUID = -624308183686851363L;
@Override
public Component prepareRenderer(final TableCellRenderer renderer, final int row, final int column) {
Component c = super.prepareRenderer(renderer, row, column);
if (c instanceof JComponent) {
JComponent jc = (JComponent) c;
// tooltip
String tooltip = null;
int columnIndex = convertColumnIndexToModel(column);
int index = convertRowIndexToModel(row);
DisplayedItem displayedItem = tableModel.getDisplayedItem(index);
if (columnIndex == Columns.ITEM.ordinal()) {
IDataSourceBrowser browser = displayedItem.getBrowser();
IKey itemKey = displayedItem.getKey();
String description = browser.getDescription(itemKey);
if (description != null) {
tooltip = description;
}
if (jc instanceof JLabel) {
Font oldFont = jc.getFont();
Color background = jc.getBackground();
((JLabel) jc).setUI(new ReverseLabelUI());
jc.setFont(oldFont);
jc.setBackground(background);
}
} else if ((columnIndex == Columns.XSCALE.ordinal()) || (columnIndex == Columns.YSCALE.ordinal())) {
Item scaleItem = displayedItem.getXItem();
if (columnIndex == Columns.YSCALE.ordinal()) {
scaleItem = displayedItem.getYItem();
}
if (scaleItem != null) {
IDataSourceBrowser browser = scaleItem.getBrowser();
String description = browser.getDescription(scaleItem.getKey());
if (description != null) {
tooltip = description;
}
((JLabel) jc).setText(browser.getDisplayName(scaleItem.getKey()));
} else {
((JLabel) jc).setText(ObjectUtils.EMPTY_STRING);
}
}
if ((tooltip == null) && (c.getPreferredSize().width > this.getCellRect(row, column, false).width)) {
tooltip = String.valueOf(getValueAt(row, column));
}
jc.setToolTipText(tooltip);
}
return c;
}
}
protected class DisplayManagerTableMouseListener extends MouseAdapter {
@Override
public void mousePressed(final MouseEvent e) {
onPopupTrigger(e);
}
@Override
public void mouseReleased(final MouseEvent e) {
onPopupTrigger(e);
}
@Override
public void mouseClicked(final MouseEvent e) {
onPopupTrigger(e);
}
private void onPopupTrigger(final MouseEvent e) {
if (e.isPopupTrigger()) {
int pointedRow = table.rowAtPoint(e.getPoint());
// if user clicked on a selected row, show popup
if (pointedRow != -1) {
if (table.isRowSelected(pointedRow)) {
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
}
}
}
......@@ -8,6 +8,13 @@
package org.cdma.gui.databrowser.view.displaymanager;
import java.awt.Component;
import java.awt.GraphicsConfiguration;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.LinkedList;
import java.util.List;
......@@ -15,9 +22,22 @@ import javax.swing.DefaultCellEditor;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPopupMenu;
import javax.swing.ListCellRenderer;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
import javax.swing.plaf.ComboBoxUI;
import javax.swing.plaf.basic.BasicComboBoxUI;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.synth.SynthComboBoxUI;
import org.cdma.gui.databrowser.interfaces.DataFormat;
import org.cdma.gui.databrowser.interfaces.DataType;
......@@ -25,15 +45,14 @@ import org.cdma.gui.databrowser.interfaces.Item;
public class ScaleTableCellEditor extends DefaultCellEditor {
private static final long serialVersionUID = -5544917972999745728L;
private static final long serialVersionUID = -5580605874855181429L;
private DefaultComboBoxModel<Object> scaleModel;
private static final String DEFAULT_SCALE = "-";
private List<Item> scaleItemsList;
@SuppressWarnings("unchecked")
public ScaleTableCellEditor() {
super(new JComboBox<Object>());
super(new ComboxEditor());
scaleItemsList = new LinkedList<Item>();
scaleModel = new DefaultComboBoxModel<>();
scaleModel.addElement(DEFAULT_SCALE);
......@@ -42,7 +61,7 @@ public class ScaleTableCellEditor extends DefaultCellEditor {
private static final long serialVersionUID = 7922922623945094022L;
@Override
public Component getListCellRendererComponent(final JList list, final Object value, final int index,
public Component getListCellRendererComponent(final JList<?> list, final Object value, final int index,
final boolean isSelected, final boolean cellHasFocus) {
Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
......@@ -63,8 +82,8 @@ public class ScaleTableCellEditor extends DefaultCellEditor {
return component;
}
};
((JComboBox<Object>) editorComponent).setRenderer(listCellRenderer);
((JComboBox<Object>) editorComponent).setModel(scaleModel);
((ComboxEditor) editorComponent).setRenderer(listCellRenderer);
((ComboxEditor) editorComponent).setModel(scaleModel);
}
......@@ -96,4 +115,223 @@ public class ScaleTableCellEditor extends DefaultCellEditor {
}
}
protected static void preparePopupForVisibility(Object popup) {
if (popup instanceof JPopupMenu) {
JPopupMenu popupMenu = (JPopupMenu) popup;
popupMenu.pack();
popupMenu.setSize(popupMenu.getPreferredSize());
}
}
// ///////////// //
// Inner classes //
// ///////////// //
protected static class ComboxEditor extends JComboBox<Object> {
private static final long serialVersionUID = 7710508768040757171L;
public ComboxEditor() {
super();
addPopupMenuListener(new PopupMenuListener() {
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
ComboBoxUI ui = getUI();
if (ui instanceof PopupComboBoxUI) {
preparePopupForVisibility(((PopupComboBoxUI) ui).getPopup());
}
}
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
// not managed
}
@Override
public void popupMenuCanceled(PopupMenuEvent e) {
// not managed
}
});
}
@Override
public void setOpaque(boolean isOpaque) {
super.setOpaque(true);
}
/**
* Resets the UI property to a value from the current look and feel.
*
* @see JComponent#updateUI
*/
@Override
public void updateUI() {
ComboBoxUI ui = (ComboBoxUI) UIManager.getUI(this);
if (ui instanceof SynthComboBoxUI) {
ui = new NimbusAdaptablePopupUI();
} else if (ui instanceof MetalComboBoxUI) {
ui = new MetalAdaptablePopupUI();
} else {
ui = new BasicAdaptablePopupUI();
}
setUI(ui);
ListCellRenderer<?> renderer = getRenderer();
if (renderer instanceof Component) {
SwingUtilities.updateComponentTreeUI((Component) renderer);
}
if (renderer instanceof JComponent) {
((JComponent) renderer).setOpaque(true);
}
}
}
protected static interface PopupComboBoxUI {
public ComboPopup getPopup();
}
protected static class BestSizeComboPopup extends BasicComboPopup {
private static final long serialVersionUID = 3838735676643450776L;
public BestSizeComboPopup(JComboBox<?> combo) {
super(combo);
}
@Override
protected Rectangle computePopupBounds(int px, int py, int pw, int ph) {
Rectangle rect = super.computePopupBounds(px, py, pw, ph);
pack();
int width = getWidth();
if (rect.width < width) {
rect.width = width;
}
Toolkit toolkit = Toolkit.getDefaultToolkit();
Rectangle screenBounds;
// Calculate the desktop dimensions relative to the combo box.
GraphicsConfiguration gc = comboBox.getGraphicsConfiguration();
Point p = new Point();
SwingUtilities.convertPointFromScreen(p, comboBox);
if (gc != null) {
Insets screenInsets = toolkit.getScreenInsets(gc);
screenBounds = gc.getBounds();
screenBounds.width -= (screenInsets.left + screenInsets.right);
screenBounds.height -= (screenInsets.top + screenInsets.bottom);
screenBounds.x += (p.x + screenInsets.left);
screenBounds.y += (p.y + screenInsets.top);
} else {
screenBounds = new Rectangle(p, toolkit.getScreenSize());
}
if (rect.x + width > screenBounds.width) {
rect.x -= Math.abs(width - screenBounds.width);
}
if (rect.x < 0) {
rect.x = 0;
}
return rect;
}
}
protected static class NimbusBestSizeComboPopup extends BestSizeComboPopup {
private static final long serialVersionUID = -2817868855065863058L;
public NimbusBestSizeComboPopup(JComboBox<?> combo) {
super(combo);
}
@SuppressWarnings("unchecked")
@Override
protected void configureList() {
list.setFont(comboBox.getFont());
list.setCellRenderer(comboBox.getRenderer());
list.setFocusable(false);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
int selectedIndex = comboBox.getSelectedIndex();
if (selectedIndex == -1) {
list.clearSelection();
} else {
list.setSelectedIndex(selectedIndex);
list.ensureIndexIsVisible(selectedIndex);
}
installListListeners();
}
}
protected static class NimbusAdaptablePopupUI extends SynthComboBoxUI implements PopupComboBoxUI {
public NimbusAdaptablePopupUI() {
super();
}
@Override
protected ListCellRenderer<?> createRenderer() {
ListCellRenderer<?> renderer = super.createRenderer();
if (renderer instanceof JComponent) {
JComponent comp = (JComponent) renderer;
comp.setOpaque(true);
comp.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if ("opaque".equals(evt.getPropertyName()) && Boolean.FALSE.equals(evt.getNewValue())) {
comp.setOpaque(true);
}
}
});
}
return renderer;
}
@Override
protected ComboPopup createPopup() {
return new NimbusBestSizeComboPopup(comboBox);
}
@Override
public ComboPopup getPopup() {
return popup;
}
}
protected static class MetalAdaptablePopupUI extends MetalComboBoxUI implements PopupComboBoxUI {
public MetalAdaptablePopupUI() {
super();
}
@Override
protected ComboPopup createPopup() {
return new BestSizeComboPopup(comboBox);
}
@Override
public ComboPopup getPopup() {
return popup;
}
}
protected static class BasicAdaptablePopupUI extends BasicComboBoxUI implements PopupComboBoxUI {
public BasicAdaptablePopupUI() {
super();
}
@Override
protected ComboPopup createPopup() {
return new BestSizeComboPopup(comboBox);
}
@Override
public ComboPopup getPopup() {
return popup;
}
}
}
......@@ -39,7 +39,7 @@ import fr.soleil.data.target.scalar.IBooleanTarget;
public class ChartSpectrumViewer extends AbstractItemViewer<ChartSpectrumItem>
implements IItemViewer, IChartSpectrumItemListener, IBooleanTarget {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 7297971717567278421L;
private static final Color[] COLOR_ARRAY = new Color[] { Color.BLUE, Color.RED, Color.GREEN, Color.ORANGE,
Color.CYAN, Color.MAGENTA, Color.PINK, Color.DARK_GRAY, Color.BLACK };
......
......@@ -19,7 +19,8 @@ import fr.soleil.comete.swing.Panel;
public class CheckBoxPanel extends Panel implements ICheckBox, ActionListener, ItemListener {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 5558619697042095425L;
private CheckBox checkBox;
private Label label;
......@@ -28,7 +29,7 @@ public class CheckBoxPanel extends Panel implements ICheckBox, ActionListener, I
label = new Label();
label.setOpaque(false);
checkBox = new CheckBox();
addCenter((IComponent)label);
addCenter(label);
add((IComponent) checkBox, BorderLayout.WEST);
}
......@@ -129,5 +130,4 @@ public class CheckBoxPanel extends Panel implements ICheckBox, ActionListener, I
checkBox.setCometeForeground(color);
}
}
......@@ -18,14 +18,14 @@ import org.cdma.gui.databrowser.interfaces.Item;
public class ItemTableCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = 5700703548437211299L;
private static final long serialVersionUID = -2156930127631540679L;
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Component tableCellRendererComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
if (value instanceof Item && tableCellRendererComponent instanceof JLabel) {
if ((value instanceof Item) && (tableCellRendererComponent instanceof JLabel)) {
JLabel jlabel = (JLabel) tableCellRendererComponent;
Item item = (Item) value;
IDataSourceBrowser browser = item.getBrowser();
......
......@@ -319,7 +319,7 @@ public class TreeViewer extends JPanel implements MouseListener, ITreeNodeSelect
}
};
closeItem = new AbstractActionExt(DataBrowser.MESSAGES.getString("Action.SourceTree.CloseItem"),
DataBrowser.ICONS.getIcon("Action.CloseSource")) {
DataBrowser.ICONS.getIcon("Action.RemoveItems")) {
private static final long serialVersionUID = 6581422153408721280L;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment