public static HtmlTag AddValidationAttributes(HtmlTag tag, ModelInfo info)
 {
     var input = tag.FirstNonHiddenInput();
     if (input == null) return tag;
     input.AddValidationAttributes(info);
     return tag;
 }
Example #2
0
 internal PushInfo Parse(ModelInfo model)
 {
     var rslt = new PushInfo(this);
     rslt.Source = this.Expression.Parse();
     rslt.Target = State.Parse(model);
     return rslt;
 }
Example #3
0
        internal HalDevice(Volume volume)
        {
            this.volume = volume;

            volume_info = new HalVolumeInfo (volume);
            production_info = new HalProductionInfo (volume);
            model_info = new HalModelInfo (volume);

            if (volume.PropertyExists (PodsleuthPrefix + "control_path")) {
                string relative_control = volume.GetPropertyString (PodsleuthPrefix + "control_path");
                if (relative_control[0] == Path.DirectorySeparatorChar) {
                    relative_control = relative_control.Substring (1);
                }

                ControlPath = Path.Combine(VolumeInfo.MountPoint, relative_control);
            }

            ArtworkFormats = new ReadOnlyCollection<ArtworkFormat> (LoadArtworkFormats ());

            if (volume.PropertyExists (PodsleuthPrefix + "firmware_version")) {
                FirmwareVersion = volume.GetPropertyString (PodsleuthPrefix + "firmware_version");
            }

            if (volume.PropertyExists (PodsleuthPrefix + "firewire_id")) {
                FirewireId = volume.GetPropertyString (PodsleuthPrefix + "firewire_id");
            }

            RescanDisk ();
        }
 internal static SquarePoint GetNextStep(int pUserX, int pUserY, int pUserTargetX, int pUserTargetY, byte[,] pGameMap, double[,] pHeight, double[,] double_1, double[,] double_2, int MaxX, int MaxY, bool pUserOverride, bool pDiagonal, bool[,] iHeightOverride, int[,] GroupGates, Room room, double Height)
 {
     ModelInfo pMap = new ModelInfo(MaxX, MaxY, pGameMap);
     List<RoomItem> ItemsOnSquare = room.method_93(pUserTargetX, pUserTargetY);
     SquarePoint squarePoint = new SquarePoint(pUserTargetX, pUserTargetY, pUserTargetX, pUserTargetY, pMap.GetState(pUserTargetX, pUserTargetY), pUserOverride, GroupGates[pUserTargetX, pUserTargetY] > 0, ItemsOnSquare, Height, room.GetRoomUsersBySquare(pUserTargetX, pUserTargetY),room);
     SquarePoint result;
     if (pUserX == pUserTargetX && pUserY == pUserTargetY)
     {
         result = squarePoint;
     }
     else
     {
         try
         {
             SquareInformation pInfo = new SquareInformation(pUserX, pUserY, squarePoint, pMap, pUserOverride, pDiagonal, GroupGates,room,Height);
             result = DreamPathfinder.GetClosetSqare(pInfo, new HeightInfo(MaxX, MaxY, pHeight, double_1, double_2), pDiagonal, pUserOverride, iHeightOverride, GroupGates);
         }
         catch
         {
             return squarePoint;
         }
        
     }
     return result;
 }
 public static HtmlTag AddFieldLabel(HtmlTag tag, ModelInfo info)
 {
     var label=new SpanTag().Text(info.Name).AddClass("display-label");
     //if (tag.HasChild<LabelTag>()) return tag;
     //var label = info.ConventionsRegistry().Labels.GenerateTags(info);
     tag.WrapWith(HtmlTag.Placeholder()).InsertFirst(label);
     return tag.Parent;
 }
 public HtmlTag GenerateElement(ModelInfo info)
 {
     var element = _builder.Build(info);
     foreach (var modifier in _modifiers)
     {
         element = modifier.Modify(element, info);
     }
     return element;
 }
 /// <summary>
 /// Renders a span with validation message 
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
  public static HtmlTag ValidationBuilder(ModelInfo info)
 {
     if (info.IsRootModel) return HtmlTag.Empty();
      var errMsg = "";
     if (info.ValidationFailed)
     {
         errMsg = info.ModelErrors[0].ErrorMessage;
     }
     return new ValidationMessageTag(info.HtmlId, info.ValidationFailed, errMsg);
 }
 public IHaveModelConventions GetConventions(ModelInfo info)
 {
     if (_ignored.Any(d => d(info)))
     {
         return ModelConventions.Ignored;
     }
     var conventions = new ModelConventions(this);
     conventions.Builder = _builders.Find(d => d.AppliesTo(info));
     conventions.Modifiers = _modifiers.FindAll(d => d.AppliesTo(info));
     return conventions;
 }
 public HtmlTag GenerateElement(ModelInfo info)
 {
     var tag = HtmlTag.Placeholder();
     foreach (var property in Meta.Properties.OrderAsAnnotated(info.Type,m=>m.PropertyName))
     {
         var child = GetTag(property, info);
         tag.Children.Add(child);
     }
     Conventions.Builder = new NopBuilder(tag);
     return Conventions.CreateGenerator().GenerateElement(info);
 }
