Example #1
0
 public override string ConvertToCode(string propertyName, CodeNode currentNode, CodeNode parentNode, NodeConverter converter, CodeRenderService rendererService)
 {
     if (currentNode.Node.Parent != null && propertyName == PropertyNames.AddChild)
     {
         var defaultParentName = GetDefaultParentName(currentNode.Node, currentNode.Node.Parent, rendererService);
         if (!string.IsNullOrEmpty(defaultParentName))
         {
             return(CodeGenerationHelpers.GetMethod(defaultParentName, nameof(NSView.AddSubview), currentNode.Name));
         }
     }
     return(base.ConvertToCode(propertyName, currentNode, parentNode, converter, rendererService));
 }
        protected override StringBuilder OnConvertToCode(CodeNode currentNode, CodeNode parentNode, CodeRenderService rendererService)
        {
            var builder = new StringBuilder();

            if (rendererService.NeedsRenderConstructor(currentNode, parentNode))
            {
                builder.WriteConstructor(currentNode.Name, GetControlType(currentNode.Node), rendererService.NodeRendersVar(currentNode, parentNode));
            }

            builder.Configure(currentNode.Node, Resources.Ids.Conversion.NameIdentifier);
            currentNode.Node.TryGetNodeCustomName(out string nodeName);

            var imageNamedMethod = CodeGenerationHelpers.GetMethod(typeof(NSImage).FullName, nameof(NSImage.ImageNamed), nodeName, true);

            builder.WriteEquality(currentNode.Name, nameof(NSImageView.Image), imageNamedMethod);

            return(builder);
        }
Example #3
0
 public CocoaStringObject AddMethod(string methodName, string parameters, bool inQuotes = false, bool includesSemicolon = true)
 {
     builder.Append(CodeGenerationHelpers.GetMethod(this.Name, methodName, parameters, inQuotes, includesSemicolon));
     return(this);
 }
Example #4
0
 public static string BoldSystemFontOfSize(string font)
 {
     return CodeGenerationHelpers.GetMethod(typeof(AppKit.NSFont).FullName, nameof(AppKit.NSFont.BoldSystemFontOfSize), font);
 }