Ejemplo n.º 1
0
        /// <summary>
        /// Render CSS to position the entity
        /// </summary>
        private void RenderStyle(Draw.Diagram.Entity e, string defaultCss, HtmlTextWriter writer)
        {
            int    width  = e.Width;
            int    height = e.Height;
            int    top    = e.Top;
            int    left   = e.Left;
            string css    = (string.IsNullOrEmpty(e.StyleClass)) ? defaultCss : e.StyleClass;

            // handles the IE box model which adds border outside given dimensions
            if (e.BorderWidth == 1)
            {
                width  -= 2;
                height -= 2;
                top--;
                left--;
            }
            // connector is boxes within boxes so handle box model again
            if (e is Draw.Diagram.Connector)
            {
                left -= 4; top -= 3;
            }

            writer.Write(" class=\"{0}\" style=\"position: absolute; ", css);
            writer.Write("width: {0}px; height: {1}px; ", width, height);
            writer.Write("top: {0}px; left: {1}px; z-index: {2};", top, left, e.Layer);
            if (!(e is Draw.Diagram.Connector))
            {
                if (e.BorderWidth == 0)
                {
                    writer.Write(" border: none;");
                }
                writer.Write(" font-size: {0}px; line-height: {0}px;", e.LabelFontSize);
            }
            writer.Write("\"");
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Render entity label
 /// </summary>
 private void RenderLabel(Draw.Diagram.Entity e, HtmlTextWriter writer)
 {
     if (_wireDomEvents && e.HandleEvents)
     {
         // render EcmaScript to handle click on this entity
         writer.Write("<a onclick=\"Diagram.OnItemClick('{0}',", e.ID);
         writer.Write("[{0}],[{1}]);\" ",
                      Draw.Diagram.Entity.IdList(e.ConnectedFrom),
                      Draw.Diagram.Entity.IdList(e.ConnectedTo));
         writer.Write("title=\"{0} {1}\">{2}</a>",
                      e.TypeName, e.ID, e.HtmlLabel);
     }
     else if (!string.IsNullOrEmpty(e.ID))
     {
         // show tooltip for this entity
         writer.Write("<acronym title=\"{0} {1}\">{2}</acronym>",
                      e.TypeName, e.ID, e.HtmlLabel);
     }
     else
     {
         // render label alone
         writer.Write(e.HtmlLabel);
     }
     if (!string.IsNullOrEmpty(e.LabelSuffix))
     {
         writer.Write("<span class=\"suffix\">");
         writer.Write(e.LabelSuffix);
         writer.Write("</span>");
     }
 }