[Libreoffice] Create a "dynamic" dropdown menu with uno and python
Günter Heinendirk
guenter.heinendirk at googlemail.com
Sat Apr 30 04:56:51 PDT 2011
Hi list,
as described in a previous mail, I try to dive into Python with UNO to
create an extension to deal with custom slide shows.
Just to repeat: I'm not a skilled programmer but already made several
Tools with Python for my own.
So the first thing I figured out when starting my extension with Python
and UNO is, that the documentation is very hard to understand for me or
not existing.
That brings me to the idea to use my small project as a challenge to
create documentation for all that stuff I stumbled over.
Actually I have the needed function working in Python with UNO. The next
step is to create the LibreOffice Extension and to add the needed GUI
elements in Impress.
And here my "real" problems started:
I want to have a dropdown element in the toolbar, which allows to choose
between the available custom slide shows. Since I didn't know, which
custom slide shows are existing, I need to fill the dropdown element
"dynamically" during loading of the presentation. Then I need to get
back an event, when the user select a custom slide show.
I know, how to add a simple button and call my functions by pressing it
but the dynamic dropdown element seems to work in different manner.
I spent so many hours to find informations about how to add a "dynamic"
dropdown element using Python and was not really successful.
It seems, that I need a popup menu controller and I found the page
http://wiki.services.openoffice.org/wiki/Framework/Tutorial/Popup_Menu_Controller
but I do not understand most of the informations there (maybe one reason
is, that it is based on C++ and not on Python).
Then I'm a bit confused about some other informations I found. Somewhere
you can read, that you need to adapt a file "Controller.xcu", in other
pages is written you need to adapt "Addons.xcu".
I was also searching for an extension which uses a dynamic dropdown and
is programmed in Python to be able to have a look in there, but I was
not successful.
Is anyone there, who can give me hints what to do?
Thanks a lot for answer such "Newbie" questions ...
Chynte
More information about the LibreOffice
mailing list