Ejemplo n.º 1
0
		public SkinBuilder (ThemeProvider provider,
				    Control control,
				    ControlBuilder skinBuilder,
				    string themePath)
		{
			throw new NotImplementedException ();
		}
Ejemplo n.º 2
0
		public override void Init (TemplateParser parser, ControlBuilder parentBuilder, Type type,
					   string tagName, string ID, IDictionary attribs)
		{
			base.Init (parser, parentBuilder, type, tagName, ID, attribs);
			placeHolderID = attribs ["ContentPlaceHolderID"] as string;
			if (String.IsNullOrEmpty (placeHolderID))
				throw new HttpException ("Missing required 'ContentPlaceHolderID' attribute");
		}
Ejemplo n.º 3
0
		public SkinBuilder (ThemeProvider provider,
				    Control control,
				    ControlBuilder skinBuilder,
				    string themePath)
		{
			//this.provider = provider;
			this.control = control;
			//this.skinBuilder = skinBuilder;
			//this.themePath = themePath;
		}
Ejemplo n.º 4
0
		public override void Init (TemplateParser parser, ControlBuilder parentBuilder, Type type,
					   string tagName, string ID, IDictionary attribs)
		{
			string id = null, s;
			foreach (object k in attribs.Keys) {
				s = k as string;
				if (String.IsNullOrEmpty (s))
					continue;
				
				if (String.Compare (s, "id", StringComparison.OrdinalIgnoreCase) == 0) {
					id = attribs [s] as string;
					break;
				}
			}
			base.Init (parser, parentBuilder, type, tagName, ID, attribs);
			MasterPageParser mpp = parser as MasterPageParser;
			if (mpp == null || String.IsNullOrEmpty (id))
				return;
			
			mpp.AddContentPlaceHolderId (id);
		}
Ejemplo n.º 5
0
	public override bool AllowControl (Type controlType, ControlBuilder builder)
	{
		return true;
	}
Ejemplo n.º 6
0
 internal override void BuildExpression(BoundPropertyEntry bpe, ControlBuilder controlBuilder,
                                        CodeExpression controlReference, CodeStatementCollection methodStatements, CodeStatementCollection statements, CodeLinePragma linePragma, ref bool hasTempObject)
 {
     BuildExpressionStatic(bpe, controlBuilder, controlReference, methodStatements, statements, linePragma, bpe.IsEncoded, ref hasTempObject);
 }
 public virtual void AppendSubBuilder(ControlBuilder subBuilder)
 {
 }
 public virtual void OnAppendToParentBuilder(ControlBuilder parentBuilder)
 {
 }
Ejemplo n.º 9
0
 public override void AppendSubBuilder(ControlBuilder subBuilder)
 {
     base.AppendSubBuilder(subBuilder);
 }
	// Constructors
	public ObjectPersistData(ControlBuilder builder, System.Collections.IDictionary builtObjects) {}
Ejemplo n.º 11
0
 public virtual void OnAppendToParentBuilder(ControlBuilder parentBuilder)
 {
 }
        void CreateControlSkinMethod(ControlBuilder builder)
        {
            if (builder.ControlType == null)
            {
                return;
            }

            EnsureID(builder);

            CodeMemberMethod method = new CodeMemberMethod();

            method.Name = "__BuildControl_" + builder.ID;
            method.Parameters.Add(new CodeParameterDeclarationExpression(typeof(Control), "ctrl"));

            mainClass.Members.Add(method);

            builder.Method           = method;
            builder.MethodStatements = method.Statements;

            method.ReturnType = new CodeTypeReference(typeof(Control));

            // _ctrl = ($controlType)(ctrl);
            //
            CodeCastExpression castExpr = new CodeCastExpression(builder.ControlType, new CodeVariableReferenceExpression("ctrl"));

            method.Statements.Add(new CodeVariableDeclarationStatement(builder.ControlType, "__ctrl"));
            CodeAssignStatement assign = new CodeAssignStatement();

            assign.Left  = ctrlVar;
            assign.Right = castExpr;
            method.Statements.Add(assign);

            CreateAssignStatementsFromAttributes(builder);

            if (builder.Children != null)
            {
                foreach (object o in builder.Children)
                {
                    if (!(o is ControlBuilder))
                    {
                        continue;
                    }

                    ControlBuilder b = (ControlBuilder)o;
                    if (b.ControlType == null)
                    {
                        continue;
                    }

                    if (b is CollectionBuilder)
                    {
                        PropertyInfo itemsProp = null;

                        try
                        {
                            itemsProp = b.GetType().GetProperty("Items");
                        }
                        catch (Exception) {}

                        if (itemsProp != null)
                        {
                            /* emit a prop.Clear call before populating the collection */;
                            CodePropertyReferenceExpression prop = new CodePropertyReferenceExpression(ctrlVar,
                                                                                                       b.TagName);
                            CodePropertyReferenceExpression items = new CodePropertyReferenceExpression(prop,
                                                                                                        "Items");
                            method.Statements.Add(new CodeMethodInvokeExpression(items, "Clear"));
                        }
                    }

                    CreateControlTree(b, false, builder.ChildrenAsProperties);
                    AddChildCall(builder, b);
                }
            }

            builder.Method.Statements.Add(new CodeMethodReturnStatement(ctrlVar));
        }
	// Methods
	public virtual void ParseComplete(ControlBuilder rootBuilder) {}
	public static ControlBuilder CreateBuilderFromType(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, System.Collections.IDictionary attribs, int line, string sourceFileName) {}
