/// <summary> /// Insert a media link into the document /// </summary> /// <param name="sender">The sender of the event</param> /// <param name="e">The event arguments</param> private void MediaLinkItem_Click(object sender, EventArgs e) { TextArea textArea = editor.ActiveTextAreaControl.TextArea; ImageReference ir = cmsDropImage.Tag as ImageReference; if (ir != null) { if (sender == miMediaLink) { ContentEditorControl.InsertString(textArea, ir.ToMediaLink()); } else if (sender == miMediaLinkInline) { ContentEditorControl.InsertString(textArea, ir.ToMediaLinkInline()); } else { ContentEditorControl.InsertString(textArea, ir.ToExternalLink()); } } }
/// <summary> /// Get the text to copy or use for drag and drop operations /// </summary> /// <returns>The text to use or null if there is nothing to copy</returns> private string GetTextToCopy() { EntityReference r = tvEntities.SelectedItem as EntityReference; string textToCopy = null; if (r != null) { switch (r.EntityType) { case EntityType.File: // Not useable break; case EntityType.Token: Token t = (Token)r.Tag; textToCopy = t.ToToken(); break; case EntityType.Image: ImageReference ir = (ImageReference)r.Tag; if (rbMediaLink.IsChecked.Value) { textToCopy = ir.ToMediaLink(); } else if (rbMediaLinkInline.IsChecked.Value) { textToCopy = ir.ToMediaLinkInline(); } else if (rbExternalLink.IsChecked.Value) { textToCopy = ir.ToExternalLink(); } else { textToCopy = ir.ToImageLink(); } break; case EntityType.CodeSnippet: CodeReference cr = (CodeReference)r.Tag; textToCopy = cr.ToCodeReference(); break; case EntityType.TocEntry: TocEntry toc = (TocEntry)r.Tag; // MAML topic? if (!String.IsNullOrEmpty(toc.Id)) { if (rbMamlLink.IsChecked.Value) { textToCopy = String.Format(CultureInfo.InvariantCulture, "<link xlink:href=\"{0}\" />", (toc.Id ?? "[Unknown ID]")); } else if (rbConceptualLink.IsChecked.Value) { textToCopy = String.Format(CultureInfo.InvariantCulture, "<conceptualLink target=\"{0}\" />", (toc.Id ?? "[Unknown ID]")); } else { textToCopy = String.Format(CultureInfo.InvariantCulture, "<a href=\"html/{0}.htm\">{1}</a>", toc.Id, toc.Title); } } else { textToCopy = toc.ToAnchor(toc.Title); } break; default: // Code entity reference CodeEntityReference ce = (CodeEntityReference)r.Tag; if (rbCodeEntityRef.IsChecked.Value) { textToCopy = ce.ToCodeEntityReference(); } else { textToCopy = ce.ToSee(); } break; } } return(textToCopy); }