/* AbstractViewerTree.java created 2007-10-15 * */ package org.signalml.plugin.export.view; import javax.swing.JTree; import javax.swing.tree.TreeModel; import org.signalml.app.view.I18nMessage; import org.springframework.context.MessageSourceResolvable; /** * Abstract class for a tree that is displayed in {@link ViewerTreePane tabs} * in the left tabbed pane (tree tabbed pane). * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public abstract class AbstractViewerTree extends JTree { private static final long serialVersionUID = 1L; /** * Constructs AbstractViewerTree based on a given model and source of labels * @param model the model for this tree */ public AbstractViewerTree(TreeModel model) { super((TreeModel) null); setModel(model); setRootVisible(false); setShowsRootHandles(true); setEditable(false); setExpandsSelectedPaths(true); } @Override public String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { { if (value instanceof I18nMessage) { return ((I18nMessage) value).i18n(); } if (value instanceof MessageSourceResolvable) { return ((MessageSourceResolvable) value).getDefaultMessage(); } String s = value.toString(); if (s != null && s.length() > 0) { return s; } } return super.convertValueToText(value, selected, expanded, leaf, row, hasFocus); } }