/**
   * The default constructor for SignatureView.
   *
   * @param core
   * @param controller
   * @param model
   */
  public SignatureView(
      final AppletCore core,
      final SignatureWizardController controller,
      final SignatureModel model) {
    super(core, controller, model);

    final BeanAdapter<SignatureModel> beanAdapter = new BeanAdapter<SignatureModel>(model);

    formatValueHolder = new ValueHolder(model.getFormat());
    formatValueHolder.addPropertyChangeListener(new FormatEventListener());

    cadesButton =
        ComponentFactory.createRadioButton(FormatType.CADES, formatValueHolder, FormatType.CADES);
    xadesButton =
        ComponentFactory.createRadioButton(FormatType.XADES, formatValueHolder, FormatType.XADES);
    padesButton =
        ComponentFactory.createRadioButton(FormatType.PADES, formatValueHolder, FormatType.PADES);
    asicsButton =
        ComponentFactory.createRadioButton(FormatType.ASICS, formatValueHolder, FormatType.ASICS);

    packagingValueHolder = new ValueHolder(model.getPackaging());
    packagingValueHolder.addPropertyChangeListener(new PackagingEventListener());

    envelopingButton =
        ComponentFactory.createRadioButton(
            I18N_ENVELOPING, packagingValueHolder, SignaturePackaging.ENVELOPING);
    envelopedButton =
        ComponentFactory.createRadioButton(
            I18N_ENVELOPED, packagingValueHolder, SignaturePackaging.ENVELOPED);
    detachedButton =
        ComponentFactory.createRadioButton(
            I18N_DETACHED, packagingValueHolder, SignaturePackaging.DETACHED);

    levelValue = beanAdapter.getValueModel(SignatureModel.PROPERTY_LEVEL);
    final SelectionInList<String> levels =
        new SelectionInList<String>(new LevelComboBoxModel(), levelValue);
    levelComboBox = ComponentFactory.createComboBox(levels);
  }