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

[Draw] [Impress] Gestion des volets

Messagepar Dude » 29 Déc 2009 11:28

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   AgrandirRéduire
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
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 19989
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Draw] [Impress] Gestion des volets

Messagepar Hubert Lambert » 26 Fév 2018 13:45

Pour mémoire, une routine pour basculer le "volet page" dans Draw, en n'utilisant que l'API :
Code : Tout sélectionner   AgrandirRéduire
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.2 sur Win7
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)
Avatar de l’utilisateur
Hubert Lambert
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 835
Inscrit le : 06 Avr 2016 08:26


Retour vers Suprême de code

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité