Changeset 266


Ignore:
Timestamp:
Mar 14, 2012, 4:54:18 PM (5 years ago)
Author:
tim.te.beek@…
Message:

Only warn about failure to instantiate column values when input was non empty
Provide tooltips for table cells

Location:
trunk/alternative-table-import/src/main/java/nl/nbic/brs/alttableimport
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/alternative-table-import/src/main/java/nl/nbic/brs/alttableimport/models/ParsingTableModel.java

    r253 r266  
    156156                                        objects[i] = object;
    157157
    158                                         if (object == null) {
     158                                        if (object == null && !value.isEmpty()) {
    159159                                                // Report warnings in logger
    160160                                                logger.warn(String.format("Could not create %1$s instance from \"%2$s\"", clazz.getSimpleName(), value));
  • trunk/alternative-table-import/src/main/java/nl/nbic/brs/alttableimport/views/PreviewPanel.java

    r251 r266  
    1313import javax.swing.GroupLayout.ParallelGroup;
    1414import javax.swing.GroupLayout.SequentialGroup;
     15import javax.swing.JComponent;
    1516import javax.swing.JLabel;
    1617import javax.swing.JPanel;
     
    236237                Component component = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    237238
     239                // Build up a tooltip
     240                StringBuilder tooltipBuilder = new StringBuilder();
     241
    238242                // Warn for null value by adding a red border
    239                 if (value == null)
     243                if (value == null) {
    240244                        ((JLabel) component).setBorder(BorderFactory.createLineBorder(Color.red, 2));
     245                        tooltipBuilder.append("Value was empty\n");
     246                }
    241247
    242248                // For Integer & Double add i & d suffixes
     
    247253                                String suffix = columnClass == Double.class ? " (d)" : " (i)";
    248254                                label.setText(componentText + suffix);
     255                                tooltipBuilder.append("Value is interpreted as " + columnClass.getSimpleName() + "\n");
    249256                        }
    250257                }
     
    254261                Color bgColor = Color.black;
    255262                ParserSettingsModel settings = tableModel.getSettings();
    256                 if (settings.getSourceAttributes().contains(column))
     263                if (settings.getSourceAttributes().contains(column)) {
    257264                        bgColor = new Color(bgColor.getRGB() | new Color(255, 192, 192).getRGB());
    258                 if (settings.getEdgeAttributes().contains(column))
     265                        tooltipBuilder.append("Value will be added as Source attribute\n");
     266                }
     267                if (settings.getEdgeAttributes().contains(column)) {
    259268                        bgColor = new Color(bgColor.getRGB() | new Color(192, 255, 192).getRGB());
    260                 if (settings.getTargetAttributes().contains(column))
     269                        tooltipBuilder.append("Value will be added as Edge attribute\n");
     270                }
     271                if (settings.getTargetAttributes().contains(column)) {
    261272                        bgColor = new Color(bgColor.getRGB() | new Color(192, 192, 255).getRGB());
     273                        tooltipBuilder.append("Value will be added as Target attribute\n");
     274                }
    262275                // Use a slightly darker hue if column is an attribute to all three, to distinguish from white
    263276                if (bgColor.getRGB() == Color.white.getRGB())
     
    275288                component.setBackground(bgColor);
    276289
    277                 // TODO Provide a tooltip per cell to explain the colors and weird suffixes
     290                // Provide a tooltip per cell to explain the border, colors and weird suffixes
     291                String tooltip = tooltipBuilder.toString();
     292                if (!tooltip.isEmpty())
     293                        // Tooltip text can not handle new lines by default: We need wrap in html tags instead
     294                        tooltip = String.format("<html>%1$s</html>", tooltip.trim().replace("\n", "<br>"));
     295                else
     296                        tooltip = null;
     297                ((JComponent) component).setToolTipText(tooltip);
    278298
    279299                return component;
Note: See TracChangeset for help on using the changeset viewer.