private void setExpressionProvider() { ExpressionProvider provider = outputDescriptorProvider.getExpressionProvider(); allExpression.setExpressionProvider(provider); allExpression.setInput(this.getInput()); for (int i = 0; i < outputDescriptorProvider.getTypeInfo().length; i++) { ExpressionComposite expressionComposite = ((ExpressionComposite) specExpressions.get(outputDescriptorProvider.getTypeInfo()[i])); expressionComposite.setExpressionProvider(provider); expressionComposite.setInput(this.getInput()); } }
protected void saveHideInfo() { // if the user selects specRadio, the UI must refresh to show the // specific outputs. setOutputInfo(); if (allRadio.getSelection()) { try { outputDescriptorProvider.saveAllOutput(allExpression.getExpression()); } catch (Exception e) { ExceptionHandler.handle(e); } } else { boolean[] selections = new boolean[outputDescriptorProvider.getTypeInfo().length]; Expression[] expressions = new Expression[outputDescriptorProvider.getTypeInfo().length]; for (int i = 0; i < outputDescriptorProvider.getTypeInfo().length; i++) { selections[i] = ((Button) specCheckButtons.get(outputDescriptorProvider.getTypeInfo()[i])) .getSelection(); expressions[i] = ((ExpressionComposite) specExpressions.get(outputDescriptorProvider.getTypeInfo()[i])) .getExpression(); } try { outputDescriptorProvider.saveSpecialOutput(selections, expressions); } catch (Exception e) { ExceptionHandler.handle(e); } hideCheckbox.setSelection(true); setOutputEnable(true); } }
private Composite buildUIForSpecific(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(3, false); container.setLayout(layout); ReportEngine engine = new ReportEngine(new EngineConfig()); String[] typeInfo = engine.getSupportedFormats(); specCheckButtons = new HashMap(); specExpressions = new HashMap(); for (int i = 0; i < typeInfo.length; i++) { Button btn = FormWidgetFactory.getInstance().createButton(container, SWT.CHECK, isFormStyle()); btn.setText(typeInfo[i]); btn.setSelection(false); Label label = FormWidgetFactory.getInstance().createLabel(container, isFormStyle()); label.setText(Messages.getString("VisibilityPage.Label.Expression")); // $NON-NLS-1$ ExpressionComposite expression = new ExpressionComposite(container, isFormStyle()); GridData data = new GridData(); data.grabExcessHorizontalSpace = true; data.horizontalAlignment = GridData.FILL; expression.setLayoutData(data); specCheckButtons.put(typeInfo[i], btn); specExpressions.put(typeInfo[i], expression); btn.addSelectionListener(listener); expression.addListener( SWT.Modify, new Listener() { public void handleEvent(Event event) { saveHideInfo(); } }); } return container; }
private Composite buildUIForAlloutput(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(2, false); container.setLayout(layout); Label label = FormWidgetFactory.getInstance().createLabel(container, isFormStyle()); label.setText(Messages.getString("VisibilityPage.Label.Expression")); // $NON-NLS-1$ allExpression = new ExpressionComposite(container, isFormStyle()); allExpression.addListener( SWT.Modify, new Listener() { public void handleEvent(Event event) { saveHideInfo(); } }); GridData data = new GridData(); data.grabExcessHorizontalSpace = true; data.horizontalAlignment = GridData.FILL; allExpression.setLayoutData(data); return container; }
private void resetUI() { allRadio.setSelection(true); specRadio.setSelection(false); setOutputInfo(); for (int i = 0; i < outputDescriptorProvider.getTypeInfo().length; i++) { ((Button) specCheckButtons.get(outputDescriptorProvider.getTypeInfo()[i])) .setSelection(false); ((ExpressionComposite) specExpressions.get(outputDescriptorProvider.getTypeInfo()[i])) .setExpression(new Expression("true", UIUtil.getDefaultScriptType())); // $NON-NLS-1$ } allExpression.setExpression( new Expression("true", UIUtil.getDefaultScriptType())); // $NON-NLS-1$ }
private void doLoad() { setExpressionProvider(); if (!outputDescriptorProvider.isEnabled()) { hideCheckbox.setSelection(false); hideCheckbox.setEnabled(false); setOutputEnable(false); return; } else hideCheckbox.setEnabled(true); if (needResetUI()) { hideCheckbox.setEnabled(true); Iterator visibilities = outputDescriptorProvider.getVisibilityRulesIterator(); hideCheckbox.setSelection((visibilities != null) && visibilities.hasNext()); setOutputEnable(hideCheckbox.getSelection()); if (visibilities == null) return; while (visibilities.hasNext()) { Object obj = visibilities.next(); String format = outputDescriptorProvider.getFormat(obj); Expression expression = outputDescriptorProvider.getExpression(obj); if (expression == null) expression = new Expression(null, UIUtil.getDefaultScriptType()); // $NON-NLS-1$ if (outputDescriptorProvider.isFormatTypeAll(format)) { allRadio.setSelection(true); allExpression.setExpression(expression); specRadio.setSelection(false); break; } allRadio.setSelection(false); specRadio.setSelection(true); if (specCheckButtons.containsKey(format)) ((Button) specCheckButtons.get(format)).setSelection(true); if (specExpressions.containsKey(format)) ((ExpressionComposite) specExpressions.get(format)).setExpression(expression); } setOutputInfo(); setOutputEnable(hideCheckbox.getSelection()); for (int i = 0; i < outputDescriptorProvider.getTypeInfo().length; i++) { ExpressionComposite expr = (ExpressionComposite) specExpressions.get(outputDescriptorProvider.getTypeInfo()[i]); Button check = (Button) specCheckButtons.get(outputDescriptorProvider.getTypeInfo()[i]); expr.setEnabled(check.getEnabled() && check.getSelection() && hideCheckbox.getSelection()); } } else { for (int i = 0; i < outputDescriptorProvider.getTypeInfo().length; i++) { ((Button) specCheckButtons.get(outputDescriptorProvider.getTypeInfo()[i])) .setSelection(false); ((ExpressionComposite) specExpressions.get(outputDescriptorProvider.getTypeInfo()[i])) .setExpression(new Expression("true", UIUtil.getDefaultScriptType())); // $NON-NLS-1$ } Iterator visibilities = outputDescriptorProvider.getVisibilityRulesIterator(); while (visibilities.hasNext()) { Object obj = visibilities.next(); String format = outputDescriptorProvider.getFormat(obj); Expression expression = outputDescriptorProvider.getExpression(obj); if (expression == null) expression = new Expression(null, UIUtil.getDefaultScriptType()); if (specCheckButtons.containsKey(format)) ((Button) specCheckButtons.get(format)).setSelection(true); if (specExpressions.containsKey(format)) ((ExpressionComposite) specExpressions.get(format)).setExpression(expression); } for (int i = 0; i < outputDescriptorProvider.getTypeInfo().length; i++) { ExpressionComposite expr = (ExpressionComposite) specExpressions.get(outputDescriptorProvider.getTypeInfo()[i]); Button check = (Button) specCheckButtons.get(outputDescriptorProvider.getTypeInfo()[i]); expr.setEnabled(check.getEnabled() && check.getSelection() && hideCheckbox.getSelection()); } } }