Package org.uengine.processdesigner

Source Code of org.uengine.processdesigner.ProcessVariableInformationPanel

package org.uengine.processdesigner;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.HashMap;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;

import org.uengine.kernel.GlobalContext;
import org.uengine.kernel.ProcessDefinition;
import org.uengine.kernel.ProcessVariable;

import org.uengine.processdesigner.inputters.RoleInput;
import org.metaworks.*;
import org.metaworks.inputter.*;

/**
* @author Jinyoung Jang
*/

public class ProcessVariableInformationPanel extends AbstractInformationPanel{

  SelectInput typeInputter;
   
  public ProcessVariableInformationPanel(ProcessDefinition pd){
    super(pd, GlobalContext.getLocalizedMessage("pd.processvariables.label"), ProcessVariable.class);
   
    java.net.URL imgURL = getClass().getClassLoader().getResource("org/uengine/kernel/images/variable.gif");
    setBorder(new IconTitledBorder(getBorder(), GlobalContext.getLocalizedMessage("pd.processvariables.label"), new ImageIcon(imgURL)));
   
    initialize();   
  }

  protected Object[] getValues() {
    ProcessVariable[] pvs = getProcessDefinition().getProcessVariables();
    if(pvs ==null || pvs.length ==0)
      return pvs;
   
    HashMap objTmp = new HashMap();
    String[] displayNames = new String[pvs.length];
    for(int i=0; i<pvs.length; i++){
      displayNames[i] = pvs[i].getDisplayName().getText();
      objTmp.put(displayNames[i], pvs[i]);
    }
    Arrays.sort(displayNames);
   
    ProcessVariable[] pvsTmp = new ProcessVariable[pvs.length];
    for(int i=0; i<displayNames.length; i++){
      pvsTmp[i] = (ProcessVariable)objTmp.get(displayNames[i]);
      pvsTmp[i].setName(pvsTmp[i].getName().trim());
    }
   
    return pvsTmp;
  }
 
  public void setProcessDefinition(ProcessDefinition pd) {   
    super.setProcessDefinition(pd);
   
    Type table = getApplication().getType();
    FieldDescriptor fd =  table.getFieldDescriptor("OpenRole");
    fd.setInputter(new RoleInput(pd))
  }

  protected void applyValues(Object[] objs) {
    ProcessVariable[] pvs = new ProcessVariable[objs.length];
    for(int i=0; i<objs.length; i++){
      pvs[i] = (ProcessVariable)objs[i];
      pvs[i].setName(pvs[i].getName().trim());
    }
         
    getProcessDefinition().setProcessVariables(pvs)
  }
 
/*  protected String getLabel(Object value){
    return value.toString();
  }*/

  public void onEdit(){
    try{
      ProcessDefinition procDef = (ProcessDefinition)ProcessDesigner.getInstance().getProcessDefinitionDesigner().getActivity();
       
      if(procDef!=null){
        typeInputter.setSelectionsWithNull(procDef.getReservedXmlTypes());
      }
    }catch(Exception e){
    }   
  }

  protected void initialize() {
    Type table = getApplication().getType();
    FieldDescriptor fd;


  }

}

class DynamicInputter extends InputterAdapter{
  JPanel inputterPanel;
  Inputter inputter;
 
  public Component getNewComponent() {
    inputterPanel = new JPanel(new BorderLayout(0,0));
    setInputter(null);
    return inputterPanel;
  }
 
  public void setInputter(Inputter inputter){
    this.inputter = inputter;

    Component addingComp;
    if(inputter==null){
      addingComp = new JLabel("no inputter is available");
    }else{
      inputter.initialize(null);
      addingComp = inputter.getComponent();
    }

    inputterPanel.removeAll();
    inputterPanel.add("Center", addingComp);
    inputterPanel.revalidate();
  }
 
}
TOP

Related Classes of org.uengine.processdesigner.ProcessVariableInformationPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.