function _(AText: WideString): WideString;
begin
result := Translate(AText);
end;
procedure BuildEditor(AEditor: TMetaSchemaModel);
var
AGroup: TMetaSchemaGroup;
AItem: TMetaSchemaItem;
begin
AEditor.Clear;
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('Descriptions');
AGroup.DefaultExpanded := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:Headline';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Description');
AItem.MetaProperty := 'dc:description';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Keywords');
AItem.MetaProperty := 'dc:subject';
AItem.Height := 65;
AItem.InCatalogTree := False;
AItem.IsEnabled := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Rating');
AItem.MetaProperty := 'xmp:Rating';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Color Label');
AItem.MetaProperty := 'xmp:Label';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Description Writer');
AItem.MetaProperty := 'photoshop:CaptionWriter';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Document Title');
AItem.MetaProperty := 'dc:title';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Description Date');
AItem.MetaProperty := 'photoshop:DateCreated';
AItem.InCatalogTree := False;
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('Copyright');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Copyright Status');
AItem.MetaProperty := 'xmpRights:Marked';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Copyright Notice');
AItem.MetaProperty := 'dc:rights';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'xmpRights:UsageTerms';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Original Copyrights');
AItem.MetaProperty := 'photoshop:Source';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Web Statement of Rights');
AItem.MetaProperty := 'xmpRights:WebStatement';
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('Creator');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'dc:creator';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Creator Job Title');
AItem.MetaProperty := 'photoshop:AuthorsPosition';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:CreatorContactInfo';
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('Image Content');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:Scene';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:SubjectCode';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:Location';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:City';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:State';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:CountryCode';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:Country';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Provider / Credit Line');
AItem.MetaProperty := 'photoshop:Credit';
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('Additional');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:Instructions';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:IntellectualGenre';
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.Caption := _('Job Identifier');
AItem.MetaProperty := 'photoshop:TransmissionReference';
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('IPTC Extension');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:AltTextAccessibility';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpCore:ExtDescrAccessibility';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:AddlModelInfo';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:ArtworkOrObject';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:OrganisationInImageCode';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:AboutCvTerm';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:CVterm';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:LocationCreated';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:LocationShown';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:ModelAge';
AItem.RangeFrom := 0;
AItem.RangeTo := 150;
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:OrganisationInImageName';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:PersonInImage';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:PersonInImageWDetails';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:ProductInImage';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:ImageRegion';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:DigImageGUID';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:DigitalSourceType';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:Event';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:RegistryId';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:MaxAvailHeight';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:MaxAvailWidth';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:EmbdEncRightsExpr';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'Iptc4xmpExt:LinkedEncRightsExpr';
AItem.InCatalogTree := False;
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('PLUS');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:ImageSupplier';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:CopyrightOwner';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:Licensor';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:Licensee';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:MinorModelAgeDisclosure';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:ModelReleaseID';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:ModelReleaseStatus';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:PropertyReleaseID';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:PropertyReleaseStatus';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:ImageCreatorImageID';
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'plus:ImageSupplierImageID';
AItem.InCatalogTree := False;
AGroup := AEditor.Groups.Add as TMetaSchemaGroup;
AGroup.GroupName := _('Technical');
AGroup.DefaultExpanded := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:GPSLatitude';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:GPSLongitude';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'tiff:Make';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'tiff:Model';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:DateTimeOriginal';
AItem.IsReadOnly := False;
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:DateTimeDigitized';
AItem.IsReadOnly := False;
AItem.InCatalogTree := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:FNumber';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:FocalLength';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:ExposureTime';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:ISOSpeedRatings';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:MeteringMode';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:ColorSpace';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:ColorMode';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'photoshop:ICCProfile';
AItem.IsReadOnly := True;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'tiff:Orientation';
AItem.IsReadOnly := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'aux:Lens';
AItem.IsReadOnly := False;
AItem := AGroup.Items.Add as TMetaSchemaItem;
AItem.MetaProperty := 'exif:Flash';
AItem.IsReadOnly := True;
end;
var
AEditor: TMetaSchemaModel;
AFileName: WideString;
begin
AFileName := WindowsDesktopDir + 'myeditor.idxmpes';
AEditor := TMetaSchemaModel.Create(nil);
if WideFileExists(AFileName) then
AEditor.Load(AFileName, False);
BuildEditor(AEditor);
AEditor.Save(AFileName, False);
Say2('Editor File is saved as ', AFileName);
end;
|