PK -u. META-INF/PK -u.35DDMETA-INF/MANIFEST.MFManifest-Version: 1.0 Created-By: 1.3.0 (Sun Microsystems Inc.) PK u.==BaseParameterHelper.java import java.util.Hashtable; import java.util.Properties; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.FileNotFoundException; import com.ptc.cipjava.jxthrowable; public abstract class BaseParameterHelper { public static final int UNDEFINED = 0; // Pro/E predefined types public static final int STRING = 1; public static final int INTEGER = 2; public static final int BOOLEAN = 3; public static final int DOUBLE = 4; public static final int NOTE = 5; // Any custom type public static final int CUSTOM = 6; protected BaseParameterHelper () { } /** * Get Pro/E parameter name. */ public String getProeName () { return (proeName); } /** * Get custom UI name. */ public String getCustomName () { return (customName); } /** * Set custom UI name. */ public void setCustomName (String customName) { this.customName = customName; } /** * Helper method to get the actual name used in the UI (could be custom or Pro/E). */ public String getName () { return ((customName != null) ? customName : proeName); } /** * Get the custom parameter type associated with this object. */ public CustomParameterType getCustomType () { return customType; } /** * Assign a custom parameter type to this object. Will also set 'type' = CUSTOM. */ protected void setCustomType (CustomParameterType c) { customType = c; type = CUSTOM; } /** * Get the name associated with the custom type. */ public String getCustomTypeName () { if (customType != null) return customType.getCustomTypeName(); else return null; } /** * Get the last message from the custom type. */ public String getCustomTypeMessage () { if (customType == null) return null; return (customType.getMessage()); } /** * Get the explanation for the invalid parameter value (formatted). */ public String getInvalidMessage () { return ("\u2219"+getName()+": "+invalidMessage); } /** * Set the explanation for the invalid parameter value. */ public void setInvalidMessage (String msg) { invalidMessage = msg; } /** * Get the value of the parameter. */ public Object getValue () { return (value); } /** * Get the Pro/E parameter type for the parameter. May not equal the result from "getType()". */ public int getProeType () { return (proeType); } /** * Get the type of the parameter (Pro/E or otherwise). */ public int getType () { return (type); } /** * Get the type name (String representation) of type. */ public String getTypeName () { return (typeName); } /** * Determine is the parameter is relation driven (and therefore, unmodifiable). */ public boolean isRelationDriven () { return (relationDriven); } /** * Determine if the parameter is set to the default value for its Pro/E type. * String = ""; * Integer = 0; * Double = 0.0; */ public boolean isUnassigned (Object value) { Class valueClass = value.getClass(); if (type == CUSTOM) return (false); //Assume that the custom type does the checking. if (valueClass == Integer.class) { if (((Integer) value).intValue () == 0) return (true); } else if (valueClass == Double.class) { if (((Double) value).doubleValue () == 0) return (true); } else if (valueClass == String.class) { if (((String) value).equals ("")) return (true); } return (false); } /** * Set the value of the parameter to a new value. Return value: true, if parameter value was changed. * Includes type checking, relation driven check, and custom parameter type check. */ public boolean setValue (Object newValue) { if (newValue == null) return (false); if (type == UNDEFINED) return (false); if (relationDriven) return (false); Class newClass = newValue.getClass (); int newType; if (newClass == String.class) newType = STRING; else if (newClass == Integer.class) newType = (type == NOTE) ? NOTE : INTEGER; else if (newClass == Boolean.class) newType = BOOLEAN; else if (newClass == Double.class) newType = DOUBLE; else { newValue = newValue.toString (); newClass = String.class; newType = STRING; } if (type == CUSTOM) { boolean ok = customType.checkValue (newValue); if (!ok) return (false); } else if (type != newType) return (false); return (commitNewValue (newValue)); } /** * Overridden in children to force the dimension to be set in Pro/E or elsewhere. */ protected boolean commitNewValue (Object newValue) { value = newValue; return (true); } /** * Overrides java.lang.Object. */ public String toString () { return (valueToString (value, proeType)); } /** * Overriders java.lang.Object. */ public boolean equals (Object obj) { if (super.equals (obj)) return (true); if (obj == null || ! (obj instanceof BaseParameterHelper)) return (false); BaseParameterHelper other = (BaseParameterHelper) obj; if (proeType != other.getProeType ()) return (false); if (type == CUSTOM) { if (customType != null) { if (!customType.equals(other.getCustomType())) return (false); } else { if (other.getCustomType() != null) return (false); } } Object otherValue = other.getValue (); if (otherValue == null || value == null) return (otherValue == value); if (proeType == STRING) return (((String) value).equalsIgnoreCase (((String) otherValue))); else return (value.equals (otherValue)); } public void refreshValue () { } public boolean loadFromProps (Properties props) { String strValue = props.getProperty (getProeName ()); if (strValue == null) return (false); Object newValue = valueFromString (strValue, getProeType ()); if (newValue == null) return (false); return (setValue (newValue)); } public boolean saveToProps (Properties props) { if (value == null || type == UNDEFINED) return (false); props.put (proeName, toString ()); return (true); } /** * Return the string corresponding to a particular type. */ public static String getTypeNameForType (int valueType) { final String [] typeNames = { "undefined", "string", "integer", "yes/no", "real", "note", "custom" }; if (valueType >= 0 && valueType < typeNames.length) return (typeNames [valueType]); else { printMsg ("getTypeName: unknown type: " + valueType); return (null); } } /** * Helper method to convert from string. */ public static Object valueFromString (String strValue, int valueType) { final String [] trueValues = { "true", "yes", "y" }; final String [] falseValues = { "false", "no", "n" }; if (strValue == null) return (null); switch (valueType) { case CUSTOM: return null; case STRING: return (strValue); case INTEGER: try { return (new Integer (strValue.trim ())); } catch (NumberFormatException x) { return (null); } case BOOLEAN: { String trimStrValue = strValue.trim (); for (int iBool = 0; iBool < trueValues.length; ++iBool) { if (trimStrValue.equalsIgnoreCase (trueValues [iBool])) return (new Boolean (true)); else if (trimStrValue.equalsIgnoreCase (falseValues [iBool])) return (new Boolean (false)); } printMsg ("valueFromString: invalid boolean string: " + trimStrValue); return (null); } case DOUBLE: try { return (new Double (strValue.trim ())); } catch (NumberFormatException x) { return (null); } case NOTE: try { return (new Integer (strValue.trim ())); } catch (NumberFormatException x) { return (null); } default: printMsg ("valueFromString: unknown parameter type: " + valueType + " value: \"" + strValue + "\""); return (null); } } /** * Helper method to convert to string */ public static String valueToString (Object value, int valueType) { if (value == null) return (null); switch (valueType) { case UNDEFINED: return (null); case CUSTOM: return value.toString (); case STRING: return ((String) value); case INTEGER: case DOUBLE: case NOTE: return (value.toString ()); case BOOLEAN: return (((Boolean) value).booleanValue () ? "yes" : "no"); default: printMsg ("valueToString: unknown parameter type: " + valueType); return (null); } } /** * Compare two parameter sets. */ public static boolean equalsParameterSets (BaseParameterHelper [] params1, BaseParameterHelper [] params2) { if (params1.length != params2.length) return (false); Hashtable table2 = paramSetToHashtable (params2); // Some may have had the same Pro/E name if (params1.length != table2.size ()) return (false); for (int iParam = 0; iParam < params1.length; ++iParam) { BaseParameterHelper param1 = params1 [iParam]; BaseParameterHelper param2 = (BaseParameterHelper) table2.get (param1.getProeName ()); if (! param1.equals (param2)) return (false); } return (true); } // NOTE: The methods below are not needed to run the J-Link parameter editor. /** * Print a parameter set. */ public static void printParameterSet (String heading, BaseParameterHelper [] params) { if (heading != null) System.out.println (heading); for (int iParam = 0; iParam < params.length; ++iParam) { BaseParameterHelper ph = params [iParam]; if (ph == null) System.out.println (" null"); else { System.out.print (" " + ph.getName ()); if (ph.getCustomName () != null) System.out.print ("[" + ph.getProeName () + "]"); System.out.println (":" + ph.getTypeName () + " = " + ph); } } } protected static Hashtable paramSetToHashtable (BaseParameterHelper [] phs) { Hashtable result = new Hashtable (); for (int iParam = 0; iParam < phs.length; ++iParam) { result.put (phs [iParam].getProeName (), phs [iParam]); } return (result); } public static boolean loadParamsFromFile (BaseParameterHelper [] pHelpers, String fileName) { Properties props = new Properties (); try { FileInputStream fileStream = new FileInputStream (fileName); props.load (fileStream); fileStream.close (); } catch (FileNotFoundException x) { UIHelper.showErrorMessage ("File not found: " + fileName, "reading parameters from " + fileName); } catch (IOException x) { UIHelper.showException(x, "reading parameters from " + fileName); return (false); } StringBuffer badParams = new StringBuffer (); int nBadParams = 0; for (int iParam = 0; iParam < pHelpers.length; ++iParam) { if (! pHelpers [iParam].loadFromProps (props)) { if (nBadParams > 0) badParams.append ('\n'); badParams.append (pHelpers [iParam].getName ()); ++nBadParams; } } if (nBadParams > 0) { UIHelper.showErrorMessage ( "The following parameters were not read:\n" + badParams, "reading parameters from " + fileName); } return (true); } public static boolean saveParamsToFile (BaseParameterHelper [] pHelpers, String fileName) { Properties props = new Properties (); StringBuffer badParams = new StringBuffer (); int nBadParams = 0; for (int iParam = 0; iParam < pHelpers.length; ++iParam) { if (! pHelpers [iParam].saveToProps (props)) { if (nBadParams > 0) badParams.append ('\n'); badParams.append (pHelpers [iParam].getName ()); ++nBadParams; } } try { FileOutputStream fileStream = new FileOutputStream (fileName); props.save (fileStream, "Configuration properties"); fileStream.close (); } catch (IOException x) { UIHelper.showException(x, "writing parameters to " + fileName); return (false); } if (nBadParams > 0) { UIHelper.showErrorMessage ( "The following parameters were not written:\n" + badParams, "writing parameters to " + fileName); } return (true); } //========================================================================= private static void printMsg (String msg) { System.out.println ("BaseParameterHelper: " + msg); } //========================================================================= protected String proeName = null; protected String customName = null; protected int proeType = UNDEFINED; protected int type = UNDEFINED; protected String typeName = null; protected Object value = null; protected boolean relationDriven = false; protected CustomParameterType customType = null; private String invalidMessage = null; } PK uu.pIIBaseProeParameterHelper.java import com.ptc.cipjava.jxthrowable; import com.ptc.pfc.pfcModelItem.*; public abstract class BaseProeParameterHelper extends BaseParameterHelper { public BaseProeParameterHelper (BaseParameter p) { try { this.p = p; // proeName = p.GetName (); paramValue = p.GetValue (); determineProeType (); type = proeType; typeName = getTypeNameForType (type); refreshValue (); } catch (jxthrowable x) { UIHelper.showException (x, "getting parameter info"); } } public BaseProeParameterHelper (BaseParameter p, CustomParameterType c) { try { this.p = p; // proeName = p.GetName (); paramValue = p.GetValue (); // Verify if customType is valid for this attribute determineProeType (); setCustomType (c); typeName = getTypeNameForType (type); refreshValue (); } catch (jxthrowable x) { UIHelper.showException (x, "getting parameter info"); } } // Must be overridden and called from child constructor protected abstract void determineProeName (); protected boolean commitNewValue (Object newValue, int proeParamType) { try { switch (proeType) { case STRING: paramValue.SetStringValue ((String) newValue); break; case INTEGER: case NOTE: paramValue.SetIntValue (((Integer) newValue).intValue ()); break; case BOOLEAN: paramValue.SetBoolValue (((Boolean) newValue).booleanValue ()); break; case DOUBLE: paramValue.SetDoubleValue (((Double) newValue).doubleValue ()); break; default: return (false); } } catch (jxthrowable x) { UIHelper.showException (x, "setting parameter value"); refreshValue (); return (false); } return (true); } protected boolean commitNewValue (Object newValue) { try { switch (type) { case STRING: case INTEGER: case DOUBLE: case BOOLEAN: case NOTE: { boolean checkValue = commitNewValue (newValue, type); if (!checkValue) return (false); break; } case CUSTOM: { boolean checkValue = commitNewValue (newValue, getProeType ()); if (!checkValue) return (false); break; } default: printMsg ("unknown parameter type: " + type); return (false); } p.SetValue (paramValue); return (super.commitNewValue (newValue)); } catch (jxthrowable x) { UIHelper.showException (x, "setting parameter value"); refreshValue (); return (false); } } public void refreshValue (int proEParamType) { try { switch (proEParamType) { case UNDEFINED: case CUSTOM: value = null; break; case STRING: value = paramValue.GetStringValue (); break; case INTEGER: value = new Integer (paramValue.GetIntValue ()); break; case BOOLEAN: value = new Boolean (paramValue.GetBoolValue ()); break; case DOUBLE: value = new Double (paramValue.GetDoubleValue ()); break; case NOTE: value = new Integer (paramValue.GetNoteId ()); break; default: printMsg ("unknown parameter type: " + type); return; } relationDriven = false; // UNIMPLEMENTED p.GetIsRelationDriven (); } catch (jxthrowable x) { UIHelper.showException (x, "getting parameter value"); } } public void refreshValue () { switch (type) { case STRING: case INTEGER: case DOUBLE: case BOOLEAN: case NOTE: refreshValue (type); break; case CUSTOM: refreshValue (proeType); break; case UNDEFINED: value = null; break; } } public static int determineProeType (ParamValueType type) { int proeType = UNDEFINED; switch (type.getValue()) { case ParamValueType._PARAM_STRING: proeType = STRING; break; case ParamValueType._PARAM_INTEGER: proeType = INTEGER; break; case ParamValueType._PARAM_BOOLEAN: proeType = BOOLEAN; break; case ParamValueType._PARAM_DOUBLE: proeType = DOUBLE; break; case ParamValueType._PARAM_NOTE: proeType = NOTE; break; default: printMsg ("unknown Pro/E parameter type: " + type.getValue ()); proeType = UNDEFINED; break; } return (proeType); } protected void determineProeType () { try { proeType = determineProeType (paramValue.Getdiscr()); } catch (jxthrowable x) { UIHelper.showException (x, "getting parameter type"); proeType = UNDEFINED; } } //========================================================================= private static void printMsg (String msg) { System.out.println ("BaseProeParameterHelper: " + msg); } //========================================================================= protected BaseParameter p = null; protected ParamValue paramValue = null; } PK u.alCustomParameterType.java import java.util.Vector; /** * Base class for all custom parameter type rules objects. Subclasses of this * type should implement all of the abstract methods needed to determine whether * or not to accept a certain value. */ public abstract class CustomParameterType { protected int proeType; protected String typeName; /** * The last exception thrown by this type. Used to determine the reasons * for an invalid parameter value. */ protected CustomParameterTypeException lastException = null; /** * This method checks if the provided value follows the Custom rules. */ public abstract boolean checkValue (Object value); /** * This method can be used for conversion after the rules have been checked. * Possible applications: pass the value for conversion to date or time format, * or use for localizing a parameter value. */ public abstract Object commitNewValue (Object newValue); /** * Check if this CustomParameterType could be one of the five Pro/E types * defined in com.ptc.jlinkdemo.common.BaseParameterHelper. */ public abstract boolean checkType (int proeType); /** * Tell which type of editor this parameter type prefers. Values in * com.ptc.jlinkdemo.common.ParamCellEditor. */ public abstract int getTableCellEditorComponentType (); /** * Return the values needed to populate a special UI component. Return null if not * using a specialized editor. */ public abstract Object [] getUIValues (); /** * Returns the last exception message generated. */ public String getMessage () { if (lastException == null) return null; else return lastException.getMessage(); } /** * Compares two CustomParameterType objects. Overrides java.lang.Object. */ public boolean equals (Object obj) { if (super.equals (obj)) return (true); if (obj == null || ! (obj instanceof CustomParameterType)) return (false); CustomParameterType other = (CustomParameterType ) obj; if (!typeName.equalsIgnoreCase (other.getCustomTypeName())) return (false); if ( proeType != other.getProEType ()) return (false); return true; } /** * Return the com.ptc.jlinkdemo.BaseParameterHelper Pro/E parameter type. */ public int getProEType () { return proeType; } /** * Return the CustomParameterType name. */ public String getCustomTypeName () { return typeName; } /** * Checks the type of the incoming object to see if it is acceptable. */ protected void isValidType (Object newValue) throws CustomParameterTypeException { if (!checkType (proeType)) throw new UnsupportedValueTypeException (typeName, proeType); if (newValue == null) throw new NullValueSuppliedException (typeName); Class newClass = newValue.getClass(); switch (proeType) { case BaseParameterHelper.STRING: { return; //Any class may be converted to a string. } case BaseParameterHelper.NOTE: case BaseParameterHelper.INTEGER: { if (newValue instanceof Integer || newValue instanceof Short || newValue instanceof Byte ) return; throw new IncompatibleValueException (proeType, newValue); } case BaseParameterHelper.DOUBLE: { if (newValue instanceof Number) return; throw new IncompatibleValueException (proeType, newValue); } case BaseParameterHelper.BOOLEAN: { if (newValue instanceof Boolean) return; throw new IncompatibleValueException (proeType, newValue); } default: throw new UnsupportedValueTypeException (typeName, proeType); } } /** * Takes a String array and converts to an Object array, with type-checking. */ protected Object [] parseStringValues (String [] array, int type) throws CustomParameterTypeException { switch (type) { case BaseParameterHelper.STRING: return array; case BaseParameterHelper.INTEGER: Integer [] int_array = new Integer [array.length]; int ii = 0; try { for (ii =0; ii< array.length; ii++) { int_array [ii]= new Integer (array [ii]); } } catch (NumberFormatException e) { throw new IncompatibleValueException (type, array[ii]); } return int_array; case BaseParameterHelper.DOUBLE: Double [] dbl_array = new Double [array.length]; ii =0; try { for (ii =0; ii< array.length; ii++) { dbl_array [ii]= new Double (array [ii]); } } catch (NumberFormatException e) { throw new IncompatibleValueException (type, array[ii]); } return dbl_array; default: //Unsupported type throw new UnsupportedValueTypeException (typeName, type); } } /** * Takes a space-delimited String and converts to an array of String values. */ protected String [] getStringArray (String inString) { inString.trim(); int length = inString.length(); int firstIndex = inString.indexOf (' '); int lastIndex = inString.lastIndexOf (' '); if (firstIndex == -1) { return new String [] { inString }; } Vector v = new Vector (); int previousIndex = 0; for (int i = firstIndex; i <= lastIndex; i++) { if (inString.charAt (i) == ' ') { String theString = new String(inString.substring(previousIndex, i)); previousIndex = i+1; v.addElement (theString); } } String theString = new String (inString.substring (lastIndex+1, length)); v.addElement (theString); String [] strings = new String [v.size()]; v.copyInto (strings); return strings; } protected static void printMsg(String str) { System.out.println (str); } } PK  u.^p5 5 CustomParameterTypeCreator.java public class CustomParameterTypeCreator { //Replicate the Pro/E types here: public static final int STRING = BaseParameterHelper.STRING; public static final int INTEGER = BaseParameterHelper.INTEGER; public static final int DOUBLE = BaseParameterHelper.DOUBLE; public static final int BOOLEAN = BaseParameterHelper.BOOLEAN; public static final int NOTE = BaseParameterHelper.NOTE; /** * Add your own default CustomParameterType values here. Currently defines: "LIST_LR", with values of "LEFT or RIGHT", * "LIST_RELEASE_LEVEL", with the release levels used in the Release Checking Demo, "RANGE_POSITIVE_INTS", with a minimum * of 0 and a mximum of Java's maximum integer value, and "RANGE_INC_FOURTHS", which must be multipes of 1/4, between 0.0 and 1.0. */ public static CustomParameterType defaultCustomTypeFromString (String typeName) { try { if (typeName.equalsIgnoreCase ("LIST_LR") || typeName.equalsIgnoreCase ("LR")) { return new ListParameterType ("LIST_LR", "LEFT RIGHT", STRING); } if (typeName.equalsIgnoreCase ("LIST_RELEASE_LEVEL")) { return new ListParameterType ("LIST_RELEASE_LEVEL", "INITIAL PROTOTYPE PREPRODUCTION PRODUCTION RELEASED LEGACY OBSOLETE", STRING); } if (typeName.equalsIgnoreCase ("RANGE_POSITIVE_INTS")) { return new RangeParameterType ("RANGE_POSITIVE_INTS", "0 "+String.valueOf(Integer.MAX_VALUE), INTEGER); } if (typeName.equalsIgnoreCase ("RANGE_INC_FOURTHS")) { return new RangeIncrementalParameterType ("RANGE_INC_FOURTHS", "0.0 1.0 0.25", DOUBLE); } } catch (CustomParameterTypeException ce) { return new InvalidParameterType (typeName, ce); } return (null); } /** * Add your own CustomParameterTypes here. This method expects that the values which define the type are supplied by the * values parameter value. The third argument should match the Pro/E parameter type being constrained. Currently defines * "LIST", "RANGE", and "RANGE_INC". */ public static CustomParameterType createCustomType (String typeName, String values, int type) { try { if (typeName.startsWith("LIST") || typeName.startsWith ("list")) { return new ListParameterType (typeName, values, type); } if (typeName.startsWith("RANGE_INC") || typeName.startsWith ("range_inc")) { return new RangeIncrementalParameterType (typeName, values, type); } if (typeName.startsWith("RANGE") || typeName.startsWith ("range")) { return new RangeParameterType (typeName, values, type); } return (null); } catch (CustomParameterTypeException ce) { return new InvalidParameterType (typeName, ce); } } } PK  u.<K==!CustomParameterTypeException.java public class CustomParameterTypeException extends Exception { /** Creates an exception with a String message. Call getMessage() (inherited * from java.lang.Throwable) to get the message for a particular exception. */ public CustomParameterTypeException (String s) { super (s); } }PK u.4!!!!DefaultCellEditor.java import javax.swing.*; import java.awt.Component; import java.awt.event.*; import java.awt.AWTEvent; import java.lang.Boolean; import javax.swing.table.*; import javax.swing.event.*; import java.util.EventObject; import javax.swing.*; import javax.swing.tree.*; import java.io.Serializable; public class DefaultCellEditor implements TableCellEditor, TreeCellEditor, Serializable { // // Instance Variables // /** Event listeners */ protected EventListenerList listenerList = new EventListenerList(); transient protected ChangeEvent changeEvent = null; protected JComponent editorComponent; protected EditorDelegate delegate; protected int clickCountToStart = 1; // // Constructors // public DefaultCellEditor(JTextField x) { this.editorComponent = x; this.clickCountToStart = 2; this.delegate = new EditorDelegate() { public void setValue(Object x) { super.setValue(x); if (x != null) ((JTextField)editorComponent).setText(x.toString()); else ((JTextField)editorComponent).setText(""); } public Object getCellEditorValue() { return ((JTextField)editorComponent).getText(); } public boolean startCellEditing(EventObject anEvent) { if(anEvent == null) editorComponent.requestFocus(); return true; } public boolean stopCellEditing() { return true; } }; ((JTextField)editorComponent).addActionListener(delegate); } public DefaultCellEditor(JCheckBox x) { this.editorComponent = x; this.delegate = new EditorDelegate() { public void setValue(Object x) { super.setValue(x); // Try my best to do the right thing with x if (x instanceof Boolean) { ((JCheckBox)editorComponent).setSelected(((Boolean)x).booleanValue()); } else if (x instanceof String) { Boolean b = new Boolean((String)x); ((JCheckBox)editorComponent).setSelected(b.booleanValue()); } else { ((JCheckBox)editorComponent).setSelected(false); } } public Object getCellEditorValue() { return new Boolean(((JCheckBox)editorComponent).isSelected()); } public boolean startCellEditing(EventObject anEvent) { // PENDING(alan) if (anEvent instanceof AWTEvent) { return true; } return false; } public boolean stopCellEditing() { return true; } }; ((JCheckBox)editorComponent).addActionListener(delegate); } public DefaultCellEditor(JComboBox x) { this.editorComponent = x; this.delegate = new EditorDelegate() { public void setValue(Object x) { super.setValue(x); ((JComboBox)editorComponent).setSelectedItem(x); } public Object getCellEditorValue() { return ((JComboBox)editorComponent).getSelectedItem(); } public boolean startCellEditing(EventObject anEvent) { if (anEvent instanceof AWTEvent) { return true; } return false; } public boolean stopCellEditing() { return true; } }; ((JComboBox)editorComponent).addItemListener(delegate); } public Component getComponent() { return editorComponent; } // // Modifying // public void setClickCountToStart(int count) { clickCountToStart = count; } /** * clickCountToStart controls the number of clicks required to start * editing if the event passed to isCellEditable() or startCellEditing() is * a MouseEvent. For example, by default the clickCountToStart for * a JTextField is set to 2, so in a JTable the user will need to * double click to begin editing a cell. */ public int getClickCountToStart() { return clickCountToStart; } // // Implementing the CellEditor Interface // public Object getCellEditorValue() { return delegate.getCellEditorValue(); } public boolean isCellEditable(EventObject anEvent) { if (anEvent instanceof MouseEvent) { if (((MouseEvent)anEvent).getClickCount() < clickCountToStart) return false; } return delegate.isCellEditable(anEvent); } public boolean shouldSelectCell(EventObject anEvent) { boolean retValue = true; if (this.isCellEditable(anEvent)) { if (anEvent == null || ((MouseEvent)anEvent).getClickCount() >= clickCountToStart) retValue = delegate.startCellEditing(anEvent); } // By default we want the cell the be selected so // we return true return retValue; } public boolean stopCellEditing() { boolean stopped = delegate.stopCellEditing(); if (stopped) { fireEditingStopped(); } return stopped; } public void cancelCellEditing() { delegate.cancelCellEditing(); fireEditingCanceled(); } // // Handle the event listener bookkeeping // public void addCellEditorListener(CellEditorListener l) { listenerList.add(CellEditorListener.class, l); } public void removeCellEditorListener(CellEditorListener l) { listenerList.remove(CellEditorListener.class, l); } /* * Notify all listeners that have registered interest for * notification on this event type. The event instance * is lazily created using the parameters passed into * the fire method. * @see EventListenerList */ protected void fireEditingStopped() { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==CellEditorListener.class) { // Lazily create the event: if (changeEvent == null) changeEvent = new ChangeEvent(this); ((CellEditorListener)listeners[i+1]).editingStopped(changeEvent); } } } /* * Notify all listeners that have registered interest for * notification on this event type. The event instance * is lazily created using the parameters passed into * the fire method. * @see EventListenerList */ protected void fireEditingCanceled() { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==CellEditorListener.class) { // Lazily create the event: if (changeEvent == null) changeEvent = new ChangeEvent(this); ((CellEditorListener)listeners[i+1]).editingCanceled(changeEvent); } } } // // Implementing the TreeCellEditor Interface // public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) { String stringValue = tree.convertValueToText(value, isSelected, expanded, leaf, row, false); delegate.setValue(stringValue); return editorComponent; } // // Implementing the CellEditor Interface // public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { // Modify component colors to reflect selection state // PENDING(alan) /*if (isSelected) { component.setBackground(selectedBackgroundColor); component.setForeground(selectedForegroundColor); } else { component.setBackground(backgroundColor); component.setForeground(foregroundColor); }*/ delegate.setValue(value); return editorComponent; } // // Protected EditorDelegate class // protected class EditorDelegate implements ActionListener, ItemListener, Serializable { protected Object value; EditorDelegate () { } public Object getCellEditorValue() { return value; } public void setValue(Object x) { this.value = x; } public boolean isCellEditable(EventObject anEvent) { return true; } public boolean startCellEditing(EventObject anEvent) { return true; } public boolean stopCellEditing() { return true; } public void cancelCellEditing() { } // Implementing ActionListener interface public void actionPerformed(ActionEvent e) { fireEditingStopped(); } // Implementing ItemListener interface public void itemStateChanged(ItemEvent e) { fireEditingStopped(); } } } // End of class JCellEditor PK u."^IncompatibleRangeException.java public class IncompatibleRangeException extends CustomParameterTypeException { public IncompatibleRangeException (String typeName, double min, double max) { super ("The minimum value "+min+" and the maximum "+max+" are not compatible in custom type "+typeName); } } PK 3 u.qIncompatibleValueException.java public final class IncompatibleValueException extends CustomParameterTypeException { private int type; private Object value; public IncompatibleValueException (int type, Object value) { super ("Provided value "+value+" is not compatible with parameter type "+BaseParameterHelper.getTypeNameForType (type)); this.type = type; this.value = value; } }PK Vu.5ŅInvalidParameterType.java public class InvalidParameterType extends CustomParameterType { /** * Implements CustomParameterType. Returns false. */ public boolean checkValue (Object newValue) { return (false); } /** * Implements CustomParameterType. */ public Object commitNewValue (Object newValue) { return (newValue); } /** * Implements CustomParameterType. This type is valid for all Pro/E types. */ public boolean checkType (int type) { return (true); } /** * Implements CustomParameterType. Returns "Not Editable". */ public int getTableCellEditorComponentType () { return ParamCellEditor.NOT_EDITABLE; } /** * Implements CustomParameterType. */ public Object [] getUIValues () { return null; } /** * Create a new InvalidParameterType, with a type name and the exceptional * condition which occurred. */ public InvalidParameterType (String typeName, CustomParameterTypeException exception) { this.typeName = typeName; this.lastException = exception; } }PK u.zkkListParameterType.java public class ListParameterType extends CustomParameterType { private Object [] listValues; private String [] stringValues; /** * Implements CustomParameterType. */ public boolean checkValue (Object value) { try { isInList (value); lastException = null; return (true); } catch (CustomParameterTypeException ce) { lastException = ce; return (false); } } /** * Check if an object is a member of the stored list. */ protected void isInList (Object value) throws CustomParameterTypeException { for (int ii =0; ii < listValues.length; ii++) { if (value.equals (listValues[ii])) { return; } } throw new NotInListException (typeName, value, stringValues); } /** * Implements CustomParameterType. */ public Object commitNewValue (Object newValue) { return newValue; //Nothing to do here } /** * Implements CustomParameterType. */ public boolean checkType (int proeType) { if (proeType == BaseParameterHelper.BOOLEAN) return false; if (proeType == BaseParameterHelper.NOTE) return false; return true; } /** * Implements CustomParameterType. */ public int getTableCellEditorComponentType () { return ParamCellEditor.COMBOBOX; } /** * Implements CustomParameterType. */ public Object [] getUIValues () { return stringValues; } /** * Creates a new ListParameterType object, given a type name, a space-delimited * String, and a Pro/E parameter type (from com.ptc.jlinkdemo.common.BaseParameterHelper. */ public ListParameterType (String typeName, String list, int type) throws CustomParameterTypeException { this.typeName = typeName; this.proeType = type; stringValues = getStringArray (list); listValues = parseStringValues (stringValues, type); } } PK ku.ET/MaterialCommandListener.java import com.ptc.cipjava.*; import com.ptc.pfc.pfcSession.Session; import com.ptc.pfc.pfcCommand.DefaultUICommandActionListener; import com.ptc.pfc.pfcPart.Part; import java.awt.Frame; class MaterialCommandListener extends DefaultUICommandActionListener { Session session; public MaterialCommandListener (Session session) { this.session = session; } // Creates and shows a new material dialog public void OnCommand () throws jxthrowable { MaterialSelector.printMsg ("Registered button press..."); com.ptc.pfc.pfcWindow.Window curWindow = session.GetCurrentWindow (); if (curWindow == null) { printMsg ("no current window"); return; } com.ptc.pfc.pfcModel.Model model = curWindow.GetModel (); if (model == null) { printMsg ("no model in current window"); return; } if (! (model instanceof Part)) { printMsg ("current model is not a part"); return; } MaterialDialog myDlg = new MaterialDialog (new Frame(), session, (Part) model); myDlg.setVisible (true); } //========================================================================= public static void printMsg (String msg) { System.out.println ("MaterialCommandListener: " + msg); } } PK uu.*qk"k"MaterialDialog.java import java.awt.*; import java.util.*; import java.io.*; import javax.swing.*; import javax.swing.table.*; import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.*; import com.ptc.pfc.pfcPart.*; import com.ptc.pfc.pfcCommand.*; import com.ptc.pfc.pfcSession.*; import com.ptc.pfc.pfcModelItem.*; import com.ptc.pfc.pfcModel.*; import com.ptc.pfc.pfcFeature.*; public class MaterialDialog extends JDialog { private static Vector fieldName = new Vector (); private static Vector data = new Vector (); private static Vector data1 = new Vector (); protected boolean isShowingChildDlg = false; Session session; Part part; //{{DECLARE_CONTROLS JButton Assign; JButton Display; JButton button4; JButton Cancel; JTable jTable1; //}} public MaterialDialog (Frame parent, Session session, Part part) { super (parent, "Material Selector", true); this.session = session; this.part = part; fillContent (); } // GUI components fill-in protected void fillContent () { data = readMats (); data1 = (Vector) data.clone (); final String [] columnNames = { "Material", "Young", "Poisson", "Conduct.", "Hardness" }; fieldName = new Vector (); for (int iField = 0; iField < columnNames.length; ++iField) fieldName.addElement (columnNames [iField]); AbstractTableModel amodel = new AbstractTableModel () { public String getColumnName (int col) { return columnNames[col].toString (); } public int getRowCount () { return data.size (); } public int getColumnCount () { return columnNames.length; } public Object getValueAt (int row, int col) { return ((Vector)data.elementAt (row)).elementAt (col); } public boolean isCellEditable (int row, int col) { return (false); } }; //{{INIT_CONTROLS JRootPane root = getRootPane (); Container content = root.getContentPane (); root.setMinimumSize (new Dimension (100, 100)); root.setPreferredSize (new Dimension (454,306)); content.setLayout (new BorderLayout ()); Box box = Box.createVerticalBox (); content.add (box, BorderLayout.CENTER); jTable1 = new JTable (); jTable1.setModel (amodel); jTable1.setBackground (Color.white); jTable1.getSelectionModel ().setSelectionMode ( ListSelectionModel.SINGLE_SELECTION); box.add (Box.createVerticalStrut (5)); box.add (new JScrollPane (jTable1)); box.add (Box.createVerticalStrut (5)); box.add (new JSeparator (SwingConstants.HORIZONTAL)); box.add (Box.createVerticalStrut (5)); Box btnBoxTop = Box.createHorizontalBox (); // setBackground (new Color (-16177505)); Assign = new JButton (); Assign.setText ("Assign"); btnBoxTop.add (Box.createHorizontalGlue ()); btnBoxTop.add (Assign); btnBoxTop.add (Box.createHorizontalGlue ()); Display = new JButton (); Display.setText ("View File"); btnBoxTop.add (Box.createHorizontalGlue ()); btnBoxTop.add (Display); btnBoxTop.add (Box.createHorizontalGlue ()); button4 = new JButton (); button4.setText ("Search"); btnBoxTop.add (Box.createHorizontalGlue ()); btnBoxTop.add (button4); btnBoxTop.add (Box.createHorizontalGlue ()); box.add (btnBoxTop); box.add (Box.createVerticalStrut (5)); Box btnBoxBtm = Box.createHorizontalBox (); Cancel = new JButton (); Cancel.setText ("Close"); btnBoxBtm.add (Box.createHorizontalGlue ()); btnBoxBtm.add (Cancel); btnBoxBtm.add (Box.createHorizontalGlue ()); box.add (btnBoxBtm); box.add (Box.createVerticalStrut (5)); setTitle ("Material Selector"); //}} //{{REGISTER_LISTENERS addWindowListener (new SymWindow ()); SymAction aSymAction = new SymAction (); Assign.addActionListener (aSymAction); Display.addActionListener (aSymAction); Cancel.addActionListener (aSymAction); button4.addActionListener (aSymAction); //}} pack (); UIHelper.centerWindow (this); } //============================== readMats () =============================== // Reads all ".mat" files in the current directory // and adds them to the list of materials Vector readMats () { Vector mats = new Vector (); Vector mat_info; String [] mat_array; File current = new File ("."); mat_array = current.list (new FilenameFilter () { public boolean accept (File dir, String name) { if (name.endsWith (".mat")) { return true; } else return false; } }); int numMats= mat_array.length; for (int ii = 0; ii < numMats; ii++) { mat_info = readMat (mat_array[ii]); if (mat_info != null) { mats.addElement (mat_info); } } return mats; } //================================ readMat () ============================== //Reads a ".mat" file and parses values for use by the display dialog Vector readMat (String filename) { Vector temp = new Vector (); temp.addElement (filename.substring (0, filename.length () - 4)); try { BufferedReader in = new BufferedReader (new FileReader (filename)); String s; while ((s = in.readLine ()) != null) { if (s.indexOf ("YOUNG_MODULUS") != -1 || s.indexOf ("POISSON_RATIO") != -1 || s.indexOf ("THERMAL_CONDUCTIVITY") != -1 || s.indexOf ("HARDNESS") != -1) { temp.addElement (Double.valueOf ( s.substring (s.indexOf ("=")+1, s.length ()))); } } } catch (IOException e) { UIHelper.showException (this, e, "reading material file"); return (null); } catch (NumberFormatException e) { UIHelper.showErrorMessage (this, "The VALUES are invalid in the MATERIAL FILE: " + filename, "reading material file"); return (null); } return temp; } class SymWindow extends java.awt.event.WindowAdapter { public void windowClosing (java.awt.event.WindowEvent event) { if (! isShowingChildDlg) setVisible (false); } } class SymAction implements java.awt.event.ActionListener { public void actionPerformed (java.awt.event.ActionEvent event) { Object source = event.getSource (); if (source == Display) doDisplay (); else if (source == Assign) doAssign (); else if (source == Cancel) doCancel (); else if (source == button4) doSearch (); } } void doDisplay () { int index = jTable1.getSelectedRow (); if (index != -1) { String filename = (String) jTable1.getValueAt (index, 0); isShowingChildDlg = true; SelectBox.showMaterialFile ((Frame) getParent (), filename); isShowingChildDlg = false; } else printMsg ("doDisplay: nothing selected"); } // Allows the user to select a material type // and assign it to a model in Pro/E. void doAssign () { int index = jTable1.getSelectedRow (); if (index != -1) { String filename = (String) jTable1.getValueAt (index, 0); // printMsg ("Material: " + filename); selectMaterial (filename); } else printMsg ("doAssign: nothing selected"); } // Assigns a material to a model in Pro/E void selectMaterial (String fileName) { try { // printMsg ("selectMaterial: part.RetrieveMaterial: " + fileName); part.RetrieveMaterial (fileName); setVisible (false); } catch (jxthrowable e) { UIHelper.showException (this, e, "setting material"); } } void doCancel () { setVisible (false); } void doSearch () { (new MaterialSearcher ((Frame) getParent (), data1, session)) .show (); } //========================================================================= public static void printMsg (String msg) { System.out.println ("MaterialDialog: " + msg); } } PK }u.oRf0f0MaterialSearcher.java import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.*; import com.ptc.pfc.pfcPart.*; import com.ptc.pfc.pfcSession.*; import com.ptc.pfc.pfcModelItem.*; import com.ptc.pfc.pfcModel.*; import com.ptc.pfc.pfcFeature.*; import javax.swing.*; import java.awt.*; import java.util.*; import java.io.*; public class MaterialSearcher extends JDialog { private Vector founddata = null; private Vector data = new Vector (); private Vector names = new Vector (); private Session session; //{{DECLARE_CONTROLS private JComboBox Prop; private JComboBox Cond; private JTextField Val; private JList resultList; private JButton RSearch; private JButton Display; private JButton Cancel; private JButton NSearch; //}} public MaterialSearcher (Frame parent, Vector v, Session session) { super (parent, "Search for Material", true); this.session = session; fillContent (); data = GetAllVal (v); } private void fillContent () { data = new Vector(); // This code is automatically generated by Visual Cafe when you add // components to the visual environment. It instantiates and initializes // the components. To modify the code, only use code syntax that matches // what Visual Cafe can generate, or Visual Cafe may be unable to back // parse your Java file into its visual environment. //{{INIT_CONTROLS JRootPane root = getRootPane (); Container content = root.getContentPane (); root.setMinimumSize (new Dimension (100, 100)); root.setPreferredSize (new Dimension (460,390)); GridBagLayout layout = new GridBagLayout (); content.setLayout (layout); GridBagConstraints cstr = new GridBagConstraints (); cstr.insets = new Insets (5, 5, 0, 5); final String [] propNames = { "Young_Modulus", "Poisson_Ratio", "Shear_Modulus", "Mass_Density", "Thermal_Expansion_Coefficient", "Therm_Expansion_Ref_Coefficeint", "Structural_Damping_Coefficient", "Stress_Limit_For_Tension", "Stress_Limit_For_Compression", "Stress_Limit_For_Shear", "Thremal_Conductivity", "Emissivity", "Specific_Heat", "Hardness", "Initial_Bend_Y_Factor" }; Prop = new JComboBox (propNames); Prop.setEditable (false); Prop.setSelectedIndex (0); final String [] condNames = { ">", "<", "=" }; Cond = new JComboBox (condNames); Cond.setEditable (false); Cond.setSelectedIndex (0); Val = new JTextField (); resultList = new JList (); resultList.setBackground (Color.white); resultList.getSelectionModel ().setSelectionMode ( ListSelectionModel.SINGLE_SELECTION); JScrollPane resultListPane = new JScrollPane (resultList); NSearch = new JButton ("New Search"); RSearch = new JButton ("Refine Search"); Display = new JButton ("Display"); Cancel = new JButton("Close"); Box condBox = Box.createHorizontalBox (); condBox.add (new JLabel ("Condition")); condBox.add (Box.createHorizontalStrut (5)); condBox.add (Prop); condBox.add (Box.createHorizontalStrut (5)); condBox.add (Cond); condBox.add (Box.createHorizontalStrut (5)); condBox.add (Val); cstr.gridwidth = GridBagConstraints.REMAINDER; cstr.weightx = 1.0; cstr.weighty = 0.0; cstr.fill = GridBagConstraints.HORIZONTAL; layout.setConstraints (condBox, cstr); content.add (condBox); Box searchBtnBox = Box.createHorizontalBox (); searchBtnBox.add (Box.createHorizontalGlue ()); searchBtnBox.add (NSearch); searchBtnBox.add (Box.createHorizontalGlue ()); searchBtnBox.add (RSearch); searchBtnBox.add (Box.createHorizontalGlue ()); layout.setConstraints (searchBtnBox, cstr); content.add (searchBtnBox); JSeparator separator = new JSeparator (SwingConstants.HORIZONTAL); layout.setConstraints (separator, cstr); content.add (separator); cstr.weighty = 1.0; cstr.fill = GridBagConstraints.BOTH; layout.setConstraints (resultListPane, cstr); content.add (resultListPane); cstr.weighty = 0.0; cstr.fill = GridBagConstraints.HORIZONTAL; separator = new JSeparator (SwingConstants.HORIZONTAL); layout.setConstraints (separator, cstr); content.add (separator); Box selBtnBox = Box.createHorizontalBox (); selBtnBox.add (Box.createHorizontalGlue ()); selBtnBox.add (Display); selBtnBox.add (Box.createHorizontalGlue ()); selBtnBox.add (Cancel); selBtnBox.add (Box.createHorizontalGlue ()); cstr.insets = new Insets (5, 5, 5, 5); layout.setConstraints (selBtnBox, cstr); content.add (selBtnBox); pack (); UIHelper.centerWindow (this); //}} //{{REGISTER_LISTENERS SymWindow aSymWindow = new SymWindow(); addWindowListener(aSymWindow); SymAction lSymAction = new SymAction(); Cancel.addActionListener(lSymAction); RSearch.addActionListener(lSymAction); Display.addActionListener(lSymAction); NSearch.addActionListener(lSymAction); //}} } //searches a vector of material data and displays the names which result int Search (java.util.Vector matdata) { int x = Prop.getSelectedIndex() + 1; int y = Cond.getSelectedIndex(); names = new Vector(); Vector results = new Vector (); try { double val = (Double.valueOf(Val.getText())).doubleValue(); if (matdata != null && matdata.size() != 0) { int count = 0; do { //System.out.println("Value : " + val + " "); switch (y) { case 0: if (((Double)((Vector)matdata.elementAt(count)) .elementAt(x)).doubleValue() > val) { names.addElement((String)((Vector)matdata .elementAt(count)).elementAt(0)); results.addElement(matdata.elementAt(count)); //printMsg("CASE1"); } break; case 1: if (((Double)((Vector)matdata.elementAt(count)) .elementAt(x)).doubleValue() < val) { results.addElement(matdata.elementAt(count)); names.addElement(((Vector)matdata .elementAt(count)).elementAt(0)); //printMsg("Case2"); } break; case 2: if (((Double)((Vector)matdata.elementAt(count)) .elementAt(x)).doubleValue() == val) { results.addElement(matdata.elementAt(count)); names.addElement(((Vector)matdata .elementAt(count)).elementAt(0)); //printMsg("Case3"); } break; } //System.out.println("GOT " + count); count++; } while (count < matdata.size()); //System.out.println("Okay got through the while loop"); founddata = results; resultList.setListData (names); } } catch (NumberFormatException e) { UIHelper.showErrorMessage (this, "invalid value", "condition"); } return (names.size()); } private static Vector GetAllVal (Vector start) { Vector temp = new Vector(); Vector temp2 = new Vector(); int count = 0; String str = ""; do { str = (String)(((Vector)start.elementAt(count)).elementAt(0)); temp.addElement(str); BufferedReader in; try { in = new BufferedReader(new FileReader(str + ".mat")); } catch (FileNotFoundException x) { continue; } try { String s; while ((s = in.readLine ()) != null) { if (s.indexOf("YOUNG_MODULUS") != -1 || s.indexOf("POISSON_RATIO") != -1 || s.indexOf("SHEAR_MODULUS") != -1 || s.indexOf("MASS_DENSITY") != -1 || s.indexOf("THERMAL_EXPANSION_COEFFICIENT") != -1 || s.indexOf("THERM_EXPANSION_REF_TEMPERATURE") != -1 || s.indexOf("STRUCTURAL_DAMPING_COEFFICIENT") != -1 || s.indexOf("STRESS_LIMIT_FOR_TENSION") != -1 || s.indexOf("STRESS_LIMIT_FOR_COMPRESSION") != -1 || s.indexOf("STRESS_LIMIT_FOR_SHEAR") != -1 || s.indexOf("THERMAL_CONDUCTIVITY") != -1 || s.indexOf("EMISSIVITY") != -1 || s.indexOf("SPECIFIC_HEAT") != -1 || s.indexOf("HARDNESS") != -1 || s.indexOf("INITIAL_BEND_Y_FACTOR") != -1) { temp.addElement(Double.valueOf( s.substring (s.indexOf ("=")+1, s.length ()))); } else if ( s.indexOf("CONDITION") != -1 || s.indexOf("BEND_TABLE") != -1) { temp.addElement(s.substring (s.indexOf ("=")+1, s.length())); } } in.close (); temp2.addElement(temp); temp = new Vector(); count++; } catch (IOException x) { printMsg ("exception reading " + str + ".mat:\n" + x); x.printStackTrace (); continue; } catch (NumberFormatException x) { printMsg ("exception reading " + str + ".mat:\n" + x); x.printStackTrace (); continue; } } while (count < start.size()); return temp2; } //========================================================================= class SymWindow extends java.awt.event.WindowAdapter { public void windowClosing(java.awt.event.WindowEvent event) { setVisible(false); dispose(); } } class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object source = event.getSource(); if (source == NSearch) NSearch_ActionPerformed(event); else if (source == RSearch) RSearch_ActionPerformed(event); else if (source == Display) Display_ActionPerformed(event); else if (source == Cancel) Cancel_ActionPerformed(event); } } //executes new search using entire set of material data void NSearch_ActionPerformed (java.awt.event.ActionEvent event) { Search (data); } //executes refined search using previously selected vector void RSearch_ActionPerformed(java.awt.event.ActionEvent event) { Search (founddata); } void Display_ActionPerformed(java.awt.event.ActionEvent event) { String selMatName = (String) resultList.getSelectedValue (); if (selMatName != null) { SelectBox.showMaterialFile ((Frame) getParent (), selMatName); } } void Cancel_ActionPerformed(java.awt.event.ActionEvent event) { setVisible(false); dispose(); } //========================================================================= private static void printMsg (String msg) { System.out.println ("MaterialSearcher: " + msg); } } PK u.:O MaterialSelector.java import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.*; import com.ptc.pfc.pfcCommand.*; import com.ptc.pfc.pfcSession.*; public class MaterialSelector { private static Session curSession; //========================================================================= public static void start () { try { curSession = pfcGlobal.GetProESession (); } catch (jxthrowable x) { printMsg ("exception: " + x); x.printStackTrace (); System.out.println ("\n------------------------------------"); } addButton (); } //========================================================================= public static void stop () { printMsg ("stopped"); } //========================================================================= public static void addButton() { MaterialCommandListener matCommandListener = new MaterialCommandListener (curSession); UICommand inputCommand = null; try { inputCommand = curSession.UICreateCommand ("MatDemo", matCommandListener); } catch (jxthrowable x) { printMsg("exception: " + x); x.printStackTrace (); System.out.println ("\n------------------------------------"); } try { // Create a submenu called "User Applications" // under the Applications menu curSession.UIAddMenu ("User Applications", "Applications.psh_util_pproc", "ootkmsg.txt", "Applications"); // Create a button called "Material Demo" // in the new submenu using the command "MatDemo" curSession.UIAddButton (inputCommand, "User Applications", "", "Material Demo", "click to start", "ootkmsg.txt"); } catch (jxthrowable x) { printMsg ("exception: " + x); x.printStackTrace (); System.out.println ("\n------------------------------------"); } } //========================================================================= public static void printMsg (String msg) { System.out.println ("MaterialSelector: " + msg); } } PK u.P   MissingCusParamValException.java public class MissingCusParamValException extends CustomParameterTypeException { public MissingCusParamValException (String param_name, String custom_type) { super ("No values for parameter "+param_name+" of type "+custom_type+" found."); } } PK u.V1''#NotEnoughValsSuppliedException.java public class NotEnoughValsSuppliedException extends CustomParameterTypeException { public NotEnoughValsSuppliedException (String typeName, int minimum, int supplied) { super ("Not enough values ("+supplied+", minimum is "+minimum+") supplied to custom type "+typeName); } } PK u.0L NotInListException.java class NotInListException extends CustomParameterTypeException { public NotInListException (String typeName, Object value, String [] list) { super ("The value "+value+" was not found in the custom list "+typeName); } }PK u.=NotOnIncrementException.java public class NotOnIncrementException extends CustomParameterTypeException { public NotOnIncrementException (String typeName, Object value, int min, int inc) { super ("The value "+value+" does not fall on the increment "+inc+" above the minimum "+min); } public NotOnIncrementException (String typeName, Object value, double min, double inc, double eps) { super ("The value "+value+" does not fall on the increment "+inc+" above the minimum "+min); } }PK Y u.cNullValueSuppliedException.java public class NullValueSuppliedException extends CustomParameterTypeException { public NullValueSuppliedException (String typeName) { super ("A null value was given to the custom type "+typeName); } }PK u.TizzOutOfRangeException.java public class OutOfRangeException extends CustomParameterTypeException { public static final int TOO_LOW = 0; public static final int TOO_HIGH = 1; public OutOfRangeException (String typeName, Object value, int boundary, int outOfRangeType) { super ("The value "+value+" is "+((outOfRangeType == TOO_LOW)?"below":"above")+" the boundary value "+boundary+" ."); } public OutOfRangeException (String typeName, Object value, double boundary, int outOfRangeType) { super ("The value "+value+" is "+((outOfRangeType == TOO_LOW)?"below":"above")+" the boundary value "+boundary+" ."); } }PK 0u.[9!ParamCellEditor.java import com.ptc.cipjava.*; import com.ptc.pfc.pfcModelItem.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.event.ActionListener; import java.util.EventObject; public class ParamCellEditor extends DefaultCellEditor { public static final int NOT_EDITABLE = -1; public static final int TEXTFIELD = 0; public static final int COMBOBOX = 1; public ParamCellEditor (ParamTableModel model) { super (new JTextField ()); // Save super's values textField = (JTextField) editorComponent; textDelegate = delegate; this.model = model; createCombos (); } public Component getTableCellEditorComponent (JTable table, Object value, boolean isSelected, int row, int column) { // printMsg ("getTableCellEditorComponent(" + row + ", " + column + // " [" + value + "]"); BaseParameterHelper pHelper = model.getParameterHelper (row); int pType = pHelper.getType (); if (pType == BaseParameterHelper.BOOLEAN) { editorComponent = activeCombo = booleanCombo; delegate = comboDelegate; } else if (pType == BaseParameterHelper.CUSTOM) { int editortype = pHelper.getCustomType().getTableCellEditorComponentType (); switch (editortype) { case COMBOBOX: { JComboBox combo = createComboBox ((String [] )pHelper.getCustomType().getUIValues()); editorComponent = activeCombo = combo; delegate = comboDelegate; break; } case TEXTFIELD: { activeCombo = null; editorComponent = textField; delegate = textDelegate; break; } default: case NOT_EDITABLE: { activeCombo = null; editorComponent = textField; textField.setEditable (false); delegate = textDelegate; } } } else { activeCombo = null; editorComponent = textField; delegate = textDelegate; } return (super.getTableCellEditorComponent (table, value, isSelected, row, column)); } protected JComboBox createComboBox (String [] comboValues) { JComboBox combo = new JComboBox (comboValues); combo.setEditable (false); combo.addItemListener (comboDelegate); return (combo); } protected void createCombos () { comboDelegate = new EditorDelegate () { public void setValue (Object x) { super.setValue (x); ((JComboBox) activeCombo).setSelectedItem (x); } public Object getCellEditorValue () { return (((JComboBox) activeCombo).getSelectedItem ()); } public boolean startCellEditing (EventObject anEvent) { return (anEvent instanceof AWTEvent); } public boolean stopCellEditing () { return (true); } }; final String [] boolComboValues = { "no", "yes" }; // final String [] lrComboValues = { "left", "right" }; booleanCombo = createComboBox (boolComboValues); //leftRightCombo = new JComboBox (lrComboValues); } //========================================================================= private static void printMsg (String msg) { System.out.println ("ParamCellEditor: " + msg); } //========================================================================= protected ParamTableModel model; protected JTextField textField; // Saving super's editorComp. protected EditorDelegate textDelegate; // Saving super's delegate protected EditorDelegate comboDelegate; // Delegate for combo boxes protected JComboBox booleanCombo; // Yes/No combo protected JComboBox leftRightCombo; // Left/Right combo protected JComboBox activeCombo; // Currently active combo // (for use in comboDelegate) } PK w u.}UpParameterHelper.java import com.ptc.cipjava.jxthrowable; import com.ptc.pfc.pfcModelItem.*; public class ParameterHelper extends BaseProeParameterHelper { /** * Create a Pro/E parameter helper. */ public ParameterHelper (Parameter p) { super (p); determineProeName (); } /** * Create a custom parameter helper. */ public ParameterHelper (Parameter p, CustomParameterType customType) { super (p, customType); determineProeName (); } /** * Get the Pro/E name from a parameter. */ protected void determineProeName () { try { proeName = ((Parameter) p).GetName (); } catch (jxthrowable x) { UIHelper.showException (x, "getting parameter name"); } } /** * Create a ParameterHelper from a String name. */ public static ParameterHelper create(ParameterOwner owner, String paramName) { try { return (create (owner, owner.GetParam (paramName))); } catch (jxthrowable x) { UIHelper.showException (x, "obtaining parameter info"); return (null); } } /** * Create a parameter helper from a Pro/E parameter. */ public static ParameterHelper create (ParameterOwner owner, Parameter param) { if (param == null) { printMsg ("create: param is null"); return (null); } try { String paramName = param.GetName (); // Check if a special parameter if (paramName.endsWith ("_TYPE") || paramName.endsWith ("_UINAME") || paramName.endsWith ("_VALUES")) { // printMsg ("create: special parameter " + paramName); return (null); } // Get special parameters corresponding to param Parameter nameParam = owner.GetParam (paramName + "_UINAME"); Parameter typeParam = owner.GetParam (paramName + "_TYPE"); Parameter valuesParam = owner.GetParam (paramName + "_VALUES"); // See if there is custom name String customName = (nameParam == null) ? null : nameParam.GetValue ().GetStringValue ().trim (); if (customName != null && customName.length () == 0) { printMsg ("create: invalid custom name"); // ParameterHelper pHelper = new ParameterHelper (nameParam); // printMsg (" name: " + pHelper.getName ()); // printMsg (" type: " + pHelper.getTypeName ()); // printMsg (" value: " + pHelper.getValue ()); return (null); } // See if there is custom type CustomParameterType customParameterType = null; if (typeParam != null) { customParameterType = CustomParameterTypeCreator.defaultCustomTypeFromString ( typeParam.GetValue ().GetStringValue ()); if (customParameterType == null) { try { // Problem: No values to assign to the custom parameter type if (valuesParam == null) throw new MissingCusParamValException (param.GetName(), typeParam.GetValue().GetStringValue()); // Not a default parameter type // Create a new one based on values customParameterType = CustomParameterTypeCreator.createCustomType (typeParam.GetValue ().GetStringValue ()+"_"+param.GetName(), valuesParam.GetValue().GetStringValue(), determineProeType (param.GetValue().Getdiscr())); } catch (MissingCusParamValException me) { customParameterType = new InvalidParameterType (typeParam.GetValue().GetStringValue()+"_"+param.GetName(), me); } } } ParameterHelper result; if (typeParam == null) result = new ParameterHelper (param); else if (customParameterType == null) return null; //Should have been a custom type but something is wrong. Don't show anything. else result = new ParameterHelper (param, customParameterType); if (customName != null) result.setCustomName (customName); return (result); } catch (jxthrowable x) { printMsg ("create: exception"); UIHelper.showException (x, "obtaining parameter info"); return (null); } } //========================================================================= private static void printMsg (String msg) { System.out.println ("ParameterHelper: " + msg); } } PK u.-yParamTable.java import javax.swing.JTable; import javax.swing.table.TableColumn; import javax.swing.table.TableCellRenderer; import javax.swing.table.DefaultTableCellRenderer; import java.awt.Color; import java.awt.Dimension; import java.util.Vector; public class ParamTable extends JTable { public ParamTable (BaseParameterHelper [] paramHelpers) { paramModel = new ParamTableModel (paramHelpers); setModel (paramModel); // Specialized cell editor for parameter values TableColumn paramColumn = getColumn ( paramModel.getColumnName (paramModel.getParamValueColIdx ())); paramColumn.setCellEditor (new ParamCellEditor (paramModel)); setPreferredScrollableViewportSize(new Dimension(500, 70)); // Set background to white for compatibility with specialized renderers setBackground (Color.white); // Specialized cell renderers for highlighting parameters validRenderer = new DefaultTableCellRenderer (); validRenderer.setForeground (Color.green.darker ()); invalidRenderer = new DefaultTableCellRenderer (); invalidRenderer.setForeground (Color.red); modifiedRenderer = new DefaultTableCellRenderer (); modifiedRenderer.setForeground (Color.yellow.darker ()); } public TableCellRenderer getDefaultRenderer (Class columnClass) { return (super.getDefaultRenderer (columnClass)); } public TableCellRenderer getCellRenderer (int row, int column) { switch (checkValid (row, column)) { case INVALID: return (invalidRenderer); case VALID: return (validRenderer); case MODIFIED: return (modifiedRenderer); } // Must never happen return (null); } public boolean isAllValid () { int nParams = paramModel.getRowCount (); int valCol = paramModel.getParamValueColIdx (); for (int iParam = 0; iParam < nParams; ++iParam) { if (checkValid (iParam, valCol) == INVALID) return (false); } return (true); } public String[] getInvalidMessages () { if (this.isAllValid()) return null; Vector messages = new Vector(1); messages.addElement("The table contains the following invalid parameters: "); int nParams = paramModel.getRowCount (); int valCol = paramModel.getParamValueColIdx (); for (int iParam = 0; iParam < nParams; ++iParam) { if (this.checkValid (iParam, valCol) == INVALID) messages.addElement (this.getInvalidMessage (iParam, valCol)); } if (messages.size() == 1) return null; String [] msgs = new String [messages.size()]; messages.copyInto (msgs); return (msgs); } protected int checkValid (int row, int column) { BaseParameterHelper helper = paramModel.getParameterHelper (row); Object oldValue = helper.getValue (); Object newValue = paramModel.getNewValue (row); if (newValue == null) return ((oldValue == null) ? VALID : MODIFIED); if (helper.getType () == BaseParameterHelper.CUSTOM) { if (!helper.getCustomType().checkValue (newValue)) { helper.setInvalidMessage (helper.getCustomTypeMessage()); return (INVALID); } } if (oldValue == null || ! oldValue.equals (newValue)) return (MODIFIED); else return (VALID); } protected String getInvalidMessage (int row, int column) { return paramModel.getParameterHelper (row).getInvalidMessage(); } public void commitNewValues () { paramModel.commitNewValues (); } public void resetNewValues () { paramModel.resetNewValues (); } //========================================================================= private static void printMsg (String msg) { System.out.println ("ParamTable: " + msg); } //========================================================================= protected final static int INVALID = 0; protected final static int VALID = 1; protected final static int MODIFIED = 2; protected static ParamTableModel paramModel; protected DefaultTableCellRenderer invalidRenderer; protected DefaultTableCellRenderer validRenderer; protected DefaultTableCellRenderer modifiedRenderer; } PK u.ParamTableModel.java import javax.swing.table.AbstractTableModel; import com.ptc.cipjava.*; import com.ptc.pfc.pfcModelItem.*; public class ParamTableModel extends AbstractTableModel { protected final int PARAM_NAME_COL_IDX = 0; protected final int PARAM_VALUE_COL_IDX = 1; protected final int TOTAL_COLS = 2; public ParamTableModel (BaseParameterHelper [] paramHelpers) { pHelpers = paramHelpers; resetNewValues (); } public int getRowCount () { return (pHelpers.length); } public int getColumnCount () { return (TOTAL_COLS); } public Object getValueAt (int rowIdx, int colIdx) { // printMsg ("getValueAt(" + rowIdx + ", " + colIdx + ")"); if (colIdx == PARAM_NAME_COL_IDX) return (pHelpers [rowIdx].getName ()); else if (colIdx == PARAM_VALUE_COL_IDX) { // printMsg (" returning param value"); int valueType = pHelpers [rowIdx].getProeType (); return (BaseParameterHelper.valueToString (newValues [rowIdx], valueType)); } else { return (null); } } public void setValueAt (Object strValue, int rowIdx, int colIdx) { int valueType = pHelpers [rowIdx].getProeType (); Object value = BaseParameterHelper.valueFromString ((String)strValue, valueType); if (value != null) { // printMsg ("setValueAt(" + value.getClass ().getName () + // "=" + value + ", " + rowIdx + ", " + colIdx + ")"); newValues [rowIdx] = value; } // We need to fire this event even in case of invalid input, // to update the cell back to original value fireTableCellUpdated (rowIdx, colIdx); } public boolean isCellEditable(int rowIdx, int colIdx) { if (colIdx != PARAM_VALUE_COL_IDX) return (false); return (! pHelpers [rowIdx].isRelationDriven ()); } public String getColumnName (int colIdx) { return ((colIdx == PARAM_NAME_COL_IDX) ? "Parameter" : (colIdx == PARAM_VALUE_COL_IDX) ? "Value" : null); } public Class getColumnClass (int colIdx) { return ((colIdx == PARAM_NAME_COL_IDX) ? String.class : Object.class); } public int getParamValueColIdx () { return (PARAM_VALUE_COL_IDX); } public int getParamNameColIdx () { return (PARAM_NAME_COL_IDX); } public BaseParameterHelper getParameterHelper (int rowIdx) { if (pHelpers != null && rowIdx >= 0 && rowIdx < pHelpers.length) return (pHelpers [rowIdx]); else return (null); } public Object getNewValue (int rowIdx) { if (pHelpers != null && rowIdx >= 0 && rowIdx < pHelpers.length) return (newValues [rowIdx]); else return (null); } public void resetNewValues () { newValues = new Object [pHelpers.length]; for (int iParam = 0; iParam < pHelpers.length; ++iParam) { newValues [iParam] = pHelpers [iParam].getValue (); } fireTableDataChanged (); } public void commitNewValues () { for (int iParam = 0; iParam < newValues.length; ++iParam) { BaseParameterHelper pHelper = pHelpers [iParam]; /* if (! pHelper.setValue (newValues [iParam])) { pHelper.refreshValue (); newValues [iParam] = pHelper.getValue (); } */ if (!pHelper.setValue (newValues [iParam])) { // UIHelper.showErrorMessage ("Error: invalid value "+newValues [iParam]); } } fireTableDataChanged (); } //========================================================================= private static void printMsg (String msg) { System.out.println ("ParamTableModel: " + msg); } //========================================================================= protected BaseParameterHelper [] pHelpers; protected Object [] newValues; } PK u.{6-6-ParamWindow.java import javax.swing.*; import java.awt.Frame; import java.awt.Container; import java.awt.Dimension; import java.awt.BorderLayout; import java.awt.GridBagLayout; import java.awt.GridBagConstraints; import java.awt.Insets; import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import com.ptc.cipjava.jxthrowable; import com.ptc.pfc.pfcSession.Session; import com.ptc.pfc.pfcPart.Part; import com.ptc.pfc.pfcPart.Material; import com.ptc.Platform; public class ParamWindow extends JDialog { protected Container content; protected JPanel tablePane, buttonPane; protected JTextField materialNameField; protected Color defaultTextColor; protected JButton materialButton; protected JButton setButton, resetButton, infoButton, closeButton, aboutButton; protected boolean isShowingChildDlg = false; protected ParamTable table; protected Session session; protected Part part; protected Material material; protected ParameterHelper [] paramHelpers; protected String title; protected boolean includeMaterial = false; public ParamWindow (Session session, Part part, ParameterHelper [] paramHelpers) { // super /* JFrame */ ("Table Window"); super /* JDialog */ (new JFrame (), "Release Checking", true); setDefaultCloseOperation (JDialog.DO_NOTHING_ON_CLOSE); this.session = session; this.part = part; this.paramHelpers = paramHelpers; includeMaterial = true; title = "Release Checking"; fillContent (true); //pack (); setSize (450, 450); UIHelper.centerWindow (this); } public ParamWindow (Session session, ParameterHelper [] paramHelpers, boolean checkUnassigned, String title) { super /* JDialog */ (new JFrame (), title, true); setDefaultCloseOperation (JDialog.DO_NOTHING_ON_CLOSE); this.session = session; this.part = part; this.paramHelpers = paramHelpers; this.title = title; fillContent (checkUnassigned); //pack (); setSize (450, 450); UIHelper.centerWindow (this); } protected void fillContent (boolean checkUnassigned) { JRootPane root = getRootPane (); content = root.getContentPane (); root.setMinimumSize (new Dimension (100, 100)); root.setPreferredSize (new Dimension (500, 400)); // **** Listeners **** addWindowListener (new WindowEventHandler()); // **** Set layout **** GridBagLayout layout = new GridBagLayout (); content.setLayout (layout); GridBagConstraints cstr = new GridBagConstraints (); // **** Add components **** // *** Top-level panes *** // ** Material selection pane ** Box materialBox = null; materialBox = Box.createHorizontalBox (); cstr.insets = new Insets (5, 5, 0, 5); cstr.gridwidth = GridBagConstraints.REMAINDER; cstr.weightx = 1.0; cstr.weighty = 0.0; cstr.fill = GridBagConstraints.HORIZONTAL; layout.setConstraints (materialBox, cstr); content.add (materialBox); // ** Table pane ** tablePane = new JPanel (); tablePane.setLayout (new BorderLayout ()); cstr.weighty = 1.0; cstr.fill = GridBagConstraints.BOTH; layout.setConstraints (tablePane, cstr); content.add (tablePane); JSeparator separator = new JSeparator (SwingConstants.HORIZONTAL); cstr.weighty = 0.0; layout.setConstraints (separator, cstr); content.add (separator); // ** Set/Reset button pane ** Box buttonBox = Box.createHorizontalBox (); cstr.insets = new Insets (5, 5, 5, 5); cstr.fill = GridBagConstraints.HORIZONTAL; layout.setConstraints (buttonBox, cstr); content.add (buttonBox); // * Material selection * if (includeMaterial) { materialBox.add (new JLabel ("Material")); materialBox.add (Box.createHorizontalStrut (10)); materialNameField = new JTextField (); defaultTextColor = materialNameField.getForeground (); materialNameField.setEditable (false); materialBox.add (materialNameField); materialBox.add (Box.createHorizontalStrut (10)); materialButton = new JButton ("..."); materialButton.addActionListener(new MaterialButtonListener ()); materialBox.add (materialButton); updateMaterial (); } // * Table * if (checkUnassigned) table = new UnassignedParamTable (paramHelpers); else table = new ParamTable (paramHelpers); tablePane.add (new JScrollPane (table)); // * Set/Reset/Close buttons * ButtonListener btnListener = new ButtonListener (); setButton = new JButton ("Set"); setButton.addActionListener(btnListener); resetButton = new JButton ("Undo"); resetButton.addActionListener(btnListener); infoButton = new JButton ("Info"); infoButton.addActionListener (btnListener); closeButton = new JButton ("Close"); closeButton.addActionListener(btnListener); aboutButton = new JButton ("About"); aboutButton.addActionListener(btnListener); buttonBox.add (Box.createHorizontalGlue ()); buttonBox.add (setButton); buttonBox.add (Box.createHorizontalGlue ()); buttonBox.add (resetButton); buttonBox.add (Box.createHorizontalGlue ()); buttonBox.add (infoButton); buttonBox.add (Box.createHorizontalGlue ()); buttonBox.add (closeButton); buttonBox.add (Box.createHorizontalGlue ()); buttonBox.add (aboutButton); buttonBox.add (Box.createHorizontalGlue ()); root.setDefaultButton (setButton); } protected void updateMaterial () { try { material = part.GetCurrentMaterial (); String materialName; if (material == null) { materialNameField.setForeground (Color.red); materialNameField.setText (""); } else { materialNameField.setForeground (defaultTextColor); materialNameField.setText (material.GetName ()); } } catch (jxthrowable x) { UIHelper.showException (ParamWindow.this, x, "obtaining material"); } } public float getAlignmentX () { return (CENTER_ALIGNMENT); } public float getAlignmentY () { return (CENTER_ALIGNMENT); } private class WindowEventHandler extends WindowAdapter { public void windowOpened (WindowEvent e) { if (Platform.getOSAPI () == Platform.OSAPI_WIN32) toFront (); } public void windowClosing (WindowEvent e) { if (! isShowingChildDlg) setVisible (false); } } private class ButtonListener implements ActionListener { public void actionPerformed (ActionEvent e) { Object source = e.getSource (); if (source == setButton) { table.commitNewValues (); if (table.isAllValid()) { if (material != null) { setVisible (false); return; } if (!includeMaterial) { setVisible (false); return; } } if (material == null && includeMaterial) JOptionPane.showMessageDialog (ParamWindow.this, "Material is not assigned", title+" Error", JOptionPane.ERROR_MESSAGE); else { String [] warnings = table.getInvalidMessages(); JOptionPane.showMessageDialog (ParamWindow.this, warnings, title+" Error", JOptionPane.ERROR_MESSAGE); } } else if (source == resetButton) { table.resetNewValues (); } else if (source == infoButton) { String [] warnings = table.getInvalidMessages(); if (table.isAllValid() || warnings == null) JOptionPane.showMessageDialog (ParamWindow.this, "No invalid values found.", title+ " Info", JOptionPane.PLAIN_MESSAGE); else { JOptionPane.showMessageDialog (ParamWindow.this, warnings, title+ " Info", JOptionPane.WARNING_MESSAGE); } } else if (source == closeButton) { if (! isShowingChildDlg) setVisible (false); } else if (source == aboutButton) { String [] aboutMessages = new String [] {"This application was developed by PTC to demonstrate the use of the new J-Link API.", "It is intended as an example of how J-Link can be used to improve productivity at", "your company. Questions regarding J-Link can be directed to customer support or local", "AE's, or technical marketing. PTC also offers J-Link implementation services through the", "OSS group (contact mdecker@ptc.com)."}; JOptionPane.showMessageDialog (ParamWindow.this, aboutMessages, "About "+ title, JOptionPane.PLAIN_MESSAGE); } } } private class MaterialButtonListener implements ActionListener { public void actionPerformed (ActionEvent e) { printMsg ("materialButton pressed"); MaterialDialog matDlg = new MaterialDialog ((Frame) getParent (), session, part); isShowingChildDlg = true; matDlg.show (); isShowingChildDlg = false; matDlg.dispose (); updateMaterial (); } } //========================================================================= private static void printMsg (String msg) { System.out.println ("ParamWindow: " + msg); } } PK  u.]4JnnpfcImport.java import com.ptc.cipjava.*; import com.ptc.pfc.pfcSolid.*; import com.ptc.pfc.pfcFeature.*; import com.ptc.pfc.pfcModel.*; import com.ptc.pfc.pfcModelItem.*; import com.ptc.pfc.pfcGeometry.*; public class pfcImport { public Feature createImportFeatureFromDataFile (Solid solid, String csys, String filename) { IntfNeutralFile data_source; ModelItems c_systems; CoordSystem c_system = null; Feature import_feature = null; ImportFeatAttr feat_attr; try { data_source = pfcModel.IntfNeutralFile_Create(filename); c_systems = solid.ListItems(ModelItemType.ITEM_COORD_SYS); for (int i = 0; i < c_systems.getarraysize(); i++) { if (c_systems.get(i).GetName().equals(csys)) { c_system = (CoordSystem)c_systems.get(i); break; } } feat_attr = pfcModel.ImportFeatAttr_Create(); feat_attr.SetJoinSurfs(true); feat_attr.SetMakeSolid(true); feat_attr.SetOperation(OperationType.ADD_OPERATION); import_feature = solid.CreateImportFeat(data_source, c_system, feat_attr); } catch (jxthrowable x) { System.out.println("Exception Occured:" + x); } return import_feature; } } PK u. "RangeIncrementalParameterType.java public class RangeIncrementalParameterType extends RangeParameterType { /** * Overrides RangeParameterType. */ public boolean checkValue (Object newValue) { try { isValidType (newValue); isInRange ((Number)newValue); isOnIncrement ((Number)newValue); lastException = null; return (true); } catch (CustomParameterTypeException ce) { lastException = ce; return (false); } } /** * Checks that the value is on the increment. */ protected void isOnIncrement (Number newValue) throws CustomParameterTypeException { if (proeType == BaseParameterHelper.INTEGER) { int min = (int)minimum; int inc = (int)increment; if ((newValue.intValue()-min)%inc != 0) throw new NotOnIncrementException (typeName, newValue, min, inc); return; } else if (proeType == BaseParameterHelper.DOUBLE) { if ((newValue.doubleValue()-minimum) % increment > epsilon*increment) throw new NotOnIncrementException (typeName, newValue, minimum, increment, epsilon); return; } else throw new UnsupportedValueTypeException (typeName, proeType); } /** * Constructs a new RangeIncrementalParameterType given a type name, a String of values, * and a Pro/E parameter type (from com.ptc.jlinkdemo.common.BaseParameterHelper. */ public RangeIncrementalParameterType (String typeName, String values, int proeType) throws CustomParameterTypeException { super( typeName, values, proeType); } /** * Overrides RangeParameterType. */ public void setRangeValues (Object [] values) throws CustomParameterTypeException { if (values.length < 3) throw new NotEnoughValsSuppliedException (typeName, 3, values.length); Number min = (Number)values [0]; Number max = (Number)values [1]; Number inc = (Number)values [2]; minimum = min.doubleValue(); maximum = max.doubleValue(); increment = inc.doubleValue(); if (values.length >= 4 && proeType == BaseParameterHelper.DOUBLE) { Double eps = (Double)values [3]; epsilon = eps.doubleValue(); } if (minimum > maximum) throw new IncompatibleRangeException (typeName, minimum, maximum); } /** * Returns the increment for this type. Although the return value is double, * it is converted to an int before use if necessary. */ public double getIncrement() { return increment; } /** * Returns the epsilon value for this type. If the type is double, this value is used * in the evaluation (value-min) % increment > epsilon * increment (since the result of %) * is not exactly zero. If not explicitly set, this value defualts to 0.001. */ public double getEpsilon() { return epsilon; } protected double increment; protected double epsilon = 0.001; //default epsilon } PK u.RangeParameterType.java public class RangeParameterType extends CustomParameterType { /** * Implements CustomParameterType. */ public boolean checkValue (Object newValue) { try { isValidType (newValue); isInRange ((Number)newValue); lastException = null; return (true); } catch (CustomParameterTypeException ce) { lastException = ce; return (false); } } /** * Determine if the specified number is in the range. */ protected void isInRange (Number newValue) throws CustomParameterTypeException { if (proeType == BaseParameterHelper.INTEGER) { int min = (int)minimum; int max = (int)maximum; if (newValue.intValue() < min) throw new OutOfRangeException (typeName, newValue, min, OutOfRangeException.TOO_LOW); if (newValue.intValue() > max) throw new OutOfRangeException (typeName, newValue, max, OutOfRangeException.TOO_HIGH); return; } else if (proeType == BaseParameterHelper.DOUBLE) { if (newValue.doubleValue() < minimum) throw new OutOfRangeException (typeName, newValue, minimum, OutOfRangeException.TOO_LOW); if (newValue.doubleValue() > maximum) throw new OutOfRangeException (typeName, newValue, maximum, OutOfRangeException.TOO_HIGH); return; } else throw new UnsupportedValueTypeException (typeName, proeType); } /** * Implements CustomParameterType. */ public Object commitNewValue (Object newValue) { //nothing to do here return newValue; } /** * Implements CustomParameterType. */ public boolean checkType (int proeType) { if (proeType == BaseParameterHelper.BOOLEAN) return false; if (proeType == BaseParameterHelper.NOTE) return false; if (proeType == BaseParameterHelper.STRING) return false; return (true); } /** * Implements custom parameter type. Currently returns TEXTFIELD; conceivably * could a "Slider" type component instead. */ public int getTableCellEditorComponentType () { return ParamCellEditor.TEXTFIELD; } /** * Implements CustomParameterType (returns null). */ public Object [] getUIValues () { return null; // This is not a "ComboBox" parameter type. } /** * Create a new RangeParameterType given a type name, min and max values, * and a Pro/E parameter type. */ public RangeParameterType (String typeName, String values, int proeType) throws CustomParameterTypeException { this.typeName = typeName; this.proeType = proeType; String [] stringValues; Object [] rangeValues; stringValues = getStringArray (values); rangeValues = parseStringValues (stringValues, proeType); this.setRangeValues(rangeValues); //may be overridden in children } /** * Set the minimum and maximum values. */ protected void setRangeValues (Object [] values) throws CustomParameterTypeException { //Need error check here if (values.length < 2) throw new NotEnoughValsSuppliedException (typeName, 2, values.length); Number min = (Number)values [0]; Number max = (Number)values [1]; minimum = min.doubleValue(); maximum = max.doubleValue(); if (minimum > maximum) throw new IncompatibleRangeException (typeName, minimum, maximum); } /** * The minimum in the range. Stored as double, but converted to int where appropriate. */ public double getMinimum () { return minimum; } /** * The maximum in the range. Stored as double, but converted to int where appropriate. */ public double getMaximum () { return maximum; } protected double minimum; protected double maximum; } PK ͮu.TiSaveChecker.java import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.*; import com.ptc.pfc.pfcCommand.*; import com.ptc.pfc.pfcSession.*; public class SaveChecker { private static Session session; public static void start () { try { session = pfcGlobal.GetProESession (); } catch (jxthrowable x) { UIHelper.showException (x, "getting Pro/E session"); } addButton (); UIHelper.setLookAndFeel (); } public static void stop () { printMsg ("stopped"); } private static void addButton() { try { UICommand cmdSaveCheck = session.UICreateCommand ("SaveDemo", new SaveListener (session)); session.UIAddButton (cmdSaveCheck, "Applications", "Applications.psh_util_pproc", "Perform_Release_Checks", "Ready_for_Release_Check", "msg_save.txt"); } catch (jxthrowable x) { UIHelper.showException (x, "adding release check button"); } } private static void printMsg (String msg) { System.out.println ("SaveChecker: " + msg); } } PK 0u.^/SaveListener.java import javax.swing.JOptionPane; import java.util.Vector; import com.ptc.cipjava.*; import com.ptc.pfc.pfcCommand.*; import com.ptc.pfc.pfcSession.*; import com.ptc.pfc.pfcModel.*; import com.ptc.pfc.pfcModelItem.*; import com.ptc.pfc.pfcPart.*; class SaveListener extends DefaultUICommandActionListener { Session session; public SaveListener (Session session) { this.session = session; printMsg ("created"); } public void OnCommand () { try { Model curModel = session.GetCurrentModel (); if (curModel == null) msgBox ("No current model"); else if (curModel.GetDescr ().GetType () != ModelType.MDL_PART) msgBox ("Model must be a Part"); else processPart ((Part) curModel); } catch (Throwable x) { UIHelper.showException (x, "performing release checks"); } } private void processPart (Part part) throws jxthrowable { // Material Material material = part.GetCurrentMaterial (); // Parameters Parameters params = part.ListParams (); int nParams = params.getarraysize (); Vector pHelperVector = new Vector (); for (int iParam = 0; iParam < nParams; ++iParam) { Parameter param = params.get (iParam); ParameterHelper pHelper = ParameterHelper.create (part, param); if (pHelper != null && ! pHelper.getProeName ().equalsIgnoreCase ("config_params") && ! pHelper.getProeName ().equalsIgnoreCase ("cmp_params")) { pHelperVector.addElement (pHelper); } } // printMsg ("Parameters:"); ParameterHelper [] pHelpers = new ParameterHelper [pHelperVector.size ()]; pHelperVector.copyInto (pHelpers); ParamWindow paramWnd = new ParamWindow (session, part, pHelpers); paramWnd.show (); paramWnd.dispose (); } private static void printMsg (String msg) { System.out.println ("SaveListener: " + msg); } private static void msgBox (String msg) { JOptionPane.showMessageDialog (new java.awt.Frame (), msg, "Release Checking Error", JOptionPane.ERROR_MESSAGE); } } PK au.+\ SelectBox.java import java.awt.Frame; import java.awt.Container; import java.awt.Dimension; import java.awt.BorderLayout; import java.awt.Font; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.*; import java.io.*; public class SelectBox extends JDialog { //{{DECLARE_CONTROLS JTextArea textArea1; JButton OKAY; //}} private SelectBox (Frame parent, String title, String text) { super (parent, title, true); JRootPane root = getRootPane (); Container content = root.getContentPane (); root.setMinimumSize (new Dimension (100, 100)); root.setPreferredSize (new Dimension (510,561)); // This code is automatically generated by Visual Cafe when you add // components to the visual environment. It instantiates and initializes // the components. To modify the code, only use code syntax that matches // what Visual Cafe can generate, or Visual Cafe may be unable to back // parse your Java file into its visual environment. //{{INIT_CONTROLS content.setLayout (new BorderLayout ()); Box box = Box.createVerticalBox (); content.add (box, BorderLayout.CENTER); textArea1 = new JTextArea (text); textArea1.setEditable(false); textArea1.setFont(new Font("Courier", Font.PLAIN, 12)); box.add (textArea1); box.add (new JSeparator (SwingConstants.HORIZONTAL)); Box btnBox = Box.createHorizontalBox (); box.add (btnBox); OKAY = new JButton (); OKAY.setText ("Close"); btnBox.add (Box.createHorizontalGlue ()); btnBox.add (OKAY); btnBox.add (Box.createHorizontalGlue ()); //}} //{{REGISTER_LISTENERS addWindowListener(new SymWindow()); OKAY.addMouseListener(new SymMouse()); //}} pack (); UIHelper.centerWindow (this); } public static void showMaterialFile (Frame parent, String matName) { String fileName = matName + ".mat"; try { BufferedReader in = new BufferedReader (new FileReader (fileName)); StringBuffer text = new StringBuffer (); String s; while ((s = in.readLine ()) != null) { text.append (s); text.append ('\n'); } new SelectBox (parent, "Material File: " + fileName, text.toString ()) .show (); } catch (FileNotFoundException e) { UIHelper.showErrorMessage (parent, "File: " + fileName + " is not found", "reading material file " + fileName); } catch (IOException e) { UIHelper.showException (parent, e, "reading material file " + fileName); } } class SymWindow extends WindowAdapter { public void windowClosing (WindowEvent event) { setVisible (false); } } class SymMouse extends MouseAdapter { public void mousePressed(MouseEvent event) { Object object = event.getSource (); if (object == OKAY) setVisible (false); } } } PK u.lj UIHelper.java import java.io.StringWriter; import java.io.PrintWriter; import java.io.File; import java.awt.Component; import java.awt.Window; import java.awt.Dimension; import java.awt.Point; import javax.swing.UIManager; import javax.swing.JDialog; import javax.swing.JOptionPane; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; import com.ptc.cipjava.jxthrowable; import com.ptc.pfc.pfcExceptions.*; public abstract class UIHelper { //========================================================================= public static void setLookAndFeel () { // Prefer platform-native look&feel try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception xnative) { printMsg ("Failed to set platform native look&feel. " + "Trying cross-platform look&feel."); try { UIManager.setLookAndFeel ( UIManager.getCrossPlatformLookAndFeelClassName()); } catch (Exception xmetal) { printMsg ("Failed to set Java native look&feel. " + "Using default look&feel."); } } } //========================================================================= public static void centerWindow (Window window) { Dimension scrSize = window.getToolkit ().getScreenSize (); Dimension wndSize = window.getSize (); Point centerPos = new Point ((scrSize.width - wndSize.width) / 2, (scrSize.height - wndSize.height) / 2); window.setLocation (centerPos); } //========================================================================= public static void showErrorMessage (Component parent, String msg, String where) { String title = "Error"; if (where != null) title = title + " " + where; JOptionPane.showMessageDialog (parent, msg, title, JOptionPane.ERROR_MESSAGE); } public static void showErrorMessage (String msg, String where) { showErrorMessage (null, msg, where); } public static void showErrorMessage (String msg) { showErrorMessage (null, msg, null); } public static void showWarningMessages (Component parent, String [] msgs, String where) { String title = "Warning"; if (where != null) title = title+" " +where; JOptionPane.showMessageDialog (parent, msgs, title, JOptionPane.WARNING_MESSAGE); } public static void showWarningMessages (String [] msgs, String where) { showWarningMessages (null, msgs, where); } public static void showWarningMessages (String [] msgs) { showWarningMessages (null, msgs, null); } //========================================================================= public static void showException (Component parent, Throwable x, String where) { String msg = x.toString (); StringWriter stackWriter = new StringWriter (); x.printStackTrace (new PrintWriter (stackWriter)); String title = "Exception"; if (where != null) title = title + " " + where; if (x instanceof XPFC) { try { String newMsg = null; if (x instanceof XInAMethod) { newMsg = "Exception in PFC method " + ((XInAMethod) x).GetMethodName (); if (x instanceof XToolkitError) { newMsg = newMsg + "\nPro/TK function: " + ((XToolkitError) x).GetToolkitFunctionName () + "\nPro/TK error code: " + ((XToolkitError) x).GetErrorCode (); } else if (x instanceof XBadArgument) { newMsg = newMsg + "\nBad argument: " + ((XBadArgument) x).GetArgumentName (); } else { newMsg = newMsg + "\nType: " + x.getClass ().getName (); } } if (newMsg != null) msg = newMsg; } catch (jxthrowable xBummer) { ; // Just ignore it and use default message printMsg ("exception in showException"); xBummer.printStackTrace (); } } JOptionPane msgPane = new JOptionPane (msg + "\n***\nStack Trace:\n" + stackWriter, JOptionPane.ERROR_MESSAGE); JDialog msgDlg = msgPane.createDialog (parent, title); msgDlg.pack (); msgDlg.show (); //JOptionPane.showMessageDialog (parent, msg + // "\n***\nStack Trace:\n" + stackWriter, // title, JOptionPane.ERROR_MESSAGE); } public static void showException (Throwable x, String where) { showException (null, x, where); } public static void showException (Throwable x) { showException (null, x, null); } //========================================================================= public static boolean loadParamsFromFile (Component parent, BaseParameterHelper [] pHelpers) { JFileChooser chooser = createParamFileChooser (parent); int result = chooser.showOpenDialog (parent); if (result == JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile (); // printMsg ("accepted file: " + file.getPath ()); return (BaseParameterHelper.loadParamsFromFile (pHelpers, file.getPath ())); } else { // printMsg ("canceled file"); return (false); } } public static boolean saveParamsToFile (Component parent, BaseParameterHelper [] pHelpers) { JFileChooser chooser = createParamFileChooser (parent); int result = chooser.showSaveDialog (parent); if (result == JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile (); // printMsg ("accepted file: " + file.getPath ()); return (BaseParameterHelper.saveParamsToFile (pHelpers, file.getPath ())); } else { // printMsg ("canceled file"); return (false); } } private static JFileChooser createParamFileChooser (Component parent) { final FileFilter filter = new FileFilter () { public boolean accept (File f) { return (f.getName ().endsWith (".par")); } public String getDescription () { return ("Parameter files (*.par)"); } }; JFileChooser chooser = new JFileChooser (new File (new File ("").getAbsolutePath ())); chooser.addChoosableFileFilter (filter); chooser.setFileFilter (filter); return (chooser); } //========================================================================= private static void printMsg (String msg) { System.out.println ("UIHelper: " + msg); } } PK u.았22UnassignedParamTable.java public class UnassignedParamTable extends ParamTable { public UnassignedParamTable (BaseParameterHelper [] paramHelpers) { super (paramHelpers); } protected int checkValid (int row, int column) { Object newValue = paramModel.getNewValue (row); BaseParameterHelper helper = paramModel.getParameterHelper (row); if (newValue == null) { helper.setInvalidMessage ("The new value is null."); return (INVALID); } Class valueClass = newValue.getClass (); // printMsg ("value:" + valueClass.getName () + " = " + value); if (helper.isUnassigned (newValue)) { helper.setInvalidMessage ("The parameter value is set to the default for that type."); return (INVALID); } return super.checkValid (row, column); } //========================================================================= private static void printMsg (String msg) { System.out.println ("UnassignedParamTable: " + msg); } } PK E u.xx"UnsupportedValueTypeException.java public final class UnsupportedValueTypeException extends CustomParameterTypeException { private int type; public UnsupportedValueTypeException (String typeName, int type) { super ("The parameter type "+BaseParameterHelper.getTypeNameForType (type)+" is not supported by the custom parameter type "+typeName+"."); this.type = type; } } PK 'u.Vs""BaseParameterHelper.class- %59=>?@WXYcdqtwz{}~ABCDEFGHIJKLMNOPQRS > @ C D 2 4 : ; < @ 7 @ @ @ @ 7 0 / / / / / 2 4 / / / : / 0 > ? ? 8 C > / / 0 0 B / / / D / / ; / D / A / 6 / 6 / / C / D / / 1 1 C / > @ ? / / / / /                 ! " # & ' ( ) * , . / 0 1 2 4 7 8 : T U Z [ \ ] _ ` a b f g i m n o p r s u v x y |  null =  value: ""()D()I()LCustomParameterType;()Ljava/lang/Class;()Ljava/lang/Object;()Ljava/lang/String;()V()Z(C)Ljava/lang/StringBuffer;(I)Ljava/lang/String;(I)Ljava/lang/StringBuffer;(LCustomParameterType;)V(Ljava/io/InputStream;)V+(Ljava/io/OutputStream;Ljava/lang/String;)V&(Ljava/lang/Object;)Ljava/lang/Object;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;(Ljava/lang/Object;)Z'(Ljava/lang/Object;I)Ljava/lang/String;8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;%(Ljava/lang/String;)Ljava/lang/Class;&(Ljava/lang/String;)Ljava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;)Z'(Ljava/lang/String;I)Ljava/lang/Object;'(Ljava/lang/String;Ljava/lang/String;)V+(Ljava/lang/String;[LBaseParameterHelper;)V*(Ljava/lang/Throwable;Ljava/lang/String;)V(Ljava/util/Properties;)Z(Z)V-([LBaseParameterHelper;)Ljava/util/Hashtable;+([LBaseParameterHelper;Ljava/lang/String;)Z/([LBaseParameterHelper;[LBaseParameterHelper;)Z:: BOOLEANBaseParameterHelperBaseParameterHelper.javaBaseParameterHelper: CUSTOMCodeConfiguration properties ConstantValueCustomParameterTypeDOUBLEFile not found: IINTEGERLCustomParameterType;LineNumberTableLjava/io/PrintStream;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;NOTESTRING SourceFile Synthetic(The following parameters were not read: +The following parameters were not written: UIHelper UNDEFINEDZ[]append booleanValue checkValueclass$class$java$lang$Booleanclass$java$lang$Doubleclass$java$lang$Integerclass$java$lang$StringclosecommitNewValuecustom customName customType doubleValueequalsequalsIgnoreCaseequalsParameterSetsfalseforNamegetgetClass getCustomName getCustomTypegetCustomTypeMessagegetCustomTypeNamegetInvalidMessage getMessagegetName getProeName getProeType getPropertygetType getTypeNamegetTypeName: unknown type: getTypeNameForTypegetValueintValueintegerinvalidMessageisRelationDriven isUnassignedjava.lang.Booleanjava.lang.Doublejava.lang.Integerjava.lang.Stringjava/io/FileInputStreamjava/io/FileNotFoundExceptionjava/io/FileOutputStreamjava/io/IOExceptionjava/io/PrintStreamjava/lang/Booleanjava/lang/Class java/lang/ClassNotFoundExceptionjava/lang/Doublejava/lang/Integerjava/lang/NoClassDefFoundErrorjava/lang/NumberFormatExceptionjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/lang/Throwablejava/util/Hashtablejava/util/Propertiesload loadFromPropsloadParamsFromFilennonoteoutparamSetToHashtableprintprintMsgprintParameterSetprintlnproeNameproeTypeputreading parameters from real refreshValuerelationDrivensavesaveParamsToFile saveToProps setCustomName setCustomTypesetInvalidMessagesetValueshowErrorMessage showExceptionsizestringtoStringtrimtruetypetypeName undefinedvaluevalueFromString)valueFromString: invalid boolean string: )valueFromString: unknown parameter type:  valueToString'valueToString: unknown parameter type: writing parameters to yyesyes/no∙!/>  `auvxf :    "r2*E*}*^*~*****_*u. E FGHIJ"K'L,M12*fL%*2:,og/:a*6  #/1;=F)*^)**_A+-*_*_l \ ],1*_ *_kRST-8 @Y.N*nSS*uSe/+*^ *^*}90*}!1*~}3*4* 6M?Y&SY$SYSY-SY#SY!SYSL ++2@YNQ{N9: 9 :9:9:9:9 :"9&:(9*?4@8CKD7*u;*<+hM*,Y Y VYY+;tS,X X VYX+:`,,Z Z VYZ+?d2 )35NZ\uUT$+*oqM,,*pN-*-   !"#% VZƻDYHM2Y+IN,-v-[AW@YN+S@Y"N+SN-@Y"N+S@YFN66,*2,w - PW-*2nSW*&@YN-R@Y"N+S3D5r.>ADEY[cflw|    [N&CYGL=+*2o*2W*+ $ ]3x@YN*S| A? ^* x*|=y+2N-x |cx@Y N-nSz-i!x@YN-oSSzx@YN-rS S-R|+6   #<Cae hDYHM@YFN66,*2, - PW-*2nSW*ӻ4Y+J:,\:@Y*N+S&@YN-R@Y*N+SI`c5^$!)"0#<$?I(I*S+[,`(c.e0z1|4786;iC* *+*}*W*+-.j"*+^ 1/k, *+_*IJ Gl"*+u mkml+**+hM,Z Z VYZ>,Y Y VYY*>\,W W VYW>>,X X VYX> +LZ Z VYZM>**_+U6**+]r 68;Tbe~r$ **~ y?Y%SY,SY+SM?YSY SYSN*')8%*;Y*LW*:60,2e 7YO-2e 7YO,ϻ@Y'NS{:Y*KW;Y*LW@Y(NQ S*S S{Xdd==="MN(P,Q.RTUVXX[X]d_eagfmgsijklgnonpsuwy} |h*L)05:55+**?**7T, @Y)NQ{* 027<ASf PK 'u. CBaseProeParameterHelper.class- B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m s u x t n o o r p q u x | w t ~  s } n o v o o s x y r ()D()I'()Lcom/ptc/pfc/pfcModelItem/ParamValue;+()Lcom/ptc/pfc/pfcModelItem/ParamValueType;()Ljava/lang/String;()V()Z(D)V(I)Ljava/lang/String;(I)Ljava/lang/StringBuffer;(I)V(LCustomParameterType;)V+(Lcom/ptc/pfc/pfcModelItem/BaseParameter;)V@(Lcom/ptc/pfc/pfcModelItem/BaseParameter;LCustomParameterType;)V((Lcom/ptc/pfc/pfcModelItem/ParamValue;)V,(Lcom/ptc/pfc/pfcModelItem/ParamValueType;)I(Ljava/lang/Object;)Z(Ljava/lang/Object;I)Z,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V*(Ljava/lang/Throwable;Ljava/lang/String;)V(Z)VBaseParameterHelperBaseProeParameterHelperBaseProeParameterHelper.javaBaseProeParameterHelper: Code GetBoolValueGetDoubleValue GetIntValue GetNoteIdGetStringValueGetValueGetdiscrI(Lcom/ptc/pfc/pfcModelItem/BaseParameter;%Lcom/ptc/pfc/pfcModelItem/ParamValue;LineNumberTableLjava/io/PrintStream;Ljava/lang/Object;Ljava/lang/String; SetBoolValueSetDoubleValue SetIntValueSetStringValueSetValue SourceFileUIHelperZappend booleanValuecom/ptc/cipjava/jxthrowable&com/ptc/pfc/pfcModelItem/BaseParameter#com/ptc/pfc/pfcModelItem/ParamValue'com/ptc/pfc/pfcModelItem/ParamValueTypecommitNewValuedetermineProeNamedetermineProeType doubleValue getProeTypegetTypeNameForTypegetValuegetting parameter infogetting parameter typegetting parameter valueintValuejava/io/PrintStreamjava/lang/Booleanjava/lang/Doublejava/lang/Integerjava/lang/Stringjava/lang/StringBufferjava/lang/Systemoutp paramValueprintMsgprintlnproeType refreshValuerelationDriven setCustomTypesetting parameter value showExceptiontoStringtypetypeNameunknown Pro/E parameter type: unknown parameter type: value!  zC**4*5*+4*+ 5*,**8?**?0@*9 M,=8; :    !)48 ;<B{@**4*5*+4*+ 5*,*,<**?0@*9 N-=58 : !$!%&&1(58*9,?~*?H(((((8*+*?+=-*+*/+=Y*?'>6*4*5&*+*M,=*9ww :WY,a6b<gFhLlbmdpqqwsxu~vwz*8e$2CT2*5+%E*5+2$4*5+)"#*5+.#N-=*9kk B56(93:6>D?GBUCXFfGiIkLlNrOvPxRssV**5!-8L+=*8  }[<*1;"',16</<*<%< <Y*1'>6<F(*-/2479<>AJQWY 33Y*(>7 sO*?JB,,,,,7**?:**8: *A"08;CFKNx-+3AVk+*A|**5An*Y*5AY*Y*5AD*Y*5A/*Y*5AY*?'>6*; M,= V~,14?BTWil~~|PK 'u.Jr  CustomParameterType.class-^`bejl~ 1 1 2 3 3 3 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I ]M ]S ]W ]Z mU nO oQ r[ sV tX uK vL wL xJ |P f P J h W d J R L i()I()Ljava/lang/Class;()Ljava/lang/String;()V()[Ljava/lang/Object;(I)C(I)I(I)Z(II)Ljava/lang/String;(ILjava/lang/Object;)V&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/Object;)V(Ljava/lang/Object;)Z(Ljava/lang/String;)V(Ljava/lang/String;)Z'(Ljava/lang/String;)[Ljava/lang/String;(Ljava/lang/String;I)V([Ljava/lang/Object;)V)([Ljava/lang/String;I)[Ljava/lang/Object;BaseParameterHelperCodeCustomParameterTypeCustomParameterType.javaCustomParameterTypeException ExceptionsIIncompatibleValueExceptionLCustomParameterTypeException;LineNumberTableLjava/io/PrintStream;Ljava/lang/String;NullValueSuppliedException SourceFileUnsupportedValueTypeException addElementcharAt checkType checkValuecommitNewValuecopyIntoequalsequalsIgnoreCasegetClassgetCustomTypeName getMessage getProETypegetStringArraygetTableCellEditorComponentType getUIValuesindexOf isValidTypejava/io/PrintStreamjava/lang/Booleanjava/lang/Bytejava/lang/Doublejava/lang/Integerjava/lang/Numberjava/lang/NumberFormatExceptionjava/lang/Objectjava/lang/Shortjava/lang/Stringjava/lang/Systemjava/lang/Throwablejava/util/Vector lastException lastIndexOflengthoutparseStringValuesprintMsgprintlnproeTypesize substringtrimtypeName!dif]M_* **'g  oQpVqTsV_w;*+ + ++M*0,#!*,,%g* ?@ ABDF*G,I7J9LvL_*0g\wL_-*'*'$g 6 7xJ_*,gTyY_ +/W+)=+ &>+ (6 Y+SY:66/+ !Y+.:`6лY+`.:-:   gN '039DU[bl~zJ{N}U_**,Y*0*,+Y*0+"M*,r$%]H%+ + + Y*,++ Y*,++Y*,+Y*0*,gNe fgh+j0lXpYu`vgwnxoy|}~c\_(!\++ N66- Y+2S+WY+2-+ :66 Y+2S+WY+2Y*0+JM g g^ "(++1@JMN[]dggm}c W_$**+g kaPK 'u.[LL CustomParameterTypeCreator.class-l?@KNOPQRVWXYfghCFHMTZ[bcde , - . / / / 0 1 2 3 4 A6 A: A< A> ^9 a; i; j5 k7()Ljava/lang/String;()V(I)Ljava/lang/String;)(Ljava/lang/String;)LCustomParameterType;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;)Z3(Ljava/lang/String;LCustomParameterTypeException;)V<(Ljava/lang/String;Ljava/lang/String;I)LCustomParameterType;((Ljava/lang/String;Ljava/lang/String;I)V0  0.0 1.0 0.25BOOLEANBaseParameterHelperCode ConstantValueCustomParameterTypeCreatorCustomParameterTypeCreator.javaCustomParameterTypeExceptionDOUBLEICINITIAL PROTOTYPE PREPRODUCTION PRODUCTION RELEASED LEGACY OBSOLETEINTEGERInvalidParameterType LEFT RIGHTLISTLIST_LRLIST_RELEASE_LEVELLRLineNumberTableListParameterTypeNOTERANGE RANGE_INCRANGE_INC_FOURTHSRANGE_POSITIVE_INTSRangeIncrementalParameterTypeRangeParameterTypeSTRING SourceFileappendcreateCustomTypedefaultCustomTypeFromStringequalsIgnoreCasejava/lang/Integerjava/lang/Objectjava/lang/Stringjava/lang/StringBufferlistrange range_inc startsWithtoStringvalueOf!\JELJEIJEBJEUJEA6D*!S _=Dd* ) *)Y*+$*) *)Y*+%*) *)Y*+&NY*-#YYS* 2357/9:;L=W?YAZC `8D* ( *(Y  $* (Y  $*("Y Y"+'*&*(Y%LY*+#ssS2 (5>] f"s%t'~)]GPK 'u.Om"CustomParameterTypeException.class-   (Ljava/lang/String;)VCodeCustomParameterTypeException!CustomParameterTypeException.javaLineNumberTable SourceFilejava/lang/Exception!"*+    PK (u.|DefaultCellEditor$1.class-=%&'2345         # /, 1 6 7! 8 ;* <()Ljava/lang/Object;()Ljava/lang/String;()V()Z(LDefaultCellEditor;)V)(LDefaultCellEditor;LDefaultCellEditor;)V(Ljava/lang/Object;)V(Ljava/lang/String;)V(Ljava/util/EventObject;)ZCodeDefaultCellEditorDefaultCellEditor$1 DefaultCellEditor$EditorDelegateDefaultCellEditor.java InnerClassesLDefaultCellEditor;LineNumberTableLjavax/swing/JComponent; SourceFile SyntheticeditorComponentgetCellEditorValuegetTextjava/lang/Objectjavax/swing/JComponentjavax/swing/JTextFieldjavax/swing/text/JTextComponent requestFocussetTextsetValuestartCellEditingstopCellEditingthis$0toString0;*.#$# *, *++$.0$&*  +.8 $Y-*++* + *  +&' ('!*,%9"$0+ * +234:$+8-() PK (u.dBDefaultCellEditor$2.class-=%&'34567          # # #" / 0, 2 8" 9 <*()Ljava/lang/Object;()Z(LDefaultCellEditor;)V)(LDefaultCellEditor;LDefaultCellEditor;)V(Ljava/lang/Object;)V(Ljava/lang/String;)V(Ljava/util/EventObject;)Z(Z)VCodeDefaultCellEditorDefaultCellEditor$2 DefaultCellEditor$EditorDelegateDefaultCellEditor.java InnerClassesLDefaultCellEditor;LineNumberTableLjavax/swing/JComponent; SourceFile Synthetic booleanValueeditorComponentgetCellEditorValue isSelectedjava/awt/AWTEventjava/lang/Booleanjava/lang/Stringjavax/swing/AbstractButtonjavax/swing/JCheckBox setSelectedsetValuestartCellEditingstopCellEditingthis$00<*.#$# *, *++@.1$-Y*  +R9$Y*++* + 8+#Y+ M* , * +* BEF E#H*I:JGHNMXA:!$+ ++WX Z;$+^-() PK (u.#׿DefaultCellEditor$3.class-.'(        $! & ) * -()Ljava/lang/Object;()Z(LDefaultCellEditor;)V)(LDefaultCellEditor;LDefaultCellEditor;)V(Ljava/lang/Object;)V(Ljava/util/EventObject;)ZCodeDefaultCellEditorDefaultCellEditor$3 DefaultCellEditor$EditorDelegateDefaultCellEditor.java InnerClassesLDefaultCellEditor;LineNumberTableLjavax/swing/JComponent; SourceFile SyntheticeditorComponentgetCellEditorValuegetSelectedItemjava/awt/AWTEventjavax/swing/JComboBoxsetSelectedItemsetValuestartCellEditingstopCellEditingthis$00-## *,*+  f#%&*  m*4*+ * +  h ig++ + qr t, x" PK (u.&DefaultCellEditor$EditorDelegate.class-2)*+,      % 0 1 ()Ljava/lang/Object;()V()Z(LDefaultCellEditor;)V(Ljava/awt/event/ActionEvent;)V(Ljava/awt/event/ItemEvent;)V(Ljava/lang/Object;)V(Ljava/util/EventObject;)ZCodeDefaultCellEditor DefaultCellEditor$EditorDelegateDefaultCellEditor.javaEditorDelegate InnerClassesLDefaultCellEditor;LineNumberTableLjava/lang/Object; SourceFile SyntheticactionPerformedcancelCellEditingfireEditingStoppedgetCellEditorValueisCellEditableitemStateChangedjava/awt/event/ActionListenerjava/awt/event/ItemListenerjava/io/Serializablejava/lang/ObjectsetValuestartCellEditingstopCellEditingthis$0value!0"1 2 **+ (( (#$*  ED$@&* -'5($*  JI-"*+  10.9/=! PK (u.RDefaultCellEditor.class-stuvw ; ; < < < = > ? @ @ A B C D E F G H I J K L M N O P Q R S S T U V W X q] qa qe qh d b c ] g ~ z f | p p  ] ] g [ Y _ \ i d e i ^()I()Ljava/awt/Component;()Ljava/lang/Object;()Ljava/lang/String;()V()Z()[Ljava/lang/Object;(I)V)(LDefaultCellEditor;LDefaultCellEditor;)V"(Ljava/awt/event/ActionListener;)V (Ljava/awt/event/ItemListener;)V-(Ljava/lang/Class;Ljava/util/EventListener;)V(Ljava/lang/Object;)V+(Ljava/lang/Object;ZZZIZ)Ljava/lang/String;%(Ljava/lang/String;)Ljava/lang/Class;(Ljava/lang/String;)V(Ljava/util/EventObject;)Z(Ljavax/swing/JCheckBox;)V(Ljavax/swing/JComboBox;)V?(Ljavax/swing/JTable;Ljava/lang/Object;ZII)Ljava/awt/Component;(Ljavax/swing/JTextField;)V?(Ljavax/swing/JTree;Ljava/lang/Object;ZZZI)Ljava/awt/Component;)(Ljavax/swing/event/CellEditorListener;)V"(Ljavax/swing/event/ChangeEvent;)VCodeDefaultCellEditorDefaultCellEditor$1DefaultCellEditor$2DefaultCellEditor$3 DefaultCellEditor$EditorDelegateDefaultCellEditor.javaEditorDelegateI InnerClasses"LDefaultCellEditor$EditorDelegate;LineNumberTableLjava/lang/Class;Ljavax/swing/JComponent;Ljavax/swing/event/ChangeEvent;%Ljavax/swing/event/EventListenerList; SourceFile SyntheticaddaddActionListeneraddCellEditorListeneraddItemListenercancelCellEditing changeEventclass$*class$javax$swing$event$CellEditorListenerclickCountToStartconvertValueToTextdelegateeditingCancelededitingStoppededitorComponentfireEditingCanceledfireEditingStoppedforNamegetCellEditorValue getClickCountgetClickCountToStart getComponentgetListenerList getMessagegetTableCellEditorComponentgetTreeCellEditorComponentisCellEditablejava/awt/event/MouseEventjava/io/Serializablejava/lang/Class java/lang/ClassNotFoundExceptionjava/lang/NoClassDefFoundErrorjava/lang/Objectjava/lang/Throwable$javax.swing.event.CellEditorListenerjavax/swing/AbstractButtonjavax/swing/JCheckBoxjavax/swing/JComboBoxjavax/swing/JTextFieldjavax/swing/JTree$javax/swing/event/CellEditorListenerjavax/swing/event/ChangeEvent#javax/swing/event/EventListenerList!javax/swing/table/TableCellEditorjavax/swing/tree/TreeCellEditor listenerListremoveremoveCellEditorListenersetClickCountToStartsetValueshouldSelectCellstartCellEditingstopCellEditing! |z~qjrn:**Y6*$*'*+,*Y**)*,*) }">?@+a9>qkrn:**Y6*$*'*+,*Y**)*,*)"}"def+{9dqmrw?**Y6*$*'*+,*'*Y**)*,*)!}& !"##$0;>!or:*6& & %Y&+} ]r, *)#*-} gr2*/L Y+3 }]rW*62L+d=E+2& & %Y&'*$*Y*$+`2*$*}"+2>OV]rW*62L+d=E+2& & %Y&'*$*Y*$+`2*$+}"+2>OV[r *)0}Yr*'}Zr*,}lr) *),8*,} nrE+,(:*)8*,} irD ++1*'*)+5}or:*6& & %Y&+7} `r"*'} irW'=*+4++1*' *)+9=} %^r6*):<*.} x{"yPK (u.lPP IncompatibleRangeException.class-"         ! and the maximum # are not compatible in custom type ()Ljava/lang/String;(D)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;DD)VCodeCustomParameterTypeExceptionIncompatibleRangeExceptionIncompatibleRangeException.javaLineNumberTable SourceFileThe minimum value appendjava/lang/StringBuffertoString!D(*Y(    +  'PK (u.G  IncompatibleValueException.class-.& "*          ( ( ) + ,! -%' is not compatible with parameter type ()Ljava/lang/String;(I)Ljava/lang/String;(ILjava/lang/Object;)V,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)VBaseParameterHelperCodeCustomParameterTypeExceptionIIncompatibleValueExceptionIncompatibleValueException.javaLineNumberTableLjava/lang/Object;Provided value  SourceFileappendgetTypeNameForTypejava/lang/StringBuffertoStringtypevalue1,!-%O+*Y,   * *,$ % *'#PK (u.qa''InvalidParameterType.class-"      !()I()V()[Ljava/lang/Object;(I)Z&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/Object;)Z3(Ljava/lang/String;LCustomParameterTypeException;)VCodeCustomParameterTypeInvalidParameterTypeInvalidParameterType.javaLCustomParameterTypeException;LineNumberTableLjava/lang/String;ParamCellEditor SourceFile checkType checkValuecommitNewValuegetTableCellEditorComponentType getUIValues lastExceptiontypeName!3**+*,02 30  + ! )PK (u.ListParameterType.class-I*,-256B            ) )& =$ >% A# C0 D8 E( F/ G9 H4()I()V()[Ljava/lang/Object;(I)Z&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/Object;)V(Ljava/lang/Object;)Z'(Ljava/lang/String;)[Ljava/lang/String;:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/String;)V((Ljava/lang/String;Ljava/lang/String;I)V)([Ljava/lang/String;I)[Ljava/lang/Object;BaseParameterHelperCodeCustomParameterTypeCustomParameterTypeException ExceptionsILCustomParameterTypeException;LineNumberTableListParameterTypeListParameterType.javaLjava/lang/String;NotInListExceptionParamCellEditor SourceFile[Ljava/lang/Object;[Ljava/lang/String; checkType checkValuecommitNewValueequalsgetStringArraygetTableCellEditorComponentType getUIValuesisInListjava/lang/Object lastException listValuesparseStringValuesproeType stringValuestypeName!D8G9)'+Q%**+***, ***1QT UVW$Q.:!+81567 8:;$+L*+ * M*,  1    <"++1,?+1B@ +*1JA#+X0=+*2 *Y*+* 1!$.73PK (u.J+++MaterialCommandListener.class-Z@DLRS>ABGHIJKMNOPQ ! ! " # $ % & ' ( ( ) * + , 60 62 64 9. :- F3 T= U4 V4 W; X5 Y/()Lcom/ptc/pfc/pfcModel/Model; ()Lcom/ptc/pfc/pfcWindow/Window;()Ljava/lang/String;()V#(Lcom/ptc/pfc/pfcSession/Session;)VM(Ljava/awt/Frame;Lcom/ptc/pfc/pfcSession/Session;Lcom/ptc/pfc/pfcPart/Part;)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Z)VCode ExceptionsGetCurrentWindowGetModel Lcom/ptc/pfc/pfcSession/Session;LineNumberTableLjava/io/PrintStream;MaterialCommandListenerMaterialCommandListener.javaMaterialCommandListener: MaterialDialogMaterialSelector OnCommandRegistered button press... SourceFileappendcom/ptc/cipjava/jxthrowable5com/ptc/pfc/pfcCommand/DefaultUICommandActionListenercom/ptc/pfc/pfcPart/Part"com/ptc/pfc/pfcSession/BaseSessioncom/ptc/pfc/pfcWindow/Windowcurrent model is not a partjava/awt/Componentjava/awt/Framejava/io/PrintStreamjava/lang/StringBufferjava/lang/Systemno current windowno model in current windowoutprintMsgprintlnsession setVisibletoString  W;617* **+<  C07T*L+ +M, , YY*, N-<F $!)"*%1'6(7+B,J+N-S8 U473Y* < 31E?PK (u. AȸMaterialDialog$1.class-2 ,-.        % & / 0 1$()I()Ljava/lang/String;()Ljava/util/Vector;()V(I)Ljava/lang/Object;(I)Ljava/lang/String;(II)Ljava/lang/Object;(II)Z([Ljava/lang/String;)VCode InnerClassesLineNumberTableMaterialDialogMaterialDialog$1MaterialDialog.java SourceFile Synthetic[Ljava/lang/String;access$0 elementAtgetColumnCount getColumnName getRowCount getValueAtisCellEditablejava/lang/Stringjava/util/Vector$javax/swing/table/AbstractTableModelsizetoStringval$columnNames01$#" **+ <#'* C(" * 2 @) B*'F+J"! PK (u.uMaterialDialog$2.class-      ()V#(Ljava/io/File;Ljava/lang/String;)Z(Ljava/lang/String;)Z.matCode InnerClassesLineNumberTableMaterialDialog$2MaterialDialog.java SourceFile SyntheticacceptendsWithjava/io/FilenameFilterjava/lang/Objectjava/lang/String0 * - ,  PK (u.MhMaterialDialog$SymAction.class-:)*678             !( "( $( 0( 1 2 3 4 5 9&()Ljava/lang/Object;()V(LMaterialDialog;)V(Ljava/awt/event/ActionEvent;)VAssignCancelCodeDisplay InnerClassesLMaterialDialog;LineNumberTableLjavax/swing/JButton;MaterialDialogMaterialDialog$SymActionMaterialDialog.java SourceFile SymAction SyntheticactionPerformedbutton4doAssigndoCancel doDisplaydoSearch getSourcejava/awt/event/ActionListenerjava/lang/Objectjava/util/EventObjectthis$0 9&. #2 **+' /#W+M,* * ?,* * *,* * ,* *'6 %,/:ADOV,+% -PK (u.n UUMaterialDialog$SymWindow.class-#        !()V(LMaterialDialog;)V(Ljava/awt/event/WindowEvent;)V(Z)VCode InnerClassesLMaterialDialog;LineNumberTableMaterialDialogMaterialDialog$SymWindowMaterialDialog.java SourceFile SymWindow SyntheticZisShowingChildDlgjava/awt/Componentjava/awt/event/WindowAdapter setVisiblethis$0 windowClosing !2 **+ "3* *  PK (u.PMaterialDialog.class-%&()*>Av '56NOPQRSTUVWXYZ[\]^_`abcdefghijk  " 4 7 = < '   ; 9  * + , 2     ! % % 5 4 ) 2   4 6 6 6 6     : $ 9 = = = 1   1 + 3 )   . *     8 % 8 = 8 > 5 & $ &    1 2 / #     - - . / 0 1 2 3 4 7 8 9 : ; < C D E F G H I J K L+ M l m n o p q r s t u w x y z { | } ~            ()I()Ljava/awt/Component;()Ljava/awt/Container;()Ljava/lang/Object;()Ljava/lang/String;()Ljava/util/Vector;()Ljavax/swing/Box;()Ljavax/swing/JRootPane;"()Ljavax/swing/ListSelectionModel;()V(I)Ljava/awt/Component;(I)V(II)Ljava/lang/Object;(II)Ljava/lang/String;(II)V(LMaterialDialog;)V(Ljava/awt/Color;)V*(Ljava/awt/Component;)Ljava/awt/Component;(Ljava/awt/Component;)V)(Ljava/awt/Component;Ljava/lang/Object;)V;(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;)V>(Ljava/awt/Component;Ljava/lang/Throwable;Ljava/lang/String;)V(Ljava/awt/Dimension;)VM(Ljava/awt/Frame;Lcom/ptc/pfc/pfcSession/Session;Lcom/ptc/pfc/pfcPart/Part;)V%(Ljava/awt/Frame;Ljava/lang/String;)V&(Ljava/awt/Frame;Ljava/lang/String;Z)VE(Ljava/awt/Frame;Ljava/util/Vector;Lcom/ptc/pfc/pfcSession/Session;)V(Ljava/awt/LayoutManager;)V(Ljava/awt/Window;)V"(Ljava/awt/event/ActionListener;)V"(Ljava/awt/event/WindowListener;)V-(Ljava/io/FilenameFilter;)[Ljava/lang/String;(Ljava/io/Reader;)V(Ljava/lang/Object;)V(Ljava/lang/String;)I2(Ljava/lang/String;)Lcom/ptc/pfc/pfcPart/Material;&(Ljava/lang/String;)Ljava/lang/Double;,(Ljava/lang/String;)Ljava/lang/StringBuffer;&(Ljava/lang/String;)Ljava/util/Vector;(Ljava/lang/String;)V!(Ljavax/swing/table/TableModel;)V(Z)V([Ljava/lang/String;)V.=AssignCancelCenterCloseCodeConduct.DisplayHARDNESSHardness InnerClassesLcom/ptc/pfc/pfcPart/Part; Lcom/ptc/pfc/pfcSession/Session;LineNumberTableLjava/awt/Color;Ljava/io/PrintStream;Ljava/util/Vector;Ljavax/swing/JButton;Ljavax/swing/JTable;MaterialMaterial SelectorMaterialDialogMaterialDialog$1MaterialDialog$2MaterialDialog$SymActionMaterialDialog$SymWindowMaterialDialog.javaMaterialDialog: MaterialSearcher POISSON_RATIOPoissonRetrieveMaterialSearch SelectBox SourceFile SymAction SymWindow SyntheticTHERMAL_CONDUCTIVITY-The VALUES are invalid in the MATERIAL FILE: UIHelper View File YOUNG_MODULUSYoungZaccess$0addaddActionListener addElementaddWindowListenerappendbutton4 centerWindowclonecom/ptc/cipjava/jxthrowablecom/ptc/pfc/pfcPart/PartcreateHorizontalBoxcreateHorizontalGluecreateVerticalBoxcreateVerticalStrutdatadata1doAssigndoAssign: nothing selecteddoCancel doDisplaydoDisplay: nothing selecteddoSearch fieldName fillContentgetContentPane getParent getRootPanegetSelectedRowgetSelectionModel getValueAtindexOfisShowingChildDlgjTable1java/awt/BorderLayoutjava/awt/Colorjava/awt/Componentjava/awt/Containerjava/awt/Dialogjava/awt/Dimensionjava/awt/Framejava/awt/Windowjava/io/BufferedReader java/io/Filejava/io/FileReaderjava/io/IOExceptionjava/io/PrintStreamjava/lang/Doublejava/lang/NumberFormatExceptionjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/util/Vectorjavax/swing/AbstractButtonjavax/swing/Boxjavax/swing/JButtonjavax/swing/JComponentjavax/swing/JDialogjavax/swing/JRootPanejavax/swing/JScrollPanejavax/swing/JSeparatorjavax/swing/JTablejavax/swing/ListSelectionModeljavax/swing/SwingConstantslengthlistoutpackpartprintMsgprintlnreadLinereadMatreadMatsreading material fileselectMaterialsession setBackground setLayoutsetMinimumSizesetModelsetPreferredSizesetSelectionModesetTextsetTitle setVisiblesetting materialshowshowErrorMessage showExceptionshowMaterialFile substringtoStringvalueOfwhite!9 C ; <L+x p 2M C4YBd4YBb4YBc  H*+ J*m*,z*-s*e ' ()+%,b $=X(*ni<*nk1M*,yt  "' ?"* *(@p8*ni<(*nk1M*m*g(,*mt &  */27B9Y*g(c*zK /0-Dv B*xbb]4c1Y SYSY SYSYSL4YBd=d+2X+Y+PN*h:f:'YddF}'Y2F"YA|`:V*=YDn*n-~*n{*njaUW;Y*nIUWaUWCancel_ActionPerformedCodeDisplay_ActionPerformed InnerClassesLMaterialSearcher;LineNumberTableMaterialSearcherMaterialSearcher$SymActionMaterialSearcher.javaNSearch_ActionPerformedRSearch_ActionPerformed SourceFile SymAction Syntheticaccess$0access$1access$2access$3actionPerformed getSourcejava/awt/event/ActionListenerjava/lang/Objectjava/util/EventObjectthis$0 9&/!#2 **+'88 84 #[+M,* *+ B,* *+ ,,* *+,* *+'6 <=>=?&@.?1A<BDAGCRDZ:-*% .PK )u.Code InnerClassesLMaterialSearcher;LineNumberTableMaterialSearcherMaterialSearcher$SymWindowMaterialSearcher.java SourceFile SymWindow Syntheticdisposejava/awt/Componentjava/awt/Dialogjava/awt/event/WindowAdapter setVisiblethis$0 windowClosing "2 **+ // /#0* * 341 PK )u.UyU""MaterialSearcher.class-+,-/01258:<=?@BCOPUXYZ^_`abcdfhjklmnrstuvwz{QRSgx < = K S W V : > 2 3 U Q @ B H N R O 1 1 1 1 1 1 1 1 1 8 L K ? H H 5 @ M M M 1 9 E K < 1 1 T 7 Q O S S Z < G < G 1 I ? 1 J D @ 1 1 P = O 8 S P P O X 7 5 4 K G H G E < < 6 . . . . . . . . .% .* 3K 7L :K >' VK [L \K e& yN   !   $      J    A  J        A " H  J I  %  %  M E   )  (     )       # 9 9 G()D()I()Ljava/awt/Component;()Ljava/awt/Container;()Ljava/lang/Object;()Ljava/lang/String;()Ljavax/swing/Box;()Ljavax/swing/JRootPane;"()Ljavax/swing/ListSelectionModel;()V(I)Ljava/awt/Component;(I)Ljava/lang/Object;(I)V(II)Ljava/lang/String;(II)V(IIII)V)(LMaterialSearcher;)Ljavax/swing/JButton;(LMaterialSearcher;)V(Ljava/awt/Color;)V*(Ljava/awt/Component;)Ljava/awt/Component;(Ljava/awt/Component;)V4(Ljava/awt/Component;Ljava/awt/GridBagConstraints;)V;(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;)V(Ljava/awt/Dimension;)V%(Ljava/awt/Frame;Ljava/lang/String;)V&(Ljava/awt/Frame;Ljava/lang/String;Z)VE(Ljava/awt/Frame;Ljava/util/Vector;Lcom/ptc/pfc/pfcSession/Session;)V(Ljava/awt/LayoutManager;)V(Ljava/awt/Window;)V(Ljava/awt/event/ActionEvent;)V"(Ljava/awt/event/ActionListener;)V"(Ljava/awt/event/WindowListener;)V(Ljava/io/Reader;)V&(Ljava/lang/Object;)Ljava/lang/String;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;(Ljava/lang/Object;)V(Ljava/lang/String;)I&(Ljava/lang/String;)Ljava/lang/Double;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/util/Vector;)I&(Ljava/util/Vector;)Ljava/util/Vector;(Ljava/util/Vector;)V(Z)V([Ljava/lang/Object;)V.mat.mat: <=> BEND_TABLE CONDITIONCancelCancel_ActionPerformedCloseCodeCond ConditionDDisplayDisplay_ActionPerformed EMISSIVITY Emissivity GetAllValHARDNESSHardnessIINITIAL_BEND_Y_FACTORInitial_Bend_Y_Factor InnerClasses Lcom/ptc/pfc/pfcSession/Session;LineNumberTableLjava/awt/Color;Ljava/awt/Insets;Ljava/io/PrintStream;Ljava/util/Vector;Ljavax/swing/JButton;Ljavax/swing/JComboBox;Ljavax/swing/JList;Ljavax/swing/JTextField; MASS_DENSITY Mass_DensityMaterialSearcherMaterialSearcher$SymActionMaterialSearcher$SymWindowMaterialSearcher.javaMaterialSearcher: NSearchNSearch_ActionPerformed New Search POISSON_RATIO Poisson_RatioPropRSearchRSearch_ActionPerformed Refine Search SHEAR_MODULUS SPECIFIC_HEATSTRESS_LIMIT_FOR_COMPRESSIONSTRESS_LIMIT_FOR_SHEARSTRESS_LIMIT_FOR_TENSIONSTRUCTURAL_DAMPING_COEFFICIENTSearchSearch for Material SelectBox Shear_Modulus SourceFile Specific_HeatStress_Limit_For_CompressionStress_Limit_For_ShearStress_Limit_For_TensionStructural_Damping_Coefficient SymAction SymWindow SyntheticTHERMAL_CONDUCTIVITYTHERMAL_EXPANSION_COEFFICIENTTHERM_EXPANSION_REF_TEMPERATURETherm_Expansion_Ref_CoefficeintThermal_Expansion_CoefficientThremal_ConductivityUIHelperVal YOUNG_MODULUS Young_Modulusaccess$0access$1access$2access$3addaddActionListener addElementaddWindowListenerappend centerWindowclose conditioncreateHorizontalBoxcreateHorizontalGluecreateHorizontalStrutdatadispose doubleValue elementAtexception reading fill fillContent founddatagetContentPane getParent getRootPanegetSelectedIndexgetSelectedValuegetSelectionModelgetText gridwidthindexOfinsets invalid valuejava/awt/Colorjava/awt/Componentjava/awt/Containerjava/awt/Dialogjava/awt/Dimensionjava/awt/Framejava/awt/GridBagConstraintsjava/awt/GridBagLayoutjava/awt/Insetsjava/awt/Windowjava/io/BufferedReaderjava/io/FileNotFoundExceptionjava/io/FileReaderjava/io/IOExceptionjava/io/PrintStreamjava/lang/Doublejava/lang/NumberFormatExceptionjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/lang/Throwablejava/util/Vectorjavax/swing/AbstractButtonjavax/swing/Boxjavax/swing/JButtonjavax/swing/JComboBoxjavax/swing/JComponentjavax/swing/JDialogjavax/swing/JLabeljavax/swing/JListjavax/swing/JRootPanejavax/swing/JScrollPanejavax/swing/JSeparatorjavax/swing/JTextFieldjavax/swing/ListSelectionModeljavax/swing/SwingConstantsjavax/swing/text/JTextComponentlengthnamesoutpackprintMsgprintStackTraceprintlnreadLine resultListsession setBackgroundsetConstraints setEditable setLayout setListDatasetMinimumSizesetPreferredSizesetSelectedIndexsetSelectionMode setVisibleshowErrorMessageshowMaterialFilesize substringtoStringvalueOfweightxweightywhite!1Q JJJE[L7LyNM\K:K3KVK .6i5*+f**KY]*KY]*-**,pF"" ##(%,&4 46* **F_` ];6?*GM,*;,FV WYT >'6ǻKY]LKY]M>:*KG:+x@YBYHYi{hg:Wh,|'q(f[PE:&/ $ +`x0+`xY: },+xKY]LS:HY/i{{z+:HY/i{{z*T,-QTAXjmCXjFF5'--QTUXX[fq|     (3?DJUZ_gjmo "$%&)+W6& **tWF K I]6& **tWF Q Oe&6)E*r`=*n>*KY]KY]:*u9++6Z+KE*+KGx+xy+KE`+x*+Kx>+KE%+x*+Kx+&*** W*0.*&14FF2 &&5@C`impy~  &145=|6*qFq}6*sFq~6*oFq6*mFq6 *KY]*L+M+:Ydda+:Ya=Y\N,-YbGY-SYSY SYSY*SY)SY%SY$SY"SY #SY +SY  SY !SY SYS:*OYlr*r*rGYSYSYS:*OYln*n*n*WY_u*SY^**UY*e:*NYjq*NYjs*NY jo*NY jm~:RY kvWvW*rvWvW*nvWvW*uvW-,vW~:  vW *qvW vW *svW vW- , vWVY`: - , vW-,vWVY`: - , vW~:  vW *ovW vW *mvW vW>Yb- , vW**|3Y*d: * y2Y*c: *m w*s w*o w*q wFo+ 235$658=9B:K;[=b>d=g>i=l>n=q>s=v?x={?}=@=@=A=A=B=B=B=B=C=EFGIJKLNPQ%R,S-R2T?VLWYXfYs[x\]^_`abcdefghjklm nop&q-s7t?uFwLxRyZza|g}m~w ) %63HYi*{F fdiTD31p21oPK )u.ʨCHHMaterialSelector.class-l78DEKLPUX]cjMNYZ[^_`ab ' ( ) * + , - . / 0 1 2 3 4 5 6 C; C= C@ G9 R< SB TA V; W> W? \H dJ e@ f; g@ k:% ------------------------------------"()Lcom/ptc/pfc/pfcSession/Session;()Ljava/lang/String;()V(Lcom/ptc/pfc/pfcCommand/UICommand;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V#(Lcom/ptc/pfc/pfcSession/Session;)V,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)Vf(Ljava/lang/String;Lcom/ptc/pfc/pfcCommand/UICommandActionListener;)Lcom/ptc/pfc/pfcCommand/UICommand;K(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V ApplicationsApplications.psh_util_pprocCodeGetProESession Lcom/ptc/pfc/pfcSession/Session;LineNumberTableLjava/io/PrintStream;MatDemo Material DemoMaterialCommandListenerMaterialSelectorMaterialSelector.javaMaterialSelector:  SourceFile UIAddButton UIAddMenuUICreateCommandUser Applications addButtonappendclick to startcom/ptc/cipjava/jxthrowablecom/ptc/pfc/pfcGlobal/pfcGlobalcom/ptc/pfc/pfcSession/Session curSession exception: java/io/PrintStreamjava/lang/Objectjava/lang/StringBufferjava/lang/Systemjava/lang/Throwable ootkmsg.txtoutprintMsgprintStackTraceprintlnstartstopstoppedtoString! \HC;F*I V;F Y!KL!*L#MY ,&#,$"%! !+  #MY ,&#,$"% <_bIj& % ( * -,*/10243<5<9A:C;G9L?R@VAZ?_5bCcEvFzG# e@F3"Y* &%I NL h;Fm-!#KY *&#*$"% I&   !), i;F" #I QOPK )u.wߞ!MissingCusParamValException.class-        found. of type ()Ljava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V'(Ljava/lang/String;Ljava/lang/String;)VCodeCustomParameterTypeExceptionLineNumberTableMissingCusParamValException MissingCusParamValException.javaNo values for parameter  SourceFileappendjava/lang/StringBuffertoString!?#*Y+  ,   "PK )u. dKK$NotEnoughValsSuppliedException.class-"         !()Ljava/lang/String;(I)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;II)V) supplied to custom type  , minimum is CodeCustomParameterTypeExceptionLineNumberTableNot enough values (NotEnoughValsSuppliedException#NotEnoughValsSuppliedException.java SourceFileappendjava/lang/StringBuffertoString!C'*Y    +  &PK )u.X6|JJNotInListException.class-          " was not found in the custom list ()Ljava/lang/String;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/String;)VCodeCustomParameterTypeExceptionLineNumberTableNotInListExceptionNotInListException.java SourceFile The value appendjava/lang/StringBuffertoString :*Y, +  PK )u.333NotOnIncrementException.class-)% "'         & & & & ( above the minimum  does not fall on the increment ()Ljava/lang/String;(D)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V*(Ljava/lang/String;Ljava/lang/Object;DDD)V)(Ljava/lang/String;Ljava/lang/Object;II)VCodeCustomParameterTypeExceptionLineNumberTableNotOnIncrementExceptionNotOnIncrementException.java SourceFile The value appendjava/lang/StringBuffertoString!D (*Y,    ) !  ' D(*Y,     ! '$#PK )u.oV NullValueSuppliedException.class-        ()Ljava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V*A null value was given to the custom type CodeCustomParameterTypeExceptionLineNumberTableNullValueSuppliedExceptionNullValueSuppliedException.java SourceFileappendjava/lang/StringBuffertoString!1*Y+ PK )u.oOutOfRangeException.class-5/02'*3        $! 1 1 1 1 4 . is  the boundary value ()Ljava/lang/String;(D)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V)(Ljava/lang/String;Ljava/lang/Object;DI)V)(Ljava/lang/String;Ljava/lang/Object;II)VCode ConstantValueCustomParameterTypeExceptionILineNumberTableOutOfRangeExceptionOutOfRangeException.java SourceFileTOO_HIGHTOO_LOW The value aboveappendbelowjava/lang/StringBuffertoString! .(&-(&$"%S7* Y ,) ) 6$#%S7* Y , )  6 ,+PK )u.pajfParamCellEditor$1.class-. '(        $ & ) * -()Ljava/lang/Object;()Z(LDefaultCellEditor;)V'(LParamCellEditor;LDefaultCellEditor;)V(Ljava/lang/Object;)V(Ljava/util/EventObject;)ZCode DefaultCellEditor$EditorDelegate InnerClassesLParamCellEditor;LineNumberTableLjavax/swing/JComboBox;ParamCellEditorParamCellEditor$1ParamCellEditor.java SourceFile Synthetic activeCombogetCellEditorValuegetSelectedItemjava/awt/AWTEventjavax/swing/JComboBoxsetSelectedItemsetValuestartCellEditingstopCellEditingthis$00-## *,*+ _#%# * h*1*+ * + b c`++m,r"! PK )u.kW ParamCellEditor.class-taefqrux 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K K L M N `S `V `Z `\ `^ ym zX {Y |m }i ~_ S i n Q P U [ O O T j l Z ] i o R()I()LCustomParameterType;()Ljava/lang/Class;()Ljava/lang/String;()V()[Ljava/lang/Object;(I)LBaseParameterHelper;'(LParamCellEditor;LDefaultCellEditor;)V(LParamTableModel;)V (Ljava/awt/event/ItemListener;)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V?(Ljavax/swing/JTable;Ljava/lang/Object;ZII)Ljava/awt/Component;(Ljavax/swing/JTextField;)V(Z)V([Ljava/lang/Object;)V,([Ljava/lang/String;)Ljavax/swing/JComboBox;BaseParameterHelperCOMBOBOXCode ConstantValueCustomParameterTypeDefaultCellEditorI InnerClasses"LDefaultCellEditor$EditorDelegate;LParamTableModel;LineNumberTableLjava/io/PrintStream;Ljavax/swing/JComboBox;Ljavax/swing/JComponent;Ljavax/swing/JTextField; NOT_EDITABLEParamCellEditorParamCellEditor$1ParamCellEditor.javaParamCellEditor: ParamTableModel SourceFile TEXTFIELD[Ljava/lang/String; activeComboaddItemListenerappend booleanCombo comboDelegatecreateComboBox createCombosdelegateeditorComponentgetClass getCustomTypegetParameterHelpergetTableCellEditorComponentgetTableCellEditorComponentTypegetType getUIValuesjava/io/PrintStreamjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjavax/swing/JComboBoxjavax/swing/JTextFieldjavax/swing/text/JTextComponentleftRightCombomodelnooutprintMsgprintln setEditable textDelegate textFieldtoStringyes! pgdwgdbgdjoi}i|mmym`WcT(*Y**#1**"0*++*!k #'~_c<Y+M,.,*,kT UWYScO+* Y**Y$WYSYSL**+ k_v!x*][c` *+&:)6***Z#**"%(6XX@*%* : ** Z#**"P***1#**0"8***1#*1/**0"***1#**0"*+,'kr" #$&%'-$0)7+A,\1m2x3489:;@ABC)JKLNON Zc3,Y*2-k ~vsh  PK )u. ? @ A B C D E F G H I J K L M N O P Q R S T U V W n] n^ n` na nh nj nk s[ tf u[ vY wZ g b l e \ _ i X { y h h | h m [ [ d()I'()Lcom/ptc/pfc/pfcModelItem/ParamValue;+()Lcom/ptc/pfc/pfcModelItem/ParamValueType;()Ljava/lang/String;()V+(Lcom/ptc/pfc/pfcModelItem/BaseParameter;)V@(Lcom/ptc/pfc/pfcModelItem/BaseParameter;LCustomParameterType;)V,(Lcom/ptc/pfc/pfcModelItem/ParamValueType;)I'(Lcom/ptc/pfc/pfcModelItem/Parameter;)V<(Lcom/ptc/pfc/pfcModelItem/Parameter;LCustomParameterType;)V`(Lcom/ptc/pfc/pfcModelItem/ParameterOwner;Lcom/ptc/pfc/pfcModelItem/Parameter;)LParameterHelper;N(Lcom/ptc/pfc/pfcModelItem/ParameterOwner;Ljava/lang/String;)LParameterHelper;&(Ljava/lang/Object;)Ljava/lang/String;)(Ljava/lang/String;)LCustomParameterType;8(Ljava/lang/String;)Lcom/ptc/pfc/pfcModelItem/Parameter;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;)Z3(Ljava/lang/String;LCustomParameterTypeException;)V'(Ljava/lang/String;Ljava/lang/String;)V<(Ljava/lang/String;Ljava/lang/String;I)LCustomParameterType;*(Ljava/lang/Throwable;Ljava/lang/String;)VBaseParameterHelperBaseProeParameterHelperCodeCustomParameterTypeCreatorGetNameGetParamGetStringValueGetValueGetdiscrInvalidParameterType(Lcom/ptc/pfc/pfcModelItem/BaseParameter;LineNumberTableLjava/io/PrintStream;Ljava/lang/String;MissingCusParamValExceptionParameterHelperParameterHelper.javaParameterHelper:  SourceFileUIHelper__TYPE_UINAME_VALUESappendcom/ptc/cipjava/jxthrowable&com/ptc/pfc/pfcModelItem/BaseParameter'com/ptc/pfc/pfcModelItem/NamedModelItem#com/ptc/pfc/pfcModelItem/ParamValue"com/ptc/pfc/pfcModelItem/Parameter'com/ptc/pfc/pfcModelItem/ParameterOwnercreatecreate: exceptioncreate: invalid custom namecreate: param is nullcreateCustomTypedefaultCustomTypeFromStringdetermineProeNamedetermineProeTypeendsWithgetting parameter namejava/io/PrintStreamjava/lang/Stringjava/lang/StringBufferjava/lang/Systemlengthobtaining parameter infooutpprintMsgprintlnproeName setCustomName showExceptiontoStringtrimvalueOf! n`q* *+*,z  naq+ *+,*,z  bqt + 2+#M,.,. ,.*Y,9 (7$N*Y,9 (7$:*Y,9 (7$:--&%8:/ 2:&%+:Y+#&%"Y&%9 (+#(7&%+&'-*:8:YY&%9 (+#(7!:Y+:Y+: 5M2, 6"% z-<> ? A CF-I/MINdORSRTV[_`cbdfhinopn"f%s'uWfZ|_}i|l~qs cqE**+$)M, 6 z,. 0 23\qO**1#4 L+ 6z!# hq30Y *(73z PK )u.iCѨParamTable.class- G G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u { { x w z z  v ~ v v y | { v z ()I()LCustomParameterType;()Ljava/awt/Color;()Ljava/lang/Object;()Ljava/lang/String;()V()Z()[Ljava/lang/String;(I)LBaseParameterHelper;(I)Ljava/lang/Object;(I)Ljava/lang/String;(I)V(II)I(II)Ljava/lang/String;)(II)Ljavax/swing/table/TableCellRenderer;(II)V(LParamTableModel;)V(Ljava/awt/Color;)V(Ljava/awt/Dimension;)V8(Ljava/lang/Class;)Ljavax/swing/table/TableCellRenderer;3(Ljava/lang/Object;)Ljavax/swing/table/TableColumn;(Ljava/lang/Object;)V(Ljava/lang/Object;)Z,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V&(Ljavax/swing/table/TableCellEditor;)V!(Ljavax/swing/table/TableModel;)V([LBaseParameterHelper;)V([Ljava/lang/Object;)VBaseParameterHelperCode ConstantValueCustomParameterTypeIINVALIDLParamTableModel;LineNumberTableLjava/awt/Color;Ljava/io/PrintStream;,Ljavax/swing/table/DefaultTableCellRenderer;MODIFIEDParamCellEditor ParamTableParamTable.java ParamTable: ParamTableModel SourceFile5The table contains the following invalid parameters: VALID addElementappend checkValid checkValuecommitNewValuescopyIntodarkerequalsgetCellRenderer getColumn getColumnName getCustomTypegetCustomTypeMessagegetDefaultRenderergetInvalidMessagegetInvalidMessages getNewValuegetParamValueColIdxgetParameterHelper getRowCountgetTypegetValuegreeninvalidRenderer isAllValidjava/awt/Colorjava/awt/Dimensionjava/io/PrintStreamjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/util/Vectorjavax/swing/JComponentjavax/swing/JTable*javax/swing/table/DefaultTableCellRendererjavax/swing/table/TableColumnmodifiedRendererout paramModelprintMsgprintlnredresetNewValues setBackground setCellEditor setForegroundsetInvalidMessagesetModel"setPreferredScrollableViewportSizesizetoString validRendererwhiteyellow!   * Y+8*8@*88.'&M,Y8=* YFA*E<*YD*D3$>*Y4*4:>*Y6*6F$>B#'5ELWd o!y#$Y8/N-2:8-:-1-(! --)? %2 abcde'f0h<jDkFnUoWq{#8" {yY1* )$*4*D*6. 1%3*5/8*+*)# 8/+v}f*5YL+80=8.>6* +*,+B+B:+#6 I KMNO&Q,S6TAQJWTY]Zc\|X(80<8.=>* =>?AB?&D 37Y*C9 {#8; ~PK )u.⮯ ParamTableModel.class-jko_h 0 1 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I ^M ^[ fb gb nb rZ sY te ue wT xM yY }L ~L J K N q d p [ M V L \ W()I()Ljava/lang/Object;()Ljava/lang/String;()V()Z(I)LBaseParameterHelper;(I)Ljava/lang/Class;(I)Ljava/lang/Object;(I)Ljava/lang/String;(II)Ljava/lang/Object;(II)V(II)Z(Ljava/lang/Object;)Z'(Ljava/lang/Object;I)Ljava/lang/String;(Ljava/lang/Object;II)V%(Ljava/lang/String;)Ljava/lang/Class;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V'(Ljava/lang/String;I)Ljava/lang/Object;([LBaseParameterHelper;)VBaseParameterHelperCode ConstantValueILineNumberTableLjava/io/PrintStream;Ljava/lang/Class;PARAM_NAME_COL_IDXPARAM_VALUE_COL_IDXParamTableModelParamTableModel.javaParamTableModel:  Parameter SourceFile Synthetic TOTAL_COLSValue[LBaseParameterHelper;[Ljava/lang/Object;appendclass$class$java$lang$Objectclass$java$lang$StringcommitNewValuesfireTableCellUpdatedfireTableDataChangedforNamegetColumnClassgetColumnCount getColumnName getMessagegetName getNewValuegetParamNameColIdxgetParamValueColIdxgetParameterHelper getProeType getRowCountgetValue getValueAtisCellEditableisRelationDrivenjava.lang.Objectjava.lang.Stringjava/io/PrintStreamjava/lang/Class java/lang/ClassNotFoundExceptionjava/lang/NoClassDefFoundErrorjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/lang/Throwable$javax/swing/table/AbstractTableModel newValuesoutpHelpersprintMsgprintlnresetNewValuessetValue setValueAttoStringvalueFromString valueToString! fbagbanbapquemtem^]`M*****+)*+c    sY`2*!LY+" cmvM`T(<*)2M,*'2,W*'* cxz x#'vzP`J2 $Y  YcO{J`c|R`5cI JIQ`=*)*) *'2cfgiJ`cYJ`cTO`=*)*) *)2c^_aJ`*)cS`^* *)2#*)2$>*'2/c" !"%&#'$&(+U`3*)2&cBCD [`3(Y*-*c M`]1**)'<*'*)2%S*)* cn oq o,s0lX`^**)2$6+.: *'S*c"1 23248#=)/liPK )u.x8i i ParamWindow$ButtonListener.class-CDRSW^_`gabctuvwxyz , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B QG QO i] kN l] mG nI oE ph q] rH sh {Z |] }G ~] P K X Y \ F M Error Info()Ljava/lang/Object;()Ljava/lang/String;()V()Z()[Ljava/lang/String;(LParamWindow;)V<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V(Ljava/awt/event/ActionEvent;)V&(Ljava/lang/Object;)Ljava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Z)VYAE's, or technical marketing. PTC also offers J-Link implementation services through theAbout ButtonListenerCode InnerClassesQIt is intended as an example of how J-Link can be used to improve productivity at LParamTable; LParamWindow;Lcom/ptc/pfc/pfcPart/Material;LineNumberTableLjava/lang/String;Ljavax/swing/JButton;Material is not assignedNo invalid values found.$OSS group (contact mdecker@ptc.com). ParamTable ParamWindowParamWindow$ButtonListenerParamWindow.java SourceFile SyntheticSThis application was developed by PTC to demonstrate the use of the new J-Link API.Z aboutButtonactionPerformedappend closeButtoncommitNewValuesgetInvalidMessages getSourceincludeMaterial infoButton isAllValidisShowingChildDlgjava/awt/Componentjava/awt/event/ActionListenerjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/util/EventObjectjavax/swing/JOptionPanematerial resetButtonresetNewValues setButton setVisibleshowMessageDialogtablethis$0titletoStringvalueOfVyour company. Questions regarding J-Link can be directed to customer support or local YfQJU2 **+([ jLU+M,*($*('*(')*(! *(%*( *(%*(!3*()*(Y*()+*&%*('N*(-Y*()+*&,*("*('#,*(j*('N*('-)*(Y*()+*&*(-Y*()+*&k,*(*( V*(%K,*(@Y SYSY SYSYSN*(-Y*()*&[?'19:DLMaeg  " #!$:%;">A(L*V+^(a-l1w2y1|3~14151/67896edV  TPK )u.ϒL__(ParamWindow$MaterialButtonListener.class-E?./0:;<=>            &! &# 5% 7! 8 94 @* A+ B! C) D!()Ljava/awt/Container;()V(LParamWindow;)VM(Ljava/awt/Frame;Lcom/ptc/pfc/pfcSession/Session;Lcom/ptc/pfc/pfcPart/Part;)V(Ljava/awt/event/ActionEvent;)V(Ljava/lang/String;)VCode InnerClasses LParamWindow;Lcom/ptc/pfc/pfcPart/Part; Lcom/ptc/pfc/pfcSession/Session;LineNumberTableMaterialButtonListenerMaterialDialog ParamWindow"ParamWindow$MaterialButtonListenerParamWindow.java SourceFile SyntheticZaccess$0actionPerformeddispose getParentisShowingChildDlgjava/awt/Componentjava/awt/Dialogjava/awt/Framejava/awt/event/ActionListenerjava/lang/ObjectmaterialButton pressedpartsessionshowthis$0updateMaterial  C)3&"'2 * *+,?? ?6$'E Y*** M*,*, *,* CDE!D%F-G1H9I=JDA21( -PK )u.T.#$ParamWindow$WindowEventHandler.class-/$'()        % &# * + ,()I()V(LParamWindow;)V(Ljava/awt/event/WindowEvent;)V(Z)VCode InnerClasses LParamWindow;LineNumberTable ParamWindowParamWindow$WindowEventHandlerParamWindow.java SourceFile SyntheticWindowEventHandlerZcom/ptc/PlatformgetOSAPIisShowingChildDlgjava/awt/Componentjava/awt/Windowjava/awt/event/WindowAdapter setVisiblethis$0toFront windowClosing windowOpened +!2 **+  -3* *   ./ *   "PK )u.zParamWindow.class-^?B$%&'()*+,-./0123456789:;<=> { { { ({ *{ .{ -| } ~    , ' ! % )      #  !    $ $ $    +  '         "         + ' 1 &  & &  1     !                        ! " # ? @ A C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]()F ()Lcom/ptc/pfc/pfcPart/Material;()Ljava/awt/Color;()Ljava/awt/Component;()Ljava/awt/Container;()Ljava/lang/String;()Ljavax/swing/Box;()Ljavax/swing/JRootPane;()V(I)Ljava/awt/Component;(I)V(II)V(IIII)V(LParamWindow;)VO(Lcom/ptc/pfc/pfcSession/Session;Lcom/ptc/pfc/pfcPart/Part;[LParameterHelper;)VH(Lcom/ptc/pfc/pfcSession/Session;[LParameterHelper;ZLjava/lang/String;)V(Ljava/awt/Color;)V*(Ljava/awt/Component;)Ljava/awt/Component;(Ljava/awt/Component;)V4(Ljava/awt/Component;Ljava/awt/GridBagConstraints;)V>(Ljava/awt/Component;Ljava/lang/Throwable;Ljava/lang/String;)V(Ljava/awt/Dimension;)V&(Ljava/awt/Frame;Ljava/lang/String;Z)V(Ljava/awt/LayoutManager;)V(Ljava/awt/Window;)V"(Ljava/awt/event/ActionListener;)V"(Ljava/awt/event/WindowListener;)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljavax/swing/JButton;)V(Z)V([LBaseParameterHelper;)V... AboutButtonListenerCloseCodeDGetCurrentMaterialGetNameIInfo InnerClasses LParamTable;Lcom/ptc/pfc/pfcPart/Material;Lcom/ptc/pfc/pfcPart/Part; Lcom/ptc/pfc/pfcSession/Session;LineNumberTableLjava/awt/Color;Ljava/awt/Container;Ljava/awt/Insets;Ljava/io/PrintStream;Ljava/lang/String;Ljavax/swing/JButton;Ljavax/swing/JPanel;Ljavax/swing/JTextField;MaterialMaterialButtonListener ParamTable ParamWindowParamWindow$ButtonListener"ParamWindow$MaterialButtonListenerParamWindow$WindowEventHandlerParamWindow.java ParamWindow: Release CheckingSet SourceFile SyntheticUIHelperUnassignedParamTableUndoWindowEventHandlerZ[LParameterHelper; aboutButtonaccess$0addaddActionListeneraddWindowListenerappend buttonPane centerWindow closeButtoncom/ptc/cipjava/jxthrowablecom/ptc/pfc/pfcPart/Materialcom/ptc/pfc/pfcPart/PartcontentcreateHorizontalBoxcreateHorizontalGluecreateHorizontalStrutdefaultTextColorfill fillContent getAlignmentX getAlignmentYgetContentPane getForeground getRootPane gridwidthincludeMaterial infoButtoninsetsisShowingChildDlgjava/awt/BorderLayoutjava/awt/Colorjava/awt/Componentjava/awt/Containerjava/awt/Dimensionjava/awt/GridBagConstraintsjava/awt/GridBagLayoutjava/awt/Insetsjava/awt/Windowjava/io/PrintStreamjava/lang/StringBufferjava/lang/Systemjavax/swing/AbstractButtonjavax/swing/Boxjavax/swing/JButtonjavax/swing/JComponentjavax/swing/JDialogjavax/swing/JFramejavax/swing/JLabeljavax/swing/JPaneljavax/swing/JRootPanejavax/swing/JScrollPanejavax/swing/JSeparatorjavax/swing/JTextFieldjavax/swing/SwingConstantsjavax/swing/WindowConstantsjavax/swing/text/JTextComponentmaterialmaterialButtonmaterialNameFieldobtaining materialout paramHelperspartprintMsgprintlnred resetButtonsession setButtonsetConstraintssetDefaultButtonsetDefaultCloseOperation setEditable setForeground setLayoutsetMinimumSizesetPreferredSizesetSizesetText showExceptiontable tablePanetitletoStringupdateMaterialweightxweighty!'X A@KI!#WJE?DY K*(Y5 ?*\*Y*k*+g*,b*-a*Y* v*T*¶q*L6 3#-46"7'8,91:7;<=F?J/I*(Y5?*\*Y*k*+g**bb*,a*v*T*¶q*L2 G#-HJ"K*L/M5N:PDRHD*cO *WM*,UN,Ydd9o,Y9p*Y*=JY4N*N-nY3::O:Y:[XyzS-i*NHW**Y6u*uY2nzS-*ui*N*uHW-Y8:z-i*NHWO:Y:[S-i*NHW*Yz)YBHW QHW*.Y7_**_VR*_l*_HW QHW*%YA^*^Y*<I*^HW*x*Y*aDt* Y*aCt*u,Y*t>HWY*;:*%Y Ah*hI*%Y Af*fI*%YAZ*ZI*%YAM*MI*%YAG*GIPHW*hHWPHW*fHWPHW*ZHWPHW*MHWPHW*GHWPHW,*hj&IXY [\-_9bAcIdRkUmZojppqvr|stuxy{|}~ %4?JU]gr  -6CLU_hr{V F3`!Y@*Kwd QO[Q**bE]*]*_em*_r)*_*Rm*_*]Fr L*+ sEH2 '*5EHIPPK )u.pfcImport.class-qJYZ[\]^_`abghijkm % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 F; FD GO I= K: LP M9 NC R? TE UE V> XA dB e< f8 lS oD p:()I'()Lcom/ptc/pfc/pfcModel/ImportFeatAttr;()Ljava/lang/String;()V'(I)Lcom/ptc/pfc/pfcModelItem/ModelItem;(Lcom/ptc/pfc/pfcModel/IntfDataSource;Lcom/ptc/pfc/pfcGeometry/CoordSystem;Lcom/ptc/pfc/pfcModel/ImportFeatAttr;)Lcom/ptc/pfc/pfcFeature/Feature;'(Lcom/ptc/pfc/pfcModel/OperationType;)VO(Lcom/ptc/pfc/pfcModelItem/ModelItemType;)Lcom/ptc/pfc/pfcModelItem/ModelItems;b(Lcom/ptc/pfc/pfcSolid/Solid;Ljava/lang/String;Ljava/lang/String;)Lcom/ptc/pfc/pfcFeature/Feature;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;(Ljava/lang/Object;)Z:(Ljava/lang/String;)Lcom/ptc/pfc/pfcModel/IntfNeutralFile;(Ljava/lang/String;)V(Z)V ADD_OPERATIONCodeCreateImportFeatException Occured:GetNameITEM_COORD_SYSImportFeatAttr_CreateIntfNeutralFile_Create$Lcom/ptc/pfc/pfcModel/OperationType;(Lcom/ptc/pfc/pfcModelItem/ModelItemType;LineNumberTable ListItemsLjava/io/PrintStream; SetJoinSurfs SetMakeSolid SetOperation SourceFileappendcom/ptc/cipjava/jxthrowable#com/ptc/pfc/pfcGeometry/CoordSystem#com/ptc/pfc/pfcModel/ImportFeatAttr"com/ptc/pfc/pfcModel/OperationTypecom/ptc/pfc/pfcModel/pfcModel"com/ptc/pfc/pfcModelItem/ModelItem'com/ptc/pfc/pfcModelItem/ModelItemOwner&com/ptc/pfc/pfcModelItem/ModelItemType#com/ptc/pfc/pfcModelItem/ModelItemscom/ptc/pfc/pfcSolid/SolidcreateImportFeatureFromDataFileequalsget getarraysizejava/io/PrintStreamjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/lang/Systemout pfcImportpfcImport.javaprintlntoString! F;H*Q c@H ::-:+:6 ( , :  !Ը:+:: "Y $#y|QN 0<?LQY a!k#y|%~&)WnPK )u.}#RangeIncrementalParameterType.class-d@BCGKLMOQ\] ! " # $ % & ' ' ( ) * + , - . / 0 1 2?PbM ?8 ?9 ?: ?; ?< ?= S3 TD WD X4 Y5 Z5 [6 ^H _D `D aF cJ()D()I(Ljava/lang/Number;)V(Ljava/lang/Object;)V(Ljava/lang/Object;)Z(Ljava/lang/String;DD)V(Ljava/lang/String;I)V(Ljava/lang/String;II)V*(Ljava/lang/String;Ljava/lang/Object;DDD)V)(Ljava/lang/String;Ljava/lang/Object;II)V((Ljava/lang/String;Ljava/lang/String;I)V([Ljava/lang/Object;)VBaseParameterHelperCodeCustomParameterTypeCustomParameterTypeExceptionD ExceptionsIIncompatibleRangeExceptionLCustomParameterTypeException;LineNumberTableLjava/lang/String;NotEnoughValsSuppliedExceptionNotOnIncrementExceptionRangeIncrementalParameterType"RangeIncrementalParameterType.javaRangeParameterType SourceFileUnsupportedValueTypeException checkValue doubleValueepsilon getEpsilon getIncrement incrementintValue isInRange isOnIncrement isValidTypejava/lang/Doublejava/lang/Number lastExceptionmaximumminimumproeTypesetRangeValuestypeName!WDTD?=A/*+,*I;m8ER7Ad$*+*+ *+ *M*,I&   "U3A*IiV3A*I_Z5A |***=*>+dpY*+*8+*g*s**kY*+*** Y** I.  "#.%/'7*R+k-l0Eb>A+Y*++2 M+2 N+2 :*,*-*+*+2 :***Y*** I:DEGH#I+K3L;MDORQZRcToUAEPNPK )u.ޏ2! ! RangeParameterType.class-hBDEIMNOPS`     ! " # $ % & ' ( ) * + , - . A1 A9 A: A; A< A= W/ Z8 ]0 ^4 _6 aJ bF cF d@ eH f? gL()D()I()V()[Ljava/lang/Object;(I)Z(Ljava/lang/Number;)V&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/Object;)V(Ljava/lang/Object;)Z'(Ljava/lang/String;)[Ljava/lang/String;(Ljava/lang/String;DD)V(Ljava/lang/String;I)V(Ljava/lang/String;II)V)(Ljava/lang/String;Ljava/lang/Object;DI)V)(Ljava/lang/String;Ljava/lang/Object;II)V((Ljava/lang/String;Ljava/lang/String;I)V([Ljava/lang/Object;)V)([Ljava/lang/String;I)[Ljava/lang/Object;BaseParameterHelperCodeCustomParameterTypeCustomParameterTypeExceptionD ExceptionsIIncompatibleRangeExceptionLCustomParameterTypeException;LineNumberTableLjava/lang/String;NotEnoughValsSuppliedExceptionOutOfRangeExceptionParamCellEditorRangeParameterTypeRangeParameterType.java SourceFileUnsupportedValueTypeException checkType checkValuecommitNewValue doubleValue getMaximum getMinimumgetStringArraygetTableCellEditorComponentType getUIValuesintValue isInRange isValidTypejava/lang/Number lastExceptionmaximumminimumparseStringValuesproeTypesetRangeValuestypeName!cFbF A>CU%* *+**,:*:*Kcf glmo$cGT3CGKEFG HIJKU7CX*+*+ *M*,K"   V5C+K=X/C*KY/C*K[0CKT\2CK\^4C*>*=*>+Y*++Y*+*@+*Y*+*+*Y*+* Y** K>!"+$3%B'C)K+W,i.u/14Gf?CT+Y*++2 M+2 N*,*-**Y*** K& {|~#+3?SwGRQPK )u.kV89&&SaveChecker.class-e=>DEHIPUZcFJNRSTVWXY $ % & ' ( ) * + , - . / 0 1 2 <5 <7 <9 @3 L6 M: O5 Q8 [C \9 ]9 ^A _5 `; d4"()Lcom/ptc/pfc/pfcSession/Session;()Ljava/lang/String;()V(Lcom/ptc/pfc/pfcCommand/UICommand;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V#(Lcom/ptc/pfc/pfcSession/Session;)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)Vf(Ljava/lang/String;Lcom/ptc/pfc/pfcCommand/UICommandActionListener;)Lcom/ptc/pfc/pfcCommand/UICommand;*(Ljava/lang/Throwable;Ljava/lang/String;)V ApplicationsApplications.psh_util_pprocCodeGetProESession Lcom/ptc/pfc/pfcSession/Session;LineNumberTableLjava/io/PrintStream;Perform_Release_ChecksReady_for_Release_Check SaveCheckerSaveChecker.java SaveChecker: SaveDemo SaveListener SourceFile UIAddButtonUICreateCommandUIHelper addButtonadding release check buttonappendcom/ptc/cipjava/jxthrowablecom/ptc/pfc/pfcGlobal/pfcGlobalcom/ptc/pfc/pfcSession/Sessiongetting Pro/E sessionjava/io/PrintStreamjava/lang/Objectjava/lang/StringBufferjava/lang/System msg_save.txtoutprintMsgprintlnsessionsetLookAndFeel showExceptionstartstopstoppedtoString!  ^A<5?*B O5?3  Y K *  K*"(+BB "#$%&!'#"(+*,+2 \9?3Y*#B 0/ a5?S K*"! B"    b5?" B KGPK *u. Zf  SaveListener.class-~q ? ? ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ pc ph pl ta u] v^ w_ {` }x j k o e c m d b \ l | l l f y c n i \ b()I()Lcom/ptc/pfc/pfcModel/Model;(()Lcom/ptc/pfc/pfcModel/ModelDescriptor;"()Lcom/ptc/pfc/pfcModel/ModelType;'()Lcom/ptc/pfc/pfcModelItem/Parameters; ()Lcom/ptc/pfc/pfcPart/Material;()Ljava/lang/String;()V'(I)Lcom/ptc/pfc/pfcModelItem/Parameter;`(Lcom/ptc/pfc/pfcModelItem/ParameterOwner;Lcom/ptc/pfc/pfcModelItem/Parameter;)LParameterHelper;(Lcom/ptc/pfc/pfcPart/Part;)V#(Lcom/ptc/pfc/pfcSession/Session;)VO(Lcom/ptc/pfc/pfcSession/Session;Lcom/ptc/pfc/pfcPart/Part;[LParameterHelper;)V<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V(Ljava/lang/Object;)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;)Z*(Ljava/lang/Throwable;Ljava/lang/String;)V([Ljava/lang/Object;)VBaseParameterHelperCode ExceptionsGetCurrentMaterialGetCurrentModelGetDescrGetType Lcom/ptc/pfc/pfcModel/ModelType; Lcom/ptc/pfc/pfcSession/Session;LineNumberTable ListParamsLjava/io/PrintStream;MDL_PARTModel must be a PartNo current model OnCommand ParamWindowParameterHelperRelease Checking Error SaveListenerSaveListener.javaSaveListener:  SourceFileUIHelper addElementappend cmp_paramscom/ptc/cipjava/jxthrowable5com/ptc/pfc/pfcCommand/DefaultUICommandActionListenercom/ptc/pfc/pfcModel/Model$com/ptc/pfc/pfcModel/ModelDescriptorcom/ptc/pfc/pfcModel/ModelType'com/ptc/pfc/pfcModelItem/ParameterOwner#com/ptc/pfc/pfcModelItem/Parameterscom/ptc/pfc/pfcPart/Part"com/ptc/pfc/pfcSession/BaseSession config_paramscopyIntocreatecreateddisposeequalsIgnoreCaseget getProeName getarraysizejava/awt/Dialogjava/awt/Framejava/io/PrintStreamjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/lang/Throwablejava/util/Vectorjavax/swing/JOptionPanemsgBoxoutperforming release checksprintMsgprintln processPartsessionshow showExceptionshowMessageDialogsizetoString ypgr3* *+96z crB*9&L+ 4.+'(* 4*+8 L+;7:z6  ',/7:; A lr;Y!*<zFGH I FE lr35Y$*,>7z BAfr +%M+)N-36Y":6<-1:+.:$2020 += :- Y*9+#::/zN&)*+,#-+.3/80E1R3Y,c9k8m:t<=>$sPK *u.g"SelectBox$SymMouse.class-)#$%        " ' (()Ljava/lang/Object;()V(LSelectBox;)V(Ljava/awt/event/MouseEvent;)V(Z)VCode InnerClasses LSelectBox;LineNumberTableLjavax/swing/JButton;OKAY SelectBoxSelectBox$SymMouseSelectBox.java SourceFileSymMouse Synthetic getSourcejava/awt/Componentjava/awt/event/MouseAdapterjava/util/EventObject mousePressed setVisiblethis$0 (!2 **+ jj j&=+M,*  *  nopl  PK *u.Gq·  SelectBox$SymWindow.class-      ()V(LSelectBox;)V(Ljava/awt/event/WindowEvent;)V(Z)VCode InnerClasses LSelectBox;LineNumberTable SelectBoxSelectBox$SymWindowSelectBox.java SourceFile SymWindow Syntheticjava/awt/Componentjava/awt/event/WindowAdapter setVisiblethis$0 windowClosing  2 **+bb b % * fd PK *u.$`V* * SelectBox.class-q M M M N O P P Q R S T T !T U V W X Y Z [ \ ] ^ _ ` a b c d #e !f g h i j k l m n o p w y z { | } x u r u s v w t w ~  t  is not found()Ljava/awt/Component;()Ljava/awt/Container;()Ljava/lang/String;()Ljavax/swing/Box;()Ljavax/swing/JRootPane;()V(C)Ljava/lang/StringBuffer;(I)V(II)V(LSelectBox;)V*(Ljava/awt/Component;)Ljava/awt/Component;)(Ljava/awt/Component;Ljava/lang/Object;)V;(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;)V>(Ljava/awt/Component;Ljava/lang/Throwable;Ljava/lang/String;)V(Ljava/awt/Dimension;)V(Ljava/awt/Font;)V%(Ljava/awt/Frame;Ljava/lang/String;)V7(Ljava/awt/Frame;Ljava/lang/String;Ljava/lang/String;)V&(Ljava/awt/Frame;Ljava/lang/String;Z)V(Ljava/awt/LayoutManager;)V(Ljava/awt/Window;)V!(Ljava/awt/event/MouseListener;)V"(Ljava/awt/event/WindowListener;)V(Ljava/io/Reader;)V&(Ljava/lang/Object;)Ljava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;II)V(Z)V.matCenterCloseCodeCourierFile:  InnerClassesLineNumberTableLjavax/swing/JButton;Ljavax/swing/JTextArea;Material File: OKAY SelectBoxSelectBox$SymMouseSelectBox$SymWindowSelectBox.java SourceFileSymMouse SymWindowUIHelperaddaddMouseListeneraddWindowListenerappend centerWindowcreateHorizontalBoxcreateHorizontalGluecreateVerticalBoxgetContentPane getRootPanejava/awt/BorderLayoutjava/awt/Componentjava/awt/Containerjava/awt/Dialogjava/awt/Dimension java/awt/Fontjava/awt/Windowjava/io/BufferedReaderjava/io/FileNotFoundExceptionjava/io/FileReaderjava/io/IOExceptionjava/lang/Stringjava/lang/StringBufferjavax/swing/AbstractButtonjavax/swing/Boxjavax/swing/JButtonjavax/swing/JComponentjavax/swing/JDialogjavax/swing/JRootPanejavax/swing/JSeparatorjavax/swing/JTextAreajavax/swing/SwingConstantsjavax/swing/text/JTextComponentpackreadLinereading material file  setEditablesetFont setLayoutsetMinimumSizesetPreferredSizesetTextshowshowErrorMessage showExceptionshowMaterialFile textArea1toStringvalueOf! h*+,,*>:=:Ydd(DY1(E Y$C<:4*!Y-0J*JA*JY 1B*J3W Y'3W::3W*Y&2*2F;3W*23W;3W* Y**6*2 Y*)5*?*9f $6%B&G'P)\*d+w,.0123456:;>? 9Y+L/8KMYY,.-NY%:8W 7W-@Y: Y*Y/,8KK+GFW*Y/,88KY/,8KHN*-Y/,8KIjmjfDEH#G$I-K0M8N@KJQ_RdQgSjEmUnWoXYWE[]^]B PK *u.-m11UIHelper$1.class-" !       ()Ljava/lang/String;()V(Ljava/io/File;)Z(Ljava/lang/String;)Z.parCode InnerClassesLineNumberTableParameter files (*.par) SourceFile Synthetic UIHelper$1 UIHelper.javaacceptendsWithgetDescriptiongetName java/io/Filejava/lang/String"javax/swing/filechooser/FileFilter0*" +   PK *u.O8UIHelper.class-  ` !` $` a )b c *d e &e f g h i )j &k &l &m *n o p $q +r "s t u )v w +x y z { '| } ~ ( (   )  +    * ) )  & ( %                *** Stack Trace:  Bad argument:  Pro/TK error code:  Pro/TK function:  Type:  ()I()Ljava/awt/Dimension;()Ljava/awt/Toolkit;()Ljava/io/File;()Ljava/lang/Class;()Ljava/lang/String;()V(I)Ljava/lang/StringBuffer;(II)V(Ljava/awt/Component;)I0(Ljava/awt/Component;)Ljavax/swing/JFileChooser;<(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V=(Ljava/awt/Component;Ljava/lang/String;)Ljavax/swing/JDialog;;(Ljava/awt/Component;Ljava/lang/String;Ljava/lang/String;)V>(Ljava/awt/Component;Ljava/lang/Throwable;Ljava/lang/String;)V-(Ljava/awt/Component;[LBaseParameterHelper;)Z<(Ljava/awt/Component;[Ljava/lang/String;Ljava/lang/String;)V(Ljava/awt/Point;)V(Ljava/awt/Window;)V(Ljava/io/File;)V(Ljava/io/PrintWriter;)V(Ljava/io/Writer;)V&(Ljava/lang/Object;)Ljava/lang/String;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;(Ljava/lang/Object;I)V,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V'(Ljava/lang/String;Ljava/lang/String;)V(Ljava/lang/Throwable;)V*(Ljava/lang/Throwable;Ljava/lang/String;)V'(Ljavax/swing/filechooser/FileFilter;)V+([LBaseParameterHelper;Ljava/lang/String;)Z([Ljava/lang/String;)V(([Ljava/lang/String;Ljava/lang/String;)VBaseParameterHelperCodeError ExceptionException in PFC method =Failed to set Java native look&feel. Using default look&feel.IFailed to set platform native look&feel. Trying cross-platform look&feel.GetArgumentName GetErrorCode GetMethodNameGetToolkitFunctionNameI InnerClassesLineNumberTableLjava/io/PrintStream; SourceFileUIHelper UIHelper$1 UIHelper.java UIHelper: WarningaddChoosableFileFilterappend centerWindowcom/ptc/cipjava/jxthrowable&com/ptc/pfc/pfcExceptions/XBadArgument$com/ptc/pfc/pfcExceptions/XInAMethodcom/ptc/pfc/pfcExceptions/XPFC'com/ptc/pfc/pfcExceptions/XToolkitError createDialogcreateParamFileChooserexception in showExceptiongetAbsolutePathgetClass$getCrossPlatformLookAndFeelClassNamegetNamegetPath getScreenSizegetSelectedFilegetSizegetSystemLookAndFeelClassName getToolkitheightjava/awt/Componentjava/awt/Dialogjava/awt/Dimensionjava/awt/Pointjava/awt/Toolkitjava/awt/Window java/io/Filejava/io/PrintStreamjava/io/PrintWriterjava/io/StringWriterjava/lang/Classjava/lang/Exceptionjava/lang/Objectjava/lang/Stringjava/lang/StringBufferjava/lang/Systemjava/lang/Throwablejavax/swing/JFileChooserjavax/swing/JOptionPanejavax/swing/UIManagerloadParamsFromFileoutpackprintMsgprintStackTraceprintlnsaveParamsToFile setFileFilter setLocationsetLookAndFeelshowshowErrorMessage showExceptionshowMessageDialogshowOpenDialogshowSaveDialogshowWarningMessagestoStringvalueOfwidth!$*. a1*HDL*FMY+_,_dl+I,Idl/N*-S23 45'4+600 [/Y,L)YYY3?30M,+9,+R,"#(- U!*>M,*Y>,E:+CJ"  3K&Y 4*<\P  U!*>M,*Z>,E:+CQ"  z"GTW MAT W M ##6   "%$"')"! W'N,&Y-^4<,<\N*+-X=>?@"A#@&: #*V KI #*+V FD :+]N!Y-:+ Y1O :,&Y^4<,<\:+:+&Y 4+7<\:+5&Y^4<+8<<+6:\:M+&&Y^4<+5<\:#&Y^4<+@B<\:N:MN*Y&Y-^4<;\2:*=:LUD*ghikl#m=oDqDsGtNvWwavfxmz~{|}|zxqq #%/49d #*W  #*+W   O'N,&Y-^4<,<\N*+-XQRST&N  #*[ ^\  #*+[ YW PK *u.ҽUnassignedParamTable.class-M89<056:CDEF         ! " # $ % /- /. =, >* ?& @) A( B+ G4 H2 J- K- L'()Ljava/lang/Class;()Ljava/lang/String;(I)LBaseParameterHelper;(I)Ljava/lang/Object;(II)I(Ljava/lang/Object;)Z,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V([LBaseParameterHelper;)VBaseParameterHelperCodeLParamTableModel;LineNumberTableLjava/io/PrintStream; ParamTableParamTableModel SourceFileThe new value is null.8The parameter value is set to the default for that type.UnassignedParamTableUnassignedParamTable.javaUnassignedParamTable: append checkValidgetClass getNewValuegetParameterHelper isUnassignedjava/io/PrintStreamjava/lang/Objectjava/lang/StringBufferjava/lang/Systemout paramModelprintMsgprintlnsetInvalidMessagetoString!/.1"*+ 3 >*1y=N:- -:- *3*   $-46 I-13 Y *3 #!7;PK *u.@#UnsupportedValueTypeException.class-)!"&        $ % ' (/ is not supported by the custom parameter type ()Ljava/lang/String;(I)Ljava/lang/String;,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)V(Ljava/lang/String;I)V.BaseParameterHelperCodeCustomParameterTypeExceptionILineNumberTable SourceFileThe parameter type UnsupportedValueTypeException"UnsupportedValueTypeException.javaappendgetTypeNameForTypejava/lang/StringBuffertoStringtype1(K+*Y   +  *  % * #PK -u. META-INF/PK -u.35DD+META-INF/MANIFEST.MFPK u.==BaseParameterHelper.javaPK uu.pII>BaseProeParameterHelper.javaPK u.al)XCustomParameterType.javaPK  u.^p5 5 sCustomParameterTypeCreator.javaPK  u.<K==!WCustomParameterTypeException.javaPK u.4!!!!ӁDefaultCellEditor.javaPK u."^(IncompatibleRangeException.javaPK 3 u.qIncompatibleValueException.javaPK Vu.5ŅPInvalidParameterType.javaPK u.zkk ListParameterType.javaPK ku.ET/MaterialCommandListener.javaPK uu.*qk"k"MaterialDialog.javaPK }u.oRf0f0MaterialSearcher.javaPK u.:O  MaterialSelector.javaPK u.P   mMissingCusParamValException.javaPK u.V1''#NotEnoughValsSuppliedException.javaPK u.0L NotInListException.javaPK u.=@NotOnIncrementException.javaPK Y u.csNullValueSuppliedException.javaPK u.TizzOutOfRangeException.javaPK 0u.[9!< ParamCellEditor.javaPK w u.}Up2ParameterHelper.javaPK u.-yFParamTable.javaPK u.XParamTableModel.javaPK u.{6-6-iParamWindow.javaPK  u.]4JnnLpfcImport.javaPK u. "RangeIncrementalParameterType.javaPK u.RangeParameterType.javaPK ͮu.TiSaveChecker.javaPK 0u.^/ǻSaveListener.javaPK au.+\ SelectBox.javaPK u.lj UIHelper.javaPK u.았22>UnassignedParamTable.javaPK E u.xx"UnsupportedValueTypeException.javaPK 'u.Vs""_BaseParameterHelper.classPK 'u. CBaseProeParameterHelper.classPK 'u.Jr  'CustomParameterType.classPK 'u.[LL 3CustomParameterTypeCreator.classPK 'u.Om"q;CustomParameterTypeException.classPK (u.|<DefaultCellEditor$1.classPK (u.dBkADefaultCellEditor$2.classPK (u.#׿YFDefaultCellEditor$3.classPK (u.&OJDefaultCellEditor$EditorDelegate.classPK (u.R]ODefaultCellEditor.classPK (u.lPP `IncompatibleRangeException.classPK (u.G  $cIncompatibleValueException.classPK (u.qa''SfInvalidParameterType.classPK (u.iListParameterType.classPK (u.J+++oMaterialCommandListener.classPK (u. Aȸ_vMaterialDialog$1.classPK (u.uKzMaterialDialog$2.classPK (u.MhQ|MaterialDialog$SymAction.classPK (u.n UUMaterialDialog$SymWindow.classPK (u.PMaterialDialog.classPK )u.& MaterialSearcher$SymAction.classPK )u.