Beispiel #1
0
        private void GetModuleSettings(FrameworkElement fe)
        {
            var settings = VisualEx.GetModuleSettings(fe);

            if (settings != null)
            {
                Manager.Config.SaveModulesSettingsCompressed(fe.GetType().Name, settings);
            }
        }
Beispiel #2
0
        private void ContainerItem_Loaded(object sender, RoutedEventArgs e)
        {
            var itemsPanel    = (ItemsWrapGrid)_patternPickerGridView.ItemsPanelRoot;
            var itemContainer = (GridViewItem)sender;

            itemContainer.Loaded -= this.ContainerItem_Loaded;

            var button = itemContainer.FindDescendant <Button>();

            if (button != null)
            {
                button.Click -= MoreInfoClicked;
                button.Click += MoreInfoClicked;
            }

            if (!_isCreatorsUpdateOrAbove)
            {
                return;
            }

            var itemIndex = _patternPickerGridView.IndexFromContainer(itemContainer);

            var referenceIndex = itemsPanel.FirstVisibleIndex;

            if (_patternPickerGridView.SelectedIndex >= 0)
            {
                referenceIndex = _patternPickerGridView.SelectedIndex;
            }

            var relativeIndex = Math.Abs(itemIndex - referenceIndex);

            if (itemContainer.Content != CurrentPattern && itemIndex >= 0 && itemIndex >= itemsPanel.FirstVisibleIndex && itemIndex <= itemsPanel.LastVisibleIndex)
            {
                var staggerDelay = TimeSpan.FromMilliseconds(relativeIndex * 30);

                var animationCollection = new AnimationCollection()
                {
                    new OpacityAnimation()
                    {
                        From = 0, To = 1, Duration = TimeSpan.FromMilliseconds(400), Delay = staggerDelay, SetInitialValueBeforeDelay = true
                    },
                    new ScaleAnimation()
                    {
                        From = "0.9", To = "1", Duration = TimeSpan.FromMilliseconds(400), Delay = staggerDelay
                    }
                };

                VisualEx.SetNormalizedCenterPoint(itemContainer, "0.5");

                animationCollection.StartAnimation(itemContainer);
            }
        }
Beispiel #3
0
        private void btn_SelectTechParamsClick(object sender, RoutedEventArgs e)
        {
            var module = VisualEx.FindParent <IModalCompleted>(this);
            var uc     = module as UserControl;

            //if (uc == null) return;

            Manager.UI.CloseLocalModal(() => { }, this);
            var tiId = ((sender as Button).DataContext as FreeHierarchyTreeItem).HierObject.Id;
            var tiFh = ((sender as Button).DataContext as FreeHierarchyTreeItem).HierObject;
            var d    = new TechQualityParams(false, tiId, tiFh);

            d.OnSelectObject += OnSelectObject;
            Manager.UI.ShowLocalModal(d, "Выберите тип мгновенного", this.Parent as FrameworkElement);
        }
        private void OnItemContainerLoaded(object sender, RoutedEventArgs e)
        {
            var itemsPanel    = (ItemsWrapGrid)this.ItemsPanelRoot;
            var itemContainer = (GridViewItem)sender;

            itemContainer.Loaded -= this.OnItemContainerLoaded;

            if (!_isCreatorsUpdateOrAbove)
            {
                return;
            }

            var itemIndex = this.IndexFromContainer(itemContainer);

            var referenceIndex = itemsPanel.FirstVisibleIndex;

            if (this.SelectedIndex >= 0)
            {
                referenceIndex = this.SelectedIndex;
            }

            var relativeIndex = Math.Abs(itemIndex - referenceIndex);

            if (itemIndex >= 0 && itemIndex >= itemsPanel.FirstVisibleIndex && itemIndex <= itemsPanel.LastVisibleIndex)
            {
                var staggerDelay = TimeSpan.FromMilliseconds(relativeIndex * 30);

                var animationCollection = new AnimationCollection()
                {
                    new OpacityAnimation()
                    {
                        From = 0, To = 1, Duration = TimeSpan.FromMilliseconds(400), Delay = staggerDelay, SetInitialValueBeforeDelay = true
                    },
                    new ScaleAnimation()
                    {
                        From = "0.9", To = "1", Duration = TimeSpan.FromMilliseconds(400), Delay = staggerDelay
                    }
                };

                VisualEx.SetNormalizedCenterPoint(itemContainer, "0.5");

                animationCollection.StartAnimation(itemContainer);
            }
        }
Beispiel #5
0
        private void MoreInfoClicked(object sender, RoutedEventArgs e)
        {
            if (_moreInfoContent == null)
            {
                return;
            }

            var button  = (Button)sender;
            var pattern = button.DataContext as Pattern;

            var container = button.FindAscendant <GridViewItem>();

            if (container == null)
            {
                return;
            }

            var point = container.TransformToVisual(this).TransformPoint(new Windows.Foundation.Point(0, 0));

            var x = point.X - ((_moreInfoContent.Width - container.ActualWidth) / 2);
            var y = point.Y - ((_moreInfoContent.Height - container.ActualHeight) / 2);

            x = Math.Max(x, 10);
            x = Math.Min(x, ActualWidth - _moreInfoContent.Width - 10);

            y = Math.Max(y, 10);
            y = Math.Min(y, ActualHeight - _moreInfoContent.Height - 10);

            Canvas.SetLeft(_moreInfoContent, x);
            Canvas.SetTop(_moreInfoContent, y);

            var centerX = (point.X + (container.ActualWidth / 2)) - x;
            var centerY = (point.Y + (container.ActualHeight / 2)) - y;

            VisualEx.SetCenterPoint(_moreInfoContent, new Vector3((float)centerX, (float)centerY, 0).ToString());

            // _patternPickerGridView.PrepareConnectedAnimation("pattern_icon", pattern, "PatternIcon");
            _moreInfoContent.DataContext = pattern;
            _moreInfoCanvas.Visibility   = Visibility.Visible;

            // var animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("pattern_icon");
            // var result = animation.TryStart(_moreInfoImage);
        }
