Beispiel #1
0
  public ReferralLayerBlock(Layer<?> referral) {
    super(referral);
    this.layer = (VectorLayer) referral;

    final ChangedHandler filterChangedHandler = new FilterChangedHandler();
    dateForm1 = new ReferralDateFilterForm(filterChangedHandler);
    dateForm2 = new ReferralDateFilterForm(filterChangedHandler);

    FeatureInfo featureInfo = layer.getLayerInfo().getFeatureInfo();

    AssociationAttributeInfo statusInfo =
        (AssociationAttributeInfo)
            featureInfo.getAttributesMap().get(KtunaxaConstant.ATTRIBUTE_STATUS);
    AssociationAttributeInfo agencyTypeInfo =
        (AssociationAttributeInfo)
            featureInfo.getAttributesMap().get(KtunaxaConstant.ATTRIBUTE_EXTERNAL_AGENCY_TYPE);
    AssociationAttributeInfo typeInfo =
        (AssociationAttributeInfo)
            featureInfo.getAttributesMap().get(KtunaxaConstant.ATTRIBUTE_TYPE);

    clearStatus.setStartRow(false);
    clearStatus.setEndRow(false);
    clearStatus.addClickHandler(
        new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            status.clearValue();
            filterChangedHandler.onChanged(null);
          }
        });
    clearAgency.setStartRow(false);
    clearAgency.setEndRow(false);
    clearAgency.addClickHandler(
        new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            agency.clearValue();
            filterChangedHandler.onChanged(null);
          }
        });
    clearType.setStartRow(false);
    clearType.setEndRow(false);
    clearType.addClickHandler(
        new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            type.clearValue();
            filterChangedHandler.onChanged(null);
          }
        });

    form.setWidth100();
    status.getItem().setTitle("Status");
    status.getItem().addChangedHandler(filterChangedHandler);
    status.init(statusInfo, new DefaultAttributeProvider(layer, statusInfo.getName()));
    agency.getItem().setTitle("External Agency Type");
    agency.getItem().addChangedHandler(filterChangedHandler);
    agency.init(agencyTypeInfo, new DefaultAttributeProvider(layer, agencyTypeInfo.getName()));
    type.getItem().setTitle("Type");
    type.getItem().addChangedHandler(filterChangedHandler);
    type.init(typeInfo, new DefaultAttributeProvider(layer, typeInfo.getName()));
    form.setNumCols(4);
    form.setFields(
        status.getItem(), clearStatus, agency.getItem(), clearAgency, type.getItem(), clearType);
    addMember(form);
    addMember(dateForm1);
    addMember(dateForm2);
  }