Ejemplo n.º 15
0
        void AddStatementsFromDirective(ControlBuilder builder, CodeMemberMethod method, ILocation location)
        {
#if NET_2_0
            AssignPropertyWithExpression <string> (method, "ResponseEncoding", pageParser.ResponseEncoding, location);
            AssignPropertyWithExpression <int> (method, "CodePage", pageParser.CodePage, location);
            AssignPropertyWithExpression <int> (method, "LCID", pageParser.LCID, location);
#else
            AssignPropertyWithExpression(method, "ResponseEncoding", pageParser.ResponseEncoding, location);
            AssignPropertyWithExpression(method, "CodePage", pageParser.CodePage, location);
            AssignPropertyWithExpression(method, "LCID", pageParser.LCID, location);
#endif
            string contentType = pageParser.ContentType;
            if (contentType != null)
            {
                method.Statements.Add(AddLinePragma(CreatePropertyAssign("ContentType", contentType), location));
            }

#if !NET_2_0
            if (pageParser.OutputCache)
            {
                CodeMethodReferenceExpression init = new CodeMethodReferenceExpression(null,
                                                                                       "InitOutputCache");
                CodeMethodInvokeExpression invoke = new CodeMethodInvokeExpression(init,
                                                                                   OutputCacheParams());
                method.Statements.Add(AddLinePragma(invoke, builder));
            }
#endif
            string culture = pageParser.Culture;
            if (culture != null)
            {
                method.Statements.Add(AddLinePragma(CreatePropertyAssign("Culture", culture), location));
            }

            culture = pageParser.UICulture;
            if (culture != null)
            {
                method.Statements.Add(AddLinePragma(CreatePropertyAssign("UICulture", culture), location));
            }

            string errorPage = pageParser.ErrorPage;
            if (errorPage != null)
            {
                method.Statements.Add(AddLinePragma(CreatePropertyAssign("ErrorPage", errorPage), location));
            }

            if (pageParser.HaveTrace)
            {
                CodeAssignStatement stmt = new CodeAssignStatement();
                stmt.Left  = new CodePropertyReferenceExpression(thisRef, "TraceEnabled");
                stmt.Right = new CodePrimitiveExpression(pageParser.Trace);
                method.Statements.Add(AddLinePragma(stmt, location));
            }

            if (pageParser.TraceMode != TraceMode.Default)
            {
                CodeAssignStatement         stmt = new CodeAssignStatement();
                CodeTypeReferenceExpression tm   = new CodeTypeReferenceExpression("System.Web.TraceMode");
                stmt.Left  = new CodePropertyReferenceExpression(thisRef, "TraceModeValue");
                stmt.Right = new CodeFieldReferenceExpression(tm, pageParser.TraceMode.ToString());
                method.Statements.Add(AddLinePragma(stmt, location));
            }

            if (pageParser.NotBuffer)
            {
                CodeAssignStatement stmt = new CodeAssignStatement();
                stmt.Left  = new CodePropertyReferenceExpression(thisRef, "Buffer");
                stmt.Right = new CodePrimitiveExpression(false);
                method.Statements.Add(AddLinePragma(stmt, location));
            }

#if NET_2_0
            if (!pageParser.EnableEventValidation)
            {
                CodeAssignStatement             stmt = new CodeAssignStatement();
                CodePropertyReferenceExpression prop;
                prop       = new CodePropertyReferenceExpression(thisRef, "EnableEventValidation");
                stmt.Left  = prop;
                stmt.Right = new CodePrimitiveExpression(pageParser.EnableEventValidation);
                method.Statements.Add(AddLinePragma(stmt, location));
            }

            if (pageParser.MaintainScrollPositionOnPostBack)
            {
                CodeAssignStatement             stmt = new CodeAssignStatement();
                CodePropertyReferenceExpression prop;
                prop       = new CodePropertyReferenceExpression(thisRef, "MaintainScrollPositionOnPostBack");
                stmt.Left  = prop;
                stmt.Right = new CodePrimitiveExpression(pageParser.MaintainScrollPositionOnPostBack);
                method.Statements.Add(AddLinePragma(stmt, location));
            }
#endif
        }
 public TextControlBuilder(ControlBuilder <TElementdata, TContextData, TParentBuilderType> controlBuilder, string renderedElement)
 {
     ControlBuilder = controlBuilder;
     controlBuilder.Element.RenderedElement = renderedElement;
 }
 internal CodeStatement AddLinePragma(CodeExpression expression, ControlBuilder builder)
 {
     return(AddLinePragma(new CodeExpressionStatement(expression), builder));
 }
