Пример #1
0
        internal static void CreateInterfacesMenuForTest(MainMenu i_Menu)
        {
            CountCapital count        = new CountCapital();
            MenuItem     CountCapital = new Menu.Interfaces.MenuItem("Count Capital", count, i_Menu);
            ShowVersion  version      = new ShowVersion();

            Menu.Interfaces.MenuItem        ShowVersion     = new Menu.Interfaces.MenuItem("Show Version", version, i_Menu);
            List <Menu.Interfaces.MenuItem> digitAndVersion = new List <Menu.Interfaces.MenuItem>();

            digitAndVersion.Add(CountCapital);
            digitAndVersion.Add(ShowVersion);
            Menu.Interfaces.MenuItem option1 = new Menu.Interfaces.MenuItem("Version and Digits", digitAndVersion, i_Menu);
            i_Menu.Item.SubMenu.Add(option1);

            ShowTime time = new ShowTime();

            Menu.Interfaces.MenuItem showTime = new Menu.Interfaces.MenuItem("Show Time", time, i_Menu);
            ShowDate date = new ShowDate();

            Menu.Interfaces.MenuItem        showDate    = new Menu.Interfaces.MenuItem("Show Date", date, i_Menu);
            List <Menu.Interfaces.MenuItem> dateAndTime = new List <Menu.Interfaces.MenuItem>();

            dateAndTime.Add(showTime);
            dateAndTime.Add(showDate);
            Menu.Interfaces.MenuItem option2 = new Menu.Interfaces.MenuItem("Show Date/Time", dateAndTime, i_Menu);
            i_Menu.Item.SubMenu.Add(option2);
        }
Пример #2
0
    [MenuItem("CONTEXT/ShowDate/AddTen")]           // CONTEXT 组件名 按钮名
    static void InitHealthAndSpeed(MenuCommand cmd) //menucommand是当前正在操作的组件
    {
        //Debug.Log(cmd.context.GetType().FullName);
        ShowDate date = cmd.context as ShowDate;

        date.num = 10;
        Debug.Log("Init");
    }
        protected override void OnInitialized()
        {
            if (DateTimeService != null && ProtectionProvider != null && !string.IsNullOrWhiteSpace(ShowDate))
            {
                var dateRoute = ShowDate.Decrypt(ProtectionProvider);
                int[]? parts = dateRoute.Split("-").Select(str => int.Parse(str)).ToArray();
                (int month, int day, int year) = (parts[0], parts[1], parts[2]);
                RequestShow = new RequestModel
                {
                    ShowDate = new DateTimeOffset(
                        year, month, day, 11, 0, 0,
                        DateTimeService.GetCentralTimeZoneOffset(
                            new DateTime(year, month, day)))
                };

                _editContext = new EditContext(RequestShow);
                _editContext.OnFieldChanged += OnModelChanged;
            }
        }
Пример #4
0
        private void DrawState()
        {
            cvMain.Children.Clear();
            double allWidth   = cvMain.ActualWidth;
            double baseHeight = cvMain.ActualHeight;

            if ((allWidth <= 0) && (!double.IsNaN(cvMain.Width)))
            {
                allWidth = cvBottomTime.Width;
            }
            if (allWidth <= 0)
            {
                return;
            }

            foreach (TimeFormat data in StateData)
            {
                DateTime minTime = (DateTime)data.BeginTime;
                DateTime maxTime = (DateTime)data.EndTime;

                if (minTime < ShowDate)
                {
                    minTime = ShowDate;
                }
                if (maxTime > ShowDate.AddDays(1))
                {
                    maxTime = ShowDate.AddDays(1);
                }

                if (minTime > maxTime)
                {
                    continue;
                }

                Double left = 0;

                if (minTime > ShowDate)
                {
                    double beginSpan = minTime.Subtract(ShowDate).TotalSeconds; //按照秒计算
                    left = allWidth * beginSpan / (60 * 60 * 24);
                }

                double span = maxTime.Subtract(minTime).TotalSeconds + 0.001; //按照秒计算

                double    thisWidth = allWidth * span / (60 * 60 * 24);
                Brush     brush     = data.StateColor;
                Rectangle retc      = new Rectangle()
                {
                    Width           = thisWidth,
                    Height          = baseHeight,
                    Fill            = brush,
                    Stroke          = data.BordBrush ?? brush,
                    StrokeThickness = 1
                };

                Canvas.SetLeft(retc, left);
                Canvas.SetTop(retc, 0);

                data.Left   = left;
                data.Right  = left + thisWidth;
                data.Rect   = retc;
                data.Height = baseHeight;
                data.Widht  = thisWidth;

                cvMain.Children.Add(retc);

                if ((data.ShowText) && (!string.IsNullOrEmpty(data.StateText)))
                {
                    TextBlock tb = new TextBlock()
                    {
                        Text          = data.StateText,
                        Height        = baseHeight,
                        Width         = thisWidth,
                        TextAlignment = TextAlignment.Center,
                        Foreground    = data.TextColor ?? this.Foreground,
                    };
                    Canvas.SetLeft(tb, left);
                    Canvas.SetTop(tb, baseHeight / 2 - 12);
                    cvMain.Children.Add(tb);
                }
            }
        }