CgWinPrinterServer class>>allPrinterScreenInfos

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

CgWinPrinterServer class>>allPrinterScreenInfos

Ralf Helm
Hello,

CwPrinterPrompter used the named method, we use an subclass from CwPrinterPrompter to change the printer options. At version 7.5 allPrinterScreenInfos updated the class variable PrinterScreenInfo with a list of actual printers and their options, so that at the next option change via CwPrinterPrompter, the last options in the Printeroptions-Dialog are present. This behavior is changed with version 8.5, via allPrinterScreenInfos I get every time the default printer options. Is this a bug or volitional?

Regards

Ralf

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: CgWinPrinterServer class>>allPrinterScreenInfos

Bob Brodd
Hi Ralf,

This change is by design. The older (7.5) version of the method caches printerScreenInfos such that once one is instantiated for a particular printer, it is never updated from the OS.  This means that the printerScreenInfo(s) in Smalltalk may become out of sync with the current printer information.  The newer version always creates new instances of printerScreenInfos based on the current printer information when you call CgWinPrinterServer class>>allPrinterScreenInfos.

The downside of this change is that you can no longer expect to get back the same printerScreenInfo instance (for a particular printer) every time you call allPrinterScreenInfos.  If you have set some printerScreenInfo values and then call allPrinterScreenInfos to get the printerScreenInfo, your changes will not be reflected in the new one.  

My recommendation is to only call allPrinterScreenInfos when your app initializes or when you think the printers have changed in some way (then throw out all printerScreenInfos you are holding on to and reinitialize them). 

Thanks,
Bob Brodd

On Wednesday, January 8, 2014 9:37:07 AM UTC-5, Ralf Helm wrote:
Hello,

CwPrinterPrompter used the named method, we use an subclass from CwPrinterPrompter to change the printer options. At version 7.5 allPrinterScreenInfos updated the class variable PrinterScreenInfo with a list of actual printers and their options, so that at the next option change via CwPrinterPrompter, the last options in the Printeroptions-Dialog are present. This behavior is changed with version 8.5, via allPrinterScreenInfos I get every time the default printer options. Is this a bug or volitional?

Regards

Ralf

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: CgWinPrinterServer class>>allPrinterScreenInfos

Ralf Helm
In reply to this post by Ralf Helm
Hello Bob,

many thanks for the information. I think, currently is CwPrinterPrompter useless and I think the old behavior is better, because the list of printers is always actual and the settings are as I have made it.

Best Regards

Ralf

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.