<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 27/02/2010 14:27, Don Sawatzky wrote:
<blockquote cite="mid:78972C4793B74893A9A475EB49FE2CE4@fivemile"
 type="cite">
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <meta name="GENERATOR" content="MSHTML 8.00.7600.16490">
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">I have a FlowDocument as a visual in
a RichTextBox that I want to print.&nbsp; However, I want to print the
visual with different page attributes.&nbsp; So, I tried the most
IronPythonic way.</font></div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printFlowDocument =
FlowDocument(); etc.....</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printFlowDocument.Blocks
= visualFlowDocument.Blocks&nbsp; # Won't work because Blocks is read-only
attribute</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDialog.PrintDocument(printFlowDocument.......)</font></div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">This way works fine:</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; visualflowDoc =
richTextBox.Document<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printFlowDoc.Blocks.Add(visualflowDoc.Blocks.LastBlock) #
Visual disappears<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pDialog.PrintDocument(printFlowDoc......)</font></div>
  <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font face="Arial" size="2">visualFlowDoc.Blocks.Add(printFlowDoc.Blocks.LastBlock)
# Visual reappears</font></div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">The Add method of Blocks, which is a
Collection, acts as a "copy and delete", and I hoped it&nbsp;would act as a
Python "list.append".&nbsp; I wonder if there is a more&nbsp;IronPythonic way to
do this or if .Net Collection is not broadly wrapped by Python list.&nbsp; I
know that getitem, setitem, and&nbsp;iteration work.</font></div>
</blockquote>
The problem is that FlowDocument is a visual element, so if you take
bits of it and put them in another visual element then they aren't
going to be shown in the other one.<br>
<br>
IronPython does a lot to make .NET collections behave as Python
collections (you can use the in operator, the del operator etc), but it
doesn't change their fundamental behavior.<br>
<br>
All the best,<br>
<br>
Michael Foord<br>
<br>
<br>
<blockquote cite="mid:78972C4793B74893A9A475EB49FE2CE4@fivemile"
 type="cite">
  <div>&nbsp;</div>
  <div><font face="Arial" size="2"><a moz-do-not-send="true"
 href="mailto:donsaw@comcast.net">donsaw@comcast.net</a></font></div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.ironpython.com">Users@lists.ironpython.com</a>
<a class="moz-txt-link-freetext" href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com">http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a>
  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.ironpythoninaction.com/">http://www.ironpythoninaction.com/</a>
<a class="moz-txt-link-freetext" href="http://www.voidspace.org.uk/blog">http://www.voidspace.org.uk/blog</a>

READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies (&#8221;BOGUS AGREEMENTS&#8221;) that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.

</pre>
</body>
</html>