public void SetUp()
 {
     _builder      = new SymbolClassNameBuilder();
     _symbolMaster = DocumentBuilder.SketchSymbolMaster("TheArtistFormerlyKnownAsPrince");
     _builder.Init(new List <SketchSymbolMaster> {
         _symbolMaster
     });
 }
示例#2
0
 public string GetClassName(SketchSymbolMaster symbolMaster)
 {
     try
     {
         return(_symbolClasses[symbolMaster.SymbolId]);
     }
     catch (KeyNotFoundException)
     {
         throw new UxBuilderException("Could not find symbol master '" + symbolMaster.Name + "' (SymbolId '" + symbolMaster.SymbolId + "').");
     }
 }
示例#3
0
        public static SketchSymbolMaster WithLayer(this SketchSymbolMaster symbol, SketchLayer layer)
        {
            var newLayers = new List <SketchLayer>(symbol.Layers)
            {
                layer
            };
            var newParent = new SketchLayer(symbol, newLayers);
            var newSymbol = new SketchSymbolMaster(newParent, symbol.SymbolId);

            layer.Parent = newSymbol;
            return(newSymbol);
        }
示例#4
0
        public static SketchDocument WithSymbol(this SketchDocument document, SketchSymbolMaster symbol)
        {
            // Fixme just find the Symbols page
            Assert.That(document.Pages.Count == 1);
            Assert.That(document.Pages.First().Name == "Symbols");
            var firstPage = document.Pages.First();
            var newLayers = new List <SketchLayer>(firstPage.Layers)
            {
                symbol
            };
            var newPage = new SketchPage(Guid.NewGuid(), firstPage.Frame, firstPage.Name, newLayers);

            return(new SketchDocument(document.Id, new List <SketchPage> {
                newPage
            }));
        }
示例#5
0
        public UxNode BuildSymbolClass(SketchSymbolMaster symbol)
        {
            var symbolClassNode = new UxNode
            {
                ClassName       = "Panel",
                SketchLayerName = symbol.Name,
                Attributes      = new Dictionary <string, IUxSerializeable> {
                    { "ux:Class", new UxString(_symbolClassNameBuilder.GetClassName(symbol)) },
                    { "Width", UxSize.Points((float)symbol.Frame.Width) },
                    { "Height", UxSize.Points((float)symbol.Frame.Height) }
                }
            };

            AddChildrenLayers(symbolClassNode, symbol);
            return(symbolClassNode);
        }
示例#6
0
        public static SketchSymbolMaster SketchSymbolMaster(string symbolName)
        {
            var sketchPath =
                new SketchPath(
                    CurvePointUtils.RectanglePath(
                        new CornerRadius(0)),
                    true);
            var rectangle = new SketchRectangle(
                SketchLayer(frame: Frame),
                sketchPath, SketchBooleanOperation.NoOperation);

            var sketchSymbolMaster = new SketchSymbolMaster(
                SketchLayer(id: Guid.NewGuid(), name: symbolName, frame: Frame,
                            children: new List <SketchLayer> {
                rectangle
            }),
                Guid.NewGuid()
                );

            rectangle.Parent = sketchSymbolMaster;
            return(sketchSymbolMaster);
        }
示例#7
0
 private void Add(SketchSymbolMaster symbol)
 {
     _symbolClasses.Add(symbol.SymbolId, Prefix + "." + symbol.Name);
 }
示例#8
0
 public static SketchSymbolInstance SymbolInstanceOf(SketchSymbolMaster symbol, string name = null)
 {
     return(new SketchSymbolInstance(
                SketchLayer(id: Guid.NewGuid(), frame: Frame, name: name),
                symbol.SymbolId));
 }