예제 #1
0
        public void Evaluate(object model, RenderingContext context, IDictionary <string, string> parameters)
        {
            var    gridStack        = GridStack.FromContext(context);
            double ratio            = GetValue(parameters, "ratio", 1);
            double margin           = GetValue(parameters, "margin", 0);
            double padding          = GetValue(parameters, "padding", 0);
            double?componentPadding = GetValueNullable(parameters, "component-padding");
            double width            = GetValue(parameters, "width", gridStack.Current.Width);

            gridStack.Push((int)(((width - margin) * ratio) - padding), componentPadding);
        }
예제 #2
0
        private int CalculateWidth(RenderingContext context, IDictionary <string, string> parameters)
        {
            double ratio = 1.0;
            string ratioValue;

            if (parameters.TryGetValue("ratio", out ratioValue) && !double.TryParse(ratioValue, out ratio))
            {
                ratio = 1.0;
            }

            var gridStack = GridStack.FromContext(context);

            return((int)(GetWidth(gridStack) * ratio));
        }
예제 #3
0
파일: GridStack.cs 프로젝트: unic/NitroNet
        public static GridStack FromContext(RenderingContext renderingContext)
        {
            object    stack;
            GridStack gridStack;

            if (!renderingContext.Data.TryGetValue(Gridstackkey, out stack))
            {
                gridStack = new GridStack();
                renderingContext.Data.Add(Gridstackkey, gridStack);
            }
            else
            {
                gridStack = stack as GridStack;
                if (gridStack == null)
                {
                    gridStack = new GridStack();
                    renderingContext.Data[Gridstackkey] = gridStack;
                }
            }
            return(gridStack);
        }
예제 #4
0
 public static GridContext GetFromRenderingContext(RenderingContext renderingContext)
 {
     return(GridStack.FromContext(renderingContext).Current);
 }
예제 #5
0
 internal override double GetWidth(GridStack gridStack)
 {
     return(gridStack.Current.Width - gridStack.Current.ComponentPadding * 2);
 }
예제 #6
0
 internal override double GetWidth(GridStack gridStack)
 {
     return(gridStack.Current.Width);
 }
예제 #7
0
 internal abstract double GetWidth(GridStack gridStack);
예제 #8
0
        public void Leave(object model, RenderingContext context, string name, IDictionary <string, string> parameters)
        {
            var gridStack = GridStack.FromContext(context);

            gridStack.Pop();
        }