[Draw] [Impress] Gestion des volets

Vos meilleures macros et portions de code sont publiées dans cette section.
Aucun support sur une question de programmation ici !

Modérateur : Vilains modOOs

Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

[Draw] [Impress] Gestion des volets

Message 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.

.
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Draw] [Impress] Gestion des volets

Message 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
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Répondre