Example #10
0
        internal List<StatementInfo> Parse(ModelInfo model)
        {
            var rslt = new List<StatementInfo>();

            foreach (var state in this.Statements)
            {
                rslt.Add(state.Parse(model));
            }

            return rslt;
        }
 public void LoadModelInfo() {
     ModelInfo modelInfo = new ModelInfo() {
         Name = "南京南瑞继保电气有限公司",
         OrderNum = "SC1234567890",
         SerialNum = "NRJB2059051510010\n[D04804]",
         ModelNum = "PCS-9611D-D-220V-1A",
         DCVoltage = "DC220V",
         ACVoltage = "57.5V",
         RatedPower = "50HZ",
         TwoDimCodeImg = Environment.CurrentDirectory + @"/images/NRTwoDimensionCode.jpg"
     };
     ModelInfo_Ctrl.ModelDetailInfo = modelInfo;
 }
        private void loadDefaultMdelInfo() {
            ModelInfo modelInfo = new ModelInfo() {
                Name = "南京南瑞继保电气有限公司",
                OrderNum = "SC1400294PG023",
                SerialNum = "NRJB20590414C0930\n[69451E]",
                ModelNum = "PCS-221G-G-H2 /-1A",
                DCVoltage = "DC220V",
                ACVoltage = "57.5V",
                RatedPower = "50HZ",
                TwoDimCodeImg = "pack://application:,,,/Resources/Images/NRTwoDimensionCode.jpg"

            };
            ModelInfo_Front.ModelDetailInfo = modelInfo;
        }
 private void loadDefaultMdelInfo() {
     ModelInfo modelInfo = new ModelInfo() {
         Name = "南京南瑞继保电气有限公司",
         OrderNum = "SC1400294PG007",
         SerialNum = "NRJB20086321510020\n[F84139]",
         ModelNum = "PCS-931A-FA-G",
         DCVoltage = "DC220V",
         ACVoltage = "一",
         RatedPower = "50HZ",
         TwoDimCodeImg = Environment.CurrentDirectory + @"/images/NRTwoDimensionCode.jpg",
         ACCurrent = "一"
     };
     ModelDetailInfo = modelInfo;
 }
 public void LoadModelInfo() {
     ModelInfo modelInfo = new ModelInfo() {
         Name = "南京南瑞继保电气有限公司",
         OrderNum = "SC1400294PG007",
         SerialNum = "NRJB20086321510020\n[F84139]",
         ModelNum = "PCS-931A-FA-G",
         DCVoltage = "DC220V",
         ACVoltage = "一",
         RatedPower = "50HZ",
         TwoDimCodeImg = "pack://application:,,,/Resources/Images/NRTwoDimensionCode.jpg",
         ACCurrent = "一"
     };
     ModelInfo_Ctrl.ModelDetailInfo = modelInfo;
 }
Example #15
0
        /// <summary>
        /// Populates the input tag with unobtrusive validation attributes
        /// </summary>
        /// <param name="tag"></param>
        /// <param name="info"></param>
        /// <returns></returns>
        public static HtmlTag AddValidationAttributes(this HtmlTag tag, ModelInfo info)
        {
            if (!tag.IsInputElement()) return tag;
            var all = ModelValidatorProviders.Providers.GetValidators(info.Meta, info.ViewContext)
                .SelectMany(d => d.GetClientValidationRules());

            var attr = new Dictionary<string, object>();
            UnobtrusiveValidationAttributesGenerator.GetValidationAttributes(all, attr);
            foreach (var kv in attr)
            {
                tag.Attr(kv.Key, kv.Value);
            }
            return tag;
        }
