Author: tchemit Date: 2009-04-22 23:58:37 +0000 (Wed, 22 Apr 2009) New Revision: 1573 Added: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/NavigationTreeCellRenderer.java Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/JDetailTab.jaxx Log: ajout d'un renderer sur l'arbre de navigation afin de pouvoir modifier le rendu des objets Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/JDetailTab.jaxx =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/JDetailTab.jaxx 2009-04-22 22:45:18 UTC (rev 1572) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/JDetailTab.jaxx 2009-04-22 23:58:37 UTC (rev 1573) @@ -1,3 +1,4 @@ + <JAXXTab> <style source="common.css"/> <row> @@ -14,7 +15,7 @@ <JLabel id='detailHeaderFromRemote' opaque='false' text='simexplorer.node.navigation.remote' visible='false' icon='{createImageIcon("action/remote.png")}'/> - </cell> + </cell> <cell anchor="east" insets='0,0,0,0'> <JToolBar> <JButton id='historyPrevious'/> @@ -58,10 +59,11 @@ <cell columns="2"> <JSplitPane id='splitOne' orientation="horizontal" resizeWeight="0.45" oneTouchExpandable='true'> <JScrollPane columnHeaderView='{toolbarNavigation}'> - <JTree id="navigationTree" model='{new javax.swing.tree.DefaultTreeModel(null)}' styleClass='smallSize'/> + <JTree id="navigationTree" model='{new javax.swing.tree.DefaultTreeModel(null)}' styleClass='smallSize' + cellRenderer='{new NavigationTreeCellRenderer()}'/> </JScrollPane> <JScrollPane id="scrollPane" columnHeaderView='{toolbarDetail}' border='{null}' horizontalScrollBarPolicy='horizontal_scrollbar_never' verticalScrollBarPolicy='vertical_scrollbar_never'> - <Table id='detail' insets='2,2,2,1'> + <Table id='detail' insets='2,2,2,1'> <row fill='vertical'> <cell anchor='west'> <JLabel text='simexplorer.common.type'/> @@ -88,7 +90,7 @@ </row> <row> <cell fill='horizontal' columns="2" insets='3,0,0,1'> - <JPanel styleClass='border'> + <JPanel styleClass='border'> <JLabel id='detailDescriptorsHeader'/> </JPanel> </cell> @@ -112,7 +114,7 @@ </cell> <cell fill='horizontal' anchor="east"> <JToolBar> - <JButton id='downloadAttachment'/> + <JButton id='downloadAttachment'/> </JToolBar> </cell> </row> Added: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/NavigationTreeCellRenderer.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/NavigationTreeCellRenderer.java (rev 0) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/main/java/fr/cemagref/simexplorer/is/ui/swing/ui/NavigationTreeCellRenderer.java 2009-04-22 23:58:37 UTC (rev 1573) @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2008 Cemagref + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package fr.cemagref.simexplorer.is.ui.swing.ui; + +import fr.cemagref.simexplorer.is.entities.data.Component; +import fr.cemagref.simexplorer.is.ui.swing.model.EntityTreeNode; +import javax.swing.JTree; +import javax.swing.tree.DefaultTreeCellRenderer; + +/** + * Le renderer à utiliser pour l'arbre de navigation dans l'onglet de détail. + * + * @author chemit + * @since 1.0 + */ +public class NavigationTreeCellRenderer extends DefaultTreeCellRenderer { + + private static final long serialVersionUID = 1L; + + @Override + public java.awt.Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { + if (value instanceof EntityTreeNode) { + EntityTreeNode n = (EntityTreeNode) value; + Object o = n.get(); + if (o instanceof Component) { + value = getComponentText((Component) o); + } + } + java.awt.Component comp = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); + return comp; + } + + /** + * @param c le component dont on veut le rendu + * @return le rendu d'un component. + */ + protected String getComponentText(Component c) { + String value = c.toString() + " [" + c.getMetaData().getVersion() + "]"; + return value; + } +}