public void init() { if (initialized) { return; } initialized = true; final DefaultComboBoxModel<ExpressionMetaData> model = new DefaultComboBoxModel<ExpressionMetaData>(); model.addElement(null); final ExpressionMetaData[] datas = ExpressionRegistry.getInstance().getAllExpressionMetaDatas(); for (int i = 0; i < datas.length; i++) { final ExpressionMetaData expressionMetaData = datas[i]; if (expressionMetaData.isHidden()) { continue; } if (WorkspaceSettings.getInstance().isShowExpertItems() == false && expressionMetaData.isExpert()) { continue; } if (WorkspaceSettings.getInstance().isShowDeprecatedItems() == false && expressionMetaData.isDeprecated()) { continue; } if (StructureFunction.class.isAssignableFrom(expressionMetaData.getExpressionType())) { model.addElement(expressionMetaData); } } expressionEditor.setModel(model); }
private static String printBundleLocation(final ExpressionMetaData metaData) { if (metaData instanceof AbstractMetaData) { final AbstractMetaData metaDataImpl = (AbstractMetaData) metaData; return metaDataImpl.getBundleLocation().replace('.', '/') + ".properties"; } return metaData.getExpressionType().getCanonicalName().replace('.', '/') + "Bundle.properties"; }
/** * Returns the value contained in the editor. * * @return the value contained in the editor */ public Object getCellEditorValue() { final Object o = this.expressionEditor.getSelectedItem(); if (o instanceof ExpressionMetaData) { try { final ExpressionMetaData emd = (ExpressionMetaData) o; if (StructureFunction.class.isAssignableFrom(emd.getExpressionType())) { return emd.getExpressionType().newInstance(); } else { return null; } } catch (Throwable t) { UncaughtExceptionsModel.getInstance().addException(t); return null; } } else if (o instanceof StructureFunction) { return o; } else { return null; } }
public void contentsChanged(final ListDataEvent e) { final ExpressionMetaData o = (ExpressionMetaData) editModel.getChartExpressionsModel().getSelectedItem(); if (o != null && expressionType.equals(o.getExpressionType())) { putValue("selected", Boolean.TRUE); // NON-NLS putValue(Action.SMALL_ICON, selectedIcon); } else { putValue("selected", Boolean.FALSE); // NON-NLS putValue(Action.SMALL_ICON, standardIcon); } }
/** Invoked when an action occurs. */ public void actionPerformed(final ActionEvent e) { final Window window = LibSwingUtil.getWindowAncestor(carrierPanel); final Object selectedItem = expressionEditor.getSelectedItem(); if (selectedItem instanceof StructureFunction) { final ExpressionPropertiesDialog optionPane; if (window instanceof JFrame) { optionPane = new ExpressionPropertiesDialog((JFrame) window); } else if (window instanceof JDialog) { optionPane = new ExpressionPropertiesDialog((JDialog) window); } else { optionPane = new ExpressionPropertiesDialog(); } final StructureFunction structureFunction = (StructureFunction) selectedItem; final StructureFunction expression = (StructureFunction) optionPane.editExpression(structureFunction, designerContext); if (expression != selectedItem) { expressionEditor.setSelectedItem(expression); } fireEditingStopped(); } else if (selectedItem instanceof ExpressionMetaData) { try { final ExpressionMetaData emd = (ExpressionMetaData) selectedItem; final Expression expression = (Expression) emd.getExpressionType().newInstance(); final ExpressionPropertiesDialog optionPane; if (window instanceof JFrame) { optionPane = new ExpressionPropertiesDialog((JFrame) window); } else if (window instanceof JDialog) { optionPane = new ExpressionPropertiesDialog((JDialog) window); } else { optionPane = new ExpressionPropertiesDialog(); } final Expression resultexpression = optionPane.editExpression(expression, designerContext); if (resultexpression != expression) { expressionEditor.setSelectedItem(resultexpression); } fireEditingStopped(); } catch (Throwable e1) { UncaughtExceptionsModel.getInstance().addException(e1); } } }