All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yaoqiang.bpmn.editor.dialog.panels.DataStatePanel Maven / Gradle / Ivy

package org.yaoqiang.bpmn.editor.dialog.panels;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import org.yaoqiang.bpmn.editor.dialog.BPMNPanelContainer;
import org.yaoqiang.bpmn.editor.dialog.XMLPanel;
import org.yaoqiang.bpmn.model.elements.data.DataState;
import org.yaoqiang.util.Resources;


/**
 * DataStatePanel
 * 
 * @author Shi Yaoqiang([email protected])
 */
public class DataStatePanel extends XMLPanel {

	private static final long serialVersionUID = 1L;
	
	protected JTextField jtf;
	
	public DataStatePanel(BPMNPanelContainer pc, DataState owner) {
		super(pc, owner);
		this.setLayout(new BorderLayout());
		this.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
		
		JLabel jl = new JLabel(Resources.get(owner.toName()) + ": ");
		jtf = new JTextField();
		jtf.setText(owner.getName());

		Dimension textDim = new Dimension(150, 26);
		jtf.setMinimumSize(new Dimension(textDim));
		jtf.setMaximumSize(new Dimension(textDim));
		jtf.setPreferredSize(new Dimension(textDim));
		jtf.setEnabled(true);
		
		JPanel statePanel = new JPanel();
		statePanel.setLayout(new BorderLayout());
		statePanel.add(new JLabel("["), BorderLayout.WEST);
		statePanel.add(jtf, BorderLayout.CENTER);
		statePanel.add(new JLabel("]"), BorderLayout.EAST);
		
		this.add(jl, BorderLayout.WEST);
		this.add(Box.createHorizontalGlue(), BorderLayout.EAST);
		this.add(statePanel, BorderLayout.CENTER);
	}
	
	public String getText() {
		return jtf.getText().trim();
	}
	
	public void saveObjects() {
		((DataState)owner).setName(getText());
	}
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy