//public virtual override InitForURL(NSURL forUrl, NSURL url, NSString type, ref NSError error) //{ //} public override bool ReadFromFileWrapper(NSFileWrapper fileWrapper, NSString typeName, ref NSError outError) { NSData data = fileWrapper.RegularFileContents(); if (data != null) { var unarc = GSXibKeyedUnarchiver.Alloc().InitForReadingWithData(data); SystemTarget = unarc.DecodeIntForKey(@"IBDocument.SystemTarget"); SystemVersion = (NSString)unarc.DecodeObjectForKey(@"IBDocument.SystemVersion"); InterfaceBuilderVersion = (NSString)unarc.DecodeObjectForKey(@"IBDocument.InterfaceBuilderVersion"); AppKitVersion = (NSString)unarc.DecodeObjectForKey(@"IBDocument.AppKitVersion"); HIToolboxVersion = (NSString)unarc.DecodeObjectForKey(@"IBDocument.HIToolboxVersion"); PluginVersions = (NSMutableDictionary)unarc.DecodeObjectForKey(@"IBDocument.PluginVersions"); IntegratedClassDependencies = (NSArray)unarc.DecodeObjectForKey(@"IBDocument.IntegratedClassDependencies"); PluginDependencies = (NSArray)unarc.DecodeObjectForKey(@"IBDocument.PluginDependencies"); Metadata = (NSMutableDictionary)unarc.DecodeObjectForKey(@"IBDocument.Metadata"); RootObjects = (NSMutableArray)unarc.DecodeObjectForKey(@"IBDocument.RootObjects"); Objects = (IBObjectContainer)unarc.DecodeObjectForKey(@"IBDocument.Objects"); Classes = (IBClassDescriber)unarc.DecodeObjectForKey(@"IBDocument.Classes"); LocalizationMode = unarc.DecodeIntForKey(@"IBDocument.LocalizationMode"); TargetRuntimeIdentifier = (NSString)unarc.DecodeObjectForKey(@"IBDocument.TargetRuntimeIdentifier"); PluginDeclaredDevelopmentDependencies = (NSMutableDictionary)unarc.DecodeObjectForKey(@"IBDocument.PluginDeclaredDevelopmentDependencies"); PluginDeclaredDependenciesTrackSystemTargetVersion = unarc.DecodeBoolForKey(@"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion"); DefaultPropertyAccessControl = unarc.DecodeIntForKey(@"IBDocument.DefaultPropertyAccessControl"); LastKnownImageSizes = (NSMutableDictionary)unarc.DecodeObjectForKey(@"IBDocument.LastKnownImageSizes"); } return true; }
public virtual bool ReadFromFileWrapper(NSFileWrapper fileWrapper, NSString typeName, ref NSError outError) { if (Objc.Overridden(this.GetType(), "LoadFileWrapperRepresentation")) { outError = null; return this.LoadFileWrapperRepresentation(fileWrapper, typeName); } if (fileWrapper.IsRegularFile()) { return this.ReadFromData(fileWrapper.RegularFileContents(), typeName, ref outError); } outError = null; return false; }
public virtual bool LoadFileWrapperRepresentation(NSFileWrapper wrapper, NSString type) { if (wrapper.IsRegularFile()) { return this.LoadDataRepresentation(wrapper.RegularFileContents(), type); } /* * This even happens on a symlink. May want to use * -stringByResolvingAllSymlinksInPath somewhere, but Apple doesn't. */ NS.Log(@"%@ must be overridden if your document deals with file packages.", "LoadFileWrapperRepresentation"); return false; }
public virtual NSString AddFileWrapper(NSFileWrapper doc) { NSString key; GSFileWrapperDirectoryTypeCheck(); key = doc.PreferredFilename(); if (key == null || key.IsEqualToString("")) { NSException.Raise("NSInvalidArgumentException", "Adding file wrapper with no preferred filename."); return null; } if (((NSDictionary)_wrapperData).ObjectForKey(key) != null) { // FIXME - handle duplicate names } ((NSDictionary)_wrapperData).SetObjectForKey(doc, key); return key; }
public virtual void RemoveFileWrapper(NSFileWrapper doc) { GSFileWrapperDirectoryTypeCheck(); ((NSDictionary)_wrapperData).RemoveObjectsForKeys(((NSDictionary)_wrapperData).AllKeysForObject(doc)); }
public virtual NSString KeyForFileWrapper(NSFileWrapper doc) { GSFileWrapperDirectoryTypeCheck(); return (NSString)((NSDictionary)_wrapperData).AllKeysForObject(doc).ObjectAtIndex(0); }