Page 1 sur 1

[Draw] [Impress] Gestion des volets

Publié : 29 déc. 2009 10:28
par Dude
J'ai repris l'excellent travail d'Alain depuis ce fil et j'ai adapté pour étendre la gestion de l'affichage des volets sous Draw et Impress.

Code : Tout sélectionner

Sub Main
	' le 2e paramètre permet d'afficher (true) ou masquer (false) le volet concerné
	'StatutVolet("LeftPaneDraw", false) ' volet Diapos de gauche pour Draw
	'StatutVolet("LeftPaneImpress", false) ' volet Diapos de gauche pour Impress
	'StatutVolet("RightPane", false) ' volet Tâches pour Impress

	' choisissez la ligne à décommenter sachant que tous les volets ne peuvent être
	' activés en même temps	
	StatutVolet("ModifyPage") ' affiche le volet des Mises en page
	'StatutVolet("TableDesign") ' affiche le volet Ebauche de tableau
	'StatutVolet("CustomAnimation") ' affiche le volet Animation personnalisée
	'StatutVolet("SlideChangeWindow") ' affiche le volet Transition
	
	StatutVolet("NormalMultiPaneGUI") ' passe en mode Normal
	'StatutVolet("OutlineMode") ' passe en mode Plan
	'StatutVolet("NotesMode") ' passe en mode Notes
	'StatutVolet("HandoutMode") ' passe en mode Prospectus
	'StatutVolet("SlideSorterMultiPaneGUI") ' passe en mode Trieuse

End Sub

Sub StatutVolet( sVolet as string, optional sStatut as boolean)
	' Ce code s'inspire du travail de Alain de La Chaume
	' depuis le forum OOo http://user.services.openoffice.org/fr
	' Merci de respecter le travail de l'auteur en laissant cette info
	dim oDoc as object, oFrame as object, dsp as object
	dim args(0) as new com.sun.star.beans.PropertyValue
	
	if isMissing(sStatut) then sStatut = false
	
	oDoc = thisComponent
	oFrame = oDoc.currentController.Frame
	dsp = createUnoService("com.sun.star.frame.DispatchHelper")
	args(0).Name =  sVolet
	args(0).Value = sStatut
	dsp.executeDispatch(oFrame, ".uno:" & sVolet, "", 0, args())

End Sub
Il manque l'affichage des "Pages maîtresses" du volet des tâches.

.

Re: [Draw] [Impress] Gestion des volets

Publié : 26 févr. 2018 12:45
par Hubert Lambert
Pour mémoire, une routine pour basculer le "volet page" dans Draw, en n'utilisant que l'API :

Code : Tout sélectionner

sub switchslidesorter
    doc = thiscomponent
    configcontroller = doc.CurrentController.ConfigurationController
    currentconfig = configcontroller.CurrentConfiguration
    activationmode = com.sun.star.drawing.framework.ResourceActivationMode
    configcontroller.lock()
    leftpaneurl = "private:resource/pane/LeftDrawPane"
    resourceid = com.sun.star.drawing.framework.ResourceId.create(leftpaneurl)
    if currentconfig.hasResource(resourceid) then
        configcontroller.requestResourceDeactivation(resourceid)
    else
        configcontroller.requestResourceActivation(resourceid, activationmode.ADD)
        slidesorterurl = "private:resource/view/SlideSorter"
        resourceid = com.sun.star.drawing.framework.ResourceId.createWithAnchorURL(slidesorterurl, leftpaneurl)
        configcontroller.requestResourceActivation(resourceid, activationmode.REPLACE)
    end if
    configcontroller.unlock()
end sub