Ejemplo n.º 1
0
 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());
   }
 }
Ejemplo n.º 2
0
  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);
    }
  }
Ejemplo n.º 3
0
  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;
  }
Ejemplo n.º 4
0
  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;
  }
Ejemplo n.º 5
0
  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$
  }
Ejemplo n.º 6
0
  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());
      }
    }
  }