Je répondais à Sophie :
> > Mais j'ai un doute : tu veux modifier la configuration de l'interface en
> > fonction du modèle de document utilisé, c'est bien ça ? Si c'est ça, ben
> > je dois encore beaucoup réfléchir, mais c'est intéressant ;) Je ne sais
> > pas si c'est possible. Cyrille, si tu es là, tes lumières, s'il te plaît :)
>
> Eh eh, c'est tout à fait ça.
Je suis occupé à investiguer une autre direction, où je me contente
simplement d'un menu activer/désactiver l'extension (qui modifie la
disposition / visibilité de barres d'outils) [voir code en [1]].
Dans le même temps je me demande maintenant s'il y a possibilité d'inclure
une barre d'outils modifiée dans une extension, avec la syntaxe des barres
d'outils classiques, c'est-à-dire écrire :
<toolbar:toolbaritem xlink:href=".uno:AddDirect"
toolbar:text="Nouveau" toolbar:helpid=".uno:AddDirect"/>
plutôt que de devoir y aller de manière très verbeuse dans le Addons.xcu,
genre :
<node oor:name="xyz" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>...</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="fr-FR">Nouveau</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
Une solution facile ?
Frédéric
[1] si ça intéresse, voici mon code qui affiche mes barres d'outils,
et cache les barres d'outils standard, et inversément :
class ShowHideToolbars(unohelper.Base, XJobExecutor):
def __init__(self, ctx):
self.ctx = ctx
def trigger(self, args):
ctx = self.ctx
oConfigAccess = getConfigAccess(
ctx, '/org.openoffice.Office.Addons/AddonUI')
oElement = oConfigAccess.getByName('OfficeToolBar')
toolbar_names = oElement.getElementNames()
desktop = self.ctx.ServiceManager.createInstanceWithContext(
'com.sun.star.frame.Desktop', self.ctx )
doc = desktop.getCurrentComponent()
layout_manager = doc.CurrentController.Frame.LayoutManager
if args == 'hide':
for toolbar in toolbar_names:
layout_manager.hideElement(
'private:resource/toolbar/addon_%s' % toolbar)
layout_manager.showElement('private:resource/toolbar/standardbar')
layout_manager.showElement('private:resource/toolbar/textobjectbar')
else:
for toolbar in toolbar_names:
layout_manager.showElement(
'private:resource/toolbar/addon_%s' % toolbar)
layout_manager.hideElement('private:resource/toolbar/standardbar')
layout_manager.hideElement('private:resource/toolbar/textobjectbar')
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]