001: /*--
002:
003: Copyright (C) 2002 Anthony Eden.
004: All rights reserved.
005:
006: Redistribution and use in source and binary forms, with or without
007: modification, are permitted provided that the following conditions
008: are met:
009:
010: 1. Redistributions of source code must retain the above copyright
011: notice, this list of conditions, and the following disclaimer.
012:
013: 2. Redistributions in binary form must reproduce the above copyright
014: notice, this list of conditions, and the disclaimer that follows
015: these conditions in the documentation and/or other materials
016: provided with the distribution.
017:
018: 3. The names "OBE" and "Open Business Engine" must not be used to
019: endorse or promote products derived from this software without prior
020: written permission. For written permission, please contact
021: me@anthonyeden.com.
022:
023: 4. Products derived from this software may not be called "OBE" or
024: "Open Business Engine", nor may "OBE" or "Open Business Engine"
025: appear in their name, without prior written permission from
026: Anthony Eden (me@anthonyeden.com).
027:
028: In addition, I request (but do not require) that you include in the
029: end-user documentation provided with the redistribution and/or in the
030: software itself an acknowledgement equivalent to the following:
031: "This product includes software developed by
032: Anthony Eden (http://www.anthonyeden.com/)."
033:
034: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
035: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
036: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
037: DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
038: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
039: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
040: SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
041: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
042: STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
043: IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
044: POSSIBILITY OF SUCH DAMAGE.
045:
046: For more information on OBE, please see <http://obe.sourceforge.net/>.
047:
048: */
049:
050: package org.obe.designer.panel;
051:
052: import java.awt.*;
053: import javax.swing.*;
054: import org.apache.commons.logging.Log;
055: import org.apache.commons.logging.LogFactory;
056: import org.obe.xpdl.model.data.BasicType;
057: import org.obe.xpdl.model.data.DataType;
058: import org.obe.xpdl.model.data.DataTypes;
059: import org.obe.xpdl.model.data.Type;
060:
061: public class DataTypePanel extends JPanel {
062:
063: private static final Log log = LogFactory
064: .getLog(DataTypePanel.class);
065:
066: private JLabel dataTypeLabel;
067: private JComboBox dataTypeComboBox;
068:
069: public DataTypePanel() {
070: init();
071: }
072:
073: public DataType getDataType() {
074: DataTypes type = (DataTypes) dataTypeComboBox.getSelectedItem();
075: switch (type.value()) {
076: case Type.BOOLEAN_TYPE:
077: return new DataType(BasicType.BOOLEAN);
078: case Type.PERFORMER_TYPE:
079: return new DataType(BasicType.PERFORMER);
080: default:
081: log.warn("Type not found: " + type);
082: return null;
083: }
084: }
085:
086: public void setDataType(DataType dataType) {
087: //dataTypeComboBox.setSelectedItem(formalClass);
088: }
089:
090: public void setDataType(Type type) {
091:
092: }
093:
094: private void init() {
095: GridBagLayout gbl = new GridBagLayout();
096: GridBagConstraints gbc = new GridBagConstraints();
097: setLayout(gbl);
098:
099: gbc.insets = new Insets(2, 2, 2, 2);
100: gbc.anchor = GridBagConstraints.WEST;
101: gbc.fill = GridBagConstraints.HORIZONTAL;
102:
103: dataTypeLabel = new JLabel("Data Type");
104: gbc.weightx = 0;
105: gbc.gridwidth = 1;
106: gbl.setConstraints(dataTypeLabel, gbc);
107: add(dataTypeLabel);
108:
109: dataTypeComboBox = new JComboBox(DataTypes.VALUES.toArray());
110: gbc.weightx = 1;
111: gbc.gridwidth = GridBagConstraints.REMAINDER;
112: gbl.setConstraints(dataTypeComboBox, gbc);
113: add(dataTypeComboBox);
114: }
115:
116: }
|