/// <summary>
        /// Converts this attribute to a form field.
        /// </summary>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="memberType">The type of the member.</param>
        /// <returns></returns>
        public virtual DextopFormField ToField(String memberName, Type memberType)
        {
            if (this.fieldLabel == null && this.boxLabel == null)
            {
                fieldLabel = memberName;
            }
            var res = new DextopFormField
            {
                allowBlank = NullableUtil.DefaultNull(allowBlank, true),
                anchor     = anchor,
                boxLabel   = boxLabel,
                disabled   = NullableUtil.DefaultNull(disabled, false),
                emptyText  = emptyText,
                name       = name ?? memberName,
                readOnly   = NullableUtil.DefaultNull(readOnly, false),
                tooltip    = tooltip,
                xtype      = xtype ?? GetXType(memberType),
                flex       = NullableUtil.DefaultNull(flex, 0.0),
                inputType  = inputType,
                vtype      = vtype,
                vtypeText  = vtypeText,
                margin     = margin,
                width      = width,
                Raw        = RawJS,
                style      = style,
                fieldStyle = fieldStyle,
                fieldCls   = fieldCls,
                cls        = cls
            };

            res.ApplyLabelable(this);
            return(res);
        }
        /// <summary>
        /// Converts this attribute to a Dextop container.
        /// </summary>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="memberType">Type of the member.</param>
        /// <returns></returns>
        public virtual DextopFormContainer ToContainer(String memberName, Type memberType)
        {
            var res = new DextopFormContainer
            {
                xtype         = xtype,
                itemId        = itemId,
                title         = title,
                layout        = layout,
                margins       = margins,
                fieldDefaults = fieldDefaults,
                defaults      = defaults,
                Level         = Level,
                style         = style,
                bodyStyle     = bodyStyle,
                border        = NullableUtil.DefaultNull(border, true),
                autoHeight    = autoHeight,
                PrependItems  = PrependItems,
                AppendItems   = AppendItems,
                Raw           = RawJS,
                anchor        = anchor,
                flex          = NullableUtil.DefaultNull(flex, 0),
                columnWidth   = NullableUtil.DefaultNull(columnWidth, 0),
                width         = NullableUtil.DefaultNull(width, 0),
            };

            if (this is IDextopFormLabelable)
            {
                res.ApplyLabelable((IDextopFormLabelable)this);
            }
            return(res);
        }
예제 #3
0
        /// <summary>
        /// Converts this attribute to the column object.
        /// </summary>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="memberType">Type of the member.</param>
        /// <returns></returns>
        public virtual DextopGridColumn ToGridHeader(String memberName, Type memberType)
        {
            string extType, editorType;

            DextopModelFieldTypeMapper.TryGetFieldTypeName(memberType, out extType, out editorType);
            return(new DextopGridColumn
            {
                align = align,
                dataIndex = dataIndex ?? memberName,
                id = Group == 0 ? id : ((id ?? dataIndex ?? memberName) + Group),
                flex = flex > 0 ? flex : (double?)null,
                text = text ?? memberName,
                readOnly = NullableUtil.DefaultNull(readOnly, false),
                required = NullableUtil.DefaultNull(required, false),
                sortable = NullableUtil.DefaultNull(sortable, true),
                tooltip = tooltip,
                tooltipTpl = tooltipTpl,
                tpl = tpl,
                type = type ?? editorType ?? extType,
                width = NullableUtil.DefaultNull(width, -1),
                renderer = renderer,
                format = format,
                menuDisabled = NullableUtil.DefaultNull(menuDisabled, true),
                filterable = NullableUtil.DefaultNull(filterable, false),
                locked = NullableUtil.DefaultNull(locked, false),
                hasHeaderFilter = NullableUtil.DefaultNull(hasHeaderFilter, false)
            });
        }
 /// <summary>
 /// Converts the attribute to the validation object.
 /// </summary>
 /// <param name="name">The mmeber name.</param>
 /// <param name="type">The member type.</param>
 /// <returns></returns>
 public override DextopModel.Validation ToValidation(String name, Type type)
 {
     return(new DextopModel.Validation
     {
         field = name,
         type = "length",
         min = NullableUtil.DefaultNull(min, -1),
         max = NullableUtil.DefaultNull(max, -1)
     });
 }