private void GetModuleSettings(FrameworkElement fe) { var settings = VisualEx.GetModuleSettings(fe); if (settings != null) { Manager.Config.SaveModulesSettingsCompressed(fe.GetType().Name, settings); } }
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); } }
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); } }
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); }
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; } }
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); }); }