Ejemplo n.º 18
0
 public virtual void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string ID, System.Collections.IDictionary attribs)
 {
 }
Ejemplo n.º 19
0
 public override void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, System.Collections.IDictionary attribs)
 {
     base.Init(parser, parentBuilder, type, tagName, id, attribs);
 }
 // Constructors
 public SkinBuilder(ThemeProvider provider, Control control, ControlBuilder skinBuilder, string themePath)
 {
 }
		public override void AppendSubBuilder (ControlBuilder subBuilder)
		{
			throw new HttpException ("LiteralControlBuilder should never be called");
		}
Ejemplo n.º 22
0
 public override void OnAppendToParentBuilder(ControlBuilder parentBuilder)
 {
     base.OnAppendToParentBuilder(parentBuilder);
 }
        protected internal override void CreateMethods()
        {
            CodeMemberField    fld;
            CodeMemberProperty prop;

            /* override the following abstract PageTheme properties:
             * protected abstract string AppRelativeTemplateSourceDirectory { get; }
             * protected abstract IDictionary ControlSkins { get; }
             * protected abstract string[] LinkedStyleSheets { get; }
             */

            /* ControlSkins */
            fld                = new CodeMemberField(typeof(HybridDictionary), "__controlSkins");
            fld.Attributes     = MemberAttributes.Private;
            fld.InitExpression = new CodeObjectCreateExpression(typeof(HybridDictionary));
            mainClass.Members.Add(fld);

            prop            = new CodeMemberProperty();
            prop.Name       = "ControlSkins";
            prop.Attributes = MemberAttributes.Family | MemberAttributes.Override;
            prop.Type       = new CodeTypeReference(typeof(IDictionary));
            prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("__controlSkins")));
            mainClass.Members.Add(prop);

            /* LinkedStyleSheets */
            fld                = new CodeMemberField(typeof(string[]), "__linkedStyleSheets");
            fld.Attributes     = MemberAttributes.Private;
            fld.InitExpression = CreateLinkedStyleSheets();
            mainClass.Members.Add(fld);

            prop            = new CodeMemberProperty();
            prop.Name       = "LinkedStyleSheets";
            prop.Attributes = MemberAttributes.Family | MemberAttributes.Override;
            prop.Type       = new CodeTypeReference(typeof(string[]));
            prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("__linkedStyleSheets")));
            mainClass.Members.Add(prop);

            /* AppRelativeTemplateSourceDirectory */
            prop            = new CodeMemberProperty();
            prop.Name       = "AppRelativeTemplateSourceDirectory";
            prop.Attributes = MemberAttributes.Family | MemberAttributes.Override;
            prop.Type       = new CodeTypeReference(typeof(string));
            prop.GetStatements.Add(new CodeMethodReturnStatement(
                                       new CodePrimitiveExpression(
                                           VirtualPathUtility.ToAbsolute(parser.BaseVirtualDir))));
            mainClass.Members.Add(prop);

            ControlBuilder builder = parser.RootBuilder;

            if (builder.Children != null)
            {
                foreach (object o in builder.Children)
                {
                    if (!(o is ControlBuilder))
                    {
                        continue;
                    }
                    if (o is CodeRenderBuilder)
                    {
                        continue;
                    }

                    ControlBuilder b = (ControlBuilder)o;
                    CreateControlSkinMethod(b);
                }
            }
        }
 public static ControlBuilder CreateBuilderFromType(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, System.Collections.IDictionary attribs, int line, string sourceFileName)
 {
 }
	public virtual bool AllowControl(Type controlType, ControlBuilder builder) {}
Ejemplo n.º 26
0
        public override void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, IDictionary attribs)
        {
            base.Init(parser, parentBuilder, type, tagName, id, attribs);

            _typeName = (string)attribs["typename"];
        }
Ejemplo n.º 27
0
    public override void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, System.Collections.IDictionary attribs)
    {
        var newType = typeof(/*here you can put a JsRegisterDecorator type*/);

        base.Init(parser, parentBuilder, t, tagName, id, attribs);
    }
Ejemplo n.º 28
0
 public override void AppendSubBuilder(ControlBuilder subBuilder)
 {
     throw new HttpException("LiteralControlBuilder should never be called");
 }
 public virtual void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, System.Collections.IDictionary attribs)
 {
 }
 public override bool AllowControl(Type controlType, ControlBuilder builder)
 {
     return(true);
 }
 public virtual void AppendSubBuilder(ControlBuilder subBuilder)
 {
 }
Ejemplo n.º 32
0
 public override void AppendSubBuilder(ControlBuilder subBuilder)
 {
     throw new HttpException(SR.GetString(SR.Control_does_not_allow_children,
                                          ControlType.ToString()));
 }