Esempio n. 1
0
        static private AbstrPageEl ReadLikePageTime(XmlNode nd_el)
        {
            PageEl out_pageEl = new PageEl();
            string pos_x = "0", pos_y = "0",
                   clr_hex = "0x", sz = "0", dt_str = "";

            try
            {
                foreach (XmlNode nd_string_par in nd_el)
                {
                    switch (nd_string_par.Name)
                    {
                    case (XMLDefines.XMLTimeTag.Position):

                        pos_x = nd_string_par.Attributes.GetNamedItem(
                            XMLDefines.XMLTimeAttr.PosX).Value;
                        pos_y = nd_string_par.Attributes.GetNamedItem(
                            XMLDefines.XMLTimeAttr.PosY).Value;
                        break;

                    case (XMLDefines.XMLTimeTag.Color):
                        clr_hex = nd_string_par.Attributes.GetNamedItem(
                            XMLDefines.XMLTimeAttr.ColorValue).Value;
                        break;

                    case (XMLDefines.XMLTimeTag.Size):
                        sz = nd_string_par.Attributes.GetNamedItem(
                            XMLDefines.XMLTimeAttr.SizeValue).Value;
                        break;

                    case (XMLDefines.XMLTimeTag.Data):
                        dt_str = nd_string_par.Attributes.GetNamedItem(
                            XMLDefines.XMLTimeAttr.DataTmFlag).Value;
                        break;
                    }
                }
            }
            catch
            {
            }

            try
            {
                Byte   b_pos_x, b_pos_y, b_sz;
                AColor color;

                b_pos_x = Convert.ToByte(pos_x);
                b_pos_y = Convert.ToByte(pos_y);
                b_sz    = Convert.ToByte(sz);

                color      = new AColor(clr_hex);
                out_pageEl = new PageTime(b_pos_x, b_pos_y, color, b_sz);

                ((PageTime)out_pageEl).Second = (dt_str[0] == '1');
                ((PageTime)out_pageEl).Minut  = (dt_str[1] == '1');
                ((PageTime)out_pageEl).Hour   = (dt_str[2] == '1');
            }
            catch (Exception e)
            {
            }
            return(out_pageEl);
        }
Esempio n. 2
0
        public override AbstrPageEl CompileElement()
        {
            int    id   = 0;
            bool   sec  = false;
            bool   min  = false;
            bool   hour = false;
            AColor clr  = AColors.WHITE;
            int    px   = 0;
            int    py   = 0;
            int    sz   = 0;



            foreach (UIElement ch in Container.Children)
            {
                switch (ch.Uid)
                {
                case "spF":
                    StackPanel sp = (StackPanel)ch;

                    sec  = (bool)((CheckBox)sp.Children[0]).IsChecked;
                    min  = (bool)((CheckBox)sp.Children[1]).IsChecked;
                    hour = (bool)((CheckBox)sp.Children[2]).IsChecked;
                    break;

                case "tbS":
                    if (int.TryParse(((TextBox)ch).Text, out sz))
                    {
                        sz = (sz & byte.MaxValue);
                    }
                    else
                    {
                        sz = 0;
                    }
                    break;

                case "tbY":
                    if (int.TryParse(((TextBox)ch).Text, out py))
                    {
                        py = (py & byte.MaxValue);
                    }
                    else
                    {
                        py = 0;
                    }
                    break;

                case "tbX":
                    if (int.TryParse(((TextBox)ch).Text, out px))
                    {
                        px = (px & byte.MaxValue);
                    }
                    else
                    {
                        px = 0;
                    }
                    break;

                case "clrBox":
                    try
                    { clr = new AColor((ch as UIAcolorBox).GeBoxColor()); }
                    catch
                    { }
                    break;

                case "lblID":
                    if (!int.TryParse(
                            ((ch as Label).Content as string), out id))
                    {
                        id = 0;
                    }
                    break;
                }
            }

            AbstrPageEl p_out = new PageTime(
                (byte)px, (byte)py,
                clr,
                (byte)sz);

            ((PageTime)p_out).Second = sec;
            ((PageTime)p_out).Minute = min;
            ((PageTime)p_out).Hour   = hour;
            p_out.SetID(id);

            return(p_out);
        }
