[Résolu][Draw] Volet page invisible

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Draw] Volet page invisible

Messagepar joel275 » 22 Déc 2009 17:49

Bonjour,

je me mets à Draw pour faire des dessins, et je tombe tout de suite sur un problème:
j'ouvre le module Draw à partir de Writer avec:

Code : Tout sélectionner   AgrandirRéduire
StarDesktop.LoadComponentFromURL("private:factory/sdraw","_blank",0, Array())


mais j'ignore comment ne pas afficher le volet page, fenêtre qui s'ouvre en même temps que la page de dessin.
Quelqu'un aurait-il cela dans ses cartons?

D'avance merci
Joël
Dernière édition par joel275 le 29 Déc 2009 08:30, édité 1 fois.
OpenOffice 4.1.2 LibreOffice 5-4-6 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 709
Inscrit le : 10 Jan 2009 09:05

Re: [Draw] Volet page invisible

Messagepar Alain de La Chaume » 26 Déc 2009 19:06

Bonsoir Joël, bonsoir à tous,
Quelqu'un aurait-il cela dans ses cartons?
Ben, non. Et apparemment, même pas possible d'utiliser l'enregistreur de macros sous Draw (que je ne connais pas :oops: ).
En fouillant un peu dans les fichiers de config j'ai quand même pu bricoler ceci :
Code : Tout sélectionner   AgrandirRéduire
REM  *****  BASIC  *****
option explicit

' --------------------------------------------------------------------
' Module aMain, sub main :
' pour compatibilité avec mon raccourci clavier CTRL/MAJ_M
' --------------------------------------------------------------------
sub main()
dim oDocDraw as object
   oDocDraw = StarDesktop.LoadComponentFromURL(_
      "private:factory/sdraw","_blank",0, Array())
   acPageVoir(false, oDocDraw)   
end sub

' --------------------------------------------------------- 26/12/2009
' DRAW - Afficher, ou pas, le volet Page
' --------------------------------------------------------------------
sub acPageVoir(ouiNon as boolean, optional oDoc)
dim oFrame as object, dsp as object
dim args(0) as new com.sun.star.beans.PropertyValue

   if isMissing(oDoc) then oDoc = thisComponent
   oFrame = oDoc.currentController.Frame
   dsp = createUnoService("com.sun.star.frame.DispatchHelper")
   args(0).Name = "LeftPaneDraw"
   args(0).Value = ouiNon
   dsp.executeDispatch(oFrame, ".uno:LeftPaneDraw", "", 0, args())
end sub

J'ai placé le code ci-dessus dans un module d'un doc Writer et chez moi ça fonctionne (activation par un raccourci clavier).
Si ça convient, je pourrai expliquer comment j'ai fini par trouver.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
 
Message(s) : 1527
Inscrit le : 28 Sep 2008 13:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Draw] Volet page invisible

Messagepar Sébastien C » 27 Déc 2009 20:09

Alain de La Chaume a écrit:Si ça convient, je pourrai expliquer comment j'ai fini par trouver.


Et comment ! Une explication ! Vite !
:bravo: :D :super:
LibreOffice 3.5.3.2 sous GNU-Linux Mageia 2.
Avatar de l’utilisateur
Sébastien C
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 157
Inscrit le : 29 Avr 2008 00:21
Localisation : Meymac (19250)

Re: [Draw] Volet page invisible

Messagepar joel275 » 28 Déc 2009 16:53

Bonjour,

merci beaucoup et bravo Alain pour cette macro qui fonctionne nickel!
Comme Sébastien, je suis preneur d'explications quand tu auras le temps.

En attendant, bonnes fêtes à tous.

Joël
OpenOffice 4.1.2 LibreOffice 5-4-6 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 709
Inscrit le : 10 Jan 2009 09:05

Re: [Draw] Volet page invisible

Messagepar Alain de La Chaume » 28 Déc 2009 18:01

Bonjour Joël, bonjour à tous.

Bon, puisque vous insistez... ;-) ... voici comment j'ai fini par trouver :

Rappel : contrairement à Writer ou Calc, Draw ne permet pas l'enregistrement de macros.
Je me suis donc inspiré d'une macro enregistrée sous Writer pour comprendre quels arguments passer et comment les passer.
J'ai choisi l'action Montrer/Cacher le Navigateur (par le menu Affichage) qui me retourne ce code :
Code : Tout sélectionner   AgrandirRéduire
sub showHideNavig
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Navigator"
args1(0).Value = false

dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Navigator"
args2(0).Value = true

dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args2())
end sub

Il ne me reste plus qu'à trouver le mot-clé qui doit remplacer Navigator...
Pour obliger OOo à générer un fichier de config des menus dans mon environnement personnel,
j'ai ajouté un élément de menu dans Affichage, du module Draw bien entendu.


Ensuite je suis allé consulter le fichier de config : menubar.xml
dans la racine : 'monDossierPerso'/.openoffice.org/3/user/config/soffice.cfg/modules/sdraw/menubar
qui m'a tout raconté sur le sujet, par une simple recherche de "Volet page"
Code : Tout sélectionner   AgrandirRéduire
<menu:menuitem menu:id=".uno:LeftPaneDraw" menu:helpid=".uno:LeftPaneDraw" menu:label="Volet page"/>

Euh... oui, c'est vrai que sans fouiller un peu, beaucoup, voire passionément...
ce n'est pas du tout-cuit !
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
 
Message(s) : 1527
Inscrit le : 28 Sep 2008 13:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Draw] Volet page invisible

Messagepar Sébastien C » 28 Déc 2009 23:28

Alain de La Chaume a écrit:Euh... oui, c'est vrai que sans fouiller un peu, beaucoup, voire passionément...
ce n'est pas du tout-cuit !


Pas exactement.

Mais il eut été dommage de ne pas se mettre à genoux les mains jointes et la larme à l’œil suppliante pour vous implorer votre témoignage, car, le moins que l’on puisse dire, c’est que les soupiraux que vous nous ouvrez à l’appétit de ces mondes souterrains nous laissent songeur quant à la respiration des courants d’airs enivrants qu’ils inspirent...

Bien cher Einstein, comment vous remercier de toute cette théorie qui n’a rien de relatif ?

Sans doute en suggérant encore à nos très-chers modérateurs de déplacer le présent fil dans le chapitre « Suprême de code » (qualificatif ici plus que mérité, non ?), chapitre qui ne possède, à ce jour, qu’un seul et unique post pourvu de l’ineffable balise [Draw], ce qui le fait, m'a-t-il confié, « [s]’y ennuyer à moÛrir »...

:bravo: :bravo: :bravo: :bravo: :bravo:
LibreOffice 3.5.3.2 sous GNU-Linux Mageia 2.
Avatar de l’utilisateur
Sébastien C
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 157
Inscrit le : 29 Avr 2008 00:21
Localisation : Meymac (19250)

Re: [Draw] Volet page invisible

Messagepar joel275 » 29 Déc 2009 08:28

Bonjour,

loin des envolées lyriques de Sébastien que j'approuve sans réserves, je me contenterai d'un seul mot:

Chapeau!

Joel
OpenOffice 4.1.2 LibreOffice 5-4-6 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 709
Inscrit le : 10 Jan 2009 09:05

Re: [Résolu][Draw] Volet page invisible

Messagepar Dude » 29 Déc 2009 11:30

Salut,

J'ai mis en ligne une gestion des volets pour Draw et Impress en suprême de code.

:idea:
AOO 4.1.5 sous Windows 7 Pro x64

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20478
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1


Retour vers Macros et API

Qui est en ligne ?

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