Example #16
0
 public static HtmlTag MvcCheckBoxBuilder(ModelInfo info)
 {
     return new MvcCheckboxElement(info.HtmlId, info.HtmlName, info.RawValue == null ? false : info.Value<bool>());
     //var tag = HtmlTag.Placeholder();
     //var label = info.ConventionsRegistry().Labels.GenerateTags(info);
     
     //tag.Children.Add();
     //var errMsg = "";
     //if (info.ValidationFailed)
     //{
     //    errMsg = info.ModelErrors[0].ErrorMessage;
     //}
     //tag.Append(label);
     //tag.Children.Add(new ValidationMessageTag(info.HtmlId, info.ValidationFailed, errMsg));
     //return tag;
 }
        public TimerGenForm()
        {
            InitializeComponent();

            SelectedModel = Models[0];

            foreach (ModelInfo info in Models)
            {
                cmbModel.Items.Add(info.Name);
            }

            cmbModel.SelectedIndex = 0;

            ScanThread = new Thread(ScanThreadMain);
            ScanThread.Start();
        }
        protected virtual HtmlTag GetTag(ModelMetadata property, ModelInfo parentInfo)
        {
            var info = new ModelInfo(property, parentInfo.ViewContext);
            if (parentInfo.HtmlName.IsNullOrEmpty())
            {
                info.HtmlId = info.HtmlName = property.PropertyName;
            }

            else
            {
                info.HtmlId = parentInfo.HtmlId + "_" + info.Name;
                info.HtmlName = parentInfo.HtmlName + "." + info.Name;
            }
            var propConventions = Conventions.Registry.GetConventions(info);
            var propGenerator = ModelTypeAdviser.GetGenerator(info, propConventions);
            return propGenerator.GenerateElement(info);
        }
Example #19
0
        /// <summary>
        /// Default type is text. It contains a label, input and validation message span
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public static HtmlTag FormInputBuilder(ModelInfo info)
        {
            return new TextboxTag(info.HtmlName, info.ValueAsString).Id(info.HtmlId)
                .Attr("placeholder", info.Meta.Watermark);

            //var tag = HtmlTag.Placeholder();
            //var label = info.ConventionsRegistry().Labels.GenerateTags(info);
            //tag.Append(label);
            //tag.Children.Add();
            //var errMsg = "";
            //if (info.ValidationFailed)
            //{
            //    errMsg = info.ModelErrors[0].ErrorMessage;
            //}
            //tag.Children.Add(new ValidationMessageTag(info.HtmlId, info.ValidationFailed, errMsg));
            //return tag;
        }