Beispiel #6
0
        private void UserRequest_Click(object sender, RoutedEventArgs e)
        {
            var requestHolder = ((this.Parent as FrameworkElement).FindName("userrequest") as ContentControl);

            if (requestHolder.Visibility == Visibility.Visible)
            {
                requestHolder.Visibility = Visibility.Collapsed;
                var ur = requestHolder.Content as UserRequests;
                if (ur != null)
                {
                    ur.stop();
                }
                requestHolder.Content = null;
            }
            else
            {
                var ur = new UserRequests();
                if (Double.IsNaN(ur.Height))
                {
                    ur.Height = 200;
                }
                if (Double.IsNaN(ur.Width))
                {
                    ur.Width = 400;
                }
                if (Manager.Config.UserRequestSize.Width > 2)
                {
                    ur.Width  = Manager.Config.UserRequestSize.Width;
                    ur.Height = Manager.Config.UserRequestSize.Height;
                }
                var h = WorkPage.CurrentPage.ActualHeight - 55;
                if (h < ur.Height)
                {
                    ur.Height = h;
                }
                ur.MinHeight          = ur.Height;
                requestHolder.Content = ur;
                VisualEx.MakeResizable(requestHolder.Content as FrameworkElement, false);
                requestHolder.Visibility = Visibility.Visible;
            }
        }
Beispiel #7
0
        private void GetAnalyse()
        {
            _grid.DetailConfigurations.Clear();
            _viewSource.DisposeChildren();
            _viewSource.Clear();

            if (!dateStart.SelectedDate.HasValue || !dateEnd.SelectedDate.HasValue)
            {
                Manager.UI.ShowMessage("Необходимо корректно задать начальную и конечную даты!");
                progress.Abort();
                return;
            }

            #region проверяем входящие параметры

            HashSet <int> uspds;
            HashSet <int> tis;
            var           filterObjectsList = GetSelectedObjects(true, out uspds, out tis);
            if (filterObjectsList != null && filterObjectsList.Count == 0 && tis != null && tis.Count == 0)
            {
                Manager.UI.ShowMessage("Необходимо выбрать хотя бы один объект или ТИ для мониторинга!");
                progress.Abort();
                return;
            }

            switch (
                ValidHelper.Valid(enumTimeDiscreteType.DBHours, 1000, dateEnd.SelectedDate.Value - dateStart.SelectedDate.Value,
                                  new Tuple <Xceed.Wpf.Controls.DatePicker, Xceed.Wpf.Controls.DatePicker>(dateStart, dateEnd), GetAnalyse)
                )
            {
            case enumRestartAfterValid.Abort:
                //Ошибка входящих параметров
                progress.Abort();
                return;

            case enumRestartAfterValid.Restart:
                return;
            }

            #endregion

            DateTime    dtStart;
            DateTime    dtEnd;
            double?     maxValue;
            bool        isConcentratorsEnabled;
            bool        isMetersEnabled;
            List <int>  selectedEvents;
            List <byte> selectedСhannels;

            GetParamsFromForm(out dtStart, out dtEnd, out maxValue, out isConcentratorsEnabled, out isMetersEnabled, out selectedEvents, out selectedСhannels);

            this.RunAsync(() => GetObjectsForAnalys(filterObjectsList, uspds, tis, dtStart, dtEnd, maxValue, isConcentratorsEnabled, isMetersEnabled, selectedEvents, selectedСhannels),
                          monitoringFactory =>
            {
                if (monitoringFactory == null || _grid == null)
                {
                    progress.Abort();
                    return;
                }

                ConfigureGrid(monitoringFactory.DtStart, monitoringFactory.DtEnd, monitoringFactory.IsConcentratorsEnabled, monitoringFactory.IsMetersEnabled);
                _viewSource.AddRange(monitoringFactory.MonitoringAnalyseDict.Values);

                var settings = VisualEx.GetModuleSettings(this);
                if (settings != null)
                {
                    Manager.Config.SaveModulesSettingsCompressed(this.GetType().Name, settings);
                }

                progress.Value   = 0;
                progress.Maximum = monitoringFactory.MonitoringAnalyseDict.Count;
                //Собрали в таблицу информацию по шлюзам и концентраторам
                //Теперь собираем информацию по ПУ для этих объектов
                worker = new BackgroundWorker {
                    WorkerSupportsCancellation = true
                };
                worker.DoWork             += WorkerDoWork;
                worker.RunWorkerCompleted += WorkerCompleted;
                worker.RunWorkerAsync(monitoringFactory);
            });
        }