Esempio n. 3
0
        public UIPageTime(AbstrPageEl pEl)
            : base(47)
        {
            PageTime pt = (PageTime)pEl;

            SetID(pt.ID);

            // Интерфейс для настройки позиции
            Label   lbl_pos = new Label();
            TextBox tbX     = new TextBox();
            TextBox tbY     = new TextBox();

            lbl_pos.Content           = "Позиция";
            lbl_pos.VerticalAlignment = VerticalAlignment.Center;

            tbX.Text = pt.X.ToString();
            tbY.Text = pt.Y.ToString();

            tbX.MaxLength = 3;
            tbY.MaxLength = 3;

            tbX.Width = 25;
            tbY.Width = 25;

            tbX.Height = 23;
            tbY.Height = 23;

            tbX.TextAlignment = TextAlignment.Center;
            tbY.TextAlignment = TextAlignment.Center;

            //

            // Цвет

            UIAcolorBox clrBox = new UIAcolorBox(
                pt.TextColor.GetColor());
            //

            // Размер
            Label   lbl_size = new Label();
            TextBox tbS      = new TextBox();

            lbl_size.Content           = "Размер";
            lbl_size.VerticalAlignment = VerticalAlignment.Center;

            tbS.Text = pt.Size.ToString();

            tbS.Width  = 25;
            tbS.Height = 23;
            //

            // Флаги
            StackPanel spFlasgs = new StackPanel();

            CheckBox cbSecond = new CheckBox();
            CheckBox cbMinut  = new CheckBox();
            CheckBox cbHour   = new CheckBox();

            cbSecond.IsChecked = pt.Second;
            cbMinut.IsChecked  = pt.Minute;
            cbHour.IsChecked   = pt.Hour;

            cbSecond.Content = "сек";
            cbMinut.Content  = "мин";
            cbHour.Content   = "час";

            spFlasgs.Children.Add(cbSecond);
            spFlasgs.Children.Add(cbMinut);
            spFlasgs.Children.Add(cbHour);
            //

            //

            labl_ID.Content = ID.ToString();
            //

            Container.Children.Add(lbl_pos);
            Container.Children.Add(tbX);
            Container.Children.Add(
                UIGenerateHelping.NewGridSplitter(10, Container.Background));
            Container.Children.Add(tbY);

            Container.Children.Add(
                UIGenerateHelping.NewGridSplitter(10, Container.Background));

            Container.Children.Add(clrBox);

            Container.Children.Add(
                UIGenerateHelping.NewGridSplitter(10, Container.Background));

            Container.Children.Add(lbl_size);
            Container.Children.Add(tbS);

            Container.Children.Add(
                UIGenerateHelping.NewGridSplitter(10, Container.Background));

            Container.Children.Add(spFlasgs);

            clrBox.Uid   = "clrBox";
            tbX.Uid      = "tbX";
            tbY.Uid      = "tbY";
            tbS.Uid      = "tbS";
            spFlasgs.Uid = "spF";
            cbSecond.Uid = "cbS";
            cbMinut.Uid  = "cbM";
            cbHour.Uid   = "cbH";
        }
        static private XmlElement XmlElFromPageTime(AbstrPageEl pEl, XmlDocument xdd)
        {
            PageTime pt = (PageTime)pEl;
            // Описание элемента
            var ndPageEl = xdd.CreateElement(
                (XMLDefines.XMLTag.PageEl).ToString());

            var attrTypeEl = xdd.CreateAttribute(
                XMLDefines.XMLTimeAttr.TypeEl.ToString());

            attrTypeEl.Value = ((int)pt.GetTypeEl()).ToString();

            ndPageEl.Attributes.Append(attrTypeEl);

            // Позиция
            var ndPos = xdd.CreateElement(
                XMLDefines.XMLTimeTag.Position.ToString());

            var attrPosX = xdd.CreateAttribute(
                XMLDefines.XMLTimeAttr.PosX.ToString());
            var attrPosY = xdd.CreateAttribute(
                XMLDefines.XMLTimeAttr.PosY.ToString());

            attrPosX.Value = pt.X.ToString();
            attrPosY.Value = pt.Y.ToString();

            ndPos.Attributes.Append(attrPosX);
            ndPos.Attributes.Append(attrPosY);

            // Цвет
            var ndClr = xdd.CreateElement(
                XMLDefines.XMLTimeTag.Color.ToString());

            var attrClr = xdd.CreateAttribute(
                XMLDefines.XMLTimeAttr.ColorValue.ToString());

            attrClr.Value = pt.TextColor.ToHex();

            ndClr.Attributes.Append(attrClr);

            // Размер
            var ndSz = xdd.CreateElement(
                XMLDefines.XMLTimeTag.Size.ToString());

            var attrSz = xdd.CreateAttribute(
                XMLDefines.XMLTimeAttr.SizeValue.ToString());

            attrSz.Value = pt.Size.ToString();

            ndSz.Attributes.Append(attrSz);

            // Данные
            var ndDt = xdd.CreateElement(
                XMLDefines.XMLTimeTag.Data.ToString());

            var attrSec = xdd.CreateAttribute(
                XMLDefines.XMLTimeAttr.DataTmFlag.ToString());

            attrSec.Value  = pt.Second ? "1" : "0";
            attrSec.Value += pt.Minute ? "1" : "0";
            attrSec.Value += pt.Hour ? "1" : "0";

            ndDt.Attributes.Append(attrSec);


            //
            ndPageEl.AppendChild(ndPos);
            ndPageEl.AppendChild(ndClr);
            ndPageEl.AppendChild(ndSz);
            ndPageEl.AppendChild(ndDt);

            return(ndPageEl);
        }