public static void AddPhyloTreeEdge(PhyloTree phyloTree, IDiagramItem parentNodeSource, IDiagramItem childNodeSource, double weight = 1) { phyloTree.Edges.Add(new PhyloEdge(AddNode(phyloTree, parentNodeSource), AddNode(phyloTree, childNodeSource)) { Weight = (int)weight }); }
public static void AddEdge(GeometryGraph geometryGraph, IDiagramItem parentNodeSource, IDiagramItem childNodeSource, double weight) { geometryGraph.Edges.Add(new Edge(AddNode(geometryGraph, parentNodeSource), AddNode(geometryGraph, childNodeSource)) { Weight = (int)weight }); }
/// <summary> /// The create connection. /// </summary> /// <param name="psourceItem">The source item.</param> /// <param name="pdestinationItem">The destination item.</param> /// <returns>The <see cref="IConnection" />.</returns> public override IConnection CreateConnection(IDiagramItem psourceItem, IDiagramItem pdestinationItem) { return new ExpressionConnection { SourceItem = psourceItem, DestinationItem = pdestinationItem }; }
public static Node AddNode(GeometryGraph geometryGraph, IDiagramItem item) { Node msaglNode = geometryGraph.FindNodeByUserData(item); if (msaglNode == null) { msaglNode = new Node(CreateCurve(item), item); geometryGraph.Nodes.Add(msaglNode); } return(msaglNode); }
CategoryData GetProductByItem(IDiagramItem item) { if (item == null) { return(null); } CategoryData result; ItemToProductCache.TryGetValue(item, out result); return(result); }
CustomerData GetCustomerByItem(IDiagramItem item) { if (item == null) { return(null); } CustomerData result; ItemToWarehouseCache.TryGetValue(item, out result); return(result); }
private void LoadPerstistDesignerItems(IDiagramItem wholeDiagramToLoad, IDiagramViewModel diagramViewModel) { //load diagram items foreach (DiagramItemData diagramItemData in wholeDiagramToLoad.DesignerItems) { if (diagramItemData.ItemType == typeof(PersistDesignerItem)) { PersistDesignerItem persistedDesignerItem = databaseAccessService.FetchPersistDesignerItem(diagramItemData.ItemId); PersistDesignerItemViewModel persistDesignerItemViewModel = new PersistDesignerItemViewModel(persistedDesignerItem.Id, diagramViewModel, persistedDesignerItem.Left, persistedDesignerItem.Top, persistedDesignerItem.ItemWidth, persistedDesignerItem.ItemHeight, persistedDesignerItem.HostUrl); diagramViewModel.Items.Add(persistDesignerItemViewModel); } if (diagramItemData.ItemType == typeof(SettingsDesignerItem)) { SettingsDesignerItem settingsDesignerItem = databaseAccessService.FetchSettingsDesignerItem(diagramItemData.ItemId); SettingsDesignerItemViewModel settingsDesignerItemViewModel = new SettingsDesignerItemViewModel(settingsDesignerItem.Id, diagramViewModel, settingsDesignerItem.Left, settingsDesignerItem.Top, settingsDesignerItem.ItemWidth, settingsDesignerItem.ItemHeight, settingsDesignerItem.Setting1); diagramViewModel.Items.Add(settingsDesignerItemViewModel); } if (diagramItemData.ItemType == typeof(GroupDesignerItem)) { GroupDesignerItem groupDesignerItem = databaseAccessService.FetchGroupingDesignerItem(diagramItemData.ItemId); GroupingDesignerItemViewModel groupingDesignerItemViewModel = new GroupingDesignerItemViewModel(groupDesignerItem.Id, diagramViewModel, groupDesignerItem.Left, groupDesignerItem.Top, groupDesignerItem.ItemWidth, groupDesignerItem.ItemHeight); if (groupDesignerItem.DesignerItems != null && groupDesignerItem.DesignerItems.Count > 0) { LoadPerstistDesignerItems(groupDesignerItem, groupingDesignerItemViewModel); } diagramViewModel.Items.Add(groupingDesignerItemViewModel); } } //load connection items foreach (int connectionId in wholeDiagramToLoad.ConnectionIds) { Connection connection = databaseAccessService.FetchConnection(connectionId); DesignerItemViewModelBase sourceItem = GetConnectorDataItem(diagramViewModel, connection.SourceId, connection.SourceType); ConnectorOrientation sourceConnectorOrientation = GetOrientationForConnector(connection.SourceOrientation); FullyCreatedConnectorInfo sourceConnectorInfo = GetFullConnectorInfo(connection.Id, sourceItem, sourceConnectorOrientation); DesignerItemViewModelBase sinkItem = GetConnectorDataItem(diagramViewModel, connection.SinkId, connection.SinkType); ConnectorOrientation sinkConnectorOrientation = GetOrientationForConnector(connection.SinkOrientation); FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation); ConnectorViewModel connectionVM = new ConnectorViewModel(connection.Id, diagramViewModel, sourceConnectorInfo, sinkConnectorInfo); diagramViewModel.Items.Add(connectionVM); } }
private void SavePersistDesignerItem(IDiagramItem wholeDiagramToSave, IDiagramViewModel diagramViewModel) { //Save all PersistDesignerItemViewModel foreach (var persistItemVM in diagramViewModel.Items.OfType <PersistDesignerItemViewModel>()) { PersistDesignerItem persistDesignerItem = new PersistDesignerItem(persistItemVM.Id, persistItemVM.Left, persistItemVM.Top, persistItemVM.ItemWidth, persistItemVM.ItemHeight, persistItemVM.HostUrl); persistItemVM.Id = databaseAccessService.SavePersistDesignerItem(persistDesignerItem); wholeDiagramToSave.DesignerItems.Add(new DiagramItemData(persistDesignerItem.Id, typeof(PersistDesignerItem))); } //Save all SettingsDesignerItemViewModel foreach (var settingsItemVM in diagramViewModel.Items.OfType <SettingsDesignerItemViewModel>()) { SettingsDesignerItem settingsDesignerItem = new SettingsDesignerItem(settingsItemVM.Id, settingsItemVM.Left, settingsItemVM.Top, settingsItemVM.ItemWidth, settingsItemVM.ItemHeight, settingsItemVM.Setting1); settingsItemVM.Id = databaseAccessService.SaveSettingDesignerItem(settingsDesignerItem); wholeDiagramToSave.DesignerItems.Add(new DiagramItemData(settingsDesignerItem.Id, typeof(SettingsDesignerItem))); } //Save all GroupingDesignerItemViewModel foreach (var groupingItemVM in diagramViewModel.Items.OfType <GroupingDesignerItemViewModel>()) { GroupDesignerItem groupDesignerItem = new GroupDesignerItem(groupingItemVM.Id, groupingItemVM.Left, groupingItemVM.Top, groupingItemVM.ItemWidth, groupingItemVM.ItemHeight); if (groupingItemVM.Items != null && groupingItemVM.Items.Count > 0) { SavePersistDesignerItem(groupDesignerItem, groupingItemVM); } groupingItemVM.Id = databaseAccessService.SaveGroupingDesignerItem(groupDesignerItem); wholeDiagramToSave.DesignerItems.Add(new DiagramItemData(groupDesignerItem.Id, typeof(GroupDesignerItem))); } //Save all connections which should now have their Connection.DataItems filled in with correct Ids foreach (var connectionVM in diagramViewModel.Items.OfType <ConnectorViewModel>()) { FullyCreatedConnectorInfo sinkConnector = connectionVM.SinkConnectorInfo as FullyCreatedConnectorInfo; Connection connection = new Connection( connectionVM.Id, connectionVM.SourceConnectorInfo.DataItem.Id, GetOrientationFromConnector(connectionVM.SourceConnectorInfo.Orientation), GetTypeOfDiagramItem(connectionVM.SourceConnectorInfo.DataItem), sinkConnector.DataItem.Id, GetOrientationFromConnector(sinkConnector.Orientation), GetTypeOfDiagramItem(sinkConnector.DataItem)); connectionVM.Id = databaseAccessService.SaveConnection(connection); wholeDiagramToSave.ConnectionIds.Add(connectionVM.Id); } }
protected override void OnItemRemoved(IDiagramItem item) { base.OnItemRemoved(item); }
public static ICurve CreateCurve(IDiagramItem item) { return(CurveFactory.CreateRectangle(item.ActualSize.Width, item.ActualSize.Height, new Point())); }
public void RefreshItems(StatisticsItem[] items, DateTime since, DateTime to) { var refresh = new Action(() => { diagramsHost.MaxDate = to; diagramsHost.MinDate = since; var diagrams = new List <IDiagramItem>(); if (items.Any()) { lblDataEmpty.Visibility = Visibility.Collapsed; diagramsHost.Visibility = Visibility.Visible; foreach (var info in _infos) { var scenarioName = info.Name; IDiagramItem diagram = null; if (info.ValueTypeName == Lazurite.ActionsDomain.Utils.GetValueTypeClassName(typeof(FloatValueType))) { var unit = (ScenariosRepository.Scenarios.FirstOrDefault(x => x.Id == info.ID)?.ValueType as FloatValueType).Unit?.Trim(); if (!string.IsNullOrEmpty(unit)) { scenarioName += ", " + unit; } diagram = new GraphicsDiagramItemView(); } else if (info.ValueTypeName == Lazurite.ActionsDomain.Utils.GetValueTypeClassName(typeof(StateValueType))) { diagram = new StatesDiagramItemView(); } else if (info.ValueTypeName == Lazurite.ActionsDomain.Utils.GetValueTypeClassName(typeof(ToggleValueType))) { diagram = new ToggleDiagramItemView(); } else { diagram = new InfoDiagramItemView(); } var curItems = items.Where(x => x.Target.ID == info.ID).ToArray(); diagram.SetPoints(scenarioName, curItems); diagrams.Add(diagram); } var ordered = diagrams .OrderByDescending(x => x is ToggleDiagramItemView) .OrderByDescending(x => x is StatesDiagramItemView) .OrderByDescending(x => x is GraphicsDiagramItemView) .ToArray(); diagramsHost.SetItems(ordered); } if (!items.Any() || !diagrams.Any()) { lblDataEmpty.Visibility = Visibility.Visible; } }); if (IsLoaded) { refresh(); } else { Loaded += (o, e) => refresh(); } }
/// <summary> /// The create connection. /// </summary> /// <param name="psourceItem">The source item.</param> /// <param name="pdestinationItem">The destination item.</param> /// <returns>The <see cref="IConnection" />.</returns> public override IConnection CreateConnection(IDiagramItem psourceItem, IDiagramItem pdestinationItem) { return null; }
/// <summary> /// The create connection. /// </summary> /// <param name="psourceItem">The source item.</param> /// <param name="pdestinationItem">The destination item.</param> /// <returns>The <see cref="IConnection" />.</returns> public virtual IConnection CreateConnection(IDiagramItem psourceItem, IDiagramItem pdestinationItem) { return null; }
protected override void OnChildBoundsChanged(IDiagramItem diagramItem) { }