// Path: src/main/java/com/jramoyo/fix/model/FieldValue.java
// public class FieldValue
// {
// 	private final String enumValue;
// 	private final String description;
// 
// 	public FieldValue(String enumValue, String description)
// 	{
// 		this.enumValue = enumValue;
// 		this.description = description;
// 	}
// 
// 	public FieldValue(FieldValue fieldValue)
// 	{
// 		this.enumValue = fieldValue.enumValue;
// 		this.description = fieldValue.description;
// 	}
// 
// 	public String getEnumValue()
// 	{
// 		return enumValue;
// 	}
// 
// 	public String getDescription()
// 	{
// 		return description;
// 	}
// 
// 	@Override
// 	public int hashCode()
// 	{
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result
// 				+ ((description == null) ? 0 : description.hashCode());
// 		result = prime * result
// 				+ ((enumValue == null) ? 0 : enumValue.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj)
// 	{
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		FieldValue other = (FieldValue) obj;
// 		if (description == null)
// 		{
// 			if (other.description != null)
// 				return false;
// 		} else if (!description.equals(other.description))
// 			return false;
// 		if (enumValue == null)
// 		{
// 			if (other.enumValue != null)
// 				return false;
// 		} else if (!enumValue.equals(other.enumValue))
// 			return false;
// 		return true;
// 	}
// }
// 
// Path: src/main/java/com/jramoyo/qfixmessenger/util/StringUtil.java
// public class StringUtil
// {
// 	/**
// 	 * Indicates if the specified string is null or empty. An empty string is
// 	 * one that has a length of zero after being trimmed.
// 	 * 
// 	 * @param value the string value.
// 	 * @return true if the specified string is null or empty, false otherwise.
// 	 */
// 	public static boolean isNullOrEmpty(String value)
// 	{
// 		return value == null || value.trim().length() == 0;
// 	}
// }


import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
import com.jramoyo.fix.model.FieldValue;
import com.jramoyo.qfixmessenger.util.StringUtil;

/*
 * Copyright (c) 2011, Jan Amoyo
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met:
 *
 * - Redistributions of source code must retain the above copyright 
 *   notice, this list of conditions and the following disclaimer.
 * 
 * - Redistributions in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer 
 *   in the documentation and/or other materials provided with the
 *   distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
 * DAMAGE.
 *
 * FieldComboBoxCellRenderer.java
 * 6 Jun 2011
 */
package com.jramoyo.qfixmessenger.ui.renderers;




/**
 * @author jamoyo
 */
public class FieldComboBoxCellRenderer extends DefaultListCellRenderer
{
	private static final long serialVersionUID = 3395233974501496236L;

	@Override
	public Component getListCellRendererComponent(JList<?> list, Object value,
			int index, boolean isSelected, boolean cellHasFocus)
	{
		JLabel label = (JLabel) super.getListCellRendererComponent(list, value,
				index, isSelected, cellHasFocus);


// Path: src/main/java/com/jramoyo/fix/model/FieldValue.java
// public class FieldValue
// {
// 	private final String enumValue;
// 	private final String description;
// 
// 	public FieldValue(String enumValue, String description)
// 	{
// 		this.enumValue = enumValue;
// 		this.description = description;
// 	}
// 
// 	public FieldValue(FieldValue fieldValue)
// 	{
// 		this.enumValue = fieldValue.enumValue;
// 		this.description = fieldValue.description;
// 	}
// 
// 	public String getEnumValue()
// 	{
// 		return enumValue;
// 	}
// 
// 	public String getDescription()
// 	{
// 		return description;
// 	}
// 
// 	@Override
// 	public int hashCode()
// 	{
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result
// 				+ ((description == null) ? 0 : description.hashCode());
// 		result = prime * result
// 				+ ((enumValue == null) ? 0 : enumValue.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj)
// 	{
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		FieldValue other = (FieldValue) obj;
// 		if (description == null)
// 		{
// 			if (other.description != null)
// 				return false;
// 		} else if (!description.equals(other.description))
// 			return false;
// 		if (enumValue == null)
// 		{
// 			if (other.enumValue != null)
// 				return false;
// 		} else if (!enumValue.equals(other.enumValue))
// 			return false;
// 		return true;
// 	}
// }
// 
// Path: src/main/java/com/jramoyo/qfixmessenger/util/StringUtil.java
// public class StringUtil
// {
// 	/**
// 	 * Indicates if the specified string is null or empty. An empty string is
// 	 * one that has a length of zero after being trimmed.
// 	 * 
// 	 * @param value the string value.
// 	 * @return true if the specified string is null or empty, false otherwise.
// 	 */
// 	public static boolean isNullOrEmpty(String value)
// 	{
// 		return value == null || value.trim().length() == 0;
// 	}
// }


// Path: src/main/java/com/jramoyo/qfixmessenger/ui/renderers/FieldComboBoxCellRenderer.java
import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
import com.jramoyo.fix.model.FieldValue;
import com.jramoyo.qfixmessenger.util.StringUtil;

/*
 * Copyright (c) 2011, Jan Amoyo
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met:
 *
 * - Redistributions of source code must retain the above copyright 
 *   notice, this list of conditions and the following disclaimer.
 * 
 * - Redistributions in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer 
 *   in the documentation and/or other materials provided with the
 *   distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
 * DAMAGE.
 *
 * FieldComboBoxCellRenderer.java
 * 6 Jun 2011
 */
package com.jramoyo.qfixmessenger.ui.renderers;




/**
 * @author jamoyo
 */
public class FieldComboBoxCellRenderer extends DefaultListCellRenderer
{
	private static final long serialVersionUID = 3395233974501496236L;

	@Override
	public Component getListCellRendererComponent(JList<?> list, Object value,
			int index, boolean isSelected, boolean cellHasFocus)
	{
		JLabel label = (JLabel) super.getListCellRendererComponent(list, value,
				index, isSelected, cellHasFocus);


		FieldValue fieldValue = (FieldValue) value;
