public static void OnInsertTable(object sender, ExecutedRoutedEventArgs e) { // RichTextEditor control = (RichControl)sender; RichTextBox richTextBox = (RichControl)sender; if (!richTextBox.Selection.IsEmpty) { richTextBox.Selection.Text = String.Empty; } TextPointer insertionPosition = richTextBox.Selection.Start; Paragraph paragraph = insertionPosition.Paragraph; // Split current paragraph at insertion position insertionPosition = insertionPosition.InsertParagraphBreak(); paragraph = insertionPosition.Paragraph; TablePropertiesDialog tablePropertiesDialog = new TablePropertiesDialog(null); tablePropertiesDialog.ShowDialog(); if (true == tablePropertiesDialog.DialogResult) { //Table table = Helper.BuildTable(/*rows*/2, /*columns*/5); Table table = Helper.BuildTable(tablePropertiesDialog.Rows, tablePropertiesDialog.Columns, tablePropertiesDialog.TableBorderBrush, tablePropertiesDialog.TableBorderThickness, tablePropertiesDialog.TableCellWidth, tablePropertiesDialog.TableType); //table.LineHeight = tablePropertiesDialog.CellWidth; //table.Margin = new Thickness(30,30,30,30); paragraph.SiblingBlocks.InsertBefore(paragraph, table); } }
public static void OnInsertPicture(object sender, ExecutedRoutedEventArgs e) { RichTextEditor control = (RichTextEditor)sender; RichTextBox richTextBox = control.RichTextBox; //### TextPointer textPosition = richTextBox.Selection.Start; if (null != Helper.GetImageAncestor(textPosition)) { PictureCommands.OnEditPictureProperties(sender, e); return; } //### if (!richTextBox.Selection.IsEmpty) { richTextBox.Selection.Text = String.Empty; } TextPointer insertionPosition = richTextBox.Selection.Start; ImagePropertiesDialog imageProperties = new ImagePropertiesDialog(null); imageProperties.ShowDialog(); if (true == imageProperties.DialogResult) { try { Paragraph paragraph = insertionPosition.Paragraph; // Split current paragraph at insertion position insertionPosition = insertionPosition.InsertParagraphBreak(); paragraph = insertionPosition.Paragraph; //paragraph.Inlines.Add("Some "); //AcmBitmapImageHolder acmBitmapImageHolder = new AcmBitmapImageHolder(new Uri(@"http://www.cetelem.cz/images/cetelem2/cetelem_logo_cl_small.gif")); AcmBitmapImageHolder acmBitmapImageHolder = new AcmBitmapImageHolder(new Uri(imageProperties.ImagePath)); //acmBitmapImageHolder.Image.Style= sender. paragraph.Inlines.Add(acmBitmapImageHolder.Image); if (!String.IsNullOrEmpty(imageProperties.ImageHyperlink)) { //### Set hyperlink acmBitmapImageHolder.Image.Tag = imageProperties.ImageHyperlink; Hyperlink hyperlink = new Hyperlink(paragraph.Inlines.LastInline, insertionPosition); hyperlink.NavigateUri = new Uri(imageProperties.ImageHyperlink); } } catch (Exception ex) { MessageBox.Show(String.Format("{0} ({1}) :\n\r{2}", Res.txtLoadPictureFailed, imageProperties.ImageHyperlink, ex), Res.txtEditorName); } } }
/// <summary> /// Handles the actual drop. /// </summary> private void _textArea_PreviewDrop(object sender, DragEventArgs e) { try { if (this.IsEditingLocked) { MessageBox.Show("このリポートは、現在編集出来ません", "レポートがロックされている。", MessageBoxButton.OK, MessageBoxImage.Stop); return; } bool isKMEntity = false; foreach (string format in e.Data.GetFormats()) { if (format.Contains("KnowledgeMapTextEntity")) { isKMEntity = true; } } if (isKMEntity) { KnowledgeMapTextEntity t = (KnowledgeMapTextEntity)e.Data.GetData(typeof(KnowledgeMapTextEntity)); string id = t.Id.ToString(); string body = t.Body; string title = t.SourceReference.DocumentTitle + " (p." + t.SourceReference.PageNumber.ToString() + ")"; using (this._textArea.DeclareChangeBlock()) { Point point = e.GetPosition(this._textArea); TextPointer position = this._textArea.GetPositionFromPoint(point, true); //080731 TextPointer insP = position.InsertParagraphBreak(); //080805 ReportQuoteBoxEX rqb = new ReportQuoteBoxEX(); rqb.Fill = new SolidColorBrush( Color.FromArgb(255, t.Color.Color.R, t.Color.Color.G, t.Color.Color.B)); rqb.QuoteContent = body; rqb.QuoteTitle = title; rqb.PreviewMouseDown += new MouseButtonEventHandler(tb_PreviewMouseDown); rqb.Margin = new Thickness(25, 16, 25, 16); InlineUIContainer container = new InlineUIContainer(rqb, position); //080731 insP.InsertParagraphBreak(); } e.Handled = true; } } catch (Exception ex) { //TODO: Fix message... MessageBox.Show("この位置に引用出来ませんでした。もう一度他の位置で試して見て下さい。\n\n" + "(別の引用の上には駄目ですよ)", "エラー", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Handles the actual drop. /// </summary> private void _textArea_PreviewDrop(object sender, DragEventArgs e) { try { if (this.IsEditingLocked) { MessageBox.Show(Application.Current.Resources["ERR_ReportEditFailed_Locked"] as string, Application.Current.Resources["Str_MsgTitle_ReportLocked"] as string, MessageBoxButton.OK, MessageBoxImage.Stop); return; } bool isKMEntity = false; foreach (string format in e.Data.GetFormats()) { if (format.Contains("KnowledgeMapTextEntity")) { isKMEntity = true; } } if (isKMEntity) { KnowledgeMapTextEntity t = (KnowledgeMapTextEntity)e.Data.GetData(typeof(KnowledgeMapTextEntity)); string id = t.Id.ToString(); string body = t.Body; string title = ""; SolidColorBrush titleFillBrush = Brushes.White; //090220 if (t.EntityType == KnowledgeMapEntityType.ConnectedToDocument) { title = t.SourceReference.DocumentTitle + " (p." + t.SourceReference.PageNumber.ToString() + ")"; titleFillBrush = new SolidColorBrush( Color.FromArgb(255, t.Color.Color.R, t.Color.Color.G, t.Color.Color.B)); } else { title = Application.Current.Resources["Str_UiLbl_ReportReferencedSelfNodeTitle"] as string + " " + t.Title; titleFillBrush = Brushes.DarkGray; } using (this._textArea.DeclareChangeBlock()) { Point point = e.GetPosition(this._textArea); TextPointer position = this._textArea.GetPositionFromPoint(point, true); //080731 TextPointer insP = position.InsertParagraphBreak(); //080805 ReportQuoteBoxEX rqb = new ReportQuoteBoxEX(); rqb.Fill = titleFillBrush; rqb.QuoteContent = body; rqb.QuoteTitle = title; rqb.PreviewMouseDown += new MouseButtonEventHandler(tb_PreviewMouseDown); rqb.Margin = new Thickness(25, 16, 25, 16); InlineUIContainer container = new InlineUIContainer(rqb, position); //080731 insP.InsertParagraphBreak(); } e.Handled = true; } } catch (Exception) { //TODO: Fix message... MessageBox.Show(Application.Current.Resources["EX_ReportReferenceAddFailed"] as string, Application.Current.Resources["Str_ErrorDlgTitle"] as string, MessageBoxButton.OK, MessageBoxImage.Error); } }