[Résolu] couche contrôle et actions

Discussions sur le module de dessin de Draw.

Modérateur : Vilains modOOs

Kedo_Kedo
Fraîchement OOthentifié
Messages : 4
Inscription : 28 août 2008 17:35

[Résolu] couche contrôle et actions

Message par Kedo_Kedo »

Bonjour à tous

Tout d'abord bravo pour l'endroit, je sens que je vais revenir souvent.

Ensuite voici ma question :
dans Draw il y a une couche "contrôle" qui, d'après l'aide OOo, permet de réaliser des actions.
Je souhaiterais donc réaliser l'action suivante :
en cliquant sur une zone (bouton, ou autre) rendre visible une autre couche créée. Le summum étant qu'en cliquant à nouveau, celle-ci devienne à nouveau invisible.
Un peu comme si la mise en page contenait les plans d'une maison, et que les autres couches que j'ai créé contenaient pour l'un le réseau d'électricité, pour l'autre le réseau d'eau, etc.. et qu'en cliquant on puisse faire apparaître ou disparaître l'un ou l'autre ou les deux.

Mon projet n'est pas de ce type mais c'est une façon d'expliquer ce que je cherche.

Et je peux dire que j'ai cherché...

Et quelque chose me dit que si c'est trouvable, c'est certainement ici
Dernière modification par Kedo_Kedo le 29 août 2008 16:13, modifié 1 fois.
OpenOffice 2.4 sous Windows XP
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: couche contrôle et actions

Message par Pierre-Yves Samyn »

Bonjour et bienvenue sur ce forum

Ci-joint un exemple de mise en oeuvre... toutefois, s'agissant d'actions lancée par une macro cette réponse aurait davantage sa place dans la section macro du forum... mais tu n'envisageais peut-être pas de passer par une macro ?

La même macro peut être associée à différents boutons. Son principe est de rechercher une couche de même nom que le titre du bouton. Si la couche existe, on définit sa propriété "visible" à l'inverse de son état précédent...

Code : Tout sélectionner

Sub PysCouche(PysEvent)

if thiscomponent.LayerManager.hasByName(PysEvent.source.model.Label) then
	thiscomponent.LayerManager.getByName(PysEvent.source.model.Label).IsVisible =_
	not(thiscomponent.LayerManager.getByName(PysEvent.source.model.Label).IsVisible)
else
	msgbox "Pas de couche " & PysEvent.source.model.Label
end if

End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Kedo_Kedo
Fraîchement OOthentifié
Messages : 4
Inscription : 28 août 2008 17:35

Re: couche contrôle et actions

Message par Kedo_Kedo »

Comment faire un heureux ... :D

Les macros pour moi c'est encore un domaine quelque peu inaccessible c'est pourquoi j'ai préféré poster dans la partie application se rattachant à ma recherche. J'ai semble-t-il eu du bol qu'un pro de la macro passe par là. Il était aussi possible qu'une fonctionnalité de ce type existe déjà... et que je ne l'ai pas vue.

Toujours est-il que j'ai testé la macro et que


ça marche

En plus c'est simple à mettre en oeuvre. Franchement que demander de plus.

Je ne sais si la macro à été développée spécialement ou si elle existait déjà mais dans tous les cas merci beaucoup car cela va m'être d'une grande utilité.

Merci aussi pour la rapidité de la réponse. :bravo:
OpenOffice 2.4 sous Windows XP
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: couche contrôle et actions

Message par Pierre-Yves Samyn »

Kedo_Kedo a écrit :Je ne sais si la macro à été développée spécialement ou si elle existait déjà mais dans tous les cas merci beaucoup car cela va m'être d'une grande utilité.
Non, développée "spécialement" :)

Pour indiquer la résolution, il faut procéder comme expliqué ici : http://user.services.openoffice.org/fr/ ... f=1&t=3299

Merci :)
Kedo_Kedo
Fraîchement OOthentifié
Messages : 4
Inscription : 28 août 2008 17:35

Re: couche contrôle et actions

Message par Kedo_Kedo »

Non, développée "spécialement"
La classe quoi :super:

J'en suis encore loin

Merci encore pour le temps passé et en espérant que cela pourra servir à d'autres parce qu'on trouve peu d'informations autres que purement CAO/PAO/3D concernant Draw.
OpenOffice 2.4 sous Windows XP
Avatar de l’utilisateur
Sébastien C
Membre hOOnoraire
Membre hOOnoraire
Messages : 157
Inscription : 28 avr. 2008 23:21
Localisation : Meymac (19250)

Re: [Résolu] couche contrôle et actions

Message par Sébastien C »

Entre la récupération de l'objet appelant --> PysEvent.source.model.Label
le traitement des couches --> LayerManager.getByName() et LayerManager.hasByName()
et la négation de l'objet --> not()
pour le faire basculer d'un état à un autre,
si ÇÀ, ce n'est pas digne d'un « suprême de code », de surcroît remarquablement brillant, alors moi, je suis le Pape.

:bravo: :bravo: :bravo:

S'iou plé vilinmodo(s), fèt kek chos'
;-)
LibreOffice 3.5.3.2 sous GNU-Linux Mageia 2.