openoffice-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith Alcock <ke...@keithalcock.com>
Subject Re: How to change an entry of a self-created menus via macro
Date Thu, 10 Sep 2015 17:49:40 GMT
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);
}

2015-09-10 1:43 GMT-07:00 Jörg Schmidt <joesch@j-m-schmidt.de>:

> Hello,
>
> I have a menu, _created by a addons.xcu-file_ in a extension.
>
> Is it possible to change an entry of a self-created menus via macro?
>
>
> With this, i 'catch' only the 'normal' menus, _not my self-created menu_:
>
> sMenuBar = "private:resource/menubar/menubar"
> oModuleCfgMgrSupplier =
> createUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier")
> oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager(
> "com.sun.star.text.TextDocument" )
> oMenuBarSettings = oModuleCfgMgr.getSettings( sMenuBar, true )
>
> (from:
> https://wiki.openoffice.org/wiki/API/Samples/StarBasic/Favorites-Menu)
>
>
> What I want to achieve?
>
> In my self-created menu entry labeled "my_item" and linked to macro
> "my_macro ()", I want to change this to "my_item2" and "my_macro2 ()".
>
> It would be important that this change takes place immediately, so I do
> not have to open a new window to update the menu.
>
>
>
>
> Greetings,
> Jörg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: api-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: api-help@openoffice.apache.org
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message