content: package com.japisoft.editix.editor.xsd.view2.nodeview;
  
  import java.awt.Color;
  import java.awt.Graphics2D;
  
  import javax.swing.ImageIcon;
  import javax.swing.UIManager;
  
  import com.japisoft.editix.editor.xsd.view.View;
  import com.japisoft.editix.editor.xsd.view2.node.XSDNode;
  
  /**
  This program is available under two licenses : 
  
  1. For non commercial usage : 
  
  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/>.
  
  2. For commercial usage :
  
  You need to get a commercial license for source usage at : 
  
  http://www.editix.com/buy.html
  
  Copyright (c) 2018 Alexandre Brillant - JAPISOFT SARL - http://www.japisoft.com
  
  @author Alexandre Brillant - abrillant@japisoft.com
  @author JAPISOFT SARL - http://www.japisoft.com
  
  */
  public class ImageXSDNodeView extends AbstractXSDNodeView {
  	
  	private String urlImage;
  	
  	public ImageXSDNodeView( XSDNode node, String urlImage ) {
  		super( node );
  		this.urlImage = urlImage;
  		hpadding = 10;
  		vpadding = 8;
  	}
  	
  	@Override
  	protected void createBuffer(View designer) {
  		ImageIcon ii = new ImageIcon(
  			getClass().getResource( urlImage )
  		);
  		buffer = createBufferedImage( 
  			ii.getIconWidth(), 
  			ii.getIconHeight() 
  		);
  		Graphics2D g2d = ( Graphics2D )buffer.getGraphics();
  		
  		if ( node.isSelected() ) {
  			g2d.setColor( getSelectionColor() );
  		} else {		
  			g2d.setColor( getEnabledColor() );
  		}
  
  		g2d.fillRoundRect( 0, 0, buffer.getWidth(), buffer.getHeight(), 10, 10 );
  		g2d.setColor( Color.BLACK );
  		
  		
  		g2d.drawImage( 
  			ii.getImage(), 
  			hpadding, 
  			vpadding, 
  			null 
  		);
  		
  		setBorder( g2d );
  		g2d.drawRoundRect( 0, 0, buffer.getWidth() - 1, buffer.getHeight() - 1, 10, 10 );
  		
  	}
  
  }
  