示例#1
0
        public double ArrangeAttributes(IAttributeItemVisual attributeVisual, Dictionary <string, double> staffPositions, double currentPosition = 0.0)
        {
            double width = currentPosition;

            LayoutStyle.MeasureLayoutStyle attributesLayout = ViewModel.ViewModelLocator.Instance.Main.CurrentLayout.LayoutStyle.MeasureStyle;

            switch (attributeVisual.AttributeType)
            {
            case AttributeType.clef:
                ClefContainerItem clef = attributeVisual as ClefContainerItem;
                width += clef.ItemLeftMargin;
                SetLeft(clef.ItemCanvas, width);
                width += clef.ItemWidth + clef.ItemRightMargin;
                break;

            case AttributeType.key:
                KeyContainerItem key = attributeVisual as KeyContainerItem;
                width += key.ItemLeftMargin;
                SetLeft(key.ItemCanvas, width);
                width += key.ItemWidth + (key.ItemWidth != 0 ? key.ItemRightMargin: 0);
                break;

            case AttributeType.time:
                TimeSignatureContainerItem timeSig = attributeVisual as TimeSignatureContainerItem;
                width += timeSig.ItemLeftMargin;
                SetLeft(timeSig.ItemCanvas, width);
                width += timeSig.ItemWidth + timeSig.ItemRightMargin;
                break;

            default:
                throw new ArgumentException("invalid argument value ", attributeVisual.AttributeType.ToString());
            }

            return(width);
        }
示例#2
0
        public void AppendAttributeWithStaffNumber(IAttributeItemVisual attributeItem, int cursorPosition, string staffNumber)
        {
            Tuple <int, IMeasureItemVisual> attributesVisual = new Tuple <int, IMeasureItemVisual>(cursorPosition, attributeItem);

            AddAttribute(attributeItem);
            itemsWithPosition.AddLast(attributesVisual);
            itemsPositionsPerStaff[staffNumber].Add(attributesVisual);
        }
示例#3
0
 public void AddAttribute(IAttributeItemVisual attributeVisual)//temp
 {
     measureItemsVisuals.AddLast(attributeVisual);
     Children.Add(attributeVisual.ItemCanvas as Canvas);
 }