OpenOffice.org Forum at OOoForum.orgThe OpenOffice.org Forum
 
 [Home]   [FAQ]   [Search]   [Memberlist]   [Usergroups]   [Register
 [Profile]   [Log in to check your private messages]   [Log in

[Solved] How can I address a dialog window?

 
Post new topic   Reply to topic    OOoForum.org Forum Index -> OpenOffice.org Macros and API
View previous topic :: View next topic  
Author Message
poxi1023
General User
General User


Joined: 08 Jul 2007
Posts: 24

PostPosted: Fri Aug 29, 2008 8:05 pm    Post subject: [Solved] How can I address a dialog window? Reply with quote

Hi,
I have written an OOo extension, odt2pml, which during execution shows a dialog with 12 steps, telling the user what is happening, and sometimes requesting some user action.
The dialog starts with:
Code:

DialogLibraries.LoadLibrary("odt2pml")
oDialog = createUnoDialog(DialogLibraries.odt2pml.DialogPML)
oDialog.Model.Step = 1
oDialog.execute

Up to OOo 2.4, even with
Code:
oDoc.lockControllers
dialog steps show properly, one after the other.

Now I found a problem with OOO300m3 (build:9344), running on Kubuntu 8.04.1. The macro executes normally, but dialog steps do not update anymore after the fourth. Only two progressbars are shown, but on the "old" dialog step.

I don't know if this is a bug to be filed. A solution I thought of might be to force a dialog window redraw with every step. Searching in api, I found "Interface XWindowPeer", with "invalidate(8)" (=The invalidated area is updated immediately). But I have no idea if that is useful, and how to apply it after e.g.
Code:
oDialog.Model.Step = 5


Any help would be very appreciated!


Last edited by poxi1023 on Tue Sep 09, 2008 2:37 pm; edited 1 time in total
Back to top
View user's profile Send private message
poxi1023
General User
General User


Joined: 08 Jul 2007
Posts: 24

PostPosted: Mon Sep 08, 2008 1:24 pm    Post subject: Reply with quote

I have edited this thread's subject. Maybe someone has an idea to help me:

I want to force update a Basic dialog window.
Is there any way to apply "Interface XWindowPeer", with "invalidate(8)" (=The invalidated area is updated immediately) to my dialog?
Code:
oDialog = createUnoDialog(DialogLibraries.odt2pml.DialogPML)

Or is there any other way to achieve this?

Thank you!
Back to top
View user's profile Send private message
poxi1023
General User
General User


Joined: 08 Jul 2007
Posts: 24

PostPosted: Tue Sep 09, 2008 2:34 pm    Post subject: Reply with quote

Well, with xRay I found finally the solution:
Code:
oDialog.Model.Step = 5
oDialog.Peer.invalidate(8)

Thanks to B Marcelly for your great tool!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    OOoForum.org Forum Index -> OpenOffice.org Macros and API All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group