@Override public void readValue(Object data, Tagable tagabale) { if (data instanceof MacroSeqData) { MacroSeqData macro = (MacroSeqData) data; Object val = getValue(macro.getAttributes()); if (val instanceof Sequence) { Sequence seq = (Sequence) val; if (!seq.isEmpty()) { val = seq.get(0); } } if (val instanceof Attributes) { Attributes dataset = (Attributes) val; Predicate<? super Attributes> predicate = macro.getApplicable(); if (predicate == null || predicate.test(dataset)) { for (TagW tag : macro.getTags()) { if (tag != null) { tag.readValue(dataset, tagabale); } } } } } }
private static TagView getTagView(String name, String format) { if (name != null) { String[] vals = name.split(","); // $NON-NLS-1$ ArrayList<TagW> list = new ArrayList<>(vals.length); for (String s : vals) { TagW t = TagW.get(s); if (t == null) { LOGGER.warn("Cannot find tag \"{}\"", s); // $NON-NLS-1$ } else { list.add(t); } } if (!list.isEmpty()) { return new TagView(format, list.toArray(new TagW[list.size()])); } } return null; }
@Override public String getToolTips() { StringBuffer toolTips = new StringBuffer(); toolTips.append("<html>"); // $NON-NLS-1$ addToolTipsElement( toolTips, Messages.getString("DicomSeries.pat"), TagW.PatientName); // $NON-NLS-1$ addToolTipsElement( toolTips, Messages.getString("DicomSeries.mod"), TagW.Modality); // $NON-NLS-1$ addToolTipsElement( toolTips, Messages.getString("DicomSeries.series_nb"), TagW.SeriesNumber); // $NON-NLS-1$ addToolTipsElement( toolTips, Messages.getString("DicomSeries.study"), TagW.StudyDescription); // $NON-NLS-1$ addToolTipsElement( toolTips, Messages.getString("DicomSeries.series"), TagW.SeriesDescription); // $NON-NLS-1$ toolTips.append(Messages.getString("DicomSeries.date")); // $NON-NLS-1$ //$NON-NLS-2$ toolTips.append(' '); toolTips.append(TagW.formatDateTime((Date) getTagValue(TagW.SeriesDate))); toolTips.append("<br>"); // $NON-NLS-1$ toolTips.append(Messages.getString("DicomVideo.video_l")); // $NON-NLS-1$ toolTips.append("</html>"); // $NON-NLS-1$ return toolTips.toString(); }