openoffice-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Schmidt <>
Subject Re: How to change an entry of a self-created menus via macro
Date Fri, 11 Sep 2015 06:00:36 GMT

> From: Keith Alcock [] 
> Sent: Thursday, September 10, 2015 7:50 PM
> To:
> Subject: Re: How to change an entry of a self-created menus via macro
> Jorg,
> Below is code to do such a thing with C++.  Basically you 
> need to work with
> a FeatureStateEvent and set the State to the text you want.  The
> documentation does not say that this is what State is used 
> for, but looking
> up that class and XStatusListener should help.
> Keith
> void SAL_CALL MyMenu::addStatusListener(const 
> Reference<XStatusListener>&
> xStatusListener,
> const URL& url) throw (RuntimeException) {
> FeatureStateEvent featureStateEvent;
> featureStateEvent.Source = (XDispatch*) this;
> if (url.Complete.equals(MY_MENU_LOGOUT_URL)) {
> OUString state = OUSTRING("Logout ~<");
> state += OUSTRING(": ") + getFirstAndLast();
> featureStateEvent.State = Any(state);
> }
> xStatusListener->statusChanged(featureStateEvent);
> }

Thank you, but excuse me, i think that does not help me.

My problem is that I can not access the specific menu bar. And to register a listener I need
access to the specific menu bar.

In my understanding (I do not speak C++) is "const Reference" or "const URL" this reference
(the specific menu bars object), only that I have not.

For example:
in my code would be:

oMenuBarSettings.Count = 9


one specific menu bar (in this Case "1" the edit menu) 

But none of the 9 menu's is the menu that I have added my addon.xcu. My menu is therefore
not part of "oMenuBarSettings". Why? How can I still access my menu?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message