Exemplo n.º 1
0
        //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;
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
        public virtual void RemoveFileWrapper(NSFileWrapper doc)
        {
            GSFileWrapperDirectoryTypeCheck();

            ((NSDictionary)_wrapperData).RemoveObjectsForKeys(((NSDictionary)_wrapperData).AllKeysForObject(doc));
        }
Exemplo n.º 6
0
        public virtual NSString KeyForFileWrapper(NSFileWrapper doc)
        {
            GSFileWrapperDirectoryTypeCheck();

            return (NSString)((NSDictionary)_wrapperData).AllKeysForObject(doc).ObjectAtIndex(0);
        }