[Gambas-user] embed OpenOffice

jbskaggs jbskaggs at ...1871...
Tue Oct 14 02:13:58 CEST 2008


Okay I have both Abiword and Openoffice embedding properly. The issue was a
missing space at the end of the window name.

Anyway now both of the applications while running as embedded features do
not respond to the mouse properly.  You have multi click or rick click and
cancel to get the curser on either program to move to the new location and
the scrollbars do not respond to the mouse.

Is that normal for embedded objects?

JB


jbskaggs wrote:
> 
> I can get Abiword to embed.  Openoffice is still giving me a fit.  I got
> it to embed once but could not duplicate it.  Is it possible that
> OpenOffice specifically did their window names like this to keep people
> from embedding it? Or at least difficult.
> 
> I have tried searching by both window classes
> by the strings open, office, text, etc
> by the window id
> All I ever get is a out of bounds error
> 
> here is my code: (which works great with Abiword)
> 
> PUBLIC SUB Presence_Embed(windowTitle AS String)
>   DIM key AS Pointer[]
>   DIM i AS Integer
>   WAIT 3.0
>   key = Desktop.Find(windowTitle)
>   i = key[0]
>   Embedder1.Embed(i)
>   Embedder1.SetFocus
>   Embedder1.Visible = TRUE
> END 
> 
> PUBLIC SUB Form_Open()
> 
>   DIM iWindowInfoArray AS Integer
>  SHELL "ooffice -writer " & Quote.Shell(FChandScn.htmlpath)
>    Presence_Embed("text") <<<<<<<<<<<<<<<<<<<<<<<<<< this is where I tried
> the various strings to search by
> 
> END 
> 
> Thanks
> JB
> 
> 
> 
> Benoit Minisini wrote:
>> 
>> On samedi 11 octobre 2008, Doriano Blengino wrote:
>>> jbskaggs ha scritto:
>>> > I have looked at the embedder example. I have looked at every post on
>>> > this forum on finding the title of the new window.
>>> >
>>> > I cannot figure it out and get it to work.
>>> >
>>> > Could somebody have pity and show me how to get the title of the
>>> window
>>> > when I shell to Openoffice and how to give it to the embedder?
>>> >
>>> > JB
>>>
>>> You can use xwininfo to look at window information. "xlsclients -al"
>>> shows many informations about windows.
>>>
>>> On my PC I did this test after launching openoffice:
>>>
>>> doriano at ...1993...:/root$ xlsclients -la
>>> Window 0x1c00005:
>>>   Machine:  doripc
>>>   Name:  mrxvt
>>>   Icon Name:  mrxvt
>>>   Command:  mrxvt -xft -xftfm FreeMono -xftsz 11 -vb -geometry 90x30
>>>   Instance/Class:  mrxvt/XTerm
>>> Window 0x120000a:
>>>   Machine:  doripc
>>>   Name:  kicker
>>>   Command:  kicker
>>>   Instance/Class:  kicker/Kicker
>>> Window 0x400001:
>>>   Machine:  doripc
>>>   Name:  Mozilla-Thunderbird
>>>   Icon Name:  icedove-bin
>>>   Command:  icedove-bin
>>>   Instance/Class:  icedove-bin/Icedove-bin
>>> Window 0x1a00001:
>>> ''  Command:  /bin/sh /usr/lib/openoffice/program/soffice
>>>
>>>
>>> Now I see that the window 0x1a00001 is the window I am interested in, so
>>> I issue:
>>>
>>> doripc:~# xprop -id  0x1a00001
>>> WM_COMMAND(STRING) = { "/bin/sh", "/usr/lib/openoffice/program/soffice"
>>> }
>>> WM_CLIENT_LEADER(WINDOW): window id # 0x1a00001
>>> _KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 3979416247
>>>
>>> ...just to discover that that window seems not to have a name...
>>>
>>> So, while a common method to find a window was Desktop.find() (look at
>>> previous messages in this list), this time may be that doesn't work.
>>> Perhaps you can 'SHELL "xlsclients -la" TO sXls', and then parse sXls to
>>> find out the window ID. Desktop.Find() can be used to get all the
>>> windows,
>>> but then don't know how to get more information. One way could be to
>>> execute a find, then launch openoffice, then do a find again to see what
>>> window has been added...
>>>
>>> Hope this could help.
>>>
>>> Doriano.
>>>
>>>
>> 
>> You have to look at the "window class":
>> 
>> $ xprop
>> <click on the OpenOffice window>
>> ...
>> WM_CLASS(STRING) = "VCLSalFrame.DocumentWindow", "OpenOffice.org 2.4"
>> ...
>> 
>> Desktop.Find can look for a specific window class with its second
>> argument. I 
>> don't know if it works in that case, because apparently the OpenOffice
>> window 
>> has two classes!
>> 
>> Regards,
>> 
>> -- 
>> Benoit Minisini
>> 
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the
>> world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Gambas-user mailing list
>> Gambas-user at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/embed-OpenOffice-tp19929257p19965155.html
Sent from the gambas-user mailing list archive at Nabble.com.





More information about the User mailing list