Esempio n. 1
0
 /// <summary>
 /// Creates new instance of metro tile and assigns the name and text to it.
 /// </summary>
 /// <param name="sItemName">Item name.</param>
 /// <param name="ItemText">item text.</param>
 public MetroTileItem(string sItemName, string ItemText)
     : base(sItemName, ItemText)
 {
     _Frames = new CustomCollection<MetroTileFrame>();
     _Frames.CollectionChanged += new NotifyCollectionChangedEventHandler(FramesCollectionChanged);
     MetroTileFrame frame = new MetroTileFrame();
     frame.MarkupLinkClick += new MarkupLinkClickEventHandler(MarkupLinkClick);
     _Frames.Add(frame);
 }
Esempio n. 2
0
 public object Clone()
 {
     MetroTileFrame frame = new MetroTileFrame();
     if (this.Image != null)
         frame.Image = (Image)this.Image.Clone();
     frame.ImageIndent = this.ImageIndent;
     frame.Text = this.Text;
     frame.TextMarkupEnabled = this.TextMarkupEnabled;
     //frame.TileStyle.ApplyFontStyle(this.TileStyle);
     frame.TileStyle.ApplyStyle(this.TileStyle);
     frame.TileColor = this.TileColor;
     frame.TitleText = this.TitleText;
     frame.TitleTextAlignment = this.TitleTextAlignment;
     frame.TitleTextColor = this.TitleTextColor;
     if (this.TitleTextFont != null)
         frame.TitleTextFont = (Font)this.TitleTextFont.Clone();
     frame.ImageTextAlignment = this.ImageTextAlignment;
     frame.FrameDisplayDuration = this.FrameDisplayDuration;
     frame.Symbol = this.Symbol;
     frame.SymbolSize = this.SymbolSize;
     return frame;
 }
Esempio n. 3
0
        internal Font GetTitleTextFont(MetroTileFrame frame, ElementStyle style, Control control)
        {
            Font titleFont = frame.TitleTextFont;
            if (titleFont == null && style != null) titleFont = style.Font;
            if (titleFont == null && control != null) titleFont = control.Font;
            if (titleFont == null) titleFont = SystemFonts.DefaultFont; // SystemInformation.MenuFont;

            return titleFont;
        }
Esempio n. 4
0
        internal static Size MeasureText(MetroTileFrame item, Graphics g, int containerWidth, Font font, eTextFormat stringFormat, bool rightToLeft)
        {
            if (item.Text == "" && item.TextMarkupBody == null) return Size.Empty;

            Size textSize = Size.Empty;

            if (item.TextMarkupBody == null)
            {
                textSize = TextDrawing.MeasureString(g, ButtonItemPainter.GetDrawText(item.Text), font, containerWidth, stringFormat);
            }
            else
            {
                Size availSize = new Size(containerWidth, 1);
                if (containerWidth == 0)
                    availSize.Width = 1600;
                TextMarkup.MarkupDrawContext d = new TextMarkup.MarkupDrawContext(g, font, Color.Empty, false);
                item.TextMarkupBody.Measure(availSize, d);
                availSize = item.TextMarkupBody.Bounds.Size;
                if (containerWidth != 0)
                    availSize.Width = containerWidth;
                d.RightToLeft = rightToLeft;
                item.TextMarkupBody.Arrange(new Rectangle(0, 0, availSize.Width, availSize.Height), d);

                textSize = item.TextMarkupBody.Bounds.Size;
            }

            return textSize;
        }