⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 standardpanelgenerator.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package org.enhydra.jawe.base.panel;import java.awt.Component;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;import javax.swing.ImageIcon;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.ListCellRenderer;import org.enhydra.jawe.JaWEManager;import org.enhydra.jawe.Settings;import org.enhydra.jawe.Utils;import org.enhydra.jawe.base.panel.panels.XMLActualParametersPanel;import org.enhydra.jawe.base.panel.panels.XMLBasicListPanel;import org.enhydra.jawe.base.panel.panels.XMLBasicPanel;import org.enhydra.jawe.base.panel.panels.XMLBasicTablePanel;import org.enhydra.jawe.base.panel.panels.XMLCheckboxPanel;import org.enhydra.jawe.base.panel.panels.XMLComboChoicePanel;import org.enhydra.jawe.base.panel.panels.XMLComboPanel;import org.enhydra.jawe.base.panel.panels.XMLDataTypesPanel;import org.enhydra.jawe.base.panel.panels.XMLGroupPanel;import org.enhydra.jawe.base.panel.panels.XMLLocationPanel;import org.enhydra.jawe.base.panel.panels.XMLMultiLineTextPanel;import org.enhydra.jawe.base.panel.panels.XMLPanel;import org.enhydra.jawe.base.panel.panels.XMLRadioPanel;import org.enhydra.jawe.base.panel.panels.XMLTabbedPanel;import org.enhydra.jawe.base.panel.panels.XMLTextPanel;import org.enhydra.shark.utilities.SequencedHashMap;import org.enhydra.shark.xpdl.XMLAttribute;import org.enhydra.shark.xpdl.XMLCollection;import org.enhydra.shark.xpdl.XMLCollectionElement;import org.enhydra.shark.xpdl.XMLComplexChoice;import org.enhydra.shark.xpdl.XMLComplexElement;import org.enhydra.shark.xpdl.XMLElement;import org.enhydra.shark.xpdl.XMLEmptyChoiceElement;import org.enhydra.shark.xpdl.XMLSimpleElement;import org.enhydra.shark.xpdl.XMLUtil;import org.enhydra.shark.xpdl.XPDLConstants;import org.enhydra.shark.xpdl.elements.*;import org.enhydra.shark.xpdl.elements.Package;/** * Used to generate panels for all XPDL entities. *  * @author Zoran Milakovic * @author Sasa Bojanic */public class StandardPanelGenerator implements PanelGenerator {   // public static final String   // HIDE_COLLECTIONS_AND_COMPLEX_CHOICES="HideCollectionsAndComplexChoices";   protected PanelContainer pc;   // public String getLanguageDependentString (String nm) {   // return pc.getPanelSettings().getLanguageDependentString(nm);   // }   //      public StandardPanelGenerator() {   }   public void setPanelContainer(PanelContainer pc) {      this.pc = pc;   }   public PanelContainer getPanelContainer() {      return pc;   }   public XMLPanel getPanel(Activities el) {      return generateStandardTablePanel(el, true, false);   }   public XMLPanel getPanel(Activity el) {      List panels = new ArrayList();      Set hidden = getHiddenElements("XMLGroupPanel", el);      for (int i = 1;; i++) {         try {            XMLPanel p = getPanel(el, i, hidden);            if (p != null) {               panels.add(p);            }         } catch (Exception ex) {            break;         }      }      if (panels.size() > 1) {         return new XMLTabbedPanel(getPanelContainer(),                                   el,                                   panels,                                   JaWEManager.getInstance()                                      .getLabelGenerator()                                      .getLabel(el),                                   false);      } else if (panels.size() == 1) {         return (XMLPanel) panels.get(0);      } else {         return new XMLBasicPanel();      }   }   protected XMLPanel getPanel(Activity el, int no, Set hidden) {      XMLPanel p = null;      switch (no) {         case 1:            List panelElements = new ArrayList();            if (!hidden.contains(el.get("Id"))) {               panelElements.add(el.get("Id"));            }            if (!hidden.contains(el.get("Name"))) {               panelElements.add(el.get("Name"));            }            if (!hidden.contains(el.get("Performer"))) {               int type = el.getActivityType();               if (type == XPDLConstants.ACTIVITY_TYPE_NO                   || type == XPDLConstants.ACTIVITY_TYPE_TOOL) {                  panelElements.add(el.get("Performer"));               }            }            if (!hidden.contains(el.getStartMode())) {               panelElements.add(el.getStartMode());            }            if (!hidden.contains(el.getFinishMode())) {               panelElements.add(el.getFinishMode());            }            if (!hidden.contains(el.getDeadlines())) {               panelElements.add(el.getDeadlines());            }            if (!hidden.contains(el.get("Priority"))) {               panelElements.add(el.get("Priority"));            }            if (!hidden.contains(el.get("Limit"))) {               panelElements.add(el.get("Limit"));            }            if (!hidden.contains(el.get("Icon"))) {               panelElements.add(el.get("Icon"));            }            if (!hidden.contains(el.get("Documentation"))) {               panelElements.add(el.get("Documentation"));            }            if (!hidden.contains(el.get("Description"))) {               panelElements.add(el.get("Description"));            }            if (panelElements.size() > 0) {               p = new XMLGroupPanel(getPanelContainer(),                                     el,                                     panelElements,                                     getPanelContainer().getLanguageDependentString("GeneralKey"),                                     true,                                     false,                                     true);            }            break;         case 2:            if (!hidden.contains(el.getActivityTypes())) {               int type = el.getActivityType();               if (type == XPDLConstants.ACTIVITY_TYPE_TOOL) {                  Tools tools = el.getActivityTypes()                     .getImplementation()                     .getImplementationTypes()                     .getTools();                  p = this.getPanel(tools);               } else if (type == XPDLConstants.ACTIVITY_TYPE_SUBFLOW) {                  SubFlow sbflw = el.getActivityTypes()                     .getImplementation()                     .getImplementationTypes()                     .getSubFlow();                  p = this.getPanel(sbflw);               } else if (type == XPDLConstants.ACTIVITY_TYPE_BLOCK) {                  BlockActivity ba = el.getActivityTypes().getBlockActivity();                  p = this.getPanel(ba);               }            }            break;         case 3:            TransitionRestrictions trs = el.getTransitionRestrictions();            if (!hidden.contains(trs) && trs.size() > 0) {               TransitionRestriction tr = (TransitionRestriction) trs.get(0);               p = getPanel(tr);            }            break;         case 4:            if (!hidden.contains(el.getSimulationInformation())) {               p = this.getPanel(el.getSimulationInformation());            }            break;         case 5:            if (!hidden.contains(el.getExtendedAttributes())) {               p = this.getPanel(el.getExtendedAttributes());            }            break;         default:            throw new RuntimeException();      }      return p;   }   public XMLPanel getPanel(ActivitySet el) {      return generateStandardGroupPanel(el, true, false);   }   public XMLPanel getPanel(ActivitySets el) {      return generateStandardTablePanel(el, true, false);   }   public XMLPanel getPanel(ActivityTypes el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(ActualParameter el) {      SequencedHashMap choices = XMLUtil.getPossibleVariables(XMLUtil.getWorkflowProcess(el));      Object choosen = choices.get(el.toValue());      if (choosen == null) {         if (!el.toValue().equals("")) {            choosen = el.toValue();         }      }      SpecialChoiceElement cc = new SpecialChoiceElement(el,                                                         "",                                                         new ArrayList(choices.values()),                                                         choosen,                                                         true,                                                         "Id",                                                         el.toName(),                                                         el.isRequired());      cc.setReadOnly(el.isReadOnly());      return new XMLComboPanel(getPanelContainer(),                               cc,                               null,                               false,                               true,                               false,                               true,                               JaWEManager.getInstance()                                  .getJaWEController()                                  .canModifyElement(el));   }   public XMLPanel getPanel(ActualParameters el) {      return generateStandardTablePanel(el, true, false);   }   public XMLPanel getPanel(Application el) {      return generateStandardGroupPanel(el, true, false);   }   public XMLPanel getPanel(Applications el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(ApplicationTypes el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(ArrayType el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(Author el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(Automatic el) {      return new XMLBasicPanel();   }   public XMLPanel getPanel(BasicType el) {      return this.getPanel((XMLAttribute) el.get("Type"));      // return generateStandardPanel(el);   }   public XMLPanel getPanel(BlockActivity el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(Codepage el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(Condition el) {      return generateStandardGroupPanel(el, true, false);   }   protected XMLPanel getPanel(Condition el, boolean hasTitle) {      return generateStandardGroupPanel(el, hasTitle, false);   }   public XMLPanel getPanel(ConformanceClass el) {      return generateStandardPanel(el.getGraphConformanceAttribute());   }   public XMLPanel getPanel(Cost el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(CostUnit el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(Countrykey el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(Created el) {      return generateStandardPanel(el);   }   public XMLPanel getPanel(DataField el) {      Set hidden = getHiddenElements("XMLGroupPanel", el);      List subpanels = new ArrayList();      List groupsToShow = new ArrayList();      if (!hidden.contains(el.get("Id"))) {         subpanels.add(generateStandardTextPanel(el.get("Id"), true));      }      if (!hidden.contains(el.get("Length"))) {         subpanels.add(generateStandardTextPanel(el.get("Length"), true));      }      if (subpanels.size() > 0) {         groupsToShow.add(new XMLGroupPanel(getPanelContainer(),                                            el,                                            subpanels,                                            "",                                            true,                                            false,                                            true));      }      subpanels.clear();      if (!hidden.contains(el.get("Name"))) {         subpanels.add(generateStandardTextPanel(el.get("Name"), true));      }      if (!hidden.contains(el.get("IsArray"))) {         XMLAttribute isa = (XMLAttribute) el.get("IsArray");         // List choices=isa.getChoices();         subpanels.add(new XMLCheckboxPanel(getPanelContainer(),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -