/// <summary> /// Instancira nov permanentni blok /// </summary> /// <param name="__name">Ime bloka</param> /// <param name="__render">Vid prikaza</param> /// <returns>Reference to newly created block declaration</returns> public syntaxBlockDeclaration addNewBlock(String __name, syntaxBlockRenderMode __render) { var blk = new syntaxBlockDeclaration(); blk.name = __name; blk.role = syntaxBlockRole.permanent; blk.render = __render; Add(blk); _current = blk; return(blk); }
//public String renderInto(syntaxDeclaration syntax) //{ // String output = ""; // String inner = ""; // syntaxBlockDeclaration blockclass = syntax.blocks.find(name); // if (blockclass == null) return output; // syntaxBlockRenderMode mode = blockclass.render; // String tab = "\t".Repeat(level); // switch (mode) // { // case syntaxBlockRenderMode.complete: // tab = "\t".Repeat(level); // break; // case syntaxBlockRenderMode.inner: // tab = ""; // break; // } // foreach (ICodeElement cl in children.items) // { // String cls = cl.renderInto(syntax); // if (!string.IsNullOrEmpty(cls)) // { // inner = inner + tab + cls; // } // } // switch (mode) // { // case syntaxBlockRenderMode.complete: // output = String.Format(syntax.blockClass.template, new object[] { name, inner }); // break; // case syntaxBlockRenderMode.inner: // output = inner; // break; // } // return output; //} public String render(syntaxDeclaration syntax) { String output = ""; String inner = ""; syntaxBlockDeclaration blockclass = syntax.blocks.find(name); if (blockclass == null) { return(output); } syntaxBlockRenderMode mode = blockclass.render; String tab = "\t".Repeat(level); switch (mode) { case syntaxBlockRenderMode.complete: tab = "\t".Repeat(level); break; case syntaxBlockRenderMode.inner: tab = ""; break; } foreach (ICodeElement cl in children.items) { String cls = cl.render(syntax); if (!string.IsNullOrEmpty(cls)) { inner = inner + tab + cls; } } switch (mode) { case syntaxBlockRenderMode.complete: output = String.Format(syntax.blockClass.template, new object[] { name, inner }); break; case syntaxBlockRenderMode.inner: output = inner; break; } return(output); }
public syntaxRenderUnit(String __name, syntaxBlockRenderMode __mode) { _elementName = __name; _mode = __mode; }