Inheritance: NSDocument
コード例 #1
0
        public NSObjectDecoder(IBDocument ibDocument, XElement xElement)
        {
            Document = ibDocument;
            XmlElement = xElement;
            AllowsKeyedCoding = true;

            CreateDictionary(xElement);
        }
コード例 #2
0
        public static void Parse(IBDocument ibDocument, XElement xElement)
        {
            NSObjectDecoder nsObjDecoder = new NSObjectDecoder(ibDocument, xElement);

            string keyVal = xElement.Attribute("key").Value.Substring(11);
            switch (keyVal)
            {
                case "SystemTarget":
                    {
                        //ibDocument.SystemTarget = (NSNumber)nsObjDecoder.Create(xElement);
                        ibDocument.SystemTarget = (NSNumber)nsObjDecoder.Create();
                    }
                    break;
                case "SystemVersion":
                    {
                        ibDocument.SystemVersion = (NSString)nsObjDecoder.Create();
                    }
                    break;
                case "InterfaceBuilderVersion":
                    {
                        ibDocument.InterfaceBuilderVersion = (NSString)nsObjDecoder.Create();
                    }
                    break;
                case "AppKitVersion":
                    {
                        ibDocument.AppKitVersion = (NSString)nsObjDecoder.Create();
                    }
                    break;
                case "HIToolboxVersion":
                    {
                        ibDocument.HIToolboxVersion = (NSString)nsObjDecoder.Create();
                    }
                    break;
                case "PluginVersions":
                    {
                        ibDocument.PluginVersions = (NSMutableDictionary)nsObjDecoder.Create();
                    }
                    break;
                case "IntegratedClassDependencies":
                    {
                        ibDocument.IntegratedClassDependencies = (NSArray)nsObjDecoder.Create();
                    }
                    break;
                case "PluginDependencies":
                    {
                        ibDocument.PluginDependencies = (NSArray)nsObjDecoder.Create();
                    }
                    break;
                case "Metadata":
                    {
                        ibDocument.Metadata = (NSMutableDictionary)nsObjDecoder.Create();
                    }
                    break;
                case "RootObjects":
                    {
                        ibDocument.RootObjects = (NSMutableArray)nsObjDecoder.Create();
                        ibDocument.ResolveReferences();
                    }
                    break;
                case "Objects":
                    {
                        ibDocument.Objects = (IBObjectContainer)nsObjDecoder.Create();
                    }
                    break;
                case "Classes":
                    {
                        ibDocument.Classes = (IBClassDescriber)nsObjDecoder.Create();
                    }
                    break;
                case "localizationMode":
                    {
                        ibDocument.LocalizationMode = (NSNumber)nsObjDecoder.Create();
                    }
                    break;
                case "TargetRuntimeIdentifier":
                    {
                        ibDocument.TargetRuntimeIdentifier = (NSString)nsObjDecoder.Create();
                    }
                    break;
                case "PluginDeclaredDevelopmentDependencies":
                    {
                        ibDocument.PluginDeclaredDevelopmentDependencies = (NSMutableDictionary)nsObjDecoder.Create();
                    }
                    break;
                case "PluginDeclaredDependenciesTrackSystemTargetVersion":
                    {
                        ibDocument.PluginDeclaredDependenciesTrackSystemTargetVersion = (NSNumber)nsObjDecoder.Create();
                    }
                    break;
                case "defaultPropertyAccessControl":
                     {
                         ibDocument.DefaultPropertyAccessControl = (NSNumber)nsObjDecoder.Create();
                    }
                    break;
                case "LastKnownImageSizes":
                    {
                        ibDocument.LastKnownImageSizes = (NSMutableDictionary)nsObjDecoder.Create();
                    }
                    break;

                default:
                    System.Diagnostics.Debug.WriteLine("IBDocument : unknown key " + keyVal);
                    break;
            }
        }