anchor.diff:    oMultiPanelSetup, OMultiPanel,
     mGridEditors, mMaps, mCalendarDialog, mUtility, mMathUtility, mLookupForm,
     mQuickReadOnlyVirtualDataSet, mVirtualDataSet, mVirtualFieldDefs, mNullables,
  -  mISO6346Utility, mVirtualDataSetInterfaces;
  +  mISO6346Utility, mVirtualDataSetInterfaces, mBooleanDataProvider;
   
   resourcestring
     SPropertyColumnTitle = 'Property';
  
positive.code: end;
  
  procedure TmEditingPanel.ExtractFields(aVirtualFields: TmVirtualFieldDefs; aList: TStringList);
  var
    i : integer;
  begin
    aList.Clear;
    for i := 0 to aVirtualFields.Count -1 do
      aList.Add(aVirtualFields.VirtualFieldDefs[i].Name);
  end;
  
  function TmEditingPanel.GetValue(const aName: string): Variant;
  
negative.code: procedure TmEditingPanel.InternalOnEditValue(const aName: string; const aNewDisplayValue : variant; const aNewActualValue: variant);
  begin
    if Assigned(FOnEditValueEvent) then
      FOnEditValueEvent(Self, aName, aNewDisplayValue, aNewActualValue);
  end;
  
  procedure TmEditingPanel.InternalOnValidateValue(const aName: string; const aOldDisplayValue: String; var aNewDisplayValue: String; const aOldActualValue: Variant; var aNewActualValue: variant);
  begin
    if Assigned(FOnValidateValueEvent) then
      FOnValidateValueEvent(Self, aName, aOldDisplayValue, aNewDisplayValue, aOldActualValue, aNewActualValue);
  end;
  
  procedure TmEditingPanel.InternalInitProviderForLookup(const aName : string; aDatasetProvider: TReadOnlyVirtualDatasetProvider; aFieldsList: TStringList; out aKeyFieldName, aDisplayLabelFieldName: string);
  