using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Collections.Generic;
using System.ComponentModel;

namespace digioz.Themes
{
    public enum CSSAttributeType { Font, Background, Border, Padding, Margin, Table, List, Layout, Position };
    public enum CSSTargetType { SimpleHtml, SpecificClass, SpecificObject };
    public enum CSSValueSource { List, FilePath, ColorPicker };

    [Serializable]
    public class CSSAttribute
    {
        private string csDisplayName;
        private string csActualName;
        private string[] csAllowedValues;
        private string csSelectedValue;
        private string csDefaultValue;
        private string csTargetElement;
        private CSSAttributeType csAttributeType;
        private CSSTargetType csTargetType;
        private CSSValueSource csValueSource;

        public CSSAttribute()
        {
        }

        public string DisplayName
        {
            get { return csDisplayName; }
            set { csDisplayName = value; }
        }

        public string ActualName
        {
            get { return csActualName; }
            set { csActualName = value; }
        }

        public string[] AllowedValues
        {
            get { return csAllowedValues; }
            set { csAllowedValues = value; }
        }
        public string SelectedValue
        {
            set { csSelectedValue = value; }
            get { return csSelectedValue; }
        }
        public string DefaultValue
        {
            set { csDefaultValue = value; }
            get { return csDefaultValue; }
        }
        public string TargetElement
        {
            set { csTargetElement = value; }
            get { return csTargetElement; }
        }
        public CSSAttributeType AttributeType
        {
            set { csAttributeType = value; }
            get { return csAttributeType; }
        }
        public CSSTargetType TargetType
        {
            set { csTargetType = value; }
            get { return csTargetType; }
        }
        public CSSValueSource ValueSource
        {
            set { csValueSource = value; }
            get { return csValueSource; }
        }
    }

    public class CSSAllAttributeList : List<CSSAttribute>
    {
        public CSSAllAttributeList()
        { }
    }

    public class CSSCurrAttributeList : List<CSSAttribute>
    {
        public CSSCurrAttributeList()
        { }
    }
}