Example #20
0
        public ModelInfo Parse()
        {
            var rslt = new ModelInfo(this);
            rslt.Area = Area;
            rslt.Name = Name;

            foreach (var attr in this.Attributes)
            {
                rslt.Attributes.Add(attr.Parse());
            }

            foreach (var field in this.Fields)
            {
                rslt.FieldInfos.Add(field.Parse());
            }

            this.State.Parse(rslt);

            return rslt;
        }
        public SquareInformation(int pX, int pY, SquarePoint pTarget, ModelInfo pMap, bool pUserOverride, bool CalculateDiagonal, int[,] GroupGates, Room room, double Height)
        {
            this.mX = pX;
            this.mY = pY;
            this.mTarget = pTarget;

            this.mPoint = new SquarePoint(pX, pY, pTarget.X, pTarget.Y, pMap.GetState(pX, pY), pUserOverride, false, room.method_93(pX, pY), Height, room.GetRoomUsersBySquare(pX, pY),room);
            this.mPos = new SquarePoint[8];
            if (CalculateDiagonal)
            {
                this.mPos[1] = new SquarePoint(pX - 1, pY - 1, pTarget.X, pTarget.Y, pMap.GetState(pX - 1, pY - 1), pUserOverride, false, room.method_93(pX - 1, pY - 1), Height, room.GetRoomUsersBySquare(pX - 1, pY - 1),room);
                this.mPos[3] = new SquarePoint(pX - 1, pY + 1, pTarget.X, pTarget.Y, pMap.GetState(pX - 1, pY + 1), pUserOverride, false, room.method_93(pX - 1, pY + 1), Height, room.GetRoomUsersBySquare(pX - 1, pY + 1),room);
                this.mPos[5] = new SquarePoint(pX + 1, pY + 1, pTarget.X, pTarget.Y, pMap.GetState(pX + 1, pY + 1), pUserOverride, false, room.method_93(pX + 1, pY + 1), Height, room.GetRoomUsersBySquare(pX + 1, pY + 1),room);
                this.mPos[7] = new SquarePoint(pX + 1, pY - 1, pTarget.X, pTarget.Y, pMap.GetState(pX + 1, pY - 1), pUserOverride, false, room.method_93(pX + 1, pY - 1), Height, room.GetRoomUsersBySquare(pX + 1, pY - 1),room);
            }
            this.mPos[0] = new SquarePoint(pX, pY - 1, pTarget.X, pTarget.Y, pMap.GetState(pX, pY - 1), pUserOverride, false, room.method_93(pX, pY - 1), Height, room.GetRoomUsersBySquare(pX, pY - 1),room);
            this.mPos[2] = new SquarePoint(pX - 1, pY, pTarget.X, pTarget.Y, pMap.GetState(pX - 1, pY), pUserOverride, false, room.method_93(pX - 1, pY), Height, room.GetRoomUsersBySquare(pX - 1, pY),room);
            this.mPos[4] = new SquarePoint(pX, pY + 1, pTarget.X, pTarget.Y, pMap.GetState(pX, pY + 1), pUserOverride, false, room.method_93(pX, pY + 1), Height, room.GetRoomUsersBySquare(pX, pY + 1),room);
            this.mPos[6] = new SquarePoint(pX + 1, pY, pTarget.X, pTarget.Y, pMap.GetState(pX + 1, pY), pUserOverride, false, room.method_93(pX + 1, pY), Height, room.GetRoomUsersBySquare(pX + 1, pY),room);
        }
 public static HtmlTag AddValidationMessage(HtmlTag tag, ModelInfo info)
 {
     if (tag.HasChild<ValidationMessageTag>()) return tag;
     var input = tag.FirstNonHiddenInput();
     if (input == null) return tag;
     var validator = info.ConventionsRegistry().Validation.GenerateTags(info);
         //input.CreateValidationTag(info);
     var parent = input.Parent;
     var res = tag;
     if (parent == null)
     {
         parent = HtmlTag.Placeholder();
         parent.Append(tag);
         res = parent;
     }
     var pos = input.PositionAsChild();
     validator.RegisterParent(parent);
     parent.Children.Insert(pos + 1, validator);
     return res;
 }
 public static HtmlTag AddEditorLabel(HtmlTag tag, ModelInfo info)
 {
     if (tag.HasChild<LabelTag>()) return tag;
     var input = tag.FirstNonHiddenInput();
     if (input == null) return tag;
     var label = info.ConventionsRegistry().Labels.GenerateTags(info);
     var parent = input.Parent;
    var res = tag;
     if (parent == null)
     {
         parent = HtmlTag.Placeholder();
         parent.Append(tag);
         res = parent;
     }
     var pos = input.PositionAsChild();
     if (pos == 0) pos = 1;
     label.RegisterParent(parent);
     parent.Children.Insert(pos - 1, label);
     return res;
 }
        public static IGenerateHtml GetGenerator(ModelInfo info,
            IHaveModelConventions conventions)
        {
           
            if (info.HasAttribute<DisplayTemplateAttribute>())
            {
                return DisplayTemplateGenerator.Instance;
            }
            
            if (info.HasAttribute<EditorTemplateAttribute>())
            {
                return EditorTemplateGenerator.Instance;
            }

            if (conventions.IsIgnored)
            {
                return NullHtmlGenerator.Instance;
            }
            
            if (conventions.Builder != null)
            {
                return conventions.CreateGenerator();
            }
            if (info.Type.IsUserDefinedClass())
            {
                if (info.HasAttribute<AsOneElementAttribute>())
                {
                    return new PrimitiveTypeGenerator(conventions); 
                }
                return new CustomTypeGenerator(info.Meta, conventions);
            }
            if (info.Type == typeof (string) || !info.Type.DerivesFrom<IEnumerable>())
            {
                return new PrimitiveTypeGenerator(conventions);
            }
            return NullHtmlGenerator.Instance;
        }
Example #25
0
            public void Delete(PropertyTreeNode[] nodes)
            {
                Debug.Assert(infos == null);
                if (infos != null)
                    throw new InvalidOperationException();

                infos = new ModelInfo[nodes.Length];

                for (int i = 0; i < infos.Length; i++) {
                    var node = nodes[i];

                    var info = new ModelInfo(node.PropertyDefinition);
                    infos[i] = info;
                    info.OwnerType.Properties.RemoveAt(info.PropertyIndex);

                    for (int j = 0; j < info.Methods.Length; j++) {
                        int index = info.OwnerType.Methods.IndexOf(info.Methods[j]);
                        Debug.Assert(index >= 0);
                        if (index < 0)
                            throw new InvalidOperationException();
                        info.OwnerType.Methods.RemoveAt(index);
                        info.MethodIndexes[j] = index;
                    }
                }
            }
Example #26
0
 public bool AppliesTo(ModelInfo info)
 {
     return true;
 }
Example #27
0
 public HtmlTag Build(ModelInfo info)
 {
     return HtmlTag.Empty();
 }
 public HtmlTag Build(ModelInfo info)
 {
     return Builder(info);
 }
 public HtmlTag Modify(HtmlTag tag, ModelInfo info)
 {
     return Modifier(tag, info);
 }
 public bool AppliesTo(ModelInfo info)
 {
     return Selector(info);
 }