Hi,

IIRC this is a virtual method and all derived classes should return a
printer.

Regards,
Mathias

Zhang Xiaofei wrote:

> Hi Mikhail,
> 
> Here is the new patch for i6010, sorry I did not send it earlier, but 
> again a new problem happens: the msole object doesn't print.
> After a quick debug I found it's because the current implementation of 
> SfxViewShell::GetPrinter() always return a null pointer. I suppose some 
> work is just undone here?( I'm still confused that the method has 
> already widely used though )
> Do you think we should implement this method or is there a workaround 
> for our case? I'm looking forward to your suggestions.
> 
> Thanks and Best Regards,
> Felix.
> 
> 
> Mikhail Voitenko 
>> Hi Felix,
>>
>> I am awfully sorry for the delay with answer. I had to do some 
>> investigations to find out how a replacement image could be printed.
>>
>> The implementation should be done on the container side in this case. 
>> The container side has the replacement image and access to the vcl 
>> implementation. So I would suggest to throw UnreachableStateException 
>> from the MSOLE object in case "Print" verb is provided to doVerb() 
>> call. The implementation in the sfx2/source/view/ipclient.cxx in 
>> method DoVerb() should check in case of this exception whether the 
>> PRINT verb is used ( it is already don for the default verb in similar 
>> way ). In this case the container should try to print the replacement 
>> image.
>>
>> The printing can be implemented in following way:
>> - get the container SfxViewShell using GetViewShell() call from DoVerb
>> - if the shell is not NULL use pViewShell->GetPrinter() call to get 
>> the printer
>> - if the printer is not null please get the graphics from the 
>> replacement image, that would need the following steps:
>>    - Please get the container object shell using 
>> pViewShell->GetObjectShell()
>>    - if it is not NULL please call 
>> pObjectShell->GetEmbeddedObjectContainer().GetGraphicStream( 
>> m_pImp->m_xObject )
>>    - now the stream has to be converted to Graphic object, please see 
>> the implementation in svtools/source/misc/embedhlp.cxx in method 
>> EmbeddedObjectRef::GetReplacement() as example
>>    - after you have Graphic object you can execute pGraphic->Draw( 
>> pPrinter, Point( 0, 0 ) )
>>
>> We can discuss further details/questions tomorrow on IRC meeting.
>>
>> As for the testing, it would be nice to test the functionality on 
>> Linux, but in this case it is not really necessary I think. The 
>> implementation looks generally to be platform independent, so it is 
>> not necessary to spend time an prepare the linux build only for this.
>>
>> Best regards,
>> Mikhail.
>>
>> On 02/24/09 05:02, Zhang Xiaofei wrote:
>>> Hi Mikhail,
>>>
>>> Thank you for your hint, here I created a small fragmentary patch for 
>>> the first step, please point out if there's obvious problems within.
>>> And I would like to hear the details regarding the image printing so 
>>> that I can understand more about the related code before our next 
>>> meeting, but only if your time permits , of course. :-)
>>> By the way do you think I should prepare a new linux build, please? I 
>>> don't know if it is necessary for testing our new implementation and 
>>> feel like need advice.
>>>
>>> Thank you and Best Regards,
>>> Felix.
>>>
>>>
>>> Mikhail Voitenko
>>>> Hi Felix,
>>>>
>>>> On 02/20/09 09:50, Zhang Xiaofei wrote:
>>>>> Hi Mikhail,
>>>>>
>>>>> Sorry but I searched the usage of GetVerbByShortcut() and couldn't 
>>>>> find an example, I may need your hint on this little question 
>>>>> regarding the first step: what exactly is the ShortCut of a Verb 
>>>>> please? Is it in our case, "PRINT"?
>>>>
>>>> Yes exactly, it is "PRINT" in this case. This is the shortcut that 
>>>> is used as the node name in the configuration. The method gets the 
>>>> information from the configuration and fills the verb description.
>>>> You can find the implementation and the usage of the method in the 
>>>> comphelper/source/misc/mimeconfighelper.cxx
>>>>
>>>> Best regards,
>>>> Mikhail.
>>>>
>>>>>
>>>>> Best Regards,
>>>>> Felix.
>>>>>
>>>>>
>>>>> Mikhail Voitenko
>>>>>> Hi Felix,
>>>>>>
>>>>>> Thanks a lot for the patch, it looks good.
>>>>>>
>>>>>> Now the MSOLE implementation should be adjusted as we have discussed.
>>>>>> The first step would be to let the getSupportedVerbs() 
>>>>>> implementation return the print verb. MSOLE objects are a special 
>>>>>> case, the verbs are either requested from the external server ( in 
>>>>>> case it is Windows system with installed server related to the 
>>>>>> object ), or just empty in case of Unix systems. The new 
>>>>>> implementation should add the print verb for both cases. To get 
>>>>>> the PRINT verb value from configuration please use 
>>>>>> "::comphelper::MimeConfigurationHelper::GetVerbByShortcut()" method.
>>>>>>
>>>>>> The next step will be to implement the verb itself. In case 
>>>>>> getPreferredVisualRepresentation() can retrieve the replacement 
>>>>>> image the image could be printed by the object itself. Sometimes 
>>>>>> it might work even on Unix systems in case the image is stored in 
>>>>>> the object stream. Otherwise it should be printed in the 
>>>>>> container. I will send the details regarding the image printing 
>>>>>> tomorrow.
>>>>>>
>>>>>> Best Regards,
>>>>>> Mikhail.
>>>>>>
>>>>>> On 02/19/09 10:14, Zhang Xiaofei wrote:
>>>>>>> Hi Mikhail,
>>>>>>>
>>>>>>> I'm sorry our network broke down after our meeting yesterday. 
>>>>>>> With this patch the temporary frame is hidden when document is 
>>>>>>> printed now. Would you please review it for me?
>>>>>>> Thank you for your help. :-)
>>>>>>>
>>>>>>> Best Regards,
>>>>>>> Felix.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
> 
> 
> ------------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@framework.openoffice.org
> For additional commands, e-mail: dev-h...@framework.openoffice.org


-- 
Mathias Bauer (mba) - Project Lead OpenOffice.org Writer
OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
Please don't reply to "nospamfor...@gmx.de".
I use it for the OOo lists and only rarely read other mails sent to it.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@framework.openoffice.org
For additional commands, e-mail: dev-h...@framework.openoffice.org

Reply via email to