Page 1 sur 1

[Draw] [Impress] Gestion des volets

MessagePublié: 29 Déc 2009 11: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   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.

.

Re: [Draw] [Impress] Gestion des volets

MessagePublié: 26 Fév 2018 13: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   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