public Placement CalculatePlacementForPanelCell(TLEPanelCell element) { float cellWidth = 0; if (TimeCellWidth == null) { cellWidth = PANEL_CELL_WIDTH;//CalculateDynamicCellWidth(element); } else { var diffticks = EndTime.Ticks - StartTime.Ticks; var numberOfPossibleCellsOnWidth = (((float)diffticks) / TimeCellWidth.Ticks); cellWidth = Placement.Width / numberOfPossibleCellsOnWidth; } var timestampWithGroup = GetStackedElementsForTimeSpan(element.ReferenceElement.GetStartTime()); //TODO Leaving here this needs to change var orderInderForGroupKey = StackedElements.Keys.ToList().IndexOf(timestampWithGroup.Key); var indexInGroup = timestampWithGroup.Value.IndexOf(element); if (indexInGroup == -1) { throw new Exception("Nesu: -1 for " + nameof(indexInGroup)); } Placement placement = new Placement(); placement.X = orderInderForGroupKey * cellWidth; placement.Height = Placement.Height / timestampWithGroup.Value.Count; placement.Y = Placement.Y + Placement.Height - (placement.Height * indexInGroup); placement.Width = cellWidth; placement.Rotation = 0; return(placement); }
//public bool Selected { get; set; } public static TLEPanelCell Parse(ITLEPanelCellElement element) { TLEPanelCell cell = new TLEPanelCell(); cell.GraphicName = GraphicProxy.GenerateGraphicName(); cell.ReferenceElement = element; cell.Placement = new Placement(); return(cell); }
public static List <TLEPanelCell> Parse(List <AnimationRouteFrame> elements) { List <TLEPanelCell> timedElements = new List <TLEPanelCell>(); foreach (var element in elements) { TLEPanelCell cell = Parse(element); timedElements.Add(cell); } return(timedElements); }
public ITLEPanelCellElement GetCellElementBasedOnGraphicName(string graphicName) { if (string.IsNullOrEmpty(graphicName)) { return(null); } TLEPanelCell cell = PanelCells.Where(w => w.GraphicName == graphicName).FirstOrDefault(); if (cell != null) { return(cell.ReferenceElement); } return(null); }
public void SelectPanelCell(TLEPanelCell panelCell) { SelectedPanelCell = panelCell; }
public void SelectPanelCell(string elementName) { TLEPanelCell cell = GetCell(elementName); SelectedPanelCell = cell; }
//public void MovePanelCellTime(string graphicName, float precentage) //{ // var timespan = new TimeSpan((long)((EndTime.Ticks - StartTime.Ticks) * precentage)); // MovePanelCellTime(graphicName, StartTime + timespan); //} public void RemovePanelCell(TLEPanelCell panelCell) { PanelCells.Remove(panelCell); }
public void MovePanelCellTime(TLEPanelCell panelCell, TimeSpan destenationTime) { panelCell.ReferenceElement.SetStartTime(destenationTime); }