예제 #1
0
        public static void Run(ZsprToRdcOptions opts)
        {
            var inputFilename  = opts.File;
            var outputFilename = Path.ChangeExtension(opts.File, "z3.rdc");

            if (!File.Exists(opts.File))
            {
                Console.Error.WriteLine($"The file {opts.File} does not exist");
            }

            using var input  = File.OpenRead(opts.File);
            using var output = File.Open(outputFilename, FileMode.Create);

            var zspr = Zspr.Parse(input);

            var meta = new MetaDataBlock(new JObject(
                                             new JProperty("title", zspr.Title),
                                             new JProperty("author", zspr.Author)));

            var sprite = new LinkSprite();

            sprite.Parse(new MemoryStream(zspr.Content));

            Rdc.Write(output, zspr.AuthorAscii, meta, sprite);
        }
예제 #2
0
        private void RenderFilterBlock(ComponentController paComponentController, MetaDataBlock paMetaDataBlock)
        {
            if ((paMetaDataBlock != null) && (!String.IsNullOrEmpty(paMetaDataBlock.MetaDataBlockName)))
            {
                paComponentController.AddElementAttribute(ComponentController.ElementAttribute.ea_Template, paMetaDataBlock.MetaDataBlockName);
                // paComponentController.AddAttribute(HtmlAttribute.Value, paMetaDataBlock.MetaDataBlockName);
                // paComponentController.AddElementAttribute(ComponentController.ElementAttribute.sa_FilterTemplate, ctDEFFilterTemplate, false);
                paComponentController.AddAttribute(HtmlAttribute.Class, ctCLSFilterGroup);
                paComponentController.RenderBeginTag(HtmlTag.Div);

                RenderGroupHeading(paComponentController, paMetaDataBlock);
                RenderContent(paComponentController, paMetaDataBlock);

                paComponentController.RenderEndTag();
            }
        }
예제 #3
0
        private void RenderContent(ComponentController paComponentController, MetaDataBlock paMetaDataBlock)
        {
            if (paMetaDataBlock != null)
            {
                paComponentController.AddAttribute(HtmlAttribute.Class, ctCLSItemContainer);
                paComponentController.RenderBeginTag(HtmlTag.Div);

                for (int lcCount = 0; lcCount < paMetaDataBlock.MetaDataElementCount; lcCount++)
                {
                    if (paMetaDataBlock[lcCount].Name == ctQuery)
                    {
                        RenderItemList(paComponentController, paMetaDataBlock[lcCount][0]);
                    }
                    else
                    {
                        RenderItem(paComponentController, paMetaDataBlock[lcCount].Name, paMetaDataBlock[lcCount][0]);
                    }
                }

                paComponentController.RenderEndTag();
            }
        }
예제 #4
0
        private void RenderGroupHeading(ComponentController paComponentController, MetaDataBlock paMetaDataBlock)
        {
            paComponentController.AddAttribute(HtmlAttribute.Class, ctCLSGroupHeading);
            paComponentController.RenderBeginTag(HtmlTag.Div);

            paComponentController.AddAttribute(HtmlAttribute.Class, ctCLSGroupHeader);
            paComponentController.RenderBeginTag(HtmlTag.Div);
            paComponentController.Write(paMetaDataBlock.MetaDataBlockName);
            paComponentController.RenderEndTag();

            paComponentController.AddAttribute(HtmlAttribute.Class, ctCLSChevron);
            paComponentController.RenderBeginTag(HtmlTag.A);
            paComponentController.RenderEndTag();

            paComponentController.AddAttribute(HtmlAttribute.Class, ctCLSSelection);
            paComponentController.RenderBeginTag(HtmlTag.Div);
            if (paMetaDataBlock.MetaDataElementCount > 0)
            {
                paComponentController.Write(paMetaDataBlock[0].Name);
            }
            paComponentController.RenderEndTag();

            paComponentController.RenderEndTag();
        }