tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1...

620
macromedia ® Extension de Dreamweaver et UltraDev

Transcript of tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1...

Page 1: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

macromedia

®

Extension de Dreamweaveret UltraDev

Page 2: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2

Marques commerciales

Afterburner, AppletAce, Attain, Attain Enterprise Learning System, Attain Essentials, Attain Objects for Dreamweaver, Authorware, Authorware Attain, Authorware Interactive Studio, Authorware Star, Authorware Synergy, Backstage, Backstage Designer, Backstage Desktop Studio, Backstage Enterprise Studio, Backstage Internet Studio, Design in Motion, Director, Director Multimedia Studio, Doc Around the Clock, Dreamweaver, Dreamweaver Attain, Drumbeat, Drumbeat 2000, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, FreeHand Graphics Studio, Generator, Generator Developer's Studio, Generator Dynamic Graphics Server, Knowledge Objects, Knowledge Stream, Knowledge Track, Lingo, Live Effects, Macromedia, Macromedia M Logo & Design, Macromedia Flash, Macromedia Xres, Macromind, Macromind Action, MAGIC, Mediamaker, Object Authoring, Power Applets, Priority Access, Roundtrip HTML, Scriptlets, SoundEdit, ShockRave, Shockmachine, Shockwave, Shockwave Remote, Shockwave Internet Studio, Showcase, Tools to Power Your Ideas, Universal Media, Virtuoso, Web Design 101, Whirlwind et Xtra sont des marques commerciales de Macromedia, Inc. et peuvent être déposées aux Etats-Unis ou dans d'autres juridictions ou pays. Les autres noms de produit, logos, concepts, titres, mots ou phrases mentionnés dans cette publication peuvent être des marques commerciales, des marques de service ou des noms commerciaux de Macromedia, Inc. ou d'autres entités et peuvent être déposés dans certaines juridictions ou certains pays.

Ce manuel contient des liens vers des sites web tiers qui ne sont pas contrôlés par Macromedia et Macromedia ne peut en aucun cas être tenu responsable du contenu de ces sites. Si vous accédez à l’un de ces sites, vous le faites à vos propres risques. Macromedia propose ces liens dans un but pratique uniquement et ne peut en aucun cas endosser ou accepter la responsabilité du contenu de ces sites tiers.

Dénégation de responsabilité d’Apple

APPLE COMPUTER, INC. N’ASSUME AUCUNE GARANTIE, IMPLICITE OU EXPLICITE, SUR LE LOGICIEL INFORMATIQUE CI-INCLUS, SA COMMERCIABILITÉ OU SON ADÉQUATION À UN OBJECTIF PARTICULIER. L’EXCLUSION DES GARANTIES IMPLICITES N’ÉTANT PAS AUTORISÉE DANS CERTAINS ÉTATS, L’EXCLUSION CI-DESSUS PEUT DONC NE PAS S’APPLIQUER À VOTRE CAS. CETTE GARANTIE VOUS OFFRE DES DROITS JURIDIQUES SPÉCIFIQUES. VOUS POUVEZ DISPOSER DE CERTAINS AUTRES DROITS, QUI VARIENT SELON LES ÉTATS.

Copyright © 2000 Macromedia, Inc. Tous droits réservés. Ce manuel ne peut pas être copié, photocopié, reproduit, traduit ou converti sous forme électronique ou informatique, en partie ou en totalité, sans l’autorisation écrite préalable de Macromedia, Inc. Numéro de pièce ZDW40M200F

Remerciements

Gestion de projet : Sheila McGinn

Rédaction : JuLee Burdekin, David Jacowitz et Denise Lee

Mise en forme : Susan Moxley

Conception et production multimédia : Aaron Begley et Noah Zilberberg

Production de l'impression : Chris Basmajian, Paul Benkman, Caroline Branch et Rebecca Godbois

Mise en forme du site web : Jane Flint DeKoven et Jeff Harmon

Responsable de la localisation : Kristin Conradi

Remerciements spéciaux à Heidi Bauer, Winsha Chen, Chris Denend, Margaret Dumas, Peter Fenczik, Dave George, Valerie Green, Joel Huff, Lori Hylan, Narciso (nj) Jaramillo, Sho Kuwamoto, Jay London, Joe Marini, Charles McBrian, Jeff Schang, Ken Sundermeyer Scott Richards, Raymond Lim, Yoko Vogt, Luciano Arruda, Peter von dem Hagen, Vincent Truong, Florian de Joannes, Gwenhaël Jacq, Florent Pajani, Bonnie Loo, Karen Catlin, Jean Fitzgerald, Ken Karleskint, Chris Bank, Yoko Shindo, Masayo Noda, Tim Hussey et SDL International

Première édition : novembre 2000

Macromedia, Inc.600 Townsend St.San Francisco, CA 94103

Page 3: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Table des matières

CHAPITRE 1

Extension de Dreamweaver – Présentation . . . . . . . 9

Personnalisation ou extension ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Consultation du manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10L'architecture d'extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Installation d'une extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15Errata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16Conventions utilisées dans ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . .16

CHAPITRE 2

Modèle objet de document (DOM) et JavaScript . 19

Modèle objet de document dans Dreamweaver . . . . . . . . . . . . . . . . . . .19Fonctionnement de JavaScript dans les fichiers d'extension . . . . . . . . . .28Commandes JavaScript personnalisées. . . . . . . . . . . . . . . . . . . . . . . . . .29

CHAPITRE 3

Objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

Fonctionnement des fichiers d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . .40API d'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40Ajout d'objets au panneau d'objets . . . . . . . . . . . . . . . . . . . . . . . . . . . .43Ajout d'objets au menu Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

CHAPITRE 4

Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

Fonctionnement des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46API de commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47Exemple de commande simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51Ajout de commandes au menu Commandes . . . . . . . . . . . . . . . . . . . . .52

3

Page 4: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Contents

4

CHAPITRE 5

Commandes de menu . . . . . . . . . . . . . . . . . . . . . . . . . .53

Fonctionnement des commandes de menu . . . . . . . . . . . . . . . . . . . . . .53API de commande de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55Commande de menu simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59Menu dynamique simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

CHAPITRE 6

Rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

Fonctionnement des rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63Le rapport API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

CHAPITRE 7

Modules de débogage JavaScript. . . . . . . . . . . . . . . 67

CHAPITRE 8

Inspecteurs de propriétés . . . . . . . . . . . . . . . . . . . . . . . 75

Comment fonctionnent les fichiers d'inspecteur de propriétés. . . . . . . .76API de l'inspecteur de propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77Un exemple simple d'inspecteur de propriétés . . . . . . . . . . . . . . . . . . . .80

CHAPITRE 9

Panneaux flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83

Fonctionnement des fichiers de panneau flottant. . . . . . . . . . . . . . . . . .84API du panneau flottant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85A propos des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89Exemple de panneau flottant simple . . . . . . . . . . . . . . . . . . . . . . . . . . .91

CHAPITRE 10

Comportements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93

Fonctionnement des comportements. . . . . . . . . . . . . . . . . . . . . . . . . . .94API de comportement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96Exemple de comportement simple . . . . . . . . . . . . . . . . . . . . . . . . . . .104

CHAPITRE 11

Comportements de serveur . . . . . . . . . . . . . . . . . . . . 107

Architecture d'UltraDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108Dossiers et fichiers de comportements de serveur . . . . . . . . . . . . . . . .110Exemple : Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111

Page 5: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple : Redirect If Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115Techniques de comportements de serveur . . . . . . . . . . . . . . . . . . . . . .120Simplification des comportements de serveur . . . . . . . . . . . . . . . . . . .131Comment appeler les fonctions API de comportement de serveur . . . .135API de comportement de serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . .138

CHAPITRE 12

Schéma XML de comportement de serveur. . . . . 145

eXtensible Markup Language (Langage de Marquage eXtensible) . . . .146Schéma XML de comportement de serveur UltraDev . . . . . . . . . . . . .148Modification de fichiers XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150Fichiers XML Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153Fichiers XML Participant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158Utilisation du gestionnaire de données . . . . . . . . . . . . . . . . . . . . . . . .178Utilisation du gestionnaire de traduction. . . . . . . . . . . . . . . . . . . . . . .183

CHAPITRE 13

Sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Fonctionnement des sources de données . . . . . . . . . . . . . . . . . . . . . . .187API de source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190

CHAPITRE 14

Formatage des données. . . . . . . . . . . . . . . . . . . . . . . 195

Organisation du formatage de données . . . . . . . . . . . . . . . . . . . . . . . .196Mise en service des fonctions de formatage de données . . . . . . . . . . . .198API de formatage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199

CHAPITRE 15

Modèles de serveur . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Fonctions API des modèles de serveur . . . . . . . . . . . . . . . . . . . . . . . . .203

CHAPITRE 16

API d'intégration de Fireworks . . . . . . . . . . . . . . . . 207

API d'intégration de Fireworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207Exemple simple d'intégration de Fireworks . . . . . . . . . . . . . . . . . . . . .213

CHAPITRE 17

API des objets Flash . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Contents 5

Page 6: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Contents

6

CHAPITRE 18

API de Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Fonctionnement de Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . .219API JavaScript de Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220API C de Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225

CHAPITRE 19

API d'E/S de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . 233

Vérification de l'installation de DWfile . . . . . . . . . . . . . . . . . . . . . . . .233API d'E/S de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234

CHAPITRE 20

API HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

API HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241

CHAPITRE 21

API de base de données . . . . . . . . . . . . . . . . . . . . . . 249

Fonctions de l'API de base de données . . . . . . . . . . . . . . . . . . . . . . . .250

CHAPITRE 22

API JavaBean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

CHAPITRE 23

API d'intégration de commande source . . . . . . . . 269

Fonctions obligatoires de l'API d'intégration de commande source . . .270Fonctions facultatives de l'API d'intégration de commande source . . .276Activateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285

CHAPITRE 24

Traducteurs de données . . . . . . . . . . . . . . . . . . . . . . 293

Définition d'un traducteur de données . . . . . . . . . . . . . . . . . . . . . . . .293Fonctionnement des traducteurs de données . . . . . . . . . . . . . . . . . . . .294API de traducteur de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295Choix du type de traducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299Ajout d'un attribut traduit à une balise . . . . . . . . . . . . . . . . . . . . . . . .300Verrouillage des balises ou des blocs de code traduits . . . . . . . . . . . . . .306Recherche de bogues dans le traducteur. . . . . . . . . . . . . . . . . . . . . . . .316

Page 7: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

CHAPITRE 25

Extensions C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

API d'extension C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322

CHAPITRE 26

API JavaScript de Dreamweaver . . . . . . . . . . . . . . 333

Obtention de données de documents par l'intermédiaire du DOM. . .335Fonctions du panneau Actifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336Fonctions de comportements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343Fonctions relatives au Presse-papiers . . . . . . . . . . . . . . . . . . . . . . . . . .353Fonctions relatives aux commandes . . . . . . . . . . . . . . . . . . . . . . . . . . .358Fonctions relatives aux conversions . . . . . . . . . . . . . . . . . . . . . . . . . . .359Fonctions relatives aux styles CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . .360Fonctions relatives aux applications externes . . . . . . . . . . . . . . . . . . . .366Fonctions relatives aux manipulations de fichiers. . . . . . . . . . . . . . . . .371Fonctions relatives à la recherche et au remplacement . . . . . . . . . . . . .381Fonctions relatives aux cadres et aux jeux de cadres . . . . . . . . . . . . . . .387Fonctions de modifications générales. . . . . . . . . . . . . . . . . . . . . . . . . .389Fonctions globales relatives aux applications . . . . . . . . . . . . . . . . . . . .406Fonctions globales relatives aux documents . . . . . . . . . . . . . . . . . . . . .408Fonctions relatives à l'historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410Fonctions relatives aux styles HTML. . . . . . . . . . . . . . . . . . . . . . . . . .419Fonctions relatives au débogueur JavaScript . . . . . . . . . . . . . . . . . . . .422Fonctions relatives au clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .426Fonctions relatives aux calques et aux cartes graphiques. . . . . . . . . . . .434Fonctions relatives aux éléments de bibliothèque et aux modèles . . . . .437Fonctions Live data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .443Fonctions relatives aux menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .446Fonctions relatives aux chemins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .448Fonctions relatives à Quick Tag Editor . . . . . . . . . . . . . . . . . . . . . . . .450Fonctions relatives aux rapports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .453Fonctions de la fenêtre de résultats . . . . . . . . . . . . . . . . . . . . . . . . . . .454Fonctions relatives à la sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457Fonctions de comportement du serveur. . . . . . . . . . . . . . . . . . . . . . . .462Fonctions relatives à la source de données . . . . . . . . . . . . . . . . . . . . . .464Fonctions de modèle de serveur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .465Fonctions relatives aux sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .466Fonctions du mode Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .487Fonctions de manipulation de chaînes. . . . . . . . . . . . . . . . . . . . . . . . .500

Contents 7

Page 8: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Contents

8

Fonctions de modification des tableaux . . . . . . . . . . . . . . . . . . . . . . . .504Fonctions relatives aux scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511Fonctions de bascule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .518Fonctions relatives à la traduction (conversion) de données . . . . . . . . .538Fonctions d'environnement de mise en forme . . . . . . . . . . . . . . . . . . .540Fonctions relatives au mode Mise en forme . . . . . . . . . . . . . . . . . . . . .546Fonctions relatives aux fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .552Fonctions déconseillées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .559Activateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .569

INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597

Page 9: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

1

CHAPITRE 1

Extension de Dreamweaver –

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Présentation

Ce manuel couvre les fonctionnalités avancées auxquelles vous avez accès lorsque vous effectuez une extension de Dreamweaver UltraDev. Les extensions sont des objets, des commandes, des commandes de menus, des panneaux, des traducteurs de données, des inspecteurs de propriétés, des rapports, des comportements, des comportements de serveur, des modèles de serveur, des sources de données et des formats de données que vous créez à l'aide de l'API (interface de programme d'application) de Dreamweaver UltraDev. Ce manuel est destiné à vous aider à rédiger vos propres extensions en fournissant des informations sur la manière de programmer chaque type d'extension et en expliquant l'API de Dreamweaver UltraDev. Consultez ce chapitre pour connaître les éléments requis pour la rédaction d'extensions et pour obtenir une présentation des extensions.

Personnalisation ou extension ?Avant de commencer à lire ce manuel, reportez-vous au chapitre « Personnalisation de Dreamweaver » du guide de l'utilisateur de Dreamweaver 4. Ce chapitre explique des procédures de modification des panneaux, menus, boîtes de dialogue et formats HTML dans Dreamweaver. Il présente également certaines notions de base de la fonctionnalité d'extension de Dreamweaver, notamment la façon de modifier les commandes Dreamweaver et la façon d'ajouter des balises propriétaires.

Lisez ce manuel lorsque vous êtes prêt à effectuer l'extension de Dreamweaver UltraDev (afin de créer vos propres objets, commandes, commandes de menu, panneaux, inspecteurs de propriétés, rapports, traducteurs de données, comportements, comportements de serveur, modèles de serveur, sources de données et formats de données).

9

Page 10: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Remarque : avant de commencer à rédiger des extensions, reportez-vous au manuel « Utilisation de Dreamweaver UltraDev » pour plus d'informations sur l'installation de Dreamweaver UltraDev et la connexion aux bases de données.

Consultation du manuelCe manuel décrit l'API prise en charge par Dreamweaver UltraDev. Les extensions de Dreamweaver sont rédigées en JavaScript. Les scripts peuvent effectuer des modifications sur le document en utilisant un DOM (Modèle d'objet de document) et peuvent appeler un code C se trouvant dans une bibliothèque de liens dynamique (DLL). Pour certains types d'extensions, UltraDev fournit un jeu de fonctions utilitaires, qui fonctionne avec les données stockées dans des fichiers XML. Il est conseillé de posséder quelque expérience dans la création de pages web avec Dreamweaver ou UltraDev. Il est préférable d'être familiarisé avec les langages utilisés pour l'extension de Dreamweaver, que ce soit JavaScript ou C. Il est également préférable d'être familiarisé avec les langages de script côté serveur (ASP, ColdFusion ou JSP) que vous souhaitez ajouter au document d'un utilisateur.

Les sections suivantes décrivent les chapitres suivant l'ordre dans lequel ils apparaissent dans ce manuel.

Vue d'ensemble

• Ce chapitre présente l'architecture d'extension de Dreamweaver UltraDev et la façon de débuter la création d'extensions.

• « Le Modèle d'objet de document (DOM) et le code JavaScript des extensions » présente le Modèle d'objet de document (DOM) de Dreamweaver UltraDev et la façon d'accéder et d'afficher les données du document utilisateur, par le biais d'appels JavaScript, vers le DOM du document.

Création d'extensions

• « Objets » décrit les extensions, détaille l'API de l'objet, explique comment le fichier objet fonctionne et fournit des exemples.

• « Commandes » explique comment fonctionnent les commandes et comment ajouter votre commande à un menu. Ce chapitre détaille également l'API des commandes et fournit des exemples.

• « Commandes de menu » explique comment fonctionnent les commandes de menu et comment ajouter votre commande à un menu. Ce chapitre détaille également l'API des commandes de menu et fournit des exemples.

• « Rapports » explique comment effectuer l'extension du jeu de rapports pré-rédigés livrés avec Dreamweaver.

Chapitre 110

Page 11: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• « Débogueur » explique comment effectuer l'extension du Débogueur JavaScript, créer une version déboguée du document utilisateur, parcourir le code JavaScript et renvoyer les erreurs.

• « Inspecteurs de propriétés » décrit comment créer des inspecteurs personnalisés, donne des détails sur l'API de l'inspecteur de propriétés, explique le fonctionnement des inspecteurs et fournit des exemples.

• « Panneaux flottants » décrit le fonctionnement des extensions de panneau flottant, donne des détails sur l'API des panneaux flottants et fournit des exemples.

• « Comportements » explique comment rédiger un comportement, donne des détails sur l'API du comportement, explique le fonctionnement des comportements et fournit des exemples.

Création d'extensions spécifiques à UltraDev

• « Comportements de serveur » est le premier des deux chapitres consacrés à l'architecture permettant d'implémenter des comportements de serveur. Ce chapitre explique le fonctionnement des fonctions d'aide et la façon dont les fichiers de description XML correspondants simplifient la programmation des comportements de serveur. Il donne également des détails sur l'API du comportement de serveur et fournit des exemples.

• « Schéma XML d'un comportement de serveur » est le second chapitre expliquant comment rédiger et modifier des comportements de serveur. Ce chapitre est consacré aux fichiers de description XML. Vous trouverez également dans ce chapitre des services avancés pour les données d'extension et les traducteurs résidant dans les fichiers XML.

Remarque : reportez-vous également au manuel Utilisation de Dreamweaver UltraDev pour plus d'informations sur l'Editeur de comportements de serveur. Cet outil d'interface utilisateur simplifie réellement la création de comportements de serveur et leur ajout aux documents, mais se limite aux opérations les plus simples. Pour créer et modifier des comportements de serveur manuellement, reportez-vous à « Comportements de serveur », page 107 et « Schéma XML de comportement de serveur », page 145 de ce manuel.

• « Sources de données » fournit les API pour la connectivité des sources de données.

• « Mise en forme des données » explique comment mettre en forme des éléments de données dynamiques et placer correctement des éléments dans un document.

• « Modèles de serveur » décrit les API servant à ajouter un nouveau modèle de serveur (également appelé « technologie serveur ») à Dreamweaver UltraDev.

Extension de Dreamweaver – Présentation 11

Page 12: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Utilisation d'autres produits et utilitaires

• « API d'intégration de Fireworks » explique comment lancer et exécuter des commandes dans Fireworks à partir de Dreamweaver.

• « Objets Flash » explique comment créer et modifier les fichiers Objets Flash.

• « API des Design Notes » décrit les fonctions JavaScript et C qui ajoutent des informations sur le fichier, telles que l'historique et l'association du document, aux Design Notes.

• « API d'E/S de fichier » explique les méthodes de manipulation des fichiers courants disponibles avec l'objet DWfile.

• « API HTTP » explique comment obtenir et envoyer des fichiers à un serveur HTTP à l'aide de l'objet DWHttp.

• « API de base de données » donne des informations sur l'API permettant la connexion vers des bases de données SQL.

• « API JavaBean » fournit des fonctions C récupérant des méthodes, des propriétés, des événements, des classes et des messages d'erreur dans votre JavaBean.

• « API de commande source » explique comment intégrer une application de commande source avec Dreamweaver.

• « Traducteurs de données » décrit le fonctionnement des traducteurs, donne des informations sur l'API de traducteur de données et sur la manière de créer un traducteur, des balises de verrouillage et des attributs. Le gestionnaire de traduction et les fichiers XML simplifient ce processus pour les programmeurs d'UltraDev. Reportez-vous aux Schémas XML.

• « Extensions C » explique comment créer une interface entre vos bibliothèques C et l'API JavaScript de Dreamweaver.

• « API JavaScript de Dreamweaver » est votre guide de référence pour l'API principale de Dreamweaver UltraDev. Il couvre l'API JavaScript d'un point de vue fonctionnel.

L'architecture d'extensionLa nature ouverte de l'architecture de Dreamweaver UltraDev vous permet de modifier pratiquement tous les aspects de Dreamweaver UltraDev. Votre interaction avec le produit dépend du type d'extension que vous rédigez. Cette section explique les types d'extensions que vous pouvez créer. Pour plus d'informations sur l'architecture Dreamweaver, reportez-vous au « Modèle objet de document (DOM) et JavaScript », page 19, qui présente le DOM de Dreamweaver et le fonctionnement de JavaScript avec des extensions.

Chapitre 112

Page 13: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Types d'extensions

L'ajout d'un bouton sur le panneau d'objet constitue une manière simple d'effectuer l'extension de Dreamweaver UltraDev. Ensuite, chaque fois que l'utilisateur fait glisser cet objet jusqu'au mode Création de la fenêtre de document, Dreamweaver UltraDev insère le code associé à l'objet dans le code HTML. Vous créez ce type de fonctionnalité « sélectionner pour insérer » en rédigeant un objet. Les modèles de serveur sont à l'autre extrémité du spectre. Ces extensions complexes définissent un jeu complet de balises qui décrivent un langage de marquage de serveur. Pour programmer cette fonction avancée, un programmeur doit être familiarisé avec Dreamweaver UltraDev, avec le jeu de balises spécifiques au serveur et avec le fonctionnement et l'architecture serveur. Vous trouverez ensuite différentes manières d'effectuer l'extension du produit, chacune avec ses propres procédures.

La liste suivante représente les différentes manières d'effectuer l'extension de Dreamweaver UltraDev. Vous pouvez procéder de l'une des manières suivantes : en ajoutant des objets au panneau Objet, en ajoutant des commandes qui insèrent ou réorganisent les balises et les attributs HTML, en créant votre propre panneau flottant, en ajoutant des comportements JavaScript côté client ou en rédigeant des traducteurs qui convertissent le code spécialisé en code HTML standard. Dans UltraDev, vous pouvez créer de nouveaux comportements de serveur, de nouvelles sources de données pour le panneau Liaisons de données, de nouveaux formats de données ou même définir un nouveau type de modèle serveur.

Les différents types d'extension peuvent être résumés comme suit.

1 Object : également connu sous le nom d'extension « insertion seule ». Vous rédigez ce type d'extension pour ajouter un nouvel objet au panneau Objet. Vous créez ce type d'extension en rédigeant un fichier HTML contenant le code à insérer dans le document. Il peut également contenir un formulaire qui regroupe les données fournies par les utilisateurs et un code JavaScript qui traite ces données. Vous placez le fichier HTML dans le dossier Configuration/Objects/* (où * est un caractère générique représentant tout sous-dossier) avec une icône en format GIF et l'extension s'affiche dans le panneau d'objets.

2 Commande : une commande est un élément de menu qui appelle un script. Lorsque vous créez ce type d'extension, vous ajoutez un nouvel élément de menu à Dreamweaver. Pour créer une commande, vous créez un fichier qui implémente les fonctions dans l'API de commande (voir « Commandes », page 45). Si vous souhaitez que la commande s'affiche dans le menu « Commandes », il vous suffit d'installer le fichier dans le dossier Configuration/Commands. Pour que la commande s'affiche ailleurs dans le menu système, personnalisez le fichier menus.xml. Lorsqu'un utilisateur fait apparaître un menu, la commande peut préciser si son élément de menu s'affiche estompé ou non.

Extension de Dreamweaver – Présentation 13

Page 14: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3 Panneau : Dreamweaver possède des panneaux qui fournissent des informations sur le document et la sélection en cours. Vous pouvez ajouter votre propre panneau flottant qui interagit avec la sélection, le document ou la tâche, ou qui affiche simplement des informations utiles. Les fichiers de panneau flottant sont des fichiers contenant du code HTML et JavaScript et résidant dans le dossier Configuration/Floaters.

4 Inspecteur : les inspecteurs sont indispensables pour définir, vérifier et modifier le nom, les dimensions, l'aspect et autres attributs de la sélection ; ils permettent également de lancer des éditeurs internes et externes pour l'élément sélectionné. Dreamweaver intègre plusieurs interfaces compatibles avec l'inspecteur de propriétés permettant de définir des propriétés pour de nombreuses balises HTML standard. A l'aide des fichiers d'inspecteur de propriétés personnalisés, vous pouvez ignorer ces interfaces intégrées ou en créer de nouvelles pour contrôler les balises personnalisées.

5 Comportement : vous pouvez ajouter de nouveaux comportements au menu Plus (+) du panneau Comportements. Un comportement est un événement utilisateur plus une action. Vous rédigez l'action. Pour créer un comportement, rédigez le code de comportement, créez une interface utilisateur en HTML pour obtenir une entrée, créez un gestionnaire pour l'événement auquel doit être associé votre comportement, déterminez si votre comportement s'applique à un document donné et appliquez le comportement à l'emplacement approprié. Le dossier Configuration/Behaviors/Actions contient de nombreux exemples de comportements.

6 Comportement de serveur : Dreamweaver UltraDev possède un panneau Comportements de serveur, que vous pouvez utiliser pour appliquer à votre document des blocs de script côté serveur fréquemment utilisés. Si vous possédez du script ASP, JSP ou ColdFusion que l'utilisateur utilise fréquemment, vous pouvez l'emballer en tant que Comportement de serveur. Une fois que vous avez créé un comportement de serveur, il s'affiche dans le menu Plus (+) du panneau Comportements de serveur. Dans UltraDev 4.0, vous pouvez utiliser une nouvelle bibliothèque de fonctions d'aide pour simplifier la tâche de rédaction d'un comportement de serveur, à condition que vous ayez stocké le code d'exécution du comportement dans un fichier XML.

7 Traducteur de données : un traducteur fournit une représentation visuelle d'un code non-HTML dans le mode Création de la fenêtre de document. Il convertit le code non-HTML en HTML et verrouille le code non-HTML pour éviter qu'il ne soit analysé par Dreamweaver. Vous créez des extensions de traducteur pour représenter un code dynamique ou non-HTML dans le mode Création de la fenêtre de document.

Remarque : vous pouvez implémenter un traducteur en utilisant l'API de traducteur ou les services de Gestionnaire de traducteur d'UltraDev. Pour obtenir une description de l'API de traducteur, reportez-vous à « Traducteurs de données », page 293.

8 Source de données : les fonctions d'API de source de données vous permettent d'ajouter des options aux menu plus (+) du panneau Liaisons de données.

Chapitre 114

Page 15: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

9 Modèle de serveur : cette fonction avancée vous permet de prendre en charge un nouveau modèle de serveur. UltraDev prend initialement en charge ASP, JSP et ColdFusion. Vous pouvez utiliser l'API de modèle de serveur pour prendre en charge un modèle de serveur supplémentaire.

Dossiers d'extension

En vous familiarisant avec les dossiers du dossier Configuration, vous pouvez découvrir l'API pour les zones que vous allez étendre et trouver des exemples pour chaque type d'extension.

Conseil: le fichier Configuration_ReadMe.htm du dossier Configuration fournit des informations sur le contenu de chaque sous-dossier.

Un dossier qui ne correspond pas à un type d'extension particulier se trouvera dans le dossier Shared. Le dossier Shared est un lieu de stockage central pour les fonctions utilitaires, les classes et les images couramment utilisées par toutes les extensions. Par exemple, les fichiers du dossier Shared/MM/scripts/CMN contiennent des fonctions qui, entre autres tâches utiles, recherchent tous les enfants d'un Nuds pour une balise spécifique, extraient les espaces d'une chaîne et génèrent la référence JavaScript correcte pour un objet en fonction de son nom. Dans le répertoire /Configuration/Shared/UltraDev/Scripts résident des fichiers contenant des fonctions utilitaires utiles lors de la création d'un comportement de serveur. Nombre de ces fichiers fournissant les utilitaires principaux utilisent la convention d'appellation ss*.js.

Installation d'une extensionAvant de programmer votre propre extension, téléchargez et installez une extension pré-existante à partir du site web Macromedia Exchange (http://macromedia.com/exchange/) (en anglais). Nous vous conseillons de prendre le temps de le faire, cela vous simplifiera l'accomplissement de certaines tâches. Vous pouvez vous faire une idée du nombre de programmeurs d'extension présents dans la communauté. Il est possible que vous ayez besoin d'une extension particulière existante ou étant suffisamment avancée (proche de la révision) pour répondre à vos besoins.

Une fois que vous avez trouvé une extension qui vous intéresse sur les sites Exchange de Dreamweaver ou d'UltraDev, il est facile d'installer une extension.

Pour installer une extension, observez les étapes suivantes :

1 Installez Extension Manager, si ce n'est pas déjà fait. Vous pouvez le télécharger à partir du site web Macromedia Exchange (http://www.macromedia.com/software/downloads/).

Extension de Dreamweaver – Présentation 15

Page 16: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2 Connectez-vous au site web Macromedia Exchange (http://www.macromedia.com/fr).

3 Sur ce site, sélectionnez une extension à ajouter. Choisissez une extension simple, qui ne risque pas d'altérer de manière importante votre environnement de développement Dreamweaver. Cliquez sur le lien de téléchargement dans la page d'informations détaillées de l'extension pour télécharger le paquet d'extension.

4 Enregistrez le paquet d'extension dans le dossier Downloaded Extensions de votre dossier Dreamweaver.

5 Dans le menu Fichier d’Extension Manager, sélectionnez Installer extension (Commandes > Gérer les extensions).

L'extension est automatiquement installée dans Dreamweaver.

Il est nécessaire de redémarrer Dreamweaver avant de pouvoir accéder à certaines extensions. Si Dreamweaver est en cours d'exécution lorsque vous installez l'extension, il vous sera peut-être demandé d'en sortir et de redémarrer l'application.

Accédez à Extension Manager (Commandes > Gérer les extensions) dans Dreamweaver pour afficher les informations de base sur l'extension (par exemple, son emplacement dans Dreamweaver).

ErrataLe code dans Dreamweaver UltraDev n'était pas achevé lors de la rédaction de la présente documentation. Par conséquent, il est possible qu'il existe quelques différences entre l'implémentation finale de l'API JavaScript de Dreamweaver UltraDev et les explications fournies dans ce manuel. Vous trouverez une liste des problèmes connus dans la section Extensibility (Extension) du site de support technique de Dreamweaver (en anglais) à l'adresse suivante : http://www.macromedia.com/support/ultradev/extend.html.

Conventions utilisées dans ce manuelCe manuel utilise les conventions typographiques suivantes :

• Police de code indique des fragments de code et des constantes d'API, notamment des noms de classe, des noms de méthodes, des noms de fonctions, des noms de type, des scripts, des instructions SQL et des noms de balises et d'attributs HTML.

• Police de code en italique indique les éléments remplaçables dans le code.

Chapitre 116

Page 17: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Le symbole de continuation (¬) indique qu'une longue ligne de code a été fractionnée sur deux lignes ou plus. En raison des limites de marge du format de ce manuel, une ligne de code continue doit ici être coupée. Lorsque vous voyez ce symbole de continuation dans le manuel, cela signifie que la ligne suivante fait partie de la première. Lorsque vous copiez les lignes de code, entrez-les comme une seule ligne.

Conventions de noms utilisées dans ce guide :

• Vous : le développeur responsable de la rédaction des extensions.

• L'utilisateur : la personne utilisant Dreamweaver UltraDev.

• Le visiteur : la personne qui visualise la page web créée par l'utilisateur.

Extension de Dreamweaver – Présentation 17

Page 18: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 118

Page 19: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2

CHAPITRE 2

Modèle objet de document (DOM) et

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .JavaScript

Les documents HTML sont constitués d'une arborescence de balises qui reflète leur structure. La racine de l'arborescence correspond à la balise HTML, les deux branches principales sont HEAD et BODY. Les ramifications de HEAD sont TITLE, STYLE, SCRIPT, ISINDEX, BASE, META et LINK. Les ramifications de BODY comprennent des en-têtes (H1, H2, etc.), des éléments de niveau bloc (P, DIV, FORM, etc.), des éléments de niveau texte (FONT, BR, IMG, etc.) et l'élément ADDRESS. Les éléments émergeant des ramifications correspondent à des attributs tels que WIDTH, HEIGHT, ALT et HREF.

Un Modèle Objet de Document, ou DOM (Document Object Model), correspond également à une arborescence définissant la structure du document. Toutefois, le DOM définit cette structure en termes d'objets et de propriétés, et non en termes de balises et d'attributs.

La racine de l'arborescence DOM est le document lui-même, l'objet HTML constitue le tronc et les autres objets du document se ramifient à partir de l'objet HTML, à l'instar des balises et des attributs HTML.

Modèle objet de document dans DreamweaverLe DOM d'un navigateur détermine le fonctionnement du code JavaScript d'un document HTML dans ce navigateur. De la même manière, le DOM de Dreamweaver détermine la façon dont le code JavaScript des extensions fonctionne dans Dreamweaver.

19

Page 20: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Le DOM de Dreamweaver associe un sous-ensemble du DOM de Netscape Navigator 4.0 à un sous-ensemble du DOM Niveau 1 du W3C (World Wide Web Consortium). Grâce à l'incorporation du DOM Niveau 1, toutes les parties d'une page HTML, y compris les balises (que le W3C appelle éléments), les commentaires et le texte, deviennent un objet.

La répartition élémentaire de la hiérarchie du DOM est la suivante :

Vous pouvez référencer les objets par leur index (document.forms[3].elements[1]) ou par leur nom (document.myForm.myButton). Les objets ayant le même nom forment un tableau. Vous pouvez accéder à un objet particulier du groupe à l'aide de son index (par exemple, la première case d'options dont le nom est myRadioGroup dans myForm serait référencée par document.myForm.myRadioGroup[0]).

Chapitre 220

Page 21: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Le tableau suivant donne une vue d'ensemble des propriétés, des méthodes et des événements pris en charge par chaque objet ; ces derniers sont décrits de façon plus détaillée dans des ouvrages tels que JavaScript: The Definitive Guide (O’Reilly). Des informations complémentaires sur les propriétés et les méthodes définies par le W3C, qui font l'objet d'une documentation tierce moins complète, figurent à la suite de ce tableau. Les propriétés en lecture seule sont marquées d'une puce (•).

Objet Propriétés Méthodes Evénements

window document •navigator •innerWidth •innerHeight •screenX •screenY •

alert()confirm()escape()unescape()close()setTimeout()clearTimeout()setInterval()clearInterval()resizeTo()

onResize

navigator platform • Aucun Aucun

document forms • (tableau d'objets de formulaire)images • (tableau d'objets image)layers • (un tableau d'objets LAYER, ILAYER et d'objets DIV et SPAN à positionnement absolu)child objects by name •nodeType •parentNode •childNodes •documentElement •body •URL •parentWindow •

getElementsBy TagName()hasChildNodes()

onLoad

toutes les balises/tous les éléments

nodeType •parentNode •childNodes •tagName •attributes by nameinnerHTMLouterHTML

getAttribute()setAttribute()removeAttribute()getElementsByTagName()hasChildNodes()

Modèle objet de document (DOM) et JavaScript 21

Page 22: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

form En complément des propriétés disponibles pour toutes les balises :elements • (tableau d'objets button, checkbox, password, radio, reset, select, submit, text, file, hidden, image et textarea)mmcolorbuttonchild objects by name •

Uniquement les méthodes disponibles pour toutes les balises.

Aucun

layer En complément des propriétés disponibles pour toutes les balises :visibilitylefttopwidthheightzIndex

Uniquement les méthodes disponibles pour toutes les balises.

Aucun

image En complément des propriétés disponibles pour toutes les balises :src

Uniquement les méthodes disponibles pour toutes les balises.

onMouseOveronMouseOutonMouseDownonMouseUp

buttonresetsubmit

En complément des propriétés disponibles pour toutes les balises :form •

En complément des méthodes disponibles pour toutes les balises :blur()focus()

onClick

checkboxradio

En complément des propriétés disponibles pour toutes les balises :checkedform •

En complément des méthodes disponibles pour toutes les balises :blur()focus()

onClick

passwordtextfilehiddenimage (zone)textarea

En complément des propriétés disponibles pour toutes les balises :form •value

En complément des méthodes disponibles pour toutes les balises :blur()focus()select()

onBluronFocus

Objet Propriétés Méthodes Evénements

Chapitre 222

Page 23: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

L'objet dreamweaver et ses propriétés

Outre les objets standard tels qu'ils sont définis par les navigateurs et le W3C, Dreamweaver implémente deux objets personnalisés : dreamweaver et site. L'objet dreamweaver possède deux propriétés en lecture seule qui lui sont associées : appName et appVersion.

select En complément des propriétés disponibles pour toutes les balises :form •options • (tableau d'objets option)selectedIndex

En complément des méthodes disponibles pour toutes les balises :blur() (Windows uniquement)focus() (Windows uniquement)

onBlur (Windows uniquement)onChangeonFocus (Windows uniquement)

option En complément des propriétés disponibles pour toutes les balises :text

Uniquement les méthodes disponibles pour toutes les balises.

Aucun

mmcolorbutton En complément des propriétés disponibles pour toutes les balises :namevalue

Aucun onChange

arraybooleandatefunctionmathnumberobjectstringregexp

Correspond à Netscape 4

Correspond à Netscape 4

Aucun

text nodeType •parentNode •childNodes •data

hasChildNodes() Aucun

comment nodeType •parentNode •childNodes •data

hasChildNodes() Aucun

NodeList length • item() Aucun

NamedNodeMap length • item() Aucun

Objet Propriétés Méthodes Evénements

Modèle objet de document (DOM) et JavaScript 23

Page 24: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

appName a la valeur « Dreamweaver » ou « Dreamweaver Ultradev » respectivement pour chaque application. appVersion prend une valeur ayant le format « versionNumber [languageCode] (platform) ». Par exemple, la valeur de la propriété appVersion pour la version Windows suédoise de Dreamweaver 4 serait « 4.0 [se] (Win32) » ; pour la version Macintosh anglaise, cette valeur serait « 4.0 [en] (MacPPC) ».

Les propriétés appName et appVersion ont été implémentées dans Dreamweaver 3 et ne sont pas disponibles dans les versions antérieures de Dreamweaver. Pour déterminer si la version de Dreamweaver est 3 ou ultérieure, il suffit de vérifier l'existence de la propriété appVersion ou appName. Pour déterminer la version spécifique de Dreamweaver, vérifiez d'abord l'existence de la propriété appVersion, puis le numéro de version. Exemple :

if (dreamweaver.appVersion && ¬dreamweaver.appVersion.indexOf('3.01') != -1){

// execute code}

L'objet site n'a aucune propriété. Pour plus d'informations sur les méthodes des objets dreamweaver et site, voir « API JavaScript de Dreamweaver », page 333.

Informations sur le DOM

Contrairement au DOM de Netscape, le DOM Niveau 1 n'a pas été documenté dans des centaines d'ouvrages et de sites web tiers. Aussi, vous trouverez dans le présent document une description assez détaillée des propriétés et des méthodes du DOM Niveau 1 ainsi que des valeurs qu'elles renvoient.

Le DOM Niveau 1 présente quatre constantes (appelées nodes) qui décrivent les types d'objets constituant l'arborescence du document. Ces constantes, qui correspondent généralement aux valeurs renvoyées de la propriété nodeType, sont les suivantes :

Node.DOCUMENT_NODENode.ELEMENT_NODENode.COMMENT_NODENode.TEXT_NODE

Chapitre 224

Page 25: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Propriétés et méthodes de l'objet document

Le tableau ci-dessous répertorie les nouvelles propriétés et méthodes de l'objet document dans Dreamweaver, ainsi que les valeurs renvoyées correspondantes (accompagnées d'explications, si nécessaire). Les propriétés en lecture seule sont marquées d'une puce (•).

Propriété ou méthode Valeur renvoyée et explication

nodeType • Node.DOCUMENT_NODE

parentNode • null

parentWindow • Objet JavaScript correspondant à la fenêtre parente du document (cette propriété n'est pas incluse dans le DOM Niveau 1, mais elle est prise en charge par Microsoft Internet Explorer (IE) 4.0).

childNodes • Une NodeList (liste de Nudss) contenant tous les enfants immédiats de l'objet document. En règle générale, le document a un seul enfant : l'objet HTML.

documentElement • Objet JavaScript correspondant à la balise HTML. Cette propriété est une forme courte permettant d'obtenir la valeur de document.childNodes et d'extraire la balise HTML de la NodeList.

body • Objet JavaScript correspondant à la balise BODY. Cette propriété est une forme courte permettant d'appeler document.documentElement.childNodes et d'extraire la balise BODY de la NodeList. Pour les documents de jeu de cadres, cette propriété renvoie le Nuds correspondant au jeu de cadres situé le plus à l'extérieur.

URL • L'URL de type file:// du document ou, si le fichier n'a pas été enregistré, une chaîne vide.

getElementsByTagName(tagName) Une NodeList pouvant être utilisée pour parcourir les balises de type tagName (par exemple, IMG, DIV, etc.). Si l'argument tag est LAYER, la fonction renvoie toutes les balises LAYER et ILAYER et toutes les balises DIV et SPAN à positionnement absolu. Si l'argument tag est INPUT, la fonction renvoie tous les éléments du formulaire (pour que ce raccourci fonctionne correctement, tous les noms de champ du formulaire doivent commencer par une lettre).

hasChildNodes() true

Modèle objet de document (DOM) et JavaScript 25

Page 26: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Propriétés et méthodes des objets de balise HTML

Chaque balise HTML est représentée par un objet JavaScript. Les balises sont organisées selon une hiérarchie arborescente dans laquelle la balise x est parente de la balise y si y est entièrement définie entre les balises de début et de fin de x (<x>le contenu de x englobant <y>le contenu de y</y></x>). Le tableau ci-dessous répertorie les propriétés et méthodes des objets de balise dans Dreamweaver, ainsi que leurs valeurs renvoyées (accompagnées d'explications, si nécessaire). Les propriétés en lecture seule sont marquées d'une puce (•).

Propriété ou méthode Valeur renvoyée et explication

nodeType • Node.ELEMENT_NODE

parentNode • Balise parente. S'il s'agit de la balise HTML, c'est l'objet document qui est renvoyé.

childNodes • Une NodeList contenant tous les enfants immédiats de la balise.

tagName • Nom HTML de la balise, tel que IMG, A ou BLINK. Cette valeur est toujours renvoyée en lettres majuscules.

attrName Chaîne de caractères contenant la valeur de l'attribut de balise spécifié. tag.attrName ne peut pas être utilisé si attrName est un mot réservé du langage JavaScript (par exemple, class). Dans ce cas, utilisez plutôt getAttribute() et setAttribute().

innerHTML Code source HTML contenu entre la balise de début et la balise de fin. Par exemple, dans le code <p><b>Hello</b>, World!</p>, p.innerHTML renvoie<b>Hello</b>, World!. Si vous écrivez dans cette propriété, l'arborescence DOM est immédiatement mise à jour de façon à refléter la nouvelle structure du document (cette propriété n'est pas incluse dans le DOM Niveau 1, mais elle est prise en charge par IE 4.0).

outerHTML Code source HTML de cette balise, y compris la balise elle-même. Pour l'exemple de code ci-dessus, p.outerHTML renvoie <p><b>Hello</b>, World!</p>. Si vous écrivez dans cette propriété, l'arborescence DOM est immédiatement mise à jour de façon à refléter la nouvelle structure du document (cette propriété n'est pas incluse dans le DOM Niveau 1, mais elle est prise en charge par IE 4.0).

getAttribute(attrName) Valeur de l'attribut spécifié, s'il est spécifié explicitement ; sinon, null.

Chapitre 226

Page 27: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Propriétés et méthodes des objets texte

Chaque bloc de texte contigu dans un document HTML (par exemple, le texte compris à l'intérieur d'une balise P) est représenté par un objet JavaScript. Les objets texte n'ont jamais d'enfants. Le tableau ci-dessous répertorie les nouvelles propriétés et méthodes des objets texte dans Dreamweaver, ainsi que les valeurs renvoyées correspondantes (accompagnées d'explications, si nécessaire). Les propriétés en lecture seule sont marquées d'une puce (•).

getTranslatedAttribute(attrName) Valeur traduite de l'attribut spécifié, ou la même valeur que celle qui est renvoyée par getAttribute() si la valeur de l'attribut n'est pas traduite (cette propriété n'est pas incluse dans le DOM Niveau 1 ; elle a été ajoutée à Dreamweaver 3 pour prendre en charge la traduction d'attributs).

setAttribute(attrName, attrValue) Pas de valeur renvoyée. Affecte la valeur spécifiée à l'attribut défini : par exemple, img.setAttribute("src", "image/roses.gif").

removeAttribute(attrName) Pas de valeur renvoyée. Supprime l'attribut défini et sa valeur du code HTML de la balise.

getElementsByTagName(tagName) Une NodeList pouvant être utilisée pour parcourir les balises enfants de type tagName (par exemple, IMG, DIV, etc.). Si l'argument tag est LAYER, la fonction renvoie toutes les balises LAYER et ILAYER et toutes les balises DIV et SPAN à positionnement absolu. Si l'argument tag est INPUT, la fonction renvoie tous les éléments du formulaire (pour que ce raccourci fonctionne correctement, tous les noms de champ du formulaire doivent commencer par une lettre).

hasChildNodes() Valeur booléenne indiquant si la balise a des enfants.

hasTranslatedAttributes() Valeur booléenne indiquant si la balise a des attributs traduits (cette propriété n'est pas incluse dans le DOM Niveau 1 ; elle a été ajoutée à Dreamweaver 3 pour prendre en charge la traduction d'attributs).

Propriété ou méthode Valeur renvoyée et explication

nodeType • Node.TEXT_NODE

parentNode • Balise parente.

Propriété ou méthode Valeur renvoyée et explication

Modèle objet de document (DOM) et JavaScript 27

Page 28: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Propriétés et méthodes des objets de commentaire

Chaque commentaire HTML est représenté par un objet JavaScript. Le tableau ci-dessous répertorie les propriétés et méthodes des objets de commentaire dans Dreamweaver, ainsi que les valeurs renvoyées correspondantes (accompagnées d'explications, si nécessaire). Les propriétés en lecture seule sont marquées d'une puce (•).

Fonctionnement de JavaScript dans les fichiers d'extensionLorsque Dreamweaver traite les fichiers d'extension, il compile tous les éléments compris entre les balises SCRIPT et exécute le code situé dans les balises SCRIPT ne faisant pas partie d'une déclaration de fonction (par exemple, l'initialisation des variables globales). En outre, Dreamweawer lit, compile et exécute des scripts situés dans des fichiers JavaScript externes spécifiés dans les attributs SRC des balises SCRIPT.

Remarque : si le code JavaScript de vos fichiers d'extension contient la chaîne '</SCRIPT>', l'interpréteur JavaScript le lit comme une balise SCRIPT de fermeture et signale une erreur littérale de chaîne non terminée. Pour éviter ce problème, divisez la chaîne en plusieurs parties et concaténez-les de la façon suivante : '<' + '/SCRIPT>'.

childNodes • Une NodeList vide.

data La chaîne de texte réelle. Les entités du texte sont représentées par des caractères uniques (par exemple, le texte Joseph & I est renvoyé sous la forme Joseph & I).

hasChildNodes() false

Propriété ou méthode Valeur renvoyée et explication

nodeType • Node.COMMENT_NODE

parentNode • Balise parente.

childNodes • Une NodeList vide.

data Chaîne de texte comprise entre les marqueurs de commentaires (<!-- et -->).

hasChildNodes() false

Propriété ou méthode Valeur renvoyée et explication

Chapitre 228

Page 29: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Dans les fichiers de commande et de comportement, Dreamweaver exécute le code contenu dans le gestionnaire d'événements onLoad (s'il en existe un dans la balise BODY) lorsque l'utilisateur choisit la commande ou l'action dans un menu. Dans les fichiers d'objet, Dreamweaver exécute le code contenu dans le gestionnaire d'événements onLoad dans la balise BODY si le corps du document contient un formulaire. Dreamweaver ignore le gestionnaire onLoad de la balise BODY dans les fichiers de traducteur de données, d'inspecteur de propriétés et de panneau flottant. Dans tous les fichiers d'extension, Dreamweaver exécute le code contenu dans d'autres gestionnaires d'événements (par exemple, onBlur="alert('This is a required field.')") lorsque l'utilisateur utilise les champs de formulaire auxquels ils sont rattachés.

Les liens (balises a, y compris celles avec des URL JavaScript telles que <a href="javascript:alert('hi')">) ne sont pas pris en charge, de même que l'instruction document.write(). Les plug-ins (définis sur play en permanence) sont pris en charge dans la balise BODY des fichiers d'extension, mais les appliquettes Java et les commandes ActiveX ne le sont pas.

Exécution des scripts au démarrage ou à la fermeture

Dans Dreamweaver 4, si vous placez un fichier de commandes dans le dossier Configuration/Startup, la commande s'exécute au démarrage de Dreamweaver. Les commandes de démarrage se chargent avant le fichier menus.xml, avant les fichiers du dossier ThirdPartyTags et avant les autres commandes, objets, comportements, inspecteurs, panneaux flottants ou traducteurs. Par conséquent, vous pouvez utiliser les commandes de démarrage pour modifier le fichier menus.xml ou d'autres fichiers d'extension. Vous pouvez également afficher des avertissements, inviter l'utilisateur à donner des informations ou appeler la commande dreamweaver.runCommand(), mais vous ne pouvez pas appeler une commande qui nécessite un DOM valide.

De même, si vous placez un fichier de commande dans le dossier Configuration/Shutdown, la commande s'exécute à la fermeture de Dreamweaver. Vous pouvez appeler la fonction dreamweaver.runCommand() à partir des commandes de fermeture, afficher des avertissements ou inviter l'utilisateur à entrer des informations, mais vous ne pouvez pas arrêter le processus de fermeture.

Pour plus d'informations sur les commandes, voir la section « Commandes », page 45.

Commandes JavaScript personnaliséesL'architecture d'extension de Dreamweaver prend en charge les éléments de formulaire HTML de base tels que select et input, qui peuvent être utilisés ultérieurement dans les extensions pour ajouter de nouvelles commandes à l'interface utilisateur de Dreamweaver. La commande d'arborescence et la commande du bouton de couleurs sont deux exemples de cette prise en charge étendue.

Modèle objet de document (DOM) et JavaScript 29

Page 30: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Commandes d'arborescence

La commande d'arborescence affiche les données dans un format hiérarchisé et permet aux utilisateurs d'étendre et de réduire les affichages des données. Les données sont stockées dans l'arborescence dans un ensemble de « Nudss de données ». Les Nudss de données peuvent contenir d'autres Nudss de données, appelés « Nudss enfants ». Les Nudss situés aux extrémités de l'arborescence sont appelés « Nudss terminaux ». Les Nudss terminaux ne contiennent, par définition, aucun Nuds enfant qui leur appartient. Le premier Nuds de l'arborescence constitue le Nuds « racine ».

Dans Dreamweaver, l'Editeur de raccourcis clavier utilise la commande d'arborescence :

Le fait de cliquer une fois sur un Nuds le sélectionne. Sous Windows, les boutons de Nuds sont les boutons +/-. Sur Macintosh, les Nudss sont des triangles qui peuvent être tournés vers le bas. Les Nudss contenant des Nudss enfants sont extensibles et réductibles en cliquant sur le bouton correspondant situé à côté du Nuds.

Instanciation d'une commande d'arborescence

Une commande d'arborescence utilise trois nouvelles balises (Dreamweaver utilise le préfixe MM: pour distinguer la balise du langage HTML normal) :

Chapitre 230

Page 31: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• MM:TREECONTROL indique à Dreamweaver que l'élément de formulaire est une commande d'arborescence.

• MM:TREECOLUMN définit une colonne dans la commande d'arborescence.

• MM:TREENODE définit un Nuds dans la commande d'arborescence.

MM:TREECONTROL La balise MM:TREECONTROL est un nouvel élément HTML que l'utilisateur peut définir dans un document d'extension pour créer une instance d'une commande d'arborescence. La balise comporte plusieurs attributs, propriétés, événements et méthodes.

Bien que la balise MM:TREECONTROL ne soit pas vide, elle ne doit pas contenir de texte brut. Le seul contenu valide pour une balise MM:TREECONTROL est au minimum une balise MM:TREECOLUMN et zéro ou plus balises MM:TREENODE.

Les attributs HTML de la balise MM:TREECONTROL sont :

MM:TREECOLUMN La balise MM:TREECOLUMN définit une colonne dans la commande d'arborescence. Vous devez définir au minimum une balise M:TREECOLUMN.

Nom de l'attribut Description Exemple

name Nom de la commande d'arborescence

<MM:TREECONTROL name="MyTree"></MM:TREECONTROL>

size Nombre de lignes pour mesurer la commande. (facultatif) La valeur par défaut est de 5 lignes.

<MM:TREECONTROL size="6"></MM:TREECONTROL>

multiple Permet à une arborescence de comporter plusieurs sélections. La valeur par défaut est une sélection unique. (facultatif)

<MM:TREECONTROL MULTIPLE></MM:TREECONTROL>

style Définition de style pour la hauteur et la largeur de la commande d'arborescence. S'il est précisé, il est prépondérant sur l'attribut SIZE. (facultatif)

<MM:TREECONTROL style="width:100px;height:200px"> </MM:TREECONTROL>

noheaders Si cet attribut est présent, les en-têtes de la colonne de l'arborescence ne sont pas affichés.

<MM:TREECONTROL noheaders"></MM:TREECONTROL>

Modèle objet de document (DOM) et JavaScript 31

Page 32: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La syntaxe d'une balise MM:TREECOLUMN est :

Les balises TREECOLUMN doivent s'afficher en haut de la déclaration TreeControl, comme par exemple :

<MM:TREECONTROL name="tree1"><MM:TREECOLUMN name="Column1" width="100" state="visible"><MM:TREECOLUMN name="Column2" width="80" state="visible">... </MM:TREECONTROL>

Remarque : les balises TREECOLUMN peuvent techniquement s'afficher n'importe où dans la balise TREECONTROL, mais elles doivent être placées en haut pour une meilleure lisibilité.

MM:TREENODE La balise MM:TREENODE définit un Nuds individuel dans une balise MM:TREECONTROL. Il s'agit d'une balise qui n'est pas vide et qui ne peut contenir que d'autres balises MM:TREENODE.

La balise MM:TREENODE ne doit pas contenir de texte brut, bien qu'elle ne soit pas vide. Le seul contenu valide pour une balise MM:TREENODE est zéro ou plus balises MM:TREENODE.

Nom de l'attribut Description Exemple

name Nom de la colonne. <MM:TREECOLUMN name="Column1">

value Chaîne qui doit s'afficher dans l'en-tête de la colonne.

<MM:TREECOLUMN value="Files">

width Largeur de la colonne, en pixels. Les pourcentages ne sont pas pris en charge. La valeur par défaut est 100.

<MM:TREECOLUMN width="60">

align Alignement du texte de la colonne : à gauche, à droite ou centré. La valeur par défaut est à gauche.

<MM:TREECOLUMN align="center">

state Etat de la colonne : visible (visible) ou masqué (hidden).

<MM:TREECOLUMN state="visible">

Chapitre 232

Page 33: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Les attributs MM:TREENODE sont :

Un ensemble classique de codes de commande d'arborescence peut ressembler à ceci :

<MM:TREECONTROL name="CtrlName" [size=N] [style="[width:#px];[height:#px]"]><MM:TREECOLUMN name="Column1" value="Items"> <MM:TREENODE value="Item1" selected></MM:TREENODE><MM:TREENODE value="Item2|Item3" expanded><MM:TREENODE value="Item4|Item5"></MM:TREENODE></MM:TREENODE> </MM:TREECONTROL>

Nom de l'attribut Description Exemple

name Nom de la balise TREENODE. <MM:TREENODE name="node1"> </MM:TREENODE>

value Comporte le contenu du Nuds donné. Pour plusieurs colonnes, il s'agit d'une chaîne délimitée par un trait vertical (|). Pour définir une colonne vide, placez un seul caractère d'espace avant le trait vertical.

<MM:TREENODE value="Lawnmower|129.95"></MM:TREENODE> // EMPTY COL EXAMPLE:<MM:TREENODE value="Data| |"> </MM:TREENODE>

state Etat du Nuds : étendu (expanded) ou réduit (collapsed).

<MM:TREENODE state="expanded"> </MM:TREENODE>

selected true si le Nuds est actuellement sélectionné. Vous pouvez sélectionner plusieurs Nudss en définissant cet attribut sur plusieurs Nudss d'arborescence, si cette dernière comporte un attribut MULTIPLE.

<MM:TREENODE selected> </MM:TREENODE>

icon Index des nombres entiers de l'icône intégrée à utiliser, en commençant par 0. Les icônes intégrées sont : 0 = aucune icône1 = icône de document DW 2 = icône multi-document3 = dossier4 = document image 5 = coche de couleur verte6 = X rouge7 = point d'interrogation8 = icône de remarque9 = icône d'avertissement10 = icône d'arrêt

<MM:TREENODE icon='1'> </MM:TREENODE>

Modèle objet de document (DOM) et JavaScript 33

Page 34: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Manipulation du contenu des commandes d'arborescence

Les balises TREECONTROL et TREENODE sont implémentées comme des balises HTML et sont par conséquent analysées par Dreamweaver et stockées dans l'arborescence du document. Ces balises peuvent ensuite être manipulées comme tout autre Nuds de document en appelant des fonctions DOM et en utilisant les propriétés DOM déjà intégrées dans Dreamweaver.

Ajout de Nudss Dreamweaver ne possède actuellement pas de fonction DOM permettant de créer de nouveaux Nudss dans la structure du document. Dreamweaver prend en charge deux propriétés, innerHTML et outerHTML, qui peuvent être utilisées pour simuler cette fonction.

Par exemple, pour ajouter un Nuds enfant à un Nuds parent vide existant, vous devez définir :

parentNode.innerHTML = "<MM:TREENODE name="X" value='myNewNode' ¬expanded></MM:TREENODE>"

Suppression de Nudss Dreamweaver ne prend actuellement pas en charge de fonction DOM permettant de supprimer un Nuds dans la structure du document. Ce comportement peut être simulé à l'aide des propriétés innerHTML et outerHTML.

Par exemple, pour supprimer tous les Nudss enfants d'un Nuds parent spécifique, vous devez définir :

parentNode.innerHTML = ""

Déplacement de Nudss Dreamweaver ne dispose actuellement d'aucune fonction DOM permettant de déplacer un Nuds vers un autre emplacement dans le document. Cette action peut être simulée en utilisant une combinaison d'ajouts et de suppressions de Nudss (à l'aide des propriétés innerHTML et outerHTML).

Modification de Nudss Les Nudss peuvent être directement modifiés avec les fonctions DOM fournies dans Dreamweaver.

Par exemple, pour définir l'attribut « expanded » (étendu) d'un Nuds d'arborescence, un programmeur peut simplement utiliser la fonction DOM NODE.setAttribute('expanded','expanded') pour étendre le Nuds. Tous les autres attributs peuvent être commandés de la même façon.

Exploration de noœuds Dreamweaver ne dispose d'aucune fonction API intégrée pour parcourir ou itérer les Nudss. Ce comportement peut être simulé à l'aide des propriétés et méthodes parentNode, childNodes et hasChildNodes().

Par exemple, pour récupérer le Nuds parent d'un Nuds, vous devez utiliser :

parent = node.parentNode;

Obtention des données du Nuds Les données de Nuds peuvent être récupérées directement à partir du Nuds à l'aide des propriétés et des fonctions de Nuds DOM fournies dans Dreamweaver, telles que getAttribute(), innerHTML et outerHTML.

Chapitre 234

Page 35: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Par exemple, pour voir si un Nuds a été sélectionné, vous pouvez utiliser :

bSelected = (node.getAttribute('selected') != null)

Commande d'arborescence de base de donnée et commande de grille de variables

UltraDev étend la balise select HTML avec deux nouvelles commandes : la commande d'arborescence de base de donnée et la commande de grille de variables. La commande d'arborescence de base de données permet d'afficher les informations relatives aux schémas des bases de données, c'est-à-dire les tableaux et les colonnes les constituant. La commande de grille de variables est utilisée pour afficher les informations tabulaires. Dans UltraDev, la boîte de dialogue Jeu d'enregistrements avancée fait appel à ces commandes.

Boîte de dialogue Jeu d'enregistrements avancée

Ajout d'une commande d'arborescence de base de données

Pour ajouter ce type de commande dans une boîte de dialogue, tapez le code HTML suivant dans votre page :

<select name="DBTree" style="width:400px;height:110px" ¬type=mmdatabasetree connection=""></select>

La commande d'arborescence de base de données possède les attributs suivants :

name="DBTree", qui est le nom de la commande d'arborescence de base de données.

style="width:x;height:n", qui correspond à la taille de la commande. Vous pouvez déterminer sa largeur (x) et sa hauteur (n) en pixels.

Modèle objet de document (DOM) et JavaScript 35

Page 36: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

type=mmdatabasetree, qui correspond au type de la commande. La valeur mmdatabasetree indique que cette balise doit être restituée comme une arborescence de base de données et afficher le contenu de la connexion spécifiée dans l'attribut de connexion.

connection="connectionName" indique le nom d'une connexion UltraDev (définie dans le Gestionnaire de connexions). Si l'attribut connection est vide, la commande est également vide.

noexpandbuttons, lorsque cet attribut est défini, la commande d'arborescence ne dessine pas les indicateurs étendre (+) ou réduire (-) ou les flèches en triangle associées sous Windows. Cet attribut est très utile pour dessiner des commandes de liste à plusieurs colonnes.

showHeaders, lorsque cet attribut est défini, la commande d'arborescence affiche un en-tête en haut, spécifiant le nom de chaque colonne.

Toutes les balises d'options placées dans la balise select sont ignorées.

Utilisez JavaScript pour modifier l'attribut connection et récupérer des données sélectionnées dans l'arborescence. Utilisez DBTreeControl comme objet JavaScript d'enveloppement de la nouvelle balise. L'implémentation de cet objet est disponible dans le fichier DBTreeControlClass.js, situé dans Configuration\Shared\Ultradev\Scripts.

Ajout d'une commande de grille de variables

Pour ajouter ce type de commande dans une boîte de dialogue, tapez le code HTML suivant dans votre page :

<select name="ParamList" style="width:515px;" ¬type=mmparameterlist columns="Name,SQL Data ¬Type,Direction,Default Value,Run-time Value" size=6></select>

La commande de grille de variables possède les attributs suivants :

name="ParamList", qui est le nom de la commande de grille de variables.

style="width:x", qui est la largeur de la commande.

type=mmparameterlist, qui est le type de la commande. La valeur mmparameterlist indique que cette balise doit être restituée comme une commande de grille de variables.

Chapitre 236

Page 37: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

columns="colName1", "colNamex", qui définit le nom des colonnes, chacune étant séparée par une virgule. Chaque colonne devant disposer d'un nom, cet attribut indique donc à la fois le nom des colonnes et leur nombre dans la commande (le nombre de colonnes correspond au nombre de noms indiqués). Dans l'exemple précédent, nous avons indiqué l'attribut de colonne suivant : columns="Name,SQL Data Type,Direction,Default Value,Run-time Value". Cette spécification crée donc cinq colonnes appelées «Name » (Nom), « SQL Data Type » (Type de données SQL), « Direction » (Direction), « Default Value » (Valeur par défaut) et « Run-time Value » (Valeur d'exécution).

size=n, qui définit le nombre de lignes visibles.

columnWidth="x, ...", qui définit la largeur des colonnes, chacune étant séparée par une virgule. Si vous ne définissez aucune valeurs, les colonnes ont toutes la même largeur. Vous pouvez également indiquer la largeur des premières colonnes, en laissant les dernières vides. Les colonnes vides ont alors toutes la même largeur, en fonction de l'espace restant dans la commande une fois les premières colonnes placées. Par exemple, supposons que vous définissiez la balise de sélection suivante :

<select name="ParamList" style="width:500px;" ¬type=mmparameterlist columns="Name,SQL Data Type,Direction, ¬Default Value,Run-time Value" columnWidth="100 25,11," size=6>¬</select>

Vous créez ainsi une commande de grille de variables de 500 pixels de large et comportant les cinq colonnes suivantes : Name, SQL Data Type, Direction, Default Value, and Run-time Value. La largeur de la colonne Name sera de 100 pixels, celle de SQL DataType de 25 pixels et celle de Direction de 11 pixels. Les deux dernières colonnes auront chacune une largeur de 182 pixels. Le calcul est le suivant : le total des colonnes définies est de 136 et la largeur totale de la commande de 500. Après placement des trois premières colonnes, l'espace restant est de 364 pixels. Il reste deux colonnes, 364 divisés par 2 font 182.

Cette commande comporte également un objet d'enveloppement JavaScript devant être employé pour accéder aux données de la commande et les manipuler. L'implémentation de cet objet se trouve dans le fichier GridControlClass.js, dont le chemin d'accès est : Configuration\Shared\MM\Scripts\Class\

Commande de bouton couleur pour les extensions

Une commande de bouton couleur vous permet d'ajouter une interface de sélecteur de couleurs à vos extensions. Créez une instance de bouton couleur à l'aide de la balise input de formulaire HTML existante, avec l'attribut type de l'ensemble de commande pour "mmcolorbutton", puis définissez les attributs name et value en conséquence. L'attribut name est le nom du bouton couleur. L'attribut value correspond à la valeur actuelle de la couleur, représentée comme une chaîne héxadécimale ou comme un nom de couleur.

Modèle objet de document (DOM) et JavaScript 37

Page 38: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Voici quelques exemples de la balise mmcolorbutton :

<input type="mmcolorbutton" name="colorbutton" value="#FF0000"> <input type="mmcolorbutton" name="colorbutton" value="teal">

Un bouton couleur comporte un événement onChange qui est déclenché lorsque la couleur est modifiée.

Chapitre 238

Page 39: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3

CHAPITRE 3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Objets

Les objets sont conçus pour insérer une chaîne de code spécifique dans le document de l'utilisateur. Un objet apparaît dans une catégorie du panneau d'objets et dans le menu Insertion une fois que son fichier Objet est stocké dans un sous-dossier du dossier Configuration/Objects, situé dans le dossier de l'application Dreamweaver.

Les objets sont constitués de deux éléments : le fichier Objet qui définit l'élément inséré dans votre document et l'image GIF de 18 x 18 pixels qui s'affiche dans le panneau d'objets.

Les objets sont des fichiers HTML. La balise BODY d'un fichier d'objet peut contenir un formulaire HTML acceptant des paramètres pour l'objet (par exemple, le nombre de lignes et de colonnes du tableau à insérer). La balise HEAD d'un fichier d'objet contient des fonctions JavaScript qui traitent les entrées de formulaire de la balise BODY et contrôlent les éléments ajoutés au document de l'utilisateur.

Remarque : les objets les plus simples contiennent uniquement le code HTML à insérer, sans les balises BODY et HEAD. Pour plus d'informations, reportez-vous au chapitre « Personnalisation de Dreamweaver » du manuel Utilisation de Dreamweaver.

39

Page 40: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctionnement des fichiers d'objetLorsqu'un utilisateur sélectionne un objet en cliquant sur une icône du panneau d'objets ou en choisissant une option du menu Insertion, la chaîne d'événements suivante se produit :

Schéma du traitement de l'objet

1 La balise FORM est recherchée dans le fichier d'objet. Si un formulaire existe (et que l'option Afficher la boîte de dialogue lors de l'insertion d'objets est sélectionnée dans la boîte de dialogue Préférences, onglet Général), Dreamweaver appelle la fonction windowDimensions(), si elle est définie, pour déterminer la taille de la boîte de dialogue qui va afficher le formulaire. Si le fichier d'objet ne contient aucun formulaire, Dreamweaver n'affiche pas de boîte de dialogue et l'étape 2 est ignorée.

2 Si Dreamweaver affiche une boîte de dialogue à l'étape 1, l'utilisateur entre les paramètres de l'objet (tel que le nombre de lignes et de colonnes d'un tableau) dans la boîte de dialogue, puis clique sur OK.

3 La fonction objectTag() est appelée et la valeur qu'elle renvoie est insérée dans le document immédiatement après la sélection en cours (elle ne remplace pas la sélection en cours).

API d'objetLes fonctions personnalisées de l'API d'objet ne sont pas obligatoires. Les fonctions de l'API d'objet diffèrent des fonctions de l'API JavaScript principale sur trois points :

Chapitre 340

Page 41: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles ne sont significatives que dans le contexte des fichiers d'objet. En d'autres termes, Dreamweaver n'appelle automatiquement la fonction objectTag() que si elle est définie dans un fichier d'objet, tandis que dans tout autre fichier d'extension, une fonction nommée objectTag() se comporte comme une fonction utilisateur et vous devez l'appeler explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions et leur transmettez des arguments, avant que Dreamweaver ne génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

displayHelp()

Description

Si cette fonction est définie, un bouton Aide apparaît sous les boutons OK et Annuler dans la boîte de dialogue Paramètres. Cette fonction est appelée lorsque l'utilisateur clique sur le bouton Aide.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction displayHelp() ouvre dans une fenêtre de navigateur un fichier contenant les instructions d'utilisation de l'objet :

function displayHelp(){dreamweaver.browseDocument('http://people.netscape.com/¬andreww/dreamweaver/objects.html');

}

isDomRequired()

Description

Détermine si l'objet requiert un DOM valide pour fonctionner. Si cette fonction renvoie true ou si la fonction n'est pas définie, Dreamweaver suppose que la commande nécessite un DOM valide et synchronise les modes Affichage de code et Création du document avant de l'exécuter. La synchronisation met à jour toutes les modifications effectuées en mode Affichage de code dans le mode Création.

Arguments

Aucun.

Objets 41

Page 42: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

true si une commande nécessite un DOM valide pour fonctionner, sinon false.

objectTag()

Description

Insère une chaîne de code dans le document de l'utilisateur.

Arguments

Aucun.

Valeurs renvoyées

La chaîne à insérer.

Exemple

L'exemple suivant de la fonction objectTag() insère une combinaison OBJECT/EMBED pour un contrôle ActiveX et un plug-in spécifiques :

function objectTag() {return '\n' +'<OBJECT CLASSID="clsid:166F1OOB-3A9R-11FB-8075444553540000" \n'¬+ 'CODEBASE="http://www.mysite.com/product/cabs/¬myproduct.cab#version=1,0,0,0" \n' + 'NAME="MyProductName"> \n' ¬+ '<PARAM NAME="SRC" VALUE=""> \n' + '<EMBED SRC="" HEIGHT="" ¬WIDTH="" NAME="MyProductName"> \n' + '</OBJECT>'}

windowDimensions()

Description

Définit les dimensions de la boîte de dialogue des paramètres. Si cette fonction n'est pas définie, les dimensions de la fenêtre sont calculées automatiquement.

Remarque : ne définissez cette fonction que si vous souhaitez utiliser une boîte de dialogue d'options ayant des dimensions supérieures à 640 x 480 pixels.

Arguments

platform

La valeur de l'argument est soit "macintosh", soit "windows", selon la plate-forme utilisée par l'utilisateur.

Valeurs renvoyées

Une chaîne de caractères au format "widthInPixels,heightInPixels".

Les dimensions renvoyées sont inférieures à la taille totale de la boîte de dialogue parce qu'elles n'incluent pas la zone des boutons OK et Annuler. Si les dimensions renvoyées ne permettent pas de faire apparaître toutes les options, des barres de défilement s'affichent.

Chapitre 342

Page 43: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

L'exemple suivant de windowDimensions() définit les dimensions de la boîte de dialogue des paramètres à 648 x 520 pixels si la plate-forme est Windows et à 660 x 580 pixels si la plate-forme est Macintosh :

function windowDimensions(platform){var retval = ""if (platform = = "windows"){retval = "648, 520";}else{retval = "660, 580";}return retval;

}

Ajout d'objets au panneau d'objetsDreamweaver ajoute automatiquement tous les fichiers se trouvant dans l'un des sous-dossiers du dossier Configuration/Objects à la catégorie associée à ce sous-dossier. Par exemple, un fichier se trouvant dans le dossier Configuration/Objects/MyObjects apparaîtrait dans la catégorie MyObjects du panneau d'objets.

Remarque : bien que les fichiers d'objet peuvent être stockés dans des dossiers distincts, il est important que le nom de chaque fichier soit unique. La fonction dom.insertObject(), par exemple, recherche un fichier spécifié dans l'ensemble du dossier Objects sans faire de distinction entre les sous-dossiers. En effet, si le dossier Forms et le dossier MyObjects contiennent chacun un fichier nommé Button.htm, par exemple, Dreamweaver n'est pas capable de faire la différence entre les deux.

Chaque fichier d'objet est associé à une image GIF de 18 x 18 pixels qui s'affiche dans le panneau d'objets. Le fichier image doit avoir le même nom de base que le fichier d'objet (par exemple, object.gif est associé à object.htm) pour que la liaison entre ces deux fichiers soit préservée.

Si vous créez une image d'objet de taille supérieure, Dreamweaver la redimensionne automatiquement à 18 x 18 pixels. Si vous ne créez pas d'image pour votre objet, une icône d'objet par défaut apparaît dans le panneau d'objets.

Ajout d'objets au menu InsertionDreamweaver ajoute automatiquement tous les fichiers se trouvant dans l'un des sous-dossiers du dossier Configuration/Objects au bas de la liste d'options du menu Insertion.

Objets 43

Page 44: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour contrôler la position d'un objet dans le menu Insertion ou dans tout autre menu ou pour ajouter un objet à plusieurs menus, vous pouvez modifier le fichier menus.xml. Ce fichier contrôle l'intégralité de la structure de menus pour Dreamweaver. Pour plus d'informations sur la façon de modifier le fichier menus.xml, reportez-vous au chapitre « Personnalisation de Dreamweaver » du manuel Utilisation de Dreamweaver.

Remarque : dans Dreamweaver 2 et les versions antérieures, les éléments du menu Insertion étaient contrôlés par un fichier nommé InsertMenu.htm. Ce fichier a été remplacé par menus.xml.

Chapitre 344

Page 45: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4

CHAPITRE 4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Commandes

Les commandes permettent d'exécuter presque n'importe quel type de modification dans le document actif de l'utilisateur, dans d'autres documents ouverts ou dans tout document HTML situé sur un disque local. Les commandes peuvent insérer, supprimer ou réorganiser les balises et les attributs HTML, les commentaires et le texte.

Les commandes sont des fichiers HTML. La balise BODY d'un fichier de commande peut contenir un formulaire HTML acceptant des options pour la commande (par exemple, le tri des éléments d'un tableau et la colonne de référence du tri). La balise HEAD d'un fichier de commande contient des fonctions JavaScript qui traitent les entrées de formulaire de la balise BODY et contrôlent les modifications apportées au document de l'utilisateur.

45

Page 46: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctionnement des commandesLorsque l'utilisateur clique sur un menu contenant une commande, la chaîne d'événements suivante se produit :

Traitement de la commande et schéma de l'intégration de la boîte de dialogue

1 Dreamweaver appelle la fonction canAcceptCommand(), si elle est définie, dans chacun des fichiers de commande référencés dans le menu pour vérifier si cette commande correspond à l'élément sélectionné. Si canAcceptCommand() renvoie false, la commande apparaît estompée dans le menu.

2 L'utilisateur choisit une commande dans le menu.

3 Dreamweaver appelle la fonction receiveArguments(), si elle est définie, dans le fichier de commande sélectionné afin de permettre à la commande de traiter tous les arguments transmis depuis la fonction dreamweaver.runCommand().

4 Dreamweaver appelle la fonction commandButtons(), si elle est définie, pour identifier les boutons qui figurent dans la partie droite de la boîte de dialogue des options et le code qui doit être exécuté lorsque l'utilisateur clique sur ces boutons.

Chapitre 446

Page 47: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

5 Dreamweaver recherche la balise FORM dans le fichier de commande. S'il existe un formulaire, Dreamweaver appelle la fonction windowDimensions() pour identifier la taille de la boîte de dialogue des options qui contient les éléments BODY du fichier. Si la fonction windowDimensions() n'est pas définie, la taille de la boîte de dialogue est déterminée automatiquement.

6 Si la balise BODY du fichier de commande contient le gestionnaire onLoad, Dreamweaver l'exécute (que la boîte de dialogue soit affichée ou non). Si aucune boîte de dialogue ne s'affiche, les étapes restantes ne sont pas exécutées.

7 L'utilisateur sélectionne les options de la commande. Dreamweaver exécute les gestionnaires d'événements associés aux champs du formulaire au fur et à mesure que l'utilisateur les rencontre.

8 L'utilisateur clique sur l'un des boutons définis par la fonction commandButtons().

9 Dreamweaver exécute le code associé au bouton sur lequel l'utilisateur a cliqué.

10 La boîte de dialogue reste affichée jusqu'à ce que l'un des scripts de la commande appelle la fonction window.close().

API de commandeLes fonctions personnalisées de l'API de commande sont toutes facultatives. Les fonctions de l'API de commande diffèrent des fonctions de l'API JavaScript principale sur trois points :

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles ne sont significatives que dans le contexte des fichiers de commande. En d'autres termes, Dreamweaver n'appelle automatiquement la fonction commandButtons() que si elle est définie dans un fichier de commande ou de commande de menu, tandis que dans tout autre fichier d'extension, une fonction nommée commandButtons() fonctionne de la même façon qu'une fonction utilisateur et doit être appelée explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions et leur transmettez des arguments, avant que Dreamweaver ne génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

canAcceptCmommand()

Description

Indique si la commande est appropriée pour la sélection en cours.

Commandes 47

Page 48: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Remarque : ne définissez la fonction canAcceptCommand() que s'il existe au moins un cas où elle renvoie la valeur false. Si cette fonction n'est pas définie, la commande est considérée comme appropriée ; cette supposition permet de gagner du temps et d'améliorer les performances.

Arguments

Aucun.

Valeurs renvoyées

true si la commande est appropriée, sinon false, auquel cas la commande apparaît estompée dans le menu.

Exemple

Dans l'exemple suivant, la fonction canAcceptCommand() rend la commande disponible uniquement lorsque la sélection correspond à un tableau :

function canAcceptCommand(){var selObj=dw.getDocumentDOM.getSelectedNode();return (selObj.nodeType == Node.ELEMENT_NODE && ¬selObj.tagName=="TABLE");

}

commandButtons()

Description

Définit les boutons devant figurer dans la partie droite de la boîte de dialogue Options et leur comportement lorsque l'utilisateur clique dessus. Si cette fonction n'est pas définie, aucun bouton n'apparaît et la balise BODY du fichier de commande s'étend de façon à remplir toute la boîte de dialogue.

Arguments

Aucun.

Valeurs renvoyées

Un tableau contenant un nombre pair d’éléments. Le premier élément est une chaîne contenant le libellé du premier bouton. Le deuxième élément est une chaîne de code JavaScript définissant le comportement du premier bouton lorsque l'utilisateur clique dessus. Les autres éléments définissent les boutons supplémentaires de la même manière.

Exemple

Dans l'exemple suivant, la fonction commandButtons() définit trois boutons : OK, Annuler et Aide.

function commandButtons(){return new Array("OK" , "doCommand()" , "Cancel" , ¬"window.close()" , "Help" , "showHelp()");

}

Chapitre 448

Page 49: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

isDomRequired()

Description

Détermine si la commande nécessite un DOM valide pour fonctionner. Si cette fonction renvoie true ou si la fonction n'est pas définie, Dreamweaver suppose que la commande nécessite un DOM valide et synchronise les modes Affichage de code et Création du document avant de l'exécuter. La synchronisation met à jour toutes les modifications effectuées en mode Affichage de code dans le mode Création.

Arguments

Aucun.

Valeurs renvoyées

true si une commande nécessite un DOM valide pour fonctionner, sinon false.

receiveArguments()

Description

Traite tous les arguments transmis à partir d'un élément du menu ou de dw.runCommand(), si un argument a été donné à la fonction dw.runCommand().

Arguments

{arg1}, {arg2},...{argN}

Si l'attribut arguments est défini pour une balise menuitem, la valeur de l'attribut est transmise à la fonction receiveArguments() sous forme d'un ou plusieurs arguments. L'attribut arguments permet de distinguer entre deux éléments de menu appelant la même commande de menu. Les arguments peuvent également être transmis à une commande par la fonction dw.runCommand().

Valeurs renvoyées

Aucune.

windowDimensions()

Description

Définit les dimensions de la boîte de dialogue des paramètres. Si cette fonction n'est pas définie, les dimensions de la fenêtre sont calculées automatiquement.

Remarque : ne définissez cette fonction que si vous souhaitez utiliser une boîte de dialogue d'options ayant des dimensions supérieures à 640 x 480 pixels.

Arguments

platform

La valeur de l'argument est soit "macintosh", soit "windows", selon la plate-forme utilisée par l'utilisateur.

Commandes 49

Page 50: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une chaîne de caractères au format "widthInPixels,heightInPixels".

Les dimensions renvoyées sont inférieures à la taille totale de la boîte de dialogue parce qu'elles n'incluent pas la zone des boutons OK et Annuler. Si les dimensions renvoyées ne permettent pas de faire apparaître toutes les options, des barres de défilement s'affichent.

Exemple

Dans l'exemple suivant, la fonction windowDimensions() définit les dimensions de la boîte de dialogue des paramètres à 648 x 520 pixels :

function windowDimensions(){return "648,520";

}

Chapitre 450

Page 51: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple de commande simpleLa commande suivante convertit tous les caractères du texte sélectionné en minuscules. Cette commande est très simple ; elle n'affiche pas de boîte de dialogue, de sorte que la fonction commandButtons() n'est pas définie.

<HTML><HEAD><TITLE>Make Lower Case</TITLE><SCRIPT LANGUAGE="javascript">

function canAcceptCommand(){ // Get the DOM of the current document var theDOM = dw.getDocumentDOM(); // Get the offsets of the selection var theSel = theDOM.getSelection(); // Get the selected node var theSelNode = theDOM.getSelectedNode(); // Get the children of the selected node var theChildren = theSelNode.childNodes;

// If the selection is not an insertion point, and // either the selection or its first child is a // text node, return true.

return (theSel[0] != theSel[1] && (theSelNode.nodeType == ¬Node.TEXT_NODE || theChildren[0].nodeType == Node.TEXT_NODE));

}

function changeToLowerCase() { // Get the DOM again var theDOM = dw.getDocumentDOM(); // Get the offsets of the selection var theSel = theDOM.getSelection();

// Get the outerHTML of the HTML tag (the // entire contents of the document) var theDocEl = theDOM.documentElement; var theWholeDoc = theDocEl.outerHTML;

// Extract the selection var selText = theWholeDoc.substring(theSel[0],theSel[1]);

// Re-insert the modified selection into the documenttheDocEl.outerHTML = theWholeDoc.substring(0,theSel[0]) + ¬selText.toLowerCase() + theWholeDoc.substring(theSel[1]);

// Set the selection back to where it was when you // started theDOM.setSelection(theSel[0],theSel[1]);}

</SCRIPT>

Commandes 51

Page 52: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

</HEAD>

<BODY onLoad="changeToLowerCase()">

<!-- The function that does all the work in this command is ¬called from the onLoad handler on the BODY tag. There is no form ¬in the BODY, so no dialog box appears. -->

</BODY></HTML>

Ajout de commandes au menu CommandesDreamweaver ajoute automatiquement tous les fichiers résidant dans le dossier Configuration/Commands au bas du menu Commandes. Pour empêcher qu'une commande ne s'affiche dans le menu Commandes, placez le commentaire suivant sur la première ligne du fichier :

<!-- MENU-LOCATION=NONE -->

Dans Dreamweaver 1 et 2, si vous souhaitiez contrôler la position ou le texte associé à une commande, vous pouviez l'ajouter explicitement au fichier CommandMenu.htm. Dans Dreamweaver 3, ce fichier a été remplacé par le fichier menus.xml qui contrôle l'ensemble de la structure des menus de Dreamweaver. Pour plus d'informations sur la façon de modifier le fichier menus.xml, reportez-vous au chapitre « Personnalisation de Dreamweaver » du manuel Utilisation de Dreamweaver.

Chapitre 452

Page 53: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

5

CHAPITRE 5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Commandes de menu

Dreamweaver 3 a introduit un nouveau type de commande permettant une plus grande souplesse des menus ainsi que la création de menus dynamiques. A l'instar des commandes ordinaires, les commandes de menu permettent d'exécuter presque n'importe quel type de modification dans le document courant, dans d'autres documents ouverts ou dans tout document HTML situé sur un disque local. L'API des commandes de menu se développe à partir de l'API des commandes ordinaires pour accomplir plusieurs tâches liées à l'affichage et à l'appel de la commande à partir du système de menus.

Remarque : les commandes de menu étant directement liées au système de menus dans Dreamweaver, il est recommandé de lire le chapitre « Personnalisation de Dreamweaver », du manuel Utilisation de Dreamweaver avant de poursuivre.

Les commandes de menu sont des fichiers HTML. La balise BODY d'un fichier de commande de menu peut contenir un formulaire HTML acceptant des options pour la commande (par exemple, le tri des éléments d'un tableau et la colonne de référence du tri). La balise HEAD d'un fichier de commande de menu contient des fonctions JavaScript qui traitent les entrées de formulaire de la balise BODY et contrôlent les modifications apportées au document de l'utilisateur.

Les commandes de menu sont stockées dans le dossier Configuration/Menus du dossier de l'application Dreamweaver.

Remarque : si vous ajoutez vos propres commandes de menu dans Dreamweaver, faites-le au plus haut niveau du dossier Menus ou créez votre propre sous-dossier. Le dossier MM est réservé aux commandes de menu fournies avec Dreamweaver.

Fonctionnement des commandes de menuLorsque l'utilisateur clique sur un menu contenant une commande de menu, la chaîne d'événements suivante se produit :

53

Page 54: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

1 Si l'une des balises menuitem du menu contient l'attribut dynamic, Dreamweaver appelle la fonction getDynamicContent() dans le fichier de commande de menu associé afin de renseigner le menu.

2 Dreamweaver appelle la fonction canAcceptCommand() dans chacun des fichiers de commande de menu référencés dans le menu pour vérifier si la commande correspond à l'élément sélectionné. Si canAcceptCommand() renvoie false, l'option de menu est estompée.

Si la fonction canAcceptCommand() renvoie true ou si elle n'est pas définie, Dreamweaver appelle la fonction isCommandChecked() pour déterminer si l'option de menu doit être cochée. Si la fonction isCommandChecked() n'est pas définie, aucune coche n'apparaît.

3 Dreamweaver appelle la fonction setMenuText() pour déterminer le texte devant s'afficher dans le menu. Si la fonction setMenuText() n'est pas définie, Dreamweaver utilise le texte spécifié dans la balise menuitem.

4 L'utilisateur sélectionne une option dans le menu.

5 Dreamweaver appelle la fonction receiveArguments(), si elle est définie, dans le fichier de commande de menu sélectionné afin de permettre à la commande de traiter tous les arguments transmis depuis l'option de menu.

6 Dreamweaver appelle la fonction commandButtons(), si elle est définie, pour identifier les boutons qui figurent dans la partie droite de la boîte de dialogue des options et le code qui doit être exécuté lorsque l'utilisateur clique sur ces boutons.

7 Dreamweaver recherche une balise FORM dans le fichier de commande de menu. S'il existe un formulaire, Dreamweaver appelle la fonction windowDimensions() pour identifier la taille de la boîte de dialogue des options qui contient les éléments BODY du fichier. Si la fonction windowDimensions() n'est pas définie, la taille de la boîte de dialogue est déterminée automatiquement.

8 Si la balise BODY du fichier de commande de menu contient le gestionnaire onLoad, Dreamweaver exécute le code associé à ce gestionnaire (qu'une boîte de dialogue soit affichée ou non). Si aucune boîte de dialogue ne s'affiche, les étapes restantes ne sont pas exécutées.

9 L'utilisateur sélectionne des options dans la boîte de dialogue. Dreamweaver exécute les gestionnaires d'événements associés aux champs du formulaire au fur et à mesure que l'utilisateur les rencontre.

10 L'utilisateur clique sur l'un des boutons définis par la fonction commandButtons().

11 Dreamweaver exécute le code associé au bouton sur lequel l'utilisateur a cliqué.

12 La boîte de dialogue reste affichée jusqu'à ce que l'un des scripts de la commande de menu appelle la fonction window.close().

Chapitre 554

Page 55: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

API de commande de menuLes fonctions personnalisées de l'API de commandes de menu sont toutes facultatives. Les fonctions de l'API de commande de menu diffèrent des fonctions de l'API JavaScript principale sur trois points :

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles ne sont significatives que dans le contexte des fichiers de commande de menu. En d'autres termes, Dreamweaver n'appelle automatiquement la fonction getDynamicContent() que si elle est définie dans un fichier de commande de menu, tandis que dans tout autre fichier d'extension, une fonction nommée getDynamicContent() fonctionne de la même façon qu'une fonction utilisateur et doit donc être appelée explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions et leur transmettez des arguments, avant que Dreamweaver ne génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

canAcceptCommand()

Description

Détermine si l'option de menu doit être active ou estompée.

Arguments

{arg1}, {arg2},...{argN}}

Si l'attribut arguments est défini pour une balise menuitem, la valeur de l'attribut est transmise à la fonction canAcceptCommand() (et aux fonctions isCommandChecked(), receiveArguments() et setMenuText()) sous forme d'un ou plusieurs arguments. L'attribut arguments permet de distinguer entre deux éléments de menu appelant la même commande de menu.

Valeurs renvoyées

Une valeur booléenne indiquant si l'élément de menu doit être activé.

commandButtons()

Description

Définit les boutons devant figurer dans la partie droite de la boîte de dialogue Options et leur comportement lorsque l'utilisateur clique dessus. Si cette fonction n'est pas définie, aucun bouton n'apparaît et la balise BODY du fichier de commandes de menu s'étend de façon à remplir la totalité de la boîte de dialogue.

Arguments

Aucun.

Commandes de menu 55

Page 56: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un tableau contenant un nombre pair d’éléments. Le premier élément est une chaîne contenant le libellé du premier bouton. Le deuxième élément est une chaîne de code JavaScript définissant le comportement du premier bouton lorsque l'utilisateur clique dessus. Les autres éléments définissent les boutons supplémentaires de la même manière.

Exemple

Dans l'exemple suivant, la fonction commandButtons() définit trois boutons : OK, Annuler et Aide.

function commandButtons(){return new Array("OK" , "doCommand()" , "Cancel" , ¬"window.close()" , "Help" , "showHelp()");

}

getDynamicContent()

Description

Extrait le contenu de la partie dynamique du menu.

Arguments

menuID

L'argument est la valeur de l'attribut id dans la balise menuitem associée à l'élément de menu.

Valeurs renvoyées

Tableau de chaînes. Chaque chaîne contient le nom d'un élément de menu et son ID unique, séparés par un point-virgule. Si la fonction renvoie la valeur null, aucune modification n'est apportée au menu.

Exemple

Dans l'exemple suivant, la fonction getDynamicContent() renvoie un tableau de quatre éléments de menu (My Menu Item 1, My Menu Item 2, etc.) :

function getDynamicContent(){var stringArray= new Array();var i=0;var numItems = 4;

for (i=0; i<numItems;i++)

stringArray[i] = new String("My Menu Item " + i + ";¬id=" + i);

return stringArray;}

isCommandChecked()

Description

Détermine si une coche doit apparaître à côté de l'option de menu.

Chapitre 556

Page 57: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{arg1}, {arg2},...{argN}

Si l'attribut arguments est défini pour une balise menuitem, la valeur de cet attribut est transmise à la fonction isCommandChecked() (et aux fonctions canAcceptCommand(), receiveArguments() et setMenuText()) sous la forme d'un ou plusieurs arguments. L'attribut arguments permet de distinguer entre deux éléments de menu appelant la même commande de menu.

Valeurs renvoyées

Une valeur booléenne indiquant si une coche doit apparaître à côté de l'option de menu.

receiveArguments()

Description

Traite tous les arguments transmis à partir d'un élément du menu ou de dw.runCommand(), si un argument a été donné à la fonction dw.runCommand().

Arguments

{arg1}, {arg2},...{argN}

Si l'attribut arguments est défini pour une balise menuitem, la valeur de cet attribut est transmise à la fonction receiveArguments() (et aux fonctions canAcceptCommand(), isCommandChecked() et setMenuText()) sous la forme d'un ou plusieurs arguments. L'attribut arguments permet de distinguer entre deux éléments de menu appelant la même commande de menu.

Valeurs renvoyées

Aucune.

setMenuText()

Description

Spécifie le texte devant s'afficher dans le menu.

Remarque : n'utilisez pas cette fonction si vous utilisez getDynamicContent().

Arguments

{arg1}, {arg2},...{argN}

Si l'attribut arguments est défini pour une balise menuitem, la valeur de cet attribut est transmise à la fonction setMenuText() (et aux fonctions canAcceptCommand(), isCommandChecked() et receiveArguments()) sous la forme d'un ou plusieurs arguments. L'attribut arguments permet de distinguer entre deux éléments de menu appelant la même commande de menu.

Valeurs renvoyées

La chaîne devant apparaître dans le menu.

Commandes de menu 57

Page 58: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

windowDimensions()

Description

Définit les dimensions de la boîte de dialogue des paramètres. Si cette fonction n'est pas définie, les dimensions de la fenêtre sont calculées automatiquement.

Remarque : ne définissez cette fonction que si vous souhaitez utiliser une boîte de dialogue d'options ayant des dimensions supérieures à 640 x 480 pixels.

Arguments

platform

La valeur de l'argument est soit "macintosh", soit "windows", selon la plate-forme utilisée par l'utilisateur.

Valeurs renvoyées

Une chaîne de caractères au format "widthInPixels,heightInPixels".

Les dimensions renvoyées sont inférieures à la taille totale de la boîte de dialogue parce qu'elles n'incluent pas la zone des boutons OK et Annuler. Si les dimensions renvoyées ne permettent pas de faire apparaître toutes les options, des barres de défilement s'affichent.

Exemple

Dans l'exemple suivant, la fonction windowDimensions() définit les dimensions de la boîte de dialogue des paramètres à 648 x 520 pixels :

function windowDimensions(){return "648,520";

}

Chapitre 558

Page 59: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Commande de menu simpleLa commande de menu suivante est associée à deux éléments de menu : Annuler et Rétablir. Elle vérifie l'attribut arguments de la balise menuitem et exécute une opération dw.undo() ou dw.redo() en fonction de la valeur du premier (et unique) argument.

<HTML><HEAD><!-- Copyright 1999 Macromedia, Inc. All rights reserved. --><TITLE>Edit Clipboard</TITLE><SCRIPT LANGUAGE="javascript">function receiveArguments(){ if (arguments.length != 1) return;

var whatToDo = arguments[0]; if (whatToDo == "undo") { dw.undo(); } else if (whatToDo == "redo") { dw.redo(); }}

function canAcceptCommand(){ var selarray; if (arguments.length != 1) return false; var bResult = false;

var whatToDo = arguments[0]; if (whatToDo == "undo") { bResult = dw.canUndo(); } else if (whatToDo == "redo") { bResult = dw.canRedo(); } return bResult;}

function setMenuText(){ if (arguments.length != 1) return "";

var whatToDo = arguments[0]; if (whatToDo == "undo") return dw.getUndoText();

Commandes de menu 59

Page 60: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

else if (whatToDo == "redo") return dw.getRedoText(); else return "";}

</SCRIPT></HEAD><BODY></BODY></HTML>

Dans cette commande, la fonction receiveArguments() traite les arguments et exécute la commande, mais il n'est pas nécessaire qu'il en soit ainsi. Des commandes de menu plus complexes peuvent appeler des fonctions différentes pour exécuter la commande. Par exemple, le code suivant vérifie si le premier argument est "foo" ; si c'est le cas, il appelle la fonction doOperationX() et lui transmet le deuxième argument. Si le premier argument est "bar", le code appelle la fonction doOperationY() et lui transmet le deuxième argument. La fonction doOperationX() ou doOperationY() est chargée de l'exécution de la commande.

function receiveArguments(){ if (arguments.length != 2) return;

var whatToDo = arguments[0];

if (whatToDo == "foo"){ doOperationX(arguments[1]); }else if (whatToDo == "bar"){ doOperationX(arguments[1]); }}

Chapitre 560

Page 61: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Menu dynamique simpleLa commande de menu suivante a deux actions : elle génère le sous-menu Aperçu dans le navigateur, puis lance le fichier en cours (ou les fichiers sélectionnés dans la fenêtre Site) dans le navigateur que l'utilisateur sélectionne dans le sous-menu.

<HTML><HEAD><!-- Copyright 1999 Macromedia, Inc. All rights reserved. --><TITLE>Preview Browsers</TITLE><SCRIPT LANGUAGE="javascript"><!-- // getDynamicContent returns the contents of a dynamically // generated menu. // returns an array of strings to be placed in the menu, with a unique // identifier for each item separated from the menu string by a // semicolon. // // return null from this routine to indicate that you are not // adding any // items to the menu function getDynamicContent(itemID) { var browsers = null; var PIB = null; var i; var j=0; var bUpdate = dw.getMenuNeedsUpdating(itemID);

if (bUpdate) { browsers = new Array(); PIB = dw.getBrowserList(); // each browser pair has the name of the browser and the path // that leads to the application on disk. We only put the // names in the menus. for (i=0; i<PIB.length; i=i+2) { browsers[j] = new String(PIB[i]);

if (dw.getPrimaryBrowser() == PIB[i+1]) browsers[j] += "\tF12"; if (navigator.platform == "MacPPC") { if (dw.getSecondaryBrowser() == PIB[i+1]) browsers[j] += "\t ?F12"; } else { if (dw.getSecondaryBrowser() == PIB[i+1]) browsers[j] += "\t Ctrl+F12";

Commandes de menu 61

Page 62: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

}

browsers[j] += ";id='"+PIB[i]+"'"; j = j+1; } dw.notifyMenuUpdated(itemID, "dw.getBrowserList()"); } return browsers; }

function canAcceptCommand() { var bHaveDocument; if (dw.getFocus() == 'site') bHaveDocument = site.getSelection().length > 0; else bHaveDocument = dw.getDocumentDOM('document') != null;

return bHaveDocument; }

function receiveArguments() { var theBrowser = arguments[0]; if (dw.getFocus() == 'site') dw.browseDocument(site.getSelection(),theBrowser); else dw.browseDocument(dw.getDocumentPath('document'),theBrowser); }

// --> </SCRIPT></HEAD><BODY></BODY></HTML>

Chapitre 562

Page 63: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

6

CHAPITRE 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Rapports

Utilisez les fonctions API Reports pour créer des rapports personnalisés ou modifier le jeu de rapports pré-rédigés fournis avec Dreamweaver.

Les rapports sont stockés dans le dossier \Configuration\Reports. Ce dossier contient plusieurs sous-dossiers représentant les différentes catégories de rapport, chaque rapport ne pouvant appartenir qu'à une seule catégorie.

Chaque sous-dossier peut contenir un fichier appelé _foldername.txt. Si ce fichier existe, son contenu est utilisé comme nom de la catégorie à la place du nom de dossier. S'il n'existe pas, le nom du dossier est utilisé. Les noms de catégorie sont limités à 31 caractères.

Fonctionnement des rapports1 Pour accéder aux rapports, choisissez Site > Rapports. Dans la boîte de

dialogue qui s'affiche, sélectionnez les rapports à exécuter sur des cibles spécifiques.

2 Sélectionnez les fichiers pour lesquels effectuer les rapports à l'aide du menu Rapport sur. Ce menu contient les éléments suivants : Document en cours, Tous les fichiers du site local en cours, Fichiers sélectionnés dans le site local et Dossier. Lorsque l'option Dossier est activée, un bouton Parcourir et un champ d'édition s'affichent pour vous permettre de choisir un dossier.

3 Vous pouvez personnaliser des rapports possédant des paramètres en choisissant le bouton Paramètres, puis en saisissant des valeurs pour ces paramètres. Chaque rapport est chargé d'afficher sa propre boîte de dialogue Paramètres. Cette boîte de dialogue est facultative ; il n'est pas nécessaire de définir les paramètres de chaque rapport. Si un rapport ne possède pas de boîte de dialogue Paramètres, le bouton Paramètres est estompé lorsque le rapport est sélectionné dans la liste.

63

Page 64: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4 Après avoir sélectionné des rapports et défini leurs paramètres, cliquez sur le bouton Exécuter.

Chaque rapport définissant la fonction beforeReporting() appelle celle-ci avant le début du processus de rapport. Si un rapport renvoie la valeur false à partir de cette fonction, celle-ci est retirée du processus de rapport.

5 Chaque fichier est transmis à chaque rapport sélectionné dans la boîte de dialogue à l'aide de la fonction processFile(). Si le rapport doit inclure des informations sur ce fichier dans la liste des résultats, la fonction dw.results.addResultItem() doit être appelée. Le processus se poursuit jusqu'à ce que tous les fichiers sélectionnés par l'utilisateur soit traités ou jusqu'au ce que l'utilisateur clique sur le bouton Arrêter situé en bas de la fenêtre. Dreamweaver affiche le nom de chaque fichier en cours de traitement et le nombre de fichiers restant à traiter.

Chaque rapport définissant la fonction endReporting() doit appeler cette fonction à la fin du processus de rapport.

6 Les résultats de chaque rapport s'affichent dans une fenêtre de résultats individuelle.

Le rapport APILa fonction processFile() est la seule fonction obligatoire pour le rapport API. Toutes les autres fonctions sont facultatives.

processFile()

Description

Appelée lorsqu'un fichier doit être traité. La commande Rapport doit traiter le fichier sans le modifier et utiliser la fonction addResultItem() pour renvoyer des informations sur ce fichier. Dreamweaver publie automatiquement le DOM de chaque fichier lorsque le traitement est fini.

Arguments

strFilePath

strFilePath est un nom de chemin de fichier complet du fichier à traiter.

Valeurs renvoyées

Aucune.

Chapitre 664

Page 65: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

beginReporting()

Description

Appelée au début du processus de rapport, avant l'exécution effective du rapport. Si la commande Rapport renvoie false à partir de la fonction, target est exclu du processus de rapport.

Argumentscible (target)

target est une chaîne indiquant la cible de la session de rapport. Elle peut avoir l'une des valeurs suivantes : "CurrentDoc", "CurrentSite", "CurrentSiteSelection" (pour les fichiers sélectionnés dans un site) ou "Folder:+ le chemin vers le dossier sélectionné par l'utilisateur" (par exemple, "Folder:c:temp").

Valeurs renvoyées

true si le rapport a été effectué avec succès, false si target est exclu du processus de rapport.

endReporting()

Description

Appelée à la fin du processus de rapport.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

commandButtons()

Description

Définit les boutons devant figurer dans la partie droite de la boîte de dialogue Options et leur comportement lorsque l'utilisateur clique dessus. Si cette fonction n'est pas définie, aucun bouton n'apparaît et la balise BODY du fichier de rapport s'étend de façon à remplir la totalité de la boîte de dialogue.

Arguments

Aucun.

Valeurs renvoyées

Un tableau contenant un nombre pair d’éléments. Le premier élément est une chaîne contenant le libellé du premier bouton. Le deuxième élément est une chaîne de code JavaScript définissant le comportement du premier bouton lorsque l'utilisateur clique dessus. Les autres éléments définissent les boutons supplémentaires de la même manière.

Rapports 65

Page 66: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction commandButtons() définit trois boutons : OK, Annuler et Aide.

function commandButtons(){return new Array("OK" , "doCommand()" , "Cancel" , ¬"window.close()" , "Help" , "showHelp()");

}

configureSettings()

Description

Détermine si le bouton Paramètres du rapport doit être activé dans la boîte de dialogue Rapports lorsqu'un rapport est sélectionné.

Arguments

Aucun.

Valeurs renvoyées

true si le bouton Paramètres du rapport doit être activé ; false dans le cas contraire.

windowDimensions()

Description

Définit les dimensions de la boîte de dialogue des paramètres. Si cette fonction n'est pas définie, les dimensions de la fenêtre sont calculées automatiquement.

Remarque : ne définissez cette fonction que si vous souhaitez utiliser une boîte de dialogue d'options ayant des dimensions supérieures à 640 x 480 pixels.

Argumentsplatform

La valeur de l'argument est soit "macintosh", soit "windows", selon la plate-forme utilisée par l'utilisateur.

Valeurs renvoyées

Une chaîne de caractères au format "widthInPixels,heightInPixels".

Les dimensions renvoyées sont inférieures à la taille totale de la boîte de dialogue parce qu'elles n'incluent pas la zone des boutons OK et Annuler. Si les dimensions renvoyées ne permettent pas de faire apparaître toutes les options, des barres de défilement s'affichent.

Exemple

Dans l'exemple suivant, la fonction windowDimensions() définit les dimensions de la boîte de dialogue des paramètres à 648 x 520 pixels :

function windowDimensions(){return "648,520";

}

Chapitre 666

Page 67: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

7

CHAPITRE 7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modules de débogage JavaScript

Un module de débogage JavaScript est un module d'extension particulier, qui insère un code spécial dans un document pour interagir avec le débogueur JavaScript. Les modules de débogage sont situés dans le dossier Program Files de Dreamweaver, dans le sous-dossier Configuration/Debugger. Ces modules insèrent des codes JavaScript et HTML spécifiques dans un document en cours pour créer une « version déboguée » du document à la prochaine exécution du Débogueur JavaScript. La « version déboguée » est simplement un ensemble de fichiers dupliqués temporaires du document HTML et de chaque fichier JavaScript externe, tous créés par Dreamweaver et enregistrés dans le dossier de travail en cours. La version déboguée du fichier HTML s'affiche alors dans le navigateur. Le code JavaScript inséré dans les fichiers temporaires, appelé « instrumentation », communique avec le débogueur JavaScript de Dreamweaver lorsque JavaScript est exécuté dans le navigateur.

Pour plus d'informations sur les commandes API du Débogueur JavaScript, voir « Fonctions relatives au débogueur JavaScript », page 422.

Fonctionnement du module de débogage JavaScript

Dreamweaver est fourni avec deux modules de débogage, un pour chaque navigateur pris en charge : Netscape et Internet Explorer. Pour prendre en charge un navigateur différent, vous devez créer un nouveau module de débogage, puis utiliser les fonctions dom.instrumentDocument et dreamweaver.startDebugger pour déboguer le document dans l'autre navigateur.

Lorsque vous appelez la fonction dom.instrumentDocument, le module de débogage spécifié reçoit des rappels lorsque Dreamweaver analyse le code JavaScript du document. Ainsi, vous pouvez par exemple créer un module de débogage qui insère des commentaires ou des informations d'enregistrement à propos du code JavaScript, au lieu d'insérer des améliorations de débogage.

67

Page 68: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Lorsque la fonction dom.instrumentDocument est appelée avec un module de débogage spécifique, les étapes suivantes ont lieu.

1 Dreamweaver appelle getIncludeFiles() dans le module de débogage. Cette fonction renvoie la liste des fichiers qui seront référencés à partir du code d'instrumentation HTML renvoyé par getHeadInstrument() et getBodyInstrument() (qui sont appelées ultérieurement). Les fichiers inclus peuvent être de tous types, comme par exemple un fichier JavaScript externe ou un contrôle JavaApplet ou ActiveX. L'ensemble des fichiers doivent résider dans le sous-dossier Configuration/Debugger avec le module de débogage. Dreamweaver copie les fichiers intégrés dans le répertoire contenant le fichier en cours de débogage, puis les supprime ensuite lorsque vous quittez Dreamweaver.

2 Le document HTML est ensuite analysé pour rechercher des balises de script et des gestionnaires d'événements. Le code de la balise de script, dans un fichier JavaScript externe ou dans un gestionnaire d'événements, est appelé bloc.

Remarque : un fichier JavaScript externe est un fichier spécifié comme attribut « src » d'une balise SCRIPT.

3 Dreamweaver analyse d'abord les balises de script de la section HEAD.

4 Lorsque Dreamweaver trouve une balise de script ou un gestionnaire d'événements, il appelle la fonction startBlock() des modules de débogage et transmet le nom du fichier ainsi que les décalages de ligne et de caractère à partir du début du fichier.

5 Dreamweaver analyse ensuite le code JavaScript dans le bloc.

6 Lorsque Dreamweaver trouve une instruction JavaScript, telle qu'une déclaration de variable, il appelle getStepInstrument() et transmet les décalages de ligne et de caractère ainsi que d'autres informations. Le module de débogage renvoie une chaîne de code JavaScript qui est insérée avant l'instruction. Faites attention de bien renvoyer un code JavaScript valide. Pour chaque appel de getStepInstrument(), Dreamweaver enregistre le numéro de ligne en tant que ligne de point d'arrêt valide sans tenir compte de l'instrumentation renvoyée. Ainsi, lorsque vous démarrez le débogueur avec dw.startDebugger(), les points d'arrêt déjà définis par l'utilisateur sont déplacés vers l'une de ces lignes valides.

7 Lorsque Dreamweaver trouve une déclaration de fonction, il appelle getFunctionStartInstrument() pour recevoir l'instrumentation à insérer au début de la fonction.

Remarque : cela n'est pas considéré comme une ligne de point d'arrêt valide.

8 Dreamweaver continue à analyser la fonction et à appeler getStepInstrument() pour chaque instruction de la fonction.

Chapitre 768

Page 69: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

9 Lorsque Dreamweaver arrive à une instruction de renvoi ou à la fin de la fonction, il appelle getFunctionEndInstument() pour recevoir l'instrumentation à insérer avant le renvoi de la fonction.

Remarque : cela n'est pas considéré comme une ligne de point d'arrêt valide.

10 Si Dreamweaver rencontre une erreur de syntaxe ou un avertissement dans le bloc JavaScript, il appelle alors reportError() ou reportWarning(), respectivement. Après avoir détecté une erreur, Dreamweaver arrête l'analyse du bloc. Il continue cependant l'analyse d'autres blocs.

11 Une fois que Dreamweaver a analysé tous les blocs de script dans la section HEAD, il appelle getHeadInstrument() pour obtenir l'instrumentation HTML à insérer dans la section HEAD.

Remarque : cette fonction doit renvoyer du code HTML et non JavaScript. Si le module de débogage doit insérer du code JavaScript dans la section HEAD, il doit alors l'inclure dans une balise SCRIPT.

12 Dreamweaver procède ensuite au traitement des blocs JavaScript (balises SCRIPT et gestionnaires d'événements) dans la section BODY du document.

13 Après avoir instrumenté le dernier bloc de la section BODY, Dreamweaver appelle getBodyInstrument() pour obtenir l'instrumentation HTML à insérer dans la section BODY.

Remarque : cette fonction doit renvoyer du code HTML et non JavaScript.

14 Une fois que Dreamweaver a appelé getBodyInstrument(), il procède à un appel final des fonctions startBlock() et getStepInstrument() pour établir un point d'arrêt automatique. L'instrumentation ne correspond à aucune balise SCRIPT définie par l'utilisateur, mais est insérée dans une nouvelle balise SCRIPT après l'instrumentation BODY. Contrairement à d'autres appels de la fonction getStepInstrument(), cette ligne n'est pas considérée comme une ligne valide sur laquelle l'utilisateur peut définir un point d'arrêt ; elle est traitée comme un type particulier de point d'arrêt sur lequel s'arrête systématiquement le débogueur.

15 Enfin, Dreamweaver appelle getOnUnloadInstrument() pour obtenir une instrumentation JavaScript à insérer dans le gestionnaire onUnload de la balise BODY. Si le document possède déjà un gestionnaire onUnload, cette instrumentation est insérée après le code onUnload défini par l'utilisateur.

Modules de débogage JavaScript 69

Page 70: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

API du module de débogage JavaScript

L'API du module de débogage JavaScript vous permet de personnaliser la manière dont est créée une version déboguée d'un document. Vous devez créer un module de débogage pour pouvoir faire fonctionner le Débogueur JavaScript de Dreamweaver avec un navigateur autre que les deux navigateurs (Netscape et Internet Explorer) pris en charge par Dreamweaver. Vous pouvez également créer un module de débogage à d'autres fins, comme par exemple pour compter le nombre d'instructions JavaScript utilisées par un document spécifique.

Remarque : seules les balises SCRIPT et les gestionnaires d'événements sont actuellement analysés pour instrumentation. Il existe d'autres façons d'utiliser le JavaScript dans des documents HTML : les URL JavaScript et les entités JavaScript, commentaires conditionnels, etc. Ces éléments ne sont actuellement pas pris en charge.

Les fonctions de l'API du module de débogage JavaScript sont uniquement significatives dans le contexte de fichiers du module de débogage. En particulier, Dreamweaver appelle automatiquement la fonction getStepInstrument() si elle est définie dans le fichier du module de débogage. Pour les fichiers ayant une autre extension, une fonction appelée getStepInstrument() agit comme une fonction définie par l'utilisateur (vous devez l'appeler explicitement).

Contrairement à la façon dont vous travaillez avec les fonctions principales API JavaScript, vous êtes responsables de la rédaction du corps de chaque fonction et du renvoi d'une valeur, si nécessaire, pour les modules de débogage. Pour les fonctions de l'API principale, vous appelez et transmettez des arguments et Dreamweaver génère des valeurs de renvoi, le cas échéant. Pour les modules de débogage, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez des valeurs de renvoi, le cas échéant.

Toutes les fonctions du module de débogage JavaScript sont facultatives. Si une fonction n'est pas définie, rien ne se passe lorsque Dreamweaver l'appelle.

getFunctionEndInstrument()

Disponibilité

Dreamweaver 4.0

Description

Appelée après la dernière instruction dans une déclaration de fonction. S'il existe des instructions de renvoi, ce module est appelé afin d'insérer l'instrumentation, après que la valeur de renvoi a été évaluée et avant que la fonction ne renvoie les chaînes.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le code JavaScript à insérer à la fin de la fonction.

Chapitre 770

Page 71: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

getFunctionStartInstrument()

Disponibilité

Dreamweaver 4.0

Description

Appelé avant la première instruction dans une déclaration de fonction. La fonction getStepInstrument() est également appelée pour l'instruction.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le code JavaScript à insérer au début de la fonction.

getBodyInstrument()

Disponibilité

Dreamweaver 4.0

Description

Cette fonction est appelée juste après l'instrumentation de tous les blocs de la section HEAD.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le code HTML à insérer en haut de la section <BODY>.

getHeadInstrument()

Disponibilité

Dreamweaver 4.0

Description

Cette fonction est appelée juste après l'instrumentation de tous les blocs de la section HEAD, mais avant l'instrumentation des blocs de la section BODY.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le code HTML à insérer en haut de la section <HEAD>.

getIncludedFileList()

Disponibilité

Dreamweaver 4.0

Modules de débogage JavaScript 71

Page 72: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Appelée pour obtenir une liste de fichiers référencés par code insérés dans la section head ou body (à partir des fonctions getHeadInstrument() et getBodyInstrument()). Ces fichiers doivent se trouver dans le répertoire Configuration/Debugger du dossier Program Files de Dreamweaver, avec le module de débogage de l'instrumentation.

Arguments

Aucun.

Valeurs renvoyées

Un tableau de noms de fichiers devant être copiés dans le répertoire avec les fichiers instrumentés.

getOnUnloadInstrument()

Disponibilité

Dreamweaver 4.0

Description

Cette fonction est appelée juste après l'appel de getHeadInstrument().

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le code JavaScript à insérer à la fin du gestionnaire d'événements onUnload de la balise BODY.

getStepInstrument()

Disponibilité

Dreamweaver 4.0

Description

Appelée pour chaque instruction analysée dans un bloc. La fonction StartBlock() est toujours appelée avant d'appeler cette fonction. Dreamweaver enregistre chaque ligne pour laquelle il appelle cette fonction en tant que point d'arrêt valide. Après le démarrage du débogueur, tous les points d'arrêt sont déplacés vers des lignes de points d'arrêt valides.

Arguments

lineNumber, offset, bisInFuncton

• lineNumber est le numéro de ligne de l'instruction suivante relative au début du bloc (index de base 1).

• offset représente le décalage du premier caractère de l'instruction suivante par rapport au début du bloc (index de base 0).

Chapitre 772

Page 73: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• bisInFunction est une expression Booléenne indiquant si l'étape se trouve dans une définition de fonction (true) ou dans l'étendue globale (false).

Valeurs renvoyées

Une chaîne contenant le code JavaScript à insérer avant l'instruction.

reportError()

Disponibilité

Dreamweaver 4.0

Description

Appelée lorsqu'une erreur de syntaxe est détectée. Les erreurs et avertissements ne sont pas nécessairement signalés dans l'ordre.

Arguments

fileName, errorNumber, strDesc, lineNumber, offset

• fileName est le nom du fichier.

• errorNumber est l'identificateur numérique de l'erreur.

• strDesc est la description de l'erreur.

• lineNumber est le numéro de ligne dans laquelle l'erreur s'est produite, par rapport au début du bloc.

• offset est le décalage du caractère auquel l'erreur s'est produite, par rapport au début du bloc.

Valeurs renvoyées

Aucune.

reportWarning()

Disponibilité

Dreamweaver 4.0

Description

Appelée lorsqu'un avertissement est détecté dans un fichier.

Arguments

fileName, errorNumber, strDesc, lineNumber, offset

• fileName est le nom du fichier.

• errorNumber est l'identificateur numérique de l'avertissement.

• strDesc est la description de l'avertissement.

• lineNumber est le numéro de ligne dans laquelle l'avertissement s'est produit, par rapport au début du bloc.

Modules de débogage JavaScript 73

Page 74: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• offset est le décalage du caractère auquel l'avertissement s'est produit, par rapport au début du bloc.

Valeurs renvoyées

Aucune.

startBlock()

Disponibilité

Dreamweaver 4.0

Description

Indique le début d'un nouveau bloc de code JavaScript. Le bloc peut être une balise de script, un gestionnaire d'événements ou un fichier .js externe.

Arguments

fileName, lineNumber, offset

• fileName est le nom du document HTML ou du fichier .js contenant le bloc. L'emplacement est défini par un chemin relatif vers le document HTML source.

• lineNumber est le numéro de ligne dans le document HTML ou le fichier .js, correspondant au début du bloc (index de base 1).

• offset est le décalage du premier caractère du code JavaScript à partir du début du fichier (index de base 0).

Valeurs renvoyées

Aucune.

Chapitre 774

Page 75: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

8

CHAPITRE 8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Inspecteurs de propriétés

L'inspecteur de propriétés est probablement le panneau flottant le plus connu de l'interface Dreamweaver. Il est indispensable pour définir, vérifier et modifier le nom, les dimensions, l'aspect et d'autres attributs de la sélection ; il permet également de lancer des éditeurs internes et externes pour l'élément sélectionné.

Dreamweaver intègre plusieurs interfaces compatibles avec l'inspecteur de propriétés permettant de définir des propriétés pour de nombreuses balises HTML standard (ces inspecteurs intégrés font partie du code Dreamweaver élémentaire ; vous ne trouverez donc pas de fichiers d'inspecteur de propriété leur correspondant dans le dossier Configuration). Avec les fichiers d'inspecteur de propriétés personnalisés, vous pouvez remplacer ces interfaces intégrées ou en créer de nouvelles pour inspecter les balises personnalisées.

Les fichiers d'inspecteur de propriétés personnalisés sont des fichiers HTML qui résident dans le dossier Configuration/Inspectors du dossier de l'application Dreamweaver. La première ligne d'un fichier d'inspecteur de propriétés (la ligne située au-dessus de la balise HTML de début) doit être un commentaire respectant la syntaxe suivante :

<!-- tag:tagNameOrKeyword,priority:1to10,selection:¬exactOrWithin,hline,vline, serverModel -->

où :

• tagNameOrKeyword est la balise à inspecter ou l'un des mots clefs suivants : *COMMENT* (pour les commentaires), *LOCKED* (pour les régions verrouillées) ou *ASP* (pour les balises ASP).

• 1to10 est la priorité du fichier d'inspecteur de propriétés : 1 indique que cet inspecteur doit être utilisé uniquement lorsque aucun autre ne peut inspecter la sélection ; 10 indique que cet inspecteur a priorité sur tous les autres pouvant inspecter la sélection.

75

Page 76: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• exactOrWithin indique si la sélection peut être contenue dans la balise (within) ou si elle doit contenir exactement la balise (exact).

• hline (facultatif ) indique qu'une ligne grise horizontale doit apparaître entre les moitiés supérieure et inférieure de l'inspecteur en mode étendu.

• vline (facultatif ) indique qu'une ligne grise verticale doit apparaître entre le champ de nom de balise et le reste des propriétés dans l'inspecteur (voir l'inspecteur de propriétés d'image pour obtenir un exemple).

• serverModel (facultatif ) indique le modèle de serveur de l'inspecteur de propriétés. Si le modèle de serveur de l'inspecteur de propriétés n'est pas le même que le modèle de serveur pour le document, l'inspecteur de propriétés n'est pas utilisé pour afficher les propriétés de la sélection en cours.

Le commentaire suivant est approprié pour un inspecteur conçu pour inspecter la balise HAPPY :

<!-- tag:HAPPY, priority:8,selection:exact,hline,vline, ¬serverModel:ASP -->

Le corps (BODY) du fichier d'inspecteur de propriétés contient un formulaire HTML. Toutefois, au lieu d'afficher le contenu du formulaire dans une boîte de dialogue, Dreamweaver utilise le formulaire pour définir les zones d'entrée et la mise en page de l'inspecteur.

Comment fonctionnent les fichiers d'inspecteur de propriétésAu démarrage, Dreamweaver lit la première ligne de chaque fichier .htm et .html dans le dossier Configuration/Inspectors, recherchant la chaîne de commentaire qui définit le type, la priorité et le type de sélection d'un inspecteur de propriétés. Les fichiers qui ne possèdent pas ce commentaire en première ligne sont ignorés.

Lorsque l'utilisateur effectue une sélection dans Dreamweaver ou déplace le point d'insertion vers un emplacement différent, la chaîne d'événements suivante a lieu :

1 Dreamweaver recherche tout inspecteur possédant un type de sélection within.

2 S'il n'existe aucun inspecteur within, Dreamweaver recherche l'arborescence du document à partir de la balise actuellement sélectionnée pour vérifier s'il existe des inspecteurs pour les autres balises entourant la sélection. Si, et seulement si, il n'existe aucun inspecteur within, Dreamweaver recherche tous les inspecteurs possédant un type de sélection exact.

3 Pour la première balise trouvée possédant un ou plusieurs inspecteurs, Dreamweaver appelle chaque fonction canInspectSelection() de l'inspecteur. Si la fonction renvoie false, Dreamweaver ne considère plus l'inspecteur comme un candidat pour inspecter cette sélection.

Chapitre 876

Page 77: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4 S'il reste plusieurs inspecteurs potentiels après avoir appelé canInspectSelection(), Dreamweaver trie les inspecteurs restant en fonction de leur priorité.

5 Si plusieurs inspecteurs potentiels ont le même degré de priorité, Dreamweaver choisit l'inspecteur suivant l'ordre alphabétique.

6 L'inspecteur choisi apparaît dans le panneau flottant Inspecteur de propriétés. Si le fichier d'inspecteur de propriétés définit la fonction displayHelp(), une petite icône point d'interrogation (?) est affichée dans le coin supérieur droit de l'inspecteur.

7 Dreamweaver appelle la fonction inspectSelection() pour réunir des informations sur la sélection en cours et renseigner les champs de l'inspecteur.

8 Les gestionnaires d'événements associés aux champs dans l'interface de l'inspecteur de propriétés s'exécutent au fur et à mesure que l'utilisateur les rencontre (par exemple, vous pouvez avoir un événement onBlur qui appelle setAttribute() pour définir un attribut à la valeur venant d'être saisie par l'utilisateur).

API de l'inspecteur de propriétésDeux des fonctions de l'API de l'inspecteur de propriétés (canInspectSelection() et inspectSelection()) sont requises. Les fonctions de l'API de l'inspecteur de propriétés diffèrent des fonctions de l'API JavaScript principale, sur trois points :

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles ne sont significatives que dans le contexte des fichiers d'inspecteur de propriétés. En d'autres termes, Dreamweaver appelle automatiquement la fonction canInspectSelection() dans un fichier d'inspecteur de propriétés, tandis que dans tout autre fichier d'extension, une fonction nommée canInspectSelection() fonctionne comme une fonction définie par l'utilisateur et doit donc être appelée explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions et leur transmettez des arguments, avant que Dreamweaver ne génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

canInspectSelection()

Description

Détermine si l'inspecteur de propriétés est approprié pour la sélection en cours.

Inspecteurs de propriétés 77

Page 78: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Utilisez dom.getSelectedNode() pour obtenir la sélection en cours en tant qu'objet JavaScript.

Valeurs renvoyées

true si l'inspecteur peut inspecter la sélection en cours ; sinon false.

Exemple

L'occurrence suivante de canInspectSelection() renvoie true si la sélection contient l'attribut CLASSID et si la valeur de cet attribut est "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" (l'ID de classe pour Flash Player) :

function canInspectSelection(){var theDOM = dw.getDocumentDOM();var theObj = theDOM.getSelectedNode();return (theObj.nodeType == Node.ELEMENT_NODE && ¬ theObj.hasAttribute("classid") && ¬theObj.getAttribute("classid").toLowerCase()== ¬"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");

}

displayHelp()

Description

Si la fonction est définie, une icône point d'interrogation (?) apparaît dans le coin supérieur droit de l'inspecteur de propriétés. Cette fonction est appelée lorsque l'utilisateur clique sur l'icône.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

L'occurrence suivante de displayHelp() ouvre un fichier dans une fenêtre du navigateur expliquant les champs de l'inspecteur de propriétés:

function displayHelp(){dreamweaver.browseDocument('http://www.hooha.com/dw/¬inspectors/inspHelp.html');

}

inspectSelection()

Description

Actualise le contenu des champs d'entrée de l'utilisateur en fonction des attributs de la sélection en cours.

Chapitre 878

Page 79: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

maxOrMin

L'argument est max ou min, suivant si l'inspecteur de propriétés est en état développé ou compressé.

Valeurs renvoyées

Aucune.

Exemple

L'occurrence suivante de inspectSelection() récupère la valeur de l'attribut CONTENT et l'utilise pour remplir un champ de formulaire appelé keywords :

function inspectSelection() {var dom = dreamweaver.getDocumentDOM();var theObj = dom.getSelectedNode();document.forms[0].keywords.value = ¬theObj.getAttribute("content");

}

Inspecteurs de propriétés 79

Page 80: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Un exemple simple d'inspecteur de propriétésL'inspecteur de propriétés suivant inspecte une balise fictive appelée INTJ. La balise INTJ est vide (c'est-à-dire qu'elle ne possède pas de balise de fermeture) ; son type de sélection est donc exact. Tant que la sélection est exactement une balise INTJ, l'inspecteur de propriétés doit s'afficher (afin que la fonction canInspectSelection() renvoie true à chaque fois). Pour qu'un inspecteur différent s'affiche en fonction de la valeur de l'attribut TYPE de la balise INTJ, par exemple, la fonction canInspectSelection() doit vérifier la valeur de l'attribut TYPE afin de déterminer quel est le bon inspecteur de propriétés. Ceci correspond au fonctionnement des mots clés et des inspecteurs de propriétés, car « keywords » et « description » ne sont pas des balises mais des valeurs de l'attribut NAME de la balise META.

<!-- tag:INTJ,priority:5,selection:exact,vline,hline --><HTML><HEAD><TITLE>Interjection Inspector</TITLE><SCRIPT LANGUAGE="JavaScript">

function canInspectSelection(){ return true;}

function inspectSelection() { // Get the DOM of the current document var // theDOM = dw.getDocumentDOM(); // Get the selected node var theObj = theDOM.getSelectedNode();

// Get the value of the TYPE attribute on the INTJ tag var // theType = theObj.getAttribute('type'); // Initialize a variable called typeIndex to -1. This will be // used to store the menu index that corresponds to // the value of the TYPE attribute var typeIndex = -1; // If there was a TYPE attribute if (theType){ // If the value of TYPE is "jeepers", set typeIndex to 0 if (theType.toLowerCase() == "jeepers"){ typeIndex = 0; // If the value of TYPE is "jinkies", set typeIndex to 1 }else if (theType.toLowerCase() == "jinkies"){ typeIndex = 1; // If the value of TYPE is "zoinks", set typeIndex to 2 }else if (theType.toLowerCase() == "zoinks"){ typeIndex = 2; } }

Chapitre 880

Page 81: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

// If the value of the TYPE attribute was "jeepers", // "jinkies", or "zoinks", choose the corresponding // option from the pop-up menu in the interface if (typeIndex != -1){ document.topLayer.document.topLayerForm.intType.¬ selectedIndex = typeIndex; }}

function setInterjectionTag(){ // Get the DOM of the current document var theDOM = dw.getDocumentDOM(); // Get the selected node var theObj = theDOM.getSelectedNode(); // Get the index of the selected option in the pop-up menu // in the interface var typeIndex = document.topLayer.document.¬ topLayerForm.intType.selectedIndex; // Get the value of the selected option in the pop-up menu // in the interface var theType = document.topLayer.document.¬ topLayerForm.intType.options[typeIndex].value;

// Set the value of the TYPE attribute to theType theObj.setAttribute('type',theType);}

</SCRIPT></HEAD>

<BODY><SPAN ID="image" STYLE="position:absolute; width:23px; ¬height:17px; z-index:16; left: 3px; top: 2px"><IMG SRC="interjection.gif" WIDTH="36" HEIGHT="36" ¬NAME="interjectionImage"></SPAN> <SPAN ID="label" STYLE="position:absolute; width:23px; ¬height:17px; z-index:16; left: 44px; top: 5px">Interjection</SPAN>

<!-- If your form fields are in different layers, you must ¬create a separate form inside each layer and reference it as ¬shown in the inspectSelection() and setInterjectionTag() ¬functions above. -->

<SPAN ID="topLayer" STYLE="position:absolute; z-index:1; ¬left: 125px; top: 3px; width: 431px; height: 32px"><FORM NAME="topLayerForm"><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"><TR> <TD VALIGN="baseline" ALIGN="right">Entrez :</TD><TD VALIGN="baseline" ALIGN="right">

Inspecteurs de propriétés 81

Page 82: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

<SELECT NAME="intType" STYLE="width:86" ¬onChange="setInterjectionTag()"><OPTION VALUE="jeepers">Jeepers***</OPTION><OPTION VALUE="jinkies">Jinkies***</OPTION><OPTION VALUE="zoinks">Zoinks***</OPTION></SELECT></TR></TABLE></FORM></SPAN>

</BODY></HTML>

Chapitre 882

Page 83: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

9

CHAPITRE 9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Panneaux flottants

Vous pouvez créer tous types de panneaux flottants ou d'inspecteurs sans les limitations de taille ou de mise en page de l'inspecteur de propriétés.

Un inspecteur de propriétés personnalisé doit rester votre premier choix lorsque vous définissez les propriétés de la sélection en cours. Toutefois, les panneaux flottants personnalisés offrent plus d'espace et de souplesse pour afficher des informations relatives à l'ensemble du document ou à plusieurs sélections.

Dreamweaver possède déjà plusieurs panneaux flottants intégrés accessibles depuis le menu Fenêtre ; vous pouvez ajouter vos propres panneaux à ce menu à l'aide de la fonction d'extension des menus (ces panneaux intégrés font partie du code principal de Dreamweaver ; vous ne trouverez donc pas de fichier de panneau flottant leur correspondant dans le dossier Configuration). Pour plus d'informations sur l'ajout d'éléments au système de menus, reportez-vous au chapitre « Personnalisation de Dreamweaver » du manuel Utilisation de Dreamweaver.

Les fichiers de panneaux flottants personnalisés sont des fichiers HTML qui résident dans le dossier Configuration/Floaters du dossier de l'application Dreamweaver. La balise BODY d'un fichier de panneau flottant contient un formulaire HTML. Des gestionnaires d'événements associés aux éléments du formulaire peuvent appeler un code JavaScript pour effectuer des modifications arbitraires dans le document en cours.

83

Page 84: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctionnement des fichiers de panneau flottant Les panneaux flottants personnalisés peuvent être déplacés, redimensionnés et leurs onglets combinés, à l'instar des panneaux flottants intégrées à Dreamweaver. Les panneaux flottants personnalisés présentent les différences suivantes par rapport aux panneaux flottants intégrés :

• Il n'est pas possible d'afficher une icône dans l'onglet d'un panneau flottant personnalisé ; l'onglet affiche toujours le contenu de la balise TITLE du panneau flottant.

• Les panneaux flottants personnalisés s'affichent en gris par défaut. La définition de l'attribut BGCOLOR dans la balise BODY n'a aucun effet.

• Tous les panneaux flottants personnalisés s'affichent toujours en haut de la fenêtre de document ou bien flottent derrière celle-ci lorsqu'ils sont inactifs, suivant le paramètre de l'option Toutes autres palettes défini dans les Préférences de panneaux flottants.

Les fichiers de panneau flottant diffèrent également des autres fichiers d'extension. Contrairement aux autres fichiers d'extension, Dreamweaver ne charge pas de fichiers de panneau flottant en mémoire au démarrage, sauf si les panneaux flottants étaient affichés la dernière fois que Dreamweaver a été fermé. Si aucun panneau flottant n'était visible lors de la dernière fermeture de Dreamweaver, les fichiers définissant ces panneaux sont chargés uniquement lorsqu'ils sont référencés à partir de l'une des fonctions suivantes : dreamweaver.getFloaterVisibility(), dreamweaver.setFloaterVisibility() ou dreamweaver.toggleFloater().

Lorsqu'un des fichiers du dossier Configuration appelle dw.getFloaterVisibility(floaterName), dw.setFloaterVisibility(floaterName) ou dw.toggleFloater(floaterName), la chaîne d'événements suivante a lieu :

1 Si l’argument floaterName ne correspond pas à l'un des noms de panneau flottant réservés, Dreamweaver recherche dans le dossier Configuration/Floaters un fichier nommé floaterName.htm (pour obtenir une liste complète des noms de panneau flottant réservés, voir la section « dreamweaver.getFloaterVisibility() », page 554). Si le fichier floaterName.htm est introuvable, Dreamweaver recherche floaterName.html. Si aucun fichier de ce nom n'est trouvé, aucun autre événement ne se produit.

2 Si le fichier de panneau flottant est chargé pour la première fois, la fonction initialPosition() est appelée, si elle est définie, pour déterminer la position par défaut du panneau flottant à l'écran et la fonction initialTabs() est appelée, si elle est définie, pour déterminer son groupement d'onglets par défaut.

Chapitre 984

Page 85: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3 Les fonctions selectionChanged() et documentEdited() sont appelées car il est supposé que des modifications ont été apportées pendant que le panneau flottant était masqué.

4 Lorsque le panneau flottant est visible, les événements suivants se produisent :

• Lorsqu'un élément différent est sélectionné, la fonction selectionChanged() est appelée, si elle est définie.

• Lorsque l'utilisateur modifie le document, la fonction documentEdited() est appelée, si elle est définie.

• Les gestionnaires d'événements associés aux champs dans l'interface de panneau flottant s'exécutent au fur et à mesure que l'utilisateur les rencontre (par exemple, un bouton associé à un gestionnaire d'événements onClick appelant dw.getDocumentDOM().body.innerHTML=’’ a pour effet, lorsque l'utilisateur clique dessus, de supprimer tous les éléments situés entre les balises BODY de début et de fin dans le document).

5 Lorsque l'utilisateur quitte Dreamweaver, la visibilité, la position et le groupement d'onglets actuellement définis pour le panneau flottant sont enregistrés. Au démarrage suivant, l'application Dreamweaver charge les fichiers de panneau flottant correspondant à tous les panneaux flottants qui étaient affichés au moment de la dernière fermeture de l'application et elle affiche les panneaux flottants au même endroit et avec le même groupement d'onglets.

API du panneau flottant Les fonctions personnalisées de l'API de panneau flottant sont toutes facultatives. Ces fonctions diffèrent des fonctions de l'API JavaScript principale sur trois points :

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles sont significatives uniquement dans le contexte des fichiers de panneau flottant. En d'autres termes, Dreamweaver appelle automatiquement la fonction documentEdited() seulement si elle est définie dans un fichier de panneau flottant, tandis que dans tout autre fichier d'extension, une fonction nommée documentEdited() fonctionne de la même façon qu'une fonction définie par l'utilisateur et doit donc être appelée explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions et leur transmettez des arguments, avant que Dreamweaver ne génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

Panneaux flottants 85

Page 86: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

displayHelp()

Description

Si cette fonction est définie, un bouton Aide s'affiche sous les boutons OK et Annuler dans la boîte de dialogue. Cette fonction est appelée lorsque l'utilisateur clique sur le bouton Aide.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction displayHelp() ouvre dans une fenêtre de navigateur un fichier contenant les instructions :

function displayHelp(){ dreamweaver.browseDocument('http://www.hotwired.com/¬webmonkey/javascript? /code_library/wm_pos2_elmnt_dw/¬?tw=javascript');

}

documentEdited()

Description

Appelée lorsque le panneau flottant s'affiche et une fois que la série de modifications en cours est terminée, ce qui signifie que plusieurs modifications peuvent être effectuées avant que cette fonction ne soit appelée. Cette fonction ne doit être définie que si le panneau flottant doit assurer le suivi des modifications apportées au document.

Remarque : ne définissez la fonction documentEdited() que si vous en avez absolument besoin, car elle a un impact sur les performances.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 986

Page 87: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction documentEdited() recherche des calques dans le document et met à jour un champ de texte affichant le nombre de calques du document :

function documentEdited(){/* create a list of all the layers in the document */var theDOM = dw.getDocumentDOM();var layersInDoc = theDOM.getElementsByTagName("layer");var layerCount = layersInDoc.length;

/* update the numOfLayers field with the new layer count */document.theForm.numOfLayers.value = layerCount;

}

initialPosition()

Description

Détermine la position initiale du panneau flottant lorsqu'il est appelé pour la première fois. Si cette fonction n'est pas définie, la position par défaut est le centre de l'écran.

Arguments

platform

Les valeurs possibles pour l'argument platform sont "Mac" et "Win".

Valeurs renvoyées

Une chaîne au format "leftPosInPixels,topPosInPixels".

Exemple

Dans l'exemple suivant, la fonction initialPosition() spécifie que lorsque le panneau flottant s'affiche pour la première fois, il doit se trouver à 420 pixels du côté gauche de l'écran et à 20 pixels du haut de l'écran sous Windows, et à 390 pixels du côté gauche et à 20 pixels du haut de l'écran sur Macintosh :

function initialPosition(platform){var initPos = "420,20";if (platform == "macintosh"){

initPos = "390,20";}return initPos;

}

Panneaux flottants 87

Page 88: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

initialTabs()

Description

Détermine les autres panneaux flottants dont les onglets sont combinés à ceux de ce panneau, lorsqu'il s'affiche pour la première fois. Si l'un des panneaux flottants répertoriés s'est affiché précédemment, il n'est pas inclus dans le groupement d'onglets. Ainsi, pour que les onglets de deux panneaux flottants personnalisés soient combinés, chacun d'eux doit référencer l'autre dans sa fonction initialTabs().

Arguments

Aucun.

Valeurs renvoyées

Chaîne au format "floaterName1,floaterName2,...floaterNameN".

Exemple

Dans l'exemple suivant, la fonction initialTabs() spécifie que lorsque le panneau flottant s'affiche pour la première fois, ses onglets doivent être combinés à ceux du panneau flottant scriptEditor :

function initialTabs(){return "scriptEditor";

}

isAvailableInCodeView()

Description

Défini par un panneau flottant afin de déterminer si le panneau flottant doit être activé lorsque l'Affichage de code est actif. Si cette fonction n'est pas définie, le panneau flottant est désactivé dans l'Affichage de code.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le panneau flottant doit être activé.

selectionChanged()

Description

Appelée lorsque le panneau flottant s'affiche et à chaque changement de sélection (lorsqu'un nouveau document devient actif ou lorsque le pointeur d'insertion passe à un nouvel emplacement dans le document actif ). Cette fonction ne doit être définie que si le panneau flottant doit assurer le suivi de la sélection.

Remarque : ne définissez la fonction selectionChanged() que si vous en avez absolument besoin, car elle a un impact sur les performances.

Chapitre 988

Page 89: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction selectionChanged() affiche un panneau (calque) différent dans le panneau flottant selon que la sélection est un marqueur de script ou autre chose :

function selectionChanged(){/* get the selected node */var theDOM = dw.getDocumentDOM();var theNode = dw.getSelectedNode();

/* check to see if the node is a script marker */if (theNode.nodeType == Node.ELEMENT_NODE && ¬theNode.tagName == "SCRIPT"){document.layers['blanklayer'].visibility = 'hidden';document.layers['scriptlayer'].visibility = 'visible';

}else{document.layers['scriptlayer'].visibility = 'hidden';document.layers['blanklayer'].visibility = 'visible';

}}

A propos des performancesLa déclaration des fonctions selectionChanged() ou documentEdited() dans vos panneaux flottants personnalisés risque d'avoir des répercussions négatives sur les performances de Dreamweaver. Cela est dû au fait que la fonction documentEdited() est appelée après chaque frappe d'une touche et que la fonction selectionChanged() est appelée chaque fois qu'une touche de direction est utilisée si Dreamweaver est resté inactif plus d'un dixième de seconde. Il est important de tester votre panneau flottant avec divers scénarios, en utilisant des documents volumineux (100 K ou plus de code HTML) autant que possible.

Pour vous aider à éviter les pertes de performances, la fonction setTimeout() a été implémentée en tant que méthode globale dans Dreamweaver 3. Tout comme dans les navigateurs, setTimeout() accepte deux arguments : le code JavaScript devant être appelé et le délai d'attente avant cet appel en millisecondes.

La méthode setTimeout() vous permet d'introduire dans votre traitement des pauses au cours desquelles l'utilisateur peut poursuivre son interaction avec l'application. Vous devez incorporer ces pauses de façon explicite étant donné que l'écran se fige pendant le traitement des scripts et, par conséquent, empêche à l'utilisateur d'effectuer des modifications supplémentaires (et à vous-même de mettre à jour l'interface ou le panneau flottant).

Panneaux flottants 89

Page 90: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Le code suivant correspond à un panneau flottant qui affiche des informations sur chacun des calques du document. Il utilise la méthode setTimeout() pour marquer une pause d'une demi-seconde après le traitement de chaque calque :

/* create a flag that specifies whether an edit is being processed, and set it to false. */document.running = false;

/* this function called when document is edited */function documentEdited(){ /* create a list of all the layers to be processed */ var dom = dw.getDocumentDOM(); document.layers = dom.getElementsByTagName("layer"); document.numLayers = document.layers.length; document.numProcessed = 0;

/* set a timer to call processLayer(); if we didn't get * to finish processing the previous edit, then the timer * is already set. */ if (document.running = false){ setTimeout("processLayer()", 500); }

/* set the processing flag to true */ document.running = true;}

/* process one layer */function processLayer(){ /* display information for the next unprocessed layer. displayLayer() is a function you would write to perform the "magic". */ displayLayer(document.layers[document.numProcessed]);

/* if there's more work to do, set a timeout to process * the next layer. If we're finished, set the document.running * flag to false. */ document.numProcessed = document.numProcessed + 1; if (document.numProcessed < document.numLayers){ setTimeout("processLayer()", 500); }else{ document.running = false; }}

Chapitre 990

Page 91: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple de panneau flottant simpleLe panneau flottant suivant contient un champ de texte indiquant le contenu du marqueur de script sélectionné (l'icône jaune qui s'affiche dans la fenêtre de document pour marquer l'emplacement d'un script). Si aucun marqueur de script n'est sélectionné, un calque contenant le texte (no script selected) s'affiche.

<html><head><title>Script Editor</title><script language="JavaScript">

function selectionChanged(){ /* get the selected node */ var theDOM = dw.getDocumentDOM(); var theNode = theDOM.getSelectedNode(); /* check to see if the node is a script marker */ if (theNode.nodeType == Node.ELEMENT_NODE && ¬ theNode.tagName == "SCRIPT"){ document.layers['scriptlayer'].visibility = 'visible'; document.layers['scriptlayer'].document.theForm.¬ scriptCode.value = theNode.innerHTML; document.layers['blanklayer'].visibility = 'hidden'; }else{ document.layers['scriptlayer'].visibility = 'hidden'; document.layers['blanklayer'].visibility = 'visible'; }}

/* update the document with any changes made by the user in the textarea */function updateScript(){ var theDOM = dw.getDocumentDOM(); var theNode = dw.getSelectedNode(); theNode.innerHTML = document.layers['scriptlayer'].document.¬ theForm.scriptCode.value;}

</script></head>

<body><div id="blanklayer" style="position:absolute; width:422px; ¬height:181px; z-index:1; left: 8px; top: 11px; ¬visibility: hidden"><center><br><br><br><br><br>

Panneaux flottants 91

Page 92: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

(no script selected)</center></div>

<div id="scriptlayer" style="position:absolute; width:422px; ¬height:181px; z-index:1; left: 8px; top: 11px; ¬visibility: visible"><form name="theForm"><textarea name="scriptCode" cols="80" rows="20" wrap="VIRTUAL" ¬onBlur="updateScript()"></textarea></form></div>

</body></html>

Rappelez-vous qu'il n'est pas suffisant d'enregistrer ce code dans un fichier appelé scriptEditor.htm situé dans le dossier Configuration/Floaters ; vous devez également appeler dw.setFloaterVisibility(‘scriptEditor’,true) ou dw.toggleFloater(‘scriptEditor’) à partir d'un endroit quelconque pour charger le panneau flottant et le rendre visible. Le fichier menus.xml du menu Fenêtre est l'endroit le plus logique à partir duquel vous pouvez effectuer cet appel. La balise menuitem pourrait ressembler à ce qui suit :

<menuitem name="Script Editor" enabled="true" ¬command="dw.toggleFloater('scriptEditor')"¬checked="dw.getFloaterVisibility('scriptEditor')" />

Chapitre 992

Page 93: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

0

1

CHAPITRE 10

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Comportements

Les comportements permettent aux personnes qui ne savent pas rédiger des programmes de créer des pages HTML interactives. Ils offrent aux concepteurs de sites web un moyen d'affecter facilement des actions à des éléments de page en remplissant un formulaire HTML.

Vous devez écrire des actions de comportement lorsque vous souhaitez partager des fonctions avec des utilisateurs non-programmeurs ou lorsque vous souhaitez insérer la même fonction JavaScript à plusieurs reprises tout en modifiant les paramètres à chaque fois.

Remarque : vous ne pouvez pas utiliser les comportements pour insérer des fonctions VBScript directement ; vous pouvez toutefois ajouter une fonction VBScript indirectement en modifiant le DOM dans la fonction applyBehavior().

Le terme comportement fait référence à la combinaison d'un événement (tel que onClick, onLoad ou onSubmit) et d'une action (par exemple, Vérifier le plug-in, Atteindre l'URL, Intervertir une image). Le navigateur détermine quels éléments HTML acceptent quels événements. Les fichiers répertoriant les événements que chaque navigateur prend en charge sont stockés dans le dossier Configuration/Behaviors/Events du dossier de l'application Dreamweaver.

Les actions constituent la partie d'un comportement sur laquelle vous avez le contrôle ; ainsi, lorsque vous rédigez un comportement, vous rédigez en réalité un fichier d'action. Les actions sont des fichiers HTML. La balise BODY d'un fichier d'action contient généralement un formulaire HTML qui accepte les paramètres de l'action (par exemple, les paramètres indiquant les calques à afficher ou masquer). La balise HEAD d'un fichier d'action contient des fonctions JavaScript qui traitent les entrées de formulaire de la balise BODY et contrôlent les fonctions, arguments et gestionnaires d'événement insérés dans le document de l'utilisateur.

Remarque : pour plus d'informations sur les comportements des serveurs qui offrent une fonctionnalité d'application web, voir « Comportements de serveur », page 107.

93

Page 94: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctionnement des comportementsLorsqu'un utilisateur sélectionne un élément HTML dans un document Dreamweaver et ouvre le panneau Comportements, la chaîne d'événements suivante se produit :

1 L'utilisateur clique sur le bouton plus (+) pour afficher le menu contextuel des actions.

Pour déterminer le contenu du menu déroulant, UltraDev recherche d'abord un fichier Behaviors.xml dans le dossier Actions dans le chemin d'accès Configuration/Behaviors. Le fichier Behaviors.xml référence les fichiers HTML dont la balise de titre ou le nom de fichier figureront dans le menu contextuel.

Si le fichier HTML référencé contient une balise de titre (title), le contenu de cette balise s'affiche dans le menu. Si le fichier ne contient pas de balise de titre, c'est le nom du fichier qui apparaît dans le menu.

S'il n'y a pas de fichier Behaviors.xml ou si le répertoire contient un ou plusieurs fichiers HTML non mentionnés dans Behaviors.xml, UltraDev recherche une balise de titre dans chaque fichier et fait figurer dans le menu le nom de cette balise ou celui du fichier.

2 Dreamweaver appelle la fonction canAcceptBehavior() dans chaque fichier d'action pour vérifier si l'action est adaptée au document ou à l'élément sélectionné. Si cette fonction renvoie la valeur false, Dreamweaver estompe l'action dans le menu déroulant des actions (par exemple, l'action Contrôler Shockwave ou Flash est estompée lorsque le document de l'utilisateur ne contient pas d'animation Shockwave). Si la valeur renvoyée est une liste d'événements, Dreamweaver les compare un à un aux événements valides de l'élément HTML actuellement sélectionné et du navigateur cible jusqu'à ce qu'une correspondance soit trouvée.

3 Dreamweaver insère au début de la liste du menu déroulant des événements l'événement correspondant obtenu à partir de la fonction canAcceptBehavior() ; si aucune correspondance n'a été trouvée, l'événement par défaut de l'élément HTML (marqué d'un astérisque dans le fichier d'événements) devient le premier élément de la liste. Les autres événements du menu sont retirés du fichier d'événements.

4 L'utilisateur sélectionne une action dans le menu déroulant des actions.

5 Dreamweaver appelle la fonction windowDimensions(), si elle est définie, pour déterminer la taille de la boîte de dialogue des paramètres. Si la fonction windowDimensions() n'est pas définie, la taille est déterminée automatiquement.

6 Dreamweaver affiche une boîte de dialogue contenant les éléments BODY du fichier d'action. Si la balise BODY du fichier d'action contient un gestionnaire onLoad, Dreamweaver l'exécute.

Chapitre 1094

Page 95: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

7 L'utilisateur entre les paramètres de l'action. Dreamweaver exécute les gestionnaires d'événements associés aux champs du formulaire au fur et à mesure que l'utilisateur les rencontre.

8 L'utilisateur clique sur OK.

9 Dreamweaver appelle les fonctions behaviorFunction() et applyBehavior() dans le fichier d'action sélectionné. Ces fonctions renvoient des chaînes qui sont insérées dans le document de l'utilisateur.

10 Si l'utilisateur double-clique sur l'action dans la colonne des actions, Dreamweaver rouvre la boîte de dialogue des paramètres en exécutant le gestionnaire onLoad. Dreamweaver appelle alors la fonction inspectBehavior() dans le fichier d'action sélectionné, ce qui a pour effet de renseigner les champs à l'aide des données que l'utilisateur a entrées précédemment.

Insertion de plusieurs fonctions dans le fichier de l'utilisateur

Les actions peuvent insérer plusieurs fonctions (la fonction de comportement principale et un nombre illimité de fonctions d'aide) dans l'élément HEAD. Plusieurs comportements peuvent même partager des fonctions d'aide, à condition que les fonctions soient définies exactement de la même façon dans chaque fichier d'action. Une façon d'assurer que les fonctions partagées sont identiques consiste à stocker chaque fonction d'aide dans un fichier JavaScript externe et à insérer ce dernier dans les fichiers d'action appropriés à l'aide de <SCRIPT SRC="externalFile.js">.

Lorsque l'utilisateur supprime un comportement, Dreamweaver tente de supprimer toutes les fonctions d'aide inutilisées associées à ce comportement. Si d'autres comportements utilisent une fonction d'aide, celle-ci n'est pas supprimée. Du fait que l'algorithme de suppression des fonctions d'aide pèche par excès de prudence, Dreamweaver peut occasionnellement laisser une fonction inutilisée dans le document de l'utilisateur.

Procédure à suivre lorsqu'une action exige une valeur renvoyée

Il peut arriver qu'un gestionnaire d'événements exige une valeur renvoyée (par exemple, onMouseOver="window.status='This is a link'; return true"). Mais si Dreamweaver insère "return behaviorName(args)" dans le gestionnaire d'événements, les autres comportements de la liste sont ignorés.

Comportements 95

Page 96: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour contourner cette limitation, affectez à une variable appelée document.MM_returnValue la valeur de renvoi désirée dans la chaîne renvoyée par behaviorFunction(). Ce paramétrage entraîne l'insertion par Dreamweaver de return document.MM_returnValue à la fin de la liste des actions du gestionnaire d'événements. Reportez-vous au fichier Validate Form.js situé dans le dossier Configuration/Behaviors/Actions du dossier de l'application Dreamweaver pour voir un exemple d'utilisation de MM_returnValue.

API de comportementDeux fonctions d'API de comportements sont obligatoires (applyBehavior() et behaviorFunction()) ; les autres sont facultatives. Les fonctions de l'API de comportement diffèrent des fonctions de l'API JavaScript principale sur trois points :

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles ne sont significatives que dans le contexte des fichiers de comportement. En d'autres termes, Dreamweaver n'appelle automatiquement la fonction applyBehavior() que si elle est définie dans un fichier de comportement, tandis que dans tout autre fichier d'extension, une fonction nommée applyBehavior() se comporte comme une fonction utilisateur et vous devez l'appeler explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions et leur transmettez des arguments, avant que Dreamweaver ne génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

applyBehavior()

Description

Insère dans le document de l'utilisateur un gestionnaire d'événements qui appelle la fonction insérée par behaviorFunction(). Cette fonction peut également exécuter d'autres modifications dans le document de l'utilisateur, mais elle ne doit pas supprimer l'objet auquel le comportement est appliqué ou qui reçoit l'action.

Chapitre 1096

Page 97: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

uniqueName

Cet argument est un identifiant unique parmi toutes les instances de tous les comportements du document de l'utilisateur. Son format est functionNameInteger, où functionName correspond au nom de la fonction insérée par behaviorFunction(). Cet argument peut être utile si vous insérez une balise dans le document de l'utilisateur et souhaitez affecter une valeur unique à son attribut NAME.

Valeurs renvoyées

Une chaîne contenant l'appel de fonction qui doit être inséré dans le document de l'utilisateur, généralement après acceptation des paramètres entrés par l'utilisateur. Si applyBehavior() détermine que l'utilisateur a effectué une entrée non valide, la fonction peut renvoyer une chaîne d'erreur au lieu de l'appel de fonction. Dreamweaver ne signale aucune erreur si la chaîne est vide (return "";), mais si la chaîne n'est pas vide et qu'elle n'est pas non plus un appel de fonction, Dreamweaver affiche une boîte de dialogue contenant le texte : Invalid Input supplied for this behavior: [the string returned from applyBehavior()] (l'entrée spécifiée est invalide pour ce comportement : [la chaîne renvoyée par applyBehavior()]). Si la valeur renvoyée est null (return;), Dreamweaver indique qu'une erreur s'est produite mais sans fournir plus de détails.

Remarque : les guillemets contenus dans la chaîne renvoyée doivent être précédés d'une barre oblique inverse (\) afin d'éviter que l'interpréteur JavaScript ne signale des erreurs.

Comportements 97

Page 98: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction applyBehavior() appelle la fonction MM_openBrWindow() et lui transmet les paramètres fournis par l'utilisateur (hauteur et largeur de la fenêtre ; si la fenêtre doit afficher des barres de défilement, une barre d'outils, une barre d'emplacement et d'autres fonctions et l'URL qui doit s'ouvrir dans la fenêtre) :

function applyBehavior() {var i,theURL,theName,arrayIndex = 0;var argArray = new Array(); //use array to produce correct ¬number of commas w/o spacesvar checkBoxNames = new Array("toolbar","location",¬"status","menubar","scrollbars","resizable");

for (i=0; i<checkBoxNames.length; i++) {theCheckBox = eval("document.theForm." + checkBoxNames[i]);if (theCheckBox.checked) argArray[arrayIndex++] = ¬(checkBoxNames[i] + "=yes");

}if (document.theForm.width.value)

argArray[arrayIndex++] = ("width=" + ¬document.theForm.width.value);

if (document.theForm.height.value)argArray[arrayIndex++] = ("height=" + ¬document.theForm.height.value);

theURL = escape(document.theForm.URL.value);theName = document.theForm.winName.value;return "MM_openBrWindow('"+theURL+"',¬'"+theName+"','"+argArray.join()+"')";

}

behaviorFunction()

Description

Insère une ou plusieurs fonctions (délimitées par les balises <SCRIPT LANGUAGE="JavaScript"></SCRIPT> si aucune n'existe déjà) dans la balise HEAD du document de l'utilisateur.

Arguments

Aucun.

Valeurs renvoyées

Soit une chaîne contenant les fonctions JavaScript à insérer dans le document de l'utilisateur, soit une chaîne contenant le nom des fonctions à insérer dans le document de l'utilisateur. Cette valeur doit être chaque fois identique (elle ne peut pas dépendre des données entrées par l'utilisateur). Les fonctions sont insérées une seule fois, quel que soit le nombre de fois que l'action est appliquée aux éléments du document.

Remarque : les guillemets contenus dans la chaîne renvoyée doivent être précédés d'une barre oblique inverse (\) afin d'éviter que l'interpréteur JavaScript ne signale des erreurs.

Chapitre 1098

Page 99: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction behaviorFunction() renvoie une fonction appelée MM_popupMsg() :

function behaviorFunction(){return ""+"function MM_popupMsg(theMsg) { //v1.0\n"+" alert(theMsg);\n"+"}";

}

Le code suivant est équivalent à la déclaration de fonction behaviorFunction() précédente et il s'agit de la méthode utilisée pour déclarer la fonction behaviorFunction() dans tous les comportements fournis avec Dreamweaver :

function MM_popupMsg(theMsg){ //v1.0alert(theMsg);

}

function behaviorFunction(){return "MM_popupMsg";

}

canAcceptBehavior()

Description

Indique si l'action est autorisée pour l'élément HTML sélectionné et définit l'événement par défaut qui doit la déclencher. Peut également rechercher la présence de certains objets (tels que des animations Shockwave) dans le document de l'utilisateur et interdire l'action si ces objets sont absents.

Arguments

HTMLelement

L'argument est l'élément HTML sélectionné.

Valeurs renvoyées

L'une des valeurs suivantes :

• true si l'action est autorisée mais n'est associée à aucun événement préféré.

• Une liste des événements préférés (par ordre décroissant de préférence) de cette action. La définition d'événements préférés remplace l'événement par défaut (signalé par un astérisque dans le fichier d'événements) de l'objet sélectionné. Voir les étapes 2 et 3 de la section « Fonctionnement des comportements », page 94.

• false si l'action n'est pas autorisée.

Si canAcceptBehavior() renvoie la valeur false, l'action apparaît estompée dans le menu déroulant des actions du panneau Comportements.

Comportements 99

Page 100: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction canAcceptBehavior() renvoie une liste des événements préférés du comportement si le document contient des images nommées :

function canAcceptBehavior(){ var theDOM = dreamweaver.getDocumentDOM();// Get an array of all images in the documentvar allImages = theDOM.getElementsByTagName('IMG'); if (allImages.length > 0){

return "onMouseOver, onClick, onMouseDown";}else{

return false;}

}

displayHelp()

Description

Si cette fonction est définie, un bouton Aide apparaît sous les boutons OK et Annuler dans la boîte de dialogue des paramètres. Cette fonction est appelée lorsque l'utilisateur clique sur le bouton Aide.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction displayHelp() ouvre dans une fenêtre de navigateur un fichier contenant les instructions d'utilisation du comportement :

function displayHelp(){dreamweaver.browseDocument('http://www.hotwired.com/¬webmonkey/javascript/code_library/wm_pos2_elmnt_dw/¬?tw=javascript');

}

deleteBehavior()

Description

Annule toutes les modifications effectuées par la fonction applyBehavior().

Remarque : Dreamweaver supprime automatiquement la déclaration de fonction et le gestionnaire d'événements associés à un comportement lorsque l'utilisateur supprime ce comportement dans le panneau Comportements. Il est ainsi nécessaire de définir la fonction deleteBehavior() uniquement si la fonction applyBehavior() a effectué des modifications supplémentaires dans le document de l'utilisateur (par exemple, si elle a inséré une balise).

Chapitre 10100

Page 101: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

applyBehaviorString

Cet argument correspond à la chaîne qui a été renvoyée précédemment par la fonction applyBehavior().

Valeurs renvoyées

Aucune.

identifyBehaviorArguments()

Description

Associe les arguments d'un appel de fonction de comportement à nav, dep, URL, NS4.0ref, IE4.0ref, objName ou other de façon à ce que les URL utilisées dans les comportements puissent être mises à jour si l'utilisateur enregistre le document dans un autre emplacement et pour que les fichiers référencés puissent s'afficher dans la carte du site et être considérés comme des fichiers dépendants afin de pouvoir être téléchargés vers et depuis un serveur.

Arguments

theFunctionCall

Cet argument correspond à la chaîne qui a été renvoyée précédemment par la fonction applyBehavior().

Valeurs renvoyées

Une chaîne contenant une liste des types d'arguments de l'appel de fonction séparés par des virgules. La longueur de la liste doit être égale au nombre d'arguments transmis lors de l'appel de fonction. Les types d'argument sont toujours l'un des suivants :

• nav indique que l'argument est une URL de navigation et qu'il doit donc être affiché dans la carte du site.

• dep indique que l'argument est une URL de fichier dépendant et qu'il doit donc être inclus avec tous les autres fichiers dépendants lorsqu'un document contenant ce comportement est téléchargé depuis ou vers un serveur.

• URL indique que l'argument est à la fois une URL de navigation et une URL dépendante (ou une URL de type inconnu), et qu'il doit donc être affiché dans la carte du site et considéré comme un fichier dépendant lors du téléchargement depuis ou vers un serveur.

• NS4.0ref indique que l'argument est une référence à un objet DOM de Navigator.

• IE4.0ref indique que l'argument est une référence à un objet DOM d'Internet Explorer.

• objName indique que l'argument est un nom d'objet simple, tel qu'il est spécifié dans l'attribut NAME de l'objet. Ce type a été ajouté à Dreamweaver 3.

Comportements 101

Page 102: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• other indique que l'argument n'appartient à aucun des types ci-dessus.

Exemple

Cet exemple simple de fonction identifyBehaviorArguments() fonctionne avec l'action de comportement Ouvrir la fenêtre Navigateur qui renvoie une fonction comportant toujours trois arguments (l'URL à ouvrir, le nom de la nouvelle fenêtre et la liste des propriétés de la fenêtre) :

function identifyBehaviorArguments(fnCallStr) {return "URL,other,other";

}

Une version plus complexe de la fonction identifyBehaviorArguments() est nécessaire pour les fonctions de comportement ayant un nombre variable d'arguments (telles que Afficher-Masquer les calques). Pour cette version de la fonction identifyBehaviorArguments(), il existe un nombre minimum d'arguments et les arguments supplémentaires se présentent toujours en groupes dont la taille est un multiple de ce nombre minimum. En d'autres termes, une fonction dont le nombre d'arguments minimum est 4 peut avoir 4, 8 ou 12 arguments, mais elle n'en aura jamais 10.

function identifyBehaviorArguments(fnCallStr) {var listOfArgTypes;var itemArray = dreamweaver.getTokens(fnCallStr, ‘(),’);

// The array of items returned by getTokens() includes the // function name, so the number of *arguments* in the array // is the length of the array minus one. Divide by 4 to get the // number of groups of arguments.var numArgGroups = ((itemArray.length - 1)/4);// For each group of argumentsfor (i=0; i < numArgGroups; i++){

// Add a comma and "NS4.0ref,IE4.0ref,other,dep" (because this // hypothetical behavior function has a minimum of four // arguments the Netscape object reference, the IE object // reference, a dependent URL, and perhaps a property value // such as "show" or "hide") to the existing list of argument // types, or if no list yet exists, add only// "NS4.0ref,IE4.0ref,other,dep"var listOfArgTypes += ((listOfArgTypes)?",":"") + ¬"NS4.0ref,IE4.0ref,other,dep";}

}

Chapitre 10102

Page 103: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

inspectBehavior()

Description

Recherche dans l'appel de fonction un comportement déjà appliqué au document de l'utilisateur et définit les valeurs des options de la boîte de dialogue des paramètres en conséquence. Si la fonction inspectBehavior() n'est pas définie, les valeurs par défaut des options s'affichent.

Remarque : inspectBehavior() doit uniquement utiliser les informations qui lui sont transmises via l'argument applyBehaviorString. N'essayez pas d'obtenir d'autres informations sur le document de l'utilisateur (par exemple, en utilisant la fonction dreamweaver.getDocumentDOM()) dans cette fonction.

Arguments

applyBehaviorString

Cet argument correspond à la chaîne qui a été renvoyée précédemment par la fonction applyBehavior().

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction inspectBehavior(), extraite du fichier Display Status Message.htm, renseigne le champ Message du formulaire des paramètres avec le message que l'utilisateur a sélectionné lors de la première application du comportement :

function inspectBehavior(msgStr){var startStr = msgStr.indexOf("'") + 1;var endStr = msgStr.lastIndexOf("'");if (startStr > 0 && endStr > startStr) {

document.theForm.message.value = ¬unescQuotes(msgStr.substring(startStr,endStr));

}}

Remarque : pour plus d'informations sur la fonction unescQuotes(), voir le fichier string.js du dossier Configuration/Shared/MM/Scripts/CMN.

windowDimensions()

Description

Définit les dimensions de la boîte de dialogue des paramètres. Si cette fonction n'est pas définie, les dimensions de la fenêtre sont calculées automatiquement.

Remarque : ne définissez cette fonction que si vous souhaitez utiliser une boîte de dialogue d'options ayant des dimensions supérieures à 640 x 480 pixels.

Comportements 103

Page 104: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

platform

La valeur de l'argument est soit "macintosh", soit "windows", selon la plate-forme utilisée par l'utilisateur.

Valeurs renvoyées

Une chaîne de caractères au format "widthInPixels,heightInPixels".

Les dimensions renvoyées sont inférieures à la taille totale de la boîte de dialogue parce qu'elles n'incluent pas la zone des boutons OK et Annuler. Si les dimensions renvoyées ne permettent pas de faire apparaître toutes les options, des barres de défilement s'affichent.

Exemple

Dans l'exemple suivant, la fonction windowDimensions() définit les dimensions de la boîte de dialogue des paramètres à 648 x 520 pixels :

function windowDimensions(){return "648,520";

}

Exemple de comportement simplePour mieux comprendre le fonctionnement des comportements et la façon dont vous pouvez en créer un, il est utile d'examiner un exemple. Le dossier Configuration/Behaviors/Actions du dossier de l'application Dreamweaver contient de nombreux exemples ; toutefois, la plupart sont probablement trop complexes pour les utilisateurs qui ne sont pas des programmeurs confirmés. Le fichier d'action le plus simple pour commencer est Call JavaScript.htm (avec son homologue, Call JavaScript.js, qui contient toutes les fonctions JavaScript).

Chapitre 10104

Page 105: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Le code suivant présente un exemple relativement simple. Il vérifie la marque du navigateur et atteint une page spécifique s'il s'agit de Netscape Navigator et une page différente s'il s'agit de Microsoft Internet Explorer. Ce code peut facilement être étendu pour vérifier d'autres marques (telles qu'Opera et WebTV) et modifié pour exécuter d'autres actions que l'action d'atteindre des URL.

<html><head><title>behavior "Check Browser Brand"</title><meta http-equiv="Content-Type" content="text/html"><script language="JavaScript">

// The function that will be inserted into the // HEAD of the user's documentfunction checkBrowserBrand(netscapeURL,explorerURL) { if (navigator.appName == "Netscape") { if (netscapeURL) location.href = netscapeURL; }else if (navigator.appName == "Microsoft Internet Explorer") { if (explorerURL) location.href = explorerURL; }}

//******************* API **********************

function canAcceptBehavior(){ return true;}

// Return the name of the function to be inserted into// the HEAD of the user's documentfunction behaviorFunction(){ return "checkBrowserBrand";}

// Create the function call that will be inserted // with the event handlerfunction applyBehavior() { var nsURL = escape(document.theForm.nsURL.value); var ieURL = escape(document.theForm.ieURL.value); if (nsURL && ieURL) { return "checkBrowserBrand(\'" + nsURL + "\',\'" + ieURL + ¬ "\')"; }else{ return "Please enter URLs in both fields." }}

// Extract the arguments from the function call// in the event handler and repopulate the// parameters formfunction inspectBehavior(fnCall){ var argArray = getTokens(fnCall, "()',");

Comportements 105

Page 106: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

var nsURL = unescape(argArray[1]); var ieURL = unescape(argArray[2]); document.theForm.nsURL.value = nsURL; document.theForm.ieURL.value = ieURL;}

//***************** LOCAL FUNCTIONS ******************

// Put the cursor in the first text field// and select the contents, if anyfunction initializeUI(){ document.theForm.nsURL.focus(); document.theForm.nsURL.select();}

// Let the user browse to the Navigator and// IE URLsfunction browseForURLs(whichButton){ var theURL = dreamweaver.browseForFileURL(); if (whichButton == "nsURL"){ document.theForm.nsURL.value = theURL; }else{ document.theForm.ieURL.value = theURL; }}

//*************** END OF JAVASCRIPT *****************</script></head><body><form method="post" action="" name="theForm"><table border="0" cellpadding="8"><tr><td nowrap="nowrap">&nbsp;&nbsp;Go to this URL if the browser is ¬Netscape Navigator:<br><input type="text" name="nsURL" size="50" value=""> <input type="button" name="nsBrowse" value="Browse..." ¬onClick="browseForURLs('nsURL')"></td></tr><tr><td nowrap="nowrap">&nbsp;&nbsp;Go to this URL is the browser is ¬Microsoft Internet Explorer:<br><input type="text" name="ieURL" size="50" value=""> <input type="button" name="ieBrowse" value="Browse..." ¬onClick="browseForURLs('ieURL')"></td></tr></table></form></body></html>

Chapitre 10106

Page 107: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

1

1

CHAPITRE 11

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Comportements de serveur

Les utilisateurs de Dreamweaver UltraDev ajoutent des comportements de serveur à leurs documents afin d'exécuter des tâches côté serveur, comme par exemple pour filtrer des enregistrements en fonction de critères préalablement définis, parcourir des enregistrements, lier des listes de résultats à des pages d'informations détaillées et insérer des enregistrements dans un jeu de résultats. Si l’utilisateur insère sans cesse le même code d'exécution dans les documents, il a tout intérêt à créer une nouvelle extension afin d'automatiser la mise à jour de documents à l'aide de blocs de code couramment utilisés. UltraDev prend actuellement en charge des extensions de comportements de serveur, afin d'ajouter des codes d'exécution pour les serveurs de type ASP/JavaScript, ASP/VBScript, JSP et CFML.

Le présent chapitre utilise les termes suivants :

• Extension de comportement de serveur : interface entre votre code côté serveur et Dreamweaver UltraDev. Une extension de comportement de serveur est composée d'un code JavaScript, d'un code HTML et habituellement d'un code XML. Dans UltraDev 4.0, vous pouvez rédiger une partie de code JavaScript afin de gérer l'interface utilisateur de l'extension et utiliser les fonctions JavaScript pour traiter la gestion du code d'exécution dans le document utilisateur. De même, vous pouvez créer un formulaire HTML pour obtenir des entrées utilisateur pour votre comportement de serveur. Enfin, dans les fichiers XML, vous avez la possibilité de décrire votre extension, y compris le code d'exécution réel et les paramètres dynamiques. Dirigez UltraDev, grâce à l'appel JavaScript de la fonction applySB(), jusqu'à ces fichiers XML, où vous pouvez récupérer les composants de votre extension, afin de les ajouter ensuite au document utilisateur.

107

Page 108: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Occurrence de comportement de serveur : l'ajout par UltraDev du code d'exécution au document utilisateur constitue une occurrence de comportement de serveur. La plupart des comportements de serveur pouvant être appliqués plusieurs fois, les occurrences peuvent être multiples. Chaque occurrence de comportement de serveur est répertoriée dans le panneau Comportements de serveur.

• Code d'exécution : ensemble des blocs de code ajoutés à un document lorsqu'un comportement de serveur est appliqué. Ces blocs de code sont d'ordinaire un code côté serveur, tel qu'une directive ASP comprise entre des balises <% ... %>. Vous pouvez rédiger le code d'exécution d'un comportement de serveur en langage JavaScript, Visual Basic, Java ou C.

• Bloc de code : l'extension de comportement de serveur insère des blocs de code dans le document utilisateur. Un bloc de code est un bloc de script unique et continu, tel qu'une balise côté serveur, une balise HTML, voire un attribut qui ajoute une fonctionnalité côté serveur à une page web. Il arrive parfois que des blocs de code insérés dans les documents de l'utilisateur dépendent d'autres parties du document. Par exemple, si une partie de votre code d'exécution dépend d'un jeu d'enregistrements, elle doit être placée au-dessous du bloc de code dudit jeu. Certains blocs de code sont ainsi qualifiés de pondérés. Un fichier XML désigne chaque bloc de code par le terme de participant. De même, tous les participants (blocs de code) pour un comportement de serveur donné forment un groupe XML.

Remarque : « Schéma XML de comportement de serveur », page 145, décrit les fichiers groupes et participants, ainsi que la façon dont les fichiers XML d'UltraDev sont structurés. Pour utiliser la nouvelle architecture d'UltraDev, vous devez placer l'information relative à votre extension dans les fichiers XML. Les fichiers XML de comportement de serveur contiennent la totalité du code d'exécution à insérer dans le document utilisateur, ainsi que les chaînes de recherche servant au rapprochement du document et des données en cours avec votre extension de comportement de serveur.

Architecture d'UltraDevLorsque vous rédigez ou modifiez une extension spécifique à UltraDev, utilisez les services UltraDev et les fichiers XML pour rendre votre extension plus simple et plus efficace. Selon les schémas de l'API de comportement de serveur et XML d'UltraDev, vous créez des extensions à l'aide des fonctions *SB(), puis vous placez le code d'exécution et les paramètres dynamiques dans les fichiers XML. Non seulement ce type d'architecture simplifie la mise en œuvre de l'API d'UltraDev, mais il permet également de distinguer le code d'exécution et la façon dont il est déployé dans Dreamweaver UltraDev.

Le scénario typique suivant illustre ce qui se passe lorsqu'un utilisateur sélectionne une extension de comportement de serveur pour la première fois.

Chapitre 11108

Page 109: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exécution d'un comportement de serveur

La figure suivante illustre le déroulement de haut niveau des opérations entre l'utilisateur, l'extension de comportement de serveur et UltraDev, lorsqu'un utilisateur sélectionne votre extension de comportement de serveur. Le résultat final est un document mis à jour.

1 L'utilisateur clique sur le bouton Plus (+) pour sélectionner l'extension dans le panneau Comportements de serveur.

2 Votre formulaire HTML invite l'utilisateur à saisir des données.

3 Le comportement de serveur fait appel au programme SBM (Server Behavior Manager) afin qu'il procède à l'insertion du code d'exécution dans le document utilisateur.

4 Le programme SBM fait lui-même appel à EDM (Extension Data Manager) pour obtenir une description complète du comportement de serveur. Pour ce faire, EDM extrait des fichiers XML que vous avez créés les informations relatives à l'extension (données d'extension), y compris le code d'exécution.

5 Après obtention des données d'extension par EDM, le programme SBM met le document utilisateur à jour avec le code d'exécution.

Comportements de serveur 109

Page 110: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Cette illustration généralisée vous indique le degré de dépendance de l'extension vis-à-vis d'UltraDev quand il s'agit d'insérer le code d'exécution dans le document utilisateur. La section suivante examine plus en détails ce système de stratification corrélative.

Dossiers et fichiers de comportements de serveurL'interface utilisateur pour chaque comportement de serveur réside dans le dossier Configuration/ServerBehaviors/NomdeModèledeServeur, où NomdeModèledeServeur correspond à l'une des technologies ASP, JSP ou ColdFusion. Tous les fichiers XML correspondants se trouvent dans les dossiers du répertoire Configuration/ExtensionData.

Partage de fichiers entre modèles de serveur

Au sein de chaque sous-dossier de modèle de serveur (ASP, ColdFusion et JSP) figurent les fichiers HTML de l'interface utilisateur associés aux comportements pour le modèle de serveur concerné. Ces comportements sont intégrés au menu Plus (+) du panneau Comportements de serveur. Par exemple, le fichier InsertRecord.htm du dossier Configuration/ServerBehaviors/ASP correspond au comportement Insérer un enregistrement, inclus dans le menu Plus (+) du panneau Comportements de serveur lorsque le modèle de serveur sélectionné pour votre site est ASP.

La plupart du temps, l'interface utilisateur est exactement la même pour les trois modèles de serveur. Pour plus d'efficacité, nous avons intégré la prise en charge de l'option Server-Side Include (SSI - Inclusions à partir du serveur). Par exemple, le fichier Configuration/ServerBehaviors/ASP/Dynamic Textfield.htm contient la directive d'inclusion <!-- #include virtual="../Dynamic Textfield.htm" -->. Lorsque le fichier de comportement de serveur est chargé, Dreamweaver UltraDev remplace la directive #include par le fichier HTML commun, Dynamic Textfield.htm.

Partage des fichiers JavaScript pour économiser la mémoire

Vous pouvez gagner de l'espace en ajoutant une directive appropriée au fichier JavaScript, s'il figure dans plusieurs fichiers HTML à la fois. Dreamweaver charge dans la mémoire partagée les fichiers JavaScript comportant la directive spéciale, et vous devez par conséquent faire très attention aux éventuels conflits de noms.

Pour faire de la place en mémoire, ajoutez le code suivant au début du fichier JavaScript :

//SHARE-IN-MEMORY=true

Chapitre 11110

Page 111: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Conseil: consultez les fichiers *.js du répertoire Configuration/Shared pour plus d'exemples.

Si votre fichier contient la directive SHARE-IN-MEMORY et qu'un fichier HTML y fait référence (à l'aide de la balise SCRIPT avec l'attribut SRC), Dreamweaver le charge dans un emplacement centralisé afin qu'il soit, par la suite, implicitement inclus dans tous les fichiers HTML.

Les fichiers JavaScript chargés à cet emplacement centralisé partageant la mémoire, ils ne peuvent dupliquer aucune déclaration. Un conflit de noms peut éventuellement se produire s'il y a définition simultanée d'une même variable ou fonction à la fois dans votre fichier chargé dans la mémoire commune et dans un autre fichier Javascript.

Pour illustrer ce cas de figure, supposons deux fichiers : le premier fichier, shared.js, contient la directive d'inclusion //SHARE-IN-MEMORY=true. Le second fichier, notshared.js, ne comporte aucune directive d'inclusion. Les fichiers définissent tous deux la fonction applyServerBehavior(). Si <script src="notshared.js"> apparaît dans un fichier myext.htm, Dreamweaver charge notshared.js dans la mémoire. Si <script src="shared.js"> est incluse dans un fichier, quel et où qu'il soit, Dreamweaver charge automatiquement shared.js, qui est ensuite implicitement inclus dans myext.htm. Comme applyServerBehavior() figure dans les deux fichiers, Dreamweaver n'est pas en mesure de déterminer la fonction à exécuter. Par conséquent, il est conseillé de ne pas intégrer la directive SHARED-IN-MEMORY si le fichier JavaScript et un autre fichier susceptible d'être chargé en mémoire définissent une même fonction.

Conseil: ajoutez la directive SHARE-IN-MEMORY après avoir entièrement débogué le code ; dans le cas contraire, vous devez quitter, puis redémarrer Dreamweaver et recharger la version la plus récente de votre fichier (lors du débogage, il est plus pratique d'utiliser la fonctionnalité « Recharger extensions » lors d'une modification, plutôt que de quitter complètement Dreamweaver).

Exemple : Hello WorldL'exemple suivant illustre le processus de création d'un nouveau comportement de serveur, à l'aide des nombreux services déjà rédigés.

Remarque : cet exemple fait référence à des fonctions définies plus loin dans ce chapitre.

Etape 1 Rédigez le code d'exécution, puis testez-le.

Etape 2 Créez les fichiers XML groupes et participants.

Etape 3 Créez le fichier de comportement de serveur et appelez les fonctions API.

A chaque étape, développez et testez l'exemple. Chaque étape est composée de quelques rappels rapides, d'une explication détaillée et du code source approprié.

Comportements de serveur 111

Page 112: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Imaginez, pour commencer, un comportement ASP simple qui affiche « Hello World » à partir du serveur ASP. Cet exemple contient un seul participant (une simple balise ASP) et rien n'est modifié, ni ajouté sur la page. Les exemples de fichiers suivants figurent dans le dossier Help/UltraDev/Samples : Hello_World.htm, Hello_World.xml et Hello_World_main.xml.

Etape 4 Rédigez le code d'exécution, puis testez-le.

A ce niveau, il convient de veiller au bon fonctionnement du code, de déterminer les parties du code devant être définies par l'utilisateur (c'est-à-dire les parties susceptibles de varier) et de vérifier que l'extrait de code est facilement repérable (après insertion dans le document utilisateur).

Remarque : dans cet exemple préliminaire, aucune information n'est requise de l'utilisateur et le code ASP ne contient aucun paramètre. La chaîne de résultat est simplement « Hello World ».

Chaque participant doit constituer une balise ou un attribut unique. Cet exemple ne comporte qu'un seul participant et le code d'exécution dans ASP/JavaScript est :

<% Response.Write("Hello World") %>

Pour vérifier que le code d'exécution fonctionne correctement, définissez un site avec le modèle de serveur ASP et le langage JavaScript. Créez un document dans le site et tapez cette ligne de code ASP dans le code source HTML (au sein de la balise BODY). Quand vous prévisualisez ce fichier sur le serveur ASP, « Hello World » doit apparaître sur la page.

Après avoir testé le code d'exécution pour vérifier qu'il fonctionne correctement, vous pouvez passer à l'étape 5.

Etape 5 Créez les fichiers XML groupes et participants.

Le but de cette étape consiste à vérifier que vous disposez d'un fichier groupe et d'au moins un fichier participant, puis à ajouter les balises XML élémentaires requises pour l'insertion et la recherche du code d'exécution.

Chapitre 11112

Page 113: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour chaque comportement de serveur, il vous faut au moins un fichier XML participant et un fichier XML groupe. Commencez par créer un fichier participant, nommé Hello World_main.xml et placez-le dans le dossier Configuration/ExtensionData. Ce fichier se compose comme suit :

<participant><implementation serverModel="ASP/JavaScript">

<quickSearch>Hello World</quickSearch><insertText location="afterSelection">

<![CDATA[<% Response.Write("Hello World") %>]]>

</insertText><searchPatterns whereToSearch="directive">

<searchPattern>/Response\.Write\("Hello World"\)/i</searchPattern>

</searchPatterns></implementation>

</participant>

La clé de ce fichier est la balise <insertText>, qui contient le code d'exécution à insérer. Ce code est contenu dans une structure XML standard CDATA, afin d'empêcher toute confusion de l'analyseur syntaxique XML par le code ASP.

Créez ensuite le fichier XML groupe. Le fichier groupe identifie le comportement de serveur qui l'utilise et répertorie tous les participants. Dans le dossier Configuration/ExtensionData, créez un fichier nommé Hello World.xml qui se compose comme suit :

<group serverBehavior="Hello World.htm"><title>Hello World</title><groupParticipants selectParticipant="Hello World_main">

<groupParticipant name="Hello World_main" /></groupParticipants>

</group>

Ce fichier groupe se réfère au fichier de comportement de serveur que vous allez créer et indique la présence d'un participant.

Etape 6 Créez le fichier de comportement de serveur.

Dans cette étape, vous intégrez tous les fichiers communs éventuellement nécessaires et déclarant les fonctions élémentaires de comportement de serveur.

Commencez par enregistrer votre fichier HTML de comportement de serveur dans le dossier Configuration/ServerBehaviors/ASP. Toutes les extensions Dreamweaver sont divisées en deux fichiers, par exemple Recordset.htm et Recordset.js, afin de faciliter la traduction en diverses langues. Pour votre exemple, créez un seul fichier et nommez-le Hello World.htm. Au moment de tester le comportement dans Dreamweaver, modifiez le fichier de comportement de serveur à l'aide d'un éditeur de texte indépendant, tel que Bloc-notes ou SimpleText.

Comportements de serveur 113

Page 114: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Vous allez utiliser de nombreuses fonctions et classes communes dans les étapes restantes. Pour pouvoir accéder à l'ensemble du code utile, vous devez inclure les fichiers commençant par les lettres ss à partir du dossier partagé.

<HTML><HEAD><SCRIPT SRC="../../Shared/MM/Scripts/CMN/UI.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/file.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/string.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/localText.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/docInfo.js"></SCRIPT> <SCRIPT SRC="../../Shared/MM/Scripts/CMN/niceName.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/helper.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/Class/ListControlClass.js"></SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/ssClasses.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/ssDocManager.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/ssCmnElements.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/sbManager.js">¬</SCRIPT>

Afin que votre comportement de serveur s'affiche dans le menu Plus (+) du panneau Comportements de serveur, ajoutez les fonctions API requises, comme suit :

<SCRIPT>function findServerBehaviors() {

return findSBs(); }function canApplyServerBehavior() {

return true;}

function applyServerBehaviors(sbObj) {var paramObj = new Object();applySB(paramObj,sbObj);

}function deleteServerBehavior(sbObj) {

deleteSB(sbObj)}function inspectServerBehavior(sbObj) {}function analyzeServerBehavior(sbObj, allRecs) {}

</SCRIPT></HEAD>

Chapitre 11114

Page 115: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour s'afficher, l'interface utilisateur d'une extension Dreamweaver doit contenir une balise de formulaire (form). Pour l'instant, ajoutez une simple balise form à l'intérieur d'une balise body :

<BODY><FORM>

Insert "Hello World".</FORM>

</BODY></HTML>

Vous pouvez maintenant effectuer un test rapide. Redémarrez Dreamweaver et ouvrez le fichier test. Ouvrez le panneau Comportements de serveur. Cliquez sur le menu Plus (+), puis choisissez Hello World. Cliquez sur OK. Le texte ASP doit être ajouté à votre document et Hello World doit être affiché dans le panneau Comportements de serveur.

Exemple : Redirect If EmptyDans l'exemple suivant, vous allez utiliser un code ASP pour diriger l'utilisateur vers une autre page quand un jeu d'enregistrements est vide (aucun enregistrement n'a été comptabilisé). Cet exemple contient un seul participant (une simple balise ASP) et rien n'est modifié, ni ajouté sur la page. Cet exemple est possible uniquement si des jeux d'enregistrements existent. Les exemples de fichiers suivants figurent dans le sous-dossier Help/UltraDev/Samples de Dreamweaver UltraDev : Redirect_If_Empty_main.xml, Redirect_If_Empty.xml et Redirect_If_Empty.htm.

Remarque : l'exemple suivant utilise une adresse URL comme l'un des paramètres. « URL » étant un mot réservé dans le code JavaScript, assurez-vous d'attribuer un nom unique au paramètre (tel que new__url). Si vous terminez le nom du paramètre conformément à la convention __url (c'est-à-dire deux caractères de soulignement, suivis de « url »), Dreamweaver conserve le nom du chemin d'accès relatif dans l'URL lorsque vous changez le fichier de place.

Etape 1 Rédigez le code d'exécution, puis testez-le.

A ce niveau, il convient de veiller au bon fonctionnement du code, de déterminer les parties du code devant être définies par l'utilisateur (c'est-à-dire les parties susceptibles de varier) et de vérifier que l'extrait de code est facilement repérable (après insertion dans le document utilisateur).

Il s'agit de l'étape la plus importante. Les développeurs peuvent commencer avec une interface utilisateur, à seule fin de constater que les contraintes du code d'exécution modifient complètement la conception. Chaque participant doit correspondre à une balise ou un attribut unique, identifiable à l'aide d'expressions régulières. Pour cet exemple, le code d'exécution dans ASP/JavaScript est :

<% if (Recordset1.EOF) Response.Redirect("http://www.yahoo.com"); %>

Comportements de serveur 115

Page 116: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Ce code est composé de deux paramètres modifiables : le nom du jeu d'enregistrements et l'URL. Le comportement de serveur a donc pour tâche de récupérer et d'intégrer ces deux informations dans le code d'exécution, puis d'ajouter ledit code à l'endroit approprié sur la page.

Pour vérifier que le code d'exécution fonctionne correctement, définissez un site avec le modèle de serveur ASP et le langage JavaScript. Créez un document dans le site, définissez un jeu d'enregistrements, puis effectuez un aperçu dans un navigateur. Ajoutez ensuite le code d'exécution à la page, au-dessus de la balise <HTML> mais en dessous du jeu d'enregistrements.

Après avoir testé le code d'exécution pour vérifier qu'il fonctionne correctement, vous pouvez passer à l'étape 2.

Etape 2 Créez les fichiers XML groupes et participants.

Le but de cette étape consiste à vérifier que vous disposez d'un fichier groupe et d'au moins un fichier participant, puis à ajouter les balises XML élémentaires requises pour l'insertion et la recherche du code d'exécution.

Le code d'exécution dépendant d'un jeu d'enregistrements, il doit être positionné en dessous du code de définition du jeu d'enregistrements, mais au-dessus de tout autre code éventuellement dépendant du jeu d'enregistrements quand celui-ci n'est pas vide. Utilisez l'attribut d'implantation (location) pour définir avec précision ce positionnement au sein du fichier XML.

Pour chaque comportement de serveur, il vous faut au moins un fichier XML participant et un fichier XML groupe. Commencez par créer un fichier participant, nommé Redirect If Empty.xml, dans le dossier Configuration/ExtensionData/. Ce fichier se compose comme suit :

<participant><implementation serverModel="ASP/JavaScript">

<quickSearch>Response.Redirect</quickSearch><insertText location="aboveHTML+51">

<![CDATA[<% if (@@rs@@.EOF) Response.Redirect("@@new__url@@"); %>]]>

</insertText><searchPatterns whereToSearch="directive">

<searchPattern paramNames="rs,new__url"> /if \((\w+)\.EOF\) Response\.Redirect\("(.*)"/i</searchPattern></searchPatterns>

</implementation></participant>

Le texte d'insertion contient maintenant deux espaces réservés pour les données paramétrées : @@rs@@ et @@new__url@@. Ces deux espace réservés sont remplacés lors de l'insertion du texte. Le profil de recherche extrait maintenant les valeurs des deux paramètres rs et new__url. Ces valeurs proviennent des première et deuxième sous-expressions entre parenthèses (\w+) et (.*).

Chapitre 11116

Page 117: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Créez ensuite le fichier XML groupe. Le fichier groupe identifie le comportement de serveur qui l'utilise et répertorie tous les participants. Dans le dossier Configuration/ExtensionData, créez un fichier nommé Redirect If Empty.xml, qui se compose comme suit :

<group serverBehavior="Redirect If Empty.htm"><title>Hello World</title><groupParticipants selectParticipant="Redirect If Empty_main">

<groupParticipant name="Redirect If Empty_main" /></groupParticipants>

</group>

Ce fichier groupe se réfère au fichier de comportement de serveur que vous allez créer et indique la présence d'un participant.

Etape 3 Créez le fichier de comportement de serveur.

Dans cette étape, vous intégrez tous les fichiers communs éventuellement nécessaires et déclarant les fonctions élémentaires de comportement de serveur.

Commencez par créer votre fichier HTML de comportement de serveur dans le dossier Configuration/ServerBehaviors/ASP. Toutes les extensions Dreamweaver sont divisées en deux fichiers, par exemple Recordset.htm et Recordset.js, afin de faciliter la traduction en diverses langues. Pour votre exemple, créez un seul fichier et nommez-le Hello World.htm. Au moment de tester le comportement dans Dreamweaver, modifiez le fichier de comportement de serveur à l'aide d'un éditeur de texte indépendant, tel que Bloc-notes ou SimpleText.

Comportements de serveur 117

Page 118: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Vous allez utiliser de nombreuses fonctions et classes communes dans les étapes restantes. Pour accéder à l'ensemble du code utile, vous devez inclure des fichiers communs. Commencez par les notions de base :

<HTML><HEAD><SCRIPT SRC="../../Shared/MM/Scripts/CMN/UI.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/file.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/string.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/localText.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/docInfo.js"></SCRIPT> <SCRIPT SRC="../../Shared/MM/Scripts/CMN/niceName.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/CMN/helper.js"></SCRIPT> <SCRIPT SRC="../../Shared/MM/Scripts/CMN/displayHelp.js"></SCRIPT><SCRIPT SRC="../../Shared/MM/Scripts/Class/ListControlClass.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/ssClasses.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/ssDocManager.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/ssCmnElements.js">¬</SCRIPT><SCRIPT SRC="../../Shared/UltraDev/Scripts/sbManager.js">¬</SCRIPT><SCRIPT SRC="../../Shared/Controls/Scripts/RecordsetMenu.js">¬</SCRIPT><SCRIPT SRC="../../Shared/Controls/Scripts/TextField.js">¬

</SCRIPT>

Initialisez maintenant les deux commandes qui s'affichent dans votre interface utilisateur à l'aide des classes de commande disponibles. La première commande est un menu composé de jeux d'enregistrements et la deuxième un champ de texte pour la saisie des URL.

<SCRIPT>var rs = new RecordsetMenu("Redirect If Empty","rs");var new__url = new TextField("Redirect If Empty","new__url");function findServerBehaviors() {

return findSBs();}

La fonction canApplyServerBehavior() détermine si le comportement de serveur peut être exécuté. Dans cet exemple, elle renvoie la valeur false si la page ne contient aucun jeu d'enregistrements.

function canApplyServerBehavior(sbObj) {var success = true;if (success) success = rs.canApplyServerBehavior(sbObj);if (success) success = new__url.canApplyServerBehavior(sbObj);return success;

}

Chapitre 11118

Page 119: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La valeur que vous obtenez à la rédaction de la fonction applyServerBehaviors() provient normalement de chaque commande d'élément de formulaire. Dans ce cas, chaque commande peut être affectée d'un paramètre paramObj, qui est ensuite transmis à applySB(). Par exemple, elles créent les propriétés paramObj.rs et paramObj.new__url, que vous pouvez, par ailleurs, définir manuellement à l'aide d'un élément de formulaire dépourvu de classe de commande.

function applyServerBehavior(sbObj) {var paramObj = new Object();var errStr = "";if (!errStr) errStr = rs.applyServerBehavior(sbObj, paramObj);if (!errStr) errStr = new__url.applyServerBehavior(sbObj, ¬paramObj);if (!errStr) applySB(paramObj,sbObj);return errStr;

}

La fonction inspectServerBehavior() sélectionne les valeurs précédentes dans l'interface utilisateur lors de la modification d'une occurrence existante.

function inspectServerBehavior(sbObj) {var success = true;if (success) success = rs.inspectServerBehavior(sbObj);if (success) success = new__url.inspectServerBehavior(sbObj);

}function deleteServerBehavior(sbObj) {

deleteSB(sbObj);}

La fonction analyzeServerBehavior() valide une occurrence du code d'exécution du comportement de serveur pour vérifier qu'il est complet (c'est-à-dire qu'il contient tous les participants). Par exemple, si le jeu d'enregistrements dont il est fait référence est introuvable, cette fonction définit l'indicateur « incomplete » et un point d'exclamation rouge s'affiche dans le panneau Comportements de serveur.

function analyzeServerBehavior(sbObj, allRecs) {rs.analyzeServerBehavior(sbObj, allRecs);new__url.analyzeServerBehavior(sbObj, allRecs);

}function initializeUI() {

rs.initializeUI();new__url.initializeUI();

}</SCRIPT>

Comportements de serveur 119

Page 120: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Vous définissez l'interface utilisateur dans le code HTML. L'interface utilisateur doit être contenue dans une balise FORM. Dans ce cas, les noms attribués à chaque élément de formulaire correspondent aux appels de classes de commande qui se trouvent au-dessus (rs et new__url).

<META HTTP-EQUIV="Content-Type" CONTENT="text/html"></HEAD><BODY onLoad="initializeUI()">

<FORM NAME="theForm"><TABLE>

<TR><TD ALIGN="right" VALIGN="baseline" NOWRAP>

Recordset:</TD><TD VALIGN="baseline" NOWRAP><SELECT NAME="rs" STYLE="width:230px">

<OPTION SELECTED>*** no Recordsets found ***</OPTION></SELECT></TD></TR><TR><TD ALIGN="right" VALIGN="baseline" NOWRAP>

Redirect URL:</TD><TD VALIGN="baseline" NOWRAP><INPUT TYPE="text" NAME="new__url" STYLE="width:230px"><INPUT TYPE="button" VALUE="Browse..." ¬onClick="browseFile(document.theForm.url"></TD></TR>

</TABLE></FORM>

</BODY></HTML>

Techniques de comportements de serveurCette section traite des techniques, courantes et évoluées, utilisées pour la création de comportements de serveur. La plupart des suggestions faites ici impliquant des configurations particulières de fichiers XML, il est indispensable de lire le chapitre sur le schéma XML avant de poursuivre. L'exemple utilisé fait de nombreuses références aux fonctions définies dans ce chapitre.

Chapitre 11120

Page 121: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Application de comportements de serveur

Les comportements de serveur sont appliqués lorsqu'un utilisateur clique sur OK dans la boîte de dialogue Comportement de serveur. Cet événement utilisateur appelle la fonction applyServerBehavior(), qui appelle généralement la fonction applySB() pour traiter le code XML et insérer le code d'exécution dans le document utilisateur. Le code à insérer est stocké dans les balises <insertText> dans vos fichiers XML. L'attribut location de ces balises permet de définir l'emplacement exact du code dans le document. Voici quelques conseils pour bien définir l'attribut location.

Insertion du code au-dessus de la balise <html> Votre code d'exécution du comportement de serveur doit être placé dans le document de l'utilisateur à l'emplacement approprié. La plupart du code du serveur devant être traité avant le code HTML, vous pouvez demander à Dreamweaver de l'insérer au-dessus de la balise <html> dans le document utilisateur. Si le code est autonome et n'est en relation avec aucun autre code, définissez l'emplacement sur aboveHTML. Exemple :

<insertText location="aboveHTML"><![CDATA[<% ASP_CODE_HERE %>]]>¬</insertText>

Cette instruction indique à Dreamweaver d'insérer le code d'exécution de comportement de serveur directement au-dessus de la balise <HTML>.

Le code peut, le cas échéant, faire l'objet d'une pondération. Autrement dit, il doit être situé au-dessus de la balise <HTML>, mais en dessous d'un autre bloc de code. Vous pouvez ajouter une pondération numérique spécifique comprise entre 1 et 99 (par exemple, location="aboveHTML+10"). Dreamweaver UltraDev insère les éléments pondérés dans l'ordre, de 1 à 99. 1 est le poids le plus léger et signifie que le code est placé au début du document utilisateur. 99 est le poids le plus lourd et signifie que le code est placé au-dessus, et proche, de la balise <HTML> dans le document utilisateur (la première ligne du document est affectée d'une pondération de 0. La ligne précédent la balise <HTML> a une pondération de 100. Ces deux valeurs sont des valeurs réservées).

Remarque : l'attribut d'implantation belowHTML peut être lui aussi pondéré d'une valeur comprise entre 1 et 99. Si l'attribut belowHTML a la valeur 1, le code est placé au-dessous, et proche, de la balise de fermeture </HTML>. 99 signifie que le code est placé dans le bas du document utilisateur. Rappelons que 0 et 100 sont des valeurs réservées.

Par exemple, un code qui dépend de l'existence d'un jeu d'enregistrements doit forcément suivre le code dudit jeu. Le jeu d'enregistrements est affecté d'une valeur de pondération de 50 ; Par conséquent, vous insérez votre code après le code du jeu, à l'aide d'une pondération plus élevée (par exemple, location="aboveHTML+60").

Remarque : une fois que le code est inséré, vous pouvez toujours le réorganiser manuellement.

Comportements de serveur 121

Page 122: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour que plusieurs participants restent groupés, attribuez-leur la même pondération. La première fois que le comportement de serveur est appliqué, les participants sont ajoutés selon l'ordre dans lequel ils sont répertoriés dans le fichier groupe. Lorsque le comportement de serveur est mis à jour, l'ordre des participants reste inchangé.

Supposons, par exemple, que votre fichier groupe test.xml répertorie les participants test_A, test_B et test_C, qui disposent tous trois d'une valeur d'emplacement location="aboveHTML+40". Lorsque vous ajoutez ce comportement de serveur, les participants sont insérés dans le document selon l'ordre dans lequel ils ont été définis dans test.xml. Si vous supprimez le code du participant test_B du document, un point d'exclamation rouge apparaît dans le panneau Comportements de serveur, pour indiquer que l'occurrence du comportement de serveur est incomplète. Si vous modifiez cette occurrence de comportement et que vous la réappliquez, le code manquant est inséré entre le code du participant test_A et celui de test_C. L'ordre des participants est ainsi conservé.

Enveloppement d'une sélection Certains comportements de serveur agissent sur un bloc de code sélectionné par l'utilisateur. Le comportement de serveur doit envelopper la sélection pour pouvoir en fait s'y conformer. Le comportement de serveur Afficher la région en est un exemple type. Si vous enveloppez la sélection avec deux balises, vous créez deux participants XML. Si vous utilisez une seule balise, vous créez un seul participant.

1 Enveloppement d'une sélection à l'aide de deux balises distinctes

En environnement ASP ou JSP, il est fréquent d'envelopper la sélection avec deux balises distinctes, comme suit :

<% if (expression) { // tag1 mySBName %>Random HTML selection here

<% } // tag2 end mySBName %>

Pour envelopper une sélection à l'aide des fichiers XML, créez deux participants, le premier avec la valeur d'emplacement location="beforeSelection" et le deuxième avec location="afterSelection". Répertoriez ensuite les deux participants, selon l'ordre dans lequel ils se trouvent dans le fichier XML groupe.

Chapitre 11122

Page 123: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2 Enveloppement d'une sélection à l'aide d'une seule balise

Une autre technique permet d'envelopper la sélection à l'aide d'une seule balise. Par exemple, en environnement Cold Fusion, vous pouvez envelopper la sélection à l'aide d'une balise CFIF :

<CFIF expression EQ true>Random HTML selection here

</CFIF>

Dans ce cas, comme il n'y a qu'une seule balise à ajouter, définissez location="wrapSelection" et insertText d'après la balise toute entière, comme suit :

<insertText location="wrapSelection"><![CDATA[<CFIF expression EQ true></CFIF>]]>

</insertText>

Remarque : UltraDev équilibre la sélection avant d'appliquer ce comportement de serveur. Si la sélection contient une balise d'ouverture sans la balise de fermeture correspondante, elle est étendue pour renfermer l'ensemble de la balise.

Gestion des attributs Un comportement de serveur peut contenir des participants qui sont simplement la valeur d'un attribut. Par exemple, pour qu'un comportement de serveur représente une valeur dynamique, il peut être nécessaire de définir l'attribut ACTION d'une balise FORM, comme suit :

<FORM ACTION="<%=MY_URL%>">

Pour ce faire, il suffit de définir location="nodeAttribute+ACTION". Voici une éventuelle représentation de insertText :

<insertText location="nodeAttribute+action" ¬nodeParamName="form__tag">

<![CDATA[<%=MY_URL%>]]></insertText>

Remarque : l'attribut nodeParamName contient le nom du paramètre utilisé pour transmettre un pointeur à une balise de formulaire. Si l'attribut ACTION ne figure pas déjà dans le formulaire, il y est ajouté. Lorsque le comportement de serveur est supprimé, l'attribut ACTION dans son ensemble disparaît. Pour que seule la valeur de l'attribut soit éliminée lors de la suppression, ajoutez une balise de suppression au fichier XML participant, puis définissez-la afin qu'elle supprime innerOnly, comme suit :

<delete deleteType="innerOnly" />

Vous pouvez éventuellement gérer un autre type d'attribut, c'est-à-dire un attribut qui existe en tant que balise de serveur à l'intérieur d'une autre balise. Supposons, par exemple, que vous souhaitiez ajouter un attribut conditionnel pour activer une case à cocher. En environnement ASP, voici ce que cela pourrait donner :

<input type="checkbox" name="flag1" ¬<%if(expr)Response.Write("checked")%> >

Comportements de serveur 123

Page 124: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour ajouter ce code ASP à l'intérieur d'une balise, utilisez location="nodeAttribute". Aucun attribut n'étant nommé, il est ajouté directement à la balise. Comme dans l'exemple ci-dessus, un pointeur est transmis à une balise de saisie. Exemple :

<insertText location="nodeAttribute" nodeParamName="input__tag"><![CDATA[<%if(expr)Response.Write("checked")%>]]>

</insertText>

Dans ce cas, seule la balise ASP entière est ajoutée ou supprimée ; une balise de suppression s'avère donc inutile.

Recherche des comportements de serveur

Rédaction de profils de recherche Pour que des comportements de serveur soient mis à jour ou supprimés, vous devez fournir à UltraDev les moyens de trouver chaque occurrence dans un document. Pour cela, une balise quickSearch et au moins une balise searchPattern (contenue dans la balise searchPatterns) sont requises.

La balise quickSearch doit être une chaîne (et non une expression régulière) indiquant l'éventuelle existence du comportement de serveur sur la page. Elle respecte la casse. Elle doit être courte et unique et ne contenir aucun espace ni autre section susceptible d'être modifiée par l'utilisateur. Supposons, par exemple, que le participant soit composé de la simple balise ASP :

<% if (Recordset1.EOF) Response.Redirect("some_url_here") %>

La chaîne quickSearch à consulter pourrait être représentée comme suit :

<quickSearch>Response.Redirect</quickSearch>

Pour des raisons de performances, le processus de recherche des occurrences de comportement de serveur commence par le profil quickSearch. Si cette chaîne figure dans le document et que le participant identifie un comportement de serveur (dans le fichier groupe, partType="identifier" pour ce participant), les fichiers associés sont alors chargés et la fonction findServerBehaviors() est appelée. A défaut de chaînes fiables à rechercher dans le participant (ou pour des raisons de débogage), vous pouvez laisser la chaîne quickSearch vide :

<quickSearch></quickSearch>

Dans ce cas, le comportement de serveur est toujours chargé et la recherche du document exécutée.

Chapitre 11124

Page 125: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La balise searchPattern est ensuite utilisée pour analyser plus minutieusement le document et pour extraire des valeurs de paramètre du code du participant. Les profils de recherche spécifient l'emplacement de la recherche (l'attribut whereToSearch) et exploitent une série de balises searchPattern contenant des profils spécifiques. Ces profils peuvent utiliser de simples chaînes ou des expressions régulières. Le code de l'exemple précédent est une directive ASP, à savoir whereToSearch="directive", et une expression régulière identifie la directive et extrait les paramètres, comme suit :

<quickSearch>Response.Write</quickSearch><searchPatterns whereToSearch="directive">

<searchPattern paramNames="rs,new__url">/if\s*\((\w+)\.EOF\)\s*Response\.Redirect\("(.+)"/i

</searchPattern></searchPatterns>

La chaîne recherchée est définie comme une expression régulière, commençant et finissant par une barre oblique et suivie d'un i pour éliminer le respect de la casse. Dans l'expression régulière, les caractères spéciaux (parenthèses, points, etc.) sont évités en les faisant précéder d'une barre oblique inverse. Les deux paramètres rs et new__url sont extraits de la chaîne à l'aide de sous-expressions entre parenthèses (les paramètres doivent être entre parenthèses). Ici, ils sont indiqués par (\w+) et (.+). Ces valeurs correspondent aux valeurs des expressions régulières normalement renvoyées par \1 et \2.

Profils de recherche facultatifs Il arrive parfois que vous vouliez identifier un participant, en dépit de paramètres demeurés introuvables. Un des participants peut éventuellement stocker des informations facultatives, telles qu'un numéro de téléphone. Supposons, par exemple, le code ASP :

<% //address blockLNAME = "joe";FNAME = "smith";PHONE = "123-4567";

%>

Les profils de recherche peuvent se présenter comme suit :

<quickSearch>address</quickSearch><searchPatterns whereToSearch="directive">

<searchPattern paramNames="lname">/LNAME\s*=\s*"(.*)"/i¬</searchPattern><searchPattern paramNames="fname">/FNAME\s*=\s*"(.*)"/i¬</searchPattern>

<searchPattern paramNames="phone">/PHONE\s*=\s*"(.*)"/i¬</searchPattern></searchPatterns>

Comportements de serveur 125

Page 126: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Si le numéro de téléphone n'est pas spécifié, comme dans :

<% //address blockLNAME = "joe";FNAME = "smith";

%>

c'est le participant tout entier qui ne sera pas reconnu. Pour résoudre ce problème, rendez searchPattern facultative en lui ajoutant l'attribut isOptional, comme suit :

<quickSearch>address</quickSearch><searchPatterns whereToSearch="directive">

<searchPattern paramNames="lname">/LNAME\s*=\s*"(.*)"/i¬</searchPattern><searchPattern paramNames="fname">/FNAME\s*=\s*"(.*)"/i¬</searchPattern><searchPattern paramNames="phone" isOptional="true">¬/PHONE\s*=\s*"(.*)"/i</searchPattern>

</searchPatterns>

A présent, le participant sera reconnu, que le numéro de téléphone soit trouvé ou non.

Mode de comparaison des participants Si un comportement de serveur comporte plusieurs participants, ils doivent être identifiés dans le document utilisateur et comparés les uns aux autres. Si l'utilisateur applique plusieurs occurrences du comportement de serveur à un document, chaque groupe de participants doit être comparé comme il se doit. Pour que la comparaison des participants s'effectue correctement, vous devez éventuellement modifier ou ajouter des paramètres, puis créer des participants qui soient identifiables de façon unique.

Voici les règles de fonctionnement de cette comparaison : les participants sont comparés quand l'ensemble des paramètres disposant du même nom ont la même valeur. Au-dessus et en dessous de la balise <HTML> ne peut figurer qu'une seule occurrence d'un participant, avec un jeu donné de valeurs de paramètre. Entre les balises <HTML>...</HTML>, les participants concordent également en fonction de leur position par rapport à la sélection ou aux Nudss communs utilisés pour l'insertion.

Les participants sans paramètres concordent automatiquement. Supposons, par exemple, qu'un comportement de serveur avec un fichier groupe :

<group serverBehavior="test.htm"><title>Test</title><groupParticipants>

<groupParticipant name="test_p1" partType="identifier" /><groupParticipant name="test_p1" partType="identifier" />

</groupParticipants></group>

Chapitre 11126

Page 127: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

puisse insérer deux participants simples au-dessus de la balise HTML, comme suit :

<% //test_p1 %><% //test_p2 %><html>

Ces participants sont localisés, puis comparés les uns aux autres et le mot Test s'affiche une fois dans le panneau Comportements de serveur. Si vous ajoutez de nouveau ce comportement de serveur, rien n'est ajouté étant donné que les participants existent déjà.

Si les paramètres des participants sont uniques, de multiples occurrences peuvent être insérées au-dessus de la balise <HTML>. Par exemple, en ajoutant un paramètre de nom au participant, un utilisateur peut saisir un nom unique dans la boîte de dialogue du comportement de serveur Test. S'il saisit le nom « aaa », les participants suivants seront insérés :

<% //test_p1 name="aaa" %><% //test_p2 name="aaa" %><html>

Si vous ajoutez de nouveau le comportement de serveur et saisissez un autre nom, soit « bbb », le document se présentera comme suit :

<% //test_p1 name="aaa" %><% //test_p2 name="aaa" %><% //test_p1 name="bbb" %><% //test_p2 name="bbb" %><html>

et deux occurrences du mot Test seront répertoriées dans le panneau Comportements de serveur. Si l'utilisateur tente d'ajouter une troisième occurrence à la page et qu'il la nomme « aaa », rien n'est ajouté étant donné qu'elle existe déjà.

Dans la balise <HTML>, le processus de concordance peut également avoir recours à des informations de position. Supposons, par exemple, deux participants, l'un ajouté avant la sélection et l'autre après, comme suit :

<% if (expression) { //mySBName %>Random HTML selection here

<% } //end mySBName %>

Comportements de serveur 127

Page 128: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Ces deux participants ne sont pourvus d'aucun paramètre et sont donc regroupés. Il est toutefois possible d'ajouter une autre occurrence de ce comportement de serveur ailleurs dans le code HTML, comme suit :

<% if (expression) { //mySBName %>Random HTML selection here

<% } //end mySBName %>More HTML here...

<% if (expression) { //mySBName %>Another HTML selection here

<% } //end mySBName %>

A présent, les deux occurrences de chaque participant sont identiques (chose permise dans le code HTML) et sont comparées selon l'ordre dans lequel elles apparaissent dans le document.

Voici un exemple type d'un problème de concordance et des solutions possibles pour l'éviter. Imaginons que vous désiriez créer un participant capable de calculer la taxe de certaines données dynamiques et d'afficher le résultat à la sélection. Exemple :

<% total = Recordset1.Fields.Item("itemPrice").Value * 1.0825 %><html><body>

The total (with taxes) is $<%=total%></body></html>

Les deux participants concordent car ils n'ont aucun paramètre en commun. Toutefois, si vous ajoutez une deuxième occurrence de ce comportement de serveur, vous pouvez avoir :

<% total = Recordset1.Fields.Item("itemPrice").Value * 1.0825 %><% total = Recordset1.Fields.Item("salePrice").Value * 1.0825 %><html><body>

The total (with taxes) is $<%=total%>Sale price (with taxes) is $<%=total%>

</body></html>

Chapitre 11128

Page 129: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Ce comportement de serveur ne fonctionne plus correctement, car un seul paramètre est nommé total. Pour résoudre le problème, vérifiez qu'il existe bien un paramètre dont la valeur est unique pouvant être utilisé pour comparer les participants. Dans cet exemple, vous pouvez faire en sorte que le nom de la variable total soit unique en utilisant le nom de la colonne et avoir :

<% itemPrice_total = Recordset1.Fields.Item("itemPrice").¬Value * 1.0825 %><% salePrice_total = Recordset1.Fields.Item("salePrice").¬Value * 1.0825 %><html><body>

The total (with taxes) is $<%=itemPrice_total%>Sale price (with taxes) is $<%=salePrice_total%>

</body></html>

A présent, les profils de recherche peuvent identifier de façon unique et comparer les participants.

Mise à jour des comportements de serveur

Mise à jour des participants Par défaut, aucune balise <updatePatterns> ne figure dans les fichiers XML participants et les occurrences du participant sont mises à jour dans le document par un remplacement complet. Lorsqu'un utilisateur modifie un comportement de serveur existant et clique sur OK, tout participant contenant un paramètre dont la valeur a changé sera supprimé, puis rajouté au même endroit.

Si l'utilisateur personnalise le code du participant dans le document, le participant peut ne plus être reconnu car les profils de recherche recherchent l'ancien code. Des profils de recherche plus courts permettent à l'utilisateur de personnaliser le code du participant dans le document ; toutefois, la mise à jour de l'occurrence du comportement de serveur risque d'entraîner le remplacement du participant et la perte des modifications personnalisées.

Mise à jour de précision Dans certains cas, il peut s'avérer préférable de laisser l'utilisateur personnaliser le code du participant après insertion dans le document. Pour ce faire, il suffit de limiter les profils de recherche et de fournir des profils de mise à jour dans le fichier XML. Une fois le participant ajouté à la page, seules quelques parties spécifiques seront mises à jour par le comportement de serveur. Supposons, par exemple, un simple participant doté de deux paramètres :

<% if (Recordset1.EOF) Response.Redirect("some_url_here") %>

Comportements de serveur 129

Page 130: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Les profils de recherche peuvent se présenter comme suit :

<quickSearch>Response.Write</quickSearch><searchPatterns whereToSearch="directive">

<searchPattern paramNames="rs,new__url">/if\s*\((\w+)\.EOF\)\s*Response\.Redirect\("(.+)"/i

</searchPattern></searchPatterns>

Le cas échéant, l'utilisateur peut ajouter un autre test à une occurrence particulière de ce code, par exemple :

<% if (Recordset1.EOF || x > 2) Response.Redirect("some_url_here") %>

A présent, les profils de recherche échouent (ils recherchent une parenthèse après EOF). Pour rendre les profils de recherche plus flexibles, vous pouvez les raccourcir en les partageant :

<quickSearch>Response.Write</quickSearch><searchPatterns whereToSearch="directive">

<searchPattern paramNames="rs">/(\w+)\.EOF/</searchPattern><searchPattern paramNames="new__url">

/if\s*\(.+\)\s*Response\.Redirect\("(.*)"/i</searchPattern>

</searchPatterns>

Ces profils de recherche étant plus souples, l'utilisateur peut effectuer des ajouts au code. Toutefois, s'il utilise le comportement de serveur pour modifier l'URL, lorsqu'il clique sur OK, le participant est remplacé et ses personnalisations sont perdues. Pour des mises à jour plus précises, ajoutez une balise updatePatterns et un profil pour la mise à jour de chaque paramètre :

<updatePatterns><updatePattern paramNames="rs">/(\b)\w+(\.EOF)/¬</updatePattern><updatePattern paramNames="new__url">

/(Response\.Redirect\(").*(")/i</updatePattern>

</updatePatterns>

Dans les profils de mise à jour, les parenthèses sont inversées et placées autour du texte avant et après le paramètre. Pour les profils de recherche, utilisez textBeforeParam(param)textAfterParam. Pour les profils de mise à jour, utilisez (textBeforeParam)param(textAfterParam). Tout ce qui se trouve entre les deux sous-expressions entre parenthèses sera remplacé par la nouvelle valeur du paramètre.

Chapitre 11130

Page 131: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Suppression de comportements de serveur

Suppression par défaut et comptes de dépendance L'utilisateur peut supprimer une occurrence qu'il a sélectionnée dans le panneau Comportements de serveur en cliquant sur le bouton Moins (-) ou en appuyant sur la touche Suppr du clavier. Sont éliminés tous les participants, hormis ceux qui sont communs à d'autres comportements de serveur. Notamment, si plusieurs comportements de serveur ont un pointeur de participant relié au même Nuds, le Nuds ne sera pas supprimé.

Par défaut, vous supprimez les participants en éliminant la balise entière. Si l'emplacement d'insertion correspond à "wrapSelection", seule la balise extérieure est supprimée. La déclaration d'attribut dans son ensemble est supprimée. Supposons, par exemple, un participant sur l'attribut ACTION d'une balise de formulaire, comme suit :

<form action="<% my_participant %>">

Après la suppression, il ne reste plus que :

<form>

Utilisation d'indicateurs pour limiter la suppression des participants Il s'avère parfois utile de limiter la façon dont les participants sont supprimés. Pour cela, il suffit d'ajouter une balise de suppression (delete) au fichier XML. Supposons, par exemple, un participant correspondant à l'attribut HREF d'un lien, comme suit :

<a href="<%=MY_URL%>">Link Text</a>

Lorsque ce participant d'attribut est supprimé, la balise devient :

<a>Link Text</a>

qui n'apparaît plus sous forme de lien dans Dreamweaver. Vous pouvez éventuellement ne supprimer que la valeur de l'attribut, en ajoutant la balise suivante au fichier XML participant :

<delete deleteType="innerOnly"/>

Vous pouvez aussi éliminer la balise entière lorsque l'attribut est supprimé. La chaîne au départ est la suivante :

<delete deleteType="tagOnly"/>

et le texte résultant (après la suppression) est :

Link Text

Simplification des comportements de serveurfindSBs(), applySB() et deleteSB() sont trois fonctions auxiliaires à votre disposition pour la création de comportements de serveur. Vous les appelez à partir des fonctions API de comportement de serveur. Vous devez également créer des fichiers XML, utilisés par les fonctions pour les données d'exécution.

Comportements de serveur 131

Page 132: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

findSBs()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Cette fonction recherche toutes les occurrences d'un comportement de serveur sur la page en cours, ainsi que tous les participants. Elle définit le titre, le type, les tableaux des participants, des poids et des types, l'attribut selectedNode et l'indicateur « incomplete ». Elle crée également un objet de paramètre contenant une liste de propriétés définissables par l'utilisateur (le nom d'un jeu d'enregistrements et le nom d'une colonne, par exemple). Renvoyez ce tableau depuis la fonction findServerBehaviors().

Arguments

serverBehaviorTitle est une chaîne de titre facultative utilisée pour remplacer le titre XML. Utile pour la localisation. Voir « Schéma XML de comportement de serveur », page 145 pour plus de détails.

Valeurs renvoyées

Un tableau d'objets JavaScript, avec les propriétés requises définies. Cette fonction renvoie un tableau vide si les fichiers XML groupes se réfèrent au comportement de serveur appelant.

Exemple

Le code suivant recherche dans le document utilisateur en cours toutes les occurrences d'un comportement de serveur particulier :

function findServerBehaviors() {allMySBs = findSBs();return allMySBs;

}

Chapitre 11132

Page 133: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

et renvoie le tableau suivant, étant donné deux comportements de serveur dans le document utilisateur :

allMySBs[0].title = "Redirect If Empty (Recordset1)"allMySBs[0].type = "redirectIfEmpty";allMySBs[0].selectedNode = true;allMySBs[0].incomplete = false;allMySBs[0].participants[0] = someAspNodePointer;allMySBs[0].weights[0] = aboveHTML+51;allMySBs[0].types[0] = "redirectIfEmpty_main";allMySBs[0].parameters.rs = "Recordset1";allMySBs[0].parameters.url = "http:www.yahoo.com"; allMySBs[1].title = "Redirect If Empty (Recordset2)"allMySBs[1].type = "redirectIfEmpty";allMySBs[1].selectedNode = true;allMySBs[1].incomplete = false;allMySBs[1].participants[0] = someAspNodePointer;allMySBs[1].weights[0] = 51;allMySBs[1].types[0] = "redirectIfEmpty_main";allMySBs[1].parameters.rs = "Recordset2";allMySBs[1].parameters.url = "http://www.excite.com";

applySB()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Cette fonction insère ou met à jour le code d'exécution du comportement de serveur. Si le paramètre sbObj est null, la fonction insère un nouveau code d'exécution ; dans le cas contraire, elle met à jour le code d'exécution existant indiqué par l'objet sbObj. Définissez les paramètres utilisateur sous la forme de propriétés sur un objet JavaScript, puis transmettez-les en tant que paramObj. Ils doivent correspondre à tous les paramètres déclarés sous la forme @@paramName@@ dans le texte d'insertion XML. Si un participant dépend d'un pointeur de Nuds (tel que le poids d'insertion relatif à un Nuds), une propriété nameTag doit être définie.

Arguments

sbObj, paramObj

• sbObj est l'occurrence de l'objet du comportement de serveur à ajouter au document utilisateur.

• paramObj est l'objet contenant les paramètres utilisateur.

Comportements de serveur 133

Page 134: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

true si le comportement de serveur a été correctement ajouté au document utilisateur ; false dans le cas contraire.

Exemple

Dans l'exemple suivant, vous renseignez l'objet paramObj avec les données de l'utilisateur, puis vous appelez la fonction applySB et transmettez les données et votre comportement de serveur, sbObj.

function applyServerBehaviors(sbObj) {

// get all UI values here...paramObj = new Object();paramObj.rs = rs;paramObj.col = col;paramObj.formFields = ....;paramObj.url = new__url;paramObj.form__tag = formObj;

applySB(paramObj, sbObj);}

deleteSB()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Cette fonction supprime tous les participants de l'occurrence du comportement de serveur sbObj. Le participant dans son ensemble est supprimé, à moins que le fichier XML n'indique des instructions de suppression spéciales à l'aide de la balise <delete>. Elle ne supprime pas les participants appartenant à plusieurs occurrences de comportement de serveur (comptage de référence > 1).

Arguments

sbObj est l'occurrence de l'objet du comportement de serveur à supprimer du document utilisateur.

Valeurs renvoyées

Aucune.

Exemple

L'exemple suivant illustre la suppression de tous les participants du comportement de serveur sbObj, hormis ceux qui sont protégés par la balise <delete> du fichier XML.

function deleteServerBehavior(sbObj) {deleteSB(sbObj);

}

Chapitre 11134

Page 135: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

displayHelp()

Description

Si cette fonction est définie, un bouton Aide s'affiche sous les boutons OK et Annuler dans la boîte de dialogue. Cette fonction est appelée lorsque l'utilisateur clique sur le bouton Aide.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction displayHelp() ouvre dans une fenêtre de navigateur un fichier contenant les instructions :

function displayHelp(){dreamweaver.browseDocument('http://www.hotwired.com/¬webmonkey/javascript/code_library/wm_pos2_elmnt_dw/¬?tw=javascript');

}

Comment appeler les fonctions API de comportement de serveurLes fonctions API de comportement de serveur sont appelées dans les situations suivantes :

• La fonction findServerBehaviors() est appelée à l'ouverture du document et à chaque fois qu'un participant est modifié. Elle recherche des occurrences du comportement de serveur dans le document utilisateur. Pour chaque occurrence trouvée, findServerBehaviors() crée un objet JavaScript et lui attache des informations d'état sous la forme de propriétés JavaScript.

Comportements de serveur 135

Page 136: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Lorsqu'elle est mise en œuvre, UltraDev appelle la fonction analyzeServerBehavior() pour chaque comportement trouvé dans le document utilisateur après que toutes les fonctions findServerBehaviors() ont été appelées.

Lorsque la fonction findServerBehaviors() crée un objet de comportement, elle définit normalement les quatre propriétés (incomplete, participants, selectedNode et title). Cependant, il est parfois plus facile de retarder la configuration de certaines des propriétés jusqu'à ce que tous les autres comportements de serveur aient trouvé des occurrences d'eux-mêmes. Par exemple, le comportement Déplacer vers l'enregistrement suivant est composé de deux participants : un objet lien et un objet jeu d'enregistrements. Au lieu de rechercher l'objet de jeu d'enregistrements dans sa fonction findServerBehaviors(), il est plus simple d'attendre que la fonction findServerBehaviors() du comportement du jeu d'enregistrements soit exécutée, car ledit jeu recherche toutes les occurrences de lui-même.

Lorsque la fonction analyzeServerBehavior() du comportement Déplacer vers l'enregistrement suivant est appelée, un tableau lui est transmis, contenant tous les comportements de serveur du document. La fonction peut rechercher l'objet de jeu d'enregistrements dans le tableau, puis ajouter ledit jeu à son tableau de participants.

En cours d'analyse, il arrive que deux comportements ou plus identifient une seule balise dans le document utilisateur comme étant une occurrence de ce comportement. Supposons, par exemple, que la fonction findServerBehaviors() pour le comportement Attribut dynamique détecte une occurrence du comportement Attribut dynamique associée à une balise <input> dans le document utilisateur. Simultanément, la fonction findServerBehaviors() pour le comportement Champ de texte dynamique a analysé la même balise <input> et détecté une occurrence du comportement Champ de texte dynamique.

Le panneau Comportements de serveur affiche alors à la fois le bloc Attribut dynamique et le comportement Champ de texte dynamique. Pour corriger ce problème, utilisez les fonctions analyzeServerBehavior() pour supprimer tous les comportements de serveur redondants sauf un.

Pour supprimer un comportement de serveur, une fonction analyzeServerBehavior() peut définir la propriété « deleted » dudit comportement sur la valeur true. Si la propriété deleted a toujours la valeur true lorsqu'UltraDev finit d'appeler les fonctions analyzeServerBehavior(), le comportement disparaît de la liste.

Chapitre 11136

Page 137: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Lorsque l'utilisateur clique sur le bouton Plus (+) du panneau Comportements de serveur, le menu contextuel s'affiche.

Pour déterminer le contenu du menu, UltraDev recherche d'abord un fichier ServerBehaviors.xml dans le même répertoire que celui des comportements. ServerBehaviors.xml fait référence aux fichiers HTML devant apparaître dans le menu.

Si le fichier HTML référencé contient une balise de titre (title), le contenu de cette balise s'affiche dans le menu. Par exemple, si le fichier ServerBehaviors/ASP/GetRecords.htm contient la balise <title>Get More Records</title>, le texte « Get More Records » s'affiche dans le menu.

Si le fichier ne contient pas de balise de titre, c'est le nom du fichier qui apparaît dans le menu. Par exemple, si GetRecords.htm ne contient pas de balise de titre, GetRecords s'affiche dans le menu.

S'il n'y a pas de fichier ServerBehaviors.xml ou si le répertoire contient un ou plusieurs fichiers HTML non mentionnés dans ServerBehaviors.xml, UltraDev recherche une balise « title » dans chaque fichier et fait figurer dans le menu le nom de cette balise ou celui du fichier.

Si vous ne voulez pas qu'un fichier du répertoire ServerBehaviors s'affiche dans le menu, ajoutez l'instruction suivante sur la première ligne du fichier HTML :

<!-- MENU-LOCATION=NONE -->

Remarque : pour qu'un fichier du répertoire ServerBehaviors s'applique à un seul langage de script spécifique, ajoutez l'instruction suivante de manière à ce qu'elle devienne la première ligne du fichier HTML :

<!-- SCRIPTING-LANGUAGE=XXX -->

où XXX correspond au langage de script. Cette instruction provoque l'apparition du comportement de serveur dans le menu Plus (+) du panneau Comportements de serveur, seulement quand le langage de script sélectionné est XXX.

• La fonction canApplyServerBehavior() est appelée lorsque l'utilisateur sélectionne un élément dans le menu. Si cette fonction renvoie la valeur true, une boîte de dialogue s'affiche. Lorsque l'utilisateur clique sur OK, la fonction applyServerBehavior() est appelée.

• Si l'utilisateur double-clique sur un comportement de serveur existant pour le modifier, UltraDev affiche la boîte de dialogue, exécute le gestionnaire onLoad sur la balise BODY (si elle existe), puis appelle inspectServerBehavior(). La fonction inspectServerBehavior() renseigne les éléments du formulaire avec les valeurs des paramètres en cours. Lorsque l'utilisateur clique sur OK, UltraDev appelle à nouveau la fonction applyServerBehavior().

Comportements de serveur 137

Page 138: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Si l'utilisateur clique sur le bouton Moins (-), la fonction deleteServerBehavior() est appelée. La fonction deleteServerBehavior() supprime les comportements correspondants du document.

• Lorsque l'utilisateur sélectionne un comportement de serveur et appuie sur Ctrl+C (ou Ctrl+X), UltraDev transmet l'objet représentant le comportement de serveur à sa fonction copyServerBehavior(). La fonction copyServerBehavior() ajoute à l'objet de comportement les propriétés supplémentaires nécessaires à son collage ultérieur.

Une fois la fonction copyServerBehavior() renvoyée, UltraDev convertit l'objet de comportement en un formulaire qui peut être placé dans le Presse-papiers. Pendant la conversion de l'objet, UltraDev supprime toutes les propriétés faisant référence à des objets ; toute propriété de l'objet autre qu'un nombre, un opérateur booléen ou une chaîne est perdue.

Lorsque l'utilisateur appuie sur Ctrl+V, UltraDev décompresse le contenu du Presse-papiers et génère un nouvel objet de comportement de serveur. Ce nouvel objet est identique à l'original, sauf qu'il ne contient aucune propriété faisant référence à des objets. UltraDev transmet le nouvel objet de comportement à pasteServerBehavior(). La fonction pasteServerBehavior() ajoute le comportement au document utilisateur. Une fois la fonction pasteServerBehavior() renvoyée, UltraDev appelle les fonctions findServerBehaviors() pour obtenir la nouvelle liste des comportements de serveur présents dans le document utilisateur.

Les utilisateurs peuvent copier et coller des comportements d'un document à un autre. En fait, ils peuvent copier et coller des comportements d'une session à une autre, c'est-à-dire copier un comportement, quitter UltraDev, redémarrer UltraDev, puis coller le comportement. Pour échanger des informations, les fonctions copyServerBehavior() et pasteServerBehavior() doivent se baser uniquement sur les propriétés de l'objet de comportement.

API de comportement de serveurLes fonctions suivantes sont les API que vous pouvez utiliser pour créer des comportements de serveur. Pour vous simplifier la tâche, imbriquez des fonctions *SB() à l'intérieur de ces fonctions et créez des fichiers XML. Pour plus d’informations, voir « Simplification des comportements de serveur », page 131.

analyzeServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Chapitre 11138

Page 139: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Cette fonction permet aux comportements de serveur de définir leurs indicateurs sur les valeurs incomplete et deleted.

Une fois la fonction findServerBehaviors() appelée pour tous les comportements de serveur sur la page, un tableau de tous les comportements s'affiche dans le document utilisateur. Pour chaque objet JavaScript présent dans le tableau, la fonction analyzeServerBehavior() est appelée. Par exemple, pour le comportement Texte dynamique, UltraDev appelle la fonction analyzeServerBehavior() dans DynamicText.htm (ou DynamicText.js).

La fonction analyzeServerBehavior() a notamment pour but de terminer la définition de toutes les propriétés (incomplete, participants, selectedNode et title) sur l'objet de comportement (il est parfois plus facile d'exécuter cette tâche après que findServerBehaviors() a généré une liste exhaustive des comportements de serveur présents dans le document utilisateur).

L'autre but de la fonction analyzeServerBehavior() est de rechercher si plusieurs comportements se réfèrent à la même balise dans le document utilisateur. Dans ce cas, la propriété deleted est utilisée pour supprimer du tableau tous les comportements sauf un.

Voici un exemple de la manière dont analyzeServerBehavior() fonctionne :

Supposons trois comportements de serveur sur une page : Recordset1, DynamicText1 et DynamicText2. Pour que la liste soit considérée comme exhaustive, les deux comportements de serveur DynamicText requièrent Recordset1 pour exister sur la page. Après que findServerBehaviors() a repéré les trois comportements de serveur, la fonction analyzeServerBehavior() est appelée pour les trois comportements trouvés. Lorsque la fonction analyzeServerBehavior() est appelée pour DynamicText1, elle inspecte le tableau de tous les objets de comportement de serveur présents sur la page, à la recherche de celui qui appartient à Recordset1. Si elle ne trouve pas l'objet JavaScript de comportement de serveur qui appartient à Recordset1, la propriété incomplete est affectée de la valeur true et un point d'exclamation est affiché dans le panneau Comportements de serveur, indiquant à l'utilisateur qu'il y a un problème. De même, lorsque la fonction analyzeServerBehavior() est appelée pour DynamicText2, elle recherche l'objet JavaScript appartenant à Recordset1. Comme Recordset1 ne dépend d'aucun autre comportement de serveur, il n'a pas besoin de définir la fonction analyzeServerBehavior() dans cet exemple.

Arguments

behavior, [behaviorArray]

• behavior est un objet JavaScript représentant le comportement à analyser.

• [behaviorArray] est un tableau d'objets JavaScript représentant l'ensemble des comportements de serveur trouvés sur une page.

Valeurs renvoyées

Aucune.

Comportements de serveur 139

Page 140: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

applyServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Cette fonction consulte les valeurs des éléments de formulaire dans la boîte de dialogue et ajoute le comportement au document utilisateur. UltraDev appelle cette fonction lorsque l'utilisateur clique sur OK dans la boîte de dialogue Paramètres. Si la fonction est exécutée avec succès, la boîte de dialogue Paramètres est fermée. Si elle échoue, la boîte de dialogue Paramètres reste ouverte et un message d'erreur s'affiche à l'écran. Cette fonction peut modifier un document utilisateur.

Voir également « applySB() », page 133.

Arguments

serverBehavior ou null

serverBehavior est un objet JavaScript représentant le comportement de serveur ; transmis s'il modifie un comportement existant. S'il s'agit d'un nouveau comportement, transmet la valeur null.

Valeurs renvoyées

Une chaîne vide en cas de succès. Si la fonction échoue, la boîte de dialogue Paramètres reste ouverte et un message d'erreur s'affiche à l'écran.

canApplyServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Cette fonction détermine si un comportement peut être appliqué. UltraDev appelle cette fonction avant d'afficher la boîte de dialogue Paramètres. Si la fonction renvoie la valeur true, la boîte de dialogue Paramètres s'affiche à l'écran. Si elle renvoie false, la boîte de dialogue Paramètres ne s'affiche pas et la tentative d'ajout d'un comportement de serveur est interrompue.

Arguments

behavior ou null

behavior est un objet JavaScript représentant le comportement ; transmis s'il modifie un comportement existant. S'il s'agit d'un comportement existant, transmet la valeur null.

Valeurs renvoyées

true si le comportement peut être appliqué, sinon false.

Chapitre 11140

Page 141: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

copyServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Lorsqu'elle est mise en œuvre, cette fonction permet aux utilisateurs de copier des occurrences du comportement de serveur spécifié. Elle est mise en œuvre pour les jeux d'enregistrements, par exemple. Lorsqu'un utilisateur sélectionne un jeu d'enregistrements dans les panneaux Comportements de serveur ou Liaisons de données, il appuie sur les touches Ctrl+C pour copier le comportement dans le Presse-papiers ou sur Ctrl+X pour le couper. Ctrl+C et Ctrl+X n'ont aucun effet sur les comportements de serveur qui ne mettent pas en œuvre cette fonction. L'utilisation de copyServerBehavior() n'est pas obligatoire. Pour plus d'informations, voir « Comment appeler les fonctions API de comportement de serveur », page 135.

Pour échanger des informations, les fonctions copyServerBehavior() et pasteServerBehavior() doivent uniquement se baser sur les propriétés de l'objet de comportement capables d'être converties en chaînes. Le Presse-papiers ne contient que du texte brut ; il est, pour cette raison, nécessaire de résoudre les Nudss participant dans le document et d'enregistrer le texte brut qui en résulte dans une propriété secondaire.

Remarque : il est également important de mettre en œuvre la fonction pasteServerBehavior() pour permettre à l'utilisateur de coller le comportement dans un document UltraDev.

Arguments

behavior est un objet JavaScript représentant le comportement.

Valeurs renvoyées

true si le comportement a été copié avec succès dans le Presse-papiers, sinon false.

deleteServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Cette fonction supprime le comportement du document utilisateur. Elle est appelée lorsque l'utilisateur clique sur le bouton Moins (-) du panneau Comportements de serveur. Elle permet de modifier un document utilisateur.

Voir également « deleteSB() », page 134.

Comportements de serveur 141

Page 142: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

behavior est un objet JavaScript représentant le comportement.

Valeurs renvoyées

Aucune.

findServerBehaviors()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Cette fonction parcourt le document utilisateur à la recherche d'occurrences d'elle-même. Pour chaque occurrence trouvée, findServerBehaviors() crée un objet JavaScript et lui attache des informations d'état sous la forme de propriétés JavaScript. Les quatre propriétés requises sont incomplete, participants, title et selectedNode. Vous pouvez définir d'autres propriétés en fonction de vos besoins. UltraDev appelle cette fonction après l'exécution d'un traducteur ou chaque fois qu'un participant est modifié. Pour plus d'informations sur les traducteurs de données, voir « Mode de fonctionnement des traducteurs de données ».

Voir également « findSBs() », page 132 et « dw.getParticipants() », page 143.

Arguments

Aucun.

Valeurs renvoyées

Un tableau d'objets JavaScript ; la longueur du tableau correspond au nombre d'occurrences du comportement trouvées dans la page.

inspectServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Cette fonction détermine les paramètres de la boîte de dialogue Paramètres en fonction de l'objet de comportement spécifié. UltraDev appelle cette fonction lorsqu'un utilisateur affiche la boîte de dialogue Paramètres, uniquement si celui-ci modifie un comportement existant.

Arguments

behavior est un objet JavaScript représentant le comportement. Il s'agit du même objet que celui renvoyé par findServerBehaviors() (appelée à l'ouverture du document).

Valeurs renvoyées

Aucune.

Chapitre 11142

Page 143: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

pasteServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Lorsqu'elle est mise en œuvre, cette fonction permet aux utilisateurs de coller des occurrences du comportement de serveur spécifié. Elle est utilisée avec copyServerBehavior(). Lorsque l'utilisateur appuie sur les touches Ctrl+V pour coller le comportement de serveur, UltraDev décompresse le contenu du Presse-papiers et génère un nouvel objet de comportement. Ce nouvel objet est identique à l'original, sauf qu'il ne contient aucune propriété de pointeur. UltraDev transmet le nouvel objet de comportement à pasteServerBehavior(). La fonction pasteServerBehavior() se base sur les propriétés de l'objet de comportement pour déterminer ce qui doit être ajouté au document utilisateur. La fonction pasteServerBehavior() ajoute ensuite le comportement au document utilisateur. Une fois la fonction pasteServerBehavior() renvoyée, UltraDev appelle les fonctions findServerBehaviors() pour obtenir la nouvelle liste des comportements de serveur présents dans le document utilisateur.

La mise en œuvre de la fonction pasteServerBehavior() n'est pas obligatoire. Pour plus d'informations, voir « Comment appeler les fonctions API de comportement de serveur », page 135.

Remarque : si vous implémentez cette fonction, vous devez également implémenter la fonction copyServerBehavior().

Arguments

behavior est un objet JavaScript représentant le comportement.

Valeurs renvoyées

true si le comportement a été collé avec succès depuis le Presse-papiers, sinon false.

dw.getParticipants()

Disponibilité

Dreamweaver UltraDev 4.0

Description

La fonction JavaScript dw.getParticipants() répertorie les participants présents dans le document utilisateur. Une fois tous les participants du comportement trouvés, UltraDev mémorise ces listes de participants au niveau interne. En général, vous utilisez cette fonction avec findServerBehaviors() pour repérer les occurrences d'un comportement dans le document utilisateur.

Arguments

xmlFilename est le nom du fichier groupe ou participant qui contient les noms des participants à localiser dans le document utilisateur. Cette chaîne est le nom de fichier, sans le suffixe d'extension .xml.

Comportements de serveur 143

Page 144: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un tableau contenant toutes les occurrences du participant spécifié (ou, dans le cas d'un fichier groupe, une occurrence d'un participant dans le groupe) apparaissant dans le document utilisateur. Le tableau contient des objets JavaScript, avec un élément pour chaque occurrence de chaque participant trouvé dans le document utilisateur. Le tableau est trié selon l'ordre dans lequel les participants apparaissent dans le document. Chaque objet JavaScript présente les propriétés suivantes :

• participantNode : un pointeur relié au Nuds dans le document utilisateur et considéré comme participant.

• participantName : le nom du fichier XML du participant (moins le suffixe « .xml »).

• parameters : un objet JavaScript qui stocke toutes les paires paramètre/valeur (voir l'exemple).

Exemple

Etant donné un comportement avec un seul participant, nommé « SetSession.xml », supposons que le profil de recherche du participant recherche ce qui suit :

<% Session("@@parameterName@@") = "@@value@@" %>

Supposons également que le document utilisateur contienne deux occurrences du participant :

<% Session("User") = "Bob" %><% Session("Password" = "password" %>

Un appel à la fonction dw.getParticipants("SetSession") renvoie un tableau contenant deux éléments. Le premier élément présente les propriétés suivantes :

array[0].participantNode = ptrJsObj

Où ptrJsObj pointe vers un objet JavaScript dans le DOM du document utilisateur. Cet objet JavaScript correspond à la directive de script <% Session("User") = "Bob" %> :

array[0].participantName = "SetSession"array[0].parameters.parameterName = "User"array[0].parameters.value = "Bob"

Chapitre 11144

Page 145: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2

1

CHAPITRE 12

Schéma XML de comportement de

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .serveur

Le schéma XML UltraDev sépare votre code d'exécution de comportement de serveur en fonction de la façon dont UltraDev le déploie. Vous pouvez utiliser des fichiers XML pour indiquer à UltraDev comment insérer, rendre, trouver, mettre à jour et supprimer votre code d'exécution.

UltraDev accède à ces fichiers XML lorsque vous appelez les fonctions findSBs(), applySB() et deleteSB() dans votre fichier Comportement de serveur. Si vous créez un comportement de serveur entièrement nouveau, vous devez créer les fichiers XML requis par UltraDev pour pouvoir associer et déployer vos fonctions avec les données appropriées. Si vous modifiez un comportement de serveur créé dans l'éditeur de comportements de serveur UltraDev, il est possible que vous deviez également modifier les fichiers XML. Tandis que vous créez ou modifiez chaque fichier XML, vous devez maintenir les dépendances qui existent entre les composants XML.

Ce chapitre présente le schéma XML UltraDev et explique comment les fichiers XML Groupe et Participant sont construits pour créer et modifier la description des données de votre extension.

145

Page 146: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

eXtensible Markup Language (Langage de Marquage eXtensible)Un langage de marquage est un moyen de définir et de déterminer la structure d'un document. Il indique la façon dont les éléments sont organisés et non pas ce qui est présenté. Le langage XML (eXtensible Markup Language) est décrit par le W3C (World Wide Web Consortium ; http://www.w3.com/xml) comme un profil d'application du langage SGML (Standard Generalized Markup Language ; Langage de Marquage généralisé standard). XML a été qualifié de SGML simplifié, abrégé ou limité, mais son influence sur la conception d'applications est considérable. Contrairement au langage SGML, XML permet aux développeurs de créer leurs propres balises, puis de les regrouper dans une structure hiérarchique et de définir des règles d'utilisation de ces balises. XML change ainsi la façon dont les informations sont structurées et partagées sur Internet, entre les fournisseurs et entre les différents composants des environnements de développement à plusieurs niveaux. UltraDev, cependant, utilise XML pour effectuer des opérations bien spécifiques. C'est pourquoi il suffit de connaître le schéma et certaines règles de base pour pouvoir créer et modifier sans aucune difficulté des fichiers XML UltraDev.

Observation d'un fichier HTML

Vous pouvez utiliser votre connaissance de HTML, autre sous-ensemble de SGML, pour observer XML. Vous avez probablement construit des sections HTML similaires à ce qui suit :

<H1>Redwood Medical Group</H1><H2>Dr. Jon</H2>

<H3>Podiatry</H3><p>Dr. Jon is not taking new patients.</p>

Le Docteur Jon est membre du Groupe médical Redwood. Sa spécialité est la podologie. Il ne peut pas prendre de nouveaux patients. L'emploi de la balise <H1> indique que le Groupe médical Redwood est le plus haut niveau d'information présenté. La balise <H1>, cependant, ne distingue le Groupe médical Redwood d'aucun autre type d'informations qu'elle pourrait contenir. En d'autres termes, le jeu de balises <H1></H1> pourrait tout aussi bien contenir <H1>Groupe de Rock'n Roll Redwood</H1> et ainsi n'établir aucune distinction entre un groupe médical et un groupe de rock and roll. XML peut établir cette distinction.

Chapitre 12146

Page 147: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Observation d'un fichier XML

Voyez comment les mêmes informations pourraient être organisées dans un document XML :

<!-- Medical Group Data --><GROUP medical="Redwood Medical Group">

<PARTICIPANT Doctor="Dr. Jon"><SPECIALTY>Podiatry</SPECIALTY><AVAIL newPatients="false"/>

</PARTICIPANT></GROUP>

Le schéma XML spécifie les métadonnées des balises, c'est-à-dire la façon dont les données sont structurées et utilisées. Dans l'exemple précédent, un commentaire s'ouvre avec <!-- et se ferme avec -->. La balise <H1> est remplacée par une balise donnant des informations porteuses de sens sur la façon dont ce type de document organise ses données par rapport à un document contenant, par exemple, une liste de groupes de rock and roll. Le premier élément <GROUP> indique que les données sont classées par groupes. Le groupe contient des informations sur un groupe médical, le Groupe médical Redwood. La paire nom=valeur, medical="Redwood Medical Group", est un attribut. Un autre attribut est Doctor="Dr. Jon", qui indique que le PARTICIPANT Dr. Jon participe à ce groupe médical en tant que Docteur. La balise PARTICIPANT possède deux champs, SPECIALTY et AVAIL (disponibilité), contenant les valeurs Podiatry (podologie) et false, respectivement. Remarquez que la balise <AVAIL> n'a pas de balise de fermeture correspondante. Au lieu de cela, la balise se termine par un /> pour indiquer que le jeu de balises est complet.

L'organisation des données à l'intérieur de balises de métadonnées permet de faire correspondre les balises à d'autres sources de données. Les balises peuvent être reliées à des tableaux et à des champs de base de données. Dans cet exemple, les valeurs Redwood Medical Group et Dr. Jon pourraient être extraites d'une base de données.

Comme avec le code HTML, cet exemple donne une vue simplifiée d'un document XML. Si vous observez le schéma XML d'UltraDev, vous constaterez que les composants XML donnent les moyens d'implémenter un comportement de serveur. Vous n'aurez pas à créer de nouveaux jeux de balises, groupes ou règles. Vous devez comprendre les balises et les règles pour pouvoir utiliser les fichiers XML UltraDev pour créer, mettre à jour et déployer vos extensions de comportement de serveur.

Schéma XML de comportement de serveur 147

Page 148: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Schéma XML de comportement de serveur UltraDevLe schéma XML d'UltraDev structure les métadonnées par groupes et participants, comme dans la section précédente, mais les participants représentent des blocs de code et les groupes définissent les participants regroupés pour former un comportement de serveur individuel. Il existe deux types de fichiers XML correspondants : les fichiers Groupe et les fichiers Participant. Tous les fichiers résident dans le dossier Configuration/ExtensionData et, au-dessous de ce niveau, les dossiers peuvent être organisés en fonction des comportements de serveur que vous créez.

Fichiers Groupe

En général, les fichiers Groupe contiennent une liste de participants et les fichiers Participant comportent toutes les données sur les participants spécifiques au modèle de serveur. Les fichiers Participant peuvent être utilisés par plusieurs extensions.

Voici une vue de haut niveau du fichier XML Groupe UltraDev. Pour obtenir une liste complète des éléments et des attributs, reportez-vous à la section « Fichiers XML Groupe », page 153 plus avant dans ce chapitre.

<group serverBehavior="value"><title>value</title><groupParticipants selectParticipant="value">

<groupParticipant name="value" partType="value" /><groupParticipant name="value" partType="value" />...

</groupParticipants></group>

L'élément group déclare un attribut du type serverBehavior. value est le nom du fichier d'extension, par exemple, myExtension.htm (qui doit se trouver dans le dossier Configuration/ServerBehaviors). Dans la balise de bloc groupParticipants, chaque balise groupParticipant indique le fichier Participant XML contenant le bloc de code à insérer. La valeur de l'attribut name est le nom du fichier Participant moins l'extension .xml (par exemple, myJSPCode).

Fichiers Participant

Un participant représente un bloc de code unique sur la page, tel une balise de serveur, une balise HTML ou un attribut. Le fichier Participant décrit cet élément pour chaque modèle de serveur pris en charge, comme ASP/JavaScript, ASP/VBScript, JSP et ColdFusion. A l'intérieur de chaque spécification de modèle de serveur, il décrit l'élément en détail : comment l'insérer, le trouver et le mettre à jour.

Chapitre 12148

Page 149: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Remarque : bien que cela ne soit pas obligatoire, un participant peut décrire un bloc de code pour plus d'un modèle de serveur.

Pour pouvoir être utilisé par un comportement de serveur, le fichier Participant doit figurer dans le fichier Groupe, lequel définit le comportement de serveur particulier, et le comportement de serveur doit appeler les fonctions findSBs(), applySB() et deleteSB(). Un seul et même fichier Participant peut être partagé par plusieurs fichiers Groupe et par plusieurs comportements de serveur.

Si vous deviez expliquer à quelqu'un comment ajouter un comportement de serveur, par exemple un code d'exécution JSP, à un document, vous devriez lui donner des informations très détaillées, y compris le type de serveur à rechercher, l'endroit où insérer le code, ce à quoi le code ressemble et les paramètres devant être remplacés par les données utilisateur ou d'exécution. C'est ce que chaque fichier XML Participant décrit pour chaque bloc de code.

Le fichier XML Participant décrit les données suivantes à propos de votre comportement de serveur à l'aide de balises spécifiques à UltraDev :

• Le type de serveur

Exemple :

<implementation serverModel="JSP"> ... </implementation>

• Le code et l'endroit où placer l'occurrence unique. Ces informations sont définies par les paramètres de balise XML insertText et sont insérées par la fonction applySB().

Exemple :

<insertText location="aboveHTML"><!CDATA[

<%= //specific run-time code here %>]]>

</insertText>

• Comment reconnaître les occurrences figurant déjà sur la page. Ces occurrences sont recherchées par la fonction findSB().

Exemple :

<searchPatterns whereToSearch="directive"><searchPattern><!CDATA[/search pattern here/]]></

searchPattern><searchPattern><!CDATA[/another search pattern/]]></

searchPattern></searchPatterns>

Schéma XML de comportement de serveur 149

Page 150: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Ce fichier Participant déclare le modèle de serveur avec lequel il fonctionne. Le jeu de balises implementation contient toutes les données sur le participant se rapportant à un langage et à un modèle de serveur spécifiques. L'élément quickSearch fournit la chaîne qu'UltraDev doit utiliser pour effectuer une recherche rapide. La recherche rapide permet de trouver des marqueurs indiquant que le document de l'utilisateur doit faire l'objet d'une recherche détaillée. La recherche détaillée permet de déterminer si le document de l'utilisateur contient un participant précis. La balise insertText fournit le texte à insérer dans le document de l'utilisateur. Dans la balise de bloc searchPatterns, chaque searchPattern contient un profil utilisé pour rechercher des occurrences de code d'exécution et pour extraire des paramètres spécifiques.

Modification de fichiers XMLVous devez respecter les conventions de codage UltraDev lorsque vous modifiez un fichier. En particulier, faites très attention à la dépendance d'un élément par rapport à un autre. Par exemple, si vous mettez à jour les balises que vous insérez, il est possible que vous deviez également mettre à jour les profils de recherche.

Expressions régulières

Vous devez connaître les expressions régulières implémentées dans JavaScript 1.2. Vous devez également savoir à quel moment il convient de les utiliser dans les fichiers XML UltraDev. Par exemple, les expressions régulières ne peuvent pas être utilisées dans les valeurs quickSearch. En revanche, elles sont employées dans searchPattern pour la recherche et l'extraction de données.

Les expressions régulières décrivent des chaînes de texte en utilisant des caractères affectés d'une signification spéciale (métacaractères) pour représenter le texte, le diviser et le traiter selon des règles prédéfinies. Les expressions régulières sont des outils d'analyse et de traitement puissants, du fait qu'elles constituent une méthode généralisée de représentation de profil.

Tout bon manuel de référence sur JavaScript 1.2 comporte une section ou un chapitre consacré aux expressions régulières. Nous examinons ici la façon dont les fichiers XML Dreamweaver UltraDev utilisent les expressions régulières pour rechercher des paramètres dans votre code d'exécution et pour extraire leurs valeurs. Chaque fois qu'un utilisateur modifie un comportement de serveur, les valeurs des paramètres doivent être extraites des occurrences du code d'exécution. Ce processus d'extraction repose sur les expressions régulières.

Chapitre 12150

Page 151: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Il importe que vous connaissiez quelques métacaractères (caractères spéciaux) et métaséquences (regroupements de caractères spéciaux) utiles dans les fichiers XML UltraDev.

Dans l'exemple Redirect If Empty (Rediriger si jeu d'enregistrements vide) du chapitre « Comportements de serveur », page 107, le visiteur est renvoyé à une autre page si un jeu d'enregistrements donné est vide. L'utilisateur de Dreamweaver UltraDev doit indiquer le nom de ce jeu d'enregistrements et votre bloc de code doit être mis à jour en fonction de ce nom. Dans le fichier XML, l'espace réservé @@rs@@ indique l'emplacement de ce nom. Dans votre code JavaScript d'extension, vous appelez la fonction applySB() et le gestionnaire de données d'extension utilise les profils de recherche XML pour remplacer le marqueur @@rs@@ par le nom du jeu d'enregistrements de l'utilisateur.

La balise XML <searchPatterns whereToSearch="directive"> indique qu'une recherche doit être effectuée dans le code d'exécution. Chaque sous-balise <searchPattern>...</searchPattern> définit un profil dans le code d'exécution devant être identifié. Ainsi, l'exemple Redirect If Empty contient deux profils.

Pour extraire des valeurs de paramètre de :

<% if (@@rs@@.EOF) Response.Redirect("@@new__url@@"); %>

rédigez une expression régulière qui identifie les chaînes rs et new__url

<searchPattern paramNames="rs,new__url">/if \((\w+)\.EOF\) Response\.Redirect\("(.*)"/i

</searchPattern>

Une recherche est donc effectuée dans le document de l'utilisateur et, si une correspondance est trouvée, les valeurs de paramètre sont extraites. La valeur de rs est extraite à l'aide de la première sous-expression entre parenthèses (\w+). La valeur de new__url est extraite à l'aide de la deuxième sous-expression entre parenthèses (.*).

Expression régulière Description

\ Quitter les caractères spéciaux. Par exemple : \. rétablit le métacaractère à un point littéral, \/ rétablit la barre oblique à son sens littéral et \) rétablit la parenthèse à son sens littéral.

/ ... /i Ne pas tenir compte de la casse lors de la recherche d'une métaséquence.

/( ...)/ Créer une sous-expression entre parenthèses dans la métaséquence.

\s* Rechercher zéro ou plus espaces blancs.

Schéma XML de comportement de serveur 151

Page 152: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Quelques mots sur la structure XML

Vous devez utiliser un nom de fichier unique pour identifier votre groupe de comportements de serveur, comme, par exemple, updateRecord.xml. En règle générale, vous devez donner à votre fichier Participant un nom correspondant à celui du groupe, comme, par exemple, updateRecord_init.xml. Mais il peut arriver que les fichiers Participant soient partagés entre plusieurs groupes de comportements de serveur. Dans ce cas, nommez-les pour refléter leur fonction exacte.

Remarque : l'espace de nom étant partagé indépendamment de la structure de dossier, choisissez des noms à la fois descriptifs et uniques. Les noms de fichiers ne doivent pas comporter plus de 31 caractères en raison des limitations Macintosh.

Le code d'exécution de votre comportement de serveur réside à l'intérieur de fichiers XML. Le programme d'analyse XML ne doit confondre aucun de vos codes d'exécution avec les balises XML. C'est pourquoi une balise spéciale doit envelopper votre code d'exécution. La balise XML, CDATA, se charge de cette protection. CDATA signifie « données de caractère » et correspond à tout texte autre qu'une balise XML. Lorsque vous utilisez la balise CDATA, le programme d'analyse XML n'essaie pas de l'interpréter en tant que balise, mais l'assimile plutôt à un bloc de texte en clair. Les blocs marqués par la balise CDATA commencent par <![CDATA[ et se terminent par ]]>.

Par exemple, si vous insérez le texte « Hello, World », il est prudent de spécifier votre XML de la façon simple :

<insertText>Hello, World</insertText>

Cependant, si vous insérez un texte comportant des balises, comme par exemple <img src='foo.gif'>, cela peut être source de confusion pour le programme d'analyse. Dans ce cas, incorporez votre texte dans la construction CDATA :

<insertText><![CDATA[<img src='foo.gif'>]]></insertText>

Vous avez déjà vu un exemple de la balise CDATA dans le fichier Participant XML de l'exemple Redirect If Empty du chapitre « Comportements de serveur ». Le code d'exécution ASP est enveloppé par la balise CDATA définie comme suit :

<![CDATA[<% if (@@rs@@.EOF) Response.Redirect("@@new__url@@"); %>

]]

En raison de la balise CDATA, les balises ASP <%= %>, ainsi que tout se qui se trouve entre elles, ne sont pas traitées. Au lieu de cela, le gestionnaire de données d'extension UltraDev (EDM) reçoit le texte non interprété :

<% if (Recordset1.EOF) Response.Redirect("http://www.yahoo.com"); %>

Dans les définitions XML suivantes, les emplacements où la balise CDATA est recommandée sont indiqués dans les exemples.

Chapitre 12152

Page 153: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Blocs de code dépendants

Il arrive que vous deviez créer deux blocs de code, dont un est le début d'un jeu de balises et l'autre la fin (par exemple, lorsque vous enveloppez une sélection du document avec le jeu de balises). Bien qu'il s'agisse de deux participants séparés, ils dépendent l'un de l'autre et agissent comme un seul et même participant. Pour empêcher les erreurs lors du traitement des deux participants, n'utilisez par de profils de recherche et supprimez le type du deuxième participant, qui n'est en réalité que la moitié du premier.

Fichiers XML Groupe

Balise XML : group

Description

Contient toutes les spécifications pour un groupe de participants.

Parent

Aucun.

Type

Balise de bloc.

Obligatoire

Oui.

Attribut : serverBehavior

Description

L'attribut serverBehavior indique le comportement de serveur qui peut utiliser le groupe. Lorsque l'une des chaînes quickSearch du participant du groupe est trouvée dans le document, le comportement de serveur indiqué par l'attribut serverBehavior est notifié et a la possibilité d'effectuer une recherche approfondie dans le document.

Dans certains cas, si plusieurs groupes sont associés à un seul et même comportement de serveur, ce dernier doit déterminer le groupe qu'il veut utiliser.

Parent

group

Type

Attribut.

Obligatoire

Non.

Schéma XML de comportement de serveur 153

Page 154: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeur

Le nom exact (sans chemin) d'un fichier HTML de comportement de serveur d'un dossier Configuration/ServerBehaviors. Exemple :

<group serverBehavior="redirectIfEmpty.htm">

Attribut : dataSource

Description

Cette fonction avancée prend en charge les nouvelles sources de données qui peuvent être ajoutées à UltraDev.

Plusieurs versions d'un comportement de serveur peuvent différer, selon la source de données utilisée. Par exemple, le comportement de serveur Région répétée est conçu pour la source de données Recordset.htm standard. Si UltraDev est développé afin de prendre en charge un nouveau type de source de données (un objet COM, par exemple), vous pouvez configurer dataSource="COM.htm" dans un fichier Groupe avec une implémentation différente de Région répétée. Le comportement de serveur Région répétée applique alors la nouvelle implémentation de Région répétée si la nouvelle source de données est sélectionnée.

Parent

group

Type

Attribut.

Obligatoire

Non.

Valeur

Le nom exact d'un fichier de source de données dans un dossier Configuration/DataSources. Exemple :

<group serverBehavior="Repeat Region.htm" ¬dataSource="myCOMdataSource.htm">

Ce groupe définit une nouvelle implémentation de Région répétée à utiliser si la source de données COM est utilisée. Dans applyServerBehaviors(), vous pouvez indiquer que ce groupe doit être appliqué en définissant la propriété MM_dataSource sur l'objet de paramètre, comme dans :

function applyServerBehavior(ssRec) {var paramObj = new Object();paramObj.rs = getComObjectName();paramObj.MM_dataSource = "myCOMdataSource.htm";

applySB(paramObj, sbObj);}

Chapitre 12154

Page 155: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Attribut : subType

Description

Cette fonction avancée prend en charge plusieurs implémentations d'un comportement de serveur.

Plusieurs versions d'un comportement de serveur peuvent différer, selon la sélection de l'utilisateur. Lorsqu'un comportement de serveur est appliqué mais que plusieurs fichiers Groupe sont appropriés, le fichier Groupe correct peut être choisi par transmission d'une valeur subType. Le groupe ayant cette valeur subType spécifique est appliqué.

Parent

group

Type

Attribut.

Obligatoire

Non.

Valeur

Une chaîne unique qui sera transmise avec l'appel de findGroups(). Exemple :

<group serverBehavior="myServerBehavior.htm" ¬subType="longVersion">

Ce groupe définit la version longue de myServerBehavior. Vous avez également une version avec subType="shortVersion". Dans applyServerBehaviors(), vous pouvez indiquer le groupe qui doit être appliqué en définissant la propriété MM_subType sur l'objet de paramètre, comme dans :

function applyServerBehavior(ssRec) {var paramObj = new Object();if (longVersionChecked) {

paramObj.MM_subType = "longVersion";} else {

paramObj.MM_subType = "shortVersion";}applySB(paramObj, sbObj);

}

Balise XML : title

Description

Chaîne qui sera affichée dans le panneau Comportements de serveur pour chaque occurrence de comportement de serveur trouvée dans le document courant.

Parent

group

Type

Balise de bloc.

Schéma XML de comportement de serveur 155

Page 156: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Obligatoire

Non.

Valeur

Chaîne de texte en clair. Peut comporter des noms de paramètre pour rendre chaque occurrence unique. Exemple :

<title>Redirect If Empty (@@recordsetName@@)</title>

Balise XML : groupParticipants

Description

Contient un tableau de déclarations groupParticipant.

Parent

group

Type

Balise de bloc.

Obligatoire

Oui.

Attribut : selectParticipant

Description

Indique quel participant doit être sélectionné et mis en surbrillance dans le document lorsqu'une occurrence est sélectionnée dans le panneau Comportements de serveur. Les occurrences de comportements de serveur énumérées dans ce panneau étant classées en fonction du participant sélectionné, vous devez définir selectParticipant même si le participant n'est pas visible. Cet attribut fonctionne uniquement pour les participants se trouvant à l'intérieur des balises HTML, et non pour ceux se trouvant au-dessus de la balise HTML.

Parent

groupParticipants

Type

Attribut.

Obligatoire

Non.

Valeur

participantName est le nom exact (moins le suffixe .xml) d'un seul et même fichier Participant référencé comme un participant Groupe. Voir aussi « Attribut : name », page 157. Exemple :

<groupParticipants selectParticipant="redirectIfEmpty_link">

Chapitre 12156

Page 157: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Balise XML : groupParticipant

Description

Représente l'inclusion d'un participant unique dans le groupe.

Remarque : l'ordre dans lequel les balises groupParticipant sont énumérées a son importance dans certains cas.

Parent

groupParticipants

Type

Balise.

Obligatoire

Oui (au moins un).

Attribut : name

Description

Désigne un participant particulier à inclure dans le groupe. L'attribut de nom figurant dans la balise groupParticipant doit être le même que le nom de fichier du participant (moins l'extension de fichier).

Parent

groupParticipant

Type

Attribut.

Obligatoire

Oui.

Valeur

Le nom exact (moins le suffixe .xml) de tout fichier Participant dans le dossier Configuration/ServerExtData. Exemple :

<groupParticipant name="redirectIfEmpty_init">

Fait référence au fichier redirectIfEmpty_init.xml.

Attribut : partType

Description

Indique le type de participant.

Parent

groupParticipant

Type

Attribut.

Schéma XML de comportement de serveur 157

Page 158: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Obligatoire

Non.

Valeurs

identifier, member, option, multiple, data

• identifier est un participant qui identifie le groupe entier. Si ce participant est trouvé dans le document, le groupe est considéré comme existant, que d'autres participants du groupe soient ou non trouvés. Il s'agit de la valeur par défaut si partType n'est pas spécifié.

• member est un membre normal d'un groupe. Trouvé seul, il n'identifie pas un groupe. S'il n'est pas trouvé dans un groupe, le groupe est jugé incomplet.

• option indique que le participant est facultatif. S'il n'est pas trouvé, le groupe est quand même jugé complet (et aucun indicateur « incomplete » n'est affiché dans le panneau Comportements de serveur).

• multiple indique que le participant est facultatif et que plusieurs de ses copies peuvent être associées au comportement de serveur. Aucun des paramètres uniques à ce participant ne sera utilisé lors du regroupement de participants (ils peuvent avoir des valeurs différentes).

• data est un participant non standard utilisé par les programmeurs en tant que lieu de stockage des données de groupe supplémentaires. N'est pris en compte par rien d'autre. Exemple :

<groupParticipant name="redirectIfEmpty_extraData" ¬partType="member">

Fichiers XML Participant

Balise XML : participant

Description

Contient toutes les spécifications pour un seul participant.

Parent

Aucun.

Type

Balise de bloc.

Obligatoire

Oui.

Chapitre 12158

Page 159: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Balise XML : implementation

Description

Chaque balise <implementation> contient toutes les spécifications de participant pertinentes pour un langage et un modèle de serveur uniques.

Parent

participant

Type

Balise de bloc.

Obligatoire

Oui.

Attribut : serverModel

Description

Spécifie le langage et le modèle de serveur pour la balise d'implémentation. UltraDev 4 prenant en charge quatre modèles de serveur (ASP/JavaScript, ASP/VBScript, JSP et ColdFusion), un participant peut comporter jusqu'à quatre balises <implementation>, chacune avec un attribut serverModel différent.

Parent

implementation

Type

Attribut.

Obligatoire

Oui.

Valeurs

ASP/JavaScript, ASP/VBScript, JSP, ColdFusion

Exemple :

<implementation serverModel="ASP/JavaScript">...participant info for ASP/JavaScript here...

</implementation>

Balise XML : quickSearch

Description

Simple chaîne de recherche utilisée à des fins de performance (il ne peut s'agir d'une expression régulière). Si la chaîne est trouvée dans le document en cours, tous les comportements de serveur faisant référence à ce participant ont la possibilité de rechercher des participants dans le document. Peut être vide (pour qu'il y ait toujours correspondance).

Schéma XML de comportement de serveur 159

Page 160: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Parent

participant

Type

Balise de bloc.

Obligatoire

Non.

Valeur

searchString, chaîne littérale qui existe sur la page si le participant existe. Elle doit être aussi unique que possible, bien qu'elle n'ait pas à être complètement unique. Elle n'est pas sensible à la casse. Faites tout de même attention aux espaces non essentiels qui pourraient être modifiés par l'utilisateur. Exemple :

<quickSearch>Response.Redirect</quickSearch>

Si la chaîne quickSearch est vide, elle est jugée comme correspondante et des recherches plus précises utilisent les expressions régulières définies dans les balises <searchPattern>. Cela peut être utile lorsqu'une simple chaîne ne peut pas être utilisée pour exprimer un profil de recherche fiable et que des expressions régulières sont requises.

Balise XML : insertText

Description

Donne des indications sur ce qui doit être inséré dans le document et à quel endroit. Contient le texte devant être inséré dans le document. Les parties du texte qui seront personnalisées doivent être indiquées par @@parameterName@@.

Dans certains cas, comme par exemple pour un participant traducteur uniquement, vous n'aurez probablement pas besoin de cette balise.

Parent

implementation

Type

Balise de bloc.

Obligatoire

Non.

Valeur

Le texte devant être inséré dans le document. Si des parties du texte doivent être personnalisées, elles peuvent être transmises ultérieurement en tant que paramètres. Les paramètres doivent être incorporés entre deux signes @. Ce texte pouvant interférer avec la structure XML, il doit utiliser la construction CDATA. Exemple :

<insertText location="aboveHTML"><![CDATA[<%= @@recordset@@).cursorType %>]]>

</insertText>

Chapitre 12160

Page 161: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Lorsque le texte est inséré, @@recordset@@ est remplacé par un nom de jeu d'enregistrements fourni par l'utilisateur.

Attribut : location

Description

Indique où le texte participant doit être inséré. L'emplacement d'insertion étant relatif à l'attribut whereToSearch de la balise searchPatterns, veillez à définir ces deux paramètres soigneusement (voir « Attribut : whereToSearch », page 164).

Parent

insertText

Type

Attribut.

Obligatoire

Oui.

Valeurs

aboveHTML[+weight], belowHTML[+weight], beforeSelection, replaceSelection, wrapSelection, afterSelection, beforeNode, replaceNode, afterNode, firstChildOfNode, lastChildOfNode, nodeAttribute[+attribute]

• aboveHTML[+weight] insère le texte au-dessus de la balise <HTML> (appropriée pour le code de serveur uniquement). Le poids peut être un nombre entier compris entre 1 et 99 et est utilisé pour préserver l'ordre relatif entre les différents participants. Par convention, les jeux d'enregistrements ont un poids de 50. Si un participant fait référence à des variables de jeu d'enregistrements, il devra par conséquent être affecté d'un poids plus élevé, de 60 par exemple, de façon à ce que le code soit inséré au-dessous du jeu d'enregistrements. Exemple :

<insert location="aboveHTML+60">

Si aucun poids n'est indiqué, un poids de 100 est attribué en interne et ajouté au-dessous de tous les participants de poids spécifique. Exemple :

<insert location="aboveHTML">

• belowHTML[+weight] est similaire à l'emplacement aboveHTML, si ce n'est que ces participants sont ajoutés au-dessous de la balise </HTML> de fermeture.

• beforeSelection insère le texte avant le point d'insertion ou la sélection actuelle. S'il n'y a pas de sélection, le texte est inséré à la fin de la balise <BODY>.

• replaceSelection remplace la sélection actuelle par le texte. S'il n'y a pas de sélection, le texte est inséré à la fin de la balise <BODY>.

• wrapSelection équilibre la sélection actuelle, insère le texte avant la sélection et ajoute la balise de fin appropriée après la sélection.

Schéma XML de comportement de serveur 161

Page 162: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• afterSelection insère le texte après la sélection actuelle ou le point d'insertion. S'il n'y a pas de sélection, le texte est inséré à la fin de la balise <BODY>.

• beforeNode insère le texte avant un Nuds (emplacement spécifique dans le DOM). Lorsqu'une fonction telle que applySBs() est appelée pour effectuer l'insertion, le pointeur de Nuds doit être transmis en tant que paramètre de paramObj. Le nom de ce paramètre définissable par l'utilisateur doit être spécifié par l'attribut nodeParamName (voir la section « Attribut : nodeParamName », page 163).

En résumé, si votre emplacement comporte le mot node, veillez à déclarer la balise <nodeParamName>.

• replaceNode remplace un Nuds par le texte. Nécessite la transmission d'un Nuds de la façon décrite pour beforeNode.

• afterNode insère le texte après un Nuds. Nécessite la transmission d'un Nuds de la façon décrite pour beforeNode.

• firstChildOfNode insère le texte en tant que premier enfant d'une balise de bloc. Par exemple, pour insérer un élément au début d'une balise FORM. Nécessite la transmission d'un Nuds de la façon décrite pour beforeNode.

• lastChildOfNode insère le texte en tant que dernier enfant d'une balise de bloc. Par exemple, si vous souhaitez insérer quelque chose à la fin d'une balise FORM (utile pour l'ajout de champs de formulaire masqués). Nécessite la transmission d'un Nuds de la façon décrite pour beforeNode.

• nodeAttribute[+attribute] définit un attribut d'un Nuds de balise. Nécessite la transmission d'un Nuds de la façon décrite pour beforeNode. Si l'attribut n'existe pas, il est créé.

Par exemple, utilisez

<insert location="nodeAttribute+ACTION">

pour définir l'attribut ACTION d'un formulaire. Cela convertit la balise FORM de l'utilisateur de <form> à <form action="myText">.

Si aucun attribut n'est indiqué, l'emplacement nodeAttribute provoque l'ajout direct du texte à la balise ouverte. Par exemple, utilisez :

<insert location="nodeAttribute">

pour ajouter un attribut facultatif à une balise. Vous pouvez procéder ainsi pour convertir une balise INPUT d'un utilisateur de

<input type="checkbox">

à

<input type="checkbox" <%if(foo)Reponse.Write("CHECKED")%>>

Chapitre 12162

Page 163: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Remarque : pour location="nodeAttribute", le dernier profil de recherche est utilisé pour déterminer où l'attribut commence et se termine. Veillez à ce que le dernier profil trouve l'instruction entière.

Attribut : nodeParamName

Description

Est uniquement utilisé pour les emplacements d'insertion relatifs à un Nuds. Indique le nom du paramètre qui sera utilisé pour transmettre le Nuds au moment de l'insertion.

Parent

insertText

Type

Attribut.

Obligatoire

Seulement si l'emplacement d'insertion comporte le mot node.

Valeur

tagtype__Tag est un nom spécifié par l'utilisateur pour le paramètre de Nuds transmis avec l'objet de paramètre à la fonction applySB(). Par exemple, si vous insérez du texte dans un formulaire, vous pouvez utiliser un paramètre appelé form__tag. Dans votre fonction applyServerBehavior() de comportement de serveur, vous pouvez alors utiliser form__tag pour indiquer le formulaire précis à mettre à jour. Exemple :

function applyServerBehavior(ssRec) {var paramObj = new Object();paramObj.rs = getRecordsetName();paramObj.form__tag = getFormNode();applySB(paramObj, sbObj);

}

Dans votre fichier XML, vous indiquez le paramètre de Nuds form__tag. Exemple :

<insertText location="lastChildOfNode" nodeParamName="form__tag"><![CDATA[<input type="hidden" name="MY_DATA">]]>

</insertText>

Le texte est inséré en tant que lastChildOfNode et le Nuds spécifique est transmis à l'aide de la propriété form__tag de l'objet de paramètre.

Schéma XML de comportement de serveur 163

Page 164: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Balise XML : searchPatterns

Description

Donne des indications sur la façon de rechercher le texte du participant dans le document. Contient une liste de profils utilisés lors de la recherche d'un participant. Si plusieurs profils de recherche sont définis, ils doivent tous être trouvés dans le texte analysé (les profils de recherche ont une logique ET une relation), à moins qu'ils ne soient marqués comme facultatifs à l'aide de l'indicateur isOptional.

Parent

implementation

Type

Balise de bloc.

Obligatoire

Non.

Attribut : whereToSearch

Description

Indique où rechercher le texte du participant. Cet emplacement d'insertion étant relatif à l'emplacement d'insertion, veillez à définir ces deux paramètres soigneusement (voir « Attribut : location », page 161).

Parent

searchPatterns

Type

Attribut.

Obligatoire

Oui.

Valeurs

directive, tag+tagName, tag+*, comment, text

• directive recherche toutes les directives de serveur (balises spécifiques au serveur). Pour ASP et JSP, cela signifie une recherche dans toutes les balises <% ... %>.

Remarque : la recherche n'est pas effectuée dans les attributs de balise, même s'ils contiennent des directives.

Chapitre 12164

Page 165: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• tag+tagName effectue une recherche dans le contenu de la balise donnée. Exemple :

<searchPatterns whereToSearch="tag+FORM">

indique que le recherche doit se limiter aux seules balises de formulaire. Par défaut, la recherche est effectuée dans toute la balise outerHTML. Pour les balises INPUT, le type peut également être indiqué (après une barre oblique). Par exemple, pour que la recherche soit effectuée dans tous les boutons d'envoi, saisissez :

<searchPatterns whereToSearch="tag+INPUT/SUBMIT">

• tag+* effectue une recherche dans le contenu de n'importe quelle balise. Exemple :

<searchPatterns whereToSearch="tag+*">

indique que la recherche doit être effectuée dans toutes les balises.

• comment limite la recherche aux seuls commentaires HTML <! ... >. Exemple :

<searchPatterns whereToSearch="comment">

indique que la recherche sera effectuée dans des balises telles que <!-- my comment here -->.

• text limite la recherche aux sections de texte brut. Exemple :

<searchPatterns whereToSearch="text"><searchPattern>XYZ</searchPattern>

</searchPatterns>

recherche un Nuds de texte contenant le texte XYZ.

Balise XML : searchPattern

Description

Profil utilisé pour identifier le texte participant et en extraire des valeurs de paramètre. Chaque sous-expression de paramètre doit être mise entre parenthèses.

Vous pouvez avoir des profils sans paramètres (utilisés simplement pour identifier le texte participant), des profils avec un paramètre ou des profils avec plusieurs paramètres. Tous les profils obligatoires doivent être trouvés et chaque paramètre doit être nommé et trouvé exactement une fois.

Parent

searchPatterns

Type

Balise de bloc.

Obligatoire

Oui.

Schéma XML de comportement de serveur 165

Page 166: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs

searchString, /regularExpression/, <empty>

• searchString est une simple chaîne de recherche (sensible à la casse). Elle ne peut pas être utilisée pour l'extraction de paramètres.

• /regularExpression/ est un profil de recherche d'expression régulière.

• <empty> se produit lorsqu'aucun profil n'est indiqué. Dans ce cas, il est toujours considéré qu'il y a correspondance et la valeur entière est affectée au premier paramètre.

Par exemple, pour identifier le texte participant <%= RS1.Field.Items("author_id") %>, vous pouvez définir un profil simple suivi d'un profil précis extrayant également les deux valeurs de paramètre :

<searchPattern>Field.Items</searchPattern><searchPattern paramNames="rs,col">

<![CDATA[/<%=\s*(\w+)\.Field\.Items\("(\w+)"\)/]]>

</searchPattern>

Une correspondance précise est établie avec le profil, la valeur de la première sous-expression (\w+) est affectée au paramètre « rs » et celle de la deuxième sous-expression (\w+) au paramètre « col ».

Remarque : l'expression régulière doit impérativement commencer et se terminer par une barre oblique. Sinon, elle sera utilisée en tant que recherche de chaîne littérale. Les expressions régulières peuvent être suivies du modificateur d'expression régulière « i » pour indiquer la non sensibilité à la casse (comme dans /pattern/i). Par exemple, VBScript n'est pas sensible à la casse et doit donc utiliser /pattern/i. JavaScript est sensible à la casse et doit utiliser /pattern/.

Si vous désirez affecter le contenu entier de l'emplacement de recherche limitée à un paramètre, n'indiquez aucun profil, comme dans :

<searchPatterns whereToSearch="tag+OPTION"><searchPattern>MY_OPTION_NAME</searchPattern><searchPattern paramNames="optionLabel"

limitSearch="innerOnly"></searchPattern>

</searchPatterns>

Le paramètre « optionLabel » est alors affecté à tout le innerHTML d'une balise OPTION.

Chapitre 12166

Page 167: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Attribut : paramNames

Description

Liste séparée par virgule des noms de paramètre dont les valeurs sont extraites. Elles sont affectées dans l'ordre de la sous-expression. Vous pouvez affecter des paramètres uniques ou utiliser une liste séparée par virgule pour affecter plusieurs paramètres. Si d'autres expressions entre parenthèses sont utilisées mais n'indiquent pas de paramètres, des virgules supplémentaires peuvent être utilisées en tant qu'espaces réservés dans la liste des noms de paramètres.

Les noms de paramètres doivent correspondre à ceux spécifiés dans le texte d'insertion et dans les paramètres de mise à jour.

Parent

searchPattern

Type

Attribut.

Obligatoire

Oui.

Valeurs

paramName1, paramName2, ...

Chaque nom de paramètre doit être le nom exact d'un paramètre utilisé dans le texte d'insertion. Par exemple, si le texte d'insertion contient @@p1@@, vous devez définir exactement un paramètre avec ce nom :

<searchPattern paramNames="p1">patterns</searchPattern>

Pour extraire plusieurs paramètres utilisant un seul profil, utilisez une liste séparée par virgule de noms de paramètre, dans l'ordre dans lequel les sous-expressions apparaissent dans le profil. Par exemple, si votre profil de recherche est :

<searchPattern paramName="p1,,p2">/(\w+)_(BIG|SMALL)_(\w+)/¬</searchPattern>

il y a deux paramètres séparés par du texte à extraire. Avec le texte suivant :

<%= a_BIG_b %>

la première sous-expression du profil de recherche correspond à "a", donc p1="a". La deuxième sous-expression est ignorée (remarquez le ,,). La troisième sous-expression correspond à "b", donc p2="b".

Attribut : limitSearch

Description

Limite la recherche à une partie de la balise whereToSearch.

Parent

searchPattern

Schéma XML de comportement de serveur 167

Page 168: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Type

Attribut.

Obligatoire

Non.

Valeurs

all, attribute+attribName, tagOnly, innerOnly

• all (valeur par défaut) effectue une recherche dans la balise entière spécifiée dans l'attribut whereToSearch.

• attribute+attribName effectue la recherche dans la seule valeur de l'attribut spécifié. Exemple :

<searchPatterns whereToSearch="tag+FORM"><searchPattern limitSearch="attribute+ACTION">

/MY_PATTERN/</searchPattern>

</searchPatterns>

indique que la recherche doit se limiter à la seule valeur de l'attribut ACTION des balises FORM. Si cet attribut n'est pas défini, la balise est ignorée.

• tagOnly effectue la recherche dans la seule balise extérieure et ignore la balise innerHTML. Valide uniquement lorsque whereToSearch est une balise.

• innerOnly effectue la recherche dans la seule balise innerHTML et ignore la balise extérieure. Valide uniquement lorsque whereToSearch est une balise.

Attribut : isOptional

Description

Indicateur signifiant que le profil de recherche n'est pas nécessaire pour que le participant soit trouvé. Cela est utile pour les participants plus complexes pouvant avoir des paramètres non essentiels à extraire. Vous pouvez créer des profils servant à identifier de façon distincte un participant et avoir des profils facultatifs pour l'extraction de paramètres non essentiels.

Parent

searchPattern

Type

Attribut.

Obligatoire

Non.

Valeurs

true, false

• true si searchPattern n'a pas à être trouvé pour que le participant soit identifié.

Chapitre 12168

Page 169: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• false (valeur par défaut) si searchPattern doit être trouvé.

Considérez par exemple une chaîne de jeux d'enregistrements simple :

<%var Recordset1 = Server.CreateObject("ADODB.Recordset");Recordset1.ActiveConnection = "dsn=andescoffee;";Recordset1.Source = "SELECT * FROM PressReleases";Recordset1.CursorType = 3;Recordset1.Open();%>

Les profils de recherche doivent identifier le participant et extraire plusieurs paramètres. Cependant, si un paramètre tel que cursorType n'est pas trouvé, cela devrait toujours être considéré comme un jeu d'enregistrements. Le paramètre cursor est facultatif. Dans le XML, les profils de recherche peuvent ressembler à ceci :

<searchPattern paramNames="rs">/var (\w+) = Server.CreateObject/</searchPattern><searchPattern paramNames="src">/ActiveConnection = "(.*)"/¬</searchPattern><searchPattern paramNames="conn">/Source = "(.*)"/¬</searchPattern><searchPattern paramNames="cursor" isOptional="true">¬/CursorType = (\d+)/</searchPattern>

Les trois premiers profils sont nécessaires pour identifier le jeu d'enregistrements. Si le dernier paramètre n'est pas trouvé, le jeu d'enregistrements est quand même identifié.

Balise XML : updatePatterns

Description

Cette fonction facultative avancée permet des mises à jour précises du participant. Sans cette balise, le participant est automatiquement mis à jour par remplacement du texte participant entier à chaque fois. Si vous spécifiez une balise <updatePatterns>, elle doit contenir des profils précis pour trouver et remplacer chaque paramètre du participant.

Cela peut s'avérer utile si l'utilisateur peut apporter des modifications non préjudiciables au texte. Seules les parties du texte qui ont besoin d'être modifiées seront mises à jour avec précision.

Parent

implementation

Type

Balise de bloc.

Schéma XML de comportement de serveur 169

Page 170: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Obligatoire

Non.

Balise XML : updatePattern

Description

Type d'expression régulière spécifique utilisé pour des mises à jour précises du texte du participant. Il doit y avoir au moins une définition de profil de mise à jour pour chaque paramètre unique déclaré dans le texte d'insertion (de la forme @@paramName@@).

Parent

updatePatterns

Type

Balise de bloc.

Obligatoire

Oui (au moins une, si la balise updatePatterns est déclarée).

Valeurs

Expression régulière trouvant un paramètre placé entre deux sous-expressions entre parenthèses, de la forme /(pre-pattern)parameter-pattern(post-pattern)/. Vous devez avoir au moins un profil de mise à jour défini pour chaque @@paramName@@ unique dans votre texte d'insertion. Par exemple, votre texte d'insertion peut être :

<insertText location="afterSelection"><![CDATA[<%= @@rs@@.Field.Items("@@col@@") %>]]>

</insertText>

et une occurrence particulière de ce texte sur une page peut ressembler à :

<%= RS1.Field.Items("author_id") %>

Remarquez qu'il y a deux paramètres, rs et col. Aussi, pour mettre à jour ce texte une fois qu'il est inséré sur la page, vous devez mettre à jour deux définitions de profil :

<updatePattern paramName="rs" >/(\b)\w+(\.Field\.Items)/

</updatePattern><updatePattern paramName="col">

/(\bItems\(")\w+("\))/</updatePattern>

Notez que des parenthèses littérales, ainsi que d'autres caractères d'expressions régulières spéciaux, n'ont pas été pris en compte en raison de la barre oblique inverse les précédant. L'expression du milieu, ici définie comme \w+, sera mise à jour avec la dernière valeur transmise pour les paramètres « rs » et « col », respectivement. Les valeurs « RS1 » et « author_id » peuvent être mises à jour avec de nouvelles valeurs de façon précise.

Chapitre 12170

Page 171: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Plusieurs occurrences du même profil peuvent être mises à jour en même temps. Pour cela, vous devez utiliser l'indicateur global d'expression régulière « g » après la barre oblique de fermeture, comme dans /pattern/g.

Si le texte du participant est long et complexe, vous pouvez utiliser plusieurs profils pour mettre à jour un seul paramètre. Par exemple, si votre texte de participant est :

<% ...Recordset1.CursorType = 0;Recordset1.CursorLocation = 2;Recordset1.LockType = 3;

%>

Pour mettre à jour le nom du jeu d'enregistrements dans les trois positions, vous devez disposer de trois profils de mise à jour pour un seul paramètre, comme dans :

<updatePattern paramName="rs">/(\b)\w+(\.CursorType)/

</updatePattern><updatePattern paramName="rs">

/(\b)\w+(\.CursorLocation)/</updatePattern><updatePattern paramName="rs">

/(\b)\w+(\.LockType)/</updatePattern>

Vous pouvez maintenant transmettre une nouvelle valeur pour le jeu d'enregistrements, qui sera mis à jour avec précision à trois endroits.

Attribut : paramName

Description

Indique le nom du paramètre dont la valeur est utilisée pour mettre à jour le participant. Ce paramètre doit correspondre à ceux spécifiés dans les paramètres de texte d'insertion et de recherche.

Parent

updatePattern

Type

Attribut.

Obligatoire

Oui.

Valeurs

Le nom exact d'un paramètre utilisé dans le texte d'insertion. Par exemple, si le texte d'insertion contient @@rs@@, vous devez avoir un paramètre du nom :

<updatePattern paramName="rs">pattern</updatePattern>

Schéma XML de comportement de serveur 171

Page 172: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Balise XML : delete

Description

Cette fonction facultative avancée vous permet de contrôler la façon dont un participant est supprimé. Sans cette balise, vous devez supprimer le participant entièrement pour le supprimer (seulement si aucun comportement de serveur n'y fait référence). En définissant une balise <delete>, vous pouvez spécifier qu'il ne doit jamais être supprimé ou que seules certaines parties doivent l'être.

Parent

implementation

Type

Balise.

Obligatoire

Non.

Attribut : deleteType

Description

Indique le type de suppression à effectuer. Possède différentes significations, selon que le participant est une directive, une balise ou un attribut. Par défaut, le participant entier est supprimé.

Parent

delete

Type

Attribut.

Obligatoire

Non.

Valeurs

• all (valeur par défaut) supprime la directive ou la balise entière. Pour les attributs, supprime la définition entière.

• none n'est jamais automatiquement supprimé.

• tagOnly supprime uniquement la balise extérieure mais laisse le contenu de la balise innerHTML intact. Pour les attributs, supprime également la balise extérieure s'il s'agit d'une balise de bloc. Sans signification pour les directives.

• innerOnly supprime uniquement le contenu (innerHTML) lorsqu'elle est appliquée à des balises. Pour les attributs, supprime uniquement la valeur. Sans signification pour les directives.

• attribute+attribName supprime uniquement l'attribut spécifié lorsqu'elle est appliquée à des balises. Sans signification pour les directives et les attributs.

Chapitre 12172

Page 173: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• attribute+* supprime tous les attributs des balises. Sans signification pour les directives et les attributs.

Par exemple, si votre comportement de serveur convertit le texte sélectionné en lien, vous pouvez supprimer le lien lorsque vous effectuez une suppression de la balise extérieure uniquement :

<delete deleteType="tagOnly"/>

Cela convertit un participant de lien <A HREF="...">HELLO</A> en HELLO.

Balise XML : translator

Description

Donne des informations pour la traduction d'un participant de façon à ce qu'il puisse être rendu différemment et puisse éventuellement avoir un inspecteur de propriétés personnalisé.

Parent

implementation

Type

Balise de bloc.

Obligatoire

Non.

Balise XML : searchPatterns

Description

Même description que pour les profils de recherche de nodeParamName décrits dans la section « Balise XML : searchPatterns », page 164, si ce n'est que whereToSearch est indiqué dans chaque balise de traduction.

Parent

translator

Type

Balise de bloc.

Obligatoire

Oui.

Balise XML : translations

Description

Contient une liste d'instructions de traduction. Chacune indique où rechercher le participant et ce qu'il convient d'en faire.

Parent

translator

Schéma XML de comportement de serveur 173

Page 174: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Type

Balise de bloc.

Obligatoire

Non.

Balise XML : translation

Description

Contient une instruction de traduction unique indiquant où rechercher le participant, quel type de traduction effectuer et par quoi remplacer le texte du participant.

Parent

translations

Type

Balise de bloc.

Obligatoire

Non.

Attribut : whereToSearch

Description

Même description que celle de l'attribut whereToSearch pour les profils de recherche nodeParamName décrits à la section « Attribut : whereToSearch », page 164.

Parent

translation

Type

Attribut.

Obligatoire

Oui.

Attribut : limitSearch

Description

Même description que celle de l'attribut limitSearch pour les profils de recherche nodeParamName décrits à la section « Attribut : limitSearch », page 167.

Parent

translation

Type

Attribut.

Chapitre 12174

Page 175: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Obligatoire

Non.

Attribut : translationType

Description

Indique le type de traduction à réaliser. Ces types sont prédéfinis et donnent à la traduction une fonctionnalité précise. Par exemple, si vous spécifiez « données dynamiques », tout ce qui est traduit doit se comporter comme des données dynamiques UltraDev, c'est-à-dire ressembler à un espace réservé de données dynamiques dans le mode de mise en page (notation entre accolades avec couleur d'arrière-plan dynamique) et figurer dans le panneau Comportements de serveur.

Parent

translation

Type

Attribut.

Obligatoire

Oui.

Valeurs

• dynamic data indique que les directives traduites ressemblent à des données dynamiques UltraDev et se comportent comme telles. Exemple :

<translation whereToSearch="tag+IMAGE"limitSearch="attribute+SRC"

translationType="dynamic data">

• dynamic image indique que les attributs traduits doivent ressembler à des images dynamiques UltraDev et se comporter comme telles. Exemple :

<translation whereToSearch="IMAGE+SRC"translationType="dynamic image">

• dynamic source indique que les directives traduites doivent se comporter comme des sources dynamiques UltraDev. Exemple :

<translation whereToSearch="directive" translationType="dynamic source">

• tabbed region start indique que les balises <CFLOOP> traduites définissent le début d'un contour tabulé. Exemple :

<translation whereToSearch="CFLOOP" translationType="tabbed region start">

• tabbed region end indique que les balises </CFLOOP> traduites définissent la fin d'un contour tabulé. Exemple :

<translation whereToSearch="CFLOOP" translationType="tabbed region end">

Schéma XML de comportement de serveur 175

Page 176: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• custom est le cas par défaut, dans lequel aucune fonctionnalité UltraDev interne n'est ajoutée à la traduction. Il est courant de l'utiliser lors de la spécification d'une balise à insérer pour un inspecteur de propriétés personnalisé. Exemple :

<translation whereToSearch="directive"translationType="custom">

Balise XML : openTag

Description

Une balise facultative pouvant être insérée au début de la section de traduction. Cela permet à certaines autres extensions, comme par exemple les inspecteurs de propriétés personnalisés, de trouver la traduction.

Parent

translation

Type

Balise de bloc.

Obligatoire

Non.

Valeurs

tagName est un nom de balise valide. Ce nom doit être suffisamment unique pour empêcher les conflits avec des types de balise connus. Par exemple, si vous spécifiez :

<openTag>MM_DYNAMIC_CONTENT</openTag>

les données dynamiques sont traduites dans la balise <MM_DYNAMIC_CONTENT>.

Balise XML : attributes

Description

Contient une liste d'attributs à ajouter à la balise traduite spécifiée dans openTag. Sinon, si openTag n'est pas définie et que searchPattern spécifie tag, cette balise contient une liste d'attributs traduits à ajouter à la balise trouvée.

Parent

translation

Type

Balise de bloc.

Obligatoire

Non.

Chapitre 12176

Page 177: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Balise XML : attribute

Description

Spécifie un attribut unique (ou un attribut traduit) devant être ajouté à la balise traduite.

Parent

attributes

Type

Balise de bloc.

Obligatoire

Oui (au moins un).

Valeurs

attributeName="attributeValue" est un attribut défini pour une valeur. Le nom d'attribut est généralement fixe et la valeur contient des références de paramètres extraites par les profils de paramètres. Exemple :

<attribute>SOURCE="@@rs@@"</attribute><attribute>BINDING="@@col@@"</attribute>

ou

<attribute>mmTranslatedValueDynValue="VALUE={@@rs@@.@@col@@}"

</attribute>

Balise XML : display

Description

Chaîne d'affichage facultative devant être insérée dans la traduction.

Parent

translation

Type

Balise de bloc.

Obligatoire

Non.

Valeurs

displayString se réfère à toute chaîne contenant du texte et du HTML. Peut comporter des références de paramètres extraites par les profils de paramètres. Exemple :

<display>{@@rs@@.@@col@@}</display>

fera la traduction se présenter sous la forme {myRecordset.myCol}.

Schéma XML de comportement de serveur 177

Page 178: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Balise XML : closeTag

Description

Balise facultative devant être insérée à la fin de la section traduite. Cela permet à certaines autres extensions, comme par exemple les inspecteurs de propriétés personnalisés, de trouver la traduction.

Parent

translation

Type

Balise de bloc.

Obligatoire

Non.

Valeurs

tagName est un nom de balise valide. Il doit correspondre à une traduction openTag.

Exemple

Si vous spécifiez :

<closeTag>MM_DYNAMIC_CONTENT</closeTag>

des données dynamiques sont traduites pour se terminer avec la balise </MM_DYNAMIC_CONTENT>.

Utilisation du gestionnaire de donnéesLe gestionnaire de données d'extension (EDM) se compose des API de cette section. Vous pouvez programmer l'accès et la manipulation des données contenues dans les fichiers Groupe et Participant en appelant ces fonctions. L'EDM fonctionne de la manière suivante :

• L'EDM exécute toutes les entrées/sorties de fichier XML pour les fichiers Groupe et Participant.

• En exécutant toutes les demandes de données pour le modèle de serveur en cours, l 'EDM agit comme un filtre de modèle de serveur.

• L'EDM renvoie automatiquement des valeurs par défaut pour les données non spécifiées pour le participant demandé. Les valeurs par défaut sont spécifiées par le participant « par défaut » (c'est-à-dire dans le fichier defaultParticipant.xml).

getExtDataValue()

Disponibilité

Dreamweaver UltraDev 4.0

Chapitre 12178

Page 179: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Extrait les valeurs de champ d'un fichier XML pour les Nudss spécifiés.

Arguments

qualifier(s) est une liste, de longueur variable, de qualifieurs de Nudss séparés par virgule comprenant le nom du Groupe ou du Participant, le sous-bloc (le cas échéant) et le nom du champ.

Valeurs renvoyées

La valeur du champ est renvoyée. Si aucune valeur n'est spécifiée, la valeur par défaut est renvoyée.

getExtDataArray()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait un tableau de valeurs d'un fichier XML pour les Nudss spécifiés.

Arguments

qualifier(s) est une liste, de longueur variable, de qualifieurs de Nudss séparés par virgule comprenant le nom du Groupe ou du Participant, le sous-bloc (le cas échéant) et le nom du champ.

Valeurs renvoyées

Tableau de noms de Nudss enfants.

getExtParticipants()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait la liste de participants d'un fichier Groupe XML ou de fichiers Participant.

Arguments

value, qualifier(s)

• value est une valeur de propriété ou une valeur vierge ne devant pas être prise en compte.

• qualifier(s) est une liste, de longueur variable, de qualifieurs de Nudss séparés par virgule ayant la propriété requise.

Valeurs renvoyées

Tableau de noms de participants ayant la propriété requise, si elle est spécifiée, et la propriété correspond à la valeur requise, si elle est spécifiée.

Schéma XML de comportement de serveur 179

Page 180: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

getExtGroups()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait le nom du groupe, qui est l'équivalent du nom d'un comportement de serveur, d'un fichier Groupe XML.

Arguments

value, qualifier(s)

• value est une valeur de propriété ou une valeur vierge ne devant pas être prise en compte.

• qualifier(s) est une liste, de longueur variable, de qualifieurs de Nudss séparés par virgule ayant la propriété requise.

Valeurs renvoyées

Tableau de noms de groupes ayant la propriété requise, si elle est spécifiée, et la propriété correspond à la valeur requise, si elle est spécifiée.

getGroup()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait le groupe, ou le comportement de serveur, du fichier XML.

Arguments

name est une référence au nom du groupe, qui est l'équivalent du nom du comportement de serveur.

Valeurs renvoyées

Le groupe, en tant que chaîne constante.

addGroup()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Ajoute le groupe, ou le comportement de serveur, au fichier XML.

Arguments

pGroup pointe vers un groupe d'objets de données d'extension.

Valeurs renvoyées

Valeurs booléennes.

Chapitre 12180

Page 181: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

updateGroup()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Met à jour le groupe, ou le comportement de serveur, dans le fichier XML.

Arguments

originalName, pGroup

• originalName est une référence CString constante au groupe qui doit être mis à jour.

• pGroup pointe vers le groupe mis à jour.

Valeurs renvoyées

Valeurs booléennes.

deleteGroup()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Supprime un groupe d'un fichier XML.

Arguments

name est le nom du groupe à supprimer.

Valeurs renvoyées

Valeurs booléennes.

getParticipant()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait le participant, ou le bloc de code, du fichier XML.

Arguments

name, serverModel

• name est une référence au nom de groupe.

• serverModel est le nom du modèle de serveur en cours.

Valeurs renvoyées

Le fichier XML participant, en tant que chaîne constante.

Schéma XML de comportement de serveur 181

Page 182: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

addParticipant()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Ajoute le participant, ou le bloc de code, au fichier XML.

Arguments

pParticipant pointe vers un participant d'objet de données d'extension.

Valeurs renvoyées

Valeurs booléennes.

updateParticipant()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Met à jour le participant, ou le bloc de code, dans le fichier XML.

Arguments

originalName, pParticipant

originalName est une référence CString constante au participant devant être mis à jour.

pParticipant pointe vers le participant mis à jour.

Valeurs renvoyées

Valeurs booléennes.

deleteParticipant()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Arguments

name est le nom du participant devant être supprimé.

Valeurs renvoyées

Valeurs booléennes.

objectExistsWithName()

Disponibilité

Dreamweaver UltraDev 4.0

Chapitre 12182

Page 183: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Cette fonction peut être utilisée pour comparer deux noms d'objets de données d'extension.

Arguments

name est le nom d'objet de données d'extension courant.

Valeurs renvoyées

Valeurs booléennes.

refreshExtData()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Recharge tous les fichiers de données d'extension.

Conseil: vous pouvez créer une commande utile à partir de cette fonction, qui vous permettra de recharger les modifications manuelles apportées aux fichiers XML de comportement de serveur sans avoir à redémarrer UltraDev.

Arguments

Aucun.

Valeurs renvoyées

Données rechargées.

Utilisation du gestionnaire de traductionLes traducteurs de données traduisent des balises spéciales, telles que le script ASP/JSP ou les balises CFML, en balises pouvant être lues et affichées par Dreamweaver UltraDev. Pour plus d'informations sur les traducteurs de données et les concepts qui leur sont associés, voir « Traducteurs de données », page 293. La création d'un nouveau traducteur ou l'amélioration d'un traducteur existant peut s'avérer difficile. Dreamweaver UltraDev 4 simplifie ce procédé en fournissant un nouveau service permettant de développer rapidement des traducteurs puissants ; il s'agit du gestionnaire de traduction.

Utilisez le gestionnaire de traduction en deux étapes simples :

1 Intégrez le gestionnaire de traduction et les utilitaires associées dans l'en-tête de votre traducteur.

<script SRC="TransData.js"></SCRIPT><script SRC="TMCallback.js"></SCRIPT><script SRC="Translator.js"></SCRIPT><script SRC="TranslationManager.js"></SCRIPT>

Schéma XML de comportement de serveur 183

Page 184: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2 Ajoutez les deux lignes suivantes à votre fonction translateMarkup() :

var TM = new TranslationManager(translatorClass, serverModel, ¬serverLanguage);var outStr = TM.translate(inStr); // inStr is the string to be translated, outStr is the resulting // translation

Le gestionnaire de traduction utilise les règles déclarées dans la section traducteur des fichiers Participant XML pour générer une traduction devant être renvoyée par la fonction translateMarkup(). Pour obtenir une description des traducteurs des fichiers participants, voir « Fichiers Participant », page 148.

Les traducteurs ASP, JSP et ColdFusion de Dreamweaver UltraDev utilisent le gestionnaire de traduction. Vous pouvez facilement étendre la fonctionnalité de ces traducteurs en créant de nouveaux fichiers Participant avec les règles de traduction déclarées dans leur section traducteur. Les développeurs peuvent se partager ces fichiers Participant à l'aide d’Extension Manager.

Remarque : avant d'exécuter les traducteurs Macromedia, UltraDev exécute tous les traducteurs tiers. Pour tout bloc de code donné, Dreamweaver applique le premier traducteur trouvé.

Exemple de traducteur

L'exemple qui suit indique comment créer un traducteur à partir d'un nouveau modèle de serveur. UltraDev contient des traducteurs pour ASP, JSP, JavaScript et ColdFusion. Supposons toutefois que vous vouliez créer un nouveau modèle de serveur pour PHP. Dans cet exemple, vous créez les traducteurs pour la façon dont UltraDev rend les balises PHP dans le mode Création de la fenêtre de document.

Pour créer un nouveau traducteur PHP :

1 Créez un fichier HTML contenant le code JavaScript de votre traducteur. Incluez le gestionnaire de traduction et les autres utilitaires.

<html><head><title>PHP Translator</title>

<script SRC="TransData.js"></SCRIPT><script SRC="TMCallback.js"></SCRIPT><script SRC="Translator.js"></SCRIPT><script SRC="TranslationManager.js"></SCRIPT><script language=”JavaScript”>

Chapitre 12184

Page 185: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2 La fonction translateMarkup() appelle le gestionnaire de traduction pour qu'il traduise le document de l'utilisateur.

function translateMarkup(docNameStr, siteRootStr, inStr){\\ Get the name of the server model from the document DOMvar serverModel = ¬dw.getDocumentDOM().serverModel.getServerName();

\\ Get the server scripting language from the document DOMvar serverLanguage = ¬dw.getDocumentDOM().serverModel.getServerLanguage();

\\ Call the Translation Manager with your new translator class,\\ and the document server model type and scripting language.var TM = new TranslationManager("PHP", serverModel, ¬serverLanguage);

\\ Pass in the data and place the translation into outStrvar outStr = TM.translate(inStr);

\\ Return the translated documentreturn outStr;}

3 La fonction getTranslatorInfo() fournit des informations sur le traducteur et sur les fichiers sur lesquels il agit.

function getTranslatorInfo(){

returnArray = new Array( 8 )returnArray[0] = "MM_PHP" // uniquely identifies the ¬translatorreturnArray[1] = "PHP" // Describes he translator - 40 ¬character limitreturnArray[2] = "1" // The number of file extensionsreturnArray[3] = "php" // The file extension that the ¬translator works withreturnArray[4] = "1" // The number of expressionsreturnArray[5] = "<?php” // ExpressionreturnArray[6] = "allFiles" // default preferencereturnArray[7] = "50" // priority level to apply translatorreturn returnArray

}</SCRIPT></HEAD><BODY></BODY></HTML>

Schéma XML de comportement de serveur 185

Page 186: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4 Créez le fichier XML Participant.

<participant name="PHPData"><implementation serverModel="PHP">

<translator>

<searchPatterns><searchPattern paramNames="rs,col">

<![CDATA[//code to be translated]]>

</searchPattern></searchPatterns>

<translations><translation whereToSearch="tag+*"

limitSearch="all"translationType="dynamic data">

<openTag>MY_DYNAMIC_CONTENT</openTag><attributes>

<attribute>SOURCE=@@rs@@</attribute><attribute>BINDING="@@col@@"</attribute>

</attributes><display>{@@rs@@.@@col@@}</display>

<closeTag>MY_DYNAMIC_CONTENT</closeTag></translation></translations>

</translator></implementation></participant>

Chapitre 12186

Page 187: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3

1

CHAPITRE 13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Sources de données

Les fonctions API des sources de données vous permettent de manipuler les options des menus Plus (+) du panneau Liaisons de données.

Tous les fichiers de sources de données résident dans le dossier DataSources contenu dans le dossier Configuration. Chaque modèle de serveur possède son propre dossier : ASP, ColdFusion et JSP. Le sous-dossier de chaque modèle contient des fichiers HTML associés aux sources de données de ce modèle de serveur.

Fonctionnement des sources de donnéesDans UltraDev, l'ajout de données dynamiques se fait à partir du panneau Liaisons de données. Les objets de données dynamiques affichés dans le menu Plus (+) sont basés sur le modèle de serveur spécifié pour le site. Par exemple, les utilisateurs peuvent insérer des jeux d'enregistrements, des commandes, des variables de demande, des variables de session et des variables d'application pour les applications ASP.

Les étapes suivantes décrivent la procédure d'ajout de données dynamiques :

187

Page 188: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

1 Lorsque vous cliquez sur le menu Plus (+) du panneau Liaisons de données, le menu déroulant s'affiche.

Pour déterminer le contenu du menu, UltraDev commence par rechercher un fichier DataSources.xml dans le même dossier que les sources de données (par exemple, \Configuration\DataSources\ASP\DataSources.xml). Le fichier DataSources.xml décrit le contenu du menu déroulant ; il contient les références des fichiers HTML devant figurer dans le menu déroulant.

UltraDev recherche une balise de titre dans chaque fichier HTML référencé. Si le fichier contient une balise de titre, le contenu de celle-ci est affiché dans le menu. Si le fichier ne contient pas de balise de titre, c'est le nom du fichier qui apparaît dans le menu.

Une fois qu'UltraDev a fini de travailler avec le fichier DataSources.xml ou si le fichier n'existe pas, UltraDev analyse le reste du dossier pour vérifier s'il contient d'autres éléments devant apparaître dans le menu. Si le dossier principal s'avère contenir des fichiers qui ne figurent pas déjà dans le menu, ils y sont ajoutés. Si des sous-dossiers contiennent des fichiers qui ne figurent pas déjà dans le menu, UltraDev crée un sous-menu et les y ajoute.

2 Lorsque l'utilisateur choisit un élément dans le menu Plus (+), la fonction addDynamicSource() est appelée afin que le code de la source de données soit ajouté au document de l'utilisateur.

3 UltraDev passe en revue chaque fichier du dossier de modèles de serveur approprié, en appelant la fonction findDynamicSources() dans chaque fichier. Pour chaque valeur du tableau retourné, UltraDev appelle la fonction generateDynamicSourceBindings() dans le même fichier afin d'obtenir une liste à jour de toutes les sources de données pour le document de l'utilisateur. Ces sources de données sont présentées à l'utilisateur sous forme d'arborescence dans les boîtes de dialogue Données dynamiques ou Texte dynamique ou dans le panneau Liaisons de données. Par exemple, l'arborescence des sources de données d'un document ASP peut se présenter comme suit :

Recordset (Recordset1)ColumnOneInRecordsetColumnTwoInRecordset

Recordset (Recordset2)ColumnOfRecordset

RequestNameOfRequestVariableNameOfAnotherRequestVariable

SessionNameOfSessionVariable

Chapitre 13188

Page 189: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4 Si l'utilisateur clique sur le bouton moins (-), UltraDev extrait le Nuds sélectionné de l'arborescence et le transmet à deleteDynamicSource(), qui supprime le code ajouté précédemment à l'aide de addDynamicSource(). Si la suppression de la sélection n'est pas logique, la fonction renvoie un message d'erreur. Une fois deleteDynamicSource() terminée, UltraDev actualise l'arborescence des sources de données en appelant les fonctions findDynamicSources() et generateDynamicSourceBindings().

5 Si l'utilisateur choisit une source de données et clique sur OK dans les boîtes de dialogue Données dynamiques ou Texte dynamique ou clique sur Insérer ou sur Lier dans le panneau Liaisons de données, UltraDev appelle la fonction generateDynamicDataRef(). La valeur retournée est insérée dans le document au point d'insertion.

6 Si l'utilisateur affiche les boîtes de dialogue Données dynamiques ou Texte dynamique pour modifier un objet de données dynamiques existant, la sélection dans l'arborescence de la source de données doit être initialisée sur l'objet de données dynamiques. Pour initialiser l'arborescence, UltraDev passe en revue chaque fichier du dossier de modèles de serveur approprié (le dossier \Configuration\DataSources\ASP, par exemple), en appelant l'implémentation de la fonction inspectDynamicDataRef() dans chaque fichier.

UltraDev appelle la fonction inspectDynamicDataRef() pour reconvertir l'objet de données dynamiques du code du document de l'utilisateur en un élément de l'arborescence (c'est l'opération inverse de celle qui se produit lorsque la fonction generateDynamicDataRef() est appelée). Si inspectDynamicDataRef() renvoie un tableau composé de deux éléments, UltraDev fournit une indication visuelle en désignant l'élément de l'arborescence lié à la sélection courante.

7 Chaque fois que l'utilisateur modifie la sélection, UltraDev appelle la fonction inspectDynamicDataRef() pour déterminer si la nouvelle sélection est du texte dynamique ou une balise avec un attribut dynamique. Si la nouvelle sélection est dynamique, UltraDev affiche les liaisons de la sélection courante dans le panneau Liaisons de données.

8 Vous pouvez, à partir du panneau Liaisons de données ou des boîtes de dialogue Données dynamiques ou Texte dynamique, modifier le format des données pour un objet de texte dynamique ou un attribut dynamique que l'utilisateur a déjà ajouté à la page. Une fois le format modifié, UltraDev appelle la fonction generateDynamicDataRef() pour extraire la chaîne à insérer dans le document de l'utilisateur, puis transmet cette chaîne à formatDynamicDataRef() (décrite au chapitre « Formatage des données », page 195). La chaîne renvoyée par formatDynamicDataRef() est insérée dans le document.

Sources de données 189

Page 190: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Remarque : si vous voulez qu'un fichier du dossier DataSources s'applique uniquement à un langage de script spécifique, ajoutez l'instruction suivante de manière à ce qu'elle figure à la première ligne du fichier HTML :

<!-- SCRIPTING-LANGUAGE=XXX -->

où XXX correspond au langage de script. Cette instruction fait apparaître la source de données dans le menu Plus du panneau Source de données uniquement lorsque le langage de script sélectionné est XXX. Par exemple, <!-- SCRIPTING-LANGUAGE=VBSCRIPT -->.

API de source de données

addDynamicSource()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Ajoute une source de données dynamiques. Comme il existe une implémentation de cette fonction dans chaque fichier de source de données, UltraDev appelle l'implémentation appropriée de la fonction addDynamicSource() dès qu'une source de données est sélectionnée dans le menu Plus (+).

Par exemple, pour les jeux d'enregistrements ou les commandes, UltraDev appelle la fonction dw.serverBehaviorInspectorpopupServerBehavior(), qui insère un nouveau comportement de serveur dans le document. Pour les variables de demande, de session et d'application, UltraDev affiche une boîte de dialogue HTML/JavaScript permettant de recueillir le nom de la variable ; le comportement stocke alors ce nom en vue d'une utilisation ultérieure.

Une fois la fonction addDynamicSource() renvoyée, UltraDev efface le contenu de l'arborescence de la source de données et appelle les fonctions findDynamicSources() et generateDynamicSourceBindings() pour remplir l'arborescence de la source de données.

Valeurs renvoyées

Aucune.

deleteDynamicSource()

Disponibilité

Dreamweaver UltraDev 1.0

Chapitre 13190

Page 191: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Appelée lorsqu'un utilisateur d'UltraDev sélectionne une source de données dans l'arborescence et clique sur le bouton Moins (-). La fonction deleteDynamicSource() affiche un message d'erreur dans certaines conditions. Par exemple, si un utilisateur tente de supprimer la colonne d'un jeu d'enregistrements, un message lui indique de supprimer plutôt le jeu d'enregistrements.

Ainsi, dans UltraDev, si la sélection est un jeu d'enregistrements ou une commande, la fonction deleteDynamicSource() appelle dw.serverBehaviorInspector.deleteServerBehavior(). Si la sélection est une variable de requête, de session ou d'application, la fonction se souvient que la variable a été supprimée et ne l'affiche plus par la suite. Une fois la fonction deleteDynamicSource() renvoyée, UltraDev efface le contenu de l'arborescence de la source de données et appelle les fonctions findDynamicSources() et generateDynamicSourceBindings() pour obtenir une liste à jour de toutes les sources de données associées au document de l'utilisateur.

Arguments

sourceName, bindingName

• sourceName est le nom du Nuds de niveau supérieur auquel le Nuds enfant est associé.

• bindingName est le nom du Nuds enfant.

Valeurs renvoyées

Aucune.

displayHelp()

Description

Si cette fonction est définie, un bouton Aide s'affiche sous les boutons OK et Annuler dans la boîte de dialogue. Cette fonction est appelée lorsque l'utilisateur clique sur le bouton Aide.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Dans l'exemple suivant, la fonction displayHelp() ouvre dans une fenêtre de navigateur un fichier contenant les instructions :

function displayHelp(){dreamweaver.browseDocument('http://www.hotwired.com/¬webmonkey/javascript/code_library/wm_pos2_elmnt_dw/¬?tw=javascript');

}

Sources de données 191

Page 192: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

findDynamicSources()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie les Nudss de niveau supérieur de l'arborescence de la source de données qui s'affiche dans le panneau Liaisons de données ou dans les boîtes de dialogue Données dynamiques ou Texte dynamique. Chaque fichier de la source de données contient une implémentation de la fonction findDynamicSources(). En actualisant l'arborescence, UltraDev parcourt tous les fichiers du dossier DataSources et appelle la fonction findDynamicSources() dans chacun d'eux.

Valeurs renvoyées

Un tableau d'objets JavaScript. Chaque objet peut avoir jusqu'à cinq attributs :

1 La propriété title correspond au libellé qui apparaît à droite de l'icône de chaque Nuds parent. La propriété title est obligatoire.

2 La propriété imageFile est le chemin d'un fichier contenant l'icône (image GIF) représentant le Nuds parent dans l'arborescence du panneau Liaisons de données ou dans les boîtes de dialogue Données dynamiques ou Texte dynamique. La propriété imageFile est obligatoire.

3 La propriété allowDelete est facultative. Si cette propriété est définie sur false, lorsque l'utilisateur clique sur ce Nuds dans le panneau Liaisons de données, le bouton Moins (-) est désactivé. Si elle est définie sur true, le bouton Moins (-) est activé. Si la propriété n'est pas définie, elle prend par défaut la valeur true.

4 La propriété dataSource est le nom du fichier dans lequel la fonction findDynamicSources() est définie. L'extension « .htm » n'est pas spécifiée. Par exemple, la fonction findDynamicSources() de Configuration/DataSources/ASP/session.htm définit la propriété dataSource sur session. Cette propriété est obligatoire.

5 La propriété name est le nom du comportement de serveur associé à la source de données, si elle existe. Cette propriété est obligatoire. Certaines sources de données, telles que des jeux d'enregistrements, sont associées à des comportements de serveur. Lorsque vous créez un jeu d'enregistrements et que vous le nommez Auteurs, la propriété « name » doit être égale à Auteurs. D'autres sources de données, telles que les variables de session, ne sont pas associées à un comportement de serveur. Leur propriété « name » doit être une chaîne vide (" ").

generateDynamicDataRef()

Disponibilité

Dreamweaver UltraDev 1.0

Chapitre 13192

Page 193: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Génère l'objet de données dynamiques pour un Nuds enfant.

Arguments

sourceName, bindingName

• sourceName est le nom du Nuds de niveau supérieur associé au Nuds enfant.

• bindingName est le nom du Nuds enfant à partir duquel vous souhaitez générer un objet de données dynamiques.

Valeurs renvoyées

Une chaîne, que vous pouvez transmettre à formatDynamicDataRef() pour la formater avant de l'insérer dans un document d'utilisateur.

generateDynamicSourceBindings()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie le Nuds enfant d'un Nuds de niveau supérieur.

Arguments

sourceName

sourceName est le nom du Nuds de niveau supérieur dont vous voulez renvoyer les Nudss enfants.

Valeurs renvoyées

Un tableau d'objets JavaScript. Chaque objet peut avoir jusqu'à quatre propriétés :

1 La propriété title correspond au libellé qui apparaît à droite de l'icône de chaque Nuds parent. La propriété title est obligatoire.

2 La propriété allowDelete est facultative. Si cette propriété est définie sur false, lorsque l'utilisateur clique sur ce Nuds dans le panneau Liaisons de données, le bouton Moins (-) est désactivé. Si elle est définie sur true, le bouton Moins (-) est activé. Si la propriété n'est pas définie, elle prend par défaut la valeur true.

3 La propriété dataSource est le nom du fichier dans lequel la fonction findDynamicSources() est définie. L'extension « .htm » n'est pas spécifiée. Par exemple, la fonction findDynamicSources() de Configuration/DataSources/ASP/session.htm définit la propriété dataSource sur session. Cette propriété est obligatoire.

Sources de données 193

Page 194: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4 La propriété name est le nom du comportement de serveur associé à la source de données, si elle existe. Cette propriété est obligatoire. Certaines sources de données, telles que des jeux d'enregistrements, sont associées à des comportements de serveur. Lorsque vous créez un jeu d'enregistrements et que vous le nommez Auteurs, la propriété « name » doit être égale à Auteurs. D'autres sources de données, telles que les variables de session, ne sont pas associées à un comportement de serveur. Leur propriété « name » doit être une chaîne vide (" ").

inspectDynamicDataRef()

Disponibilité

Dreamweaver UltraDev 1.0

Description

A partir d'un objet de données dynamiques, détermine le Nuds correspondant dans l'arborescence des sources de données. La fonction inspectDynamicDataRef() compare la chaîne transmise à la chaîne renvoyée par generateDynamicDataRef() pour chaque Nuds de l'arborescence. En cas de correspondance, la fonction inspectDynamicDataRef() indique quel Nuds de l'arborescence correspond à la chaîne transmise. La fonction identifie le Nuds au moyen d'un tableau composé de deux éléments. Le premier élément est le nom du Nuds parent ; le second est le nom du Nuds enfant. Si aucune correspondance n'est trouvée, inspectDynamicDataRef() renvoie un tableau vide.

Chaque implémentation de inspectDynamicDataRef() ne recherche que les correspondances de son propre type d'objet. Par exemple, l'implémentation de la fonction inspectDynamicDataRef() pour les jeux d'enregistrements ne trouve une correspondance que si la chaîne transmise correspond à un Nuds de jeu d'enregistrements dans l'arborescence.

Arguments

string

string désigne l'objet de données dynamiques.

Valeurs renvoyées

Un tableau de deux éléments (nom du parent et nom de l'enfant) pour le Nuds correspondant ; la valeur null si aucune correspondance n'est trouvée.

Chapitre 13194

Page 195: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4

1

CHAPITRE 14

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Formatage des données

Le chapitre précédent explique comment Dreamweaver UltraDev insère des données dynamiques dans le document de l'utilisateur en ajoutant une expression de serveur à l'endroit approprié. Lorsqu'un visiteur demande le document de l'utilisateur à partir du serveur web, l'expression est convertie en une valeur de base de données, en contenu d'une variable de requête ou en toute autre valeur dynamique. L'utilisateur UltraDev peut formater la façon dont cette valeur dynamique est présentée au visiteur.

Ce chapitre présente l'API utilisée pour formater les données dynamiques renvoyées par les fonctions décrites dans le chapitre précédent. Les fonctions décrites dans les deux chapitres fonctionnent de concert pour formater les données dynamiques. Si l'utilisateur choisit un format pour les données dynamiques, Dreamweaver UltraDev appelle la fonction de source de données generateDynamicDataRef(), décrite au chapitre précédent, pour que la chaîne soit insérée dans le document de l'utilisateur. Avant de l'insérer dans le document de l'utilisateur, UltraDev transmet cette chaîne à la fonction formatDynamicDataRef(), décrite dans ce chapitre. La chaîne renvoyée par cette fonction formatDynamicDataRef() représente les données dynamiques formatées finalement insérées dans le document de l'utilisateur.

L'utilisateur peut formater les données dynamiques de plusieurs façons. En utilisant le menu Format des boîtes de dialogue Données dynamiques ou Texte dynamique ou du panneau Liaisons de données, l'utilisateur peut formater les données avant de les insérer dans un document HTML. S'il veut créer un format, l'utilisateur peut choisir le menu Format, puis l'élément Modifier la liste de formats et sélectionner ensuite un type de format dans le menu Plus (+). Le menu Plus (+) contient une liste de types de format. Les types de format appartiennent à des catégories de format de base (Devise, Date/Heure, Casse, etc.) et regroupent tous les caractères communs à une catégorie, ce qui vous simplifie la tâche lorsque vous en créez un.

195

Page 196: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Supposons par exemple que vous vouliez créer un nouveau format de devise. Le formatage des devises consiste en fait à convertir un nombre en une chaîne et à insérer des virgules et un symbole de devise (le signe du dollar, $, par exemple). Le type de données de format Devise regroupe tous les paramètres communs et vous demande une valeur pour chacun d'eux. Lorsque vous créez un nouveau format de devise, il vous est demandé d'indiquer les valeurs requises.

Les utilisateurs d'UltraDev peuvent formater les données à l'aide de formats prédéfinis ou créer de nouveaux formats à partir de types prédéfinis ou de types qu'ils ont créés eux-mêmes.

Organisation du formatage de données Tous les fichiers de format résident dans le dossier ServerFormats du dossier Configuration. Chaque modèle de serveur possède son propre sous-dossier : ASP, JSP et ColdFusion. Chaque sous-dossier contient un fichier XML et plusieurs fichiers HTML.

Le fichier XML (Formats.xml) décrit tous les choix du menu Format. Les choix Aucun et Modifier la liste de formats sont automatiquement ajoutés par UltraDev.

Le dossier contient également un fichier HTML pour chaque type de format installé. Les types de format sont les suivants : Casse, Devise, Date/Heure, Maths, Nombre, Pourcentage, Simple et Rogner.

Fichier Formats.xml

Ce fichier contient une balise <format> pour chaque élément du menu Format. Chaque balise <format> contient les attributs obligatoires suivants :

• file=fileName, qui est le fichier HTML pour ce type de format. Exemple : « Devise ».

• title=string, qui est la chaîne qui apparaît dans le menu Format. Exemple : « Devise - Défaut ».

• expression=regexp, qui est une expression régulière correspondant aux objets de données dynamiques qui utilisent ce format. Cette expression permet de connaître le format appliqué à un objet de données dynamiques. Par exemple, l'expression correspondant au format « Devise - Défaut » serait « <%\s*=\s*FormatCurrency\(.*, -1, -2, -2, -2\)\s*%>|<%\s*=\s*DoCurrency\(.*, -1, -2, -2, -2\)\s*%> ». La valeur de l'attribut d'expression doit être unique parmi toutes les balises <format> du fichier. Elle doit être suffisamment précise pour garantir que seules les occurrences de ce format correspondent à l'expression.

• visibility=[hidden | visible], qui indique si la valeur est affichée dans le menu Format. Si la valeur de visibility est hidden (masqué), le format ne s'affiche pas dans le menu Format.

Chapitre 14196

Page 197: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La balise <format> peut éventuellement contenir des attributs supplémentaires ayant un nom arbitraire.

Certaines fonctions de formatage de données nécessitent un argument, format, qui est un objet JavaScript. Cet objet est le Nuds correspondant à la balise <format> dans le fichier Formats.xml. L'objet a une propriété JavaScript pour chaque attribut de la balise <format> correspondante.

Voici un exemple de balise <format> pour « Devise - Défaut » :

<format file="Currency" title="Devise - Défaut" ¬expression="<%\s*=\s*FormatCurrency\(.*, -1, -2, -2, -2\)\s*%>|¬<%\s*=\s*DoCurrency\(.*, -1, -2, -2, -2\)\s*%>" NumDigitsAfterDecimal=-1 IncludeLeadingDigit=-2 ¬UseParensForNegativeNumbers=-2 GroupDigits=-2/>

Dans ce cas, le type de format est Devise. La chaîne « Devise - Défaut » s'affiche dans le menu Format. L'expression <%\s*=\s*FormatCurrency\(.*, -1, -2, -2, -2\)\s*%>|<%\s*=\s*DoCurrency\(.*, -1, -2, -2, -2\)\s*%> est utilisée pour trouver des occurrences de ce format dans le document de l'utilisateur.

NumDigitsAfterDecimal, IncludeLeadingDigit, UseParensForNegativeNumbers et GroupDigits sont des paramètres du type de format Devise ; ils sont facultatifs. Ces paramètres s'affichent dans la boîte de dialogue Paramètres pour le type de format Devise. La boîte de dialogue Paramètres apparaît chaque fois qu'un utilisateur choisit le type de format Devise dans le menu Plus (+) de la boîte de dialogue Modifier la liste de formats. Les valeurs indiquées pour ces paramètres sont utilisées pour définir le nouveau format.

Menu Plus (+) de Modifier la liste de formats

Si vous ne voulez pas qu'un fichier du dossier ServerFormats apparaisse dans le menu Plus (+) de Modifier la liste de formats, ajoutez l'instruction suivante de manière à ce qu'elle figure sur la première ligne du fichier HTML :

<!-- MENU-LOCATION=NONE -->

Pour déterminer le contenu du menu, UltraDev commence par rechercher un fichier ServerFormats.xml dans le même dossier que les formats de données (par exemple, \Configuration\ServerFormats\ASP\ServerFormats.xml). Le fichier ServerFormats.xml décrit le contenu du menu Plus (+) de la boîte de dialogue Modifier la liste de formats. Il contient des références aux fichiers HTML devant figurer dans le menu.

Remarque : si vous voulez qu'un fichier du dossier DataSources s'applique uniquement à un langage de script spécifique, ajoutez l'instruction suivante de manière à ce qu'elle figure à la première ligne du fichier HTML :

<!-- SCRIPTING-LANGUAGE=XXX -->

Formatage des données 197

Page 198: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

où XXX correspond au langage de script. Cette instruction fait apparaître la source de données dans le menu Plus du panneau Source de données uniquement lorsque le langage de script sélectionné est XXX. Par exemple, <!-- SCRIPTING-LANGUAGE=VBSCRIPT -->.

UltraDev recherche une balise de titre dans chaque fichier HTML référencé. Si le fichier contient une balise de titre, le contenu de celle-ci est affiché dans le menu. Si le fichier ne contient pas de balise de titre, c'est le nom du fichier qui apparaît dans le menu.

Lorsqu'UltraDev a fini de travailler avec le fichier ServerFormats.xml ou si ce fichier n'existe pas, UltraDev analyse le reste du dossier pour vérifier s'il contient d'autres éléments devant apparaître dans le menu. Si le dossier principal s'avère contenir des fichiers qui ne figurent pas déjà dans le menu, ils y sont ajoutés. Si des sous-dossiers contiennent des fichiers qui ne figurent pas déjà dans le menu, UltraDev crée un sous-menu et les y ajoute.

Mise en service des fonctions de formatage de données Les fonctions de formatage de données sont appelées dans les cas suivants :

• Dans les boîtes de dialogue Données dynamiques ou Texte dynamique, l'utilisateur choisit un Nuds à partir de l'arborescence de la source de données et un format dans le menu Format. Lorsque le format est sélectionné, UltraDev appelle generateDynamicDataRef(), puis transmet la valeur renvoyée de generateDynamicDataRef() à formatDynamicDataRef(). La valeur renvoyée de formatDynamicDataRef() s'affiche dans le paramètre Code de la boîte de dialogue. Quand l'utilisateur clique sur OK, la chaîne de code est insérée dans le document de l'utilisateur ainsi qu'à l'emplacement du point d'insertion. UltraDev appelle ensuite la fonction applyFormat() pour insérer une déclaration de fonction. Pour plus d'informations, voir « generateDynamicDataRef() », page 192. Un processus similaire a lieu lorsque l'utilisateur utilise le panneau Liaisons de données.

• L'utilisateur change le format ou efface l'élément de données dynamiques. La fonction deleteFormat() est alors appelée. Cette fonction deleteFormat() supprime les scripts correspondants du document.

Chapitre 14198

Page 199: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Lorsque l'utilisateur clique sur le bouton plus (+) de la boîte de dialogue Modifier la liste de formats, UltraDev affiche un menu contenant tous les types de format pour le modèle de serveur utilisé. Chaque type de format correspond à un fichier du dossier Configuration\ServerFormats\[ModèleServeur].

Si l'utilisateur choisit, dans le menu Plus (+), un format qui nécessite un paramètre spécifié par l'utilisateur, UltraDev soumet la balise « body » au gestionnaire onLoad, puis ouvre la boîte de dialogue Paramètres, qui affiche les paramètres de ce type de format. Dans cette boîte de dialogue, l'utilisateur choisit les paramètres du format et clique sur OK. UltraDev appelle alors la fonction applyFormatDefinition().

Si le format choisi ne nécessite pas l'affichage d'une boîte de dialogue et permet à l'utilisateur de choisir des paramètres, UltraDev appelle la fonction applyFormatDefinition() lorsque l'utilisateur choisit le type de format dans le menu Plus (+).

• Par la suite, si l'utilisateur modifie le format (en le sélectionnant dans la boîte de dialogue Modifier la liste de formats et en cliquant sur le bouton Modifier), UltraDev appelle la fonction inspectFormatDefinition() avant d'afficher la boîte de dialogue Paramètres, de façon à ce que les commandes de formulaire puissent être initialisées sur les valeurs correctes.

API de formatage de données

applyFormat()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Ajoute une déclaration de fonction de format au document de l'utilisateur. Lorsqu'un utilisateur choisit un format dans le champ Format des boîtes de dialogue Données dynamiques ou Texte dynamique ou dans le panneau Liaisons de données, UltraDev apporte deux modifications au document de l'utilisateur : il ajoute la fonction de format appropriée au-dessus de la balise HTML (si elle ne s'y trouve pas déjà) et il modifie l'objet de données dynamiques pour appeler la fonction de format appropriée.

UltraDev ajoute la déclaration de fonction en appelant la fonction JavaScript applyFormat() dans le fichier Format des données. Il modifie l'objet de données dynamique en appelant la fonction formatDynamicDataRef().

La fonction applyFormat() doit utiliser le DOM (Document Object Model, Modèle d'objet de document) pour ajouter des déclarations de fonction au début du document de l'utilisateur. Par exemple, si l'utilisateur choisit Devise - Défaut, la fonction ajoute la déclaration de la fonction Currency.

Formatage des données 199

Page 200: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Cette fonction peut modifier un document de l'utilisateur.

Arguments

format

format est un objet JavaScript qui décrit le format à appliquer. Cet objet JavaScript constitue le Nuds correspondant à la balise <format> dans le fichier Formats.xml. L'objet a une propriété JavaScript pour chaque attribut de la balise <format> correspondante.

Valeurs renvoyées

Aucune.

applyFormatDefinition()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Applique les changements à un format créé à partir de la boîte de dialogue Modifier le format.

Les utilisateurs peuvent créer, modifier ou supprimer des formats à partir de la boîte de dialogue Modifier la liste de formats. Cette fonction est appelée pour appliquer toutes les modifications réalisées. Elle peut également définir d'autres propriétés, nommées arbitrairement, pour l'objet. Chaque propriété est stockée en tant qu'attribut de la balise <format> dans le fichier Formats.xml.

Arguments

format

format est un objet JavaScript correspondant à ce format. Cette fonction doit faire de la propriété expression de l'objet JavaScript l'expression régulière du format. Elle peut également définir d'autres propriétés, nommées arbitrairement, pour l'objet. Chacune de ces propriétés est stockée en tant qu'attribut de la balise <format>.

Valeurs renvoyées

L'objet de format est renvoyé, si la fonction est correctement appliquée. En cas d'erreur, une chaîne d'erreur est renvoyée. Si une chaîne vide est renvoyée, le formulaire est fermé mais le nouveau format n'est pas créé, ce qui revient à annuler l'opération.

deleteFormat()

Disponibilité

Dreamweaver UltraDev 1.0

Chapitre 14200

Page 201: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Supprime la déclaration de fonction du format au début du document de l'utilisateur.

Lorsque l'utilisateur change le format d'un objet de données dynamiques (dans le panneau Liaisons de données ou dans les boîtes de dialogue Données dynamiques ou Texte dynamique) ou supprime un objet de données dynamiques formaté, UltraDev supprime la déclaration de fonction au début du document, ainsi que l'appel de la fonction de l'objet de données dynamique en appliquant la fonction deleteFormat().

La fonction deleteFormat() doit utiliser le DOM pour supprimer la déclaration de fonction au début du document.

Arguments

format

format est un objet JavaScript qui décrit le format à supprimer. Cet objet JavaScript constitue le Nuds correspondant à la balise <format> dans le fichier Formats.xml.

Valeurs renvoyées

Aucune.

formatDynamicDataRef()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Ajoute à l'objet de données dynamiques l'appel de la fonction de format. Lorsqu'un utilisateur choisit un format dans le champ Format des boîtes de dialogue Données dynamiques ou Texte dynamique ou dans le panneau Liaisons de données, UltraDev apporte deux modifications au document de l'utilisateur : il ajoute la fonction de format appropriée au-dessus de la balise HTML (si elle ne s'y trouve pas déjà) et il modifie l'objet de données dynamiques pour appeler la fonction de format appropriée.

UltraDev ajoute la déclaration de fonction en appelant la fonction JavaScript applyFormat() dans le fichier de format des données. Il modifie l'objet de données dynamique en appelant la fonction formatDynamicDataRef().

La fonction formatDynamicDataRef() est appelée lorsque l'utilisateur choisit un format dans le champ Format du panneau Liaisons de données ou dans les boîtes de dialogue Données dynamiques ou Texte dynamique. Elle ne modifie pas le document de l'utilisateur.

Formatage des données 201

Page 202: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

dynamicDataObject, format

• dynamicDataObject est une chaîne contenant l'objet de données dynamiques.

• format est un objet JavaScript qui décrit le format à appliquer. Cet objet JavaScript constitue le Nuds correspondant à la balise <format> dans le fichier Formats.xml. L'objet a une propriété JavaScript pour chaque attribut de la balise <format> correspondante.

Valeurs renvoyées

La nouvelle valeur de l'objet de données dynamiques est renvoyée.

Si une erreur a lieu, la fonction affiche un message d'avertissement dans certaines conditions. Si la fonction renvoie une chaîne vide, le champ Format prend la valeur Aucun.

inspectFormatDefinition()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Initialise les commandes de formulaire lorsqu'un utilisateur essaie de modifier un format existant dans la boîte de dialogue Modifier la liste de formats.

Arguments

format

format est un objet JavaScript qui décrit le format à appliquer. Cet objet JavaScript constitue le Nuds correspondant à la balise <format> dans le fichier Formats.xml. L'objet a une propriété JavaScript pour chaque attribut de la balise <format> correspondante.

Valeurs renvoyées

Aucune.

Chapitre 14202

Page 203: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

5

1

CHAPITRE 15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modèles de serveur

Les modèles de serveur sont des techniques permettant d'exécuter des scripts sur un serveur. Lorsqu'il définit un site à l'aide de Dreamweaver UltraDev, l'utilisateur spécifie le modèle de serveur qu'il exploite. UltraDev utilise ce modèle pour déterminer le code approprié à utiliser lorsque l'utilisateur ajoute des éléments dynamiques aux pages du site.

Tous les modèles de serveur résident dans le sous-dossier ServerModels du dossier Configuration. Chaque modèle de serveur possède son propre fichier : ASP 2.0, ColdFusion 4.0 et JSP 1.0.

Fonctions API des modèles de serveurUltraDev utilise les fonctions getServerLanguages(), getFileExtensions() et getVersionArray() pour déterminer les options à présenter à l'utilisateur dans l'onglet Serveur d'application de la boîte de dialogue Définition du site.

displayHelp()

Description

Si cette fonction est définie, un bouton Aide s'affiche sous les boutons OK et Annuler dans la boîte de dialogue. Cette fonction est appelée lorsque l'utilisateur clique sur le bouton Aide.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

203

Page 204: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction displayHelp() ouvre dans une fenêtre de navigateur un fichier contenant les instructions :

function displayHelp(){dreamweaver.browseDocument('http://www.hotwired.com/¬webmonkey/javascript/code_library/wm_pos2_elmnt_dw/¬?tw=javascript');

}

getFileExtensions()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie les extensions des fichiers avec lesquels un modèle de serveur peut fonctionner. Par exemple, le modèle de serveur ASP prend en charge les extensions de fichier .asp et .htm. Cette fonction renvoie un tableau de chaînes ; UltraDev utilise ces chaînes pour compléter la liste Extension de page par défaut contenue dans la catégorie Serveur d'application de la boîte de dialogue Définition du site.

Arguments

Aucun.

Valeurs renvoyées

Un tableau de chaînes représentant les extensions de fichier autorisées.

getServerLanguages()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie les langages de script d'un modèle de serveur pris en charge. Cette fonction renvoie un tableau de chaînes ; UltraDev utilise ces chaînes pour compléter la liste Langage de script par défaut contenue dans la catégorie Serveur d'application de la boîte de dialogue Définition du site.

Un modèle de serveur peut prendre en charge plusieurs langages de script. Par exemple, le modèle de serveur ASP prend en charge JavaScript et VBScript.

Remarque : si vous voulez qu'un fichier du répertoire ServerFormats s'applique uniquement à un langage de script spécifique, ajoutez l'instruction suivante sur la première ligne du fichier HTML :

<!-- SCRIPTING-LANGUAGE=XXX -->

où XXX correspond au langage de script. Cette instruction provoque l'apparition du comportement de serveur dans le menu Plus du panneau Comportements de serveur, seulement quand le langage de script sélectionné est XXX.

Chapitre 15204

Page 205: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Un tableau de chaînes représentant les langages de script pris en charge.

getServerExtension()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Renvoie l'extension par défaut des fichiers exploitant le modèle de serveur en cours. L'objet serverModel est défini sur le modèle de serveur du site sélectionné si aucun document utilisateur n'est sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne représentant les extensions de fichier prises en charge.

getVersionArray()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Met en correspondance les techniques de serveur avec les numéros de version. Cette fonction est appelée par dom.serverModel.getServerVersion().

Arguments

Aucun.

Valeurs renvoyées

Un tableau d'objets de version, chacun portant un nom et une valeur de version :

• ASP version 2.0

• ADODB version 2.1

Modèles de serveur 205

Page 206: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 15206

Page 207: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

6

1

CHAPITRE 16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API d'intégration de Fireworks

FWLaunch est une bibliothèque C partagée qui donne aux auteurs d'objets, de commandes, de comportements et d'inspecteurs de propriétés la possibilité de communiquer avec Fireworks. Ce chapitre décrit l'API d'intégration de Fireworks et son utilisation. Pour obtenir des informations générales sur la façon dont les bibliothèques C interagissent avec l'interpréteur JavaScript dans Dreamweaver, voir « Extensions C », page 319.

API d'intégration de FireworksToutes les fonctions de l'API d'intégration de Fireworks sont des méthodes associées à l'objet FWLaunch. Les arguments facultatifs sont indiqués entre accolades ({ }).

FWLaunch.bringDWToFront()

Disponibilité

Dreamweaver 3.0, Fireworks 3.0

Description

Fait passer Dreamweaver au premier plan.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

207

Page 208: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

FWLaunch.bringFWToFront()

Disponibilité

Dreamweaver 3.0, Fireworks 3.0

Description

Fait passer Fireworks au premier plan s'il est en cours d'exécution.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

FWLaunch.execJsInFireworks()

Disponibilité

Dreamweaver 3.0, Fireworks 3.0

Description

Transmet la chaîne JavaScript spécifiée à Fireworks en vue de son exécution.

Arguments

javascriptOrFileURL

L’argument est soit une chaîne de JavaScript littéral, soit le chemin d’accès d'un fichier .js ou .jsf, exprimé sous la forme d’une URL de type file://.

Valeurs renvoyées

Un objet cookie si le code JavaScript a été transmis avec succès ou un code d'erreur non nul indiquant que l'une des erreurs suivantes s'est produite :

• Utilisation non valide ; l'argument javascriptOrFileURL a été spécifié comme étant null ou sous forme d'une chaîne vide ou le chemin d'accès au fichier .js ou .jsf n'était pas valide.

• Erreur d'E/S de fichier ; Fireworks ne peut pas créer de fichier réponse car le disque est saturé.

• Erreur de notification de Dreamweaver ; l'utilisateur n'exécute pas une version valide de Dreamweaver (3.0 ou ultérieure).

• Erreur de lancement du traitement de Fireworks ; la fonction n'a pas lancé une version valide de Fireworks (3.0 ou ultérieure).

• L'utilisateur a annulé l'opération.

Chapitre 16208

Page 209: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

FWLaunch.getJsResponse()

Disponibilité

Dreamweaver 3.0, Fireworks 3.0

Description

Détermine si Fireworks est toujours en train d'exécuter le code JavaScript qui lui a été transmis par la fonction FWLaunch.execJsInFireworks(), que l'exécution du script se soit terminée avec succès ou qu'une erreur se soit produite.

Arguments

progressTrackerCookie

L'argument est l'objet cookie renvoyé par FWLaunch.execJsInFireworks().

Valeurs renvoyées

Une chaîne contenant le résultat du script transmis à FWLaunch.execJsInFireworks() si l'opération s'est terminée avec succès, null si Fireworks est toujours en train d'exécuter le code JavaScript, ou un code d'erreur non nul indiquant que l'une des erreurs suivantes s'est produite :

• Utilisation non valide ; une erreur JavaScript s'est produite pendant que Fireworks exécutait le script.

• Erreur d'E/S de fichier ; Fireworks ne peut pas créer de fichier réponse car le disque est saturé.

• Erreur de notification de Dreamweaver ; l'utilisateur n'exécute pas une version valide de Dreamweaver (3.0 ou ultérieure).

• Erreur de lancement du traitement de Fireworks ; la fonction n'a pas lancé une version valide de Fireworks (3.0 ou ultérieure).

• L'utilisateur a annulé l'opération.

API d'intégration de Fireworks 209

Page 210: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Le code suivant transmet la chaîne "prompt('Please enter your name:')" à la fonction FWLaunch.execJsInFireworks(), puis il vérifie le résultat :

var progressCookie = FWLaunch.execJsInFireworks("prompt('Please enter your name:')");var doneFlag = false;while (!doneFlag){

// check for completion every 1/2 secondsetTimeout('checkForCompletion()',500);

}

function checkForCompletion(){if (progressCookie != null) {

var response = FWLaunch.getJsResponse(progressCookie);if (response != null) {

if (typeof(response) == "number") {// error or user-cancel, time to close the window // and let the user know we got an errorwindow.close();alert("An error occurred.");

}else{// got a valid response!alert("Nice to meet you, " + response);window.close();

}doneFlag = true;

}}

}

FWLaunch.mayLaunchFireworks()

Disponibilité

Dreamweaver 2.0, Fireworks 2.0

Description

Détermine s'il est possible de lancer une session d'optimisation de Fireworks.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si la plate-forme est Windows ou Macintosh. Sur Macintosh, indique si une autre session d'optimisation de Fireworks est déjà en cours d'exécution.

Chapitre 16210

Page 211: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

FWLaunch.optimizeInFireworks()

Disponibilité

Dreamweaver 2.0, Fireworks 2.0

Description

Lance une session d'optimisation de Fireworks pour l'image spécifiée.

Arguments

docURL, imageURL, {targetWidth}, {targetHeight}

• Le premier argument est le chemin d'accès du document actif, exprimé sous la forme d'une URL de type file://.

• Le deuxième argument est le chemin de l'image sélectionnée. S'il s'agit d'un chemin relatif, il est relatif à docURL.

• Le troisième argument, s'il est fourni, est la largeur par rapport à laquelle l'image doit être redimensionnée.

• Le quatrième argument, s'il est fourni, est la hauteur par rapport à laquelle l'image doit être redimensionnée.

Valeurs renvoyées

0 si une session d'optimisation de Fireworks a été lancée avec succès pour l'image spécifiée ; sinon, un code d'erreur non nul indiquant que l'une des erreurs suivantes s'est produite :

• Utilisation non valide ; l'argument docURL, l'argument imageURL, ou les deux, ont été spécifiés comme étant null ou sous forme d'une chaîne vide.

• Erreur d'E/S de fichier ; Fireworks ne peut pas créer de fichier réponse car le disque est saturé.

• Erreur de notification de Dreamweaver ; l'utilisateur n'exécute pas une version valide de Dreamweaver (2.0 ou ultérieure).

• Erreur de lancement du traitement de Fireworks ; la fonction n'a pas lancé une version valide de Fireworks (2.0 ou ultérieure).

• L'utilisateur a annulé l'opération.

API d'intégration de Fireworks 211

Page 212: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

FWLaunch.validateFireworks()

Disponibilité

Dreamweaver 2.0, Fireworks 2.0

Description

Recherche la version spécifiée de Fireworks sur le disque dur de l'utilisateur.

Arguments

{versionNumber}

L'argument est un nombre à virgule flottante supérieur ou égal à 2.0 ; il représente la version de Fireworks qui doit être recherchée. Si cet argument n’est pas défini, il prend par défaut la valeur 2.0.

Valeurs renvoyées

Une valeur booléenne indiquant si la version spécifiée de Fireworks a été trouvée.

Exemple

Le code suivant vérifie si Fireworks 3.0 est installé :

if (FWLaunch.validateFireworks(3.0)){alert( "Fireworks 3.0 is installed.");

}else{alert( "Fireworks 3.0 is not installed.");

}

Chapitre 16212

Page 213: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple simple d'intégration de FireworksLa commande suivante demande à Fireworks d'inviter l'utilisateur à entrer son nom, puis renvoie le nom à Dreamweaver.

<html><head><title>Prompt in Fireworks</title><meta http-equiv="Content-Type" content="text/html; ¬charset=iso-8859-1"><script>

function commandButtons(){return new Array("Prompt", "promptInFireworks()", "Cancel", ¬"readyToCancel()", "Close","window.close()");

}

var gCancelClicked = false;var gProgressTrackerCookie = null;

function readyToCancel() {gCancelClicked = true;

}

function promptInFireworks() {var isFireworks3 = FWLaunch.validateFireworks(3.0);if (!isFireworks3) {

alert("You must have Fireworks 3.0 or later to use this ¬command");

return;}

// Tell Fireworks to execute the prompt() method.gProgressTrackerCookie = FWLaunch.execJsInFireworks¬("prompt('Please enter your name:')");

// null means it wasn't launched, a number means an error codeif (gProgressTrackerCookie == null || ¬typeof(gProgressTrackerCookie) == "number") {

window.close();alert("an error occurred");gProgressTrackerCookie = null;

} else {// bring Fireworks to the frontFWLaunch.bringFWToFront();// start the checking to see if Fireworks is done yetcheckOneMoreTime();

}}

function checkOneMoreTime() {// Call checkJsResponse() every 1/2 second to see if Fireworks

// is done yet

API d'intégration de Fireworks 213

Page 214: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

window.setTimeout("checkJsResponse();", 500);}function checkJsResponse() {

var response = null;

// The user clicked the cancel button, close the windowif (gCancelClicked) {

window.close();alert("cancel clicked");

} else {// We're still going, ask Fireworks how it's doingif (gProgressTrackerCookie != null)

response = ¬FWLaunch.getJsResponse(gProgressTrackerCookie);

if (response == null) {// still waiting for a response, call us again in 1/2 a // secondcheckOneMoreTime();

} else if (typeof(response) == "number") {// if the response was a number, it means an error // occurred // the user cancelled in Fireworkswindow.close();alert("an error occurred.");

} else {// got a valid response! This return value might not // always be a useful one, since not all functions in // Fireworks return a string, but we know this one does, // so we can show the user what we got.window.close();FWLaunch.bringDWToFront(); // bring Dreamweaver to the ¬frontalert("Nice to meet you, " + response + "!");

}}

}

</script></head><body><form><table width="313" nowrap><tr><td>This command asks Fireworks to execute the prompt() ¬function. When you click Prompt, Fireworks comes forward and ¬asks you to enter a value into a dialog box. That value is then ¬returned to Dreamweaver and displayed in an alert.</td></tr></table></form></body></html>

Chapitre 16214

Page 215: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

7

1

CHAPITRE 17

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API des objets Flash

L'API des objets Flash est une extension de l'API d'objets permettant aux développeurs d'extension de construire des objets pour créer un contenu Flash simple. Cette API fournit un moyen de définir des paramètres dans un modèle Flash Generator (fichier .swt) pour réaliser une animation Flash ou un fichier image. Outre qu'elle permet de créer de nouveaux objets Flash, l'API permet également de lire et de manipuler des objets Flash existants. Les fonctionnalités bouton Flash et texte Flash sont construites à l'aide de cette API.

Le fichier de modèle Flash Generator .swt contient toutes les informations indispensables à la construction d'un fichier d'objet Flash (.swf ). Ces fonctions API vous permettent de créer un nouveau fichier .swf (ou fichier image) à partir d'un fichier .swt en remplaçant les paramètres du fichier .swt par des valeurs réelles. Pour plus d'informations sur Flash et Flash Generator, voir les manuels respectifs.

SWFFile.createFile()

Description

Génère un nouveau fichier Objet Flash à partir du modèle et du tableau de paramètres spécifiés. Crée également une version GIF, PNG, JPEG et MOV du titre si les noms de fichier sous ces formats sont précisés.

Pour pouvoir déterminer un paramètre facultatif placé après les paramètres facultatifs que vous ne voulez pas spécifier, vous devez déterminer des chaînes vides pour ces paramètres. Par exemple, si vous souhaitez spécifier un fichier .png, mais pas de fichier .gif, vous devez déterminer une chaîne vide avant de préciser le nom du fichier .png.

Arguments

templateFile, templateParams, swfFileName, {gifFileName}, {pngFileName}, {jpgFileName}, {movFileName}, {generatorParams}

215

Page 216: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• templateFile est le chemin d'accès du fichier modèle, exprimé sous la forme d'une URL de type file://. Il peut s'agir d'un fichier .swt.

• templateParams est un tableau de paires nom/valeur dans lequel les noms identifient les paramètres du fichier .swt et les valeurs correspondent à la définition que vous voulez leur attribuer. Pour qu'un fichier .swf soit reconnu comme étant un objet Flash par Dreamweaver, le premier paramètre doit être "dwType". Sa valeur doit être une chaîne représentant le nom du type d'objet, telle que "Flash Text".

• swfFileName est le nom de fichier de sortie d'un nom de fichier .swf, exprimé sous la forme d'une URL de type file:// ou sous la forme d'une chaîne vide à ignorer.

• {gifFileName} est le nom de fichier de sortie d'un nom de fichier .gif, exprimé sous la forme d'une URL de type file://. Facultatif.

• {pngFileName} est le nom de fichier de sortie d'un nom de fichier .png, exprimé sous la forme d'une URL de type file://. Facultatif.

• {jpgFileName} est le nom de fichier de sortie d'un nom de fichier .jpeg, exprimé sous la forme d’une URL de type file://. Facultatif.

• {movFileName} est le nom de fichier de sortie d'un nom de fichier d'animation QuickTime, exprimé sous la forme d'une URL de type file://. Facultatif.

• {generatorParams} est un tableau de chaînes représentant les indicateurs facultatifs de la ligne de commande de Generator. Facultatif. Dans le tableau, chaque indicateur doit être suivi de ses éléments de données. Les indicateurs couramment utilisés sont répertoriés dans le tableau suivant.

Valeurs renvoyées

Chaîne contenant l'une des valeurs suivantes :

• "noError" signifie que l'appel s'est déroulé sans anomalie.

• "invalidTemplateFile" signifie que le fichier de modèle choisi était invalide ou introuvable.

• "invalidOutputFile" signifie qu'au moins un des noms de fichier de sortie spécifiés n'était pas valable.

Indicateur d'option

Données Description Exemple

-defaultsize largeur, hauteur Définit la taille de l'image de sortie en fonction des largeur et hauteur indiquées.

"-defaultsize", "640", "480"

-exactFit aucune Etend le contenu de l'image de sortie pour qu'il s'adapte exactement à la taille de sortie indiquée.

"-exactFit"

Chapitre 17216

Page 217: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• "invalidData" signifie qu'un ou plusieurs des paramètres templateParams n'étaient pas valables.

• "initGeneratorFailed" signifie que Generator n'a pas pu être initialisé.

• "outOfMemory" signifie que l'opération n'a pas pu se terminer correctement faute de mémoire.

• "unknownError" signifie qu'une erreur inconnue s'est produite.

Exemple

Le code JavaScript suivant crée un fichier Objet Flash de type "myType" qui remplace chaque occurrence du mot "text" par "Hello World" à l'intérieur du fichier modèle. Il va créer un fichier .gif et un fichier .swf.

var params = new Array;params[0] = "dwType";params[1] = "myType";params[2] = "text";params[3] = "Hello World";errorString = SWFFile.createFile( "file:///MyMac/test.swt", ¬params, "file:///MyMac/test.swf", "file:///MyMac/test.gif");

SWFFile.getNaturalSize()

Description

Renvoie la taille initiale d'une animation Flash.

Arguments

fileName

fileName est un chemin d'accès de l'animation Flash, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Un tableau contenant deux éléments, représentant la largeur et la hauteur de l'animation, ou null si le fichier n'est pas un fichier Flash.

SWFFile.getObjectType()

Description

Renvoie le type d'objet Flash, c'est-à-dire la valeur transmise dans le paramètre dwType lorsque le fichier a été créé par la fonction SWFFile.createFile().

Arguments

fileName

fileName est un chemin d'accès du fichier Objet Flash, exprimé sous la forme d'une URL de type file://. Il s'agit généralement d'un fichier .swf.

API des objets Flash 217

Page 218: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une chaîne représentant le type d'objet ou null si le fichier n'est pas un fichier Objet Flash ou s'il est demeuré introuvable.

Exemple

Le code suivant vérifie si le fichier test.swf est un objet Flash de type myType :

if ( SWFFile.getObjectType("file:///MyMac/test.swf") == ¬"myType" ){

alert ("This is a myType object.");}else{

alert ("This is not a myType object.");}

SWFFile.readFile()

Description

Lit un fichier Objet Flash.

Arguments

fileName

fileName est un chemin d'accès du fichier Objet Flash à lire, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Tableau de chaînes. Le premier élément du tableau est le chemin d'accès complet du fichier modèle .swt. Les chaînes suivantes représentent les paramètres (paires nom/valeur) de l'objet. Dans le tableau, chaque nom est suivi de sa valeur. La première paire nom/valeur est "dwType" suivie de sa valeur ; null est renvoyé si le fichier demeure introuvable ou s'il n'est pas de type Objet Flash.

Exemple

L'appel suivant :

var params = SWFFile.readFile("file:///MyMac/test.swf");

renvoie dans le tableau des paramètres ce qui suit :

"file:///MyMac/test.swt" // the template file used to create ¬this .swf file"dwType" // first parameter"myType" // first parameter value"text" // second parameter"Hello World" // second parameter value

Chapitre 17218

Page 219: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

8

1

CHAPITRE 18

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API de Design Notes

UltraDev 4, Dreamweaver 4 et Fireworks 4 offrent aux créateurs de sites web et aux développeurs un nouveau moyen de stocker et de récupérer des informations complémentaires sur les documents (telles que des commentaires de révision, des notes de modification ou le fichier source d'un document GIF ou JPEG) dans des fichiers appelés Design Notes.

MMNotes est une bibliothèque C partagée qui permet aux auteurs d'extensions de lire et d'écrire dans les fichiers Design Notes. A l'instar de la bibliothèque partagée DWfile, MMNotes possède une API JavaScript qui permet d'appeler les fonctions de la bibliothèque à partir d'objets, de commandes, de comportements, de panneaux flottants, d'inspecteurs de propriétés et de traducteurs de données.

MMNotes possède également une API C qui donne à d'autres applications la possibilité de lire et d'écrire dans les fichiers Design Notes. La bibliothèque partagée MMNotes peut être utilisée indépendamment de Dreamweaver, que Dreamweaver soit installé ou non.

Pour plus d'informations sur l'utilisation de la fonctionnalité Design Notes dans Dreamweaver, voir le manuel Utilisation de Dreamweaver.

Fonctionnement de Design NotesChaque fichier Design Notes stocke des informations relatives à un seul document. Si un fichier Design Notes est associé à un ou plusieurs documents dans un dossier, Dreamweaver crée un sous-dossier _notes pour y stocker les fichiers Design Notes. Le dossier _notes et les fichiers Design Notes qu'il contient ne sont pas visibles dans la fenêtre Site, mais ils s'affichent dans le Finder Macintosh ou dans l'Explorateur Windows. Un nom de fichier Design Notes est composé du nom du fichier principal suivi de l'extension .mno. Par exemple, le fichier Design Notes associé à avocado8.gif est avocado8.gif.mno.

219

Page 220: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Les fichiers Design Notes sont des fichiers XML stockant des informations sous la forme d'une série de paires clé/valeur. La clé décrit le type des informations stockées, et la valeur représente les informations elles-mêmes. Les clés sont limitées à 64 caractères.

Le fichier Design Notes associé au fichier foghorn.gif pourrait ressembler à ce qui suit :

<?xml version="1.0" encoding="iso-8859-1" ?><info>

<infoitem key="FW_source" value="file:///C|sites/¬dreamcentral/images/sourceFiles/foghorn.png" /><infoitem key="Author" value="Heidi B." /><infoitem key="Status" value="Final draft, approved ¬by Jay L." />

</info>

API JavaScript de Design NotesToutes les fonctions de l'API JavaScript de Design Notes sont des méthodes associées à l'objet MMNotes. Les arguments facultatifs sont indiqués entre accolades ({ }).

MMNotes.close()

Description

Ferme le fichier Design Notes spécifié et enregistre les modifications éventuelles. Si toutes les paires clé/valeur ont été supprimées, Dreamweaver supprime le fichier Design Notes.

Arguments

fileHandle

L'argument est l'identificateur de fichier renvoyé par MMNotes.open().

Valeurs renvoyées

Aucune.

Exemple

Voir « MMNotes.set() », page 224.

MMNotes.filePathToLocalURL()

Description

Convertit le chemin d'accès du lecteur local spécifié en une URL de type file://.

Arguments

drivePath

L'argument est une chaîne contenant le chemin d'accès complet du lecteur.

Chapitre 18220

Page 221: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une chaîne contenant l'URL de type file:// du fichier spécifié.

Exemple

Un appel à la fonction MMNotes.filePathToLocalURL('C:/sites/webdev/index.htm') renvoie "file:///c|sites/webdev/index.htm".

MMNotes.get()

Description

Obtient la valeur de la clé spécifiée dans le fichier Design Notes indiqué.

Arguments

fileHandle, keyName

• Le premier argument est l'identificateur de fichier renvoyé par MMNotes.open().

• Le deuxième argument est une chaîne contenant le nom de la clé.

Valeurs renvoyées

Une chaîne contenant la valeur de la clé.

Exemple

Voir « MMNotes.getKeys() », page 221 .

MMNotes.getKeyCount()

Description

Obtient le nombre de paires clé/valeur du fichier Design Notes spécifié.

Arguments

fileHandle

L'argument est l'identificateur de fichier renvoyé par MMNotes.open().

Valeurs renvoyées

Un nombre entier représentant le nombre de paires clé/valeur du fichier Design Notes spécifié.

MMNotes.getKeys()

Description

Obtient une liste de toutes les clés d'un fichier Design Notes.

Arguments

fileHandle

L'argument est l'identificateur de fichier renvoyé par MMNotes.open().

API de Design Notes 221

Page 222: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un tableau de chaînes, chacune d'elles contenant le nom d'une clé.

Exemple

Le code suivant peut être utilisé dans un panneau flottant personnalisé afin d'afficher les informations Design Notes relatives au document actif :

var noteHandle = MMNotes.open(dw.getDocumentDOM().URL);var theKeys = MMNotes.getKeys(noteHandle);var noteString = "";var theValue = "";for (var i=0; i < theKeys.length; i++){

theValue = MMNotes.get(noteHandle,theKeys[i]);noteString += theKeys[i] + " = " theValue + "\n";

}document.theForm.bigTextField.value = noteString;

MMNotes.getSiteRootForFile()

Description

Détermine la racine du site pour le fichier Design Notes spécifié.

Arguments

fileURL

L’argument est le chemin d’un fichier local, exprimé sous la forme d’une URL de type file://.

Valeurs renvoyées

Une chaîne contenant le chemin d'accès du dossier racine local du site, exprimé sous la forme d'une URL de type file://, ou une chaîne vide si Dreamweaver (ou UltraDev) n'est pas installé ou si le fichier Design Notes se trouve en dehors de tout site défini par Dreamweaver ou UltraDev.

MMNotes.getVersionName()

Description

Obtient le nom de version de la bibliothèque partagée MMNotes indiquant l'application qui l'a implémentée.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le nom de l'application qui a implémenté la bibliothèque partagée MMNotes.

Chapitre 18222

Page 223: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

L'appel de la fonction MMNotes.getVersionName() à partir d'une commande, d'un objet, d'un comportement, d'un inspecteur de propriétés, d'un panneau flottant ou d'un traducteur de données Dreamweaver renvoie "Dreamweaver". L'appel de la fonction MMNotes.getVersionName() à partir de Fireworks renvoie également la valeur "Dreamweaver" étant donné que Fireworks utilise la même version de la bibliothèque (celle qui a été créée par l'équipe technique de Dreamweaver).

MMNotes.getVersionNum()

Description

Obtient le numéro de version de la bibliothèque partagée MMNotes.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le numéro de version.

MMNotes.localURLToFilePath()

Description

Convertit l'URL de type file:// spécifiée en un chemin d'accès du lecteur local.

Arguments

fileURL

L’argument est le chemin d’un fichier local, exprimé sous la forme d’une URL de type file://.

Valeurs renvoyées

Une chaîne contenant le chemin d'accès du lecteur local pour le fichier spécifié.

Exemple

Un appel à la fonction MMNotes.localURLToFilePath('file:///MacintoshHD/images/moon.gif') renvoie "MacintoshHD:images:moon.gif".

MMNotes.open()

Description

Ouvre le fichier Design Notes associé au fichier spécifié ou crée un fichier Design Notes s'il n'en existe pas.

Arguments

filePath, {bForceCreate}

• Le premier argument est le chemin du fichier principal auquel le fichier Design Notes est associé, exprimé sous la forme d’une URL de type file://.

API de Design Notes 223

Page 224: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Le deuxième argument est une valeur booléenne indiquant si la Note doit être créée même si la fonctionnalité Design Notes est désactivée pour le site ou si filePath n'est associé à aucun site.

Valeurs renvoyées

L'identificateur du fichier Design Notes ou zéro (0) si le fichier n'a pas été ouvert ni créé.

Exemple

Voir « MMNotes.set() », page 224 .

MMNotes.remove()

Description

Supprime la clé spécifiée (et sa valeur) du fichier Design Notes indiqué.

Arguments

fileHandle, keyName

• Le premier argument est l'identificateur de fichier renvoyé par MMNotes.open().

• Le deuxième argument est une chaîne contenant le nom de la clé à supprimer.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi.

MMNotes.set()

Description

Crée ou met à jour une paire clé/valeur dans un fichier Design Notes.

Arguments

fileHandle, keyName, valueString

• Le premier argument est l'identificateur de fichier renvoyé par MMNotes.open().

• Le deuxième argument est une chaîne contenant le nom de la clé.

• Le troisième argument est une chaîne contenant la valeur.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi.

Chapitre 18224

Page 225: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Le code suivant ouvre le fichier Design Notes associé à un fichier situé sur le site dreamcentral appelé peakhike99/index.html, ajoute une nouvelle paire clé/valeur, modifie la valeur d'une clé existante, puis ferme le fichier Note.

var noteHandle = MMNotes.open('file:///c|sites/dreamcentral/peakhike99/index.html',true);MMNotes.set(noteHandle,"Author","M. G. Miller");MMNotes.set(noteHandle,"Last Changed","August 28, 1999");MMNotes.close(noteHandle);

API C de Design NotesOutre l'API JavaScript, la bibliothèque partagée MMNotes affiche une API C permettant aux autres applications de créer des fichiers Design Notes. Il n'est pas nécessaire d'appeler les fonctions C directement si vous utilisez la bibliothèque partagée MMNotes dans Dreamweaver ; les versions JavaScript de ces fonctions les appellent pour vous.

Cette section contient une description de ces fonctions, de leurs arguments et des valeurs qu'elles renvoient ; les définitions de toutes les fonctions et de tous les types de données sont disponibles dans le fichier MMInfo.h du dossier Extending/c_files dans le dossier de l'application Dreamweaver.

Les arguments facultatifs sont indiqués entre accolades ({ }).

void CloseNotesFile()

Description

Ferme le fichier Design Notes spécifié et enregistre les modifications éventuelles. Si toutes les paires clé/valeur ont été supprimées de la Note, Dreamweaver supprime cette dernière.

Arguments

FileHandle noteHandle

L'argument est l'identificateur de fichier renvoyé par OpenNotesFile().

Valeurs renvoyées

Aucune.

BOOL FilePathToLocalURL()

Description

Convertit le chemin d'accès du lecteur local spécifié en une URL de type file://.

Arguments

const char* drivePath, char* localURLBuf, int localURLMaxLen

API de Design Notes 225

Page 226: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Le premier argument est une chaîne contenant le chemin d'accès complet du lecteur.

• Le deuxième argument est la zone de mémoire tampon où l'URL de type file:// doit être stockée.

• Le troisième argument est la taille maximale de localURLBuf.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage de l'URL de type file:// dans localURLBuf.

BOOL GetNote()

Description

Obtient la valeur de la clé spécifiée dans le fichier Design Notes indiqué.

Arguments

FileHandle noteHandle, const char keyName[64], char* valueBuf, int valueBufLength

• Le premier argument est l'identificateur de fichier renvoyé par OpenNotesFile().

• Le deuxième argument est une chaîne contenant le nom de la clé.

• Le troisième argument est la zone de mémoire tampon où la valeur doit être stockée.

• Le quatrième argument est le nombre entier renvoyé par GetNoteLength(noteHandle,keyName), indiquant la longueur maximale de la mémoire tampon des valeurs.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage de la valeur de la clé dans valueBuf.

Exemple

Le code suivant obtient la valeur de la clé comments dans le fichier Design Notes associé à welcome.html :

FileHandle noteHandle = OpenNotesFile("file:///c|sites/avocado8/¬iwjs/welcome.html");int valueLength = GetNotesLength( noteHandle, "comments");char* valueBuffer = new char[valueLength + 1] ¬GetNote(noteHandle, "comments", valueBuffer, valueLength + 1);printf("Comments: %s",valueBuffer);CloseNotesFile(noteHandle);

Chapitre 18226

Page 227: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

int GetNoteLength()

Description

Obtient la longueur de la valeur associée à la clé spécifiée.

Arguments

FileHandle noteHandle, const char keyName[64]

• Le premier argument est l'identificateur de fichier renvoyé par OpenNotesFile().

• Le deuxième argument est une chaîne contenant le nom de la clé.

Valeurs renvoyées

Un nombre entier représentant la longueur de la valeur.

Exemple

Voir « BOOL GetNote() », page 226 .

int GetNotesKeyCount()

Description

Obtient le nombre de paires clé/valeur du fichier Design Notes spécifié.

Arguments

FileHandle noteHandle

L'argument est l'identificateur de fichier renvoyé par OpenNotesFile().

Valeurs renvoyées

Un nombre entier représentant le nombre de paires clé/valeur du fichier Design Notes spécifié.

BOOL GetNotesKeys()

Description

Obtient une liste de toutes les clés d'un fichier Design Notes.

Arguments

FileHandle noteHandle, char* keyBufArray[64], int keyArrayMaxLen

• Le premier argument est l'identificateur de fichier renvoyé par OpenNotesFile().

• Le deuxième argument est le tableau en mémoire tampon où les clés doivent être stockées.

• Le troisième argument est le nombre entier renvoyé par GetNotesKeyCount(noteHandle), indiquant le nombre maximum d'éléments contenu dans le tableau en mémoire tampon des clés.

API de Design Notes 227

Page 228: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage des noms de clé dans keyBufArray.

Exemple

Le code suivant imprime les noms de clé et les valeurs de toutes les clés du fichier Design Notes associé à welcome.html :

typedef char[64] InfoKey;FileHandle noteHandle = OpenNotesFile("file:///c|sites/avocado8/¬iwjs/welcome.html");if (noteHandle > 0){

int keyCount = GetNotesKeyCount(noteHandle);if (keyCount <= 0)

return;InfoKey* keys = new InfoKey[keyCount];BOOL succeeded = GetNotesKeys(noteHandle, keys, keyCount);

if (succeeded){for (int i=0; i < keyCount; i++){

printf(“Key is: %s\n", keys[i]);printf("Value is: %s\n\n", GetNote(noteHandle, keys[i]);

}delete keys;

}CloseNotesFile(noteHandle);

BOOL GetSiteRootForFile()

Description

Détermine la racine du site pour le fichier Design Notes spécifié.

Arguments

char* filePath, char* siteRootBuf, int siteRootBufMaxLen, {InfoPrefs* infoPrefs}

• Le premier argument est l'identificateur de fichier renvoyé par OpenNotesFile().

• Le deuxième argument est la zone de mémoire tampon où la racine du site doit être stockée.

• Le troisième argument est la taille maximale de siteRootBuf.

• Le quatrième argument est une référence à un struct dans lequel les préférences du site doivent être stockées.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage de la racine du site dans siteRootBuf. Si infoPrefs est spécifié, la fonction renvoie également les préférences Design Notes pour le site. Le struct InfoPrefs possède deux variables : bUseDesignNotes et bUploadDesignNotes, toutes deux de type BOOL.

Chapitre 18228

Page 229: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

BOOL GetVersionName()

Description

Obtient le nom de version de la bibliothèque partagée MMNotes indiquant l'application qui l'a implémentée.

Arguments

char* versionNameBuf, int versionNameBufMaxLen

• Le premier argument est la zone de mémoire tampon où le nom de version doit être stocké.

• Le deuxième argument est la taille maximale de versionNameBuf.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage du nom de version dans versionNameBuf.

BOOL GetVersionNum()

Description

Obtient le numéro de version de la bibliothèque partagée MMNotes.

Arguments

char* versionNumBuf, int versionNumBufMaxLen

• Le premier argument est la zone de mémoire tampon où le numéro de version doit être stocké.

• Le deuxième argument est la taille maximale de versionNumBuf.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage du numéro de version dans versionNumBuf.

BOOL LocalURLToFilePath()

Description

Convertit l'URL de type file:// spécifiée en un chemin d'accès du lecteur local.

Arguments

const char* localURL, char* drivePathBuf, int drivePathMaxLen

• Le premier argument est le chemin d’un fichier local, exprimé sous la forme d’une URL de type file://.

• Le deuxième argument est la zone de mémoire tampon où le chemin d'accès du lecteur local doit être stocké.

• Le troisième argument est la taille maximale de drivePathBuf.

API de Design Notes 229

Page 230: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ; stockage du chemin d'accès du lecteur local dans drivePathBuf.

FileHandle OpenNotesFile()

Description

Ouvre le fichier Design Notes associé au fichier spécifié ou crée un fichier Design Notes s'il n'en existe pas.

Arguments

const char* localFileURL, {BOOL bForceCreate}

• Le premier argument est une chaîne contenant le chemin du fichier principal auquel le fichier Design Notes est associé, exprimé sous la forme d’une URL de type file://.

• Le deuxième argument est une valeur booléenne indiquant si le fichier Design Notes doit être créé même si la fonctionnalité Design Notes est désactivée pour le site ou si filePath n'est associé à aucun site.

FileHandle OpenNotesFilewithOpenFlags()

Description

Ouvre le fichier Design Notes associé au fichier spécifié ou crée un fichier Design Notes s'il n'en existe pas. Vous pouvez ouvrir le fichier en mode lecture seule.

Arguments

const char* localFileURL, {BOOL bForceCreate}, {BOOL bReadOnly}

• Le premier argument est une chaîne contenant le chemin du fichier principal auquel le fichier Design Notes est associé, exprimé sous la forme d’une URL de type file://.

• Le deuxième argument est une valeur booléenne indiquant si le fichier Design Notes doit être créé même si la fonctionnalité Design Notes est désactivée pour le site ou si filePath n'est associé à aucun site. La valeur par défaut est false. Cet argument est facultatif, mais vous devez le définir si vous spécifiez le troisième argument.

• Le troisième argument est une valeur booléenne indiquant si le fichier doit être ouvert en mode lecture seule. La valeur par défaut est false. Cet argument est facultatif.

BOOL RemoveNote()

Description

Supprime la clé spécifiée (et sa valeur) du fichier Design Notes indiqué.

Chapitre 18230

Page 231: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

FileHandle noteHandle, const char keyName[64]

• Le premier argument est l'identificateur de fichier renvoyé par OpenNotesFile().

• Le deuxième argument est une chaîne contenant le nom de la clé à supprimer.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi.

BOOL SetNote()

Description

Crée ou met à jour une paire clé/valeur dans un fichier Design Notes.

Arguments

FileHandle noteHandle, const char keyName[64], const char* value

• Le premier argument est l'identificateur de fichier renvoyé par OpenNotesFile().

• Le deuxième argument est une chaîne contenant le nom de la clé.

• Le troisième argument est une chaîne contenant la valeur.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi.

API de Design Notes 231

Page 232: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 18232

Page 233: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

9

1

CHAPITRE 19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API d'E/S de fichiers

Dreamweaver est livré avec une bibliothèque partagée C, appelée DWFile, qui donne aux auteurs d'objets, de commandes, de comportements, de traducteurs de données, de panneaux flottants et d'inspecteurs de propriétés la possibilité de lire et d'écrire des fichiers sur le système de fichiers local. Ce chapitre décrit l'API d'entrée/sortie de fichiers et son utilisation.

Pour obtenir des informations générales sur la façon dont les bibliothèques C interagissent avec l'interpréteur JavaScript dans Dreamweaver, voir « Extensions C », page 319.

Vérification de l'installation de DWfilePour que l'accès aux fonctions de la bibliothèque DWfile soit possible, cette bibliothèque doit se trouver dans le dossier Configuration/JSExtensions et être chargée par Dreamweaver. Comme DWfile n'était pas fourni avec Dreamweaver 2 (l'utilisateur devait le télécharger séparément et l'installer), vérifiez que cette bibliothèque est disponible avant d'appeler une de ses fonctions. Pour ce faire, vérifiez le code typeof(DWfile). Si DWfile n'existe pas, typeof(DWfile) renvoie undefined. Par exemple, si vous utilisez DWfile dans le contexte d'une commande, vous pouvez vérifier si DWfile fait partie de la fonction canAcceptCommand() :

// Returns true if typeof(DWfile) is not undefined, false// otherwise.function canAcceptCommand(){

return (typeof(DWfile) != "undefined");}

233

Page 234: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

API d'E/S de fichiersToutes les fonctions de l'API d'E/S de fichiers sont des méthodes associées à l'objet DWfile. Les arguments facultatifs sont indiqués entre accolades ({ }). Les fonctions ayant une disponibilité de la version 2.0 sont celles qui étaient incluses dans la version de DWfile fournie sous forme de téléchargement pour Dreamweaver 2 à partir du site web de Macromedia. Il est possible que cette version de DWfile ait été installée avec certains objets propriétaires.

DWfile.copy()

Disponibilité

Dreamweaver 3.0

Description

Copie le fichier spécifié vers l'URL spécifiée.

Arguments

originalURL, copyURL

• Le premier argument est le fichier que vous souhaitez copier, exprimé sous la forme d'une URL de type file://.

• Le deuxième argument est l'emplacement dans lequel est enregistré le fichier copié, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

true si la copie a réussi, sinon false.

Exemple

Le code suivant copie un fichier appelé myconfig.cfg vers myconfig_backup.cfg.

var fileURL = "file:///c|/Config/myconfig.cfg";var newURL ="file:///c|/Config/myconfig_backup.cfg"; DWfile.copy(fileURL, newURL);

DWfile.createFolder()

Disponibilité

Dreamweaver 2.0

Description

Crée un dossier (répertoire) à l'emplacement spécifié.

Arguments

folderURL

L'argument est l'emplacement du dossier que vous souhaitez créer, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

true si le dossier a été créé avec succès, sinon false.

Chapitre 19234

Page 235: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Le code suivant tente de créer un dossier nommé tempFolder à la racine du lecteur C et affiche un message d'avertissement indiquant si l'opération a réussi.

var folderURL = "file:///c|/tempFolder";if (DWfile.createFolder(folderURL)){

alert("Created " + folderURL);}else{

alert("Unable to create " + folderURL);}

DWfile.exists()

Disponibilité

Dreamweaver 2.0

Description

Vérifie l'existence du fichier spécifié.

Arguments

fileURL

L'argument est le fichier que vous recherchez, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

true si le fichier existe, sinon false.

Exemple

Le code suivant recherche un fichier nommé mydata.txt et affiche un message d'avertissement indiquant à l'utilisateur si le fichier existe.

var fileURL = "file:///c|/temp/mydata.txt";if (DWfile.exists(fileURL)){

alert( fileURL + " exists!");}else{

alert( fileURL + " does not exist.");}

DWfile.getAttributes()

Disponibilité

Dreamweaver 2.0

Description

Obtient les attributs du fichier ou dossier spécifié.

Arguments

fileURL

L'argument est le fichier ou le dossier dont vous souhaitez obtenir les attributs, exprimé sous la forme d'une URL de type file://.

API d'E/S de fichiers 235

Page 236: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une chaîne représentant les attributs du fichier ou dossier spécifié ou null si le fichier ou dossier n'existe pas. Les caractères de la chaîne représentent les attributs de la façon suivante :

• R signifie lecture seule.

• D signifie dossier (répertoire).

• H signifie masqué.

• S indique un fichier ou dossier système.

Exemple

Le code suivant extrait les attributs du fichier mydata.txt et il affiche un message d'avertissement si le fichier est en lecture seule.

var URL = "file:///c|/temp/mydata.txt";var str = DWfile.getAttributes(URL);if (str && (str.indexOf("R") != -1)){

alert(URL + " is read only!");}

DWfile.getModificationDate()

Disponibilité

Dreamweaver 2.0

Description

Renvoie l'heure à laquelle le fichier a été modifié pour la dernière fois.

Arguments

fileURL

L'argument est le fichier dont vous recherchez l'heure de la dernière modification, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Une chaîne contenant un nombre hexadécimal qui représente le nombre d'unités de temps écoulées depuis une base de temps. La signification exacte des unités de temps et de la base de temps dépend de la plate-forme ; sous Windows, par exemple, une unité de temps est égale à 100 ns et la base de temps est le 1er janvier 1600.

Chapitre 19236

Page 237: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Comme la valeur renvoyée par cette fonction n'est pas une date et une heure identifiables (et parce qu'elle dépend de la plate-forme), il est utile d'appeler la fonction deux fois et de comparer les valeurs renvoyées. Par exemple, le code suivant renvoie les dates de modification de file1.txt et file2.txt et il affiche un message d'avertissement indiquant quel fichier est le plus récent.

var file1 = "file:///c|/temp/file1.txt";var file2 = "file:///c|/temp/file2.txt";var time1 = DWfile.getModificationDate(file1);var time2 = DWfile.getModificationDate(file2);if (time1 == time2){

alert("file1 and file2 were saved at the same time");}else if (time1 < time2){

alert("file1 older than file2");}else{

alert("file1 is newer than file2");}

DWfile.getCreationDate()

Disponibilité

Dreamweaver 4.0

Description

Indique l'heure à laquelle le fichier a été créé.

Arguments

fileURL

L'argument est le fichier dont vous recherchez l'heure de création, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Une chaîne contenant un nombre hexadécimal qui représente le nombre d'unités de temps écoulées depuis une base de temps. La signification exacte des unités de temps et de la base de temps dépend de la plate-forme ; sous Windows, par exemple, une unité de temps est égale à 100 ns et la base de temps est le 1er janvier 1600.

API d'E/S de fichiers 237

Page 238: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Vous pouvez appeler cette fonction ainsi que la fonction DWfile.getModificationDate() pour un fichier afin de comparer les dates de modification et de création.

var file1 = "file:///c|/temp/file1.txt";var time1 = DWfile.getCreationDate(file1);var time2 = DWfile.getModificationDate(file1);if (time1 == time2){

alert("file1 has not been modified since it was created");}else if (time1 < time2){

alert("file1 was last modified on time2");}

DWfile.listFolder()

Disponibilité

Dreamweaver 2.0

Description

Obtient une liste du contenu du dossier spécifié.

Arguments

folderURL, {constraint}

• Le premier argument est le dossier pour lequel vous souhaitez obtenir une liste de contenu, exprimé sous la forme d'une URL de type file://, plus un masque de fichier à caractères génériques facultatif. Les caractères génériques valides sont * (correspond à 1 ou plusieurs caractères) et ? (correspond à un seul caractère).

• Le deuxième argument, s'il est fourni, doit être soit « files » (renvoyer uniquement les fichiers), soit « directories » (renvoyer uniquement les répertoires). Si cet argument est omis, la fonction renvoie à la fois des fichiers et des répertoires.

Valeurs renvoyées

Un tableau de chaînes représentant le contenu du dossier.

Exemple

Le code suivant obtient une liste de tous les fichiers texte (.txt) du dossier Temp et affiche la liste dans un message d'avertissement.

var folderURL = "file:///c|/temp";var fileMask = "*.txt";var list = listFolder(folderURL + "/" + fileMask, "files");if (list){

alert(folderURL + " contains: " + list.join("\n"));}

Chapitre 19238

Page 239: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

DWfile.read()

Disponibilité

Dreamweaver 2.0

Description

Lit le contenu du fichier spécifié dans une chaîne.

Arguments

fileURL

L'argument est le fichier que vous souhaitez lire, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Une chaîne comprenant le contenu du fichier ou null en cas d'échec de la lecture.

Exemple

Le code suivant lit le fichier mydata.txt et, s'il réussit, affiche un message d'avertissement renfermant le contenu du fichier.

var fileURL = "file:///c|/temp/mydata.txt";var str = DWfile.read( fileURL);if (str){

alert( fileURL + " contains: " + str);}

DWfile.remove()

Disponibilité

Dreamweaver 3.0

Description

Déplace le fichier spécifié dans la Corbeille.

Arguments

fileURL

L'argument est le fichier que vous souhaitez supprimer, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

true si l'opération a réussi, sinon false.

DWfile.write()

Disponibilité

Dreamweaver 2.0

Description

Rédige la chaîne spécifiée dans le fichier spécifié. Si le fichier spécifié n'existe pas, il est créé.

API d'E/S de fichiers 239

Page 240: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

fileURL, text, {mode}

• Le premier argument est le fichier dans lequel vous écrivez, exprimé sous la forme d'une URL de type file://.

• Le deuxième argument est la chaîne qui doit être écrite.

• Le troisième argument, s'il est fourni, doit être « append ». Si cet argument est omis, le contenu du fichier est écrasé par la chaîne.

Valeurs renvoyées

true si l'écriture de la chaîne dans le fichier a réussi, sinon false.

Exemple

Le code suivant tente d'écrire la chaîne "xxx" dans le fichier mydata.txt et affiche un message d'avertissement si l'écriture a réussi. Il essaie alors d'ajouter la chaîne "aaa" au fichier et affiche un deuxième message d'avertissement si l'écriture a réussi. Après l'exécution de ce script, le fichier mydata.txt contient uniquement le texte xxxaaa.

var fileURL = "file:///c|/temp/mydata.txt";if (DWfile.write(fileURL, "xxx")){

alert("Wrote xxx to " + fileURL);}if (DWfile.write(fileURL, "aaa", "append")){

alert("Appended aaa to " + fileURL);}

Chapitre 19240

Page 241: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

0

2

CHAPITRE 20

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API HTTP

Les extensions ne fonctionnent pas uniquement dans le système de fichiers local. Dreamweaver offre un mécanisme d'acquisition d'informations depuis un serveur web et d'envoi d'informations à un serveur web via le protocole HTTP (Hypertext Transfer Protocol). Ce chapitre décrit l'API HTTP et son utilisation.

API HTTPToutes les fonctions de l'API HTTP sont des méthodes associées à l'objet MMHttp. La plupart d'entre elles acceptent au moins une URL comme argument et la plupart renvoient un objet. Le port par défaut pour les arguments URL est 80 ; pour spécifier un port différent, ajoutez deux points (:) et le numéro de port à la suite de l'URL. Exemple :

MMHttp.getText("http://www.myserver.com:8025");

Pour les fonctions qui renvoient un objet, cet objet possède deux propriétés : statusCode et data.

statusCode indique l'état de l'opération ; les valeurs possibles sont notamment :

• 200: Status OK (état OK)

• 400: Unintelligible request (requête incompréhensible)

• 404: Requested URL not found (URL demandée introuvable)

• 405: Server does not support requested method (le serveur ne prend pas en charge la méthode demandée)

• 500: Unknown server error (erreur de serveur inconnue)

• 503: Server capacity reached (capacité du serveur atteinte)

241

Page 242: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour obtenir une liste complète des codes d'état pour votre serveur, consultez votre fournisseur d'accès Internet ou votre administrateur système.

La valeur de la propriété data varie selon la fonction ; les valeurs possibles sont spécifiées dans les listes des fonctions individuelles.

Les fonctions qui renvoient un objet ont également une version de rappel (« callback »). Les fonctions de rappel permettent aux autres fonctions de s'exécuter pendant que le serveur web traite une requête HTTP. Elles sont utiles si vous effectuez plusieurs requêtes HTTP à partir de Dreamweaver. La version de rappel d'une fonction transmet directement son ID et sa valeur de renvoi à la fonction spécifiée sous la forme de son premier argument.

Les arguments facultatifs sont indiqués entre accolades ({ }).

MMHttp.clearTemp()

Description

Supprime tous les fichiers du dossier Configuration/Temp situé dans le dossier de l'application Dreamweaver.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Exemple

Le code suivant, lorsqu'il est enregistré dans un fichier du dossier Configuration/Shutdown, supprime tous les fichiers du dossier Configuration/Temp lorsque l'utilisateur quitte Dreamweaver :

<html><head><title>Clean Up Temp Files on Shutdown</title></head><body onLoad="MMHttp.clearTemp()"></body></html>

MMHttp.getFile()

Description

Obtient le fichier situé à l'URL spécifiée et l'enregistre dans le dossier Configuration/Temp du dossier de l'application Dreamweaver sur le disque dur de l'utilisateur. Dreamweaver crée automatiquement des sous-dossiers qui reproduisent la structure de dossiers du serveur ; par exemple, si le fichier spécifié est dans http://www.dreamcentral.com/people/index.html, Dreamweaver enregistre le fichier index.html dans le sous-dossier People du dossier www.dreamcentral.com.

Chapitre 20242

Page 243: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

URL, {prompt}, {saveURL}, {titleBarLabel}

• Le premier argument est une URL absolue sur un serveur web ; si « http:// » n'est pas indiqué dans l'URL, il est supposé.

• Le deuxième argument est une valeur booléenne spécifiant s'il faut inviter l'utilisateur à enregistrer le fichier. Si saveURL est en dehors du dossier Configuration/Temp, une valeur de prompt égale à false n'est pas prise en compte pour des raisons de sécurité.

• Le troisième argument est l'emplacement sur le disque dur de l'utilisateur où le fichier doit être enregistré, exprimé sous la forme d’une URL de type file://. Si l'argument prompt a pour valeur true ou si saveURL est en dehors du dossier Configuration/Temp, l'utilisateur peut remplacer saveURL dans la boîte de dialogue d'enregistrement.

• Le quatrième argument est le libellé qui doit figurer dans la barre de titre de la boîte de dialogue d'enregistrement.

Valeurs renvoyées

Un objet représentant la réponse du serveur. La propriété data de cet objet est une chaîne contenant l'emplacement où le fichier a été enregistré, exprimé sous la forme d'une URL de type file://. Normalement, la propriété statusCode de l'objet contient le code d'état envoyé par le serveur. Toutefois, si une erreur de disque se produit lors de l'enregistrement du fichier sur le lecteur local, la propriété statusCode contient un entier représentant l'un des codes d'erreur suivants en cas d'échec de l'opération :

• 1: Unspecified error (erreur inconnue)

• 2: File not found (fichier introuvable)

• 3: Invalid path (chemin non valide)

• 4: Number of open files limit reached (la limite du nombre de fichiers ouverts est atteinte)

• 5: Access denied (accès refusé)

• 6: Invalid file handle (identificateur de fichier non valide)

• 7: Cannot remove current working directory (impossible de supprimer le répertoire de travail en cours)

• 8: No more directory entries (pas d'autre entrée de répertoire)

• 9: Error setting file pointer (erreur lors de la définition du pointeur de fichier)

• 10: Hardware error (erreur matérielle)

• 11: Sharing violation (violation de partage)

• 12: Lock violation (violation de verrouillage)

• 13: Disk full (disque saturé)

• 14: End of file reached (fin du fichier atteinte)

API HTTP 243

Page 244: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Le code suivant obtient un fichier HTML, enregistre tous les fichiers dans le dossier Configuration/Temp, puis ouvre la copie locale du fichier HTML dans un navigateur :

var httpReply = MMHttp.getFile("http://www.dreamcentral.com/¬people/profiles/scott.html",false);if (httpReply.statusCode == 200){

var saveLoc = httpReply.data;dw.browseDocument(saveLoc);

}

MMHttp.getFileCallback()

Description

Obtient le fichier situé à l'URL spécifiée, l'enregistre dans le dossier Configuration/Temp du dossier de l'application Dreamweaver sur le disque dur de l'utilisateur, puis appelle la fonction spécifiée avec l’ID et le résultat de la requête. Lorsque le fichier est enregistré localement, Dreamweaver crée automatiquement des sous-dossiers qui reproduisent l'arborescence du serveur ; par exemple, si le fichier spécifié est dans http://www.dreamcentral.com/people/index.html, Dreamweaver enregistre le fichier index.html dans le sous-dossier People du dossier www.dreamcentral.com.

Arguments

callbackFunction, URL, {prompt}, {saveURL}, {titleBarLabel}

• Le premier argument est le nom de la fonction JavaScript à appeler lorsque la requête HTTP est terminée.

• Le deuxième argument est une URL absolue sur un serveur web ; si « http:// » n'est pas indiqué dans l'URL, il est supposé.

• Le troisième argument est une valeur booléenne spécifiant s'il faut inviter l'utilisateur à enregistrer le fichier. Si saveURL est en dehors du dossier Configuration/Temp, une valeur de prompt égale à false n'est pas prise en compte pour des raisons de sécurité.

• Le quatrième argument est l'emplacement sur le disque dur de l'utilisateur où le fichier doit être enregistré, exprimé sous la forme d’une URL de type file://. Si l'argument prompt a pour valeur true ou si saveURL est en dehors du dossier Configuration/Temp, l'utilisateur peut remplacer saveURL dans la boîte de dialogue d'enregistrement.

• Le cinquième argument est le libellé qui doit figurer dans la barre de titre de la boîte de dialogue d'enregistrement.

Chapitre 20244

Page 245: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un objet représentant la réponse du serveur. La propriété data de cet objet est une chaîne contenant l'emplacement où le fichier a été enregistré, exprimé sous la forme d'une URL de type file://. Normalement, la propriété statusCode de l'objet contient le code d'état envoyé par le serveur. Toutefois, si une erreur disque se produit lors de l'enregistrement du fichier sur le lecteur local, la propriété statusCode contient un nombre entier représentant un code d'erreur. Voir « MMHttp.getFile() », page 242 pour une liste des codes d'erreur possibles.

MMHttp.getText()

Description

Extrait le contenu du document situé à l'URL spécifiée.

Arguments

URL

L'argument est une URL absolue sur un serveur web ; si « http:// » n'est pas indiqué dans l'URL, il est supposé.

Valeurs renvoyées

Un objet représentant la réponse du serveur. La propriété data de cet objet est une chaîne englobant le contenu du document.

Exemple

Le code suivant obtient le contenu d'un fichier situé sur un serveur web et le place dans un nouveau document Dreamweaver sans titre :

var httpReply = MMHttp.getText("http://www.dreamcentral.com/¬people/profiles/lori.html");if (httpReply.statusCode == 200){

var newDoc = dw.createDocument();newDoc.documentElement.outerHTML = httpReply.data;

}

MMHttp.getTextCallback()

Description

Extrait le contenu du document situé à l'URL spécifiée et le passe à la fonction spécifiée.

Arguments

callbackFunc, URL

• Le premier argument est le nom de la fonction JavaScript à appeler lorsque la requête HTTP est terminée.

• Le deuxième argument est une URL absolue sur un serveur web ; si « http:// » n'est pas indiqué dans l'URL, il est supposé.

API HTTP 245

Page 246: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un objet représentant la réponse du serveur. La propriété data de cet objet est une chaîne englobant le contenu du document.

Exemple

Le code suivant renseigne un champ de formulaire avec le texte renvoyé par la fonction MMHttp.GetTextCallback() ou affiche un message d'erreur si la fonction renvoie une erreur :

var requestID = MMHttp.getTextCallback("httpCallback", ¬"www.dreamcentral.com/index.html")

function httpCallback(requestID,reply) {if (reply.statusCode == 200) {

document.theForm.docContents.value = reply.data;}else{

alert("Request #: " + requestID + "returned the following ¬error: " + reply.statusCode);

}}

MMHttp.postText()

Description

Exécute un envoi HTTP des données spécifiées à l'URL spécifiée. En règle générale, les données associées à une opération d'envoi se présentent sous la forme de texte codé en formulaire, mais il peut s'agir de tout type de données que le serveur peut accepter.

Arguments

URL, dataToPost, {contentType}

• Le premier argument est une URL absolue sur un serveur web ; si « http:// » n'est pas indiqué dans l'URL, il est supposé.

• Le deuxième argument correspond aux données à envoyer. Si le troisième argument est « application/x-www-form-urlencoded » ou s'il n'est pas spécifié, dataToPost doit être codé en formulaire conformément à la section 8.2.1 de la spécification RFC 1866 (disponible à l'adresse http://www.faqs.org/rfcs/rfc1866.html).

• Le troisième argument est le type de contenu des données à envoyer. S'il n'est pas spécifié, il prend par défaut la valeur « application/x-www-form-urlencoded ».

Valeurs renvoyées

Un objet représentant la réponse du serveur. La propriété data de cet objet est une chaîne englobant les données résultant de l'opération d'envoi.

Chapitre 20246

Page 247: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

MMHttp.postTextCallback()

Description

Exécute un envoi HTTP du texte à l'URL spécifiée et passe la réponse du serveur à la fonction spécifiée. En règle générale, les données associées à une opération d'envoi se présentent sous la forme de texte codé en formulaire, mais il peut s'agir de tout type de données que le serveur peut accepter.

Arguments

callbackFunc, URL, dataToPost, {contentType}

• Le premier argument est le nom de la fonction JavaScript à appeler lorsque la requête HTTP est terminée.

• Le deuxième argument est une URL absolue sur un serveur web ; si « http:// » n'est pas indiqué dans l'URL, il est supposé.

• Le troisième argument correspond aux données à envoyer. Si le troisième argument est « application/x-www-form-urlencoded » ou s'il n'est pas spécifié, data doit être codé en formulaire conformément à la section 8.2.1 de la spécification RFC 1866 (disponible à l'adresse http://www.faqs.org/rfcs/rfc1866.html).

• Le quatrième argument est le type de contenu des données à envoyer. S'il n'est pas spécifié, il prend par défaut la valeur « application/x-www-form-urlencoded ».

Valeurs renvoyées

Un objet représentant la réponse du serveur. La propriété data de cet objet est une chaîne englobant les données résultant de l'opération d'envoi.

API HTTP 247

Page 248: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 20248

Page 249: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

1

2

CHAPITRE 21

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API de base de données

Les fonctions de base de données vous permettent d'utiliser des instructions SQL et des procédures stockées. A l'aide de ces fonctions, vous pouvez obtenir certaines informations sur le schéma de base de données. Un schéma de base de données donne la structure de la base (ces données structurelles sont également appelées méta-données). La structure d'une base de données comprend les noms des tableaux et des colonnes de la base de données. Les fonctions de l'API de base de données vous permettent d'extraire les noms des tableaux et des colonnes des instructions SQL et des procédures stockées, d'extraire les noms d'utilisateur et les mots de passe servant à établir des connexions de base de données et d'afficher les résultats d'une instruction SQL ou d'une procédure stockée exécutée. Ces fonctions sont utilisées au moment de la conception, lorsque les utilisateurs développent leurs applications web, par opposition au moment de l'exécution, c'est-à-dire lorsque l'application web est déployée.

Les fonctions de base de données peuvent être utilisées par n'importe quelle extension. En fait, les fonctions API de comportements de serveur, formats de données et sources de données d'UltraDev utilisent les fonctions de base de données.

L'exemple suivant illustre la définition de la fonction de comportement de serveur, getDynamicBindings(), pour le jeu d'enregistrements (le fichier Recordset.js figure dans le dossier /Configuration/ServerBehaviors/ASP).

249

Page 250: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Notez que la fonction MMDB.getColumnList() est utilisée.

fonction getDynamicBindings(elementNode){

var ss = findSSrec(elementNode, LABEL_Type)

var connString = ss.activeconnectionvar connName = ss.connectionNamevar statement = ss.sourcevar rsName = ss.rsName

var pa = new Array()

if (String(ss.ParamArray) != "undefined"){

for (var i = 0; i < ss.ParamArray.length; i++){

pa[i] = new Array()pa[i][0] = ss.ParamArray[i].namepa[i][1] = ss.ParamArray[i].value

}}

var statement = ReplaceParamsWithVals(statement, pa)return MMDB.getColumnList(connName, statement)

}

Fonctions de l'API de base de donnéesLa liste suivante décrit certains des arguments communs aux fonctions de base de données :

• La plupart des fonctions de base de données utilisent un nom de connexion comme argument. Pour obtenir la liste des noms de connexion valides, utilisez le Gestionnaire de connexions d'UltraDev ou la fonction MMDB.getConnectionList().

• Les procédures stockées exigent souvent des paramètres. Il existe deux façons de spécifier des valeurs de paramètres pour certaines fonctions de base de données. En premier lieu, vous pouvez fournir un tableau de valeurs de paramètre (paramValuesArray). Si vous ne spécifiez que des valeurs de paramètre, celles-ci doivent être dans l'ordre dans lequel la procédure stockée les demande. Spécifiez ensuite les valeurs de paramètre pour fournir un tableau des noms de paramètre (paramNameArray) (vous pouvez utiliser la fonction MMDB.getSPParamsAsString() pour extraire les paramètres de la procédure stockée). Si vous fournissez des noms de paramètre, les valeurs spécifiées dans paramValuesArray doivent être dans l'ordre dans lequel les noms ont été spécifiés dans paramNameArray.

Chapitre 21250

Page 251: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

getColdFusionDsnList()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait les DSN ColdFusion du serveur du site, en utilisant les fonctions getRdsUserName() et getRdsPassword().

Arguments

Aucun.

Valeurs renvoyées

Un tableau contenant les DSN ColdFusion définis sur le serveur pour le site en cours.

MMDB.getColumnAndTypeList()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une liste de colonnes et de leurs types à partir d'une instruction SQL SELECT exécutée.

Arguments

connName, statement

• connName désigne le nom de la connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• statement désigne l'instruction SQL SELECT à exécuter.

Valeurs renvoyées

Un tableau de chaînes représentant une liste de colonnes (et leurs types) correspondant à l'instruction SELECT ou une erreur si l'instruction SQL était incorrecte ou si la connexion n'a pas pu être établie.

Exemple

Le code var columnArray = MMDB.getColumnAndTypeList("EmpDB","Select * from Employees") renvoie le tableau de chaînes suivantes :

columnArray[0] = "EmpName" , columnArray[1] = "varchar", ¬columnArray[2] = "EmpFirstName", columnArray[3] = "varchar", ¬columnArray[4] = "Age", columnArray[5] = "integer"

MMDB.getColumnList()

Disponibilité

Dreamweaver UltraDev 1.0

API de base de données 251

Page 252: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Extrait une liste de colonnes à partir d'une instruction SQL SELECT exécutée.

Arguments

connName, statement

• connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• statement désigne l'instruction SQL SELECT à exécuter.

Valeurs renvoyées

Un tableau de chaînes représentant une liste de colonnes correspondant à l'instruction SELECT ou une erreur si l'instruction SQL était incorrecte ou si la connexion n'a pas pu être établie.

Exemple

Le code var columnArray = MMDB.getColumnList("EmpDB","Select * from Employees") renvoie le tableau de chaînes suivantes :

columnArray[0] = "EmpName", columnArray[1] = "EmpFirstName", ¬columnArray[2] = "Age"

MMDB.getColumnsOfTable()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une liste de toutes les colonnes du tableau spécifié.

Arguments

connName, tableName

• connName désigne le nom de la connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• tableName est le nom d'un tableau de la base de données désignée par connName.

Valeurs renvoyées

Un tableau de chaînes, chaque chaîne désignant le nom d'une colonne du tableau.

Exemple

L'instruction MMDB.getColumnsOfTable ("EmpDB","Employees"); renvoie les chaînes suivantes :

["EmpID", "FirstName", "LastName"]

Chapitre 21252

Page 253: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

MMDB.getConnectionList()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une liste de toutes les chaînes de connexion définies dans le Gestionnaire de connexion.

Arguments

Aucun.

Valeurs renvoyées

Un tableau de chaînes, chaque chaîne désignant le nom d'une connexion tel qu'il apparaît dans le Gestionnaire de connexion.

Exemple

La fonction MMDB.getConnectionList() peut renvoyer les chaînes ["EmpDB", "Test", "TestEmp"].

MMDB.getConnectionName()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait un nom de connexion correspondant à la chaîne de connexion spécifiée. Cette fonction est utile lorsque vous devez resélectionner un nom de connexion dans l'interface utilisateur à partir des données de la page.

Si vous avez une chaîne de connexion faisant référence à deux pilotes différents, vous pouvez spécifier à la fois la chaîne de connexion et le pilote correspondant au nom de connexion que vous souhaitez obtenir. Par exemple, vous pourriez avoir deux connexions :

Connexion1 possède les propriétés suivantes :

ConnectionString="jdbc:inetdae:velcro-qa-5:1433?database=pubs"DriverName="com.inet.tds.TdsDriver"

Connexion2 possède les propriétés suivantes :

ConnectionString="jdbc:inetdae:velcro-qa-5:1433?database=pubs"DriverName="com.inet.tds.TdsDriver2"

Les chaînes de connexion de Connexion1 et Connexion2 sont identiques. Connexion2 établit une connexion avec une version plus récente de TdsDriver. Vous devez transmettre le nom du pilote à cette fonction pour définir complètement le nom de connexion que vous souhaitez obtenir.

API de base de données 253

Page 254: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connString, {driverName}

• connString désigne la chaîne de connexion utilisée pour obtenir le nom de connexion.

• driverName est un argument facultatif définissant connString de façon plus précise.

Valeurs renvoyées

Une chaîne de nom de connexion correspondant à la chaîne de connexion.

Exemple

Le code suivant renvoie la chaîne "EmpDB" :

var connectionName = MMDB.getConnectionName ¬("dsn=EmpDB;uid=;pwd=");

MMDB.getConnectionString()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une chaîne de connexion associée au nom de connexion spécifié.

Arguments

connName

connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Une chaîne correspondant au nom de connexion.

Exemple

Le code var connectionString = MMDB.getConnectionString ("EmpDB") renvoie différentes chaînes pour une connexion ADO ou JDBC.

Pour une connexion ADO, il peut renvoyer la chaîne suivante :

"dsn=EmpDB;uid=;pwd=";

Pour une connexion JDBC, il peut renvoyer la chaîne suivante :

"jdbc:inetdae:192.168.64.49:1433?database=pubs&user=JoeUser&¬password=joesSecret"

MMDB.getDriverName()

Disponibilité

Dreamweaver UltraDev 1.0

Chapitre 21254

Page 255: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Extrait le nom du pilote associé à la connexion spécifiée. Seule une connexion JDBC a un nom de pilote dans Dreamweaver UltraDev 1.0.

Arguments

connName

connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Une chaîne contenant le nom du pilote.

Exemple

L'instruction MMDB.getDriverName ("EmpDB"); peut renvoyer la chaîne suivante :

"jdbc/oracle/driver/JdbcOracle"

MMDB.getPassword()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait le mot de passe utilisé pour la connexion spécifiée.

Arguments

connName

connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Une chaîne de mot de passe associée au nom de connexion.

Exemple

L'instruction MMDB.getPassword ("EmpDB"); peut renvoyer "joessecret".

MMDB.getRuntimeConnectionType()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie le type de connexion d'exécution du nom de connexion spécifié. Cette fonction peut renvoyer une des valeurs suivantes : "ADO", "ADODSN", "JDBC" ou "CFDSN".

API de base de données 255

Page 256: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connName

connName désigne le nom de la connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Une chaîne correspondant au type de connexion.

Exemple

Le code suivant renverrait la chaîne "ADO" pour une connexion ADO :

var connectionType = MMDB.getRuntimeConnectionType ("EmpDB")

MMDB.getSPColumnList()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une liste de colonnes de jeu de résultats générée par un appel à la procédure stockée spécifiée.

Arguments

connName, statement, paramValuesArray

• connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• statement est le nom de la procédure stockée qui renvoie le jeu de résultats lorsqu'elle est exécutée.

• paramValuesArray est un tableau contenant une liste de valeurs test de paramètre de conception. Spécifiez les valeurs de paramètre dans l'ordre attendu par la procédure stockée. Vous pouvez utiliser la fonction MMDB.getSPParamsAsString() pour obtenir les paramètres de la procédure stockée.

Valeurs renvoyées

Un tableau de chaînes représentant la liste de colonnes. Cette fonction renvoie une erreur si l'instruction SQL est incorrecte ou si la chaîne de connexion est erronée.

Exemple

Le code suivant pourrait renvoyer une liste de colonnes de jeu de résultats générées à partir de la procédure stockée exécutée, getNewEmployeesMakingAtLeast :

var paramValueArray = new Array("2/1/2000", "50000")var columnArray = MMDB.getSPColumnList("EmpDB", ¬"getNewEmployeesMakingAtLeast", paramValueArray)

Chapitre 21256

Page 257: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Les valeurs renvoyées sont :

columnArray[0] = "EmpID", columnArray[1] = "LastName", ¬columnArray[2] ="startDate", columnArray[3] = "salary"

MMDB.getSPColumnListNamedParams()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une liste de colonnes de jeu de résultats générée par un appel à la procédure stockée spécifiée.

Arguments

connName, statement, paramNameArray, paramValuesArray

• connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• statement est le nom de la procédure stockée qui renvoie le jeu de résultats lorsqu'elle est exécutée.

• paramNameArray est un tableau contenant une liste de noms de paramètre. Vous pouvez utiliser la fonction MMDB.getSPParamsAsString() pour obtenir les paramètres de la procédure stockée.

• paramValuesArray est un tableau contenant une liste de valeurs test de paramètre de conception. Vous pouvez éventuellement spécifier si la procédure exige des paramètres lors de son exécution. Si vous avez fourni des noms de paramètre dans paramNameArray, spécifiez les valeurs de paramètre dans l'ordre dans lequel leurs noms apparaissent dans paramNameArray. Si vous n'avez pas indiqué paramNameArray, spécifiez les valeurs dans l'ordre attendu par la procédure stockée.

Valeurs renvoyées

Un tableau de chaînes représentant la liste de colonnes. Cette fonction renvoie une erreur si l'instruction SQL est incorrecte ou si la chaîne de connexion est erronée.

Exemple

Le code suivant pourrait renvoyer une liste de colonnes de jeu de résultats générées à partir de la procédure stockée exécutée, getNewEmployeesMakingAtLeast :

var paramNameArray = new Array("startDate", "salary")var paramValueArray = new Array("2/1/2000", "50000")var columnArray = MMDB.getSPColumnListNamedParams("EmpDB", ¬"getNewEmployeesMakingAtLeast", paramNameArray, paramValueArray)

API de base de données 257

Page 258: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Les valeurs renvoyées sont :

columnArray[0] = "EmpID", columnArray[1] = "LastName", ¬columnArray[2] ="startDate", columnArray[3] = "salary"

MMDB.getSPParamsAsString()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie une chaîne délimitée par des virgules contenant la liste des paramètres que prend la procédure stockée.

Arguments

connName, procName

• connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• procName est le nom de la procédure stockée.

Valeurs renvoyées

Une chaîne délimitée par des virgules contenant la liste des paramètres exigés par la procédure stockée. Les noms, la direction et le type de données des paramètres sont inclus, séparés par des points-virgules (;).

Exemple

Le code MMDB.getSPParamsAsString ("EmpDB","getNewEmployeesMakingAtLeast") pourrait renvoyer une chaîne de nom de formulaire startDate;direction:in;datatype:date, salary;direction:in;datatype:integer

Ici, la procédure stockée getNewEmployeesMakingAtLeast possède deux paramètres : startDate et Salary. Pour startDate, la direction est in et le type de données est date. Pour salary, la direction est in et le type de données est date.

MMDB.getTables()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Extrait une liste de tous les tableaux définis pour la base de données spécifiée. Chaque objet de tableau a trois propriétés : table, schema et catalog. Table est le nom du tableau, schema le nom du schéma contenant le tableau et catalog le nom du catalogue contenant le tableau.

Chapitre 21258

Page 259: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connName

connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Un tableau d'objets ; chaque objet a trois propriétés : table, schema et catalog.

Exemple

L'instruction MMDB.getTables ("EmpDB"); pourrait produire un tableau de deux objets. Les propriétés du premier objet pourrait être les suivantes :

object1[table:"Employees", schema:"personnel", catalog:"syscat"]

Les propriétés du deuxième objet pourrait être les suivantes :

object2[table:"Departments", schema:"demo", catalog:"syscat2"]

MMDB.getUserName()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie un nom d'utilisateur pour la connexion spécifiée.

Arguments

connName

connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Une chaîne de nom d'utilisateur associée au nom de connexion.

Exemple

L'instruction MMDB.getUserName ("EmpDB"); pourrait renvoyer "amit".

MMDB.getViews()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait une liste de tous les modes d'affichage définis pour la base de données spécifiée. Chaque objet mode a les propriétés catalog, schema et view. Catalog ou schema permet de restreindre/filtrer le nombre de modes d'affichage rattachés à un nom de schéma individuel ou à un nom de catalogue défini comme faisant partie des informations de connexion.

API de base de données 259

Page 260: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connName

connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

Valeurs renvoyées

Un tableau des objets mode d'affichage ; chaque objet possède trois propriétés : catalog, schema et view.

Exemple

L'exemple suivant renvoie les modes pour une valeur de connexion donnée, CONN_LIST.getValue() :

var viewObjects = MMDB.getViews(CONN_LIST.getValue())for (i = 0; i < viewObjects.length; i++){

thisView = viewObjects[i]thisSchema = Trim(thisView.schema)if (thisSchema.length == 0){

thisSchema = Trim(thisView.catalog)}if (thisSchema.length > 0){

thisSchema += "."}views.push(String(thisSchema + thisView.view))

}

MMDB.showConnectionMgrDialog()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Affiche la boîte de dialogue Gestionnaire de connexion.

Arguments

Aucune.

Valeurs renvoyées

Aucune. La boîte de dialogue Gestionnaire de connexion s’affiche.

MMDB.showResultset()

Disponibilité

Dreamweaver UltraDev 1.0

Chapitre 21260

Page 261: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Affiche une boîte de dialogue contenant les résultats de l'exécution de l'instruction SQL spécifiée. Cette boîte de dialogue contient une grille dont l'en-tête reflète les informations de colonne et les données du jeu de résultats généré par la procédure stockée exécutée. Si la chaîne de connexion ou l'instruction SQL n'est pas valide, une erreur apparaît. Vous pouvez utiliser cette fonction pour vérifier la validité de l'instruction SQL.

Arguments

connName, SQLstatement

• connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• SQLstatement désigne l'instruction SQL SELECT.

Valeurs renvoyées

Aucune. Cette fonction renvoie une erreur si l'instruction SQL est incorrecte ou si la chaîne de connexion est erronée.

Exemple

Le code suivant affiche le résultat de l'instruction SQL exécutée :

MMDB.showResultset("EmpDB","Select EmpName,EmpFirstName,Age ¬from Employees")

MMDB.showSPResultset()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Affiche une boîte de dialogue contenant les résultats de l'exécution de la procédure stockée spécifiée. Cette boîte de dialogue contient une grille dont l'en-tête reflète les informations de colonne et les données du jeu de résultats généré par la procédure stockée exécutée. Si la chaîne de connexion ou la procédure stockée n'est pas valide, une erreur apparaît. Vous pouvez utiliser cette fonction pour vérifier la validité de la procédure stockée.

Arguments

connName, procName, paramValuesArray

• connName désigne le nom de la connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• procName est le nom de la procédure stockée à exécuter.

API de base de données 261

Page 262: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• paramValuesArray est un tableau contenant une liste de valeurs test de paramètre de conception. Spécifiez les valeurs de paramètre dans l'ordre attendu par la procédure stockée. Vous pouvez utiliser la fonction MMDB.getSPParamsAsString() pour obtenir les paramètres de la procédure stockée.

Valeurs renvoyées

Aucune. Cette fonction renvoie une erreur si l'instruction SQL est incorrecte ou si la chaîne de connexion est erronée.

Exemple

Le code suivant affiche le résultat de la procédure stockée exécutée :

var paramValueArray = new Array("2/1/2000", "50000")MMDB.showSPResultset("EmpDB", "getNewEmployeesMakingAtLeast", ¬paramValueArray)

MMDB.showSPResultsetNamedParams()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Affiche une boîte de dialogue contenant les résultats de l'exécution de la procédure stockée spécifiée. Cette boîte de dialogue contient une grille dont l'en-tête reflète les informations de colonne et les données du jeu de résultats généré par la procédure stockée exécutée. Si la chaîne de connexion ou la procédure stockée n'est pas valide, une erreur apparaît. Vous pouvez utiliser cette fonction pour vérifier la validité de la procédure stockée. Cette fonction diffère de MMDB.showSPResultset() car vous pouvez spécifier les valeurs de paramètre par leur nom, au lieu de l'ordre attendu par la procédure stockée.

Arguments

connName, procName, paramNameArray, paramValuesArray

• connName désigne un nom de connexion UltraDev spécifié dans le Gestionnaire de connexion. Ce nom sert à établir une connexion de base de données à une source de données active.

• procName est le nom de la procédure stockée qui renvoie le jeu de résultats lorsqu'elle est exécutée.

• paramNameArray est un tableau contenant une liste de noms de paramètres. Vous pouvez utiliser la fonction MMDB.getSPParamsAsString() pour obtenir les paramètres de la procédure stockée.

• paramValuesArray est un tableau contenant une liste de valeurs test de paramètre de conception.

Chapitre 21262

Page 263: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune. Cette fonction renvoie une erreur si l'instruction SQL est incorrecte ou si la chaîne de connexion est erronée.

Exemple

Le code suivant affiche le résultat de la procédure stockée exécutée :

var paramNameArray = new Array("startDate", "salary")var paramValueArray = new Array("2/1/2000", "50000")MMDB.showSPResultsetNamedParams("EmpDB","getNewEmployees¬MakingAtLeast", paramNameArray, paramValueArray)

API de base de données 263

Page 264: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 21264

Page 265: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2

2

CHAPITRE 22

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API JavaBean

Ce chapitre présente les API pour JavaBeans. Les fonctions MMJB*() sont des accroches JavaScript qui appellent des introspections Java pour la prise en charge des JavaBeans. Ces fonctions extraient des noms de classe, des méthodes, des propriétés et des événements des JavaBeans, qui peuvent être affichés dans votre interface utilisateur Dreamweaver. Pour utiliser ces fonctions JavaScript et permettre à Dreamweaver d'accéder à votre JavaBean, ce dernier doit résider dans le dossier Configuration/Classes.

Remarque : packageName.className correspond à une seule entrée de chaîne.

MMJB.getProperties()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Introspecte la classe de bean et renvoie ses propriétés.

Arguments

packageName.className

packageName.className correspond au nom de la classe, qui fait partie du chemin de la classe. Ce doit être un élément d'archives Java .jar ou .zip résidant dans le chemin de classe de votre système ou un fichier .class installé dans le dossier Configuration/Classes.

Valeurs renvoyées

Un tableau de chaînes des propriétés JavaBean. En cas d'erreur, le tableau renvoyé est vide.

265

Page 266: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

MMJB.getMethods()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Introspecte la classe de bean et renvoie ses méthodes.

Arguments

packageName.className

packageName.className correspond au nom du paquet de la classe, qui fait partie du chemin de la classe. Ce doit être un élément d'archives Java .jar ou .zip.

Valeurs renvoyées

Un tableau de chaînes des méthodes JavaBean. En cas d'erreur, le tableau renvoyé est vide.

MMJB.getEvents()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Introspecte la classe de bean et renvoie ses événements.

Arguments

packageName.className

packageName.className correspond au nom du paquet de la classe, qui fait partie du chemin de la classe. Ce doit être un élément d'archives Java .jar ou .zip.

Valeurs renvoyées

Un tableau de chaînes des événements JavaBean. En cas d'erreur, le tableau renvoyé est vide.

MMJB.getIndexedProperties()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Introspecte la classe de bean et renvoie ses propriétés indexées. Les propriétés indexées sont des modèles de création qui se comportent comme des ensembles.

Arguments

packageName.className

packageName.className correspond au nom du paquet de la classe, qui fait partie du chemin de la classe. Ce doit être un élément d'archives Java .jar ou .zip.

Chapitre 22266

Page 267: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un tableau de chaînes des propriétés indexées du JavaBean. En cas d'erreur, le tableau renvoyé est vide.

MMJB.getClasses()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Lit tous les noms de classe JavaBean à partir du dossier Configuration/Classes.

Arguments

Aucun.

Valeurs renvoyées

Un tableau de chaînes des noms de classe qui réside dans le dossier Configuration/Classes. En cas d'erreur, le tableau renvoyé est vide.

MMJB.getClassesFromPackage()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Lit toutes les classes JavaBean du paquet.

Arguments

packageName.pathName

packageName.pathName correspond au chemin du paquet. Ce doit être un élément d'archives Java .jar ou .zip. Par exemple, C:\jdbcdrivers\Una2000_Enterprise.zip.

Valeurs renvoyées

Un tableau de chaînes des noms de classe dans le fichier Java .jar ou .zip spécifié. En cas d'erreur, le tableau renvoyé est vide.

MMJB.getErrorMessage()

Disponibilité

Dreamweaver UltraDev 4.0

Description

Extrait le dernier message d'erreur de Dreamweaver envoyé pendant l'utilisation de l'interface MMJB.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne du message Dreamweaver de la dernière erreur.

API JavaBean 267

Page 268: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 22268

Page 269: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3

2

CHAPITRE 23

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API d'intégration de commande source

L'API d'intégration de commande source vous permet de rédiger des DLL (bibliothèques de liens dynamiques) afin d'étendre les fonctions d'archivage et d'extraction de Dreamweaver à l'aide des fonctionnalités d'autres systèmes de commande source (tels que Sourcesafe, CVS ou Whirlwind). Ces fonctions d'API permettent également de décrire comment l'utilisateur de Dreamweaver peut interagir avec le système de commande source intégré.

Pour implémenter cette API, rédigez un fragment de code DLL niveau C/partagé conforme à l'API définie dans ce chapitre. Vous devez prendre un charge au moins un jeu de fonctions d'API afin que Dreamweaver puisse l'intégrer au système de commande source. Les DLL sont placées dans le dossier Configuration/SourceControl.

Lors du démarrage, Dreamweaver charge chaque fichier DLL. Dreamweaver détermine les API prises en charge par la DLL en appelant GetProcAddress() sur les diverses API. Si une adresse n'existe pas, Dreamweaver suppose que la DLL ne prend pas en charge l'API. Si l'adresse existe, Dreamweaver utilise la version de la DLL de la fonction pour prendre en charge la fonctionnalité. Lorsqu'un utilisateur Dreamweaver définit ou modifie un site, puis choisit l'onglet SCS du serveur web, les choix correspondant aux DLL chargées depuis le dossier Configuration/SourceControl s'affichent (en plus des éléments standard) sur l'onglet.

Pour ajouter des éléments personnalisés au menu Site > Commande source, ajoutez le code suivant dans le menu Site du fichier menus.xml :

<menu name="Source Control" id="DWMenu_MainSite_Site_Source¬Control"><menuitem dynamic name="None"file="Menus/MM/¬File_SCSItems.htm" id="DWMenu_MainSite_Site_NewFeatures_¬Default" /></menu>

269

Page 270: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Intégration à Dreamweaver

Lorsqu'un utilisateur Dreamweaver choisit des fonctions de connexion au serveur, de transfert de fichiers ou de Design Notes, Dreamweaver appelle la version de la DLL de la fonction API correspondante (Connect(), Disconnect(), Get(), Put(), Checkin(), Checkout(), Undocheckout() et Synchronize()). La DLL est responsable de la gestion de la requête, notamment de l'affichage des boîtes de dialogue qui rassemblent les informations ou permettent à l'utilisateur d'interagir avec la DLL. La DLL est également responsable de l'affichage des messages d'informations ou d'erreur.

Le système de commande source peut éventuellement prendre en charge les Design Notes et l'archivage et l'extraction. Pour activer les Design Notes dans les systèmes de commande source, l'utilisateur Dreamweaver doit choisir l'onglet Design Notes dans la boîte de dialogue Définir les sites et cocher la case pour activer cette fonction (de la même façon qu'avec les systèmes FTP et de réseau local dans la version 3.0). Si le système de commande source ne prend pas en charge les Design Notes et que l'utilisateur désire les utiliser, Dreamweaver transporte les fichiers Design Note (.mno) pour conserver les Design Notes (de la même façon qu'avec les systèmes FTP et de réseau local dans la version 3.0).

Les fonctions d'archivage et d'extraction sont traitées différemment ; si le système de commande source les prend en charge, l'utilisateur ne peut pas éviter leur utilisation dans la boîte de dialogue Design Notes. Si l'utilisateur essaie de court-circuiter le système de commande source, un message d'erreur s'affiche.

Ajout d'une fonctionnalité de système de commande source

Pour ajouter une fonctionnalité de système de commande source à Dreamweaver, rédigez un gestionnaire GetNewFeatures qui renvoie un jeu d'éléments de menu et les fonctions C correspondantes. Si, par exemple, vous rédigez une DLL Sourcesafe et voulez permettre aux utilisateurs de Dreamweaver de consulter l'historique d'un fichier, vous pouvez rédiger un gestionnaire GetNewFeatures qui renvoie l'élément de menu Historique et le nom de fonction C de l'historique. Ainsi, lorsque l'utilisateur clique avec le bouton droit de la souris sur un fichier, l'élément Historique s'affiche dans le menu. Si l'utilisateur choisit l'élément de menu Historique, Dreamweaver appelle la fonction historique transmettant les fichiers sélectionnés à la DLL. La DLL affiche alors la boîte de dialogue Historique pour permettre à l'utilisateur d'interagir comme s'il utilisait Sourcesafe.

Fonctions obligatoires de l'API d'intégration de commande sourceL'API d'intégration de commande source possède des fonctions obligatoires et facultatives. Les fonctions répertoriées dans cette section sont obligatoires.

Chapitre 23270

Page 271: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_GetAgentInfo()

Description

Demande à la DLL de renvoyer son nom et sa description, qui sont affichés dans la boîte de dialogue Définir les sites. Le nom apparaît dans le menu contextuel Accès au serveur (par exemple, sourcesafe, webdav, perforce) et la description s'affiche juste en dessous du menu.

Arguments

name, version, description, dwAppVersion

• name est le nom du système de commande source. Le nom s'affiche dans la zone de liste modifiable permettant de sélectionner un système de commande source dans l'onglet Commande source de la boîte de dialogue Définir les sites. Le nom ne doit pas compter plus de 32 caractères.

• version est une chaîne indiquant la version de la DLL. La version s'affiche dans l'onglet Commande source de la boîte de dialogue Définir les sites. La version ne doit pas compter plus de 32 caractères.

• description est une chaîne décrivant le système de commande source. La description s'affiche dans l'onglet Commande source de la boîte de dialogue Définir les sites. La description ne doit pas compter plus de 256 caractères.

• dwAppVersion est une chaîne représentant la version de Dreamweaver qui appelle la DLL. La DLL peut utiliser cette chaîne pour déterminer la version et la langue de Dreamweaver.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_Connect()

Description

Connecte l'utilisateur à son système de commande source. Si la DLL ne possède pas d'informations de connexion, elle affiche une boîte de dialogue qui invite l'utilisateur à fournir ces informations et stocke ces données pour une utilisation ultérieure.

Arguments

connectionData, siteName

• connectionData est un descripteur des données que l'agent veut recevoir de Dreamweaver lorsqu'il appelle d'autres fonctions API.

• siteName est une chaîne pointant vers le nom du site. Le nom du site ne doit pas compter plus de 64 caractères.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

API d'intégration de commande source 271

Page 272: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_Disconnect()

Description

Déconnecte l'utilisateur du système de commande source.

Arguments

connectionData

connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_IsConnected()

Description

Détermine l'état de la connexion.

Arguments

connectionData

connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

Valeurs renvoyées

true si connecté, sinon false.

SCS_GetRootFolderLength()

Description

Renvoie la longueur du nom du dossier racine.

Arguments

connectionData

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

Valeurs renvoyées

Un nombre entier représentant la longueur du nom du dossier racine. Si la fonction renvoie < 0, Dreamweaver considère cette réponse comme une erreur et tente de récupérer le message d'erreur de la DLL si elle est prise en charge.

SCS_GetRootFolder()

Description

Renvoie le nom du dossier racine.

Chapitre 23272

Page 273: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connectionData, remotePath, folderLen

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est une mémoire tampon dans laquelle est enregistré le chemin distant complet du dossier racine.

• folderLen est un nombre entier indiquant la longueur de remotePath. C'est la valeur renvoyée par GetRootFolderLength.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_GetFolderListLength()

Description

Renvoie le nombre d'éléments dans le dossier transmis.

Arguments

connectionData, remotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin complet du dossier distant que la DLL vérifie pour connaître le nombre d'éléments.

Valeurs renvoyées

Un nombre entier indiquant le nombre d'éléments dans le dossier en cours. Si la fonction renvoie < 0, Dreamweaver considère cette réponse comme une erreur et tente de récupérer le message d'erreur de la DLL si elle est prise en charge.

SCS_GetFolderList()

Description

Renvoie une liste de fichiers et de dossiers dans le dossier transmis, notamment des informations pertinentes telles que la date de modification, la taille et si l'élément est un dossier ou un fichier.

Arguments

connectionData, remotePath, itemList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin complet du dossier distant que la DLL vérifie pour connaître le nombre d'éléments.

• itemList est une liste pré-allouée de structures itemInfo.

• numItems est le nombre d'éléments alloués à itemList (renvoyé par GetFolderListLength).

API d'intégration de commande source 273

Page 274: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_Get()

Description

Extrait une liste de fichiers ou de dossiers et les stocke localement.

Arguments

connectionData, remotePathList, localPathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à acquérir.

• localPathList est une copie de la liste des chemins de fichiers ou de dossiers locaux complets.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_Put()

Description

Place une liste de fichiers ou de dossiers locaux dans le système de commande source.

Arguments

connectionData, localPathList, remotePathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• localPathList est une liste de chemins de fichiers ou de dossiers locaux complets à placer.

• remotePathList est une copie de la liste de chemins de fichiers ou de dossiers distants complets.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_NewFolder()

Description

Crée un nouveau dossier.

Chapitre 23274

Page 275: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connectionData, remotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le nom complet du dossier distant créé par la DLL.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_Delete()

Description

Supprime une liste de fichiers ou de dossiers du système de commande source.

Arguments

connectionData, remotePathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à supprimer.

• numItems est le nombre d'éléments dans remotePathList.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_Rename()

Description

Renomme ou déplace un fichier ou un dossier selon les valeurs spécifiées pour oldRemotePath et newRemotePath. Si, par exemple, oldRemotePath est égal à "$/dossier1/fichier1" et newRemotePath est égal à "$/dossier1/fichierrenommé1", fichier1 est renommé fichierrenommé1 et placé dans dossier1.

Si oldRemotePath est égal à "$/dossier1/fichier1" et newRemotePath est égal à "$/dossier1/sousdossier1/fichier1", fichier1 est déplacé dans le répertoire sousdossier1.

Pour savoir si l'invocation de cette fonction constitue un déplacement ou l'attribution d'un nouveau nom, vérifiez les chemins parents des deux valeurs d'entrée ; s'ils sont identiques, il s'agit de l'opération « renommer ».

Arguments

connectionData, oldRemotePath, newRemotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

API d'intégration de commande source 275

Page 276: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• oldRemotePath est un chemin de fichier ou de dossier distant complet à renommer.

• newRemotePath est le chemin distant complet du nouveau nom de fichier ou de dossier.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_ItemExists()

Description

Détermine si un fichier ou un dossier existe ou non sur le serveur.

Arguments

connectionData, remotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est un chemin de fichier ou de dossier distant complet.

Valeurs renvoyées

true s'il existe, sinon false.

Fonctions facultatives de l'API d'intégration de commande sourceL'API d'intégration de commande source possède des fonctions obligatoires et facultatives. Les fonctions répertoriées dans cette section sont facultatives.

SCS_GetConnectionInfo()

Description

Affiche une boîte de dialogue permettant à l'utilisateur de modifier ou de configurer les informations de connexion de ce site. N'établit pas la connexion. Elle est appelée lorsque l'utilisateur clique sur le bouton Paramètres, dans la section Infos distantes de la boîte de dialogue Définir les sites.

Arguments

connectionData, siteName

• connectionData est un descripteur des données que l'agent veut recevoir de Dreamweaver lorsqu'il appelle d'autres fonctions API.

• siteName est une chaîne pointant vers le nom du site, qui ne doit pas dépasser 64 caractères.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

Chapitre 23276

Page 277: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_SiteDeleted()

Description

Notifie à la DLL que le site a été supprimé ou qu'il n'est plus lié à ce système de commande source, ce qui signifie que le système de commande source peut supprimer les informations encore présentes pour ce site.

Arguments

siteName

siteName est une chaîne pointant vers le nom du site, qui ne doit pas dépasser 64 caractères.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_SiteRenamed()

Description

Notifie à la DLL que l'utilisateur a renommé le site, pour qu'il puisse mettre à jour les informations relatives à ce site.

Arguments

oldSiteName, newSiteName

• oldSiteName est une chaîne pointant vers le nom d'origine du site avant qu'il ne soit renommé, ce nom ne devant pas dépasser 64 caractères.

• newSiteName est une chaîne pointant vers le nouveau nom du site renommé, ce nom ne devant pas dépasser 64 caractères.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_GetNumNewFeatures()

Description

Renvoie le nombre de nouvelles fonctions à ajouter à Dreamweaver (comme Historique de fichier, Différences, etc.).

Arguments

Aucun.

Valeurs renvoyées

Un nombre entier représentant le nombre de nouvelles fonctions à ajouter à Dreamweaver. Si la fonction renvoie < 0, Dreamweaver considère cette réponse comme une erreur et tente de récupérer le message d'erreur de la DLL si elle est prise en charge.

API d'intégration de commande source 277

Page 278: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_GetNewFeatures()

Description

Renvoie une liste d'éléments à ajouter aux menus principaux et contextuels de Dreamweaver. Par exemple, la DLL Sourcesafe peut ajouter Historique et Différences de fichiers au menu principal.

Arguments

menuItemList, menuItemList, enablerList, numNewFeatures

• menuItemList est une liste de chaînes renseignée par la DLL ; il indique les éléments à ajouter aux menus principaux et contextuels. Chaque chaîne peut contenir 32 caractères maximum.

• functionList est renseigné par la DLL ; il indique les routines de la DLL à appeler lorsque l'utilisateur choisit l'élément de menu correspondant.

• enablerList est renseigné par la DLL ; il indique les routines de la DLL à appeler lorsque Dreamweaver a besoin de déterminer si l'élément de menu correspondant est activé.

• numNewFeatures est le nombre d'éléments ajoutés par la DLL ; il est récupéré en appelant GetNumNewFeatures().

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_GetCheckoutName()

Description

Renvoie le nom d'extraction de l'utilisateur en cours. Si cette fonction n'est pas prise en charge par le système de commande source et est activée par l'utilisateur, elle utilise la fonction interne d'archivage/extraction de Dreamweaver qui transporte les fichiers .lck depuis et vers le système de commande source.

Arguments

connectionData, checkOutName, emailAddress

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• checkOutName est le nom d'extraction de l'utilisateur en cours.

• emailAddress est l'adresse électronique de l'utilisateur en cours.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

Chapitre 23278

Page 279: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_Checkin()

Description

Archive une liste de fichiers ou de dossiers locaux dans le système de commande source. La DLL doit configurer le fichier en lecture seule. Si cette fonction n'est pas prise en charge par le système de commande source et est activée par l'utilisateur, elle utilise la fonction interne d'archivage/extraction de Dreamweaver qui transporte les fichiers .lck depuis et vers le système de commande source.

Arguments

connectionData, localPathList, remotePathList, successList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• localPathList est une liste de chemins de fichiers ou de dossiers locaux complets à archiver.

• remotePathList est une copie de la liste de chemins de fichiers ou de dossiers distants complets.

• successList est une liste de valeurs booléennes renseignée par la DLL, qui permet à Dreamweaver de savoir lequel des fichiers correspondants a été archivé avec succès.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_Checkout()

Description

Extrait une liste de fichiers ou de dossiers locaux du système de commande source. La DLL doit accorder les privilèges permettant de modifier le fichier. Si cette fonction n'est pas prise en charge par le système de commande source et est activée par l'utilisateur, elle utilise la fonction interne d'archivage/extraction de Dreamweaver qui transporte les fichiers .lck depuis et vers le système de commande source.

Arguments

connectionData, remotePathList, localPathList, successList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à extraire.

API d'intégration de commande source 279

Page 280: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• localPathList est une copie de la liste des chemins de fichiers ou de dossiers locaux complets.

• successList est une liste de valeurs booléennes renseignée par la DLL, qui permet à Dreamweaver de savoir lequel des fichiers correspondants a été extrait avec succès.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_UndoCheckout()

Description

Annule l'état d'extraction d'une liste de fichiers ou de dossiers. La DLL doit configurer le fichier en lecture seule. Si cette fonction n'est pas prise en charge par le système de commande source et est activée par l'utilisateur, elle utilise la fonction interne d'archivage/extraction de Dreamweaver qui transporte les fichiers .lck depuis et vers le système de commande source.

Arguments

connectionData, remotePathList, localPathList, successList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de dossiers ou de fichiers distants complets pour lesquels annuler l'extraction.

• localPathList est une copie de la liste des chemins de fichiers ou de dossiers locaux complets.

• successList est une liste de valeurs booléennes renseignée par la DLL, qui permet à Dreamweaver de savoir quelles extractions de fichiers correspondants ont été annulées avec succès.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_GetNumCheckedOut()

Description

Renvoie le nombre de personnes qui disposent d'un fichier extrait.

Arguments

connectionData, remotePath

Chapitre 23280

Page 281: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin de dossier ou de fichier distant complet à vérifier pour voir combien d'utilisateurs l'ont extrait.

Valeurs renvoyées

Un nombre entier représentant le nombre de personnes qui disposent du fichier extrait. Si la fonction renvoie < 0, Dreamweaver considère cette réponse comme une erreur et tente de récupérer le message d'erreur de la DLL si elle est prise en charge.

SCS_GetFileCheckoutList()

Description

Renvoie une liste de personnes qui disposent d'un fichier extrait. Si cette liste est vide, c'est que personne n'a de fichier extrait.

Arguments

connectionData, remotePath, checkOutList, emailAddressList, numCheckedOut

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin de dossier ou de fichier distant complet à vérifier pour voir combien d'utilisateurs l'ont extrait.

• checkOutList est une liste de chaînes correspondant aux utilisateurs qui disposent du fichier extrait. Chaque chaîne ne doit pas avoir plus de 64 caractères.

• emailAddressList est une liste de chaînes correspondant aux adresses électroniques des utilisateurs. Chaque chaîne ne doit pas avoir plus de 64 caractères.

• numCheckedOut est le nombre de personnes qui ont le fichier extrait. Il est renvoyé par GetNumCheckedOut().

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_GetErrorMessageLength()

Description

Renvoie la longueur du message d'erreur interne en cours de la DLL. Il est utilisé pour allouer la mémoire tampon transmise dans la fonction GetErrorMessage(). Cette fonction doit uniquement être appelée si une fonction d'API renvoie false ou < 0, ce qui indique une défaillance.

API d'intégration de commande source 281

Page 282: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

connectionData

connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

Valeurs renvoyées

Un nombre entier représentant la longueur du message d'erreur.

SCS_GetErrorMessage()

Description

Renvoie le dernier message d'erreur. Si vous implémentez getErrorMessage(), Dreamweaver l'appelle à chaque fois qu'une de vos fonctions d'API renvoie false.

Si une routine renvoie -1 ou false, cela indique qu'un message d'erreur doit être disponible.

Arguments

connectionData, errorMsg, msgLength

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• errorMsg est une chaîne pré-allouée de la DLL dans laquelle vient se placer le message d'erreur.

• msgLength est la longueur de la mémoire tampon errorMsg transmise.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_GetNoteCount()

Description

Renvoie le nombre de clés Design Note pour le chemin de dossier ou de fichier distant spécifié. Si cela n'est pas pris en charge par le système de commande source, Dreamweaver obtient ces informations du fichier compagnon Design Note (.mno).

Arguments

connectionData, remotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin de dossier ou de fichier distant complet que la DLL vérifie pour connaître le nombre de Design Notes qui lui sont rattachées.

Chapitre 23282

Page 283: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un nombre entier représentant le nombre de Design Notes associées au fichier. Si la fonction renvoie < 0, Dreamweaver considère cette réponse comme une erreur et tente de récupérer le message d'erreur de la DLL si elle est prise en charge.

SCS_GetMaxNoteLength()

Description

Renvoie la longueur de la Design Note la plus longue pour le fichier ou le dossier spécifié. Si cela n'est pas pris en charge par le système de commande source, Dreamweaver obtient ces informations du fichier compagnon Design Note (.mno).

Arguments

connectionData, remotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin de fichier ou de dossier distant complet que la DLL vérifie pour connaître la longueur maximale de Design Note.

Valeurs renvoyées

Un nombre entier représentant la taille de la Design Note la plus longue associée au fichier. Si la fonction renvoie < 0, Dreamweaver considère cette réponse comme une erreur et tente de récupérer le message d'erreur de la DLL si elle est prise en charge.

SCS_GetDesignNotes()

Description

Récupère des paires clé-valeur des méta-informations pour le fichier ou le dossier spécifié. Si cela n'est pas pris en charge par le système de commande source, Dreamweaver récupère ces informations dans le fichier Design Note (.mno) correspondant.

Arguments

connectionData, remotePath, keyList, valueList, showColumnList, noteCount, noteLength

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin de fichier ou de dossier distant complet que la DLL vérifie pour connaître le nombre d'éléments.

• keyList est une liste de clés Design Note, telle que « Status ».

• valueList est une liste de valeurs Design Note correspondant aux clés Design Note, comme « Awaiting Signoff ».

API d'intégration de commande source 283

Page 284: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• showColumnList est une liste de valeurs booléennes correspondant aux clés Design Note, qui indique si Dreamweaver peut afficher la clé sous forme de colonne dans la fenêtre Site.

• noteCount est le nombre de Design Notes rattachées à ce fichier ou dossier ; cette valeur est renvoyée en appelant GetNoteCount().

• noteLength est la longueur maximale d'une Design Note ; c'est la valeur renvoyée en appelant GetMaxNoteLength().

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

SCS_SetDesignNotes()

Description

Enregistre les paires clé-valeur dans les méta-informations du fichier ou du dossier spécifié. Cela remplace le jeu de méta-informations du fichier. Si cette fonction n'est pas prise en charge par le système de commande source, Dreamweaver enregistre les Design Notes dans des fichiers .mno.

Arguments

connectionData, remotePath, keyList, valueList, showColumnList, noteCount, noteLength

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est le chemin de fichier ou de dossier distant complet que la DLL vérifie pour connaître le nombre d'éléments.

• keyList est une liste de clés Design Note, telle que « Status ».

• valueList est une liste de valeurs Design Note correspondant aux clés Design Note, comme « Awaiting Signoff ».

• showColumnList est une liste de valeurs booléennes correspondant aux clés Design Note, qui indique si Dreamweaver peut afficher la clé sous forme de colonne dans la fenêtre Site.

• noteCount est le nombre de Design Notes rattachées à ce fichier ou dossier ; cela permet à la DLL de connaître la taille des listes spécifiées. Si noteCount est nul, toutes les Design Notes sont supprimées de ce fichier.

• noteLength est la longueur de la Design Note la plus longue pour le fichier ou le dossier spécifié.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

Chapitre 23284

Page 285: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_IsRemoteNewer()

Description

Vérifie chaque chemin distant spécifié pour voir si la copie distante est plus récente. Si cela n'est pas pris en charge par le système de commande source, Dreamweaver utilise son algorithme interne isRemoteNewer.

Arguments

connectionData, remotePathList, localPathList, remoteIsNewerList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à comparer pour voir les états les plus récents.

• localPathList est une copie de la liste des chemins de fichiers ou de dossiers locaux complets.

• remoteIsNewerList est une liste de nombres entiers, renseignée par la DLL, qui permet à Dreamweaver de savoir quel est le fichier correspondant le plus récent du côté distant. Les valeurs valides sont les suivantes : 1 lorsque la version distante est la plus récente, -1 lorsque la version locale est la plus récente, 0 lorsque les versions sont identiques.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

ActivateursSi les activateurs facultatifs ne sont pas pris en charge par le système de commande source ou que l'application n'est pas connectée au serveur, Dreamweaver détermine quand les éléments de menu sont activés, en fonction des informations qu'il possède sur les fichiers distants.

SCS_canConnect()

Description

Indique si l'élément de menu Connecter doit être activé ou non.

Arguments

Aucun.

Valeurs renvoyées

true si activé, sinon false.

API d'intégration de commande source 285

Page 286: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_canGet()

Description

Indique si l'élément de menu Acquérir doit être activé ou non.

Arguments

connectionData, remotePathList, localPathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à acquérir.

• localPathList est une copie de la liste des chemins de fichiers ou de dossiers locaux complets.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si activé, sinon false.

SCS_canCheckout()

Description

Indique si l'élément de menu Extraire doit être activé ou non.

Arguments

connectionData, remotePathList, localPathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à extraire.

• localPathList est une copie de la liste des chemins de fichiers ou de dossiers locaux complets.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si activé, sinon false.

SCS_canPut()

Description

Indique si l'élément de menu Placer doit être activé ou non.

Arguments

connectionData, localPathList, remotePathList, numItems

Chapitre 23286

Page 287: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• localPathList est une liste de chemins de fichiers ou de dossiers locaux complets à placer.

• remotePathList est une copie de la liste de chemins de fichiers ou de dossiers distants complets.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si activé, sinon false.

SCS_canCheckin()

Description

Indique si l'élément de menu Archiver doit être activé ou non.

Arguments

connectionData, localPathList, remotePathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• localPathList est une liste de chemins de fichiers ou de dossiers locaux complets à archiver.

• remotePathList est une copie de la liste de chemins de fichiers ou de dossiers distants complets.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si activé, sinon false.

SCS_CanUndoCheckout()

Description

Indique si l'élément de menu Annuler l'extraction doit être activé ou non.

Arguments

connectionData, remotePathList, localPathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à extraire.

• localPathList est une liste de chemins de fichiers ou de dossiers locaux complets à placer.

API d'intégration de commande source 287

Page 288: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si activé, sinon false.

SCS_canNewFolder()

Description

Indique si l'élément de menu Nouveau dossier doit être activé ou non.

Arguments

connectionData, remotePath

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePath est un chemin de fichier ou de dossier distant complet que l'utilisateur a sélectionné pour indiquer où sera créé le nouveau dossier.

Valeurs renvoyées

true si activé, sinon false.

SCS_canDelete()

Description

Indique si l'élément de menu Supprimer doit être activé ou non.

Arguments

connectionData, remotePathList, numItems

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

• remotePathList est une liste de chemins de fichiers ou de dossiers distants complets à supprimer.

• numItems est le nombre d'éléments dans chaque liste.

Valeurs renvoyées

true si activé, sinon false.

SCS_canRename()

Description

Indique si l'élément de menu Renommer doit être activé ou non.

Arguments

connectionData, remotePathList

• connectionData est un pointeur vers les données de l'agent transférées vers Dreamweaver au cours de l'appel de Connect().

Chapitre 23288

Page 289: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

API d'intégration de commande source 289

• remotePath est le chemin de fichier ou de dossier distant complet qui a pu être renommé.

Valeurs renvoyées

true si activé, sinon false.

structure de itemInfo

SCS_BeforeGet()

Description

Dreamweaver appelle cette fonction avant d'acquérir ou d'extraire un ou plusieurs fichiers. Cela permet à votre DLL d'effectuer une opération, comme l'ajout d'un commentaire d'extraction, sur un groupe de fichiers.

Arguments

*connectionData

*connectionData est un pointeur vers les données de connexion.

Valeurs renvoyées

Une valeur booléenne true en cas de succès, sinon false.

name char[256] nom de fichier ou de dossier

isFolder bool true si c'est un dossier, false si c'est un fichier

month int composant mois de la date de modification, de 1 à 12

day int composant jour de la date de modification, de 1 à 31

year int composant année de la date de modification, 1900+

hour int composant heure de la date de modification, de 0 à 23

minutes int composant minute de la date de modification, de 0 à 59

seconds int composant seconde de la date de modification, de 0 à 59

type char[256] type de fichier (s'il n'est pas défini par la DLL, DW utilise l'extension de fichier pour déterminer le type, comme il le fait à présent)

size int en octets

Page 290: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Pour acquérir un groupe de fichiers, Dreamweaver effectue des appels vers la DLL dans l'ordre suivant :

SCS_BeforeGet(connectionData);SCS_Get(connectionData,remotePathList1,localPathList1,¬successList1);SCS_Get(connectionData,remotePathList2,localPathList2,¬successList2);SCS_Get(connectionData,remotePathList3,localPathList3,¬successList3);SCS_AfterGet(connectionData);

SCS_BeforePut()

Description

Dreamweaver appelle cette fonction avant de placer ou d'archiver un ou plusieurs fichiers. Cela permet à votre DLL d'effectuer une opération, comme l'ajout d'un commentaire d'archivage, sur un groupe de fichiers.

Arguments

*connectionData

*connectionData est un pointeur vers les données de connexion.

Valeurs renvoyées

Une valeur booléenne true en cas de succès, sinon false.

Exemple

Pour acquérir un groupe de fichiers, Dreamweaver effectue des appels vers la DLL dans l'ordre suivant :

SCS_BeforePut(connectionData);SCS_Put(connectionData,localPathList1,remotePathList1,¬successList1);SCS_Put(connectionData,localPathList2,remotePathList2,¬successList2);SCS_Put(connectionData,localPathList3,remotePathList3,¬successList3);SCS_AfterPut(connectionData);

SCS_AfterGet()

Description

Dreamweaver appelle cette fonction après avoir acquis ou extrait un ou plusieurs fichiers. Cela permet à votre DLL d'effectuer n'importe quelle opération après l'acquisition ou l'extraction d'un lot, comme la présentation d'une boîte de dialogue de résumé.

Arguments

*connectionData

*connectionData est un pointeur vers les données de connexion.

Chapitre 23290

Page 291: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une valeur booléenne true en cas de succès, sinon false.

Exemple

Voir l'exemple de la section « SCS_BeforeGet() », page 289.

SCS_AfterPut()

Description

Dreamweaver appelle cette fonction après avoir placé ou archivé un ou plusieurs fichiers. Cela permet à la DLL d'effectuer n'importe quelle opération après le placement ou l'archivage d'un lot, comme la présentation d'une boîte de dialogue de résumé.

Arguments

*connectionData

*connectionData est un pointeur vers les données de connexion.

Valeurs renvoyées

true en cas de succès, sinon false.

Exemple

Voir l'exemple de la section « SCS_BeforePut() », page 290.

API d'intégration de commande source 291

Page 292: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 23292

Page 293: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

4

2

CHAPITRE 24

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Traducteurs de données

Définition d'un traducteur de donnéesLes traducteurs de données permettent de convertir des marqueurs spécialisés, tels que des SSI (server-side includes, inclusions à partir du serveur), des instructions JavaScript conditionnelles ou d'autres codes non HTML (ePerl, PHP3, JSP, CFML ou ASP, par exemple), en code HTML pouvant être lu et affiché par Dreamweaver. Dans Dreamweaver 3, vous pouvez traduire des attributs contenus dans les balises ainsi que des balises entières ou des blocs de code.

Conseil: si vous suivez la procédure décrite dans ce chapitre, vous constaterez que la création d'un nouveau traducteur implique que vous rédigiez vos propres fonctions et, si possible, vos DLL ou autres bibliothèques partagées. UltraDev propose une autre méthode, qui utilise une implémentation simplifiée des appels aux API getTranslatorInfo() et translateMarkup() ainsi qu'un fichier participant XML. Cette méthode plus simple met à profit les services du Gestionnaire de traduction d'UltraDev. Pour obtenir une description de cette autre méthode de création de traducteurs, voir le « Utilisation du gestionnaire de traduction », page 183. Vous y trouverez également des renseignements sur le schéma XML d'UltraDev et les fichiers participants.

Les balises ou les blocs de code convertis doivent être délimités dans des régions verrouillées pour que les marqueurs d'origine soient préservés. Les attributs convertis ne nécessitent pas de verrouillage, ce qui simplifie le processus de contrôle des balises qui les contiennent.

Tous les traducteurs de données (blocs/balises ou attributs) sont des fichiers HTML. La balise HEAD d'un traducteur de données contient au moins deux fonctions JavaScript : une fonction spécifiant l'action du traducteur et les fichiers sur lesquels il agit, une autre fonction chargée d'exécuter la traduction, et un nombre illimité de fonctions associées. La balise BODY d'un traducteur de données est vide.

293

Page 294: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La traduction de données, surtout lorsqu'elle porte sur des balises entières ou des blocs de code, peut comporter plusieurs opérations complexes qui ne peuvent pas être effectuées avec JavaScript ou qui seraient effectuées de façon plus efficace sous C. Si vous connaissez bien les langages C ou C++, lisez également « Extensions C », page 319

Fonctionnement des traducteurs de donnéesDreamweaver traite tous les fichiers de traducteur de la même façon, qu'ils convertissent des balises entières ou uniquement des attributs. Au démarrage, Dreamweaver lit tous les fichiers du dossier Configuration/Translators et appelle la fonction getTranslatorInfo() pour obtenir des informations sur le traducteur. Dreamweaver ignore tous les fichiers dans lesquels la fonction getTranslatorInfo() est absente ou qui contiennent une erreur empêchant de la définir.

Remarque : pour éviter que des erreurs JavaScript n'affectent le démarrage, les erreurs détectées dans un fichier de traducteur ne sont signalées qu'après le chargement de tous les traducteurs. Pour plus d'informations sur les traducteurs de débogage, voir « Recherche de bogues dans le traducteur », page 316.

Dreamweaver appelle également la fonction translateMarkup() dans tous les fichiers de traducteur appropriés (spécifiés dans les préférences de traduction) chaque fois que l'utilisateur ajoute un nouveau contenu ou modifie un contenu existant qui requiert une traduction. Par conséquent, Dreamweaver appelle la fonction translateMarkup() lorsque l'utilisateur effectue l'une des opérations suivantes :

• Ouverture d'un fichier dans Dreamweaver.

• Retour à la fenêtre de document après modifications dans le panneau HTML.

• Modification des propriétés d'un objet dans le document actif.

• Insertion d'un objet (à l'aide du panneau Objets ou du menu Insertion).

• Actualisation du document actif après sa modification dans une autre application.

• Application d'un modèle au document.

• Collage ou déplacement d'un contenu vers ou à l'intérieur de la fenêtre de document.

• Enregistrement des modifications dans un fichier dépendant.

• Appel d'une commande, d'un comportement, d'un inspecteur de propriétés ou de toute autre extension qui définit la propriété innerHTML ou outerHTML d'un objet de balise ou la propriété data d'un objet de commentaire.

Chapitre 24294

Page 295: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• Sélection de Fichier > Convertir > Compatible navigateurs 3.0.

• Sélection de Modifier > Mode Mise en forme > Convertir les tableaux en calques.

• Sélection de Modifier > Mode Mise en forme > Convertir les calques en tableau.

• Sélection de Modifier > Traduire > translatorName.

• Modification d'une balise ou d'un attribut dans Quick Tag Editor, suivie de l'activation de la touche Tab ou Entrée.

API de traducteur de donnéesIl existe trois fonctions personnalisées dans l'API de traducteur de données. Les fonctions de l'API de traducteur de données diffèrent des fonctions de l'API JavaScript principale sur trois points :

• Elles ne sont pas des méthodes de l'objet dreamweaver, dom ou site.

• Elles ne sont significatives que dans le contexte des fichiers de traducteur de données. En d'autres termes, Dreamweaver n'appelle automatiquement la fonction translateMarkup() que si elle est définie dans un fichier de traducteur de données, tandis que dans tout autre fichier d'extension, une fonction nommée translateMarkup() se comporte comme une fonction utilisateur et vous devez l'appeler explicitement.

• Il vous incombe d'écrire le corps de chaque fonction et de renvoyer une valeur, si nécessaire. Ce mode de fonctionnement est à l'opposé de celui des fonctions de l'API principale dans laquelle vous appelez les fonctions, leur transmettez des arguments, puis Dreamweaver génère des valeurs renvoyées, le cas échéant. Dans le cas de cette API spécifique, Dreamweaver appelle les fonctions et leur transmet des arguments et vous générez ensuite des valeurs renvoyées, le cas échéant.

getTranslatorInfo()

Description

Affiche des informations sur le traducteur et sur les fichiers qu'il peut traiter.

Conseil: UltraDev fournit une implémentation simplifiée des appels de getTranslatorInfo() et translateMarkup(), qui utilise le Gestionnaire de traduction d'UltraDev ainsi qu'un fichier participant XML. Pour obtenir une description de cette autre méthode de création de traducteurs, voir « Utilisation du gestionnaire de traduction », page 183. Vous y trouverez également des renseignements sur les fichiers participants XML d'UltraDev.

Arguments

Aucun.

Traducteurs de données 295

Page 296: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Tableau de chaînes. Les éléments du tableau doivent apparaître dans l'ordre suivant :

• translatorClass identifie le traducteur de façon unique. Cette chaîne doit commencer par une lettre et contenir uniquement des caractères alphanumériques, des traits d'union (-) et des caractères de soulignement (_).

• title décrit le traducteur en 40 caractères maximum. Cette chaîne apparaît dans le menu Modifier > Traduire.

• nExtensions indique le nombre d'extensions de fichier qui suivent. Si nExtensions est égal à 0, le traducteur peut s'exécuter sur n'importe quel fichier. Si nExtensions est égal à 0, nRegExps est l'élément suivant du tableau.

• extension indique une extension de fichier (par exemple, « htm » ou « SHTML ») que le traducteur peut exécuter. Cette chaîne ne respecte pas la casse et ne doit pas commencer par un point. Le tableau doit contenir le même nombre d'éléments extension que celui spécifié dans nExtensions.

• nRegExps indique le nombre d'expressions régulières qui suivent. Si nRegExps est égal à 0, runDefault est l'élément suivant du tableau.

• regExps indique une expression régulière à rechercher. Le tableau doit contenir le même nombre d'éléments regExps que celui spécifié dans nRegExps, et au moins un des éléments regExps doit correspondre à une partie du code source HTML du document pour que le traducteur puisse traiter un fichier.

• runDefault indique la préférence par défaut pour l'exécution de ce traducteur. Les valeurs possibles sont « allFiles », « noFiles », « byExtension » et « byExpression ». Si vous définissez runDefault sur « byExtension » sans spécifier d'extension (voir extension, ci-dessus), l'effet produit est le même que celui obtenu avec la valeur « allFiles ». Si vous définissez runDefault sur "byExpression" sans spécifier d'expressions (voir regExps, ci-dessus), l'effet produit est le même que celui obtenu avec la valeur "noFiles".

• priority indique la priorité par défaut pour l'exécution de ce traducteur. Cette priorité est un nombre compris entre 0 et 100. Si vous ne définissez pas ce paramètre, la priorité par défaut est 100. 0 est la priorité la plus haute et 100 la plus basse. Lorsque plusieurs traducteurs s'appliquent à un document, ce paramètre détermine l'ordre dans lequel ils sont appliqués. La priorité la plus haute est appliquée en premier. Lorsque plusieurs traducteurs ont la même priorité, ils sont appliqués dans l'ordre alphabétique par translatorClass.

Chapitre 24296

Page 297: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction getTranslatorInfo() fournit des informations relatives à un traducteur pour SSI :

function getTranslatorInfo(){var transArray = new Array(11);

transArray[0] = "SSI";transArray[1] = "Server-Side Includes";transArray[2] = "4";transArray[3] = "htm";transArray[4] = "stm";transArray[5] = "html";transArray[6] = "shtml";transArray[7] = "2";transArray[8] = "<!--#include file";transArray[9] = "<!--#include virtual";transArray[10] = "byExtension";transArray[11] = "50";

return transArray;}

translateMarkup()

Description

Exécute la traduction.

Conseil: UltraDev fournit une implémentation simplifiée des appels de getTranslatorInfo() et translateMarkup(), qui utilise le Gestionnaire de traduction d'UltraDev ainsi qu'un fichier participant XML. Pour obtenir une description de cette autre méthode de création de traducteurs, voir « Utilisation du gestionnaire de traduction », page 183. Vous y trouverez également des renseignements sur les fichiers participants XML d'UltraDev.

Arguments

docName, siteRoot, docContent

• Le premier argument est une chaîne contenant l'URL de type file:// du document à traduire.

• Le deuxième argument est une chaîne contenant l'URL de type file:// de la racine du site sur lequel se trouve le document à traduire. Si le document se trouve en dehors d'un site, cette chaîne peut être vide.

• Le troisième argument est une chaîne englobant le contenu du document.

Valeurs renvoyées

Chaîne contenant le document traduit.

Traducteurs de données 297

Page 298: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Dans l'exemple suivant, la fonction translateMarkup() appelle la fonction C translateASP() contenue dans une DLL (Windows) ou dans une bibliothèque de code (Macintosh) appelée ASPTrans :

function translateMarkup(docName, siteRoot, docContent){var translatedString = "";if (docContent.length > 0){translatedString = ASPTrans.translateASP(docName, siteRoot, ¬docContent);}return translatedString;

}

Pour obtenir un exemple entièrement JavaScript, voir « Exemple de traducteur d'attributs simple », page 301 ou « Exemple de traducteur de blocs/balises simple », page 307.

liveDataTranslateMarkup function()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Traduit les documents lorsque l'utilisateur travaille dans la fenêtre Live Data. Lorsque l'utilisateur choisit Affichage > Live Data ou clique sur le bouton Actualiser, UltraDev appelle la fonction liveDataTranslateMarkup() au lieu de la fonction translateMarkup().

Arguments

docName, siteRoot, docContent

• Le premier argument est une chaîne contenant l'URL de type file:// du document à traduire.

• Le deuxième argument est une chaîne contenant l'URL de type file:// de la racine du site sur lequel se trouve le document à traduire. Si le document se trouve en dehors d'un site, cette chaîne peut être vide.

• Le troisième argument est une chaîne englobant le contenu du document.

Valeurs renvoyées

Chaîne contenant le document traduit.

Chapitre 24298

Page 299: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

L'instance suivante de liveDataTranslateMarkup() appelle la fonction C translateASP(), qui est contenue dans un fichier DLL (Windows) ou dans une bibliothèque de code (Macintosh) dont le nom est ASPTrans :

function liveDataTranslateMarkup(docName, siteRoot, docContent){var translatedString = "";if (docContent.length > 0){translatedString = ASPTrans.translateASP(docName, siteRoot, ¬docContent);}return translatedString;

}

Choix du type de traducteurTous les traducteurs sont identiques dans une certaine mesure : ils doivent contenir les fonctions getTranslatorInfo() et translateMarkup() et ils doivent résider dans le dossier Configuration/Translators. Ils se distinguent toutefois par le type de code qu'ils insèrent dans le document de l'utilisateur et par la façon dont ce code doit être contrôlé.

• Pour traduire de petites parties de balises serveur qui déterminent des valeurs d'attribut ou ajoutent conditionnellement des attributs à une balise HTML standard, vous devez écrire un traducteur d'attributs. Les balises HTML standard contenant des attributs traduits peuvent être contrôlées à l'aide des inspecteurs de propriétés intégrés à Dreamweaver. Il n'est pas nécessaire de rédiger un inspecteur de propriétés personnalisé (voir « Ajout d'un attribut traduit à une balise », page 300).

• Pour traduire une balise entière (une SSI, par exemple) ou un bloc de code (JavaScript, ColdFusion, PHP ou tout autre script), vous devez écrire un traducteur de blocs/balises. Le code généré par un traducteur de blocs/balises ne peut pas être contrôlé à l'aide des inspecteurs de propriétés intégrés à Dreamweaver. Vous devez rédiger un inspecteur personnalisé pour le contenu traduit si vous souhaitez que les utilisateurs puissent modifier les propriétés du code d'origine (voir « Verrouillage des balises ou des blocs de code traduits », page 306).

Traducteurs de données 299

Page 300: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Ajout d'un attribut traduit à une baliseLa traduction des attributs est étroitement liée à la capacité de l'analyseur de Dreamweaver 3 à ignorer les balises serveur. Dreamweaver 3 ignore déjà les types de balises serveur les plus courants (tels que ASP, CFML et PHP) par défaut ; si vous utilisez des balises serveur dont les marqueurs de début et de fin sont différents, vous pouvez modifier la base de données de balises propriétaires (balises tierces) pour assurer le bon fonctionnement de votre traducteur. Pour plus d'informations sur la façon de modifier la base de données de balises propriétaires, voir le chapitre « Personnalisation de Dreamweaver » du manuel Utilisation de Dreamweaver.

Du fait que Dreamweaver gère la conservation des balises serveur d'origine, la tâche du traducteur est de générer une valeur d'attribut valide pouvant s'afficher dans la fenêtre de document (donc, si vous utilisez des balises de serveur uniquement pour des attributs qui n'ont pas d'effet visible pour l'utilisateur, vous n'avez pas besoin de traducteur).

Le traducteur crée une valeur d'attribut ayant un effet visible dans la fenêtre de document en ajoutant un attribut spécial, mmTranslatedValue, à la balise qui contient les balises de serveur. L'attribut mmTranslatedValue et sa valeur ne sont toutefois pas visibles dans l'inspecteur HTML et ils ne sont pas enregistrés avec le document.

L'attribut mmTranslatedValue doit être unique à l'intérieur de la balise. Si vous pensez que votre traducteur devra probablement traduire plusieurs attributs dans une même balise, vous devez ajouter au traducteur une routine qui ajoute des numéros à l'attribut mmTranslatedValue (par exemple, mmTranslatedValue1, mmTranslatedValue2, etc.).

La valeur de l'attribut mmTranslatedValue doit être une chaîne codée en URL contenant au moins une paire attribut/valeur valide. Cela signifie que mmTranslatedValue="src=%22open.jpg%22" est une traduction valide à la fois pour src="<? if (dayType == weekday) then open.jpg else closed.jpg" ?> et pour <? if (dayType == weekday) then src="open.jpg" else src="closed.jpg" ?>. La chaîne mmTranslatedValue="%22open.jpg%22" n'est valide pour aucun de ces deux exemples parce qu'elle contient uniquement la valeur, et non l'attribut.

Traduction de plusieurs attributs à la fois

L'attribut mmTranslatedValue peut contenir plusieurs paires attribut/valeur valides. Considérez ce qui suit comme du code non traduit :

<img <? if (dayType==weekday) then src="open.jpg" width="320" ¬height="100" elsesrc="closed.jpg" width="100" height="320" ?> alt="We're open 24 ¬hours a day from12:01am Monday until 11:59pm Friday">

Chapitre 24300

Page 301: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Les balises traduites peuvent ressembler à ce qui suit :

<img <? if (dayType==weekday) then src="open.jpg" width="320" ¬height="100" elsesrc="closed.jpg" width="100" height="320" ?>mmTranslatedValue="src=%22open.jpg%22 width=%22320%22 ¬height=%22100%22" alt="We're open 24 hours a day from 12:01am Monday until 11:59pm ¬Friday">

Notez que les espaces entre les paires attribut/valeur dans l'attribut mmTranslatedValue ne sont pas codés. Etant donné que l'application Dreamweaver recherche ces espaces lorsqu'elle essaie de restituer la valeur traduite, chaque paire attribut/valeur de l'attribut mmTranslatedValue doit être codée séparément, puis toutes les paires doivent être de nouveau regroupées pour former l'ensemble de l'attribut mmTranslatedValue. Pour avoir un exemple de la façon dont il faut procéder, voir la section « Exemple de traducteur d'attributs simple », page 301.

Exemple de traducteur d'attributs simple

Pour mieux comprendre le principe de la traduction d'attributs, il est utile d'examiner un exemple. Le traducteur suivant est un marqueur « Pound Conditional » (Poco), une syntaxe fictive quelque peu similaire à ASP ou PHP. La première étape pour assurer le bon fonctionnement de ce traducteur consiste à créer une balise tagspec pour le marqueur Poco ; cela évitera à Dreamweaver d'analyser les instructions Poco non traduites.

La balise tagspec pour le marqueur Poco ressemble à ce qui suit :

<tagspec tag_name="poco" start_string="<#" end_string="#>"detect_in_attribute="true" icon="poco.gif" icon_width="17" icon_height="15"></tagspec>

Traducteurs de données 301

Page 302: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Le fichier poco.xml qui contient la balise tagspec est stocké dans le dossier Configuration/ThirdPartyTags, de même que l'icône des balises Poco.

<html><head><title>Conditional Translator</title><meta http-equiv="Content-Type" content="text/html; charset="><script language="JavaScript">

/************************************************************* * This translator handles the following statement syntaxes: * * <# if (condition) then foo else bar #> * * <# if (condition) then att="foo" else att="bar" #> * * <# if (condition) then att1="foo" att2="jinkies" * * att3="jeepers" else att1="bar" att2="zoinks" #> * * * * It does not handle statements with no else clause. * *************************************************************//************************************************************* * This translator handles the following statement syntaxes: * * <# if (condition) then foo else bar #> * * <# if (condition) then att="foo" else att="bar" #> * * <# if (condition) then att1="foo" att2="jinkies" * * att3="jeepers" else att1="bar" att2="zoinks" #> * * * * It does not handle statements with no else clause. * *************************************************************/

var count = 1;

function translateMarkup(docNameStr, siteRootStr, inStr){ var count = 1; // Counter to ensure unique mmTranslatedValues var outStr = inStr; // String that will be manipulated var spacer = ""; // String to manage space between encoded attributes var start = inStr.indexOf('<# if'); // 1st instance of Pound ¬ Conditional code

/* Declared but not initalized. */ var attAndValue; // Boolean indicating whether the attribute is part of// the conditional statement var trueStart; // The beginning of the true case var falseStart; // The beginning of the false case var trueValue; // The HTML that would render in the true case var attName; // The name of the attribute that is being'// set conditionally. var equalSign;

Chapitre 24302

Page 303: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

// The position of the equal sign just to the// left of the <#, if there is one var transAtt; // The entire translated attribute var transValue; // The value that must be URL-encoded var back3FromStart; // Three characters back from the start position// (used to find equal sign to the left of <# var tokens; // An array of all the attributes set in the true case var end; // The end of the current conditional statement. // As long as there's still a <# conditional that hasn't been // translated while (start != -1){ back3FromStart = start-3; end = outStr.indexOf(' #>',start); equalSign = outStr.indexOf('="<# if',back3FromStart); attAndValue = (equalSign != -1)?false:true; trueStart = outStr.indexOf('then', start); falseStart = outStr.indexOf(' else', start); trueValue = outStr.substring(trueStart+5, falseStart); tokens = dreamweaver.getTokens(trueValue,' '); // If attAndValue is false, find out what attribute you're // translating by backing up from the equal sign to the // first space. The substring between the space and the // equal sign is the attribute. if (!attAndValue){ for (var i=equalSign; i > 0; i--){ if (outStr.charAt(i) == " "){ attName = outStr.substring(i+1,equalSign); break; } } transValue = attName + '="' + trueValue + '"'; transAtt = ' mmTranslatedValue' + count + '="' + ¬ escape(transValue) + '"'; outStr = outStr.substring(0,end+4) + transAtt + ¬ outStr.substring(end+4); // If attAndValue is true, and tokens is greater than // 1, then trueValue is a series of attribute/value // pairs, not just one. In that case, each attribute/value // pair must be encoded separately and then added back // together to make the translated value. }else if (tokens.length > 1){ transAtt = ' mmTranslatedValue' + count + '="' for (var j=0; j < tokens.length; j++){ tokens[j] = escape(tokens[j]);

Traducteurs de données 303

Page 304: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

if (j>0){ spacer=" "; } transAtt += spacer + tokens[j]; } transAtt += '"'; outStr = outStr.substring(0,end+3) + transAtt + ¬ outStr.substring(end+3)

// If attAndValue is true and tokens is not greater // than 1, then trueValue is a single attribute/value pair. // This is the simplest case, where all that is necessary is // to encode trueValue. }else{ transValue = trueValue; transAtt = ' mmTranslatedValue' + count + '="' + ¬ escape(transValue) + '"'; outStr = outStr.substring(0,end+3) + transAtt + ¬ outStr.substring(end+3); } // Increment the counter so that the next instance // of mmTranslatedValue will have a unique name, and // then find the next <# conditional in the code. count++; start = outStr.indexOf('<# if',end); } // Return the translated string. return outStr}

function getTranslatorInfo(){ returnArray = new Array(7); returnArray[0] = "Pound_Conditional";//The translatorClass returnArray[1] = "Pound Conditional Translator";//The title returnArray[2] = "2"; //The number of extensions returnArray[3] = "html"; //The first extension returnArray[4] = "htm";//The second extension returnArray[5] = "1";// The number of expressions returnArray[6] = "<#";//The first expression returnArray[0] = "Pound_Conditional";//The translatorClass returnArray[1] = "Pound Conditional Translator";//The title returnArray[2] = "2"; //The number of extensions returnArray[3] = "html"; //The first extension returnArray[4] = "htm";//The second extension returnArray[5] = "1";// The number of expressions returnArray[6] = "<#";//The first expression

return returnArray}

Chapitre 24304

Page 305: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

</script></head>

<body></body></html>

Contrôle des attributs traduits

Lorsque les balises de serveur sont utilisées pour spécifier un seul attribut et que cet attribut est représenté dans un inspecteur de propriétés, Dreamweaver affiche les balises de serveur dans l'inspecteur de propriétés.

Le marqueur s'affiche, qu'il soit associé ou non à un traducteur. Si un traducteur est associé au marqueur, un éclair apparaît au-dessus de l'icône dans le panneau. Le traducteur s'exécute chaque fois que l'utilisateur modifie les balises serveur se trouvant dans le panneau.

Remarque : l'icône en forme d'éclair n'apparaît pas lorsque du texte ou des cellules, des lignes ou des colonnes de tableau sont sélectionnés. La traduction se produit également si l'utilisateur modifie les balises de serveur se trouvant dans le panneau et s'il existe un traducteur traitant ce type de marqueur.

Lorsque les balises de serveur sont utilisées pour contrôler plusieurs attributs dans une balise, elles n'apparaissent pas dans l'inspecteur de propriétés. Toutefois, l'éclair signale à l'utilisateur qu'il existe un marqueur traduit pour l'élément sélectionné.

Les champs de l'inspecteur de propriétés sont toujours modifiables ; les utilisateurs peuvent entrer des valeurs pour les attributs susceptibles d'être contrôlés par les balises de serveur, ce qui peut entraîner l'existence d'attributs en double. Si une valeur traduite et une valeur régulière sont définies pour un attribut donné, Dreamweaver affiche la valeur traduite dans la fenêtre de document. Vous devez décider si votre traducteur va rechercher les attributs en double et les supprimer.

Traducteurs de données 305

Page 306: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Verrouillage des balises ou des blocs de code traduitsEn règle générale, vous attendez d'un traducteur qu'il modifie les marqueurs de façon à ce que Dreamweaver puisse les afficher, mais vous souhaitez sauvegarder les marqueurs d'origine, et non les modifications. Pour répondre à ce besoin, Dreamweaver fournit des balises XML spécifiques qui entourent le contenu traduit et permettent de faire référence au code d'origine. La syntaxe des balises XML est la suivante :

<MM:BeginLock translatorClass="translatorClass" ¬type="tagNameOrType" depFiles="dependentFilesList" ¬orig="encodedOrignalMarkup">Translated content<MM:EndLock>

où :

translatorClass est l'identifiant unique du traducteur (la première chaîne du tableau renvoyé par getTranslatorInfo()).

tagNameOrType est une chaîne identifiant le type du marqueur (ou le nom de balise associé au marqueur) contenu dans le verrou. Cette chaîne ne peut contenir que des caractères alphanumériques, des traits d'union (-) ou des caractères de soulignement (_). Vous pouvez vérifier cette valeur dans la fonction canInspectSelection() d'un inspecteur de propriétés personnalisé pour déterminer si cet inspecteur est approprié pour le contenu. Pour plus d'informations, voir « Creation d'inspecteurs de propriétés pour contenu verrouillé », page 313. Un contenu verrouillé ne peut pas être contrôlé par les inspecteurs de propriétés intégrés de Dreamweaver. Par exemple, la spécification de type="IMG" n'entraîne pas l'affichage de l'inspecteur d'images.

dependentFilesList est une chaîne contenant une liste de fichiers séparés par des virgules dont dépendent les marqueurs verrouillés. Les fichiers sont référencés à partir du disque dur (par exemple, C:\sites\avocado8\copyright.html sous Windows ou MyHD:sites:avocado8:copyright.html sur Macintosh). Si l'utilisateur met à jour l'un des fichiers de la liste dependentFilesList, Dreamweaver retraduit automatiquement le contenu dans le document contenant la liste.

encodedOriginalMarkup est une chaîne contenant les marqueurs d'origine non traduits et codés à l'aide d'un extrait de code URL (utilisez %22 pour “, %3C pour <, %3E pour > et %25 pour %). La façon la plus rapide de coder une chaîne en URL consiste à utiliser la méthode escape(). Par exemple, si myString est égal à '<img src="foo.gif">', escape(myString) renvoie %3Cimg%20src=%22foo.gif%22%3E.

Chapitre 24306

Page 307: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

L'exemple suivant montre la partie de code verrouillée pouvant être générée à partir de la traduction de la SSI <!--#include virtual="/footer.html" --> :

<MM:BeginLock translatorClass="MM_SSI" type="ssi" ¬depFiles="C:\sites\webdev\footer.html" orig="%3C!--#include ¬virtual=%22/footer.html%22%20--%3E"><!-- begin footer --><CENTER><HR SIZE=1 NOSHADE WIDTH=100%>

<BR>

[<A TARGET="_top" HREF="/">home</A>][<A TARGET="_top" HREF="/products/">products</A>][<A TARGET="_top" HREF="/services/">services</A>][<A TARGET="_top" HREF="/support/">support</A>][<A TARGET="_top" HREF="/company/">about us</A>][<A TARGET="_top" HREF="/help/">help</A>] </CENTER><!-- end footer --><MM:EndLock>

Exemple de traducteur de blocs/balises simple

Pour mieux comprendre le principe de la traduction, il est utile d'examiner un traducteur entièrement écrit en JavaScript (c'est-à-dire, un traducteur dont aucune fonctionnalité ne dépend d'une bibliothèque C). Le traducteur suivant serait plus efficace écrit en C, mais la version JavaScript est plus simple et constitue un exemple idéal pour montrer comment fonctionnent les traducteurs.

Traducteurs de données 307

Page 308: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

A l'instar de la plupart des traducteurs, celui-ci est conçu pour émuler le comportement d'un serveur. Supposons que votre serveur web soit configuré pour remplacer la balise KENT par la photo d'un technicien différent selon le jour de la semaine, l'heure de la journée ou la plate-forme de l'utilisateur. Le traducteur exécute la même opération, mais uniquement localement.

<html><head><title>Kent Tag Translator</title><meta http-equiv="Content-Type" content="text/html; charset="><script language="JavaScript">/********************************************************** * The getTranslatorInfo() function provides information * * about the translator, including its class and name, * * the types of documents that are likely to contain the * * markup to be translated, the regular expressions that * * a document containing the markup to be translated * * would match, and the default Translation preference * * (whether the translator should run on all files, no * * files, in files with the specified extensions, or in * * files matching the specified expressions). * **********************************************************/function getTranslatorInfo(){ //Create a new array with 6 slots in it returnArray = new Array(6); returnArray[0] = "DREAMWEAVER_TEAM"// The translatorClass returnArray[1] = "Kent Tags"// The title returnArray[2] = "0" // The number of extensions returnArray[3] = "1"// The number of expressions returnArray[4] = "<kent"// Expression returnArray[5] = "byExpression"// Default Translation preference return returnArray; returnArray[0] = "DREAMWEAVER_TEAM"// The translatorClass returnArray[1] = "Kent Tags"// The title returnArray[2] = "0" // The number of extensions returnArray[3] = "1"// The number of expressions returnArray[4] = "<kent"// Expression returnArray[5] = "byExpression"// Default Translation preference return returnArray; }

/************************************************************************* The translateMarkup() function performs the actual translation. ** In this translator, the translateMarkup() function is written ** entirely in JavaScript (that is, it does not rely on a C library) -- *

Chapitre 24308

Page 309: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

* and it's also extremely inefficient. It's a simple example, however, ** which is good for learning. ***************************************************************************//********************************************************** * The translateMarkup() function performs the actual * * translation. In this translator, the translateMarkup() * * function is written entirely in JavaScript (that is, * * it does not rely on a C library). It's not very * * efficient, but it's good for learning. * **********************************************************/function translateMarkup(docNameStr, siteRootStr, inStr){ var outStr = "";// The string to be returned after translation var start = inStr.indexOf('<kent>');// The first position of the KENT tag // in the document. var replCode = replaceKentTag();// Calls the replaceKentTag() function // to get the code that will replace KENT. var outStr = "";// The string to be returned after translation var start = inStr.indexOf('<kent>');// The first position of the KENT tag // in the document. var replCode = replaceKentTag();// Calls the replaceKentTag() function // to get the code that will replace KENT. //If the document does not contain any content, terminate the translation. if ( inStr.length <= 0 ){ return ""; } // As long as start, which is equal to the location in inStr of the // KENT tag, is not equal to -1 (that is, as long as there is another // KENT tag in the document) while (start != -1){ // Copy everything up to the start of the KENT tag. // This is very important, as translators should never change // anything other than the markup that is to be translated. outStr = inStr.substring(0, start); // Replace the KENT tag with the translated HTML, wrapped in special // locking tags. For more information on the replacement operation, see // the comments in the replaceKentTag() function. outStr = outStr + replCode;

Traducteurs de données 309

Page 310: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

// Copy everything after the KENT tag. outStr = outStr + inStr.substring(start+6);

// Use the string you just created for the next trip through // the document. This is the most inefficient part of all. inStr = outStr; start = inStr.indexOf('<kent>');

} // When there are no more KENT tags in the document, return outStr. return outStr;}

/*************************************************************** The replaceKentTag() function assembles the HTML that will ** replace the KENT tag and the special locking tags that will ** surround the HTML. It calls the getImage() function to ** determine the SRC of the IMG tag. ***************************************************************//*********************************************************** The replaceKentTag() function assembles the HTML that ** will replace the KENT tag and the special locking tags ** that will surround the HTML. It calls the getImage() ** function to determine the SRC of the IMG tag. ***********************************************************/function replaceKentTag(){ // The image to display. var image = getImage(); // The location of the image on the local disk. var depFiles = dreamweaver.getSiteRoot() + image; // The IMG tag that will be inserted between the lock tags. var imgTag = '<IMG SRC="/' + image + '" WIDTH="320" HEIGHT="240" ALT="Kent">\n'; // 1st part of the opening lock tag. The remainder of the tag is assembled below. var start = '<MM:BeginLock translatorClass="DREAMWEAVER_TEAM" type="kent"'; // The closing lock tag. var end = '<MM:EndLock>'; //Assemble the lock tags and the replacement HTML. var replCode = start + ' depFiles="' + depFiles + '"'; replCode = replCode + ' orig="%3Ckent%3E">\n'; replCode = replCode + imgTag; replCode = replCode + end; return replCode;}

/

Chapitre 24310

Page 311: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

****************************************************************** * The getImage() function determines which image to display* * based on the day of the week, the time of day and the * * user's platform. The day and time are figured based on UTC * * time (Greenwich Mean Time) minus 8 hours, which gives* * Pacific Standard Time (PST). No allowance is made for Daylight * * Savings Time in this routine. *******************************************************************//********************************************************** * The getImage() function determines which image to * * display based on the day of the week, the time of day * * and the user's platform. The day and time are figured * * based on UTC time (Greenwich Mean Time) minus 8 hours, * * which gives Pacific Standard Time (PST). No allowance * * is made for Daylight Savings Time in this routine. * **********************************************************/function getImage(){ var today = new Date();// Today's date & time. var day = today.getUTCDay(); // Day of the week in the GMT time zone. // 0=Sunday, 1=Monday, and so on. var hour = today.getUTCHours();// The current hour in GMT, based on the // 24-hour clock. var SFhour = hour - 8;// The time in San Francisco, based on the // 24-hour clock. var platform = navigator.platform; // User's platform. All Windows machines // are identified by Dreamweaver as "Win32", // all Macs as "MacPPC". var imageRef;// The image reference to be returned. var today = new Date();// Today's date & time. var day = today.getUTCDay(); // Day of the week in the GMT time zone. // 0=Sunday, 1=Monday, and so on. var hour = today.getUTCHours();// The current hour in GMT, based on the // 24-hour clock. var SFhour = hour - 8;// The time in San Francisco, based on the // 24-hour clock. var platform = navigator.platform; // User's platform. All Windows machines // are identified by Dreamweaver as "Win32", // all Macs as "MacPPC". var imageRef;// The image reference to be returned. // If SFhour is negative, you have two adjustments to make.

Traducteurs de données 311

Page 312: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

// First, subtract one from the day count because it is already the wee // hours of the next day in GMT. Second, add SFhour to 24 to // give a valid hour in the 24-hour clock. if (SFhour < 0){ day = day - 1; // The day count back one would make it negative, and it's Saturday, // so set the count to 6. if (day < 0){ day = 6; } SFhour = SFhour + 24; } // Now determine which photo to show based on whether it's a workday or a // weekend; what time it is; and, if it's a time and day when Kent is // working, what platform the user is on. //If it's not Sunday if (day != 0){ //And it's between 10am and noon, inclusive if (SFhour >= 10 && SFhour <= 12){ imageRef = "images/kent_tiredAndIrritated.jpg"; //Or else it's between 1pm and 3pm, inclusive }else if (SFhour >= 13 && SFhour <= 15){ imageRef = "images/kent_hungry.jpg"; //Or else it's between 4pm and 5pm, inclusive }else if (SFhour >= 16 && SFhour <= 17){ //If user is on Mac, show Kent working on Mac if (platform == "MacPPC"){ imageRef = "images/kent_gettingStartedOnMac.jpg"; //If user is on Win, show Kent working on Win }else{ imageRef = "images/kent_gettingStartedOnWin.jpg"; } //Or else it's after 6pm but before the stroke of midnight }else if (SFhour >= 18){ //If it's Saturday if (day == 6){ imageRef = "images/kent_dancing.jpg"; //If it's not Saturday, check the user's platform }else if (platform == "MacPPC"){ imageRef = "images/kent_hardAtWorkOnMac.jpg"; }else{ imageRef = "images/kent_hardAtWorkOnMac.jpg"; } }else{ imageRef = "images/kent_sleeping.jpg"; }

Chapitre 24312

Page 313: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

//If it's after midnight and before 10am, or anytime on Sunday }else{ imageRef = "images/kent_sleeping.jpg"; } return imageRef;}

</script></head>

<body></body></html>

Creation d'inspecteurs de propriétés pour contenu verrouillé

Une fois que vous avez créé un traducteur, vous devez créer un inspecteur de propriétés pour le contenu afin de permettre à l'utilisateur d'en modifier les propriétés (par exemple, le fichier à inclure ou l'une des conditions d'une instruction conditionnelle). Le contrôle d'un contenu traduit pose un problème particulier pour les raisons suivantes :

• L'utilisateur peut décider de modifier les propriétés du contenu traduit et ces modifications doivent être répercutées dans le contenu non traduit.

• Le DOM contient le contenu traduit (ce qui signifie que les balises de verrouillage et les balises qu'elles englobent sont des Nudss du DOM), mais la propriété outerHTML de documentElement ainsi que les fonctions dreamweaver.getSelection() et dreamweaver.nodeToOffsets() agissent sur la source non traduite.

• Les balises que vous contrôlez sont différentes avant et après la traduction.

S'il existe un risque que l'utilisateur désactive votre traducteur tandis qu'un autre inspecteur de propriétés n'a pas encore commencé à traiter les balises non traduites, vous devez créer deux inspecteurs de propriétés : un pour la ou les balises non traduites et un deuxième pour la région verrouillée générée par la traduction. Les deux inspecteurs peuvent avoir une interface identique, mais le commentaire figurant en tête du fichier et les fonctions canInspectSelection() et inspectSelection() doivent être différents.

Par exemple, un commentaire de l'inspecteur de la balise HAPPY non traduite pourrait être :

<!-- tag:HAPPY,priority:5,selection:exact,hline,vline -->

Un commentaire de l'inspecteur de la balise HAPPY traduite pourrait alors être :

<!-- tag:*LOCKED*,priority:5,selection:within,hline,vline -->

Traducteurs de données 313

Page 314: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La fonction canInspectSelection() pour l'inspecteur de la balise HAPPY non traduite est simple : étant donné que le type de sélection est exact, elle peut renvoyer la valeur true sans analyse supplémentaire. Pour l'inspecteur de la balise HAPPY traduite, cette fonction est plus compliquée ; le mot clé *LOCKED* indique que l'inspecteur est approprié lorsque la sélection se trouve à l'intérieur d'une région verrouillée, mais étant donné qu'un document peut comporter plusieurs régions verrouillées, des vérifications supplémentaires doivent être effectuées pour déterminer si l'inspecteur correspond à cette région verrouillée en particulier.

Le contrôle d'un contenu traduit présente encore un autre problème. Lorsque vous appelez la fonction dom.getSelection(), les valeurs renvoyées par défaut sont des décalages d'octets dans la source non traduite. Pour étendre la sélection de façon à sélectionner uniquement la région verrouillée, utilisez la méthode suivante :

var currentDOM = dw.getDocumentDOM();var offsets = currentDOM.getSelection();var theSelection = currentDOM.offsetsToNode(offsets[0],offsets[0]+1);

L'utilisation de offsets[0]+1 comme deuxième argument permet de vous assurer que vous restez dans les limites de la balise de verrouillage de début lorsque vous traduisez les décalages d'octets en Nuds. Si vous utilisez offsets[1] comme deuxième argument, vous risquez de sélectionner le Nuds situé au-dessus du verrou.

Une fois la sélection effectuée (après vous être assuré qu'elle est du type node.ELEMENT_NODE), vous pouvez vérifier l'attribut type pour vous assurer que la région verrouillée correspond à cet inspecteur. Exemple :

if (theSelection.nodeType == node.ELEMENT_NODE && ¬theSelection.getAttribute('type') == 'happy'){

return true;}else{

return false}

Chapitre 24314

Page 315: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Pour renseigner les champs de l'inspecteur pour la balise traduite, vous devez analyser la valeur de l'attribut orig. Par exemple, si le code non traduit est <HAPPY TIME="22"> et que l'inspecteur de propriétés contient un champ libellé Time, vous devez extraire la valeur de l'attribut TIME à partir de la chaîne orig.

function inspectSelection() {var currentDOM = dw.getDocumentDOM();var currSelection = currentDOM.getSelection();var theObj = currentDOM.offsetsToNode¬(curSelection[0],curSelection[0]+1);

if (theObj.nodeType != Node.ELEMENT_NODE) {return;

}

// To convert the encoded characters back to their// original values, use the unescape() method.var origAtt = unescape(theObj.getAttribute("ORIG"));

// Convert the string to lower case for processingvar origAttLC = origAtt.toLowerCase();

var timeStart = origAttLC.indexOf('time="');var timeEnd = origAttLC.indexOf('"',timeStart+6);var timeValue = origAtt.substring(timeStart+6,timeEnd);

document.layers['timelayer'].document.timeForm.timefield.¬value = timeValue;

}

Une fois l'attribut orig analysé en vue de renseigner les champs de l'inspecteur de propriétés pour la balise traduite, vous aurez probablement le réflexe de définir la valeur de l'attribut orig si l'utilisateur modifie cette valeur dans l'un des champs. Ce n'est pourtant pas la procédure conseillée étant donné que vous allez probablement vous heurter aux restrictions s'appliquant aux modifications d'une région verrouillée. Vous pouvez contourner ce problème en modifiant les marqueurs d'origine puis en retraduisant.

Traducteurs de données 315

Page 316: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

L'inspecteur de propriétés pour SSI traduites (Configuration/Inspectors/ssi_translated.js) illustre cette technique avec sa fonction setComment(). Au lieu de réécrire l'attribut orig, l'inspecteur assemble un nouveau commentaire de SSI. Il insère ensuite ce commentaire dans le document à la place de l'ancien en réécrivant l'intégralité du contenu du document, ce qui a pour effet de générer un nouvel attribut orig. Le code suivant résume cette technique :

// Assemble the new include comment. radioStr and URL are // variables defined earlier in the code.newInc = "<!--#include " + radioStr + "=" + '"' + URL + '"' ¬+" -->";

// Get the contents of the document.var entireDocObj = dreamweaver.getDocumentDOM();var docSrc = entireDocObj.documentElement.outerHTML;

// Store everything up to the SSI comment and everything after// the SSI comment in the beforeSelStr and afterSelStr variables.var beforeSelStr = docSrc.substring(0, curSelection[0] );var afterSelStr = docSrc.substring(curSelection[1]);

// Assemble the new contents of the document.docSrc = beforeSelStr + newInc + afterSelStr;

// Set the outerHTML of the HTML tag (represented by// the documentElement object) to the new contents,// and then set the selection back to the locked region// surrounding the SSI comment.entireDocObj.documentElement.outerHTML = docSrc;entireDocObj.setSelection(curSelection[0], curSelection[0]+1);

Recherche de bogues dans le traducteurSi la fonction translateMarkup() contient certains types d'erreurs, le traducteur est chargé correctement, mais son exécution échoue sans que l'utilisateur en soit informé lorsqu'il est appelé. Bien que cette panne discrète empêche Dreamweaver de devenir instable, elle peut ralentir le développement, surtout lorsque vous essayez de rechercher une erreur de syntaxe mineure dans 10, 20 ou 30 lignes de code.

Si l'exécution du traducteur échoue, une méthode de débogage efficace consiste à convertir le traducteur en commande, en procédant comme suit :

1 Copiez tout le contenu du fichier du traducteur dans un nouveau document, puis enregistrez-le dans le dossier Configuration/Commands du dossier de l'application Dreamweaver.

Chapitre 24316

Page 317: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

2 Au début du document, entre les balises SCRIPT, ajoutez la fonction suivante :

function commandButtons(){return new Array( "OK","translateMarkup(dreamweaver.¬getDocumentPath('document'), dreamweaver.getSiteRoot(), ¬dreamweaver.getDocumentDOM().documentElement.outerHTML); ¬window.close()", "Cancel", "window.close()");

}

3 A la fin de la fonction translateMarkup(), supprimez du commentaire la ligne return whateverTheReturnValueIs (valeur renvoyée) et remplacez-la par dreamweaver.getDocumentDOM().documentElement.outerHTML = whateverTheReturnValueIs. Exemple :

// return theCode;dreamweaver.getDocumentDOM().documentElement.outerHTML = ¬theCode;

} /* end of translateMarkup() */

4 Dans la balise BODY du document, ajoutez un formulaire sans champs de saisie. Exemple :

<body><form>Hello.</form></body>

5 Redémarrez Dreamweaver, puis choisissez votre « commande du traducteur » dans le menu Commandes. Lorsque vous cliquez sur OK, la fonction translateMarkup() est appelée et simule une traduction.

Si aucun message d'erreur ne s'affiche et que la traduction continue à échouer, votre code contient probablement une erreur de logique.

6 Ajoutez des instructions alert() en des points stratégiques de la fonction translateMarkup() de façon à vous assurer que vous touchez les ramifications appropriées et vérifier ainsi les valeurs des variables et des propriétés en différents points. Exemple :

for (var i=0; i< foo.length; i++){alert("we're at the top of foo.length array, and the value ¬of i is " + i);/* rest of loop */

}

7 Une fois les instructions alert() ajoutées, choisissez votre commande dans le menu Commandes, cliquez sur Annuler, puis choisissez-la de nouveau. Cette opération recharge le fichier de commande en intégrant vos modifications.

Traducteurs de données 317

Page 318: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Chapitre 24318

Page 319: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

5

2

CHAPITRE 25

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Extensions C

Le mécanisme d'extension C vous permet d'utiliser les fichiers d'extension Dreamweaver en combinant un code JavaScript et votre propre code C. Créez des fonctions en langage C, intégrez-les à une DLL ou à une bibliothèque partagée, enregistrez la bibliothèque dans le dossier Configuration/JSExtensions du dossier de l'application Dreamweaver, puis appelez les fonctions à partir de JavaScript à l'aide de l'interpréteur JavaScript intégré à Dreamweaver.

Par exemple, supposons que vous souhaitiez définir un objet Dreamweaver permettant d'insérer dans le document actif le contenu d'un fichier utilisateur. Etant donné que le code JavaScript côté client ne prend pas en charge les E/S de fichier, vous devez créer une fonction en C pour fournir cette fonctionnalité.

319

Page 320: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Vous pouvez utiliser le code HTML et JavaScript ci-dessous pour créer un objet Insérer le texte à partir d'un fichier simple. Notez que la fonction objectTag() appelle une fonction C nommée readContentsOfFile() qui est stockée dans une bibliothèque appelée myLibrary.

<HTML><HEAD><SCRIPT>function objectTag() {

fileName = document.forms[0].myFile.value;return myLibrary.readContentsOfFile(fileName);

}</SCRIPT></HEAD>

<BODY><FORM>Entrez le nom du fichier à insérer :<INPUT TYPE="file" NAME="myFile"></FORM></BODY></HTML>

Chapitre 25320

Page 321: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La fonction readContentsOfFile() accepte une liste d'arguments fournis par l'utilisateur, décompresse l'argument contenant le nom du fichier, lit le contenu du fichier et le compresse en guise de valeur renvoyée. Pour plus d'informations sur les structures de données et les fonctions JavaScript apparaissant dans readContentsOfFile(), voir la section « API d'extension C », page 322.

JSBoolreadContentsOfFile(JSContext *cx, JSObject *obj, unsigned int ¬argc, jsval *argv, jsval *rval){

char *fileName, *fileContents;JSBool success;unsigned int length;

/* Make sure caller passed in exactly one argument. If not, * then tell the interpreter to abort script execution. */if (argc != 1){

JS_ReportError(cx, "Wrong number of arguments", 0);return JS_FALSE;}

/* Convert the argument to a string */fileName = JS_ValueToString(cx, argv[0], &length); if (fileName == NULL){

JS_ReportError(cx, "The argument must be a string", 0);return JS_FALSE;

}

/* Use the string (the file name) to open and read a file */fileContents = exerciseLeftToTheReader(fileName);

/* Store file contents in rval, which is the return value ¬ passed* back to the caller */success = JS_StringToValue(cx, fileContents, 0, *rval);free(fileContents);

/* Return true to continue or false to abort the script */return success;

}

Pour vous assurer que la fonction readContentsOfFile() s'exécute correctement sans provoquer d'erreur JavaScript, vous devez l'enregistrer avec l'interpréteur JavaScript en incluant une fonction nommée MM_Init() dans votre bibliothèque. Lorsque l'application Dreamweaver charge la bibliothèque au démarrage, elle appelle la fonction MM_Init() pour extraire trois informations :

• le nom JavaScript de la fonction ;

• un pointeur vers la fonction ;

• le nombre d'arguments attendus par la fonction.

Extensions C 321

Page 322: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

La fonction MM_Init() de myLibrary pourrait ressembler à ceci :

voidMM_Init(){

JS_DefineFunction("readContentsOfFile", readContentsOfFile, 1);}

Votre bibliothèque doit inclure exactement une instance de la macro suivante :

/* MM_STATE is a macro that expands to some definitions that are * needed to interact with Dreamweaver. This macro must * be defined exactly once in your library. */MM_STATE

Remarque : la bibliothèque peut être implémentée en C ou C++, mais le fichier contenant MM_Init() et MM_STATE doit être implémenté en C. Le compilateur C++ modifie les noms de fonction, ce qui rend impossible la détection de la fonction MM_Init() dans Dreamweaver.

API d'extension CDans votre bibliothèque, le code C doit interagir avec l'interpréteur JavaScript de Dreamweaver à trois moments distincts :

• au démarrage, pour enregistrer les fonctions de la bibliothèque ;

• lorsque la fonction est appelée, pour décompresser les arguments qui sont transmis de JavaScript à C ;

• avant le retour de la fonction, pour compresser la valeur renvoyée.

Pour accomplir ces tâches, l'interpréteur définit plusieurs types de données et affiche une API. Les définitions pour les types de données et les fonctions repertoriées dans cette section s'affichent dans le fichier mm_jsapi.h. Pour que votre bibliothèque puisse fonctionner correctement, vous devez insérer mm_jsapi.h en haut de chaque fichier de votre bibliothèque en utilisant la ligne suivante :

#include "mm_jsapi.h"

typedef struct JSContext JSContext

Description

Un pointeur vers ce type de données opaque est transmis à la fonction C. Certaines des fonctions de l'API utilisent ce pointeur comme argument.

Chapitre 25322

Page 323: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

typedef struct JSObject JSObject

Description

Un pointeur vers ce type de données opaque est transmis à la fonction C. Ce type de données représente un objet pouvant correspondre à un objet de tableau ou tout autre type d'objet.

typedef struct jsval jsval

Description

Une structure de données opaque pouvant contenir un nombre entier ou un pointeur vers un nombre à virgule flottante, une chaîne ou un objet. Certaines des fonctions de l'API permettent de lire les valeurs des arguments de fonction à partir du contenu d'un jsval et d'autres permettent d'écrire la valeur renvoyée par la fonction en écrivant un jsval.

typedef enum { JS_FALSE = 0, JS_TRUE = 1 } JSBool

Description

Un type de données simple utilisé pour stocker une valeur booléenne.

typedef JSBool (*JSNative)(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval)

Description

Signature permettant l'implémentation sous C de fonctions JavaScript, où :

• cx est un pointeur vers une structure JSContext opaque qui doit être transmis à certaines fonctions de l'API JavaScript. Cette variable contient le contexte d'exécution de l'interpréteur.

• obj est un pointeur vers l'objet dans le contexte duquel le script s'exécute. Pendant l'exécution du script, le mot clé this désigne cet objet.

• argc correspond au nombre d'arguments transmis à la fonction.

• argv est un pointeur vers un tableau d'arguments jsval. Le tableau comporte argc éléments en longueur.

• rval est un pointeur vers un jsval unique. La valeur renvoyée par la fonction doit être enregistrée dans *rval.

La fonction renvoie la valeur JS_TRUE en cas de succès ou JS_FALSE en cas d'échec. Si la valeur JS_FALSE est renvoyée, l'exécution du script en cours s'arrête.

Extensions C 323

Page 324: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

JSBool JS_DefineFunction()

Description

Enregistre une fonction C avec l'interpréteur JavaScript dans Dreamweaver. Après le renvoi de cette fonction, des scripts JavaScript appelant la fonction spécifiée dans name exécutent le code vers lequel pointe call.

Normalement, vous appelez cette fonction à partir de la fonction MM_Init() que Dreamweaver appelle lors de son démarrage.

Arguments

char *name, JSNative call, unsigned int nargs

• name est le nom de la fonction tel qu'il apparaît dans JavaScript.

• call est un pointeur vers une fonction C. La fonction doit accepter les mêmes arguments que readContentsOfFile et renvoyer une valeur JSBool indiquant le succès ou l'échec de l'exécution de la fonction.

• nargs est le nombre d'arguments que la fonction doit recevoir.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

char *JS_ValueToString()

Description

Extrait un argument de fonction à partir d'un jsval, le convertit en chaîne (si possible) et renvoie la valeur convertie à l'appelant.

Arguments

JSContext *cx, jsval v, unsigned int *pLength

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• v est le jsval à partir duquel la chaîne sera extraite.

• pLength est un pointeur vers un nombre entier qui n'est pas signé. Cette fonction définit pour *plength une valeur égale à la longueur de la chaîne en octets.

Valeurs renvoyées

Un pointeur vers une chaîne en cas de succès ou null en cas d'échec.

JSBool JS_ValueToInteger()

Description

Extrait un argument de fonction à partir d'un jsval, le convertit en nombre entier (si possible) et renvoie la valeur convertie à l'appelant.

Chapitre 25324

Page 325: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

JSContext *cx, jsval v, long *lp

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• v est le jsval à partir duquel la chaîne sera extraite.

• lp est un pointeur vers un nombre entier de 4 octets. Cette fonction stocke la valeur convertie dans *lp.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSBool JS_ValueToDouble()

Description

Extrait un argument de fonction d'un jsval, le convertit en réel double (si possible) et renvoie la valeur convertie à l'appelant.

Arguments

JSContext *cx, jsval v, double *dp

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• v est le jsval à partir duquel la chaîne sera extraite.

• dp est un pointeur vers un réel double de 8 octets. Cette fonction stocke la valeur convertie dans *dp.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSBool JS_ValueToBoolean()

Description

Extrait un argument de fonction à partir d'un jsval, le convertit en valeur booléenne (si possible) et renvoie la valeur convertie à l'appelant.

Arguments

JSContext *cx, jsval v, JSBool *bp

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• v est le jsval à partir duquel la chaîne sera extraite.

• bp est un pointeur vers un JSBool. Cette fonction stocke la valeur convertie dans *bp.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

Extensions C 325

Page 326: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

JSBool JS_ValueToObject()

Description

Extrait un argument de fonction à partir d'un jsval, le convertit en objet (si possible) et renvoie la valeur convertie à l'appelant. Si l'objet correspond à un tableau, utilisez JS_GetArrayLength() et JS_GetElement() pour lire son contenu.

Arguments

JSContext *cx, jsval v, JSObject **op

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• v est le jsval à partir duquel la chaîne sera extraite.

• op est un pointeur vers un (JSObject *). Cette fonction stocke la valeur convertie dans *op.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSBool JS_StringToValue()

Description

Stocke la valeur renvoyée d'une chaîne dans un jsval.

Arguments

JSContext *cx, char *bytes, size_t sz, jsval *vp

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• bytes est la chaîne à stocker dans le jsval. La chaîne est copiée de façon à ce que l'appelant puisse la libérer lorsqu'elle ne sera plus nécessaire. Si la taille de la chaîne n'est pas spécifiée (voir l'argument sz), alors la chaîne doit se terminer par un 0.

• sz indique la taille de la chaîne en octets. Si sz est égal à 0, la longueur de la chaîne se terminant par 0 est calculée automatiquement.

• vp est un pointeur vers le jsval dans lequel le contenu de la chaîne doit être copié.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSBool JS_DoubleToValue()

Description

Stocke la valeur renvoyée d'un nombre à virgule flottante dans un jsval.

Chapitre 25326

Page 327: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

JSContext *cx, double dv, jsval *vp

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• dv est un nombre à virgule flottante de 8 octets.

• vp est un pointeur vers le jsval dans lequel le contenu du réel double doit être copié.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSVal JS_BooleanToValue()

Description

Stocke la valeur renvoyée d'une valeur booléenne dans un jsval.

Arguments

JSBool bv

Valeurs renvoyées

Un argument JSVal contenant la valeur booléenne transmise.

JSVal JS_IntegerToValue()

Description

Stocke la valeur renvoyée d'un nombre entier dans un jsval.

Arguments

long lv

Valeurs renvoyées

Un argument JSVal contenant le nombre entier transmis.

JSVal JS_ObjectToValue()

Description

Stocke la valeur renvoyée d'un objet dans un jsval. Utilise la fonction JS_ NewArrayObject() pour créer un objet de tableau et utilise JS_SetElement() pour en définir le contenu.

Arguments

JSObject *obj

Valeurs renvoyées

Un JSVal contenant l'objet transmis.

Extensions C 327

Page 328: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

char *JS_ObjectType()

Description

A partir d'une référence d'objet, renvoie une chaîne décrivant le type de l'objet. Pour les objets de tableau, la valeur renvoyée est Array.

Arguments

JSObject *obj

En principe, cet argument est transmis et converti à l'aide de JS_ValueToObject().

Valeurs renvoyées

Pointeur vers une chaîne terminée par 0. L'appelant ne doit pas libérer cette chaîne une fois le traitement terminé.

JSObject *JS_NewArrayObject()

Description

Crée un nouvel objet contenant un tableau d'arguments jsval.

Arguments

JSContext *cx, unsigned int length, jsval *v

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• length correspond au nombre d'éléments que le tableau doit contenir.

• v est un pointeur facultatif vers les arguments jsval devant être stockés dans le tableau. Si la valeur renvoyée est différente de null, v correspond à un tableau contenant des éléments length. Si la valeur renvoyée est null, le contenu initial de l'objet de tableau est indéterminé (et il peut être défini à l'aide de JS_SetElement()).

Valeurs renvoyées

Un pointeur vers un nouvel objet de tableau (array) ou null en cas d'échec de l'exécution de la fonction.

long JS_GetArrayLength()

Description

A partir d'un pointeur vers un objet de tableau, extrait le nombre d'éléments contenus dans le tableau.

Arguments

JSContext *cx, JSObject *obj

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• obj est une référence à un objet de tableau.

Chapitre 25328

Page 329: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Nombre d'éléments contenus dans le tableau ou -1 en cas d'échec de l'exécution de la fonction.

JSBool JS_GetElement()

Description

Lit un seul élément d'un objet de tableau.

Arguments

JSContext *cx, JSObject *obj, unsigned int index, jsval *v

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• obj est un pointeur vers un objet de tableau.

• index est un index des nombres entiers du tableau. Le premier élément est l'index 0, le dernier élément est l'index (length - 1).

• v est un pointeur vers un jsval dans lequel sera copié le contenu du jsval figurant dans le tableau.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSBool JS_SetElement()

Description

Ecrit un seul élément d'un objet de tableau.

Arguments

JSContext *cx, JSObject *obj, unsigned int index, jsval *v

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• obj est un pointeur vers un objet de tableau.

• index est un index des nombres entiers du tableau. Le premier élément est l'index 0, le dernier élément est l'index (length - 1).

• v est un pointeur vers un jsval dont le contenu doit être copié dans le jsval du tableau.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

Extensions C 329

Page 330: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

JSBool JS_ExecuteScript()

Description

Compile et exécute une chaîne JavaScript. Si le script génère une valeur renvoyée, elle est renvoyée dans *rval.

Arguments

JSContext *cx, JSObject *obj, char *script, unsigned in sz, jsval *rval

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• obj est un pointeur vers l'objet dans le contexte duquel le script s'exécute. Pendant l'exécution du script, le mot clé this désigne cet objet. En général, il s'agit du pointeur JSObject transmis à la fonction JavaScript.

• script est une chaîne contenant le code JavaScript. Si la taille de la chaîne n'est pas spécifiée (voir l'argument sz), alors la chaîne doit se terminer par un 0.

• sz indique la taille de la chaîne en octets. Si sz est égal à 0, la longueur de la chaîne se terminant par 0 est calculée automatiquement.

• rval est un pointeur vers un jsval unique. La valeur renvoyée pour la fonction est stockée dans *rval.

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

JSBool JS_ReportError()

Description

Décrit la cause d'une erreur de script. Appelle cette fonction avant de renvoyer la valeur JS_FALSE pour expliquer à l'utilisateur les raisons pour lesquelles le script a échoué (« nombre d’arguments incorrect », par exemple).

Arguments

JSContext *cx, char *error, size_t sz

• cx est le pointeur JSContext opaque transmis à la fonction JavaScript.

• error est une chaîne contenant le message d'erreur. La chaîne est copiée de façon à ce que l'appelant puisse la libérer lorsqu'elle ne sera plus nécessaire. Si la taille de la chaîne n'est pas spécifiée (voir l'argument sz ci-dessous), alors la chaîne doit se terminer par un 0.

• sz indique la taille de la chaîne en octets. Si sz est égal à 0, la longueur de la chaîne se terminant par 0 est calculée automatiquement.

Chapitre 25330

Page 331: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Valeur booléenne indiquant le succès (JS_TRUE) ou l'échec (JS_FALSE) de l'exécution de la fonction.

Appel d'une fonction C à partir de JavaScript

Maintenant que vous savez comment les extensions C fonctionnent dans Dreamweaver et que vous connaissez les types de données et les fonctions sur lesquels reposent ces extensions, prenons un exemple pour montrer comment construire une bibliothèque et appeler une fonction.

Cet exercice fait appel à trois fichiers qui se trouvent dans le dossier Extending/c_files du dossier de l'application Dreamweaver :

• mm_jsapi.h est un fichier d'en-tête contenant les définitions des types de données et des fonctions décrits dans « API d'extension C », page 322.

• Sample.c est un exemple de fichier de définition de la fonction computeSum().

• Sample.mak est un fichier Make que vous pouvez utiliser pour créer un fichier de définition Sample.c dans une DLL à l'aide de Microsoft Visual C++ ; Sample.proj est le fichier équivalent permettant de créer une bibliothèque CFM à l'aide de Metrowerks CodeWarrior. Si vous utilisez d'autres outils, vous pouvez créer votre propre fichier Make.

Pour créer la DLL sous Windows :

1 Dans Microsoft Visual C++, choisissez Fichier > Ouvrir un espace de travail, puis sélectionnez Sample.mak.

2 Choisissez Générer > Tout reconstruire.

Une fois l'opération de génération terminée, le fichier Sample.dll apparaît dans le dossier contenant Sample.mak (ou dans l'un de ses sous-dossiers).

Pour générer la bibliothèque partagée sur Macintosh :

1 Ouvrez le fichier Sample.proj dans Metrowerks CodeWarrior.

2 Générez le projet pour créer une bibliothèque CFM.

Une fois l'opération de génération terminée, un fichier nommé Sample apparaît dans le dossier contenant Sample.proj (ou dans l'un de ses sous-dossiers).

Pour appeler la fonction computeSum() à partir de l'objet Insérer barre horizontale :

1 Dans le dossier Configuration du dossier de l'application Dreamweaver, créez un dossier appelé JSExtensions.

2 Copiez le fichier Sample.dll (Windows) ou Sample (Macintosh) dans le dossier JSExtensions.

Extensions C 331

Page 332: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3 Dans un éditeur de texte, ouvrez le fichier horizontal_rule.htm qui se trouve dans le dossier Configuration/Objects/Common.

4 Ajoutez la ligne alert(Sample.computeSum(2,2)); à la fonction objectTag() pour qu'elle apparaisse comme suit :

function objectTag() {// Return the html tag that should be insertedalert(Sample.computeSum(2,2));return "<HR>";

}

5 Enregistrez le fichier et redémarrez Dreamweaver.

Pour exécuter la fonction computeSum() :

Choisissez la commande Insertion > Barre horizontale. Une boîte de dialogue contenant le chiffre 4 (résultat de la somme de 2 plus 2) s'affiche.

Chapitre 25332

Page 333: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

6

2

CHAPITRE 26

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .API JavaScript de Dreamweaver

Les objets, les propriétés et les méthodes décrites à la section « Modèle objet de document (DOM) et JavaScript », page 19, constituent une base solide pour étendre ou personnaliser Dreamweaver. Toutefois, un certain nombre d'opérations propres aux environnements de création de pages web ne peuvent pas être effectuées à l'aide des méthodes disponibles dans les DOM de Netscape, de Microsoft ou du W3C. La sélection, qui fait partie intégrante de l'expérience de l'utilisateur dans ce type d'environnement, en est l'exemple le plus flagrant : le DOM niveau 1 et les DOM du navigateur ne traitent pas la sélection car les utilisateurs ne peuvent pas sélectionner ni modifier le contenu (excepté dans les champs de formulaire) dans une fenêtre de navigateur.

Pour permettre la création d'extensions Dreamweaver utiles et la personnalisation des menus Dreamweaver, Dreamweaver propose aux développeurs plus de 400 fonctions JavaScript en complément des méthodes de DOM standard, ce qui représente une amélioration considérable par rapport à Dreamweaver 3. En effet, il est à présent possible de réaliser en JavaScript presque toutes les opérations que l'utilisateur peut effectuer dans Dreamweaver à l'aide des menus, de panneaux flottants, des inspecteurs et des fenêtres de site ou de document.

333

Page 334: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description des objets de l'API

Toutes les fonctions personnalisées qui suivent sont des méthodes de l'objet dreamweaver, de l'objet site ou de l'objet représentant le DOM d'un document. Les méthodes appartenant à la dernière catégorie sont répertoriées ici sous la forme dom.functionName(). Pour obtenir les résultats souhaités, vous devez commencer par obtenir le DOM d'un document, puis appeler les fonctions en tant que méthodes de ce DOM. En effet, il ne suffit pas de taper dom.functionName(). Exemple :

var currentDOM = dreamweaver.getDocumentDOM('document');currentDOM.setSelection(100,200);currentDOM.clipCopy();var otherDOM = dreamweaver.openDocument(dreamweaver.¬getSiteRoot() + "html/foo.htm");otherDOM.endOfDocument();otherDOM.clipPaste();

Sauf indication contraire, les méthodes de l'objet dom ne peuvent être appliquées qu'à un document ouvert dans Dreamweaver ; si vous exécutez une fonction sur un document qui n'est pas ouvert, Dreamweaver affiche un message d’erreur. Lorsqu'une méthode de l'objet dom ne peut être appliquée qu'au document actif ou à des documents fermés, cette caractéristique est indiquée dans sa description.

Dans Dreamweaver 4, dw est synonyme de dreamweaver. Par conséquent, toutes les méthodes de l'objet dreamweaver peuvent être désignées par la notation suivante : dw.functionName(). Cette notation est utilisée dans tous les exemples de code apparaissant dans ce chapitre et dans les autres chapitres.

A propos des activateurs

Dans Dreamweaver, chaque élément de menu est implémenté sous forme de fonction JavaScript ; il est donc nécessaire de disposer d'un mécanisme JavaScript permettant de déterminer quels éléments de menu doivent être activés. Ce mécanisme consiste en une série de fonctions appelées activateurs.

Le rôle d'un activateur est de déterminer si la principale fonction qui lui est associée peut être exécutée dans le contexte en cours. Par exemple, site.canGet() détermine si Dreamweaver peut exécuter une opération Acquérir (site.get()).

Chaque spécification de fonction de l'API indique l'activateur associé à la fonction, le cas échéant (certaines fonctions ne possèdent pas d'activateur, soit parce que l'élément de menu qui leur est associé est toujours activé, soit parce qu'elles ne sont pas en rapport avec les menus). Pour plus d'informations sur les activateurs, voir la section « Activateurs », page 569.

Chapitre 26334

Page 335: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Organisation de ce chapitre

Les méthodes de l'API JavaScript de Dreamweaver sont regroupées par fonctionnalité, puis classées par ordre alphabétique, d'abord par nom d'objet, puis par nom de méthode. Les méthodes relatives à la création, l'application et la suppression de styles CSS, par exemple, sont regroupées dans la catégorie Fonctions relatives aux styles CSS ; à l'intérieur de cette catégorie, les méthodes de l'objet dom sont répertoriées en premier, suivies des méthodes de l'objet dreamweaver. Une liste des anciennes fonctions et des activateurs est donnée à la fin de ce chapitre. Les arguments facultatifs sont indiqués entre accolades ({ }).

Obtention de données de documents par l'intermédiaire du DOMPresque toutes les fonctions relatives à la modification d'un DOM exigent que vous indiquiez tout d'abord quel DOM vous souhaitez modifier. Vous utilisez pour cela la fonction dreamweaver.getDocumentDOM(), qui est la plus importante de toutes les fonctions de l'API.

dreamweaver.getDocumentDOM()

Disponibilité

Dreamweaver 2.0

Description

Permet d'accéder à l'arborescence des objets du document spécifié. Une fois celle-ci renvoyée à l'appelant, ce dernier peut la modifier pour changer le contenu du document.

Arguments

sourceDoc

sourceDoc doit être "document", "parent", "parent.frames[number]", "parent.frames['frameName']" ou une URL. document désigne le document actif contenant la sélection en cours. parent désigne le jeu de cadres parent (si le document sélectionné se trouve dans un cadre) et parent.frames[number] et parent.frames['frameName'] désignent un document figurant dans un cadre spécifique du jeu de cadres contenant le document en cours. Si l'argument est une URL relative, celle-ci est relative au fichier d'extension. Dans Dreamweaver 4, l'argument sourceDoc, s'il n'est pas défini, prend par défaut la valeur document.

Remarque : si l'argument a pour valeur "document", l'appelant doit être la fonction applyBehavior(), deleteBehavior(), objectTag() ou toute fonction d'un fichier de commande ou d'inspecteur de propriétés pour pouvoir modifier le document.

Valeurs renvoyées

Objet document JavaScript à la racine de l'arborescence.

API JavaScript de Dreamweaver 335

Page 336: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

Exemple

Le segment de code suivant utilise la fonction dreamweaver.getDocumentDOM() pour accéder à la couleur d'arrière-plan du document en cours :

var theDOM = dreamweaver.getDocumentDOM("document");theDOM.body.bgcolor = "#000000";

Fonctions du panneau ActifsLes fonctions du panneau Actifs (programmé dans l'API comme « palette des actifs ») vous permettent de gérer et d'utiliser les éléments contenus dans le panneau Actifs (ces éléments peuvent être des modèles, des bibliothèques, des images, des animations Shockwave et Flash, des URL, des couleurs, des animations et des scripts).

dreamweaver.assetPalette.addToFavoritesFromDocument()

Disponibilité

Dreamweaver 4.0

Description

Ajoute l'élément sélectionné dans la fenêtre de document à la liste des favoris. Cette fonction prend uniquement en charge les images, les animations, les fichiers Shockwave, les fichiers Flash, les couleurs de police et les URL.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.addToFavoritesFromSiteAssets()

Disponibilité

Dreamweaver 4.0

Description

Ajoute les éléments sélectionnés dans la liste des sites à la liste des favoris et donne à chaque élément un surnom. Cette fonction ne supprime pas les éléments de la liste des sites.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26336

Page 337: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.assetPalette.addToFavoritesFromSiteWindow()

Disponibilité

Dreamweaver 4.0

Description

Ajoute les éléments sélectionnés dans la fenêtre Site ou dans la carte du site à la liste des favoris. Cette fonction prend uniquement en charge les images, les animations, les scripts, les fichiers Shockwave, les fichiers Flash et les URL (dans le cas de la carte du site). Si d'autres dossiers ou fichiers sont sélectionnés, ils sont ignorés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.copyToSite()

Disponibilité

Dreamweaver 4.0

Description

Copie les éléments sélectionnés dans un autre site et les place dans la liste des favoris de ce site. Si ces éléments sont des fichiers (autres que des couleurs ou des URL), le fichier réel est copié dans ce site.

Arguments

targetSite

targetSite est le nom du site de destination, tel qu'il est renvoyé par l'appel site.getSites().

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.edit()

Disponibilité

Dreamweaver 4.0

Description

Modifie les éléments sélectionnés à l'aide de l'éditeur externe principal ou de la commande d'édition personnalisée. Pour les couleurs, le sélecteur de couleur s'affiche. S'il s'agit d'URL, une boîte de dialogue invite l'utilisateur à entrer une URL et un surnom. Cette fonction n'est pas disponible pour la liste de couleurs et les URL du site.

API JavaScript de Dreamweaver 337

Page 338: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.assetPalette.canEdit()

dreamweaver.assetPalette.getSelectedCategory()

Disponibilité

Dreamweaver 4.0

Description

Renvoie la catégorie sélectionnée, qui peut être l'une des suivantes : "templates", "library", "images", "movies", "shockwave", "flash", "scripts", "colors" ou "urls".

Arguments

Aucun.

Valeurs renvoyées

La catégorie sélectionnée.

dreamweaver.assetPalette.getSelectedItems()

Disponibilité

Dreamweaver 4.0

Description

Renvoie un tableau des éléments sélectionnés dans le panneau Actifs, soit dans la liste des sites, soit dans la liste des favoris.

Arguments

Aucun.

Valeurs renvoyées

Un tableau de trois chaînes pour chaque élément sélectionné :

• name est le nom, le nom de fichier ou le surnom tel qu'il apparaît dans le panneau.

• value est le chemin entier, l'URL complète ou la valeur chromatique, selon l'élément sélectionné.

• type peut être soit "folder", soit l'une des catégories suivantes : "templates", "library", "images", "movies", "shockwave", "flash", "scripts", "colors" ou "urls".

Remarque : si aucun élément n'est sélectionné dans le panneau Actifs, cette fonction renvoie un tableau contenant une seule chaîne vide.

Chapitre 26338

Page 339: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Si « URL » est la catégorie et que le dossier « Mondossier » et l'URL « MonURLfavorite » sont sélectionnés dans la liste des favoris, la fonction renvoie :

items[0] = "Mondossier"items[1] = " "items[2] = "folder"items[3] = "MonURLfavorite"items[4] = "http://www.MonURLfavorite.com"items[5] = "urls"

dreamweaver.assetPalette.getSelectedView()

Disponibilité

Dreamweaver 4.0

Description

Indique quelle liste est affichée dans le panneau Actifs.

Arguments

Aucun.

Valeurs renvoyées

Renvoie soit "site", soit "favorites".

dreamweaver.assetPalette.insertOrApply()

Disponibilité

Dreamweaver 4.0

Description

Insère les éléments sélectionnés ou applique l'élément à la sélection en cours. Applique des modèles, des couleurs et des URL à la sélection et insère des URL et d'autres éléments au point d'insertion. Si aucun document n'est ouvert, cette fonction n'est pas disponible.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.assetPalette.canEdit()

dreamweaver.assetPalette.locateInSite()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 339

Page 340: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Sélectionne les fichiers associés aux éléments sélectionnés du côté local de la fenêtre Site. Cette fonction n'est pas applicable aux couleurs ni aux URL. Elle est disponible dans la liste des sites et la liste des favoris. Si un dossier est sélectionné dans la liste des favoris, il est ignoré.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.newAsset()

Disponibilité

Dreamweaver 4.0

Description

Crée un nouvel élément correspondant à la catégorie en cours dans la liste des favoris. Dans le cas des bibliothèques et des modèles, l'élément créé est un nouveau fichier de bibliothèque ou de modèle vide auquel l'utilisateur peut immédiatement attribuer un nom. Pour les couleurs, le sélecteur de couleur s'affiche. S'il s'agit d'URL, une boîte de dialogue invite l'utilisateur à entrer une URL et un surnom. Cette fonction n'est pas disponible pour les images, les animations, les fichiers Shockwave, les fichiers Flash ni les scripts.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.newFolder()

Disponibilité

Dreamweaver 4.0

Description

Crée un nouveau dossier ayant un nom par défaut (sans titre) dans la catégorie en cours et place une zone d'édition autour du nom. Cette fonction est uniquement disponible dans la liste des favoris.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26340

Page 341: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.assetPalette.recreateLibraryFromDocument()

Disponibilité

Dreamweaver 4.0

Description

Remplace l'ancienne fonction libraryPalette, recreateLibraryFromDocument(). Crée dans le document en cours un fichier LBI correspondant à l'occurrence sélectionnée d'un élément de bibliothèque. Revient à cliquer sur Créer à nouveau dans l'inspecteur de propriétés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.refreshSiteAssets()

Disponibilité

Dreamweaver 4.0

Description

Recherche les sites, affiche la liste des sites et y ajoute des données.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.removeFromFavorites()

Disponibilité

Dreamweaver 4.0

Description

Supprime les éléments sélectionnés de la liste des favoris. Cette fonction ne supprime pas les fichiers du disque, sauf dans le cas d'une bibliothèque ou d'un modèle où l'utilisateur est invité à confirmer l'opération avant que le fichier ne soit supprimé. Cette fonction est uniquement disponible dans la liste des favoris ou si la catégorie est Library ou Templates.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 341

Page 342: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.assetPalette.renameNickname()

Disponibilité

Dreamweaver 4.0

Description

Affiche une zone d'édition autour du nom du dossier ou du surnom du fichier pour permettre de le modifier. Cette fonction est uniquement disponible dans la liste des favoris ou pour la catégorie Library ou Template.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.setSelectedCategory()

Disponibilité

Dreamweaver 4.0

Description

Affiche une catégorie différente.

Arguments

categoryType

categoryType peut être l'une des catégories suivantes : "templates", "library", "images", "movies", "shockwave", "flash", "scripts", "colors" ou "urls".

Valeurs renvoyées

Aucune.

dreamweaver.assetPalette.setSelectedView()

Disponibilité

Dreamweaver 4.0

Description

Passe de la liste des sites à la liste des favoris et vice versa.

Arguments

viewType

viewType peut être site ou favorites.

Valeurs renvoyées

Aucune.

Chapitre 26342

Page 343: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.referencePalette.getFontSize()

Disponibilité

Dreamweaver 4.0

Description

Renvoie la taille de police actuelle de la zone d'affichage du panneau Référence.

Arguments

Aucun.

Valeurs renvoyées

Les tailles de police relatives exprimées par les valeurs small, medium ou large.

dreamweaver.referencePalette.setFontSize()

Disponibilité

Dreamweaver 4.0

Description

Modifie la taille de police affichée dans le panneau Référence.

Arguments

fontSize

fontSize peut être l'une des tailles relatives suivantes : small, medium ou large.

Valeurs renvoyées

Aucune.

Fonctions de comportementsCes fonctions vous permettent d'associer des comportements à un objet ou de les en dissocier, d'identifier les comportements associés à un objet, d'obtenir des informations sur un objet auquel est associé un comportement, etc. Les méthodes de l'objet dreamweaver.behaviorInspector contrôlent ou agissent sur la sélection dans le panneau Comportements et non dans le document en cours.

dom.addBehavior()

Disponibilité

Dreamweaver 3.0

Description

Associe un nouveau couple événement/action (comportement) à l'élément sélectionné. Cette fonction n'est valide que pour le document actif.

Arguments

event, action, {eventBasedIndex}

API JavaScript de Dreamweaver 343

Page 344: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• event est le gestionnaire d'événements JavaScript à utiliser pour associer le comportement à l'élément (par exemple, onClick, onMouseOver ou onLoad).

• action est l'appel de fonction qui serait renvoyé par applyBehavior() si l'action était ajoutée à l'aide du panneau Comportements ; par exemple, "MM_popupMsg('Hello World')".

• eventBasedIndex est la position à laquelle cette action doit être ajoutée. eventBasedIndex est un index de référence zéro ; par conséquent, s'il existe déjà deux actions associées à l'événement en question et que vous spécifiez eventBasedIndex comme étant l'action 1, elle sera insérée et exécutée entre les deux autres. Si vous ne définissez pas cet argument, l'action est insérée à la suite des actions déjà associées à l'événement spécifié.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.getBehavior()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'action qui se trouve à la position indiquée dans l'événement spécifié. Cette fonction agit sur la sélection en cours et n'est valide que pour le document actif.

Arguments

event, {eventBasedIndex}

• event est le gestionnaire d'événements JavaScript à utiliser pour associer le comportement à l'élément (par exemple, onClick, onMouseOver ou onLoad).

• eventBasedIndex est la position de l'action à obtenir. Par exemple, si deux actions sont associées à l'événement spécifié, 0 est la première et 1 la seconde. Si cet argument n'est pas défini, toutes les actions associées à l'événement spécifié sont renvoyées.

Valeurs renvoyées

Chaîne représentant l'appel de fonction (par exemple "MM_swapImage('document.Image1','document.Image1','foo.gif','#933292969950')") ou tableau de chaînes, si vous n'avez pas défini l'argument eventBasedIndex.

Activateur

Aucun.

Chapitre 26344

Page 345: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.reapplyBehaviors()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si les fonctions associées aux appels de comportement sur le nœud spécifié sont présentes dans la section HEAD du document, et dans le cas contraire, les y insère.

Arguments

{elementNode}

elementNode est un nœud d'élément du document en cours. Si cet argument n'est pas défini, Dreamweaver recherche les appels de comportement orphelins sur tous les nœuds d'élément du document

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.removeBehavior()

Disponibilité

Dreamweaver 3.0

Description

Supprime l'action qui se trouve à la position indiquée dans l'événement spécifié. Cette fonction agit sur la sélection en cours et n'est valide que pour le document actif.

Arguments

event, {eventBasedIndex}

• event est le gestionnaire d'événements JavaScript à utiliser pour associer le comportement à l'élément (par exemple, onClick, onMouseOver ou onLoad). Si cet argument n'est pas défini, toutes les actions sont supprimées de l'élément.

• eventBasedIndex est la position de l'action à supprimer. Par exemple, si deux actions sont associées à l'événement spécifié, 0 est la première et 1 la seconde. Si cet argument n'est pas défini, toutes les actions associées à l'événement sélectionné sont supprimées.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 345

Page 346: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getBehaviorElement()

Disponibilité

Dreamweaver 2.0

Description

Obtient l'objet DOM correspondant à la balise à laquelle le comportement est appliqué. Cette fonction ne s'applique qu'aux fichiers d'action de comportement.

Arguments

Aucun.

Valeurs renvoyées

Objet DOM ou null. La valeur null est renvoyée dans les cas suivants :

• lorsque le script en cours d'exécution n'est pas actif dans le contexte du panneau Comportements ;

• lorsque le panneau Comportements est utilisé pour modifier un comportement dans un scénario ;

• lorsque le script en cours d'exécution est appelé par la fonction dreamweaver.popupAction() ;

• lorsque le panneau Comportements associe un événement à un empaqueteur de lien et que ce dernier n'existe pas ;

• lorsque cette fonction se trouve en dehors d'un fichier d'action.

Activateur

Aucun.

Chapitre 26346

Page 347: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

La fonction dreamweaver.getBehaviorElement() peut être utilisée de la même manière que la fonction dreamweaver.getBehaviorTag() pour déterminer si l'action sélectionnée est adaptée à la balise HTML sélectionnée, mais elle vous permet en outre d'accéder à des informations complémentaires sur la balise et ses attributs. Par exemple, si vous créez une action qui ne peut être appliquée qu'à un lien hypertexte (A HREF) ne renvoyant pas à un autre cadre ou une autre fenêtre, utilisez la fonction getBehaviorElement() dans la fonction qui initialise l'interface utilisateur de la boîte de dialogue des paramètres.

function initializeUI(){var theTag = dreamweaver.getBehaviorElement();var CANBEAPPLIED = (theTag.tagName == "A" && ¬theTag.getAttribute("HREF") != null && ¬theTag.getAttribute("TARGET") == null);if (CANBEAPPLIED) {

// display the action UI} else{

// display a helpful message that tells the user // that this action can only be applied to a// hyperlink without an explicit target]

}}

dreamweaver.getBehaviorTag()

Disponibilité

Dreamweaver1.2

Description

Obtient la source de la balise à laquelle le comportement est appliqué. Cette fonction ne s'applique qu'aux fichiers d'action.

Arguments

Aucun.

Valeurs renvoyées

Chaîne représentant la source de la balise. Il s'agit de la chaîne transmise à la fonction canAcceptBehavior() sous forme d'argument (HTMLelement). Si cette fonction apparaît en dehors d'un fichier d'action, la valeur renvoyée est une chaîne vide.

Activateur

Aucun.

API JavaScript de Dreamweaver 347

Page 348: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Si vous créez une action qui ne peut être appliquée qu'à un lien hypertexte (A HREF), vous pouvez utiliser la fonction getBehaviorTag() dans la fonction qui initialise l'interface utilisateur de la boîte de dialogue des paramètres.

function initializeUI(){var theTag = dreamweaver.getBehaviorTag().toUpperCase();var CANBEAPPLIED = (theTag.indexOf('HREF') != -1));if (CANBEAPPLIED) {

// display the action UI} else{

// display a helpful message that tells the user // that this action can only be applied to a// hyperlink

}}

dreamweaver.popupAction()

Disponibilité

Dreamweaver 2.0

Description

Propose à l'utilisateur une boîte de dialogue de paramètres correspondant à l'action de comportement spécifiée. Pour l'utilisateur, cela revient à sélectionner l'action dans le menu déroulant des actions du panneau Comportements. Cette fonction permet aux fichiers d'extension autres que des actions d'associer des comportements aux objets dans le document de l'utilisateur. L'utilisateur ne peut effectuer aucune autre modification tant qu'il n'a pas fermé la boîte de dialogue.

Remarque : cette fonction ne peut être appelée qu'à partir de la fonction objectTag() ou d'un script de fichier de commande ou d'inspecteur de propriétés.

Arguments

actionName, {funcCall}

• actionName correspond au nom d'un fichier du dossier Configuration/Behaviors/Actions contenant une action de comportement JavaScript ("Timeline/Play Timeline.htm", par exemple).

• funcCall est une chaîne contenant un appel de fonction pour l'action définie dans actionName ("MM_playTimeline(...)", par exemple). Cet argument, s'il est défini, est fourni par la fonction applyBehavior() du fichier d'action.

Valeurs renvoyées

Appel de fonction de l'action de comportement. Lorsque l'utilisateur clique sur OK dans la boîte de dialogue des paramètres, le comportement est ajouté au document en cours (les fonctions appropriées sont ajoutées entre les balises HEAD du document, du code HTML peut être ajouté au début de la balise BODY et d'autres modifications peuvent être effectuées dans le document). L'appel de fonction ("MM_playTimeline(...)", par exemple) n'est pas ajouté au document ; il devient la valeur renvoyée par cette fonction.

Chapitre 26348

Page 349: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

dreamweaver.behaviorInspector.getBehaviorAt()

Disponibilité

Dreamweaver 3.0

Description

Obtient le couple événement/action (comportement) qui se trouve à la position indiquée dans le panneau Comportements.

Arguments

positionIndex

Valeurs renvoyées

Tableau constitué de deux éléments :

• un gestionnaire d'événements ;

• un appel de fonction ou une instruction JavaScript.

Activateur

Aucun.

Exemple

Du fait que positionIndex est un index de base zéro, si le panneau Comportements affiche la liste illustrée ci-après, un appel à la fonction dw.behaviorInspector.getBehaviorAt(2) renvoie un tableau constitué de deux chaînes : "onMouseOver" et "MM_changeProp('document.moon','document.moon','src','sun.gif','MG')".

dreamweaver.behaviorInspector.getBehaviorCount()

Disponibilité

Dreamweaver 3.0

Description

Compte le nombre d'actions associées à l'élément actuellement sélectionné à l'aide de gestionnaires d'événements.

Arguments

Aucun.

Valeurs renvoyées

Nombre entier représentant le nombre d'actions associées à l'élément. Ce nombre est équivalent au nombre d'actions visibles dans le panneau Comportements et comprend les actions de comportement Dreamweaver et le code JavaScript personnalisé.

API JavaScript de Dreamweaver 349

Page 350: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

Exemple

Un appel à la fonction dw.behaviorInspector.getBehaviorCount() pour le lien sélectionné <A HREF="javascript:setCookie()" onClick="MM_popupMsg('A cookie has been set.');parent.rightframe.location.href='aftercookie.html'"> renverrait le nombre 2.

dreamweaver.behaviorInspector.getSelectedBehavior()

Disponibilité

Dreamweaver 3.0

Description

Obtient la position de l'action sélectionnée dans le panneau Comportements.

Arguments

Aucun.

Valeurs renvoyées

Un nombre entier représentant la position de l'action sélectionnée dans le panneau Comportements, ou -1 si aucune action n'est sélectionnée.

Activateur

Aucun.

Exemple

Si la première action du panneau Comportements est sélectionnée, comme le montre l'illustration ci-après, un appel à la fonction dw.behaviorInspector.getSelectedBehavior() renvoie le nombre 0.

dreamweaver.behaviorInspector.moveBehaviorDown()

Disponibilité

Dreamweaver 3.0

Chapitre 26350

Page 351: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Déplace une action de comportement vers le bas, à l'intérieur d'une séquence, en modifiant son ordre d'exécution au sein d'un événement.

Arguments

positionIndex

positionIndex est la position de l'action dans le panneau Comportements. La première action de la liste est à la position 0.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

En supposant que le panneau Comportements soit configuré comme dans l'illustration ci-après, l'appel de la fonction dw.behaviorInspector.moveBehaviorDown(2) aura pour effet d'intervertir les positions des actions Script personnalisé et Changer la propriété au sein de l'événement onMouseOver. Pour toute autre position, la fonction dw.behaviorInspector.moveBehaviorDown() n'aurait aucun effet car un seul comportement est associé aux événements onClick et onMouseOut et le comportement figurant à la position 3 se trouve déjà à la fin du groupe onMouseOver.

dreamweaver.behaviorInspector.moveBehaviorUp()

Disponibilité

Dreamweaver 3.0

Description

Déplace un comportement vers le haut, à l'intérieur d'une séquence, en modifiant son ordre d'exécution au sein d'un événement.

Arguments

positionIndex

positionIndex est la position de l'action dans le panneau Comportements. La première action de la liste est à la position 0.

API JavaScript de Dreamweaver 351

Page 352: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

En supposant que le panneau Comportements soit configuré comme dans l'illustration ci-après, l'appel à la fonction dw.behaviorInspector.moveBehaviorUp(3) aura pour effet d'intervertir les positions des actions Script personnalisé et Changer la propriété au sein de l'événement onMouseOver. Pour toute autre position, la fonction dw.behaviorInspector.moveBehaviorUp() n'aurait aucun effet car un seul comportement est associé aux événements onClick et onMouseOut et le comportement figurant à la position 2 se trouve déjà au début du groupe onMouseOver.

dreamweaver.behaviorInspector.setSelectedBehavior()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne l'action qui se trouve à la position indiquée dans le panneau Comportements.

Arguments

positionIndex

positionIndex est la position de l'action dans le panneau Comportements. La première action de la liste est à la position 0. Pour désélectionner toutes les actions, spécifiez l'index de position (positionIndex) sur –1. Spécifier une position à laquelle ne correspond aucune action revient à spécifier –1.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26352

Page 353: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

En supposant que le panneau Comportements soit configuré comme dans l'exemple ci-après, l'appel de la fonction dw.behaviorInspector.setSelection (3) sélectionnera l'action Changer la propriété associée à l'événement onMouseOut.

Fonctions relatives au Presse-papiersCes fonctions permettent de copier, de couper et de coller des informations à l'aide du Presse-papiers. Sur Macintosh, certaines fonctions du Presse-papiers peuvent également être appliquées sur les champs modifiables des boîtes de dialogue et des panneaux flottants. Dans ce cas, elles peuvent être implémentées en tant que méthodes de l'objet dreamweaver ou en tant que méthodes de l'objet dom. La version dreamweaver de la fonction agit sur la sélection dans la fenêtre active, qu'il s'agisse de la fenêtre de document en cours, de la fenêtre de l'inspecteur de code ou de la fenêtre Site. Sur Macintosh, la fonction peut également être appliquée à la sélection dans le champ modifiable actif. La version dom de la fonction agit toujours sur la sélection dans le document spécifié.

dom.clipCopy()

Disponibilité

Dreamweaver 3.0

Description

Copie la sélection dans le Presse-papiers avec toutes les balises HTML correspondantes.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 353

Page 354: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.clipCopyText()

Disponibilité

Dreamweaver 3.0

Description

Copie le texte sélectionné dans le Presse-papiers sans les balises HTML correspondantes.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canClipCopyText()

dom.clipCut()

Disponibilité

Dreamweaver 3.0

Description

Coupe la sélection et la place dans le Presse-papiers, avec toutes les balises HTML correspondantes.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.clipPaste()

Disponibilité

Dreamweaver 3.0

Description

Colle le contenu du Presse-papiers dans le document en cours, au point d'insertion en cours ou par dessus la sélection en cours. Si le Presse-papiers contient des balises HTML, celles-ci sont interprétées comme telles.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26354

Page 355: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

dom.canClipPaste()

Exemple

Si le Presse-papiers contient ce qui suit : <code>return true;</code>, un appel à la fonction dw.getDocumentDOM().clipPaste() produira le résultat suivant :

dom.clipPasteText()

Disponibilité

Dreamweaver 3.0

Description

Colle le contenu du Presse-papiers dans le document en cours, au point d'insertion en cours ou par dessus la sélection en cours et remplace les sauts de ligne éventuels par des balises BR. Si le Presse-papiers contient des balises HTML, celles-ci ne sont pas interprétées et les séparateurs de balises (< >) sont remplacés par &lt; et &gt; respectivement.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canClipPasteText()

API JavaScript de Dreamweaver 355

Page 356: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Si le Presse-papiers contient ce qui suit : <code>return true;</code>, un appel à la fonction dw.getDocumentDOM().clipPasteText() produira le résultat suivant :

dreamweaver.clipCopy()

Disponibilité

Dreamweaver 3.0

Description

Copie la sélection en cours de la fenêtre active (qu'il s'agisse de la fenêtre de document, d'une boîte de dialogue, d'un panneau flottant ou d'un volet de la fenêtre Site) dans le Presse-papiers.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canClipCopy()

dreamweaver.clipCut()

Disponibilité

Dreamweaver 3.0

Description

Supprime la sélection en cours de la fenêtre active (qu'il s'agisse de la fenêtre de document, d'une boîte de dialogue, d'un panneau flottant ou d'un volet de la fenêtre Site) et la place dans le Presse-papiers.

Arguments

Aucun.

Chapitre 26356

Page 357: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canClipCut()

dreamweaver.clipPaste()

Disponibilité

Dreamweaver 3.0

Description

Colle le contenu du Presse-papiers dans la fenêtre de document, la boîte de dialogue, le panneau flottant ou le volet de la fenêtre Site en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canClipPaste()

dreamweaver.getClipboardText()

Disponibilité

Dreamweaver 3.0

Description

Obtient tout le texte mémorisé dans le Presse-papiers.

Arguments

[bAsText]

[bAsText] est une valeur booléenne qui spécifie si le contenu du Presse-Papiers est extrait sous forme de texte. Si bAsText a la valeur true, le contenu du Presse-papiers est extrait sous forme de texte. Si bAsText a la valeur false, le comportement est le même que dans Dreamweaver 3. Par défaut, cet argument renvoie la valeur false.

Valeurs renvoyées

Chaîne représentant le contenu du Presse-papiers (il peut s'agir de balises HTML) ou rien, si le Presse-papiers est vide.

Activateur

Aucun.

Exemple

Si la fonction dw.getClipboardText() renvoie "text <b>bold</b> text", alors dw.getClipboardText(true) renvoie "text bold text".

API JavaScript de Dreamweaver 357

Page 358: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions relatives aux commandesCes fonctions permettent d'exploiter au mieux les fichiers figurant dans le dossier Configuration/Commands. Elles permettent de gérer le menu Commandes et d'appeler des commandes à partir d'autres types de fichiers d'extension.

dreamweaver.editCommandList()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Modifier la liste de commandes.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.runCommand()

Disponibilité

Dreamweaver 3.0

Description

Exécute la commande spécifiée. Pour l'utilisateur, cela revient à choisir la commande dans un menu ; si une boîte de dialogue est associée à la commande, elle s'affiche (et le script de commandes empêche toute autre modification jusqu'à ce que l'utilisateur ait fermé la boîte de dialogue). Cette fonction permet d'appeler une commande à partir d'un autre fichier d'extension.

Remarque : cette fonction ne peut être appelée qu'à partir de la fonction objectTag() ou d'un script de fichier de commande, d'inspecteur de propriétés ou de menu.

Arguments

commandFile, {commandArg1}, {commandArg2},...{commandArgN}

• commandFile est le nom d'un fichier contenu dans le dossier Configuration/Commands.

• Les arguments suivants sont transmis à commandFile sous forme d'arguments.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26358

Page 359: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Vous pouvez créer un inspecteur de propriétés personnalisé pour les tableaux qui permettra à l'utilisateur d'accéder à la commande Formater le tableau à l'aide d'un bouton de l'inspecteur. Pour ce faire, appelez la fonction suivante à partir du gestionnaire d'événements onClick de ce bouton :

function callFormatTable(){dw.runCommand('Format Table.htm');

}

Fonctions relatives aux conversionsCes fonctions permettent de convertir des tableaux en calques, des calques en tableaux et des feuilles de style en cascade (CSS) en balises HTML. Chacune de ces fonctions se comporte exactement comme une commande de conversion du menu Fichier ou Modifier.

dom.convertLayersToTable()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Convertir les calques en tableau.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canConvertLayersToTable()

dom.convertTablesToLayers()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Convertir les tableaux en calques.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canConvertTablesToLayers()

API JavaScript de Dreamweaver 359

Page 360: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.convertTo30()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Convertir au format compatible avec les navigateurs 3.0.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives aux styles CSSCes fonctions permettent d'appliquer, de retirer, de créer et de supprimer des styles CCS. Les méthodes de l'objet dreamweaver.cssStylePalette contrôlent ou agissent sur la sélection dans le panneau Style et non dans le document en cours.

dom.applyCSSStyle()

Disponibilité

Dreamweaver 4.0

Description

Applique le style spécifié à l'élément spécifié. Cette fonction n'est valide que pour le document actif.

Arguments

elementNode, styleName, [classOrID], [bForceNesting]

• elementNode désigne un nœud d'élément dans le DOM. Si l'argument elementNode a pour valeur NULL ou est exprimé sous forme d'une chaîne vide (''), la fonction agit sur la sélection en cours.

• styleName est le nom d'un style CSS.

• [classOrID] est l'attribut avec lequel le style doit être appliqué (« class » ou « id »). Si l'argument elementNode a pour valeur NULL ou s'il est exprimé sous forme d'une chaîne vide et qu'aucune balise n'entoure complètement la sélection, le style est appliqué avec des balises SPAN. Si la sélection est un point d'insertion, Dreamweaver utilise la méthode heuristique pour déterminer à quelle balise le style doit être appliqué.

Chapitre 26360

Page 361: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• [bForceNesting] est une valeur booléenne qui indique si l'imbrication est autorisée ou non. Si le drapeau bForceNesting est défini, Dreamweaver insère une nouvelle balise SPAN au lieu de tenter de modifier les balises existantes dans le document. S'il n'est pas défini, cet argument a la valeur false par défaut.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Le code suivant applique le style red à la sélection, soit en entourant cette dernière de balises SPAN, soit en appliquant un attribut CLASS aux balises qui entourent la sélection :

var theDOM = dreamweaver.getDocumentDOM('document');theDOM.applyCSSStyle('','red');

dom.removeCSSStyle()

Disponibilité

Dreamweaver 3.0

Description

Supprime l'attribut CLASS ou ID de l'élément spécifié, ou supprime les balises SPAN qui entourent complètement l'élément spécifié. Cette fonction n'est valide que pour le document actif.

Arguments

elementNode, {classOrID}

• elementNode désigne un nœud d'élément dans le DOM. Si l'argument elementNode est une chaîne vide (‘'), la fonction est appliquée à la sélection en cours.

• classOrID est l'attribut qui doit être supprimé (« class » ou « id »). Si l'attribut classOrID n'est pas spécifié, il prend par défaut la valeur "class" . Si aucun attribut CLASS n'est défini pour l'argument elementNode, les balises SPAN entourant elementNode sont supprimées.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.stylePalette.attachExternalStylesheet()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 361

Page 362: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Affiche une boîte de dialogue permettant à l'utilisateur de joindre une feuille de style externe.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.cssStylePalette.deleteSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Supprime du document le style sélectionné dans le panneau Style.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.cssStylePalette.duplicateSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Duplique le style actuellement sélectionné dans le panneau Style et affiche la boîte de dialogue Dupliquer le style afin de permettre à l'utilisateur d'attribuer un nom ou un sélecteur au nouveau style.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.cssStylePalette.editSelectedStyle()

Disponibilité

Dreamweaver 3.0

Chapitre 26362

Page 363: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre la boîte de dialogue Définition du style correspondant au style sélectionné dans le panneau Style.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.cssStylePalette.editStyleSheet()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Modifier feuille de style.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.cssStylePalette.getSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Obtient le nom du style actuellement sélectionné dans le panneau Styles.

Arguments

Aucun.

Valeurs renvoyées

Chaîne représentant le nom du style, ou chaîne vide si aucun style n'est sélectionné.

Activateur

Aucun.

API JavaScript de Dreamweaver 363

Page 364: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Si le style red est sélectionné, comme le montre l'illustration ci-après, un appel à la fonction dw.cssStylePalette.getSelectedStyle() renvoie "red".

dreamweaver.cssStylePalette.getSelectedTarget()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'élément sélectionné dans le menu déroulant Appliquer à, en haut du panneau Styles.

Arguments

Aucun.

Valeurs renvoyées

Objet auquel le style doit être appliqué ou NULL si la cible est la sélection en cours.

Activateur

Aucun.

Exemple

Avant d'appliquer un style, utilisez dw.cssStylePalette.getSelectedTarget(), pour le cas où l'utilisateur changerait la cible, comme le montre l'illustration ci-après.

Chapitre 26364

Page 365: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple :

var currDOM = dw.getDocumentDOM();currDOM.applyCSSStyle(dw.cssStylePalette.getSelectedTarget(), ¬"codeRed");

dreamweaver.cssStylePalette.getStyles()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste de tous les styles de classe que contient le document actif.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes représentant les noms de tous les styles de classe que contient le document.

Activateur

Aucun.

Exemple

En supposant que le panneau Styles CSS soit configuré comme dans l'exemple illustré ci-après, un appel à la fonction dw.cssStylePalete.getStyles() renverra le tableau de chaînes suivant :

• "bigCode"

• "red"

• "sectionHead"

dreamweaver.cssStylePalette.newStyle()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 365

Page 366: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre la boîte de dialogue Nouveau style.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives aux applications externesCes fonctions permettent d'effectuer des opérations relatives aux navigateurs et aux éditeurs externes, définis respectivement dans Préférences, catégorie Aperçu dans le navigateur, et dans Préférences, catégorie Editeurs externes. Elles permettent d'obtenir des informations sur les applications externes et d'ouvrir des fichiers dans ces applications.

dreamweaver.browseDocument()

Disponibilité

Dreamweaver 2.0, améliorée dans les versions 3.0 et 4.0.

Description

Ouvre l'URL spécifiée dans le navigateur spécifié.

Arguments

fileName, {browser}

• fileName est le nom du fichier à ouvrir, exprimé sous forme d'une URL absolue.

• browser, rajouté à Dreamweaver 3, définit le navigateur à utiliser. Cet argument peut être le nom d'un navigateur tel qu'il est défini dans les préférences Aperçu dans le navigateur ou ’primary’ ou ’secondary’. S'il n'est pas défini, l'URL est ouverte dans le navigateur principal de l'utilisateur.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26366

Page 367: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

La fonction suivante utilise dreamweaver.browseDocument() pour ouvrir la page d'accueil Hotwired dans un navigateur :

function goToHotwired(){dreamweaver.browseDocument('http://www.hotwired.com/');

}

Dans Dreamweaver 4, vous pouvez faire en sorte que cette opération ouvre le document dans Internet Explorer à l'aide du code suivant :

function goToHotwired(){var prevBrowsers = dw.getBrowserList();var theBrowser = "";for (var i=1; i < prevBrowsers.length; i+2){

if (prevBrowsers[i].indexOf('Iexplore.exe') != -1){theBrowser = prevBrowsers[i];break;

}}dw.browseDocument('http://www.hotwired.com/',theBrowser);

}

Pour en savoir plus sur la fonction dw.getBrowserList(), voir la section « dreamweaver.getBrowserList() », page 367.

dreamweaver.getBrowserList()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste des navigateurs définis dans le sous-menu Aperçu dans le navigateur.

Arguments

Aucun.

Valeurs renvoyées

Tableau contenant autant de couples de chaînes que de navigateurs définis. La première chaîne de chaque couple représente le nom du navigateur, et la seconde son emplacement sur la machine de l'utilisateur, exprimé sous la forme d'une URL de type file://. Si aucun navigateur n'est défini, la fonction ne renvoie rien.

Activateur

Aucun.

dreamweaver.getExtensionEditorList()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 367

Page 368: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient la liste des éditeurs définis dans les préférences des éditeurs externes pour le fichier spécifié.

Arguments

fileURL

fileURL peut être une URL de type file:// complète, un nom de fichier ou une extension de fichier (point compris).

Valeurs renvoyées

Tableau contenant autant de couples de chaînes que d'éditeurs définis. La première chaîne de chaque couple représente le nom de l'éditeur, et la seconde son emplacement sur la machine de l'utilisateur, exprimé sous la forme d'une URL de type file://. Si aucun éditeur n'est défini dans les préférences, la fonction renvoie un tableau contenant une chaîne vide.

Activateur

Aucun.

Exemple

Un appel à la fonction dw.getExtensionEditorList(".gif") pourrait renvoyer un tableau contenant les deux chaînes suivantes :

• "Fireworks 3"

• "file:///C|/Program Files/Macromedia/Fireworks 3/Fireworks 3.exe"

dreamweaver.getExternalTextEditor()

Disponibilité

Dreamweaver 4.0

Description

Affiche le nom de l'éditeur de texte externe actuellement configuré.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le nom de l'éditeur de texte approprié pour l'interface utilisateur et non le chemin entier.

Activateur

Aucun.

dreamweaver.getPrimaryBrowser()

Disponibilité

Dreamweaver 3.0

Chapitre 26368

Page 369: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient le chemin du navigateur principal.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le chemin du navigateur principal sur le disque dur de l'utilisateur, exprimé sous la forme d'une URL de type file://, ou rien, si aucun navigateur principal n'est défini.

Activateur

Aucun.

dreamweaver.getPrimaryExtensionEditor()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'éditeur principal associé au fichier spécifié.

Arguments

fileURL

Valeurs renvoyées

Tableau contenant un couple de chaînes. La première chaîne de chaque couple représente le nom de l'éditeur, et la seconde son emplacement sur la machine de l'utilisateur, exprimé sous la forme d'une URL de type file://. Si aucun éditeur principal n'est défini, la fonction renvoie un tableau contenant une chaîne vide.

Activateur

Aucun.

dreamweaver.getSecondaryBrowser()

Disponibilité

Dreamweaver 3.0

Description

Obtient le chemin du navigateur secondaire.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le chemin du navigateur secondaire sur le disque dur de l'utilisateur, exprimé sous la forme d'une URL de type file://, ou rien, si aucun navigateur secondaire n'est défini.

Activateur

Aucun.

API JavaScript de Dreamweaver 369

Page 370: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.openWithApp()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le fichier spécifié dans l'application spécifiée.

Arguments

fileURL, appURL

• fileURL est le chemin du fichier à ouvrir, exprimé sous forme d'une URL de type file://.

• appURL est le chemin de l'application dans lequel le fichier doit être ouvert, exprimé sous forme d'une URL de type file://.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.openWithBrowseDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Sélectionner un éditeur externe afin de permettre à l'utilisateur de choisir l'application dans laquelle le fichier spécifié doit s'ouvrir.

Arguments

fileURL

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.openWithExternalTextEditor()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le document en cours dans l'éditeur de texte externe défini dans les préférences des éditeurs externes.

Arguments

Aucun.

Chapitre 26370

Page 371: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.openWithImageEditor()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le fichier spécifié dans l'éditeur d'image spécifié.

Remarque : cette fonction fait appel à un mécanisme spécial d'intégration Fireworks qui renvoie les informations au document actif dans le cas où Fireworks est spécifié comme éditeur d'image. Pour éviter les erreurs lorsqu'aucun document n'est actif, n'appelez jamais cette fonction à partir de la fenêtre Site.

Arguments

fileURL, appURL

• fileURL est le chemin du fichier à ouvrir, exprimé sous forme d'une URL de type file://.

• appURL est le chemin de l'application dans laquelle le fichier doit être ouvert, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives aux manipulations de fichiersCes fonctions permettent de créer, d'ouvrir et d'enregistrer des documents et d'exporter des feuilles de style en cascade vers des fichiers externes. Elles permettent également de rechercher des fichiers ou des dossiers, de créer des fichiers à partir de modèles, de fermer des documents et d'obtenir la liste des fichiers récemment ouverts.

dreamweaver.browseForFileURL()

Disponibilité

Dreamweaver 1.0, améliorée dans les versions 2.0, 3.0 et 4.0

API JavaScript de Dreamweaver 371

Page 372: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre le type de boîte de dialogue spécifié ayant le libellé spécifié dans la barre de titre.

Arguments

openSelectOrSave, {titleBarLabel}, {bShowPreviewPane}, {bSupressSiteRootWarnings}, {arrayOfExtensions}

• openSelectOrSave indique le type de boîte de dialogue : open, select ou save.

• titleBarLabel, rajouté à Dreamweaver 2, est le libellé qui doit figurer dans la barre de titre de la boîte de dialogue. Si cet argument n'est pas défini, Dreamweaver utilise par défaut le libellé fourni par le système d'exploitation.

• bShowPreviewPane, rajouté à Dreamweaver 2, est une valeur booléenne indiquant si le volet d'aperçu de l'image doit être affiché dans la boîte de dialogue. Si l'argument a pour valeur true, la boîte de dialogue filtre les fichiers image ; s'il n'est pas défini, il prend par défaut la valeur false.

• bSupressSiteRootWarnings, rajouté à Dreamweaver 3, est une valeur booléenne indiquant s'il faut supprimer les avertissements indiquant que le fichier sélectionné se trouve hors du dossier racine du site. Si cet argument n'est pas défini, il prend par défaut la valeur false.

• arrayOfExtensions, rajouté à Dreamweaver 4, est un tableau de chaînes qui spécifie l'aspect par défaut du menu déroulant « Type » au bas de la boîte de dialogue. La syntaxe correcte est menuEntryText|.xxx[;.yyy;.zzz]|CCCC| où menuEntryText est le nom du type de fichier qui s'affiche. Les extensions peuvent être spécifiées sous la forme .xxx[;.yyy;.zzz] ou CCCC où .xxx définit l'extension du type de fichier (.yyy et .zzz peuvent également spécifier des extensions de fichier multiples) et CCCC est la constante du type de fichier à quatre caractères utilisée sur Macintosh.

Valeurs renvoyées

Chaîne contenant le nom du fichier, exprimé sous la forme d'une URL de type file://.

Activateur

Aucun.

dreamweaver.browseForFolderURL()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Choisir un dossier ayant le libellé spécifié dans la barre de titre.

Chapitre 26372

Page 373: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{titleBarLabel}, {directoryToStartIn}

• titleBarLabel est le libellé qui doit s'afficher dans la barre de titre de la boîte de dialogue. S'il n'est pas défini, l'argument titleBarLabel prend par défaut la valeur « Choose Folder ».

• directoryToStartIn est le chemin du répertoire de démarrage, exprimé sous forme d'une URL de type file://.

Valeurs renvoyées

Une chaîne contenant le nom du dossier, exprimée sous forme d'une URL de type file://.

Activateur

Aucun.

Exemple

Le code suivant renvoie l'URL d'un dossier :

return dw.browseForFolderURL('Select a Folder', ¬dw.getSiteRoot());

dreamweaver.closeDocument()

Disponibilité

Dreamweaver 3.0

Description

Ferme le document spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()). Si documentObject fait référence au document actif, il se peut que la fenêtre du document ne se ferme pas tant que l'exécution du script qui appelle cette fonction n'est pas terminée.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.createDocument()

Disponibilité

Dreamweaver 2.0

API JavaScript de Dreamweaver 373

Page 374: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre un nouveau document dans la même fenêtre ou dans une nouvelle. Le nouveau document devient le document actif.

Remarque : cette fonction peut être appelée uniquement à partir du fichier menus.xml ou d'un fichier de commande ou d'inspecteur de propriétés. Si une action ou un objet tente d'appeler cette fonction, Dreamweaver affiche un message d'erreur.

Arguments

{bOpenInSameWindow}

bOpenInSameWindow est une valeur booléenne indiquant si le nouveau document doit s'ouvrir dans la fenêtre en cours. Si l'argument bOpenInSameWindow a pour valeur false, qu'il n'est pas précisé ou que la fonction est appelée sur Macintosh, le nouveau document s'ouvre dans une nouvelle fenêtre.

Valeurs renvoyées

Objet document correspondant au nouveau document créé. Il s'agit de la valeur renvoyée par la fonction dreamweaver.getDocumentDOM().

Activateur

Aucun.

dreamweaver.exportCSS()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Exporter les styles dans un fichier CSS.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canExportCSS()

dreamweaver.exportEditableRegionsAsXML()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Exporter les régions modifiables sous XML.

Arguments

Aucun.

Chapitre 26374

Page 375: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.getRecentFileList()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste de tous les fichiers récemment ouverts et répertoriés au bas du menu Fichier.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes représentant les chemins des derniers fichiers ouverts, exprimés sous la forme d'URL de type file://. Si aucun fichier n'a été ouvert récemment, la fonction ne renvoie aucune valeur.

Activateur

Aucun.

dreamweaver.importXMLIntoTemplate()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Importer XML.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.newFromTemplate()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 375

Page 376: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Crée un nouveau document à partir du modèle spécifié. Si vous ne spécifiez aucun argument, la boîte de dialogue Sélectionner le modèle s'affiche.

Arguments

{templateURL}, bmaintain

• templateURL est le chemin d'un modèle disponible sur le site en cours, exprimé sous la forme d'une URL de type file://.

• bmaintain est une valeur booléenne, pouvant être true ou false, indiquant si le lien vers le modèle d'origine doit être conservé ou pas.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.openDocument()

Disponibilité

Dreamweaver 2.0

Description

Ouvre un document à modifier dans une nouvelle fenêtre Dreamweaver et en fait le document actif. Pour l'utilisateur, cela revient à choisir Fichier > Ouvrir et à sélectionner un fichier. Si le fichier spécifié est déjà ouvert, la fenêtre correspondante s'affiche au premier plan. La fenêtre contenant le fichier spécifié devient la fenêtre active et le fichier sélectionné devient le document en cours. Dans Dreamweaver 2, si la fonction d'archivage/extraction est activée, le fichier est extrait avant d'être ouvert. Dans Dreamweaver 4, vous devez utiliser la fonction dreamweaver.openDocumentFromSite() pour obtenir ce comportement.

Remarque : cette fonction ne peut pas être appelée à partir d'un fichier d'objet ou d'action de comportement. Elle provoquerait une erreur.

Arguments

fileName

fileName est le nom du fichier à ouvrir, exprimé sous forme d'une URL. S'il s'agit d'une URL relative, elle est relative au fichier contenant le script ayant appelé cette fonction.

Valeurs renvoyées

Objet document correspondant au fichier spécifié. Il s'agit de la valeur renvoyée par la fonction dreamweaver.getDocumentDOM().

Activateur

Aucun.

Chapitre 26376

Page 377: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.openDocumentFromSite()

Disponibilité

Dreamweaver 3.0

Description

Ouvre un document à modifier dans une nouvelle fenêtre Dreamweaver et en fait le document actif. Pour l'utilisateur, cela revient à double-cliquer sur un fichier dans la fenêtre Site. Si le fichier spécifié est déjà ouvert, la fenêtre correspondante s'affiche au premier plan. La fenêtre contenant le fichier spécifié devient la fenêtre active et le fichier sélectionné devient le document en cours.

Remarque : cette fonction ne peut pas être appelée à partir d'un fichier d'objet ou d'action de comportement. Elle provoquerait une erreur.

Arguments

fileName

fileName est le nom du fichier à ouvrir, exprimé sous forme d'une URL. S'il s'agit d'une URL relative, elle est relative au fichier contenant le script ayant appelé cette fonction.

Valeurs renvoyées

Objet document correspondant au fichier spécifié. Il s'agit de la valeur renvoyée par la fonction dreamweaver.getDocumentDOM().

Activateur

Aucun.

dreamweaver.openInFrame()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Ouvrir dans un cadre. Lorsque l'utilisateur sélectionne un document, celui-ci s'ouvre dans le cadre actif.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canOpenInFrame()

dreamweaver.releaseDocument()

Disponibilité

Dreamweaver 2.0

API JavaScript de Dreamweaver 377

Page 378: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Libère explicitement de la mémoire un document précédemment référencé.

Les documents référencés par les fonctions dreamweaver.getObjectTags(), dreamweaver.getObjectRefs(), dreamweaver.getDocumentPath() et dreamweaver.getDocumentDOM() sont automatiquement libérés au terme de l'exécution du script contenant l'appel. Si le script ouvre un nombre important de documents, vous devez utiliser cette fonction pour en libérer certains explicitement avant la fin de l'exécution du script, ceci afin d'éviter de saturer la mémoire.

Remarque : cette fonction ne s'applique qu'aux documents référencés par une URL, qui ne sont pas ouverts dans un cadre ou dans une fenêtre de document et qui ne correspondent pas à des fichiers d'extension (les fichiers d'extension sont chargés en mémoire au démarrage et n'en sont libérés que lorsque vous quittez Dreamweaver).

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.revertDocument()

Disponibilité

Dreamweaver 3.0

Description

Rétablit la version précédemment enregistrée du fichier spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canRevertDocument()

Chapitre 26378

Page 379: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.saveAll()

Disponibilité

Dreamweaver 3.0

Description

Enregistre tous les documents ouverts et ouvre la boîte de dialogue Enregistrer sous pour tous ceux qui n'ont pas encore été enregistrés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canSaveAll()

dreamweaver.saveDocument()

Disponibilité

Dreamweaver 2.0

Description

Enregistre le fichier spécifié sur un lecteur local.

Remarque : dans Dreamweaver 2, si le fichier est accessible en lecture seule, Dreamweaver tente de l'extraire. Si le document reste en lecture seule après cette tentative ou qu'il ne peut pas être créé, un message d'erreur s'affiche.

Arguments

documentObject, {fileURL}

• documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

• fileURL est une URL représentant un emplacement sur un lecteur local. S'il s'agit d'une URL relative, elle est relative au fichier d'extension. Dans Dreamweaver 2, cet argument est obligatoire. Dans Dreamweaver 4, si l'argument fileURL n'est pas défini et que le fichier a été enregistré précédemment, ce dernier est enregistré au même endroit ; sinon, une boîte de dialogue d'enregistrement s'affiche.

Valeurs renvoyées

Valeur booléenne indiquant le succès (true) ou l'échec (false) de l'opération.

Activateur

dreamweaver.canSaveDocument()

API JavaScript de Dreamweaver 379

Page 380: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.saveDocumentAs()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Enregistrer sous.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.saveDocumentAsTemplate()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Enregistrer comme modèle.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canSaveDocumentAsTemplate()

dreamweaver.saveFrameset()

Disponibilité

Dreamweaver 3.0

Description

Enregistre le jeu de cadres spécifié ou, si ce dernier n'a pas encore été enregistré, ouvre la boîte de dialogue Enregistrer sous.

Chapitre 26380

Page 381: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canSaveFrameset()

dreamweaver.saveFramesetAs()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Enregistrer sous correspondant au fichier de jeu de cadres comprenant le DOM spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canSaveFramesetAs()

Fonctions relatives à la recherche et au remplacementComme leur nom l'indique, ces fonctions permettent d'effectuer des recherches et des remplacements. Elles vont de la simple recherche de l'occurrence suivante d'une chaîne donnée à des opérations plus complexes de remplacement automatique.

dreamweaver.findNext()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 381

Page 382: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Recherche l'occurrence suivante de la chaîne de recherche précédemment définie par la fonction dreamweaver.setUpFind() ou dreamweaver.setUpComplexFind() ou par l'utilisateur (à l'aide de la boîte de dialogue Rechercher), puis la sélectionne dans le document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canFindNext()

dreamweaver.replace()

Disponibilité

Dreamweaver 3.0

Description

S'assure que la sélection en cours correspond aux critères de recherche définis précédemment par la fonction dreamweaver.setUpFindReplace() ou dreamweaver.setUpComplexFindReplace() ou par l'utilisateur dans la boîte de dialogue Remplacer, puis la remplace par le contenu spécifié dans cette requête.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.replaceAll()

Disponibilité

Dreamweaver 3.0

Description

Remplace chaque section du document en cours correspondant aux critères de recherche précédemment définis par la fonction dreamweaver.setUpFindReplace() ou dreamweaver.setUpComplexFindReplace() ou par l'utilisateur (dans la boîte de dialogue Remplacer) par le contenu spécifié dans cette requête.

Arguments

Aucun.

Chapitre 26382

Page 383: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.setUpComplexFind()

Disponibilité

Dreamweaver 3.0

Description

Prépare le terrain pour une recherche avancée de texte ou de balises en chargeant la requête XML spécifiée.

Arguments

xmlQueryString

xmlQueryString est une chaîne de code XML commençant par <dwquery> et se terminant par </dwquery> (pour obtenir une chaîne ayant le format correct, vous devez définir la requête à l'aide de la boîte de dialogue Rechercher, cliquer sur le bouton Enregistrer la requête, ouvrir le fichier de requête dans un éditeur de texte et copier tout ce qui est compris entre le début de la balise <dwquery> et la fin de la balise </dwquery>).

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Dans l'exemple ci-après, la première ligne de code définit une recherche de balise et précise que la recherche doit porter sur le document en cours ; la deuxième ligne exécute la recherche :

dw.setUpComplexFind('<dwquery><queryparams matchcase="false" ¬ignorewhitespace="true" useregexp="false"/><find>¬<qtag qname="a"><qattribute qname="href" qcompare="="qvalue="#">¬</qattribute><qattribute qname="onMouseOut" qcompare="=" qvalue="" ¬qnegate="true"></qattribute></qtag></find></dwquery>');dw.findNext();

dreamweaver.setUpComplexFindReplace()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 383

Page 384: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Prépare le terrain pour une recherche avancée de texte ou de balises en chargeant la requête XML spécifiée.

Arguments

xmlQueryString

xmlQueryString est une chaîne de code XML commençant par <dwquery> et se terminant par </dwquery> (pour obtenir une chaîne ayant le format correct, vous devez définir la requête à l'aide de la boîte de dialogue Rechercher, cliquer sur le bouton Enregistrer la requête, ouvrir le fichier de requête dans un éditeur de texte et copier tout ce qui est compris entre le début de la balise <dwquery> et la fin de la balise </dwquery>).

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Dans l'exemple ci-après, la première ligne de code définit une recherche de balise et précise que la recherche doit porter sur quatre fichiers ; la deuxième ligne exécute la recherche et le remplacement :

dw.setUpComplexFindReplace('<dwquery><queryparams ¬matchcase="false" ignorewhitespace="true" useregexp="false"/>¬<find><qtag qname="a"><qattribute qname="href" qcompare="=" ¬qvalue="#"></qattribute><qattribute qname="onMouseOut" ¬qcompare="=" qvalue="" qnegate="true"></qattribute></qtag>¬</find><replace action="setAttribute" param1="onMouseOut" ¬param2="this.style.color='#000000';this.style.¬fontWeight='normal'"/></dwquery>');dw.replaceAll();

dreamweaver.setUpFind()

Disponibilité

Dreamweaver 3.0

Description

Prépare le terrain pour l'exécution d'une recherche de texte ou de code source HTML en définissant les critères de recherche de l'opération dw.findNext() qui va suivre.

Arguments

searchObject

searchObject est un objet pour lequel les propriétés suivantes peuvent être définies :

• searchString est le texte à rechercher.

Chapitre 26384

Page 385: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• searchSource est une valeur booléenne indiquant si la recherche doit également porter sur le code source HTML.

• {matchCase} est une valeur booléenne indiquant si la recherche doit respecter les majuscules et les minuscules. Si cette propriété n'est pas définie, elle prend par défaut la valeur false.

• {ignoreWhitespace} est une valeur booléenne indiquant si les différences entre les espaces blancs doivent être ignorées. ignoreWhitespace prend par défaut la valeur false si useRegularExpressions a pour valeur true et la valeur true si useRegularExpressions a pour valeur false.

• {useRegularExpressions} est une valeur booléenne indiquant si la chaîne de recherche (searchString) utilise des expressions régulières. Si cette propriété n'est pas définie, elle prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

L'exemple de code suivant montre comment créer un objet à rechercher (searchObject) de trois façons différentes :

var searchParams;searchParams.searchString = 'bgcolor="#FFCCFF"';searchParams.searchSource = true;dw.setUpFind(searchParams);

var searchParams = {searchString: 'bgcolor="#FFCCFF"', searchSource: true};dw.setUpFind(searchParams);

dw.setUpFind({searchString: 'bgcolor="#FFCCFF"', searchSource: ¬true});

dreamweaver.setUpFindReplace()

Disponibilité

Dreamweaver 3.0

Description

Prépare le terrain pour l'exécution d'une recherche de texte ou de code source HTML en définissant les critères de recherche et le cadre d'application de l'opération dw.replace() dw.replaceAll() qui va suivre.

Arguments

searchObject

API JavaScript de Dreamweaver 385

Page 386: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

searchObject est un objet pour lequel les propriétés suivantes peuvent être définies :

• searchString est le texte à rechercher.

• replaceString est le texte à substituer au texte recherché.

• searchSource est une valeur booléenne indiquant si la recherche doit également porter sur le code source HTML.

• {matchCase} est une valeur booléenne indiquant si la recherche doit respecter les majuscules et les minuscules. Si cette propriété n'est pas définie, elle prend par défaut la valeur false.

• {ignoreWhitespace} est une valeur booléenne indiquant si les différences entre les espaces blancs doivent être ignorées. ignoreWhitespace prend par défaut la valeur false si useRegularExpressions a pour valeur true et la valeur true si useRegularExpressions a pour valeur false.

• {useRegularExpressions} est une valeur booléenne indiquant si la chaîne de recherche (searchString) utilise des expressions régulières. Si cette propriété n'est pas définie, elle prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

L'exemple de code suivant montre comment créer un objet à rechercher (searchObject) de trois façons différentes :

var searchParams;searchParams.searchString = 'bgcolor="#FFCCFF"';searchParams.searchString = 'bgcolor="#FFCCFF"';searchParams.searchSource = true;dw.setUpFindReplace(searchParams);

var searchParams = {searchString: 'bgcolor="#FFCCFF"', searchSource: 'bgcolor="#FFCCFF"', searchSource: true};dw.setUpFindReplace(searchParams);

dw.setUpFindReplace({searchString: 'bgcolor="#FFCCFF"', ¬replaceString: 'bgcolor="#CCFFCC"', searchSource: true});

dreamweaver.showFindDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Rechercher.

Chapitre 26386

Page 387: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canShowFindDialog()

dreamweaver.showFindReplaceDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Remplacer.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canShowFindDialog()

Fonctions relatives aux cadres et aux jeux de cadresCes fonctions permettent uniquement d'effectuer les deux opérations suivantes : obtenir le nom des cadres constituant un jeu de cadres et diviser un cadre en deux.

dom.getFrameNames()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste de tous les cadres nommés du jeu de cadres.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes, chacune correspondant à un cadre du jeu de cadres en cours. La fonction ignore tous les cadres non nommés. Si aucun des cadres du jeu de cadres n'est nommé, un tableau vide est renvoyé.

API JavaScript de Dreamweaver 387

Page 388: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

Exemple

Pour un document contenant quatre cadres, dont deux sont nommés, un appel à la fonction dw.getDocumentDOM().getFrameNames() pourrait renvoyer un tableau contenant les chaînes suivantes :

• "navframe"

• "main_content"

dom.isDocumentInFrame()

Disponibilité

Dreamweaver 4.0

Description

Détermine si le document en cours est affiché à l'intérieur d'un jeu de cadres.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si le document est contenu dans un jeu de cadres. Renvoie la valeur false dans le cas contraire.

Activateur

Aucun.

dom.saveAllFrames()

Disponibilité

Dreamweaver 4.0

Description

Si le document donné est un jeu de cadres ou se situe à l'intérieur d'un jeu de cadres, cette fonction enregistre tous les cadres ou les jeux de cadres contenus dans la même fenêtre de document. Si un document donné n'est pas situé dans un jeu de cadres, elle enregistre uniquement le document. Ouvre la boîte de dialogue Enregistrer sous pour tous les documents qui n'ont pas été enregistrés précédemment.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26388

Page 389: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.splitFrame()

Disponibilité

Dreamweaver 3.0

Description

Fractionne le cadre sélectionné verticalement ou horizontalement.

Arguments

splitDirection

splitDirection doit avoir l'une des valeurs suivantes : "up", "down", "left" ou "right".

Valeurs renvoyées

Aucune.

Activateur

dom.canSplitFrame()

Fonctions de modifications généralesCes fonctions permettent d'effectuer des opérations de modification courantes dans la fenêtre de document. Elles permettent d'insérer du texte, du code HTML et des objets, d'appliquer, de modifier et de supprimer des marqueurs de police et de caractère, de modifier des balises et des attributs, etc.

dom.applyCharacterMarkup()

Disponibilité

Dreamweaver 3.0

Description

Applique à la sélection le type de marqueur de caractère spécifié. Si la sélection est un point d'insertion, applique les marqueurs de caractère spécifiés au texte saisi après le point d'insertion.

Arguments

tagName

tagName est le nom de la balise associé au marqueur de caractère. Il doit s'agir de l'une des chaînes suivantes : "b", "cite", "code", "dfn", "em", "i", "kbd", "samp", "s", "strong", "tt", "u", ou "var".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 389

Page 390: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.applyFontMarkup()

Disponibilité

Dreamweaver 3.0

Description

Applique à la sélection en cours la balise FONT, ainsi que l'attribut spécifié et sa valeur.

Arguments

attribute, value

• attribute doit être "face", "size" ou "color".

• value est la valeur qui devrait être affectée à l'attribut, par exemple "Arial, Helvetica, sans-serif", "5" ou "#FF0000".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.deleteSelection()

Disponibilité

Dreamweaver 3.0

Description

Supprime la sélection du document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.editAttribute()

Disponibilité

Dreamweaver 3.0

Description

Affiche l'interface permettant de modifier l'attribut spécifié. Dans la plupart des cas, il s'agit d'une boîte de dialogue. Cette fonction n'est valide que pour le document actif.

Arguments

attribute

Chapitre 26390

Page 391: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.exitBlock()

Disponibilité

Dreamweaver 3.0

Description

Quitte le bloc de paragraphe ou d'en-tête en cours et place le curseur à l'extérieur de tous les éléments de bloc.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.getCharSet()

Disponibilité

Dreamweaver 4.0

Description

Renvoie l'attribut du jeu de caractères dans la balise Meta du document.

Arguments

Aucun.

Valeurs renvoyées

L'identité de codage du document. Par exemple, dans un document Latin1, cette fonction renvoie iso-8859-1.

dom.getFontMarkup()

Disponibilité

Dreamweaver 3.0

Description

Obtient la valeur de l'attribut spécifié de la balise FONT pour la sélection en cours.

Arguments

attribute

attribute doit être "face", "size" ou "color".

API JavaScript de Dreamweaver 391

Page 392: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Chaîne contenant la valeur de l'attribut spécifié, ou chaîne vide si l'attribut n'est pas défini.

Activateur

Aucun.

dom.getLinkHref()

Disponibilité

Dreamweaver 3.0

Description

Obtient le lien qui entoure la sélection en cours. Revient à effectuer une boucle sur les parents et les grands-parents du nœud en cours jusqu'à ce qu'un lien soit rencontré, puis à appeler la fonction getAttribute('HREF') sur ce lien.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le nom du fichier lié, exprimé sous la forme d'une URL de type file://.

Activateur

Aucun.

dom.getLinkTarget()

Disponibilité

Dreamweaver 3.0

Description

Obtient la cible du lien qui entoure la sélection en cours. Revient à effectuer une boucle sur les parents et les grands-parents du nœud en cours jusqu'à ce qu'un lien soit rencontré, puis à appeler la fonction getAttribute('TARGET') sur ce lien.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant la valeur de l'attribut TARGET spécifié pour le lien, ou chaîne vide si aucune cible n'est spécifiée.

Activateur

Aucun.

Chapitre 26392

Page 393: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getListTag()

Disponibilité

Dreamweaver 3.0

Description

Obtient le style de la liste sélectionnée.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant la balise associée à la liste ("ul", "ol" ou "dl"), ou chaîne vide si aucune balise n'est associée à la liste. Cette valeur est toujours renvoyée en minuscules.

Activateur

Aucun.

dom.getTextAlignment()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'alignement du bloc contenant la sélection.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant la valeur de l'attribut ALIGN de la balise associée au bloc, ou une chaîne vide si l'attribut ALIGN n'est pas défini. Cette valeur est toujours renvoyée en minuscules.

Activateur

Aucun.

dom.getTextFormat()

Disponibilité

Dreamweaver 3.0

Description

Obtient le format du bloc contenant la sélection.

Arguments

Aucun.

API JavaScript de Dreamweaver 393

Page 394: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Chaîne contenant la balise de bloc associée au texte (par exemple "p", "h1", "pre", etc.) ou chaîne vide si aucune balise de bloc n'est associée à la sélection. Cette valeur est toujours renvoyée en minuscules.

Activateur

Aucun.

dom.hasCharacterMarkup()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si le marqueur de caractère spécifié est déjà associé à la sélection.

Arguments

markupTagName

markupTagName est le nom de la balise à rechercher. Il doit s'agir de l'une des chaînes suivantes : "b", "cite", "code", "dfn", "em", "i", "kbd", "samp", "s", "strong", "tt", "u", ou "var".

Valeurs renvoyées

Valeur booléenne indiquant si le marqueur de caractère spécifié est associé à la sélection entière. Cette fonction renvoie la valeur false si le marqueur spécifié n'est associé qu'à une partie de la sélection.

Activateur

Aucun.

dom.indent()

Disponibilité

Dreamweaver 3.0

Description

Applique un retrait à la sélection à l'aide des balises BLOCKQUOTE. Si la sélection figure dans une liste, cette fonction lui applique un retrait en imbriquant une autre liste du même type dans la liste en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26394

Page 395: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.insertHTML()

Disponibilité

Dreamweaver 3.0

Description

Insère un contenu HTML dans le document, au point d'insertion en cours.

Arguments

contentToInsert, {bReplaceCurrentSelection}

• contentToInsert est le contenu à insérer.

• bReplaceCurrentSelection est une valeur booléenne indiquant si le contenu spécifié doit remplacer la sélection en cours. Si l'argument bReplaceCurrentSelection a pour valeur false, le contenu est inséré après la sélection en cours.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Le code suivant insère <b>130</b> dans le document en cours :

var theDOM = dw.getDocumentDOM();theDOM.insertHTML('<b>130</b>');

Ceci se présente sous la forme suivante dans la fenêtre de document :

dom.insertObject()

Disponibilité

Dreamweaver 3.0

Description

Insère l'objet spécifié et invite l'utilisateur à définir des paramètres, le cas échéant.

Arguments

objectName

objectName est le nom d'un objet dans le dossier Configuration/Objects.

API JavaScript de Dreamweaver 395

Page 396: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Un appel à la fonction dreamweaver.getDocumentDOM().insertObject('Button'); insère un bouton de formulaire dans le document, au point d'insertion ou après la sélection en cours.

Remarque : bien que les fichiers d'objet puissent être stockés dans des dossiers distincts, il est important que le nom de chaque fichier soit unique. En effet, si le dossier Forms et le dossier MyObjects contiennent chacun un fichier nommé Button.htm, par exemple, Dreamweaver n'est pas capable de faire la différence entre les deux.

dom.insertText()

Disponibilité

Dreamweaver 3.0

Description

Insère un contenu dans le document, au point d'insertion en cours.

Arguments

contentToInsert, {bReplaceCurrentSelection}

• contentToInsert est le contenu à insérer.

• bReplaceCurrentSelection est une valeur booléenne indiquant si le contenu spécifié doit remplacer la sélection en cours. Si l'argument bReplaceCurrentSelection a pour valeur false, le contenu est inséré après la sélection en cours.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Le code suivant insère <b>130</b> dans le document en cours :

var theDOM = dw.getDocumentDOM();theDOM.insertText('<b>130</b>');

Chapitre 26396

Page 397: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Ceci se présente sous la forme suivante dans la fenêtre de document :

dom.newBlock()

Disponibilité

Dreamweaver 3.0

Description

Crée un nouveau bloc doté de la même balise et des mêmes attributs que le bloc contenant la sélection en cours, ou, si le curseur se trouve à l'extérieur de tous les blocs, crée un nouveau paragraphe.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Si la sélection en cours se trouve à l'intérieur d'un paragraphe centré, un appel à la fonction dreamweaver.getDocumentDOM().newBlock() insère <p align="center"> après le paragraphe en cours.

dom.notifyFlashObjectChanged()

Disponibilité

Dreamweaver 4.0

Description

Indique à Dreamweaver que le fichier Flash en cours a été modifié. Dreamweaver met à jour la fenêtre d'aperçu, en la redimensionnant si nécessaire tout en conservant le rapport hauteur/largeur d'origine. Par exemple, le texte Flash utilise cette fonction pour mettre à jour le texte en mode Mise en forme à mesure que l'utilisateur change ses propriétés dans la boîte de dialogue Commande.

Arguments

Aucun.

API JavaScript de Dreamweaver 397

Page 398: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

dom.outdent()

Disponibilité

Dreamweaver 3.0

Description

Applique un retrait négatif à la sélection.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.removeCharacterMarkup()

Disponibilité

Dreamweaver 3.0

Description

Supprime de la sélection le type de marqueur de caractère spécifié.

Arguments

tagName

tagName est le nom de la balise associé au marqueur de caractère. Il doit s'agir de l'une des chaînes suivantes : "b", "cite", "code", "dfn", "em", "i", "kbd", "samp", "s", "strong", "tt", "u", ou "var".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.removeFontMarkup()

Disponibilité

Dreamweaver 3.0

Description

Supprime d'une balise FONT l'attribut spécifié, ainsi que sa valeur. Si, après la suppression de l'attribut, il ne reste que <FONT>, la balise FONT est également supprimée.

Chapitre 26398

Page 399: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

attribute

attribute doit être "face", "size" ou "color".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.removeLink()

Disponibilité

Dreamweaver 3.0

Description

Supprime le lien hypertexte de la sélection.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.resizeSelection()

Disponibilité

Dreamweaver 3.0

Description

Redimensionne l'objet sélectionné et lui applique les nouvelles dimensions spécifiées. Pour redimensionner un calque ou une zone réactive, utilisez la fonction dom.resizeSelectionBy().

Arguments

newWidth, newHeight

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setAttributeWithErrorChecking()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 399

Page 400: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Affecte à l'attribut spécifié la valeur indiquée pour la sélection en cours et affiche une invite utilisateur si le type de valeur est incorrect ou si la valeur n'est pas comprise dans la plage spécifiée. Cette fonction n'est valide que pour le document actif.

Arguments

attribute, value

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setLinkHref()

Disponibilité

Dreamweaver 3.0

Description

Transforme la sélection en lien hypertexte ou modifie la valeur du lien qui entoure la sélection en cours.

Arguments

linkHREF

linkHREF est une URL (chemin relatif au document ou à la racine, ou URL absolue) représentant la cible du lien. Si aucun argument n'est défini, la boîte de dialogue Sélectionner fichier HTML s'affiche.

Valeurs renvoyées

Aucune.

Activateur

dom.canSetLinkHref()

dom.setLinkTarget()

Disponibilité

Dreamweaver 3.0

Description

Définit la cible du lien qui entoure la sélection en cours. Revient à effectuer une boucle sur les parents et les grands-parents du nœud en cours jusqu'à ce qu'un lien soit rencontré, puis à appeler la fonction setAttribute('TARGET') sur ce lien.

Chapitre 26400

Page 401: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{linkTarget}

linkTarget est une chaîne représentant le nom d'un cadre ou d'une fenêtre, ou l'une des cibles réservées ("_self", "_parent", "_top" ou "_blank"). Si aucun argument n'est défini, la boîte de dialogue Définir la cible s'affiche.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setListBoxKind()

Disponibilité

Dreamweaver 3.0

Description

Modifie le type du menu SELECT sélectionné.

Arguments

kind

kind doit être "menu" ou "list box".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.showListPropertiesDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Propriétés de la liste.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canShowListPropertiesDialog()

API JavaScript de Dreamweaver 401

Page 402: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setListTag()

Disponibilité

Dreamweaver 3.0

Description

Définit le style de la liste sélectionnée.

Arguments

listTag

listTag est la balise associée à la liste. Il doit s'agir de "ol", "ul", "dl" ou d'une chaîne vide.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setTextAlignment()

Disponibilité

Dreamweaver 3.0

Description

Affecte la valeur spécifiée à l'attribut ALIGN du bloc contenant la sélection.

Arguments

alignValue

alignValue doit être "left", "center" ou "right".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setTextFieldKind()

Disponibilité

Dreamweaver 3.0

Description

Définit le format du champ texte sélectionné.

Arguments

fieldType

fieldType doit être "input", "textarea" ou "password".

Chapitre 26402

Page 403: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.showFontColorDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue du sélecteur de couleur.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.deleteSelection()

Disponibilité

Dreamweaver 3.0

Description

Supprime la sélection dans le document actif, dans la fenêtre Site ou, sur Macintosh, dans le champ modifiable actif d'une boîte de dialogue ou d'un panneau flottant.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canDeleteSelection()

dreamweaver.editFontList()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Modifier la liste des polices.

API JavaScript de Dreamweaver 403

Page 404: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.getFontList()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste de tous les groupes de polices apparaissant dans l'inspecteur de propriétés de texte et la boîte de dialogue Définition du style.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes, chacune représentant un élément de la liste des polices.

Activateur

Aucun.

Exemple

Si vous avez effectué une installation par défaut de Dreamweaver, un appel à la fonction dw.getFontList() renverra un tableau contenant les éléments suivants :

• "Arial, Helvetica, sans-serif"

• "Times New Roman, Times, serif"

• "Courier New, Courier, mono"

• "Georgia, Times New Roman, Times, serif"

• "Verdana, Arial, Helvetica, sans-serif"

dreamweaver.getFontStyles()

Disponibilité

Dreamweaver 4.0

Description

Renvoie les styles pris en charge par la police TrueType spécifiée.

Arguments

fontName

fontName est une chaîne contenant le nom de la police.

Chapitre 26404

Page 405: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Un tableau de trois valeurs booléennes indiquant les styles pris en charge par la police. La première valeur indique si la police prend en charge le style Gras, la deuxième Italique et la troisième à la fois les styles Gras et Italique.

dreamweaver.getKeyState()

Disponibilité

Dreamweaver 3.0

Description

Détermine si la touche de modification spécifiée est enfoncée.

Arguments

key

key doit avoir l'une des valeurs suivantes : "Cmd", "Ctrl", "Alt" ou "Shift". Sous Windows, "Cmd" et "Ctrl" désignent la touche Contrôle ; sur Macintosh, "Alt" désigne la touche Option.

Valeurs renvoyées

Valeur booléenne indiquant si la touche est enfoncée.

Activateur

Aucun.

Exemple

Le code suivant vérifie si les touches Maj et Ctrl (Windows) ou Maj et Commande (Macintosh) sont enfoncées avant d'effectuer une opération.

if (dw.getKeyState("Shift") && dw.getKeyState("Cmd")){// execute code

}

dreamweaver.getSystemFontList()

Disponibilité

Dreamweaver 4.0

Description

Renvoie une liste de polices à utiliser pour le système. Cette fonction peut appeler toutes les polices ou uniquement les polices TrueType. Ces polices sont requises pour l'objet Texte Flash.

Arguments

fontTypes

fontTypes est une chaîne contenant soit "all" soit "TrueType".

Valeurs renvoyées

Un tableau de chaînes contenant le nom de toutes les polices ; renvoie null si aucune police n'est trouvée.

API JavaScript de Dreamweaver 405

Page 406: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions globales relatives aux applicationsCes fonctions agissent sur l'ensemble d'une application. Elles permettent, entre autres, de quitter une application et d'accéder aux préférences.

dreamweaver.getShowDialogsOnInsert()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si l'option Afficher la boîte de dialogue lors de l'insertion d'objets est activée dans les préférences générales.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si cette option est activée.

Activateur

Aucun.

dreamweaver.quitApplication()

Disponibilité

Dreamweaver 3.0

Description

Quitte Dreamweaver lorsque l'exécution du script appelant cette fonction prend fin.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.showAboutBox()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue A propos de.

Chapitre 26406

Page 407: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.showDynamicDataDialog()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Affiche la boîte de dialogue Données dynamiques ou Texte dynamique, puis attend que l'utilisateur ferme la boîte de dialogue. Si l'utilisateur clique sur OK, la fonction showDynamicDataDialog() renvoie une chaîne à insérer dans le document de l'utilisateur (cette chaîne a été renvoyée par la fonction API de la source des données, c'est-à-dire generateDynamicDataRef(), et transmise à la fonction API du format de données, formatDynamicDataRef() ; la valeur renvoyée par formatDynamicDataRef() est la même que celle renvoyée par showDynamicDataDialog().)

Arguments

source, title

• source est une chaîne contenant le code HTML source, représentant l'objet de données dynamique. Il s'agit de la même chaîne que celle qui a été renvoyée après un appel précédent de la même fonction. Cette fonction utilise le contenu de la chaîne source pour initialiser toutes les commandes de la boîte de dialogue de façon à ce qu'elles apparaissent exactement telles qu'elles étaient au moment où l'utilisateur a cliqué sur OK pour créer cette chaîne.

UltraDev transmet cette chaîne à inspectDynamicDataRef(), afin de déterminer si la chaîne correspond à l'un des nœuds de l'arborescence. Si la chaîne correspond à un nœud, celui-ci est sélectionné lorsque la boîte de dialogue réapparaît. Vous pouvez également transmettre une chaîne vide qui n'initialise pas la boîte de dialogue. Par exemple, aucune boîte de dialogue n'est initialisée lorsqu'elle est utilisée pour créer un nouvel élément.

• title est une chaîne contenant le texte à afficher dans la barre de titre de la boîte de dialogue. Cet argument est facultatif. S'il n'est pas défini, UltraDev affiche Données dynamiques dans la barre de titre.

Valeurs renvoyées

Une chaîne représentant l'objet de données dynamique, si l'utilisateur clique sur OK.

API JavaScript de Dreamweaver 407

Page 408: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.showPreferencesDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Préférences.

Arguments

{whichTab}

L'argument doit être l'une des chaînes suivantes : "general", "external editors", "floaters", "fonts", "highlighting", "html colors", "html format", "html rewriting", "invisible elements", "layers", "browsers", "quick tag editor", "site ftp", "status bar", "css styles" ou "translation". Si Dreamweaver ne reconnaît pas dans l'argument un nom de volet valide ou qu'aucun argument n'est défini, la boîte de dialogue ouvre le dernier volet actif.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions globales relatives aux documentsCes fonctions agissent sur l'ensemble d'un document. Elles permettent d'effectuer des vérifications orthographiques, de vérifier les navigateurs cibles, de définir les propriétés des pages et de déterminer les références d'objet correctes des éléments du document.

dom.checkSpelling()

Disponibilité

Dreamweaver 3.0

Description

Vérifie l'orthographe sur l'ensemble du document (en ouvrant la boîte de dialogue Vérifier l'orthographe, si nécessaire) et prévient l'utilisateur lorsque la vérification est terminée.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26408

Page 409: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.checkTargetBrowsers()

Disponibilité

Dreamweaver 3.0

Description

Vérifie le navigateur cible du document. Pour vérifier le navigateur cible d'un dossier ou d'un groupe de fichiers, utilisez la fonction site.checkTargetBrowsers()

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.showPagePropertiesDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Propriétés de la page.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.getElementRef()

Disponibilité

Dreamweaver 2.0

Description

Obtient la référence d'objet Netscape ou IE pour un objet balise spécifique de l'arborescence DOM.

Arguments

NSorIE, tagObject

API JavaScript de Dreamweaver 409

Page 410: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• NSorIE doit être "NS 4.0" ou "IE 4.0". En effet, le DOM et les règles relatives aux références imbriquées diffèrent dans Navigator 4.0 et Internet Explorer 4.0. Cet argument permet d'indiquer à quel navigateur doit correspondre la référence renvoyée.

• tagObject est un objet de balise dans l'arborescence DOM.

Valeurs renvoyées

Chaîne représentant une référence JavaScript valide à l'objet, telle que document.layers['myLayer'].

• Dreamweaver renvoie des références Internet Explorer correctes pour les balises suivantes : A, AREA, APPLET, EMBED, DIV, SPAN, INPUT, SELECT, OPTION, TEXTAREA, OBJECT et IMG.

• Dreamweaver renvoie des références Navigator correctes pour les balises suivantes : A, AREA, APPLET, EMBED, LAYER, ILAYER, SELECT, OPTION, TEXTAREA, OBJECT et IMG et pour les balises DIV et SPAN à positionnement absolu. Pour les balises DIV et SPAN dont le positionnement n'est pas absolu, Dreamweaver renvoie "cannot reference <tag>".

• Dreamweaver ne renvoie pas de références pour les objets non nommés. Si un objet ne contient pas d'attribut NAME ou ID, Dreamweaver renvoie "unnamed <tag>". Si le navigateur ne prend pas en charge une référence par nom, Dreamweaver fait référence à l'objet à l'aide de son index (par exemple document.myform.applets[3]).

• Dreamweaver renvoie les références des objets nommés figurant dans des formulaires ou des calques non nommés (par exemple document.forms[2].myCheckbox).

Activateur

Aucun.

Fonctions relatives à l'historiqueLes fonctions d'historique permettent d'annuler, de refaire, d'enregistrer et de lire toutes les étapes qui s'affichent dans le panneau Historique (programmé dans l'API en tant que « palette »). Par étape, on entend une modification apportée à un document (ou à une sélection dans le document) pouvant être reproduite. Les méthodes de l'objet dreamweaver.historyPalette permettent de contrôler ou d'agir sur la sélection dans le panneau Historique et non dans le document en cours.

dom.redo()

Disponibilité

Dreamweaver 3.0

Chapitre 26410

Page 411: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Rétablit l'étape qui vient d'être annulée dans le document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canRedo()

dom.undo()

Disponibilité

Dreamweaver 3.0

Description

Annule l'étape qui vient d'être exécutée dans le document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canUndo()

dreamweaver.getRedoText()

Disponibilité

Dreamweaver 3.0

Description

Obtient le texte associé à l'opération de modification qui sera rétablie si l'utilisateur choisit Edition > Rétablir ou s'il appuie sur Ctrl+Y (Windows) ou sur Commande+Y (Macintosh).

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le texte associé à l'opération de modification qui sera rétablie.

Activateur

Aucun.

API JavaScript de Dreamweaver 411

Page 412: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Si la dernière action de l'utilisateur a consisté à mettre la sélection en gras, un appel à la fonction dw.getRedoText() renverra « Repeat Apply Bold ».

dreamweaver.getUndoText()

Disponibilité

Dreamweaver 3.0

Description

Obtient le texte associé à l'opération de modification qui sera annulée si l'utilisateur choisit Edition > Annuler ou s'il appuie sur Ctrl+Z (Windows) ou sur Commande+Z (Macintosh).

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le texte associé à l'opération de modification qui sera annulée.

Activateur

Aucun.

Exemple

Si la dernière action de l'utilisateur a consisté à appliquer un style CSS à un texte sélectionné, un appel à la fonction dw.getUndoText() renverra "Undo Apply <span>".

dreamweaver.playRecordedCommand()

Disponibilité

Dreamweaver 3.0

Description

Exécute la commande mémorisée dans le document actif.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canPlayRecordedCommand()

dreamweaver.redo()

Disponibilité

Dreamweaver 3.0

Chapitre 26412

Page 413: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Rétablit l'étape qui vient d'être annulée dans la fenêtre de document, la boîte de dialogue, le panneau flottant ou le volet de la fenêtre Site en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canRedo()

dreamweaver.startRecording()

Disponibilité

Dreamweaver 3.0

Description

Démarre la mémorisation des étapes dans le document actif. La commande précédemment mémorisée est immédiatement effacée.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.isRecording() (doit renvoyer false).

dreamweaver.stopRecording()

Disponibilité

Dreamweaver 3.0

Description

Arrête la mémorisation sans intervention de l'utilisateur.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.isRecording() (doit renvoyer true)

API JavaScript de Dreamweaver 413

Page 414: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.undo()

Disponibilité

Dreamweaver 3.0

Description

Annule l'étape précédente dans la fenêtre de document, la boîte de dialogue, le panneau flottant ou le volet de la fenêtre Site en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canUndo()

dreamweaver.historyPalette.clearSteps()

Disponibilité

Dreamweaver 3.0

Description

Efface toutes les étapes du panneau Historique et désactive les options de menu Annuler et Rétablir.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.historyPalette.copySteps()

Disponibilité

Dreamweaver 3.0

Description

Copie les étapes spécifiées de l'historique dans le Presse-papiers. Dreamweaver prévient l'utilisateur de la possibilité de conséquences inattendues dans le cas où les étapes spécifiées contiendraient une action qui ne peut pas être reproduite.

Arguments

arrayOfIndices

arrayOfIndices est un tableau d'index de position dans le panneau Historique.

Chapitre 26414

Page 415: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Chaîne contenant le code JavaScript correspondant aux étapes sélectionnées.

Activateur

Aucun.

Exemple

Le code suivant copie les quatre premières étapes dans le panneau Historique :

dw.historyPalette.copySteps([0,1,2,3]);

dreamweaver.historyPalette.getSelectedSteps()

Disponibilité

Dreamweaver 3.0

Description

Détermine quelle section du panneau Historique est sélectionnée.

Arguments

Aucun.

Valeurs renvoyées

Un tableau contenant les index de position de toutes les étapes sélectionnées.

Activateur

Aucun.

Exemple

Si la deuxième, la troisième et la quatrième étapes sont sélectionnées dans le panneau Historique, comme le montre l'illustration ci-après, un appel à la fonction dw.historyPalette.getSelectedSteps() renverra [1,2,3].

dreamweaver.historyPalette.getStepCount()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 415

Page 416: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient le nombre d'étapes figurant dans le panneau Historique.

Arguments

Aucun.

Valeurs renvoyées

Un nombre entier représentant le nombre d'étapes actuellement répertoriées dans le panneau Historique.

Activateur

Aucun.

dreamweaver.historyPalette.getStepsAsJavaScript()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'équivalent JavaScript des étapes sélectionnées.

Arguments

arrayOfIndices

arrayOfIndices est un tableau d'index de position dans le panneau Historique.

Valeurs renvoyées

Chaîne contenant le code JavaScript correspondant aux étapes sélectionnées.

Activateur

Aucun.

Chapitre 26416

Page 417: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Si les trois étapes indiquées dans l'illustration ci-après sont sélectionnées dans le panneau Historique, un appel à la fonction dw.historyPalette.getStepsAsJavaScript(dw.historyPalette.getSelectedSteps()) renvoie "dw.getDocumentDOM().insertText('Hey diddle diddle, a cat and a fiddle, the cow jumped over the moon.');\ndw.getDocumentDOM().newBlock();\n dw.getDocumentDOM().insertHTML('<img src=\"../wdw99/50browsers/images/sun.gif\">', true);\n" :

dreamweaver.historyPalette.getUndoState()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état d'annulation en cours.

Arguments

Aucun.

Valeurs renvoyées

La position du marqueur d'annulation dans le panneau Historique.

Activateur

Aucun.

dreamweaver.historyPalette.replaySteps()

Disponibilité

Dreamweaver 3.0

Description

Réexécute les étapes spécifiées de l'historique dans le document actif. Dreamweaver prévient l'utilisateur de la possibilité de conséquences inattendues dans le cas où les étapes spécifiées contiendraient une action qui ne peut pas être reproduite.

API JavaScript de Dreamweaver 417

Page 418: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

arrayOfIndices

arrayOfIndices est un tableau d'index de position dans le panneau Historique.

Valeurs renvoyées

Chaîne contenant le code JavaScript correspondant aux étapes sélectionnées.

Activateur

Aucun.

Exemple

Un appel à la fonction dw.historyPalette.replaySteps([0,2,3]) réexécute la première, la troisième et la quatrième étapes du panneau Historique.

dreamweaver.historyPalette.saveAsCommand()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Enregistrer comme commande et permet à l'utilisateur d'enregistrer les étapes spécifiées sous forme de commande. Dreamweaver prévient l'utilisateur de la possibilité de conséquences inattendues dans le cas où les étapes spécifiées contiendraient une action qui ne peut pas être reproduite.

Arguments

arrayOfIndices

arrayOfIndices est un tableau d'index de position dans le panneau Historique.

Valeurs renvoyées

Chaîne contenant le code JavaScript correspondant aux étapes sélectionnées.

Activateur

Aucun.

Exemple

Le code suivant enregistre la quatrième, la sixième et la huitième commandes du panneau Historique comme une commande :

dw.historyPalette.saveAsCommand([3,5,7]);

dreamweaver.historyPalette.setSelectedSteps()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne les étapes spécifiées dans le panneau Historique.

Chapitre 26418

Page 419: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

arrayOfIndices

arrayOfIndices est un tableau d'index de position dans le panneau Historique. Si aucun argument n'est défini, toutes les étapes sont désélectionnées.

Valeurs renvoyées

Aucun.

Activateur

Aucun.

Exemple

L'exemple de code suivant sélectionne la première, la deuxième et la troisième étapes du panneau Historique:

dw.historyPalette.setSelectedStepts([0,1,2]);

dreamweaver.historyPalette.getUndoState()

Disponibilité

Dreamweaver 3.0

Description

Effectue le nombre d'annulations et de rétablissements nécessaire pour arriver à l'état d'annulation spécifié.

Arguments

undoState

undoState est l'objet renvoyé par dw.historyPalette.getUndoState().

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives aux styles HTMLCes fonctions permettent d'appliquer, de créer et de supprimer des styles HTML. Les méthodes de l'objet dreamweaver.htmlStylePalette permettent de contrôler ou d'agir sur la sélection du panneau Styles HTML (programmé dans l'API en tant que « palette ») et non dans le document courant.

dom.applyHTMLStyle()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 419

Page 420: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Applique le style HTML spécifié à la sélection en cours. Cette fonction n'est valide que pour le document actif.

Arguments

htmlStyleName

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.htmlStylePalette.deleteSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Supprime le style sélectionné du panneau Styles HTML.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.htmlStylePalette.canEditSelection()

dreamweaver.htmlStylePalette.duplicateSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Duplique le style sélectionné et ouvre la boîte de dialogue Définir style HTML.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.htmlStylePalette.canEditSelection()

dreamweaver.htmlStylePalette.editSelectedStyle()

Disponibilité

Dreamweaver 3.0

Chapitre 26420

Page 421: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre la boîte de dialogue Définir style HTML pour le style sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.htmlStylePalette.canEditSelection()

dreamweaver.htmlStylePalette.getSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Obtient le nom du style sélectionné dans le panneau Styles HTML.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le nom du style sélectionné.

Activateur

Aucun.

dreamweaver.htmlStylePalette.getStyles()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste de tous les noms de styles HTML définis.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes, chacune représentant le nom d'un style HTML. Si aucun style HTML n'est défini, la fonction renvoie un tableau vide.

Activateur

Aucun.

dreamweaver.htmlStylePalette.newStyle()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 421

Page 422: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre la boîte de dialogue Définir style HTML pour définir un nouveau style.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.htmlStylePalette.setSelectedStyle()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne le style spécifié du panneau Styles HTML.

Arguments

htmlStyleName

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives au débogueur JavaScriptCes commandes permettent de personnaliser le comportement du débogueur JavaScript de Dreamweaver. Pour plus d'informations sur le débogueur JavaScript de Dreamweaver, voir la section « Modules de débogage JavaScript », page 67.

dom.instrumentDocument ()

Disponibilité

Dreamweaver 4.0

Chapitre 26422

Page 423: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Crée la version de débogage du document et de tous les fichiers .js externes auxquels il fait référence. Cette fonction analyse le code JavaScript dans le document et appelle la fonction debuggerModule sur des segments de code à insérer à différents points du fichier JavaScript. La fonction debuggerModule est également informée des erreurs de syntaxe et des avertissements. Cette fonction échoue dans les conditions suivantes : erreurs de syntaxe, erreur de fichier ou si le document ne peut pas être débogué pour une raison quelconque. Les fichiers temporaires ne sont jamais supprimés immédiatement, même si la fonction échoue.

Arguments

debuggerModule, outputFileName

• debuggerModule est le nom d'un module Dreamweaver spécial qui implémente l'API d'instrumentation. Ce module se situe dans le dossier Configuration/Debugger du dossier de l'application Dreamweaver.

• outputFileName est facultatif ; il s'agit du nom utilisé pour la version de débogage du fichier .htm. Si cet argument n'est pas défini, un fichier temporaire est créé. Ce fichier temporaire est supprimé quand vous quittez Dreamweaver. Si le fichier outputFileName existe déjà, le fichier existant est remplacé. Ce fichier est toujours placé dans le même répertoire que le document source ; par conséquent, il ne peut pas avoir le même nom. Si un chemin est indiqué, celui-ci est ignoré. Le nom de la version de débogage des fichiers .js externes référencés correspond au nom d'origine du fichier .js précédé de outputFileName.

Valeurs renvoyées

Tableau de paires d'URL de fichier. Chaque paire consiste en l'URL du fichier source d'origine suivie de l'URL de la version de débogage créée. La première paire correspond toujours aux fichiers .htm et toutes les entrées suivantes sont les fichiers .js auxquels le fichier .htm fait référence. Si la fonction échoue, la valeur null est renvoyée. Notez qu'une paire d'URL consiste en deux entrées dans le tableau. Par exemple, si returnValue = dom.instrumentDocument(test.htm), alors returnValue[0] est l'URL de test.htm et returnValue[1] est l'URL de la version de débogage de test.htm.

dreamweaver.debugDocument()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 423

Page 424: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Crée la version de débogage du document en cours et lance le débogueur. Cette fonction peut uniquement être utilisée avec l'un des navigateurs pour lesquels Dreamweaver prend en charge le débogage JavaScript (voir section « dreamweaver.getDebugBrowserList() », page 424 ). Cette fonction n'avertit pas l'utilisateur si elle n'arrive pas à déterminer le type de navigateur. Si des erreurs de syntaxe ou des avertissements se produisent, une fenêtre de résultats s'ouvre pour afficher les messages. Si aucune erreur ne se produit, la version de débogage du document HTML s'affiche dans le navigateur spécifié. Si des avertissements se produisent, mais pas d'erreurs, la fenêtre de résultats s'affiche et le débogage commence.

La création de la version de débogage est effectuée par l'intermédiaire d'un appel de la fonction dom.instrumentDocument() à l'aide de l'un des modules d'instrumentation par défaut. La version de débogage du document est temporaire et est supprimée lors du redémarrage du débogueur ou de la fermeture de Dreamweaver.

Arguments

fileName, {browserName}

• fileName est le nom du fichier à ouvrir, exprimé sous forme d'une URL absolue.

• browserName est facultatif ; il spécifie le nom du navigateur de destination tel qu'il est défini dans les paramètres d'aperçu des préférences du navigateur. Il peut également être principal (primary) ou secondaire (secondary). Si cet argument n'est pas défini, le navigateur principal est utilisé par défaut.

Valeurs renvoyées

Aucune.

dreamweaver.getDebugBrowserList()

Disponibilité

Dreamweaver 4.0

Description

Renvoie les navigateurs définis pour lesquels Dreamweaver prend en charge le débogage JavaScript. Sous Windows, Dreamweaver prend en charge le débogage uniquement dans Internet Explorer 5.0 ou ultérieur et dans Netscape 4.5 ou ultérieur. Sur Macintosh, Dreamweaver prend en charge le débogage uniquement dans Netscape 4.5 ou ultérieur.

Arguments

Aucun.

Valeurs renvoyées

Un tableau de noms de navigateurs dans le même format que celui renvoyé par getBrowserList().

Chapitre 26424

Page 425: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getIsAnyBreakpoints()

Disponibilité

Dreamweaver 4.0

Description

Recherche d'éventuels points d'arrêt définis dans les fichiers.

Arguments

Aucun.

Valeurs renvoyées

bBreakpointsSet

La valeur booléenne true est renvoyée si des points d'arrêt sont définis dans des fichiers.

dreamweaver.removeAllBreakpoints()

Disponibilité

Dreamweaver 4.0

Description

Supprime tous les points d'arrêt de tous les fichiers.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.startDebugger()

Disponibilité

Dreamweaver 4.0

Description

Ouvre la fenêtre de débogueur ainsi que le fichier .htm source et les fichiers .js indiqués dans sourceFileList(), puis lance le navigateur avec la version de débogage spécifiée par debugFileName(). Cette fonction n'avertit pas l'utilisateur si elle n'arrive pas à déterminer le type de navigateur.

La création de la version de débogage est effectuée par un appel de la fonction dom.instrumentDocument().

Arguments

debugFileName, sourceFileList, isTempFiles, {browserName}

• debugFileName est le nom de la version de débogage du fichier à lancer dans le navigateur.

API JavaScript de Dreamweaver 425

Page 426: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• sourceFileList est un tableau de paires d'URL contenant le fichier source et le fichier utilisé ; la première paire est le fichier .htm et les paires suivantes sont les fichiers .js externes. Chaque URL est exprimée sous la forme d'une URL absolue.

• isTempFiles est une valeur booléenne indiquant si un suivi des fichiers utilisés doit être effectué et si ces fichiers doivent être supprimés lors du lancement suivant du débogueur ou de la fermeture de Dreamweaver.

• browserName est facultatif ; il spécifie le nom du navigateur de destination tel qu'il est défini dans les paramètres d'aperçu des préférences du navigateur. Il peut également être principal (primary) ou secondaire (secondary). Si cet argument n'est pas défini, le navigateur principal est utilisé par défaut.

Valeurs renvoyées

Aucune.

Fonctions relatives au clavierCes fonctions émulent les opérations de déplacement au sein d'un document à l'aide des touches de direction, RET. ARR, SUPPR., PG. PREC et PG. SUIV. Outre les fonctions générales telles que arrowLeft() (équivalent de la touche de direction Gauche) et backspaceKey() (équivalent de la touche RET. ARR), Dreamweaver offre également des méthodes permettant d'accéder au mot ou au paragraphe suivant ou précédent, et au début et à la fin d'une ligne ou d'un document.

dom.arrowDown()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion vers le bas du nombre de lignes spécifié.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de fois où le point d'insertion doit être déplacé vers le bas. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26426

Page 427: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.arrowLeft()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion vers la gauche du nombre de colonnes spécifié.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de fois où le point d'insertion doit être déplacé vers la gauche. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.arrowRight()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion vers la droite du nombre de colonnes spécifié.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de fois où le point d'insertion doit être déplacé vers la droite. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.arrowUp()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 427

Page 428: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Déplace le point d'insertion vers le haut du nombre de lignes spécifié.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de fois où le point d'insertion doit être déplacé vers le haut. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.backspaceKey()

Disponibilité

Dreamweaver 3.0

Description

Revient à appuyer sur la touche RET. ARR le nombre de fois spécifié. Le résultat obtenu sera différent selon qu'il y a une sélection en cours ou simplement un point d'insertion.

Arguments

{nTimes}

nTimes est le nombre de fois où une opération de retour arrière doit avoir lieu. S'il n'est pas défini, il prend par défaut la valeur 1.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.deleteKey()

Disponibilité

Dreamweaver 3.0

Description

Revient à appuyer sur la touche SUPPR. le nombre de fois spécifié. Le résultat obtenu sera différent selon qu'il y a une sélection en cours ou simplement un point d'insertion.

Chapitre 26428

Page 429: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{nTimes}

nTimes est le nombre de fois où une opération de suppression doit avoir lieu. S'il n'est pas défini, il prend par défaut la valeur 1.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.endOfDocument()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion à la fin du document, dans la fenêtre active (c'est-à-dire après le dernier contenu visible de la fenêtre de document ou après la balise HTML de fermeture de l'inspecteur de code selon le cas).

Arguments

{bShiftIsDown}

bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. S'il n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.endOfLine()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion à la fin de la ligne.

Arguments

{bShiftIsDown}

bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. S'il n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 429

Page 430: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

dom.nextParagraph()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion au début du paragraphe suivant (ou saute plusieurs paragraphes si l'argument nTimes est supérieur à 1).

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de paragraphes dont le point d'insertion doit avancer. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.nextWord()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion au début du mot suivant (ou saute plusieurs mots si l'argument nTimes est supérieur à 1).

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de mots dont le point d'insertion doit avancer. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26430

Page 431: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.pageDown()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion d'une page vers le bas (équivalent de la touche PG. SUIV).

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de pages dont le point d'insertion doit reculer. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.pageUp()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion d'une page vers le haut (équivalent de la touche PG. PREC).

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de pages dont le point d'insertion doit avancer. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.previousParagraph()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 431

Page 432: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Déplace le point d'insertion au début du paragraphe précédent (ou saute plusieurs paragraphes si l'argument nTimes est supérieur à 1).

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de paragraphes dont le point d'insertion doit reculer. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.previousWord()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion au début du mot précédent (ou saute plusieurs mots si l'argument nTimes est supérieur à 1).

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de mots dont le point d'insertion doit reculer. Si cet argument n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.startOfDocument()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion au début du document, dans la fenêtre active (c'est-à-dire avant le premier contenu visible de la fenêtre de document ou avant la balise HTML d'ouverture de l'inspecteur de code, selon le cas).

Chapitre 26432

Page 433: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{bShiftIsDown}

bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. S'il n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.startOfLine()

Disponibilité

Dreamweaver 3.0

Description

Déplace le point d'insertion au début de la ligne.

Arguments

{bShiftIsDown}

bShiftIsDown est une valeur booléenne indiquant si la sélection doit être étendue. S'il n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

mapKeyCodeToChar()

Description

Convertit un code de touche tel qu'il est indiqué dans le champ keyCode de l'objet événement en caractère. Vous devez d'abord vérifier si le code de touche est une touche spéciale telle que la touche ORIGINE, PAGE SUIVANTE, etc. S'il ne s'agit pas d'une touche spéciale, cette méthode doit être utilisée pour traduire le code en code de caractère pouvant être affiché.

Arguments

keyCode

keyCode est le code de touche à traduire en caractère.

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 433

Page 434: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions relatives aux calques et aux cartes graphiquesCes fonctions permettent d'aligner, de redimensionner et de déplacer des calques et des zones réactives de carte graphique. Il est indiqué, dans la description de chaque fonction, si cette dernière s'applique aux calques ou aux zones réactives.

dom.align()

Disponibilité

Dreamweaver 3.0

Description

Aligne à gauche, à droite, en haut ou en bas les calques ou zones réactives sélectionnés.

Arguments

alignDirection

alignDirection représente le bord sur lequel les calques ou les zones réactives doivent être alignés, à savoir "left", "right", "top" ou "bottom".

Valeurs renvoyées

Aucune.

Activateur

dom.canAlign()

dom.arrange()

Disponibilité

Dreamweaver 3.0

Description

Déplace les zones réactives sélectionnées dans le sens indiqué.

Arguments

toBackOrFront

toBackOrFront correspond au sens du déplacement des zones réactives, à savoir "front" ou "back".

Valeurs renvoyées

Aucune.

Activateur

dom.canArrange()

Chapitre 26434

Page 435: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.makeSizesEqual()

Disponibilité

Dreamweaver 3.0

Description

Affecte aux calques ou aux zones réactives sélectionnés la même hauteur ou la même largeur, ou les deux. Le dernier calque ou la dernière zone réactive sélectionnée sert de guide.

Arguments

bHoriz, bVert

• bHoriz est une valeur booléenne indiquant si les calques ou les zones réactives doivent être redimensionnés horizontalement.

• bVert est une valeur booléenne indiquant si les calques ou les zones réactives doivent être redimensionnés verticalement.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.moveSelectionBy()

Disponibilité

Dreamweaver 3.0

Description

Déplace les calques ou les zones réactives sélectionnés horizontalement et verticalement du nombre de pixels spécifiés.

Arguments

x, y

• x est le nombre de pixels dont la sélection doit être déplacée horizontalement.

• y est le nombre de pixels dont la sélection doit être déplacée verticalement.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.resizeSelectionBy()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 435

Page 436: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Redimensionne le calque ou la zone réactive sélectionnée.

Arguments

left, top, bottom, right

• left est la nouvelle position de la limite gauche du calque ou de la zone réactive.

• top est la nouvelle position de la limite supérieure du calque ou de la zone réactive.

• bottom est la nouvelle position de la limite inférieure du calque ou de la zone réactive.

• right est la nouvelle position de la limite droite du calque ou de la zone réactive.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Si le calque sélectionné possède les propriétés Left, Top, Width et Height indiquées, un appel à la fonction dw.getDocumentDOM().resizeSelectionBy(–10,–30,30,10) revient à restaurer Left à 40, Hight à 20, Width à 240 et Height à 240.

dom.setLayerTag()

Disponibilité

Dreamweaver 3.0

Description

Spécifie la balise HTML définissant le ou les calques sélectionnés.

Arguments

tagName

tagName doit être "layer", "ilayer", "div" ou "span".

Valeurs renvoyées

Aucune.

Chapitre 26436

Page 437: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

Fonctions relatives aux éléments de bibliothèque et aux modèlesCes fonctions permettent de gérer les opérations relatives aux modèles et aux éléments de bibliothèque, telles que la création, la mise à jour et la rupture de liens entre un document et un modèle ou un élément de la bibliothèque. Les méthodes de l'objet dreamweaver.libraryPalette permettent d'avoir un contrôle ou d'agir sur la sélection contenue dans le panneau Bibliothèque (programmé dans l'API en tant que « palette ») et non sur le document courant. De même, les méthodes de l'objet dreamweaver.templatePalette contrôlent ou agissent sur la sélection dans le panneau Modèle.

dom.applyTemplate()

Disponibilité

Dreamweaver 3.0

Description

Applique un modèle au document en cours. Si vous ne spécifiez aucun argument, la boîte de dialogue Sélectionner le modèle s'affiche. Cette fonction n'est valide que pour le document actif.

Arguments

{templateURL}, bMaintainLink

• templateURL est le chemin d'un modèle disponible sur le site en cours, exprimé sous la forme d'une URL de type file://.

• bMaintainLink est une valeur booléenne indiquant si le lien au modèle d'origine doit être conservé (true) ou pas (false).

Valeurs renvoyées

Aucune.

Activateur

dom.canApplyTemplate()

dom.detachFromLibrary()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 437

Page 438: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Rompt le lien entre l'occurrence actuellement sélectionnée d'un élément de bibliothèque et le fichier LBI qui lui est associé en supprimant les balises de verrouillage autour de la sélection. Revient à cliquer sur Détacher de l'original dans l'inspecteur de propriétés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.detachFromTemplate()

Disponibilité

Dreamweaver 3.0

Description

Détache le document en cours du modèle qui lui est associé.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.getAttachedTemplate()

Disponibilité

Dreamweaver 3.0

Description

Obtient le chemin du modèle associé au document.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le chemin du modèle, exprimé sous la forme d'une URL de type file://.

Activateur

Aucun.

Chapitre 26438

Page 439: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getEditableRegionList()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste des régions modifiables dans le corps du document.

Arguments

Aucun.

Valeurs renvoyées

Tableau de nœuds d'élément.

Activateur

Aucun.

Exemple

Voir « dom.getSelectedEditableRegion() », page 440.

dom.getIsLibraryDocument()

Disponibilité

Dreamweaver 3.0

Description

Détermine si le document est un élément de bibliothèque.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document est un fichier LBI.

Activateur

Aucun.

dom.getIsTemplateDocument()

Disponibilité

Dreamweaver 3.0

Description

Détermine si le document est un modèle.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document est un fichier DWT.

API JavaScript de Dreamweaver 439

Page 440: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

dom.getSelectedEditableRegion()

Disponibilité

Dreamweaver 3.0

Description

Si la sélection ou le point d'insertion se trouve à l'intérieur d'une région modifiable, obtient la position de cette dernière parmi toutes celles qui existent dans le corps du document.

Arguments

Aucun.

Valeurs renvoyées

Index de position dans le tableau renvoyé par la fonction dom.getEditableRegionList().

Activateur

Aucun.

Exemple

Le code suivant affiche une boîte de dialogue affichant le contenu de la région modifiable sélectionnée :

var theDOM = dw.getDocumentDOM();var edRegs = theDOM.getEditableRegionList();var selReg = theDOM.getSelectedEditableRegion();alert(edRegs[selReg].innerHTML);

dom.insertLibraryItem()

Disponibilité

Dreamweaver 3.0

Description

Insère une occurrence d'un élément de bibliothèque dans le document.

Arguments

libraryItemURL

libraryItemURL est le chemin d'un fichier LBI, exprimé sous la forme d'une URL de type file://.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26440

Page 441: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.markSelectionAsEditable()

Disponibilité

Dreamweaver 3.0

Description

Affiche la boîte de dialogue Nouvelle région modifiable. Lorsque l'utilisateur clique sur Nouvelle région, Dreamweaver marque la sélection comme étant modifiable et laisse le texte tel quel.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canMarkSelectionAsEditable()

dom.newEditableRegion()

Disponibilité

Dreamweaver 3.0

Description

Affiche la boîte de dialogue Nouvelle région modifiable. Lorsque l'utilisateur clique sur Nouvelle région, Dreamweaver insère le nom de la région dans le document, entre accolades, à l'emplacement du point d'insertion.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canMakeNewEditableRegion()

dom.removeEditableRegion()

Disponibilité

Dreamweaver 3.0

Description

Supprime une région modifiable du document. Si cette région possède un contenu, celui-ci est conservé ; seuls les marqueurs de région modifiable sont supprimés.

Arguments

Aucun.

API JavaScript de Dreamweaver 441

Page 442: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

dom.canRemoveEditableRegion()

dom.updateCurrentPage()

Disponibilité

Dreamweaver 3.0

Description

Met à jour les modèles ou les éléments de bibliothèque du document, ou les deux. Cette fonction n'est valide que pour le document actif.

Arguments

{typeOfUpdate}

typeOfUpdate doit être "library", "template" ou "both". S'il n'est pas défini, il prend par défaut la valeur "both".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.updatePages()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Mettre à jour les pages et sélectionne les options spécifiées.

Arguments

{typeOfUpdate}

typeOfUpdate doit être "library", "template" ou "both". S'il n'est pas défini, il prend par défaut la valeur "both".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26442

Page 443: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.templatePalette.newBlankTemplate()

Disponibilité

Dreamweaver 3.0

Description

Crée un nouveau modèle.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions Live dataVous pouvez appeler les fonctions Live data suivantes pour reproduire les fonctionnalités de menu :

• showLiveDataDialog() peut être utilisée pour l'option de menu Affichage > Paramètres Live Data

• setLiveDataMode() peut être utilisée pour l'option de menu Affichage > Live Data et Affichage > Actualiser Live Data

• getLiveDataMode() peut également être utilisée pour l'option Affichage > Live Data

Les autres fonctions Live Data sont utilisées lors de la mise en œuvre de la fonction liveDataTranslateMarkup() de l'API du traducteur.

dreamweaver.getLiveDataInitTags()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Renvoie les balises d'initialisation pour le document actif. Les balises d'initialisation sont les balises HTML que l'utilisateur a indiquées dans la boîte de dialogue Paramètres Live Data. Cette fonction est généralement appelée à partir de la fonction liveDataTranslateMarkup() d'un traducteur, de façon à ce que le traducteur puisse transmettre les balises à la fonction liveDataTranslate().

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant les balises d'initialisation.

API JavaScript de Dreamweaver 443

Page 444: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getLiveDataMode()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Détermine si la fenêtre Live Data est actuellement visible.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si la fenêtre Live Data est visible.

dreamweaver.liveDataTranslate()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Envoie un document HTML entier à un serveur d'application, demande au serveur d'exécuter les scripts dans le document, puis renvoie le document HTML final. Cette fonction peut également être appelée à partir de la fonction liveDataTranslateMarkup() d'un traducteur ; si vous tentez de l'appeler à un autre moment, une erreur se produit. Cette fonction effectue les opérations suivantes :

• Elle lit l'image animée (qui s'affiche à côté du bord droit de la fenêtre Live Data).

• Elle analyse les données saisies par l'utilisateur. Si vous cliquez sur l'icône Arrêter, la fonction est immédiatement terminée.

• Elle accepte un argument contenant une seule chaîne de l'appelant (cette chaîne représente généralement le code source HTML entier du document de l'utilisateur. Il s'agit de la même chaîne que celle utilisée dans l'opération suivante).

• Elle enregistre la chaîne HTML du document de l'utilisateur dans un fichier temporaire stocké sur le serveur Live Data.

• Elle envoie une requête HTTP au serveur Live Data, en utilisant les paramètres définis dans la boîte de dialogue Paramètres Live Data.

• Elle reçoit la réponse HTML du serveur Live Data.

• Elle supprime le fichier temporaire du serveur Live Data.

• Elle arrête la lecture du fichier d'animation.

• Elle renvoie la réponse HTML à l'appelant.

Chapitre 26444

Page 445: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Une seule chaîne, représentant généralement le code source HTML entier du document en cours de l'utilisateur.

Valeurs renvoyées

Objet httpReply. Cet objet est le même que la valeur renvoyée par la fonction MMHttp.getText(). Si l'utilisateur clique sur l'icône Arrêter, le code httpReply.statusCode de la valeur de retour est égal à 200 (état OK) et son httpReply.data est égal à une chaîne vide. Voir la section « API HTTP », page 241 pour plus d'informations sur l'objet httpReply.

dreamweaver.setLiveDataError()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Détermine le message d'erreur à afficher si une erreur se produit lors de l'exécution de la fonction liveDataTranslateMarkup() dans un traducteur. Si le document transmis par UltraDev à liveDataTranslate() contient des erreurs, le serveur retransmet un message d'erreur, en format HTML. Si le traducteur (code ayant appelé liveDataTranslate()) détermine que le serveur a renvoyé un message d'erreur, il appelle setLiveDataError() pour afficher le message d'erreur dans UltraDev. Ce message s'affiche une fois que la fonction liveDataTranslateMarkup() a été exécutée ; UltraDev affiche la description dans une boîte de dialogue d'erreurs. La fonction setLiveDataError() doit uniquement être appelée à partir de la fonction liveDataTranslateMarkup().

Arguments

source

source est une chaîne contenant le code source HTML, qui est ensuite analysé et rendu dans la boîte de dialogue du message d'erreur.

Valeurs renvoyées

Aucune.

dreamweaver.setLiveDataMode()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Active ou désactive l'affichage de la fenêtre Live Data.

API JavaScript de Dreamweaver 445

Page 446: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

bIsVisible

bIsVisible est une valeur booléenne indiquant si la fenêtre Live Data doit être visible. Si vous transmettez la valeur true à cette fonction et qu'UltraDev est configuré pour afficher la fenêtre Live Data, l'effet est le même que si l'utilisateur clique sur Actualiser.

Valeurs renvoyées

Aucune.

dreamweaver.showLiveDataDialog()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Affiche la boîte de dialogue Paramètres Live Data.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Fonctions relatives aux menusCes fonctions permettent d'optimiser et de recharger les menus dans Dreamweaver. Les fonctions dreamweaver.getMenuNeedsUpdating() et dreamweaver.notifyMenuUpdated() sont spécialement conçues pour empêcher l'exécution de routines de mise à jour superflues sur les menus dynamiques intégrés à Dreamweaver.

dreamweaver.getMenuNeedsUpdating()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si le menu spécifié doit être mis à jour.

Arguments

menuId

menuId est une chaîne contenant la valeur de l'attribut id de l'élément de menu (tel qu'il est spécifié dans le fichier menus.xml).

Chapitre 26446

Page 447: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Valeur booléenne indiquant si le menu doit être mis à jour. Cette fonction renvoie la valeur false uniquement si la fonction dreamweaver.notifyMenuUpdated() a été appelée avec l'argument menuId et que la valeur renvoyée par menuListFunction n'a pas changé depuis. Reportez-vous à la section dreamweaver.notifyMenuUpdated() pour de plus amples informations.

Activateur

Aucun.

dreamweaver.notifyMenuUpdated()

Disponibilité

Dreamweaver 3.0

Description

Prévient Dreamweaver lorsque le menu spécifié doit être mis à jour.

Arguments

menuId, menuListFunction

• menuId est une chaîne contenant la valeur de l'attribut id de l'élément de menu (tel qu'il est spécifié dans le fichier menus.xml).

• menuListFunction doit être l'une des chaînes suivantes : "dw.cssStylePalette.getStyles()", "dw.getDocumentDOM().getFrameNames()", "dw.getDocumentDOM().getEditableRegionList", "dw.getBrowserList()", "dw.getRecentFileList()", "dw.getTranslatorList()", "dw.getFontList()", "dw.getDocumentList()", "dw.htmlStylePalette.getStyles()" ou "site.getSites()".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.reloadMenus()

Disponibilité

Dreamweaver 3.0

Description

Recharge la structure de menus à partir du fichier menus.xml du dossier Configuration.

Arguments

Aucun.

API JavaScript de Dreamweaver 447

Page 448: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives aux cheminsCes fonctions permettent d'obtenir et de manipuler les chemins d'accès aux fichiers et aux dossiers enregistrés sur le disque dur de l'utilisateur. Elles permettent, entre autres, de déterminer le chemin d'accès à la racine du site dans lequel réside le document en cours et de convertir des chemins relatifs en URL absolues.

dreamweaver.getConfigurationPath()

Disponibilité

Dreamweaver 2.0

Description

Obtient le chemin d'accès du dossier Configuration, exprimé sous la forme d'une URL de type file://.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le chemin d'accès du dossier Configuration.

Activateur

Aucun.

Exemple

Cette fonction est utile lorsque l'on souhaite faire référence à d'autres fichiers d'extension stockés dans le dossier Configuration à l'intérieur du dossier de l'application Dreamweaver. Exemple :

var sortCmd = dreamweaver.getConfigurationPath() + ¬"/Commands/Sort Table.htm"var sortDOM = dreamweaver.getDocumentDOM(sortCmd);

dreamweaver.getDocumentPath()

Disponibilité

Dreamweaver1.2

Chapitre 26448

Page 449: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient le chemin d'accès du document spécifié, exprimé sous la forme d'une URL de type file://. Cette fonction revient à appeler la fonction dreamweaver.getDocumentDOM() et à lire la propriété URL de la valeur renvoyée.

Arguments

sourceDoc

sourceDoc doit être "document", "parent", "parent.frames[number]" ou "parent.frames['frameName']". document désigne le document actif contenant la sélection en cours. parent désigne le jeu de cadres parent (si le document sélectionné se trouve dans un cadre) et "parent.frames[number]" et "parent.frames['frameName']" désignent un document figurant dans un cadre spécifique du jeu de cadres contenant le document en cours.

Valeurs renvoyées

L'une des valeurs suivantes :

• Une chaîne contenant l'URL du document spécifié, si le fichier a été enregistré.

• Une chaîne vide si le fichier n'a pas été enregistré.

Activateur

Aucun.

dreamweaver.getSiteRoot()

Disponibilité

Dreamweaver 1.2

Description

Obtient le dossier racine local (défini dans la boîte de dialogue Définition du site) du site associé au document sélectionné, exprimé sous la forme d'une URL de type file://.

Arguments

Aucun.

Valeurs renvoyées

L'une des valeurs suivantes :

• Une chaîne contenant l'URL du dossier racine local du site dans lequel le fichier a été enregistré.

• Une chaîne vide si le fichier n'est pas associé à un site.

Activateur

Aucun.

API JavaScript de Dreamweaver 449

Page 450: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.relativeToAbsoluteURL()

Disponibilité

Dreamweaver 2.0

Description

Si on lui fournit une URL relative et un point de référence donnés (chemin du document en cours ou racine du site), convertit l'URL relative en URL absolue (file://).

Arguments

relURL, docPath, siteRoot

• relURL est l'URL à convertir.

• docPath correspond au chemin du document sur le disque de l'utilisateur (le document en cours, par exemple), exprimé sous la forme d'une URL de type file://, ou à une chaîne vide si relURL est une URL relative à la racine.

• siteRoot est le chemin de la racine du site, exprimé sous forme d'une URL de type file:// ou d'une chaîne vide si relURL est une URL relative à un document.

Valeurs renvoyées

URL absolue. La valeur renvoyée est générée comme suit :

• Si relURL est une URL absolue, aucune conversion n'a lieu et la valeur renvoyée est identique à relURL.

• Si relURL est une URL relative à un document, la valeur renvoyée est une combinaison de docPath + relURL.

• Si relURL est une URL relative à la racine, la valeur renvoyée est une combinaison de siteRoot + relURL.

Activateur

Aucun.

Fonctions relatives à Quick Tag EditorCes fonctions permettent de se déplacer d'une balise à l'autre à l'intérieur et autour de la sélection en cours. Elles permettent de supprimer n'importe laquelle de ces balises, d'envelopper la sélection à l'intérieur d'une nouvelle balise et d'afficher Quick Tag Editor pour permettre à l'utilisateur de modifier certains attributs d'une balise.

dom.selectChild()

Disponibilité

Dreamweaver 3.0

Chapitre 26450

Page 451: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Sélectionne un enfant de la sélection en cours. Revient à sélectionner la balise située immédiatement à droite dans le sélecteur de balises, en bas de la fenêtre de document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.selectParent()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne le parent de la sélection en cours. Revient à sélectionner la balise située immédiatement à gauche dans le sélecteur de balises, en bas de la fenêtre de document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.stripTag()

Disponibilité

Dreamweaver 3.0

Description

Supprime la balise entourant la sélection en cours, mais ne touche pas à son contenu, le cas échéant. Si la sélection contient plusieurs balises ou aucune, Dreamweaver affiche un message d'erreur.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 451

Page 452: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.wrapTag()

Disponibilité

Dreamweaver 3.0

Description

Place la balise spécifiée autour de la sélection en cours. Si la balise n'est pas complète, Dreamweaver affiche un message d'erreur.

Arguments

startTag

startTag est la source associée à la balise d'ouverture.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Le code suivant enveloppe un lien autour de la sélection en cours.

var theDOM = dw.getDocumentDOM();var theSel = theDOM.getSelectedNode();if (theSel.nodeType = = Node.TEXT_NODE){

theDOM.wrapTag('<a href="foo.html">');}

dreamweaver.showQuickTagEditor()

Disponibilité

Dreamweaver 3.0

Description

Affiche Quick Tag Editor pour la sélection en cours.

Arguments

{nearWhat}, {mode}

• nearWhat, s'il est défini, doit être "selection" ou "tag selector". S'il n'est pas défini, il prend par défaut la valeur "selection".

• mode, s'il est défini, doit être "default", "wrap", "insert" ou "edit". Si l'argument mode a pour valeur "default" ou qu'il n'est pas défini, Dreamweaver utilise la méthode heuristique porur déterminer le mode à utiliser pour la sélection en cours. Si l'argument nearWhat a pour valeur "tag selector", l'argument mode est ignoré.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26452

Page 453: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions relatives aux rapportsLes fonctions de rapports permettent d'accéder aux fonctionnalités de création de rapports de Dreamweaver, c'est-à-dire de lancer, de contrôler et de personnaliser le processus de création de rapports. Pour plus d'informations, voir « Rapports », page 63.

dreamweaver.isReporting()

Disponibilité

Dreamweaver 4.0

Description

Vérifie si un processus de création de rapport est en cours.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si un processus est en cours (true) ou pas (false).

dreamweaver.showReportsDialog()

Disponibilité

Dreamweaver 4.0

Description

Ouvre la boîte de dialogue Rapports.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.results.setResultData()

Disponibilité

Dreamweaver 4.0

Description

Ajoute de nouvelles entrées à la fenêtre de résultats qui est active durant le processus de création de rapports. Si aucun rapport n'est en cours de création, cette fonction n'a aucun effet.

Arguments

strFilePath, strIcon, strDisplay, strDesc, {iLineNo}, {iStartSel}, {iEndSel}

API JavaScript de Dreamweaver 453

Page 454: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• strFilePath est l'URL complète du fichier.

• strIcon est le chemin complet de l'icône à utiliser pour l'entrée de résultats. Vous pouvez créer des références à des icônes intégrées en indiquant un chiffre compris entre 1 et 10.

• strDisplay est une chaîne à afficher dans la première colonne ; il s'agit généralement d'un nom de fichier.

• strDesc est une description qui accompagne l'entrée.

• iLineNo est le nombre de lignes contenues dans le fichier, s'il est indiqué.

• iStartSel est le début du décalage dans le fichier, s'il est indiqué.

• iEndSel est la fin du décalage dans le fichier ; cette valeur est uniquement requise si iStartSel est spécifié.

Valeurs renvoyées

Aucune.

Fonctions de la fenêtre de résultatsLes fonctions de la fenêtre de résultats vous permettent de créer une fenêtre contenant des données formatées. Vous pouvez utiliser ces fonctions pour créer des fenêtres personnalisées similaires à celle du débogueur JavaScript ou de la fenêtre de résultats de la création de rapports.

dreamweaver.createResultsWindow()

Disponibilité

Dreamweaver 4.0

Description

Crée une nouvelle fenêtre de résultats et renvoie une référence d'objet JavaScript à la fenêtre.

Arguments

strName, arrColumns

• strName est la chaîne à utiliser pour le titre de la fenêtre.

• arrColumns est un tableau de noms de colonnes à utiliser dans la commande.

Valeurs renvoyées

Une référence d'objet à la fenêtre créée.

resWin.addItem()

Disponibilité

Dreamweaver 4.0

Chapitre 26454

Page 455: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ajoute un nouvel élément à la fenêtre de résultats.

Arguments

strIcon, strDesc, iStartSel, iEndSel, colNdata

• strIcon est l'icône à afficher. Définissez 0 pour n'afficher aucune icône.

• strDesc est une description détaillée de l'élément de police de code. Définissez police de code si vous ne voulez aucune description.

• iStartSel est le début du décalage de la sélection dans le fichier. Définissez null si vous ne voulez pas utiliser cette fonction.

• iEndSel est la fin du décalage de la sélection dans le fichier. Définissez police de code si vous ne voulez pas utiliser cette fonction.

• colNdata est une chaîne à utiliser pour chaque colonne.

Valeurs renvoyées

Une valeur booléenne, définie sur true si l'élément a été correctement ajouté et sur false dans le cas contraire.

resWin.setCallbackCommands()

Disponibilité

Dreamweaver 4.0

Description

Indique à la fenêtre de résultats sur quelles commandes la méthode processFile() doit être appelée. Si cette fonction n'est pas appelée, la commande qui a créé la fenêtre de résultats est appelée.

Arguments

arrCmdNames

arrCmdNames est un tableau de noms de commandes sur lesquelles la méthode processFile() doit être appelée.

Valeurs renvoyées

Aucune.

resWin.setColumnWidths()

Disponibilité

Dreamweaver 4.0

Description

Définit la largeur de chaque colonne.

API JavaScript de Dreamweaver 455

Page 456: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

arrWidth

arrWidth est un tableau de nombres entiers représentant les largeurs à utiliser pour chaque colonne de la commande.

Valeurs renvoyées

Aucune.

resWin.setFileList()

Disponibilité

Dreamweaver 4.0

Description

Indique à la fenêtre de résultats une liste de fichiers, de répertoires ou des deux sur lesquels un ensemble de commandes doit être appelé.

Arguments

arrFilePaths, bRecursive

• arrFilePaths est un tableau de chemins de fichier ou de dossier à répéter.

• bRecursive est une valeur booléenne indiquant si la répétition doit être récurrente (true) ou pas (false).

Valeurs renvoyées

Aucune.

resWin.setTitle()

Disponibilité

Dreamweaver 4.0

Description

Définit le titre de la fenêtre.

Arguments

strTitle

strTitle est le nouveau titre du panneau flottant.

Valeurs renvoyées

Aucune.

resWin.startProcessing()

Disponibilité

Dreamweaver 4.0

Description

Lance le traitement du fichier.

Chapitre 26456

Page 457: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

resWin.stopProcessing()

Disponibilité

Dreamweaver 4.0

Description

Arrête le traitement du fichier.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Fonctions relatives à la sélectionCes fonctions permettent d'obtenir et de définir la sélection dans les documents ouverts. Pour savoir comment obtenir et définir la sélection dans la fenêtre Site, voir « Fonctions relatives aux sites », page 466.

dom.getSelectedNode()

Disponibilité

Dreamweaver 3.0

Description

Obtient le nœud sélectionné. Revient à appeler la fonction dom.getSelection() puis à transmettre la valeur renvoyée à la fonction dom.offsetsToNode().

Arguments

Aucun.

Valeurs renvoyées

Objet balise, texte ou commentaire contenant la série de caractères spécifiée.

Activateur

Aucun.

dom.getSelection()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 457

Page 458: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient la sélection en cours, exprimée en décalages de caractères dans le code source HTML du document.

ArgumentsbAllowMultiple

bAllowMultiple est une valeur booléenne indiquant si la fonction doit renvoyer plusieurs décalages lorsque plusieurs calques, cellules de tableaux ou zones réactives de carte graphique sont sélectionnés. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Pour les sélections simples, tableau contenant deux nombres entiers. Le premier entier correspond au décalage de caractères au début de la sélection. Le second correspond au décalage de caractères à la fin de la sélection. Si les deux valeurs sont identiques, la sélection en cours correspond à un point d'insertion.

Pour les sélections complexes (lorsque la sélection consiste en plusieurs cellules de tableau, plusieurs calques ou plusieurs zones réactives), tableau contenant 2n nombres entiers, n représentant le nombre d'éléments sélectionnés. Le premier entier de chaque paire correspond au décalage de caractères du début de la sélection (balise d'ouverture TD, DIV, SPAN, LAYER, ILAYER ou MAP comprise) ; le second entier correspond au décalage de caractères à la fin de la sélection (balise de fermeture TD, DIV, SPAN, LAYER, ILAYER ou MAP comprise). Si plusieurs rangées d'un tableau sont sélectionnées, le décalage de chaque cellule de chaque rangée est renvoyé. La sélection n'inclut jamais les balises TR.

Activateur

Aucun.

dom.nodeToOffsets()

Disponibilité

Dreamweaver 3.0

Description

Obtient la position d'un nœud de l'arborescence DOM, exprimée en décalages de caractères dans le code source HTML du document. Valide pour n'importe quel document sur un lecteur local.

Arguments

node

node doit être une balise, un commentaire ou un texte correspondant à un nœud de l'arborescence renvoyée par la fonction dreamweaver.getDocumentDOM().

Chapitre 26458

Page 459: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Tableau contenant deux entiers. Le premier nombre entier est le décalage de caractères du début de la balise, du texte ou du commentaire ; le deuxième nombre entier est le décalage de caractères de la fin du nœud, à partir du début du document HTML.

Activateur

Aucun.

Exemple

L'exemple de code suivant sélectionne le premier objet image du document en cours :

var theDOM = dw.getDocumentDOM();var theImg = theDOM.images[0];var offsets = theDom.nodeToOffsets(theImg);theDom.setSelection(offsets[0], offsets[1]);

dom.offsetsToNode()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'objet de l'arborescence DOM contenant la série de caractères située entre le début et la fin définis. Valide pour n'importe quel document sur un lecteur local.

Arguments

offsetBegin, offsetEnd

Les arguments correspondent respectivement au début et à la fin d'une série de caractères, exprimés en décalages de caractères à partir du début du code source HTML du document.

Valeurs renvoyées

Objet balise, texte ou commentaire contenant la série de caractères spécifiée.

Activateur

Aucun.

Exemple

Le code suivant affiche une alerte si la sélection est une image.

var offsets = dom.getSelection();var theSelection = dreamweaver.offsetsToNode(offsets[0], ¬offsets[1]);if (theSelection.nodeType == Node.ELEMENT_NODE && ¬theSelection.tagName == 'IMG'){

alert('The current selection is an image.');}

API JavaScript de Dreamweaver 459

Page 460: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.selectAll()

Disponibilité

Dreamweaver 3.0

Description

Effectue une opération Sélectionner tout.

Remarque : dans la plupart des cas, cette fonction sélectionne le contenu entier du document actif. Dans certains cas toutefois (lorsque le point d'insertion se trouve dans un tableau, par exemple), elle ne sélectionne qu'une partie du document. Pour définir le document entier comme sélection, utilisez la fonction dom.setSelection().

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.selectTable()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne un tableau entier.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canSelectTable()

dom.setSelectedNode()

Disponibilité

Dreamweaver 3.0

Description

Définit le nœud sélectionné. Revient à appeler la fonction dom.nodeToOffsets(), puis à transmettre la valeur renvoyée à la fonction dom.setSelection().

Chapitre 26460

Page 461: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

node, {bSelectInside}, {bJumpToNode}

• node est un nœud de texte, de commentaire ou d'élément du document.

• bSelectInside est une valeur booléenne indiquant s'il faut sélectionner la propriété innerHTML du nœud. Cet argument n'est pertinent que si node est un nœud d'élément et qu'il prend par défaut la valeur false lorsqu'il n'est pas défini.

• bJumpToNode est une valeur booléenne indiquant s'il faut, le cas échéant, faire défiler la fenêtre de document pour rendre la sélection visible. Si cet argument n'est pas défini, il prend par défaut la valeur false.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setSelection()

Disponibilité

Dreamweaver 3.0

Description

Définit le début et la fin de la sélection dans le document.

Arguments

offsetBegin, offsetEnd

Les arguments correspondent respectivement au début et à la fin de la nouvelle sélection, exprimés en décalages de caractères dans le code source HTML du document. Si les deux valeurs sont identiques, la nouvelle sélection correspond à un point d'insertion. Si la nouvelle sélection n'est pas une sélection HTML valide, elle inclut les caractères de la première sélection HTML valide. Par exemple, si offsetBegin et offsetEnd définissent SRC="myImage.gif" comme sélection dans <IMG SRC="myImage.gif">, la sélection est étendue pour inclure également la balise IMG.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.selectAll()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 461

Page 462: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Effectue une opération Sélectionner tout dans la fenêtre de document active, dans la fenêtre Site ou, sur Macintosh, dans le champ modifiable actif d'une boîte de dialogue ou d'un panneau flottant.

Remarque : si l'opération est effectuée dans le document actif, elle sélectionne dans la plupart des cas le contenu entier du document actif. Dans certains cas toutefois (lorsque le point d'insertion se trouve dans un tableau, par exemple), elle ne sélectionne qu'une partie du document. Pour définir le document entier comme sélection, utilisez la fonction dom.setSelection().

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.canSelectAll()

Fonctions de comportement du serveurLes fonctions de comportement du serveur vous donnent la possibilité de manipuler le panneau Comportements du serveur que vous affichez en choisissant Fenêtre > Comportements de serveur. Vous pouvez utiliser ces fonctions pour rechercher tous les comportements du serveur sur une page ou appliquer un nouveau comportement au document ou modifier un document existant par le biais d'un programme.

Remarque : vous pouvez abréger dw.serverBehaviorInspector en dw.sbi.

dreamweaver.serverBehaviorInspector.findAllServerBehaviors()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Définit un drapeau rappelant à l'utilisateur d'appeler la fonction API de comportement du serveur findServerBehaviors() pour chaque comportement déjà installé.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26462

Page 463: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.serverBehaviorInspector.getServerBehaviors()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Affiche une liste de tous les comportements sur une page. Si UltraDev détermine que la liste interne des comportements du serveur n'est peut-être pas à jour, il appelle findServerBehaviors() pour chaque comportement installé. Chacune de ces fonctions renvoie un tableau. UltraDev fusionne tous les tableaux en un seul tableau et le trie dans l'ordre selon lequel l'objet selectedNode de chaque comportement apparaît dans le document. UltraDev stocke le tableau fusionné localement. La fonction getServerBehaviors() renvoie un pointeur au tableau fusionné.

Arguments

Aucun.

Valeurs renvoyées

Un tableau d'objets JavaScript. Les objets du tableau sont les mêmes que ceux renvoyés par la fonction findServerBehaviors(). Ils sont triés dans leur ordre d'apparition dans le panneau Comportements.

dreamweaver.popupServerBehavior()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Applique un nouveau comportement de serveur au document ou modifie un comportement existant. Si l'utilisateur doit définir les paramètres du comportement, une boîte de dialogue s'affiche.

Arguments

{behaviorName ou behaviorObject}

• behaviorName est une chaîne représentant le nom du comportement, la balise de titre d'un fichier ou un nom de fichier.

• behaviorObject est un objet comportement.

Si vous ne définissez pas cet argument, UltraDev exécute le comportement de serveur sélectionné. Si l'argument est le nom du comportement de serveur, UltraDev ajoute ce comportement à la page. Si l'argument est l'un des objets du tableau renvoyé par getServerBehaviors(), une boîte de dialogue s'affiche pour permettre à l'utilisateur de modifier les paramètres du comportement.

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 463

Page 464: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions relatives à la source de données

dreamweaver.dbi.getDataSources

Disponibilité

Dreamweaver UltraDev 4.0

Description

Appelle la fonction findDynamicSources() pour chaque fichier contenu dans le dossier Configuration/DataSources. Vous pouvez utiliser cette fonction pour générer une liste de toutes les sources de données du document de l'utilisateur. Cette fonction est répétée sur tous les fichiers du dossier Configuration/DataSources, appelle la fonction findDynamicSources() dans chaque fichier, fusionne tous les tableaux renvoyés et renvoie le tableau de sources de données fusionné.

Arguments

Aucun.

Valeurs renvoyées

Le tableau renvoyé par cette fonction contient une liste concaténée de toutes les sources de données contenues dans le document de l'utilisateur. Chaque élément du tableau est un objet et chaque objet a les propriétés suivantes :

• La propriété title correspond au libellé qui apparaît à droite de l'icône de chaque nœud parent. La propriété title est obligatoire.

• La propriété imageFile est le chemin d'accès à un fichier contenant l'icône (image GIF) qui représente le nœud parent dans le panneau Liaisons de données et les boîtes de dialogue Données dynamiques ou Texte dynamique. La propriété imageFile est obligatoire.

• La propriété isallowDelete est facultative. Si cette propriété est définie sur false, lorsque l'utilisateur clique sur ce nœud dans le panneau Liaisons de données, le bouton moins (-) est désactivé. Si elle est définie sur true, le bouton moins (-) est activé. Si la propriété n'est pas définie, elle prend par défaut la valeur true.

• La propriété dataSource est le nom du fichier dans lequel la fonction findDynamicSources() est définie. L'extension « .htm » n'est pas spécifiée. Par exemple, la fonction findDynamicSources() de Configuration/DataSources/ASP/session.htm définit la propriété dataSource sur session. Cette propriété est obligatoire.

Chapitre 26464

Page 465: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• La propriété name est le nom du comportement de serveur associé à la source de données dataSource, s'il existe. Cette propriété est obligatoire. Certaines sources de données, telles que des jeux d'enregistrements, sont associées à des comportements de serveur. Lorsque vous créez un jeu d'enregistrements et que vous le nommez Auteurs, la propriété « name » doit être égale à Auteurs. D'autres sources de données, telles que les variables de session, ne sont pas associées à un comportement de serveur. Leur propriété « name » doit être une chaîne vide (" ").

Fonctions de modèle de serveurDans UltraDev, chaque site possède un modèle de serveur (par exemple ASP, JSP ou ColdFusion). Les modèles de serveur sont des techniques permettant d'exécuter des scripts sur un serveur. Lorsque l'utilisateur définit un modèle de serveur, UltraDev sait quel type de balises doivent être insérées dans les pages d'une application. Par exemple, si vous spécifiez un serveur ColdFusion, UltraDev insère les balises et les scripts ColdFusion appropriés dans la page.

Les fonctions de modèle de serveur vous permettent de déterminer le modèle de serveur utilisé pour un site, les langages ainsi que la version pris en charge.

dom.serverModel.getServerLanguage()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Détermine le site qui contient le document, puis renvoie le langage serveur pour ce site. Le langage serveur d'un site est la valeur choisie dans le paramètre Langage de script par défaut de l'onglet Infos du serveur d'application de la boîte de dialogue Définition du site.

La valeur de retour de cette fonction est l'une des valeurs renvoyées par la fonction API du modèle de serveur getServerLanguages(). Pour ASP, la valeur de retour de cette fonction est soit JavaScript, soit VBScript, selon la valeur choisie par l'utilisateur.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant les langages de script pris en charge.

Exemple

Si le modèle de serveur en cours est ASP 2.0, la fonction dom.serverModel.getServerLanguage() renvoie ["VBScript", "JavaScript"].

API JavaScript de Dreamweaver 465

Page 466: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.serverModel.getServerName()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Détermine le site qui contient le document, puis renvoie le modèle de serveur de ce site. Les valeurs possibles sont ASP, JSP, Cold Fusion ou tous les fichiers supplémentaires contenus dans le dossier Configuration\ServerModels.

Arguments

Aucun.

Valeurs renvoyées

Une chaîne contenant le nom du serveur.

dom.serverModel.getServerVersion()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Détermine le site qui contient le document, puis le modèle de serveur choisi pour ce site. Chaque modèle de serveur a une fonction getVersionArray() (dans l'API de modèle de serveur), qui renvoie un tableau de couples nom-version.

Arguments

name

name est une chaîne représentant le nom d'une version.

Valeurs renvoyées

Une chaîne contenant le numéro de version. Par exemple, si vous avez transmis « ADODB » à dom.serverModel.getServerVersion(), UltraDev renvoie « 2.1 ».

Fonctions relatives aux sitesCes fonctions permettent d'effectuer des opérations sur les fichiers de site ou sur la carte du site. Elles permettent de créer des liens entre les fichiers, d'obtenir, de placer, d'extraire et d'archiver des fichiers, de les sélectionner et de les désélectionner, de les créer et de les supprimer, d'obtenir des informations sur les sites définis par l'utilisateur, etc.

dreamweaver.loadSitesFromPrefs()

Disponibilité

Dreamweaver 4.0

Chapitre 26466

Page 467: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Charge les informations du site pour tous les sites de la base de registres du système (Windows) ou du fichier de préférences Dreamweaver (Macintosh) dans Dreamweaver. Si un site est connecté à un serveur distant lorsque cette fonction est appelée, il est automatiquement déconnecté.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dreamweaver.saveSitesToPrefs()

Disponibilité

Dreamweaver 4.0

Description

Enregistre toutes les informations pour chaque site que l'utilisateur a défini dans la base de registres du système (Windows) ou le fichier de préférences Dreamweaver (Macintosh).

Arguments

Aucun.

Valeurs renvoyées

Aucune.

site.addLinkToExistingFile()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Sélectionner fichier HTML pour permettre à l'utilisateur de sélectionner un fichier, puis crée un lien entre ce dernier et le document sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canAddLink()

API JavaScript de Dreamweaver 467

Page 468: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.addLinkToNewFile()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Lier au nouveau fichier pour permettre à l'utilisateur de créer un fichier, puis crée un lien entre ce dernier et le document sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canAddLink()

site.canEditColumns()

Description

Détermine si un site existe ou pas.

Arguments

Aucun.

Valeurs renvoyées

true si un site existe.

site.changeLinkSitewide()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Modifier le lien au niveau du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.changeLink()

Disponibilité

Dreamweaver 3.0

Chapitre 26468

Page 469: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre la boîte de dialogue Sélectionner fichier HTML pour permettre à l'utilisateur de sélectionner le nouveau fichier à associer au lien.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canChangeLink()

site.checkIn()

Disponibilité

Dreamweaver 3.0

Description

Archive les fichiers sélectionnés et traite les fichiers dépendants de l'une des façons suivantes :

• Si l'utilisateur a activé l'option Invite lors de Placer/Archiver dans les préférences, catégorie FTP du site, la boîte de dialogue Fichiers dépendants s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Oui, les fichiers dépendants sont téléchargés et aucune boîte de dialogue ne s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Non, les fichiers dépendants ne sont pas téléchargés et aucune boîte de dialogue ne s'affiche.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Aucune.

Activateur

site.canCheckIn()

site.checkLinks()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 469

Page 470: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Ouvre la boîte de dialogue Vérificateur de lien et vérifie les liens dans les fichiers spécifiés.

Arguments

scopeOfCheck

scopeOfCheck définit à quel endroit les liens sont vérifiés. Il doit avoir pour valeur "document", "selection" ou "site".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.checkOut()

Disponibilité

Dreamweaver 3.0

Description

Extrait les fichiers sélectionnés et traite les fichiers dépendants de l'une des façons suivantes :

• Si l'utilisateur a activé l'option Invite lors de Acquérir/Extraire dans les préférences, catégorie FTP du site, la boîte de dialogue Fichiers dépendants s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Oui, les fichiers dépendants sont téléchargés et aucune boîte de dialogue ne s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Non, les fichiers dépendants ne sont pas téléchargés et aucune boîte de dialogue ne s'affiche.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Aucune.

Activateur

site.canCheckOut()

site.checkTargetBrowsers()

Disponibilité

Dreamweaver 3.0

Chapitre 26470

Page 471: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Vérifie le navigateur cible des documents sélectionnés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.defineSites()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Définir les sites.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.deleteSelection()

Disponibilité

Dreamweaver 3.0

Description

Supprime les fichiers sélectionnés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.editColumns()

Description

Affiche la boîte de dialogue Définir les sites avec la section colonnes mode Fichier.

API JavaScript de Dreamweaver 471

Page 472: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

site.locateInSite()

Disponibilité

Dreamweaver 3.0

Description

Recherche le ou les fichiers spécifiés dans le volet spécifié de la fenêtre Site et sélectionne les fichiers identifiés par la recherche.

Arguments

localOrRemote, siteOrURL

• localOrRemote doit être "local" ou "remote".

• siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Aucune.

Activateur

site.canLocateInSite()

site.findLinkSource()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le fichier contenant le lien ou le fichier dépendant sélectionné et met en surbrillance, dans ce fichier, le texte du lien ou la référence au fichier dépendant. Cette fonction agit seulement sur les fichiers de l'affichage Carte du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canFindLinkSource()

site.get()

Disponibilité

Dreamweaver 3.0

Chapitre 26472

Page 473: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient les fichiers spécifiés et traite les fichiers dépendants comme suit :

• Si l'utilisateur a activé l'option Invite lors de Acquérir/Extraire dans les préférences, catégorie FTP du site, la boîte de dialogue Fichiers dépendants s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Oui, les fichiers dépendants sont téléchargés et aucune boîte de dialogue ne s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Non, les fichiers dépendants ne sont pas téléchargés et aucune boîte de dialogue ne s'affiche.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Aucune.

Activateur

site.canGet()

site.getCheckOutUser()

Disponibilité

Dreamweaver 3.0

Description

Obtient le nom d'utilisateur et le nom d'extraction associés au site en cours.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant un nom d'utilisateur et un nom d'extraction, le cas échéant, ou chaîne vide si la fonction d'archivage/extraction est désactivée.

Activateur

Aucun.

Exemple

Un appel à la fonction site.getCheckOutUser() pourrait renvoyer ceci : "lori (loriLaptop)". Si aucun nom d'extraction n'est spécifié, seul le nom d'utilisateur est renvoyé ("lori", par exemple).

API JavaScript de Dreamweaver 473

Page 474: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.getCheckOutUserForFile()

Disponibilité

Dreamweaver 3.0

Description

Obtient le nom d'utilisateur et le nom d'extraction de l'utilisateur qui a extrait le fichier spécifié.

Arguments

fileName

fileName est le chemin du fichier sur lequel porte la requête, exprimé sous forme d'une URL de type file://.

Valeurs renvoyées

Chaîne contenant le nom d'utilisateur et le nom d'extraction de l'utilisateur qui a extrait le fichier spécifié, ou chaîne vide si le fichier n'a pas été extrait.

Activateur

Aucun.

Exemple

Un appel à la fonction site.getCheckOutUserForFile("file://C:/sites/avocado8/index.html") pourrait renvoyer ceci : "lori (loriLaptop)". Si aucun nom d'extraction n'est spécifié, seul le nom d'utilisateur est renvoyé ("lori", par exemple).

site.getConnectionState()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état de connexion en cours.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le site distant est connecté.

Activateur

site.canConnect()

site.getCurrentSite()

Disponibilité

Dreamweaver 3.0

Description

Obtient le site en cours.

Chapitre 26474

Page 475: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le nom du site en cours.

Activateur

Aucun.

Exemple

Si plusieurs sites sont définis, un appel à la fonction site.getCurrentSite() renvoie celui qui est actuellement affiché dans la liste des sites en cours de la fenêtre Site.

site.getFocus()

Disponibilité

Dreamweaver 3.0

Description

Détermine quel est le volet actif de la fenêtre Site.

Arguments

Aucun.

Valeurs renvoyées

L'une des chaînes suivantes : "local", "remote" ou "site map".

Activateur

Aucun.

site.getLinkVisibility()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si tous les liens sélectionnés dans la carte du site sont visibles (c'est-à-dire s'ils ne sont pas marqués comme cachés).

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si tous les liens sélectionnés sont visibles.

Activateur

Aucun.

API JavaScript de Dreamweaver 475

Page 476: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.getSelection()

Disponibilité

Dreamweaver 3.0

Description

Détermine quels sont les fichiers actuellement sélectionnés dans la fenêtre Site.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes représentant les chemins des fichiers et des dossiers sélectionnés, exprimés sous la forme d'URL de type file://, ou tableau vide si aucun fichier ni dossier n'est sélectionné.

Activateur

Aucun.

site.getSites()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste des sites définis.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes représentant les noms des sites définis, ou tableau vide si aucun site n'est défini.

Activateur

Aucun.

site.invertSelection()

Disponibilité

Dreamweaver 3.0

Description

Inverse la sélection dans la carte du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26476

Page 477: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.makeEditable()

Disponibilité

Dreamweaver 3.0

Description

Désactive le drapeau de lecture seule sur les fichiers sélectionnés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canMakeEditable()

site.makeNewDreamweaverFile()

Disponibilité

Dreamweaver 3.0

Description

Crée un nouveau fichier Dreamweaver dans la fenêtre Site (dans le même répertoire que le premier fichier ou dossier sélectionné).

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canMakeNewFileOrFolder()

site.makeNewFolder()

Disponibilité

Dreamweaver 3.0

Description

Crée un nouveau dossier Dreamweaver dans la fenêtre Site (dans le même répertoire que le premier fichier ou dossier sélectionné).

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canMakeNewFileOrFolder()

API JavaScript de Dreamweaver 477

Page 478: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.newHomePage()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Nouvelle page d'accueil pour permettre à l'utilisateur de créer une nouvelle page d'accueil.

Remarque : cette fonction agit seulement sur les fichiers de l'affichage Carte du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.newSite()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Définition du site pour définir un nouveau site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.open()

Disponibilité

Dreamweaver 3.0

Description

Ouvre les fichiers actuellement sélectionnés dans la fenêtre Site. Si des dossiers sont sélectionnés, ils sont développés dans l'affichage Fichiers du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26478

Page 479: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

site.canOpen()

site.put()

Disponibilité

Dreamweaver 3.0

Description

Place les fichiers spécifiés et traite les fichiers dépendants comme suit :

• Si l'utilisateur a activé l'option Invite lors de Placer/Archiver dans les préférences, catégorie FTP du site, la boîte de dialogue Fichiers dépendants s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Oui, les fichiers dépendants sont téléchargés et aucune boîte de dialogue ne s'affiche.

• Si l'utilisateur a activé l'option Ne plus afficher ce message dans la boîte de dialogue Fichiers dépendants, puis qu'il a cliqué sur Non, les fichiers dépendants ne sont pas téléchargés et aucune boîte de dialogue ne s'affiche.

ArgumentssiteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Aucune.

Activateur

site.canPut()

site.recreateCache()

Disponibilité

Dreamweaver 3.0

Description

Recrée le cache du site en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canRecreateCache()

API JavaScript de Dreamweaver 479

Page 480: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.refresh()

Disponibilité

Dreamweaver 3.0

Description

Actualise la liste des fichiers sur le côté spécifié de la fenêtre Site.

Arguments

whichSide

whichSide doit être "local" ou "remote". Si la carte du site est active et que whichSide a pour valeur "local", la carte du site est actualisée.

Valeurs renvoyées

Aucune.

Activateur

site.canRefresh()

site.remoteIsValid()

Disponibilité

Dreamweaver 3.0

Description

Détermine si le site distant est valide.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si un site distant a été défini et, dans le cas où le type de serveur est Local/Réseau, si le lecteur est monté.

Activateur

Aucun.

site.removeLink()

Disponibilité

Dreamweaver 3.0

Description

Supprime le lien sélectionné du document situé au-dessus de lui dans la carte du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26480

Page 481: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

site.canRemoveLink()

site.renameSelection()

Disponibilité

Dreamweaver 3.0

Description

Transforme le nom du fichier sélectionné en champ modifiable et permet à l'utilisateur de renommer le fichier. Si plusieurs fichiers sont sélectionnés, cette fonction agit sur le dernier.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.saveAsImage()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Enregistrer sous pour permettre à l'utilisateur d'enregistrer la carte du site sous forme d'image.

Arguments

fileType

fileType est le type d'image qui doit être enregistré. Pour Windows, les valeurs autorisées sont "bmp" et "png", et pour Macintosh "pict" et "jpeg". Si cet argument n'est pas défini ou que sa valeur n'est pas valide sur la plate-forme en cours, il prend par défaut la valeur "bmp" pour Windows et "pict" pour Macintosh.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.selectAll()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 481

Page 482: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Sélectionne tous les fichiers de l'affichage actif (à savoir soit la carte du site, soit les fichiers de site)

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.selectHomePage()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue d'ouverture de fichier pour permettre à l'utilisateur de choisir une nouvelle page d'accueil.

Remarque : cette fonction agit seulement sur les fichiers de l'affichage Carte du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.selectNewer()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne tous les fichiers les plus récents sur le côté spécifié de la fenêtre Site.

Arguments

whichSide

whichSide doit être "local" ou "remote".

Valeurs renvoyées

Aucune.

Activateur

site.canSelectNewer()

Chapitre 26482

Page 483: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.setAsHomePage()

Disponibilité

Dreamweaver 3.0

Description

Désigne le fichier sélectionné dans l'affichage Fichiers du site comme étant la page d'accueil du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.setConnectionState()

Disponibilité

Dreamweaver 3.0

Description

Définit l'état de connexion du site en cours.

Arguments

bConnected

bConnected est une valeur booléenne indiquant si une connexion au site est en cours (true) ou pas (false).

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.setCurrentSite()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le site spécifié dans le volet local de la fenêtre Site.

Arguments

whichSite

whichSite est le nom d'un site défini (tel qu'il apparaît dans la liste des sites en cours, dans la fenêtre Site ou dans la boîte de dialogue Définir les sites.

API JavaScript de Dreamweaver 483

Page 484: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Exemple

Si trois sites sont définis (avocado8, dreamcentral et testsite, par exemple), un appel à la fonction site.setCurrentSite("dreamcentral") fait de dreamcentral le site en cours.

site.setFocus()

Disponibilité

Dreamweaver 3.0

Description

Active le volet spécifié de la fenêtre Site. Si le volet spécifié n'est pas affiché, la fonction l'affiche et l'active.

Arguments

whichPane

whichPane doit être l'une des chaînes suivantes : "local", "remote" ou "site map".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.setLayout()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le volet Mise en forme de la carte du site de la boîte de dialogue Définition du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canSetLayout()

Chapitre 26484

Page 485: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.setLinkVisibility()

Disponibilité

Dreamweaver 3.0

Description

Affiche ou masque le lien en cours.

Arguments

bShow

bShow est une valeur booléenne indiquant si le lien en cours ne doit plus être marqué comme étant masqué.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.setSelection()

Disponibilité

Dreamweaver 3.0

Description

Sélectionne les fichiers ou les dossiers visibles dans le volet actif de la fenêtre Site.

Arguments

arrayOfURLs

arrayOfURLs est un tableau de chaînes, chacune représentant le chemin d'accès à un fichier ou à un dossier du site en cours, exprimé sous la forme d'une URL de type file://.

Remarque : pour les chemins de dossier, ne tapez pas la barre oblique (/) à la fin du chemin.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.synchronize()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Synchroniser les fichiers.

API JavaScript de Dreamweaver 485

Page 486: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canSynchronize()

site.undoCheckOut()

Disponibilité

Dreamweaver 3.0

Description

Retire des sites locaux et distants les fichiers verrouillés associés aux fichiers sélectionnés et remplace leur copie locale par la copie distante.

Arguments

siteorURL

siteorURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Aucune.

Activateur

site.canUndoCheckOut()

site.viewAsRoot()

Disponibilité

Dreamweaver 3.0

Description

Place provisoirement le fichier sélectionné en première position sur la carte du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

site.canViewAsRoot()

Chapitre 26486

Page 487: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions du mode SourceLes fonctions du mode Source incluent les opérations relatives à l'édition du code source du document (et tous les changements résultants sur le mode Création). Les fonctions de cette section permettent d'ajouter des commandes de navigation aux fenêtres d'affichage de code source à l'intérieur d'une fenêtre de document divisée en deux, de l'inspecteur de code et de la fenêtre du débogueur JavaScript.

dom.isDesignViewUpdated()

Disponibilité

Dreamweaver 4.0

Description

Détermine si le contenu des modes Création et Texte est synchronisé pour les opérations Dreamweaver qui requièrent un état de document correct.

Arguments

Aucun.

Valeurs renvoyées

true si le mode Création (WYSIWIG) est synchronisée avec le texte du mode Texte et false dans le cas contraire.

dom.isSelectionValid()

Disponibilité

Dreamweaver 4.0

Description

Détermine si une sélection est valide ou pas ou si elle doit être déplacée avant que l'opération ne soit effectuée.

Arguments

Aucun.

Valeurs renvoyées

true si la sélection en cours contient un segment de code correct. Si le document n'a pas encore été synchronisé, cette fonction renvoie la valeur false (étant donné que la sélection n'a pas été mise à jour).

dom.source.arrowDown()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers le bas du document affiché en mode Source, ligne par ligne. Si le contenu est déjà sélectionné, cette fonction étend la sélection ligne par ligne.

API JavaScript de Dreamweaver 487

Page 488: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de lignes dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.arrowLeft()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers la gauche de la ligne courante dans le mode Source. Si le contenu est déjà sélectionné, cette fonction étend la sélection vers la gauche.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de caractères dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.arrowRight()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers la droite de la ligne en cours du mode Source. Si le contenu est déjà sélectionné, cette fonction étend la sélection vers la droite.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de caractères dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Chapitre 26488

Page 489: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

dom.source.arrowUp()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers le haut du document affiché en mode Source, ligne par ligne. Si le contenu est déjà sélectionné, cette fonction étend la sélection ligne par ligne.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de lignes dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.balanceBracesTextView()

Disponibilité

Dreamweaver 4.0

Description

Extension de la sélection en mode Source qui permet d'équilibrer les parenthèses. Vous pouvez appeler dom.source.balanceBracesTextView() pour étendre la sélection mise en surbrillance ou le point d'insertion du début de l'instruction entre parenthèses jusqu'à la fin de l'instruction afin d'équilibrer les caractères suivants : [], {} et (). Les appels suivants étendent la sélection vers des niveaux supplémentaires de ponctuation imbriquée.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dom.source.endOfDocument()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 489

Page 490: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Place le point d'insertion à la fin du document en cours affiché en mode Source. Si le contenu est déjà sélectionné, cette fonction étend la sélection à la fin du document.

Arguments

bShiftIsDown

Valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.endOfLine()

Disponibilité

Dreamweaver 4.0

Description

Place le point d'insertion à la fin de la ligne courante. Si le contenu est déjà sélectionné, cette fonction étend la sélection jusqu'à la fin de la ligne courante.

Arguments

bShiftIsDown

Valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.endPage()

Disponibilité

Dreamweaver 4.0

Description

Place le point d'insertion à la fin de la page en cours ou à la fin de la page suivante (si le point d'insertion est déjà à la fin d'une page). Si le contenu est déjà sélectionné, cette fonction étend la sélection page par page.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de pages dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

Chapitre 26490

Page 491: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.source.getCurrentLines()

Disponibilité

Dreamweaver 4.0

Description

Renvoie les numéros de ligne des décalages spécifiés à partir du début du document.

Arguments

startOffset, endOffset

• startOffset est un nombre entier représentant la ligne de début du texte.

• endOffset est un nombre entier représentant la ligne de fin du texte.

Valeurs renvoyées

Un tableau de deux chiffres représentant les lignes de début et de fin du texte compris entre (et incluant) startOffset et endOffset. Si startOffset et endOffset ne sont pas corrects, cette fonction renvoie -1.

dom.source.getSelection()

Description

Obtient la sélection en cours, exprimée en décalages de caractères dans le mode Affichage de code du document.

Arguments

Aucun.

Valeurs renvoyées

Une paire de nombres entiers représentant les décalages à partir du début du document source. Le premier nombre entier est le début de la sélection et le second est la fin. Si les deux nombres sont égaux, la sélection est un IP. Si aucun élément n'est sélectionné dans la source, les deux nombres sont -1.

dom.source.getText()

Disponibilité

Dreamweaver 4.0

Description

Renvoie la chaîne de texte de la source comprise entre les décalages définis.

Arguments

start, end

• start est un nombre entier représentant le décalage à partir du début du document.

• end est un nombre entier représentant la fin du document.

API JavaScript de Dreamweaver 491

Page 492: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une chaîne représentant le texte du code source HTML compris entre les décalages start et end.

dom.source.indentTextView()

Disponibilité

Dreamweaver 4.0

Description

Déplace le texte source sélectionné d'une marque de tabulation vers la droite.

Arguments

Aucun

Valeurs renvoyées

Aucune.

dom.source.insert()

Description

Insère la chaîne spécifiée dans le code source HTML au point de décalage défini à partir du début du fichier source. Si le décalage n'est pas supérieur ou égal à zéro, l'insertion échoue et la fonction renvoie la valeur false.

Arguments

offset, string

• offset est le décalage à partir du début du fichier où la chaîne doit être insérée.

• string est la chaîne à insérer.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

dom.source.nextWord()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers le début du mot suivant (ou des mots suivants si spécifié) en mode Source. Si le contenu est déjà sélectionné, cette fonction étend la sélection vers la droite.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de mots dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

Chapitre 26492

Page 493: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.outdentTextView()

Disponibilité

Dreamweaver 4.0

Description

Déplace le texte source sélectionné d'une marque de tabulation vers la gauche.

Arguments

Aucun

Valeurs renvoyées

Aucune.

dom.source.pageDown()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers le bas du document affiché en mode Source, page par page. Si le contenu est déjà sélectionné, cette fonction étend la sélection page par page.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de pages dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.pageUp()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers le haut du document affiché en mode Source, page par page. Si le contenu est déjà sélectionné, cette fonction étend la sélection page par page.

API JavaScript de Dreamweaver 493

Page 494: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de pages dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.previousWord()

Disponibilité

Dreamweaver 4.0

Description

Déplace le point d'insertion vers le début du mot précédent (ou des mots suivants si spécifié) en mode Source. Si le contenu est déjà sélectionné, cette fonction étend la sélection vers la gauche.

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de mots dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.replaceRange()

Disponibilité

Dreamweaver 4.0

Description

Remplace la plage de texte source comprise entre startOffset et endOffset par string. Si startOffset est supérieur à endOffset ou si l'un des décalages n'est pas un nombre entier positif, cette fonction n'a aucun effet et renvoie la valeur false. Si endOffset est supérieur au nombre de caractères du fichier, cette fonction remplace la plage de texte comprise entre startOffset et la fin du fichier. Si startOffset et endOffset sont supérieurs au nombre de caractères du fichier, cette fonction insère le texte à la fin du fichier.

Chapitre 26494

Page 495: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

startOffset, endOffset, string

• startOffset est le décalage indiquant le début du bloc à remplacer.

• endOffset est le décalage indiquant la fin du bloc à remplacer.

• string est la chaîne à insérer.

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

dom.source.scrollEndFile()

Disponibilité

Dreamweaver 4.0

Description

Fait défiler la fenêtre Source vers le bas du document sans déplacer le point d'insertion.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dom.source.scrollLineDown()

Disponibilité

Dreamweaver 4.0

Description

Fait défiler la fenêtre Source vers le bas ligne par ligne sans déplacer le point d'insertion.

Arguments

nTimes

nTimes est le nombre de lignes à faire défiler. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

Valeurs renvoyées

Aucune.

dom.source.scrollLineUp()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 495

Page 496: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Fait défiler la fenêtre Source vers le haut ligne par ligne sans déplacer le point d'insertion.

Arguments

nTimes

nTimes est le nombre de lignes à faire défiler. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

Valeurs renvoyées

Aucune.

dom.source.scrollPageDown()

Disponibilité

Dreamweaver 4.0

Description

Fait défiler la fenêtre Source vers le bas page par page sans déplacer le point d'insertion.

Arguments

nTimes

nTimes est le nombre de pages à faire défiler. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

Valeurs renvoyées

Aucune.

dom.source.scrollPageUp()

Disponibilité

Dreamweaver 4.0

Description

Fait défiler la fenêtre Source vers le haut page par page sans déplacer le point d'insertion.

Arguments

nTimes

nTimes est le nombre de pages à faire défiler. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

Valeurs renvoyées

Aucune.

Chapitre 26496

Page 497: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.source.scrollTopFile()

Disponibilité

Dreamweaver 4.0

Description

Fait défiler la fenêtre Source vers le haut du document sans déplacer le point d'insertion.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dom.source.selectParentTag()

Disponibilité

Dreamweaver 4.0

Description

Extension de la sélection en mode Source qui permet d'équilibrer les balises. Vous pouvez appeler dom.source.selectParentTag() pour étendre la sélection ou le point d'insertion courant de la balise d'ouverture à la balise de fermeture. Les appels suivants étendent la sélection à des balises supplémentaires jusqu'à ce qu'il n'y ait plus de balises de fermeture.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.source.setCurrentLine()

Disponibilité

Dreamweaver 4.0

Description

Place le point d'insertion au début de la ligne indiquée. Si lineNumber n'est pas un nombre entier positif, cette fonction n'a aucun effet et renvoie la valeur false. Place le point d'insertion au début de la dernière ligne si lineNumber est supérieur au nombre de lignes de la source.

Arguments

lineNumber

lineNumber est la ligne au début de laquelle le point d'insertion est placé.

API JavaScript de Dreamweaver 497

Page 498: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

true si l'insertion réussit, false si elle échoue.

dom.source.startOfDocument()

Disponibilité

Dreamweaver 4.0

Description

Place le point d'insertion au début du document affiché en mode Source. Si le contenu est déjà sélectionné, cette fonction étend la sélection au début du document.

Arguments

bShiftIsDown

Valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.startOfLine()

Disponibilité

Dreamweaver 4.0

Description

Place le point d'insertion au début de la ligne courante. Si le contenu est déjà sélectionné, cette fonction étend la sélection au début de la ligne courante.

Arguments

bShiftIsDown

Valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.topPage()

Disponibilité

Dreamweaver 4.0

Description

Place le point d'insertion en haut de la page courante ou de la page précédente (si le point d'insertion est déjà en haut de la page). Si le contenu est déjà sélectionné, cette fonction étend la sélection page par page.

Chapitre 26498

Page 499: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

{nTimes}, {bShiftIsDown}

• nTimes est le nombre de pages dont le point d'insertion se déplace. Si nTimes n'est pas défini, il prend par défaut la valeur 1.

• bShiftIsDown est une valeur booléenne indiquant si le contenu est sélectionné ou pas. Si bShiftIsDown a la valeur true, le contenu est sélectionné.

Valeurs renvoyées

Aucune.

dom.source.wrapSelection()

Disponibilité

Dreamweaver 4.0

Description

Insère le texte de startTag avant la sélection en cours et le texte de endTag après la sélection en cours. La fonction sélectionne ensuite le bloc entier inséré. Si la sélection en cours est un point d'insertion, la fonction place le point d'insertion entre startTag et endTag. startTag et endTag ne doivent pas nécessairement être des balises ; il peut s'agir de tout segment de texte de votre choix.

Arguments

startTag, endTag

• startTag est le texte à insérer au début de la sélection.

• endTag est le texte à insérer à la fin de la sélection.

Valeurs renvoyées

Aucune.

dom.synchronizeDocument()

Disponibilité

Dreamweaver 4.0

Description

Synchronise les modes Source et Création.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 499

Page 500: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions de manipulation de chaînesCes fonctions vous permettent d'obtenir des informations sur une chaîne et de convertir une chaîne Latin1 en code national sur la plate-forme de l'utilisateur et vice versa.

dreamweaver.doURLEncoding()

Disponibilité

Dreamweaver 1.0

Description

Cette fonction prend une chaîne et renvoie une chaîne convertie en URL en remplaçant tous les espaces et caractères spéciaux par les entités spécifiées.

Arguments

stringToConvert

Valeurs renvoyées

Une chaîne convertie en format d'URL.

Activateur

Aucun.

Exemple

Si la valeur de l'URL est "My URL-encoded string" :

var URL = dw.doURLEncoding(theURL.value);renvoie "My%20URL-encoded%20string"

dreamweaver.getTokens()

Disponibilité

Dreamweaver 1.0

Description

Accepte une chaîne et la divise en expressions.

Arguments

searchString, separatorCharacters

• searchString est la chaîne à diviser en expressions.

• separatorCharacters est le ou les caractères indiquant la fin d'une expression. Les séparateurs figurant dans des chaînes entre guillemets sont ignorés. Si separatorCharacters contient un espace, tous les espaces (les tabulations, par exemple) sont traités comme des séparateurs, comme si vous les aviez définis explicitement. Deux espaces consécutifs ou plus sont traités comme un seul séparateur.

Valeurs renvoyées

Tableau d'expressions.

Chapitre 26500

Page 501: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

Exemple

dreamweaver.getTokens('foo("my arg1", 34)', '(),') renvoie les expressions suivantes :

• foo

• "my arg 1"

• 34

dreamweaver.latin1ToNative()

Disponibilité

Dreamweaver 2.0

Description

Convertit une chaîne Latin 1 en code national sur la machine de l'utilisateur. Cette fonction permet d'afficher l'interface utilisateur d'un fichier d'extension dans une autre langue.

Remarque : sous Windows, cette fonction n'a aucun effet car le code Windows repose sur Latin 1.

Arguments

stringToConvert

stringToConvert correspond à la chaîne (déjà traduite) à convertir du code Latin 1 en code national.

Valeurs renvoyées

Chaîne convertie.

Activateur

Aucun.

dreamweaver.nativeToLatin1()

Disponibilité

Dreamweaver 2.0

Description

Convertit une chaîne de code national en code Latin 1.

Remarque : sous Windows, cette fonction n'a aucun effet car le code Windows repose sur Latin 1.

Arguments

stringToConvert

stringToConvert est la chaîne à convertir du code national en code Latin 1.

API JavaScript de Dreamweaver 501

Page 502: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Chaîne convertie.

Activateur

Aucun.

La fonction dreamweaver.scanSourceString() est un utilitaire qui analyse une chaîne et déchiffre l'endroit où les balises, les attributs et les directives HTML sont situés. Voici un exemple d'utilisation de la fonction dreamweaver.scanSourceString() :

1 Créez une implémentation pour une ou plusieurs des sept fonctions de rappel.

2 Ecrivez un script qui appelle la fonction dreamweaver.scanSourceString().

3 Une chaîne contenant le code HTML et les pointeurs des fonctions de rappel que vous avez écrits sont transmis à la fonction dreamweaver.scanSourceString() . Par exemple, supposons que la chaîne HTML soit "<font size=2>bonjour</font>".

4 Dreamweaver analyse la chaîne et détermine si elle contient une balise de police. Dreamweaver appelle ensuite les fonctions de rappel dans l'ordre suivant :

• fonction openTagBegin()

• fonction attribute() (pour l'attribut de taille)

• fonction openTagEnd()

• fonction text() (pour la chaîne « bonjour »)

• fonctions closeTagBegin() et closeTagEnd()

fonctions de rappel dreamweaver.scanSourceString

Comme mentionné plus haut, il existe sept fonctions de rappel appelées par Dreamweaver :

1 Dreamweaver appelle openTagBegin() pour chaque balise d'ouverture (par exemple <font>, et non </font>) et chaque balise vide (par exemple, <img> ou <hr>). La fonction openTagBegin() accepte deux arguments : le nom de la balise (par exemple, font ou img) et le décalage du document, qui est le nombre d'octets contenus dans le document avant le début de la balise. La fonction renvoie la valeur true si l'analyse doit continuer et false si elle doit s'arrêter.

2 Une fois openTagBegin() exécutée, Dreamweaver appelle attribute() pour chaque attribut HTML. La fonction attribute() accepte deux arguments : une chaîne contenant le nom de l'attribut (par exemple, color ou src) et une chaîne contenant la valeur de l'attribut (par exemple #000000 ou foo.gif). La fonction attribute() renvoie une valeur booléenne indiquant si l'analyse doit continuer ou pas.

Chapitre 26502

Page 503: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

3 Une fois que tous les attributs de la balise ont été recherchés, Dreamweaver appelle openTagEnd(). La fonction openTagEnd() accepte un argument : le décalage du document, qui est le nombre d'octets contenus dans le document avant la fin de la balise d'ouverture. Elle renvoie une valeur booléenne indiquant si l'analyse doit continuer ou pas.

4 Dreamweaver appelle closeTagBegin() pour chaque balise de fermeture (par exemple, </font>). Cette fonction accepte deux arguments : le nom de la balise à fermer (par exemple, font) et le décalage du document, qui est le nombre d'octets contenus dans le document avant le début de la balise de fermeture. La fonction attribute() renvoie une valeur booléenne indiquant si l'analyse doit continuer ou pas.

5 Une fois closeTagBegin() terminée, Dreamweaver appelle la fonction closeTagEnd(). La fonction closeTagEnd() accepte un argument : le décalage du document, qui est le nombre d'octets contenus dans le document avant la fin de la balise de fermeture. Elle renvoie une valeur booléenne indiquant si l'analyse doit continuer ou pas.

6 Dreamweaver appelle la fonction directive() pour chaque commentaire HTML, script ASP, script JSP ou script PHP. La fonction directive() accepte deux arguments : une chaîne contenant la directive et le décalage du document, qui est le nombre d'octets contenus dans le document avant la fin de la balise de fermeture. La fonction attribute() renvoie une valeur booléenne indiquant si l'analyse doit continuer ou pas.

7 Dreamweaver appelle la fonction text() pour chaque portion de texte du document, c'est-à-dire tout ce qui n'est pas une balise ni une directive. Les portions de texte incluent le texte qui n'est pas visible pour l'utilisateur, par exemple le texte contenu à l'intérieur d'une balise <title> ou <option>. La fonction text() accepte deux arguments : une chaîne contenant le texte et le décalage du document, qui est le nombre d'octets contenus dans le document avant la fin de la balise de fermeture. La fonction text() renvoie une valeur booléenne indiquant si l'analyse doit continuer ou pas.

dreamweaver.scanSourceString()

Disponibilité

Dreamweaver UltraDev 1.0

Description

Analyse une chaîne de code HTML et recherche les balises, les attributs, les directives et le texte. Pour chaque balise, attribut, directive et texte trouvé, scanSourceString() appelle une fonction de rappel fournie par l'appelant. Dreamweaver prend en charge les fonctions de rappel suivantes : openTagBegin(), openTagEnd(), closeTagBegin(), closeTagEnd(), directive(), attribute() et text().

API JavaScript de Dreamweaver 503

Page 504: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

HTMLstr, parserCallbackObj

• HTMLstr est une chaîne contenant le code HTML.

• parserCallbackObj est un objet JavaScript qui a une ou plusieurs des méthodes suivantes : openTagBegin(), openTagEnd(), closeTagBegin(), closeTagEnd(), directive(), attribute() et text(). Pour de meilleurs résultats, parserCallbackObj doit être une bibliothèque partagée définie à l'aide de l'interface Extension C. Vous obtiendrez également de meilleures performances si la fonction parserCallbackObj définit uniquement les fonctions de rappel dont elle a besoin.

Valeurs renvoyées

Une valeur booléenne indiquant si l'opération a réussi ou pas.

Fonctions de modification des tableauxCes fonctions permettent d'insérer et de supprimer des lignes et des colonnes dans des tableaux, de modifier la largeur des colonnes et la hauteur des lignes, de convertir en pourcentage des mesures exprimées en pixels (et vice versa) et d'effectuer d'autres opérations standard de modification des tableaux.

dom.convertWidthsToPercent()

Disponibilité

Dreamweaver 3.0

Description

Convertit en pourcentage tous les attributs WIDTH exprimés en pixels du tableau en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.convertWidthsToPixels()

Disponibilité

Dreamweaver 4.0

Description

Convertit en pixels tous les attributs WIDTH exprimés en pourcentage du tableau en cours.

Chapitre 26504

Page 505: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.decreaseColspan()

Disponibilité

Dreamweaver 3.0

Description

Diminue l'étendue de colonnes de 1.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canDecreaseColspan()

dom.decreaseRowspan()

Disponibilité

Dreamweaver 3.0

Description

Diminue l'étendue de lignes de 1.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canDecreaseRowspan()

dom.deleteTableColumn()

Disponibilité

Dreamweaver 3.0

Description

Supprime du tableau la ou les colonnes sélectionnées.

API JavaScript de Dreamweaver 505

Page 506: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canDeleteTableColumn()

dom.deleteTableRow()

Disponibilité

Dreamweaver 3.0

Description

Supprime du tableau la ou les lignes sélectionnées.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canDeleteTableRow()

dom.doDeferredTableUpdate()

Disponibilité

Dreamweaver 3.0

Description

Si l'option Modification de tableau plus rapide est activée dans les préférences, catégorie Général, force l'application des modifications apportées à la mise en forme du tableau sans déplacer le point d'insertion à l'extérieur de celui-ci. Cette fonction n'a aucun effet si l'option Modification de tableau plus rapide n'est pas activée.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.getTableExtent()

Disponibilité

Dreamweaver 3.0

Chapitre 26506

Page 507: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient le nombre de colonnes et de lignes du tableau sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Tableau contenant deux nombres entiers. Le premier entier correspond au nombre de colonnes, et le second au nombre de lignes. Si aucun tableau n'était sélectionné, aucune valeur n'est renvoyée.

Activateur

Aucun.

dom.increaseColspan()

Disponibilité

Dreamweaver 3.0

Description

Augmente l'étendue de colonnes de 1.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canIncreaseColspan()

dom.increaseRowspan()

Disponibilité

Dreamweaver 3.0

Description

Augmente l'étendue de lignes de 1.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canIncreaseRowspan()

dom.insertTableColumns()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 507

Page 508: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Insère le nombre de colonnes spécifié dans le tableau en cours.

Arguments

numberOfCols, bBeforeSelection

• numberOfCols est le nombre de colonnes à insérer.

• bBeforeSelection est une valeur booléenne indiquant si les colonnes doivent être insérées avant la colonne contenant la sélection.

Valeurs renvoyées

Aucune.

Activateur

dom.canInsertTableColumns()

dom.insertTableRows()

Disponibilité

Dreamweaver 3.0

Description

Insère le nombre de lignes spécifié dans le tableau en cours.

Arguments

numberOfRows, bBeforeSelection

• numberOfRows est le nombre de lignes à insérer.

• bBeforeSelection est une valeur booléenne indiquant si les lignes doivent être insérées avant la ligne contenant la sélection.

Valeurs renvoyées

Aucune.

Activateur

dom.canInsertTableRows()

dom.mergeTableCells()

Disponibilité

Dreamweaver 3.0

Description

Fusionne les cellules de tableau sélectionnées.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26508

Page 509: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

dom.canMergeTableCells()

dom.removeAllTableHeights()

Disponibilité

Dreamweaver 3.0

Description

Supprime tous les attributs HEIGHT du tableau sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.removeAllTableWidths()

Disponibilité

Dreamweaver 3.0

Description

Supprime tous les attributs WIDTH du tableau sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setTableCellTag()

Disponibilité

Dreamweaver 3.0

Description

Définit la balise de la cellule sélectionnée.

Arguments

tdOrTh

tdOrTh doit être "td" ou "th".

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 509

Page 510: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

dom.setTableColumns()

Disponibilité

Dreamweaver 3.0

Description

Définit le nombre de colonnes du tableau sélectionné.

Arguments

numberOfCols

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setTableRows()

Disponibilité

Dreamweaver 3.0

Description

Définit le nombre de lignes du tableau sélectionné.

Arguments

numberOfRows

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.showInsertTableRowsOrColumnsDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Insérer des lignes ou des colonnes.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26510

Page 511: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

dom.canInsertTableColumns() ou dom.canInsertTableRows()

dom.splitTableCell()

Disponibilité

Dreamweaver 3.0

Description

Fractionne la cellule de tableau en cours en un nombre de lignes ou de colonnes donné. Si vous ne définissez pas l'un des deux arguments, ou les deux, la boîte de dialogue Fractionner la cellule s'affiche.

Arguments

{colsOrRows}, {numberToSplitInto}

• colsOrRows, s'il est défini, doit être "columns" ou "rows".

• numberToSplitInto, s'il est défini, indique en combien de lignes ou de colonnes la cellule doit être fractionnée.

Valeurs renvoyées

Aucune.

Activateur

dom.canSplitTableCell()

Fonctions relatives aux scénariosComme leur nom l'indique, ces fonctions agissent sur les scénarios. Elles permettent d'ajouter des objets, des comportements, des cadres et des images-clés à un scénario, de supprimer ou de modifier les objets d'un scénario, de stipuler si un scénario doit être lu automatiquement ou exécuté en boucle automatiquement, etc. Toutes les fonctions décrites dans cette section sont des méthodes de dreamweaver.timelineInspector car elles agissent sur le contenu du panneau Scénarios.

dreamweaver.timelineInspector.addBehavior()

Disponibilité

Dreamweaver 3.0

Description

Ouvre le panneau Comportements et applique automatiquement l'événement onFrameN approprié (N étant le cadre contenant la tête de lecture) lorsque l'utilisateur choisit une action et clique sur OK.

Arguments

Aucun.

API JavaScript de Dreamweaver 511

Page 512: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.addFrame()

Disponibilité

Dreamweaver 3.0

Description

Ajoute un cadre au scénario en cours, au niveau du cadre contenant la tête de lecture.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canAddFrame()

dreamweaver.timelineInspector.addKeyframe()

Disponibilité

Dreamweaver 3.0

Description

Ajoute une image-clé à la barre d'animation sélectionnée au niveau du cadre contenant la tête de lecture.

Argum ents

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canAddKeyFrame()

dreamweaver.timelineInspector.addObject()

Disponibilité

Dreamweaver 3.0

Description

Ajoute l'objet actuellement sélectionné au scénario.

Arguments

Aucun.

Chapitre 26512

Page 513: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.addTimeline()

Disponibilité

Dreamweaver 3.0

Description

Ajoute un nouveau scénario au document en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.changeObject()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Modifier l'objet.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canChangeObject()

dreamweaver.timelineInspector.getAutoplay()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état de l'option Lecture auto pour le scénario en cours.

Arguments

Aucun.

API JavaScript de Dreamweaver 513

Page 514: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Valeur booléenne indiquant si l'option Lecture auto est activée.

Activateur

Aucun.

dreamweaver.timelineInspector.getCurrentFrame()

Disponibilité

Dreamweaver 3.0

Description

Obtient l’image en cours du scénario en cours.

Arguments

Aucun.

Valeurs renvoyées

Numéro d’image.

Activateur

Aucun.

dreamweaver.timelineInspector.getLoop()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état de l'option Boucle pour le scénario en cours.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si l'option Boucle est activée.

Activateur

Aucun.

dreamweaver.timelineInspector.recordPathOfLayer()

Disponibilité

Dreamweaver 3.0

Description

Enregistre le chemin d'un calque tandis que l'utilisateur fait glisser celui-ci.

Arguments

Aucun.

Chapitre 26514

Page 515: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.removeBehavior()

Disponibilité

Dreamweaver 3.0

Description

Supprime du scénario le comportement sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canRemoveBehavior()

dreamweaver.timelineInspector.removeFrame()

Disponibilité

Dreamweaver 3.0

Description

Supprime du scénario l’image sélectionnée.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canRemoveFrame()

dreamweaver.timelineInspector.removeKeyframe()

Disponibilité

Dreamweaver 3.0

Description

Supprime d'une barre d'animation l'image-clé sélectionnée.

Arguments

Aucun.

API JavaScript de Dreamweaver 515

Page 516: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canRemoveKeyFrame()

dreamweaver.timelineInspector.removeObject()

Disponibilité

Dreamweaver 3.0

Description

Supprime du scénario l'objet actuellement sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dreamweaver.timelineInspector.canRemoveObject()

dreamweaver.timelineInspector.removeTimeline()

Disponibilité

Dreamweaver 3.0

Description

Supprime du document le scénario en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.renameTimeline()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Renommer le scénario pour le scénario en cours.

Arguments

Aucun.

Chapitre 26516

Page 517: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.setAutoplay()

Disponibilité

Dreamweaver 3.0

Description

Définit l'option Lecture auto pour le scénario en cours.

Arguments

bAutoplay

bAutoplay est une valeur booléenne indiquant si l'option Lecture auto doit être activée.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.setCurrentFrame()

Disponibilité

Dreamweaver 3.0

Description

Déplace la tête de lecture vers l’image spécifiée.

Arguments

frameNumber

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.timelineInspector.setLoop()

Disponibilité

Dreamweaver 3.0

Description

Définit l'option Boucle pour le scénario en cours.

API JavaScript de Dreamweaver 517

Page 518: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

bLoop

bLoop est une valeur booléenne indiquant si l'option Boucle doit être activée.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions de basculeCes fonctions permettent d'obtenir et de définir un certain nombre d'options qui peuvent, selon le cas, être activées ou désactivées.

dom.getEditNoFramesContent()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Modifier > Jeu de cadres > Modifier le contenu sans cadres.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le contenu de NOFRAMES est l'affichage actif (true) ou pas (false).

Activateur

Aucun.

dom.getHideAllVisualAids()

Disponibilité

Dreamweaver 4.0

Description

Détermine si des assistances visuelles doivent être masquées ou pas.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne, définie sur true si l'option « Masquer toutes les assistances visuelles » est activée et sur false dans le cas contraire.

Chapitre 26518

Page 519: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

dom.getPreventLayerOverlaps()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Empêcher le chevauchement des calques.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si l'option est activée (true) ou désactivée (false).

Activateur

Aucun.

dom.getShowAutoIndent()

Description

Détermine si le retrait automatique est activé dans le mode Affichage de code de la fenêtre de document.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si Retrait auto est activé.

dom.getShowFrameBorders()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Bordures de cadre.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les bordures de cadre sont visibles (true) ou invisibles (false).

Activateur

Aucun.

API JavaScript de Dreamweaver 519

Page 520: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getShowGrid()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Grille > Afficher.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si la grille est visible (true) ou invisible (false).

Activateur

Aucun.

dom.getShowHeadView()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Contenu de l'en-tête.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le contenu de l'en-tête est visible (true) ou invisible (false).

Activateur

Aucun.

dom.getShowHighlightInvalidHTML()

Disponibilité

Dreamweaver 4.0

Description

Détermine si le code HTML valide est mis en surbrillance ou pas dans le mode Affichage de code de la fenêtre de document.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si du code HTML incorrect est mis en surbrillance.

Chapitre 26520

Page 521: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getShowImageMaps()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Cartes graphiques.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les cartes graphiques sont visibles (true) ou invisibles (false).

Activateur

Aucun.

dom.getShowInvisibleElements()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Eléments invisibles.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les marqueurs d'éléments invisibles sont visibles (true) ou invisibles (false).

Activateur

Aucun.

dom.getShowLayerBorders()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Bordures de calque.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les bordures du calque sont visibles (true) ou invisibles (false).

Activateur

Aucun.

API JavaScript de Dreamweaver 521

Page 522: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getShowLineNumbers()

Disponibilité

Dreamweaver 4.0

Description

Détermine si les numéros de ligne sont affichés dans le mode Affichage de code.

Arguments

Aucun.

Valeurs renvoyées

Renvoie une valeur booléenne indiquant si les numéros de ligne sont affichés (true) ou pas (false).

dom.getShowRulers()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Règles > Afficher.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les règles sont visibles (true) ou invisibles (false).

Activateur

Aucun.

dom.getShowSyntaxColoring()

Disponibilité

Dreamweaver 4.0

Description

Détermine si la coloration de la syntaxe est activée dans le mode Affichage de code de la fenêtre de document.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si la coloration de la syntaxe est activée.

dom.getShowTableBorders()

Disponibilité

Dreamweaver 3.0

Chapitre 26522

Page 523: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient l'état en cours de l'option Affichage > Bordures de tableau.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les bordures de tableau sont visibles (true) ou invisibles (false).

Activateur

Aucun.

dom.getShowToolbar()

Disponibilité

Dreamweaver 4.0

Description

Détermine si la barre d'outils est affichée ou pas.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si la barre d'outils est affichée et false si elle est masquée.

dom.getShowTracingImage()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Tracé de l'image > Afficher.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si l'option est activée (true) ou désactivée (false).

Activateur

Aucun.

dom.getShowWordWrap()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 523

Page 524: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine si la fonction de retour automatique à la ligne est activée dans le mode Affichage de code de la fenêtre de document.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si le retour automatique à la ligne est activé.

dom.getSnapToGrid()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Grille > Aligner sur.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si l'alignement sur la grille est activé (true) ou désactivé (false).

Activateur

Aucun.

dom.setEditNoFramesContent()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Modifier > Jeu de cadres > Modifier le contenu sans cadres.

Arguments

bEditNoFrames

Valeurs renvoyées

Aucune.

Activateur

dom.canEditNoFramesContent()

dom.setHideAllVisualAids()

Disponibilité

Dreamweaver 4.0

Chapitre 26524

Page 525: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Désactive l'affichage de toutes les bordures, cartes graphiques et éléments invisibles, quel que soit leur paramètre individuel dans le menu Affichage.

Arguments

bSet

bSet est une valeur booléenne ; lorsqu'elle est définie sur false, les paramètres précédents sont restaurés.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setPreventLayerOverlaps()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Empêcher le chevauchement des calques.

Arguments

bPreventLayerOverlaps

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowFrameBorders()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Bordures de cadre.

Arguments

bShowFrameBorders

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 525

Page 526: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setShowGrid()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Grille > Afficher.

Arguments

bShowGrid

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowHeadView()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Contenu de l'en-tête.

Arguments

bShowHead

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowHighlightInvalidHTML()

Disponibilité

Dreamweaver 4.0

Description

Active ou désactive la mise en surbrillance du code HTML incorrect dans le mode Affichage de code de la fenêtre de document.

Arguments

bShow

bShow est une valeur booléenne indiquant si la mise en surbrillance du code HTML incorrect doit être visible (true) ou pas (false).

Valeurs renvoyées

Aucune.

Chapitre 26526

Page 527: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setShowImageMaps()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Cartes graphiques.

Arguments

bShowImageMaps

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowInvisibleElements()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Eléments invisibles.

Arguments

bViewInvisibleElements

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowLayerBorders()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Bordures de calque.

Arguments

bShowLayerBorders

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 527

Page 528: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setShowLineNumbers()

Disponibilité

Dreamweaver 4.0

Description

Affiche ou masque les numéros de ligne dans le mode Affichage de code de la fenêtre de document.

Arguments

bShow

bShow est une valeur booléenne indiquant si les numéros de ligne doivent être visibles (true) ou pas (false).

Valeurs renvoyées

Aucune.

dom.setShowRulers()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Règles > Afficher.

Arguments

bShowRulers

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowSyntaxColoring()

Disponibilité

Dreamweaver 4.0

Description

Active ou désactive la coloration de la syntaxe dans le mode Affichage de code de la fenêtre de document.

Arguments

bShow

bShow est une valeur booléenne indiquant si la coloration de la syntaxe doit être visible (true) ou pas (false).

Valeurs renvoyées

Aucune.

Chapitre 26528

Page 529: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setShowTableBorders()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Bordures de tableau.

Arguments

bShowTableBorders

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setShowToolbar()

Disponibilité

Dreamweaver 4.0

Description

Affiche ou masque la barre d'outils.

Arguments

bShow

bShow est une valeur booléenne indiquant si la barre d'outils doit être visible (true) ou pas (false).

Valeurs renvoyées

Aucune.

dom.setShowTracingImage()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Tracé de l'image > Afficher.

Arguments

bShowTracingImage

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 529

Page 530: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setShowWordWrap()

Disponibilité

Dreamweaver 4.0

Description

Active ou désactive le retour automatique à la ligne dans le mode Affichage de code de la fenêtre de document.

Arguments

bShow

bShow est une valeur booléenne indiquant si les numéros de ligne doivent être visibles (true) ou pas (false).

Valeurs renvoyées

Aucune.

dom.setSnapToGrid()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Grille > Aligner sur.

Arguments

bSnapToGrid

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.getHideAllFloaters()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Masquer les panneaux flottants.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si l'option de menu Masquer les panneaux flottants (true) ou Afficher les panneaux flottants (false) est disponible.

Activateur

Aucun.

Chapitre 26530

Page 531: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getShowStatusBar()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Affichage > Barre d'état.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la barre d'état est visible (true) ou invisible (false).

Activateur

Aucun.

dreamweaver.htmlInspector.getShowAutoIndent()

Disponibilité

Dreamweaver 4.0

Description

Détermine si le retrait automatique est activé dans le mode Affichage de code de l'inspecteur de code.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si Retrait auto est activé.

dreamweaver.htmlInspector.getShowHighlightInvalidHTML()

Description

Détermine si le code HTML incorrect est actuellement mis en surbrillance dans le mode Affichage de code de l'inspecteur de code.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si du code HTML incorrect est mis en surbrillance.

dreamweaver.htmlInspector.getShowLineNumbers()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 531

Page 532: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine si les numéros de ligne sont affichés dans le mode Affichage de code de l'inspecteur de code.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si les numéros de ligne sont affichés.

dreamweaver.htmlInspector.getShowSyntaxColoring()

Disponibilité

Dreamweaver 4.0

Description

Détermine si la coloration de la syntaxe est activée dans le mode Affichage de code de l'inspecteur de code.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si la coloration de la syntaxe est activée.

dreamweaver.htmlInspector.getShowWordWrap()

Disponibilité

Dreamweaver 4.0

Description

Détermine si la fonction de retour automatique à la ligne est activée dans le mode Affichage de code de l'inspecteur de code.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si le retour automatique à la ligne est activé.

dreamweaver.htmlInspector.setShowAutoIndent()

Disponibilité

Dreamweaver 4.0

Description

Active ou désactive le retrait automatique dans le mode Affichage de code de l'inspecteur de code.

Chapitre 26532

Page 533: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

bShow

bShow est une valeur booléenne indiquant si la mise en retrait automatique doit être activée (true) ou pas (false).

Valeurs renvoyées

Aucune.

dreamweaver.htmlInspector.setShowHighlightInvalidHTML()

Disponibilité

Dreamweaver 4.0

Description

Active ou désactive la mise en surbrillance du code HTML incorrect dans le mode Affichage de code de l'inspecteur de code.

Arguments

bShow

bShow est une valeur booléenne indiquant si la mise en surbrillance du code HTML incorrect doit être visible (true) ou pas (false).

Valeurs renvoyées

Aucune.

dreamweaver.htmlInspector.setShowLineNumbers()

Disponibilité

Dreamweaver 4.0

Description

Affiche ou masque les numéros de ligne dans le mode Affichage de code de l'inspecteur de code.

Arguments

bShow

bShow est une valeur booléenne indiquant si les numéros de ligne doivent être visibles (true) ou pas (false).

Valeurs renvoyées

Aucune.

dreamweaver.htmlInspector.setShowSyntaxColoring()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 533

Page 534: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Active ou désactive la coloration de la syntaxe dans le mode Affichage de code de l'inspecteur de code.

Arguments

bShow

bShow est une valeur booléenne indiquant si la coloration de la syntaxe doit être visible (true) ou pas (false).

Valeurs renvoyées

Aucune.

dreamweaver.htmlInspector.setShowWordWrap()

Disponibilité

Dreamweaver 4.0

Description

Active ou désactive le retour automatique à la ligne dans le mode Affichage de code de l'inspecteur de code.

Arguments

bShow

bShow est une valeur booléenne indiquant si le retour automatique à la ligne doit être activé (true) ou désactivé (false).

Valeurs renvoyées

Aucune.

dreamweaver.setHideAllFloaters()

Disponibilité

Dreamweaver 3.0

Description

Active l'option Masquer les panneaux flottants (true) ou l'option Afficher les panneaux flottants (false).

Arguments

bShowFloatingPalettes

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26534

Page 535: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.setShowStatusBar()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Affichage > Barre d'état.

Arguments

bShowStatusBar

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.getShowDependents()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Afficher les fichiers dépendants.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les fichiers dépendants sont visibles dans la carte du site (true) ou invisibles (false).

Activateur

Aucun.

site.getShowHiddenFiles()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Afficher les fichiers marqués comme cachés.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les fichiers cachés sont visibles dans la carte du site (true) ou invisibles (false).

Activateur

Aucun.

API JavaScript de Dreamweaver 535

Page 536: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.getShowPageTitles()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Afficher les titres de page.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les titres de page sont visibles dans la carte du site (true) ou invisibles (false).

Activateur

Aucun.

site.getShowToolTips()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'état en cours de l'option Info-bulles.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si les info-bulles sont visibles dans la carte du site (true) ou invisibles (false).

Activateur

Aucun.

site.setShowDependents()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Afficher les fichiers dépendants dans la carte du site.

Arguments

bShowDependentFiles

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26536

Page 537: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.setShowHiddenFiles()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Afficher les fichiers marqués comme cachés dans la carte du site.

Arguments

bShowHiddenFiles

Valeurs renvoyées

Aucune.

Activateur

Aucun.

site.setShowPageTitles()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Afficher les titres de page dans la carte du site.

Arguments

bShowPageTitles

Valeurs renvoyées

Aucune.

Activateur

site.canShowPageTitles()

site.setShowToolTips()

Disponibilité

Dreamweaver 3.0

Description

Active (true) ou désactive (false) l'option Info-bulles.

Arguments

bShowToolTips

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 537

Page 538: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Fonctions relatives à la traduction (conversion) de donnéesCes fonctions permettent d'agir directement sur les traducteurs de données ou sur les résultats de la traduction. Elles permettent d'exécuter ou d'obtenir des informations sur un traducteur, de modifier le contenu d'une région verrouillée et de stipuler que le code traduit doit être utilisé lors de l'obtention et de la définition de décalages de sélection.

dom.runTranslator()

Disponibilité

Dreamweaver 3.0

Description

Exécute le traducteur spécifié sur le document. Cette fonction n'est valide que pour le document actif.

Arguments

translatorName

translatorName est le nom d'un traducteur tel qu'il apparaît dans les préférences de traduction.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.editLockedRegions()

Disponibilité

Dreamweaver 2.0

Description

Selon la valeur de l'argument, autorise ou n'autorise pas la modification des régions verrouillées. Par défaut, les régions verrouillées ne peuvent pas être modifiées. Si vous tentez de modifier une région verrouillée avant de la rendre modifiable, Dreamweaver émet un bip et interdit la modification.

Remarque : la modification de régions verrouillées peut avoir des conséquences inattendues sur les éléments de bibliothèque et les modèles. Il est déconseillé d'utiliser cette fonction en dehors du contexte des traducteurs de données.

Chapitre 26538

Page 539: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

bAllowEdits

bAllowEdits est une valeur booléenne indiquant que les modifications sont autorisées (true) ou interdites (false). Dreamweaver restaure automatiquement l'état par défaut (non modifiable) des régions verrouillées lorsque l'exécution du script qui appelle la fonction prend fin.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.getTranslatorList()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste des traducteurs de données installés.

Arguments

Aucun.

Valeurs renvoyées

Tableau de chaînes, chacune représentant le nom d'un traducteur tel qu'il apparaît dans les préférences de traduction.

Activateur

Aucun.

dreamweaver.useTranslatedSource()

Disponibilité

Dreamweaver 2.0

Description

Indique que les valeurs renvoyées par les fonctions dom.nodeToOffsets() et dom.getSelection() et utilisées par les fonctions dom.offsetsToNode() et dom.setSelection() doivent être décalées dans le code source converti (code HTML contenu dans l'arborescence DOM après exécution d'un traducteur) et non dans le code source non converti.

Remarque : cette fonction ne s'applique qu'aux fichiers d'inspecteur de propriétés.

API JavaScript de Dreamweaver 539

Page 540: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

bUseTranslatedSource

La valeur par défaut de l'argument est false. Lorsque le script appelant la fonction dw.useTranslatedSource() prend fin, Dreamweaver utilise automatiquement le code source non converti pour les appels suivants de dw.getSelection(), dw.setSelection(), dw.nodeToOffsets() et dw.offsetsToNode(), sauf si la fonction dw.useTranslatedSource() est appelée explicitement avec l'argument false avant la fin de l'exécution du script.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions d'environnement de mise en formeLes fonctions d'environnement de mise en forme permettent d'effectuer des opérations relatives aux paramètres d'utilisation d'un document. Elles permettent de modifier la source, la position et l'opacité du tracé de l'image, d'obtenir et de définir l'origine et les unités de mesure de la règle, d'activer et de désactiver la grille et de modifier ses paramètres, de démarrer et d'arrêter l'exécution des plug-ins.

dom.getRulerOrigin()

Disponibilité

Dreamweaver 3.0

Description

Obtient l'origine de la règle.

Arguments

Aucun.

Valeurs renvoyées

Tableau contenant deux nombres entiers. Le premier entier correspond à la coordonnée x de l'origine, et le second à la coordonnée y. Les deux valeurs sont exprimées en pixels.

Activateur

Aucun.

Chapitre 26540

Page 541: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getRulerUnits()

Disponibilité

Dreamweaver 3.0

Description

Obtient les unités de mesure actuelles de la règle.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant l'une des valeurs suivantes :

• "in"

• "cm"

• "px"

Activateur

Aucun.

dom.getTracingImageOpacity()

Disponibilité

Dreamweaver 3.0

Description

Obtient le paramètre d'opacité du tracé de l'image dans le document en cours.

Arguments

Aucun.

Valeurs renvoyées

Valeur comprise entre 0 et 100, ou rien si l'opacité n'est pas définie.

Activateur

dom.hasTracingImage()

dom.loadTracingImage()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Sélectionner source de l'image. Si l'utilisateur sélectionne une image et clique sur OK, la boîte de dialogue Propriétés de la page s'ouvre et le champ Tracé de l'image contient une valeur.

Arguments

Aucun.

API JavaScript de Dreamweaver 541

Page 542: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.playAllPlugins()

Disponibilité

Dreamweaver 3.0

Description

Exécute tous les plug-ins dans le document.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.playPlugin()

Disponibilité

Dreamweaver 3.0

Description

Exécute le plug-in sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.canPlayPlugin()

dom.setRulerOrigin()

Disponibilité

Dreamweaver 3.0

Description

Définit l'origine de la règle.

Chapitre 26542

Page 543: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

xCoordinate, yCoordinate

• xCoordinate est une valeur, exprimée en pixels, sur l'axe horizontal.

• yCoordinate est une valeur, exprimée en pixels, sur l'axe vertical.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setRulerUnits()

Disponibilité

Dreamweaver 3.0

Description

Définit les unités de mesure de la règle.

Argumentsunits

units doit être "px", "in" ou "cm".

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.setTracingImagePosition()

Disponibilité

Dreamweaver 3.0

Description

Déplace le coin supérieur gauche du tracé de l'image vers les coordonnées spécifiées. Si les arguments ne sont pas définis, la boîte de dialogue Ajuster la position du tracé de l'image s'affiche.

Arguments

x, y

Valeurs renvoyées

Aucune.

Activateur

dom.hasTracingImage()

API JavaScript de Dreamweaver 543

Page 544: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.setTracingImageOpacity()

Disponibilité

Dreamweaver 3.0

Description

Définit le pourcentage d'opacité du tracé de l'image.

Arguments

opacityPercentage

opacityPercentage doit être un nombre compris entre 0 et 100.

Valeurs renvoyées

Aucune.

Activateur

dom.hasTracingImage()

Exemple

L'exemple de code suivant règle l'opacité du tracé de l'image sur 30 %.

dw.getDocumentDOM().setTracingOpacity('30');

dom.snapTracingImageToSelection()

Disponibilité

Dreamweaver 3.0

Description

Aligne le coin supérieur gauche du tracé de l'image avec le coin supérieur gauche de la sélection en cours.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

dom.hasTracingImage()

dom.stopAllPlugins()

Disponibilité

Dreamweaver 3.0

Description

Arrête l'exécution de tous les plug-ins en cours dans le document.

Arguments

Aucun.

Chapitre 26544

Page 545: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dom.stopPlugin()

Disponibilité

Dreamweaver 3.0

Description

Arrête l'exécution du plug-in sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est actuellement exécutée avec un plug-in.

Activateur

dom.canStopPlugin()

dreamweaver.arrangeFloatingPalettes()

Disponibilité

Dreamweaver 3.0

Description

Déplace les panneaux flottants visibles vers leur position par défaut.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.showGridSettingsDialog()

Disponibilité

Dreamweaver 3.0

Description

Ouvre la boîte de dialogue Paramètres de la grille.

Arguments

Aucun.

API JavaScript de Dreamweaver 545

Page 546: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Fonctions relatives au mode Mise en formeLes fonctions du mode Mise en forme permettent de modifier les éléments de mise en forme d'un document. Elles s'appliquent aux paramètres de tableau, colonnes et cellules, y compris leur position, propriétés et aspect.

dom.addSpacerToColumn()

Disponibilité

Dreamweaver 4.0

Description

Crée une image d'espacement transparente d'un pixel de hauteur au bas d'une colonne donnée du tableau sélectionné. Cette fonction échoue si la sélection en cours n'est pas un tableau ou si l'opération n'a pas réussi.

Arguments

colNum

colNum est la colonne au bas de laquelle l'image d'espacement est créée.

Valeurs renvoyées

Aucune.

dom.createLayoutCell()

Disponibilité

Dreamweaver 4.0

Description

Crée une cellule de Mise en forme dans le document courant à la position et aux dimensions spécifiées, soit à l'intérieur d'un tableau de Mise en forme existant, soit dans une zone située sous le contenu existant sur la page. Si la cellule est créée dans un tableau de Mise en forme existant, elle ne doit pas chevaucher ni contenir d'autres cellules de Mise en forme ni des tableaux de Mise en forme imbriqués. Si le rectangle n'est pas à l'intérieur d'un tableau de Mise en forme existant, Dreamweaver tente de créer un tableau de Mise en forme devant contenir la nouvelle cellule. Cette fonction ne place pas le document en mode Mise en forme. Elle échoue si la cellule ne peut pas être créée.

Chapitre 26546

Page 547: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

left, top, width, height

• left est la position x de la bordure gauche de la cellule.

• top est la position y de la bordure supérieure de la cellule.

• width est la largeur de la cellule en pixels.

• height est la hauteur de la cellule en pixels.

Valeurs renvoyées

Aucune.

dom.createLayoutTable()

Disponibilité

Dreamweaver 4.0

Description

Crée un tableau de Mise en forme dans le document en cours à la position et aux dimensions spécifiées, soit à l'intérieur d'un tableau de mise en forme existant, soit dans une zone située sous le contenu existant sur la page. Si le tableau est créé dans un tableau de Mise en forme existant, il ne peut pas chevaucher d'autres cellules ou tableaux de Mise en forme mais il peut contenir d'autres cellules ou tableaux de Mise en forme imbriqués. Cette fonction ne place pas le document en mode Mise en forme. Cette fonction échoue si le tableau ne peut pas être créé.

Arguments

left, top, width, height

• left est la position x de la bordure gauche du tableau.

• top est la position y de la bordure supérieure du tableau.

• width est la largeur du tableau en pixels.

• height est la hauteur du tableau en pixels.

Valeurs renvoyées

Aucune.

dom.doesColumnHaveSpacer()

Disponibilité

Dreamweaver 4.0

Description

Détermine si une colonne contient ou pas une image d'espacement générée par Dreamweaver. Cette fonction échoue si la sélection en cours n'est pas un tableau.

API JavaScript de Dreamweaver 547

Page 548: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

colNum

colNum est la colonne à vérifier pour une image d'espacement.

Valeurs renvoyées

Renvoie la valeur true si la colonne définie dans le tableau sélectionné contient une image d'espacement générée par Dreamweaver et false dans le cas contraire.

dom.doesGroupHaveSpacers()

Disponibilité

Dreamweaver 4.0

Description

Détermine si le tableau sélectionné contient ou pas une ligne d'images d'espacement générées par Dreamweaver. Cette fonction échoue si la sélection en cours n'est pas un tableau.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si le tableau contient une ligne d'images d'espacement et false dans le cas contraire.

dom.getClickedHeaderColumn()

Disponibilité

Dreamweaver 4.0

Description

Si l'utilisateur vient de cliquer sur un bouton de menu dans l'en-tête d'un tableau du mode Mise en forme, faisant ainsi apparaître le menu d'en-tête du tableau, cette fonction renvoie l'index de la colonne sur laquelle l'utilisateur a cliqué. Le résultat n'est pas défini si le menu d'en-tête du tableau n'est pas visible.

Arguments

Aucun.

Valeurs renvoyées

Nombre entier représentant l'index de la colonne.

dom.getShowLayoutTableTabs()

Description

Détermine si le document en cours affiche ou pas les tabulations des tableaux de Mise en forme en mode Mise en forme.

Chapitre 26548

Page 549: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si le document en cours affiche les tabulations des tableaux de Mise en forme en mode Mise en forme et false dans le cas contraire.

dom.getShowLayoutView()

Description

Détermine le mode d'affichage du document en cours, Mise en forme ou Standard.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si le document en cours est en mode Mise en forme et false s'il est en mode Standard.

dom.isColumnAutostretch()

Disponibilité

Dreamweaver 4.0

Description

Détermine si une colonne doit être agrandie ou réduite automatiquement selon la taille du document. Cette fonction échoue si la sélection en cours n'est pas un tableau.

Arguments

colNum

colNum est la colonne à redimensionner automatiquement ou dont la largeur est fixée.

Valeurs renvoyées

Renvoie la valeur true si la colonne située à l'index donné du tableau sélectionné doit s'étendre automatiquement et false dans le cas contraire.

dom.makeCellWidthsConsistent()

Disponibilité

Dreamweaver 4.0

Description

Dans le tableau sélectionné, définit la largeur de chaque colonne de code HTML pour qu'elle corresponde à la largeur de rendu de la colonne. Cette fonction échoue si la sélection courante n'est pas un tableau ou si l'opération n'a pas réussi.

API JavaScript de Dreamweaver 549

Page 550: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dom.removeAllSpacers()

Disponibilité

Dreamweaver 4.0

Description

Supprime toutes les images d'espacement générées par Dreamweaver à partir du tableau sélectionné. Cette fonction échoue si la sélection courante n'est pas un tableau ou si l'opération n'a pas réussi.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

dom.removeSpacerFromColumn()

Disponibilité

Dreamweaver 4.0

Description

Supprime l'image d'espacement d'une colonne donnée et supprime la ligne d'espacement s'il n'y a plus d'images d'espacement générées par Dreamweaver. Cette fonction échoue si la sélection courante n'est pas un tableau ou si l'opération n'a pas réussi.

Arguments

colNum

colNum est la colonne dans laquelle l'image d'espacement doit être supprimée.

Valeurs renvoyées

Aucune.

dom.setColumnAutostretch()

Disponibilité

Dreamweaver 4.0

Chapitre 26550

Page 551: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Passe d'une colonne automatiquement dimensionnée à une colonne d'une largeur fixe et vice versa. Si bAutostretch est défini sur true, la colonne située à l'index donné du tableau sélectionné est définie pour s'agrandir automatiquement ; dans le cas contraire, elle est définie sur une largeur fixe qui est celle du rendu en cours. Cette fonction échoue si la sélection en cours n'est pas un tableau ou si l'opération n'a pas réussi.

Arguments

colNum, bAutostretch

• colNum est la colonne à redimensionner automatiquement ou définie sur une largeur fixe.

• bAutostretch indique si la colonne est définie pour être autodimensionnée (true) ou sur une largeur fixe (false).

Valeurs renvoyées

Aucune.

dom.setShowLayoutTableTabs()

Disponibilité

Dreamweaver 4.0

Description

Définit le document en cours pour qu'il affiche les tabulations des tableaux de Mise en forme chaque fois qu'il est en mode Mise en forme. Cette fonction ne place pas le document en mode Mise en forme.

Arguments

bShow

bShow indique si les tabulations des tableaux de Mise en forme doivent s'afficher lorsque le document est en mode Mise en forme. Si bShow a la valeur true, les tabulations sont affichées et s'il a la valeur false, les tabulations sont masquées.

Valeurs renvoyées

Aucune.

dom.setShowLayoutView()

Disponibilité

Dreamweaver 4.0

Description

Met le document en cours en mode Mise en forme si bShow a la valeur true.

API JavaScript de Dreamweaver 551

Page 552: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

bShow

bShow est une valeur booléenne qui fait passer le document du mode Mise en forme au mode Standard et vice versa. Si bShow correspond à « true », le document passe au mode Mise en forme.

Valeurs renvoyées

Aucune.

Fonctions relatives aux fenêtresCes fonctions permettent d'agir sur la fenêtre de document et sur les panneaux flottants. Elles permettent d'afficher et de masquer les panneaux flottants, de déterminer quelle est la partie active de la fenêtre de document et de définir le document actif. Pour les opérations relatives à la fenêtre Site, voir « Fonctions relatives aux sites », page 466.

dom.getFocus()

Disponibilité

Dreamweaver 3.0

Description

Détermine quelle partie du document est actuellement active.

Arguments

Aucun.

Valeurs renvoyées

L'une des chaînes suivantes :

• "head" si la zone HEAD est active ;

• "body" si la zone BODY ou NOFRAMES est active ;

• "frameset" si un jeu de cadres ou l'un quelconque des cadres qui le composent est sélectionné ;

• "none" si la zone active n'est pas dans le document (si elle se trouve dans l'inspecteur de propriétés, par exemple, ou dans un autre panneau flottant).

Activateur

Aucun.

dom.getView()

Disponibilité

Dreamweaver 4.0

Chapitre 26552

Page 553: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine quel mode est visible.

Arguments

Aucun.

Valeurs renvoyées

"design", "code", ou "split", selon le mode d'affichage visible.

dom.getWindowTitle()

Disponibilité

Dreamweaver 3.0

Description

Obtient le titre de la fenêtre contenant le document.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le texte qui apparaît entre les balises TITLE du document, ou rien si le document ne figure pas dans une fenêtre ouverte.

Activateur

Aucun.

dom.setView()

Disponibilité

Dreamweaver 4.0

Description

Affiche ou masque le mode Création ou le mode Affichage de code pour produire un affichage contenant uniquement le mode Création ou Affichage de code ou les deux.

Arguments

viewString

viewString est le mode à afficher ; il doit être l'une des valeurs suivantes : design", "code" ou "split".

Valeurs renvoyées

Aucune.

dreamweaver.getActiveWindow()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 553

Page 554: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Obtient le document figurant dans la fenêtre active.

Arguments

Aucun.

Valeurs renvoyées

Objet document correspondant au document qui figure dans la fenêtre active, ou, si le document figure dans un cadre, objet document correspondant au jeu de cadres.

Activateur

Aucun.

dreamweaver.getDocumentList()

Disponibilité

Dreamweaver 3.0

Description

Obtient la liste de tous les documents ouverts.

Arguments

Aucun.

Valeurs renvoyées

Tableau d'objets document, chacun correspondant à une fenêtre de document ouverte. Si une fenêtre de document contient un jeu de cadres, l'objet document désigne le jeu de cadres et non le contenu des cadres.

Activateur

Aucun.

dreamweaver.getFloaterVisibility()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si le panneau ou l'inspecteur spécifié est visible.

Chapitre 26554

Page 555: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

ArgumentsfloaterName

floaterName est le nom du panneau flottant. Les panneaux intégrés doivent être référencés à l'aide de l'une des chaînes suivantes : "objects", "properties", "launcher", "site files", "site map", "library", "css styles", "html styles", "behaviors", "timelines", "html", "layers", "frames", "templates", "history", "data bindings" ou "server behaviors". Si floaterName ne correspond pas au nom d'un panneau intégré, Dreamweaver recherche dans le dossier Configuration/Floaters un fichier nommé floaterName.htm.

Valeurs renvoyées

true si le panneau flottant est visible et se trouve au premier plan, false si ce n'est pas le cas ou que Dreamweaver ne trouve pas de panneau flottant nommé floaterName.

Activateur

Aucun.

dreamweaver.getFocus()

Disponibilité

Dreamweaver 4.0

Description

Détermine quelle partie de l'application est actuellement active.

ArgumentsbAllowFloaters

Valeurs renvoyées

L'une des chaînes suivantes :

• "document" si la fenêtre de document est active.

• "site" si la fenêtre Site est active.

• "textView" si le mode Texte est actif.

• "html" si l'inspecteur de code est actif.

• floaterName si bAllowFloaters est true et qu'un panneau flottant est actif, floaterName correspondant à "objects", "properties", "launcher", "library", "css styles", "html styles", "behaviors", "timelines", "layers", "frames", "templates" ou "history".

• (Macintosh) "none" si ni la fenêtre Site, ni une fenêtre de document n'est ouverte.

Activateur

Aucun.

API JavaScript de Dreamweaver 555

Page 556: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getPrimaryView()

Disponibilité

Dreamweaver 4.0

Description

Détermine le mode d'affichage défini comme fenêtre principale (placé au-dessus).

Arguments

Aucun.

Valeurs renvoyées

"design" ou "code", selon le mode qui est visible ou le volet situé sur le dessus dans un affichage à deux volets.

dreamweaver.getSnapDistance()

Disponibilité

Dreamweaver 4.0

Description

Renvoie la distance d'alignement en pixels.

Arguments

Aucun.

Valeurs renvoyées

Un nombre entier représentant la distance d'alignement en pixels. La distance par défaut est 10 pixels ; 0 indique que la fonction d'alignement est désactivée.

dreamweaver.minimizeRestoreAll()

Disponibilité

Dreamweaver 4.0

Description

Réduit en icône ou restaure toutes les fenêtres dans Dreamweaver.

Arguments

bMinimize

bMinimize est une valeur booléenne. true indique que les fenêtres doivent être réduites en icônes et false qu'elles doivent être restaurées.

Valeurs renvoyées

Aucune.

dreamweaver.setActiveWindow()

Disponibilité

Dreamweaver 3.0

Chapitre 26556

Page 557: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Active la fenêtre contenant le document spécifié.

Arguments

documentObject, {bActivateFrame}

• documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

• bActivateFrame, applicable uniquement si documentObject se trouve à l'intérieur d'un jeu de cadres, est une valeur booléenne indiquant s'il faut activer non seulement la fenêtre contenant le jeu de cadres, mais également le cadre contenant le document.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.setFloaterVisibility()

Disponibilité

Dreamweaver 3.0

Description

Indique s'il faut rendre visible un panneau flottant ou un inspecteur spécifique.

Arguments

floaterName, bIsVisible

• floaterName est le nom du panneau flottant. Les panneaux intégrés doivent être référencés à l'aide de l'une des chaînes suivantes : "objects", "properties", "launcher", "site files", "site map", "library", "css styles", "html styles", "behaviors", "timelines", "html", "layers", "frames", "templates", "history", "data bindings" ou "server behaviors". Si floaterName ne correspond pas au nom d'un panneau intégré, Dreamweaver recherche dans le dossier Configuration/Floaters un fichier nommé floaterName.htm. Si Dreamweaver ne trouve aucun fichier ayant le nom floaterName, cette fonction n'a aucun effet.

• bIsVisible est une valeur booléenne indiquant si le panneau flottant doit être visible.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

API JavaScript de Dreamweaver 557

Page 558: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.setPrimaryView()

Disponibilité

Dreamweaver 4.0

Description

Affiche la fenêtre spécifiée au-dessus de la fenêtre de document.

Arguments

viewString

viewString est la fenêtre devant se placer au-dessus de la fenêtre de document ; cet argument peut être l'une des valeurs suivantes : "design" ou "code".

Valeurs renvoyées

Aucune.

dreamweaver.setSnapDistance()

Disponibilité

Dreamweaver 4.0

Description

Définit la distance d'alignement en pixels (0 pour la désactiver ; 10 pixels par défaut)

Arguments

snapDistance

snapDistance est un nombre entier représentant la distance d'alignement en pixels. La valeur par défaut est 10 pixels. Définissez 0 pour désactiver la fonction d'alignement.

Valeurs renvoyées

Aucune.

dreamweaver.showProperties()

Disponibilité

Dreamweaver 3.0

Description

Rend l'inspecteur de propriétés visible et l'active.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

Chapitre 26558

Page 559: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.toggleFloater()

Disponibilité

Dreamweaver 3.0

Description

Affiche, masque ou place au premier plan le panneau ou l'inspecteur spécifié.

Remarque : cette fonction n'a de sens que dans le fichier menus.xml. Pour afficher, placer au premier plan ou masquer un panneau flottant, utilisez la fonction dw.setFloaterVisibility().

Arguments

floaterName

floaterName est le nom de la fenêtre. Si le nom de la fenêtre flottante est reference, l'état de visibilité du panneau Référence peut être mis à jour par l'utilisateur dans le mode Affichage de code. Tous les autres panneaux effectuent toujours un suivi de la sélection, mais le panneau Référence n'analyse la sélection dans le mode Affichage de code que lorsque l'utilisateur appelle un suivi.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.updateReference()

Disponibilité

Dreamweaver 4.0

Description

Met à jour le panneau flottant Référence. Si le panneau Référence n'est pas visible, il est affiché puis mis à jour.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Fonctions déconseilléesCes fonctions existent toujours, mais des fonctions plus récentes les ont remplacées dans la présente version de Dreamweaver. Nous vous recommandons d'utiliser ces dernières, car il est possible que les anciennes fonctions soient supprimées des futures versions de Dreamweaver.

API JavaScript de Dreamweaver 559

Page 560: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getBehaviorEvent()

Disponibilité

Dreamweaver 1.2, déconseillée dans la version 2.0 car les actions sont désormais choisies avant les événements.

Description

Dans un fichier d'action de comportement, obtient l'événement qui déclenche l'action.

Arguments

Aucun.

Valeurs renvoyées

Chaîne représentant l'événement. Il s'agit de la chaîne transmise à la fonction canAcceptBehavior() sous la forme d'un argument (event).

Exemple

Dans l'exemple suivant, la fonction getBehaviorEvent() provient de la fonction initializeUI() du fichier d'action Drag Layer (Faire glisser le calque). Le rôle du segment de code suivant est similaire à celui de canAcceptBehavior(), c'est-à-dire qu'il vérifie si l'événement sélectionné est adapté à l'action sélectionnée. Ce type de construction est plus utile que canAcceptBehavior(), car il vous permet d'indiquer à l'utilisateur quels sont les événements permettant d'appeler l'action sélectionnée. canAcceptBehavior() rend l'action indisponible dans le menu déroulant des actions uniquement si l'utilisateur choisit un événement inadapté.

theEvent = dreamweaver.getBehaviorEvent().toLowerCase();CANBEAPPLIED = (theEvent != "onmousedown" && theEvent != ¬"onmousemove");if (CANBEAPPLIED) {

[display the Drag Layer UI]} else{

[display a helpful message that tells the user which events ¬are appropriate for the Drag Layer action.]

}

dreamweaver.getObjectRefs()

Disponibilité

Dreamweaver 1.0

Description

Recherche, dans les documents indiqués, les occurrences des balises spécifiées (ou, si aucune balise n'est spécifiée, toutes les balises du document) et fournit des références aux balises en fonction du navigateur. Cette fonction revient à appeler la fonction getElementsByTagName(), puis la fonction dreamweaver.getElementRef() pour chaque balise de la nodelist.

Chapitre 26560

Page 561: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

NSorIE, sourceDoc, {tag1}, {tag2},...{tagN}

• NSorIE doit être "NS 4.0" ou "IE 4.0". En effet, le DOM et les règles relatives aux références imbriquées diffèrent dans Navigator 4.0 et Internet Explorer 4.0. Cet argument permet d'indiquer à quel navigateur doit correspondre la référence renvoyée.

• sourceDoc doit être "document", "parent", "parent.frames[number]", "parent.frames['frameName']" ou une URL. document désigne le document actif contenant la sélection en cours. parent désigne le jeu de cadres parent (si le document sélectionné se trouve dans un cadre) et parent.frames[number] et parent.frames['frameName'] désignent un document figurant dans un cadre spécifique du jeu de cadres contenant le document en cours. Si l'argument est une URL relative, celle-ci est relative au fichier d'extension.

• Le troisième argument et les arguments suivants, s'ils sont définis, correspondent aux noms de balises (par exemple "IMG", "FORM", "HR").

Valeurs renvoyées

Tableau de chaînes, chacune représentant une référence JavaScript valide à une occurrence nommée du type de balise demandé dans le document spécifié (par exemple "document.myLayer.document.myImage") pour le navigateur spécifié.

• Dreamweaver renvoie des références Internet Explorer correctes pour les balises suivantes : A, AREA, APPLET, EMBED, DIV, SPAN, INPUT, SELECT, OPTION, TEXTAREA, OBJECT et IMG.

• Dreamweaver renvoie des références Navigator correctes pour les balises suivantes : A, AREA, APPLET, EMBED, LAYER, ILAYER, SELECT, OPTION, TEXTAREA, OBJECT et IMG et pour les balises DIV et SPAN à positionnement absolu. Pour les balises DIV et SPAN dont le positionnement n'est pas absolu, Dreamweaver renvoie "cannot reference <tag>".

• Dreamweaver ne renvoie pas de références pour les objets non nommés. Si un objet ne contient pas d'attribut NAME ou ID, Dreamweaver renvoie "unnamed <tag>". Si le navigateur ne prend pas en charge une référence par nom, Dreamweaver fait référence à l'objet à l'aide de son index (par exemple document.myform.applets[3]).

• Dreamweaver ne renvoie pas de références pour les objets nommés figurant dans des formulaires ou des calques non nommés (par exemple document.forms[2].myCheckbox).

Lorsque la même liste d'arguments est transmise à la fonction getObjectTags(), les deux fonctions renvoient des tableaux de même longueur et de contenus identiques.

API JavaScript de Dreamweaver 561

Page 562: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Selon le contenu du document actif, dreamweaver.getObjectRefs("NS 4.0", "document", "IMG") pourrait renvoyer un tableau contenant les éléments suivants :

• "document.bullet"

• "document.layers['headerLayer'].document.header"

• "document.photoLayer.document.headshot"

dreamweaver.getObjectTags()

Disponibilité

Dreamweaver 1.0

Description

Recherche, dans le document indiqué, les occurrences des balises spécifiées ou, si aucune balise n'est spécifiée, toutes les balises du document. Cette fonction revient à appeler la fonction getElementsByTagName(), puis la fonction outerHTML() pour chaque balise de la nodelist.

Arguments

sourceDoc, {tag1}, {tag2},...{tagN}

• sourceDoc doit être "document", "parent", "parent.frames[number]", "parent.frames['frameName']" ou une URL. document désigne le document actif contenant la sélection en cours. parent désigne le jeu de cadres parent (si le document sélectionné se trouve dans un cadre) et parent.frames[number] et parent.frames['frameName'] désignent un document figurant dans un cadre spécifique du jeu de cadres contenant le document en cours. Si l'argument est une URL relative, celle-ci est relative au fichier d'extension.

• Le second argument et les arguments suivants, s'il en existe, correspondent aux noms de balises (par exemple "IMG", "FORM", "HR").

Valeurs renvoyées

Tableau de chaînes, chacune correspondant au code source HTML d'une occurrence du type de balise demandé dans le document spécifié.

• Si l'un des arguments de tag est LAYER, la fonction renvoie toutes les balises LAYER et ILAYER et toutes les balises DIV et SPAN à positionnement absolu.

• Si l'un des arguments de tag est INPUT, la fonction renvoie tous les éléments du formulaire. Pour obtenir un type d'élément particulier du formulaire, définissez INPUT/TYPE, TYPE correspondant à button, text, radio, checkbox, password, textarea, select, hidden, reset ou submit.

Lorsque la même liste d'arguments est transmise à la fonction getObjectRefs(), les deux fonctions renvoient des tableaux de même longueur.

Chapitre 26562

Page 563: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Exemple

Selon le contenu du document actif, dreamweaver.getObjectTags("document", "IMG") pourrait renvoyer un tableau contenant les éléments suivants :

• '<IMG SRC="/images/dot.gif" WIDTH="10" HEIGHT="10" NAME="bullet">'

• '<IMG SRC="header.gif" WIDTH="400" HEIGHT="32" NAME="header">'

• '<IMG SRC="971208_nj.jpg" WIDTH="119" HEIGHT="119" NAME="headshot">'

dreamweaver.getSelection()

Disponibilité

Dreamweaver 2.0, déconseillée dans la version 3.0 ; utiliser à la place dom.getSelection().

Description

Obtient la sélection en cours, exprimée en décalages d'octets dans le code source HTML du document.

Arguments

Aucun.

Valeurs renvoyées

Tableau contenant deux nombres entiers. Le premier entier correspond au décalage d'octets au début de la sélection, le second au décalage d'octets à la fin de la sélection. Si les deux valeurs sont identiques, la sélection en cours correspond à un point d'insertion.

dreamweaver.libraryPalette.deleteSelectedItem()

Disponibilité

Dreamweaver 3.0, déconseillée dans Dreamweaver 4.0 ; utiliser à la place dw.assetPalette.setSelectedCategory(“library”), puis appeler dw.assetPalette.removeFromFavorites.

Description

Supprime l'élément de bibliothèque sélectionné du panneau Bibliothèque et supprime le fichier LBI qui lui est associé du dossier Library à la racine du site en cours. Il peut rester des occurrences de l'élément supprimé sur certaines pages du site.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

API JavaScript de Dreamweaver 563

Page 564: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

dreamweaver.libraryPalette.getSelectedItem()

Disponibilité

Dreamweaver 3.0, déconseillée dans la version 4.0 ; utiliser à la place dw.assetPalette.getSelectedItems().

Description

Obtient le chemin de l'élément de bibliothèque sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le nom de l'élément de bibliothèque, exprimé sous la forme d'une URL de type file://.

Activateur

Aucun.

dreamweaver.libraryPalette.newFromDocument()

Disponibilité

Dreamweaver 3.0, déconseillée dans Dreamweaver 4.0 ; utiliser à la place dw.assetPalette.setSelectedCategory("library"), puis appeler dw.assetPalette.newAsset().

Description

Crée un nouvel élément de bibliothèque basé sur l'élément sélectionné dans le document en cours.

Arguments

bReplaceCurrent

bReplaceCurrent est une valeur booléenne indiquant si la sélection doit être remplacée par une occurrence du nouvel élément de bibliothèque créé.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.libraryPalette.recreateFromDocument()

Disponibilité

Dreamweaver 3.0, déconseillée dans Dreamweaver 4.0 ; utiliser à la place dw.assetPalette.recreateLibraryFromDocument().

Chapitre 26564

Page 565: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Crée dans le document en cours un fichier LBI correspondant à l'occurrence sélectionnée d'un élément de bibliothèque. Revient à cliquer sur Créer à nouveau dans l'inspecteur de propriétés.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.libraryPalette.renameSelectedItem()

Disponibilité

Dreamweaver 3.0, déconseillée dans Dreamweaver 4.0 ; utiliser à la place dw.assetPalette.setSelectedCategory("library"), puis appeler dw.assetPalette.renameNickname().

Description

Transforme le nom de l'élément de bibliothèque sélectionné en champ modifiable et permet à l'utilisateur de renommer la sélection.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.nodeToOffsets()

Disponibilité

Dreamweaver 2.0, déconseillée dans la version 3.0 ; utiliser à la place dom.nodeToOffsets().

Description

Obtient la position d'un nœud de l'arborescence DOM, exprimée en décalages d'octets dans le code source HTML du document.

Arguments

node

node doit être une balise, un commentaire ou un texte correspondant à un nœud de l'arborescence renvoyée par la fonction dreamweaver.getDocumentDOM().

API JavaScript de Dreamweaver 565

Page 566: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Tableau contenant deux nombres entiers. Le premier correspond au décalage d'octets au début de la balise, du texte ou du commentaire, le second au décalage d'octets à la fin du nœud.

Exemple

L'exemple de code suivant sélectionne le premier objet image du document en cours :

var theDOM = dreamweaver.getDocumentDOM("document");var theImg = theDOM.images[0];var offsets = dom.nodeToOffsets(theImg);dom.setSelection(offsets[0], offsets[1]);

dreamweaver.templatePalette.getSelectedTemplate()

Disponibilité

Dreamweaver 3.0, déconseillée dans la version 4.0 ; utiliser à la place dw.assetPalette.getSelectedItems().

Description

Obtient le chemin du modèle sélectionné.

Arguments

Aucun.

Valeurs renvoyées

Chaîne contenant le chemin du modèle, exprimé sous la forme d'une URL de type file://.

Activateur

Aucun.

dreamweaver.offsetsToNode()

Disponibilité

Dreamweaver 2.0, déconseillée dans la version 3.0 ; utiliser à la place dom.offsetsToNode().

Description

Obtient l'objet de l'arborescence DOM contenant la série de caractères située entre le début et la fin définis.

Arguments

offsetBegin, offsetEnd

Les arguments correspondent respectivement au début et à la fin d'une série de caractères, exprimés en décalages d'octets dans le code source HTML du document.

Chapitre 26566

Page 567: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Objet balise, texte ou commentaire contenant la série de caractères spécifiée.

Exemple

Le code suivant affiche une alerte si la sélection est une image.

var offsets = dreamweaver.getSelection();var theSelection = dreamweaver.offsetsToNode(offsets[0], ¬offsets[1]);if (theSelection.nodeType == Node.ELEMENT_NODE && ¬theSelection.tagName == 'IMG'){

alert('The current selection is an image.');}

dreamweaver.popupCommand()

Disponibilité

Dreamweaver 2.0, déconseillée dans la version 3.0 ; utiliser à la place dreamweaver.runCommand().

Description

Exécute la commande spécifiée. Pour l'utilisateur, cela revient à choisir la commande dans un menu ; si une boîte de dialogue est associée à la commande, elle s'affiche. Cette fonction permet d'appeler une commande à partir d'un autre fichier d'extension. L'utilisateur ne peut effectuer aucune autre modification tant qu'il n'a pas fermé la boîte de dialogue.

Remarque : cette fonction ne peut être appelée qu'à partir de la fonction objectTag() ou d'un script de fichier de commande ou d'inspecteur de propriétés.

Arguments

commandFile

commandFile correspond au nom d'un fichier de commande du dossier Configuration/Commands ("Format Table.htm", par exemple).

Valeurs renvoyées

Aucune.

dreamweaver.setSelection()

Disponibilité

Dreamweaver 2.0, déconseillée dans la version 3.0 ; utiliser à la place dom.setSelection().

Description

Définit la sélection dans le document en cours. Cette fonction ne peut déplacer la sélection qu'à l'intérieur du document en cours. Elle ne peut pas rendre un autre document actif.

API JavaScript de Dreamweaver 567

Page 568: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

offsetBegin, offsetEnd

Les arguments correspondent respectivement au début et à la fin de la nouvelle sélection, exprimés en décalages d'octets dans le code source HTML du document. Si les deux valeurs sont identiques, la nouvelle sélection correspond à un point d'insertion. Si la nouvelle sélection n'est pas une sélection HTML valide, elle inclut les caractères de la première sélection HTML valide. Par exemple, si offsetBegin et offsetEnd définissent SRC="myImage.gif" comme sélection dans <IMG SRC="myImage.gif">, la sélection est étendue pour inclure également la balise IMG.

Valeurs renvoyées

Aucune.

dreamweaver.templatePalette.deleteSelectedTemplate()

Disponibilité

Dreamweaver 3.0, déconseillée dans Dreamweaver 4.0 ; utiliser à la place dw.assetPalette.setSelectedCategory("templates"), puis appeler dw.assetPalette.removeFromFavorites().

Description

Supprime le modèle sélectionné du dossier des modèles.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Activateur

Aucun.

dreamweaver.templatePalette.renameSelectedTemplate()

Disponibilité

Dreamweaver 3.0, déconseillée dans Dreamweaver 4.0 ; utiliser à la place dw.assetPalette.setSelectedCategory("templates"), puis appeler dw.assetPalette.renameNickname().

Description

Transforme le nom du modèle sélectionné en champ modifiable et permet à l'utilisateur de renommer la sélection.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26568

Page 569: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Activateur

Aucun.

ActivateursLes activateurs sont des fonctions qui déterminent si les éléments de menu doivent être activés ou pas, selon que Dreamweaver peut effectuer ou non l'opération correspondante dans le contexte en cours. Les circonstances générales dans lesquelles chaque fonction renvoie la valeur true sont décrites dans la spécification de fonction correspondante. Toutefois, ces descriptions ne prétendent pas être exhaustives et ne couvrent pas nécessairement tous les cas où la fonction renverrait la valeur false.

dom.canAlign()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Aligner à gauche, Aligner à droite, Aligner en haut ou Aligner en bas.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si deux calques ou zones réactives, ou plus, sont sélectionnés.

dom.canApplyTemplate()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Appliquer à la page. Cette fonction n'est valide que pour le document actif.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document n'est pas un élément de bibliothèque ni un modèle, et si la sélection n'est pas comprise entre les balises NOFRAMES.

dom.canArrange()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 569

Page 570: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Vérifie si Dreamweaver peut effectuer une opération Mettre au premier plan ou Mettre en arrière-plan.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si une zone réactive est sélectionnée.

dom.canClipCopyText()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Copier comme texte.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est une plage (par opposition à un point d'insertion).

dom.canClipPaste()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Coller.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le Presse-papiers contient un élément pouvant être collé dans Dreamweaver.

dom.canClipPasteText()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Coller comme texte.

Arguments

Aucun.

Chapitre 26570

Page 571: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une valeur booléenne indiquant si le Presse-papiers contient un élément pouvant être collé dans Dreamweaver comme texte.

dom.canConvertLayersToTable()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Convertir les calques en tableau.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si tout le contenu de la section BODY du document figure dans des calques.

dom.canConvertTablesToLayers()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Convertir les tableaux en calques.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si tout le contenu de la section BODY du document figure dans des tableaux, et si le document n'est pas basé sur un modèle.

dom.canDecreaseColspan()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Réduire l'étendue de colonnes.

Arguments

Aucun.

API JavaScript de Dreamweaver 571

Page 572: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Valeur booléenne indiquant si la cellule en cours possède un attribut COLSPAN et si la valeur de cet attribut est supérieure ou égale à 2.

dom.canDecreaseRowspan()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Réduire l'étendue de lignes.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la cellule en cours possède un attribut ROWSPAN et si la valeur de cet attribut est supérieure ou égale à 2.

dom.canDeleteTableColumn()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer la colonne.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le point d'insertion se trouve dans une cellule ou si une cellule ou une colonne est sélectionnée.

dom.canDeleteTableRow()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer la ligne.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le point d'insertion se trouve dans une cellule ou si une cellule ou une ligne est sélectionnée.

Chapitre 26572

Page 573: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.canEditNoFramesContent()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Modifier le contenu sans cadres.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document en cours est un jeu de cadres ou s'il figure dans un jeu de cadres.

dom.canIncreaseColspan()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Augmenter l'étendue de colonnes.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe des cellules à droite de la cellule en cours.

dom.canIncreaseRowspan()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Augmenter l'étendue de lignes.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe des cellules au dessous de la cellule en cours.

dom.canInsertTableColumns()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 573

Page 574: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine si Dreamweaver peut effectuer une opération Insérer une colonne.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection se trouve dans un tableau. Si la sélection consiste en un tableau entier, cette fonction renvoie la valeur false.

dom.canInsertTableRows()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Insérer une ligne.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection se trouve dans un tableau. Si la sélection consiste en un tableau entier, cette fonction renvoie la valeur false.

dom.canMakeNewEditableRegion()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Nouvelle région modifiable.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document en cours est un fichier de modèle (.dwt).

dom.canMarkSelectionAsEditable()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Marquer la sélection comme modifiable.

Chapitre 26574

Page 575: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe une sélection et si le document en cours est un fichier de modèle (.dwt).

dom.canMergeTableCells()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Fusionner les cellules.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est un groupement rectangulaire de cellules de tableaux.

dom.canPlayPlugin()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Exécuter. Cette fonction n'est valide que pour le document actif.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection peut être exécutée avec un plug-in.

dom.canRedo()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Rétablir.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il reste des opérations à rétablir.

API JavaScript de Dreamweaver 575

Page 576: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.canRemoveEditableRegion()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Rendre la région non modifiable.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document en cours est un modèle.

dom.canSelectTable()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Sélectionner le tableau.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection ou le point d'insertion se trouve dans un tableau.

dom.canSetLinkHref()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut modifier le lien qui entoure la sélection en cours ou en créer un si nécessaire.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est une image, un texte ou un point d'insertion à l'intérieur d'un lien. Une sélection de texte se définit comme une sélection pour laquelle l'inspecteur de propriétés de texte s'ouvrirait.

dom.canShowListPropertiesDialog()

Disponibilité

Dreamweaver 3.0

Chapitre 26576

Page 577: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine si Dreamweaver peut afficher la boîte de dialogue Propriétés de la liste.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est comprise entre des balises LI.

Activateur

Aucun.

dom.canSplitFrame()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Fractionner le cadre [à gauche | à droite | vers le haut | vers le bas]

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection se trouve dans un cadre.

dom.canSplitTableCell()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Fractionner la cellule.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le point d'insertion se trouve dans un tableau ou si la sélection est une cellule de tableau.

dom.canStopPlugin()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Arrêter.

Arguments

Aucun.

API JavaScript de Dreamweaver 577

Page 578: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est actuellement exécutée avec un plug-in.

dom.canUndo()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Annuler.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il reste des opérations à annuler.

dom.hasTracingImage()

Disponibilité

Dreamweaver 3.0

Description

Détermine si le document possède un tracé d'image.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le document possède un tracé d'image.

dreamweaver.assetPalette.canEdit()

Disponibilité

Dreamweaver 4.0

Description

Active les options de menu du panneau Actifs pour permettre leur modification.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur true si l'actif peut être modifié et false dans le cas contraire. Renvoie la valeur false pour les couleurs et les URL de la liste des sites et renvoie false pour une sélection de plusieurs couleurs et URL dans la liste des favoris.

Chapitre 26578

Page 579: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.assetPalette.canInsertOrApply()

Disponibilité

Dreamweaver 4.0

Description

Détermine si les options sélectionnées peuvent être insérées ou appliquées. Renvoie true ou false pour que l'insertion ou l'application des options de menu puissent être activées ou désactivées.

Arguments

Aucun.

Valeurs renvoyées

Renvoie la valeur false si la page en cours est un modèle et que la catégorie en cours est « Templates », si aucun document n'est ouvert ou si un élément de bibliothèque est sélectionné dans le document et que la catégorie en cours est « Library ». Renvoie la valeur true dans tous les autres cas.

dreamweaver.canClipCopy()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Copier.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe un élément sélectionné pouvant être copié dans le Presse-papiers.

dreamweaver.canClipCut()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Couper.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe un élément sélectionné pouvant être coupé et placé dans le Presse-papiers.

API JavaScript de Dreamweaver 579

Page 580: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.canClipPaste()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Coller.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le contenu du Presse-papiers, le cas échéant, peut être collé dans le document en cours, dans le volet actif de la fenêtre Site ou, sur Macintosh, dans un champ modifiable d'un panneau flottant ou d'une boîte de dialogue.

dreamweaver.canDeleteSelection()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut supprimer la sélection en cours. Celle-ci peut se trouver, selon le cas, dans la fenêtre de document, dans la fenêtre Site ou dans un champ modifiable d'un panneau flottant ou d'une boîte de dialogue (Macintosh).

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection est une plage (par opposition à un point d'insertion).

dreamweaver.canExportCSS()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Exporter les styles CSS.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si des styles de classe sont définis dans la section HEAD du document.

Chapitre 26580

Page 581: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.canFindNext()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Rechercher suivant.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si un modèle de recherche a été défini.

dreamweaver.canOpenInFrame()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Ouvrir dans un cadre.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la sélection ou le point d'insertion se trouve dans un cadre.

dreamweaver.canPlayRecordedCommand()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Reproduire la commande enregistrée.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe un document actif et une commande mémorisée pouvant être exécutée.

dreamweaver.canRedo()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 581

Page 582: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Vérifie si Dreamweaver peut effectuer une opération Rétablir dans le contexte en cours.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe des opérations pouvant être annulées.

dreamweaver.canRevertDocument()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Rétablir (revenir au dernier état enregistré).

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Valeur booléenne indiquant si le document est à l'état non enregistré et s'il en existe une version enregistrée sur un lecteur local.

dreamweaver.canSaveAll()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Enregistrer tout.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si deux documents non enregistrés, ou plus, sont ouverts.

dreamweaver.canSaveDocument()

Disponibilité

Dreamweaver 3.0

Chapitre 26582

Page 583: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Vérifie si Dreamweaver peut effectuer une opération Enregistrer sur le document spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Valeur booléenne indiquant si le document contient des modifications non enregistrées.

dreamweaver.canSaveDocumentAsTemplate()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Enregistrer comme modèle sur le document spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Valeur booléenne indiquant si le document peut être enregistré comme modèle.

dreamweaver.canSaveFrameset()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Enregistrer le jeu de cadres sur le document spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Valeur booléenne indiquant si le document est un jeu de cadres comportant des modifications non enregistrées.

API JavaScript de Dreamweaver 583

Page 584: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.canSaveFramesetAs()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Enregistrer le jeu de cadres sous sur le document spécifié.

Arguments

documentObject

documentObject est l'objet situé à la racine de l'arborescence DOM d'un document (c'est-à-dire la valeur renvoyée par dreamweaver.getDocumentDOM()).

Valeurs renvoyées

Valeur booléenne indiquant si le document est un jeu de cadres.

dreamweaver.canSelectAll()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Sélectionner tout.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il est possible d'effectuer une opération Sélectionner tout.

dreamweaver.canShowFindDialog()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Rechercher.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si une fenêtre Site ou une fenêtre de document est ouverte. Cette fonction renvoie la valeur false lorsque la sélection se trouve dans la section HEAD.

Chapitre 26584

Page 585: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.canUndo()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Annuler dans le contexte en cours.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant s'il existe des opérations pouvant être annulées.

dreamweaver.isRecording()

Disponibilité

Dreamweaver 3.0

Description

Indique si Dreamweaver est en train de mémoriser une commande.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si Dreamweaver est en train de mémoriser une commande.

dreamweaver.htmlStylePalette.canEditSelection()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut modifier, supprimer ou dupliquer la sélection dans le panneau Styles HTML.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne. Cette fonction renvoie la valeur false si aucun style n'est sélectionné ou que l'un des styles « indéterminés » est sélectionné.

dreamweaver.timelineInspector.canAddFrame()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 585

Page 586: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine si Dreamweaver peut effectuer une opération Ajouter une image.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le panneau Scénarios comprend des barres d'animation ou des comportements.

dreamweaver.timelineInspector.canAddKeyFrame()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Ajouter une image-clé.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si l'élément sélectionné dans le panneau Scénarios fait partie d'une barre d'animation.

dreamweaver.timelineInspector.canChangeObject()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Modifier l'objet.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si l'élément sélectionné dans le panneau Scénarios fait partie d'une barre d'animation.

dreamweaver.timelineInspector.canRemoveBehavior()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer le comportement.

Arguments

Aucun.

Chapitre 26586

Page 587: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Une valeur booléenne indiquant si la sélection dans le panneau Comportements est un comportement.

dreamweaver.timelineInspector.canRemoveFrame()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer l'image.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le panneau Scénarios comprend des barres d'animation ou des comportements.

dreamweaver.timelineInspector.canRemoveKeyFrame()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer l'image-clé.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le cadre en cours dans le panneau Comportements est une image-clé.

dreamweaver.timelineInspector.canRemoveObject()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer l'objet.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne indiquant si le panneau Scénarios comporte des barres d'animation.

API JavaScript de Dreamweaver 587

Page 588: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.browseDocument()

Disponibilité

Dreamweaver 4.0

Description

Ouvre tous les documents sélectionnés dans une fenêtre de navigateur, de la même façon que la commande Aperçu dans le navigateur.

Arguments

browserName

browserName est le nom du navigateur tel qu'il est défini dans les préférences Aperçu dans le navigateur. Si cet argument n'est pas défini, le navigateur principal de l'utilisateur est utilisé par défaut.

Valeurs renvoyées

Aucune.

site.canAddLink()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Lier au [ fichier existant | nouveau fichier ].

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant que le document sélectionné dans la carte du site est un fichier HTML.

site.canChangeLink()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Modifier le lien.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant qu'un fichier HTML ou Flash est lié au fichier sélectionné dans la carte du site.

Chapitre 26588

Page 589: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.canCheckIn()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Archiver.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Valeur booléenne indiquant si toutes les conditions suivantes sont vraies :

• un site distant a été défini ;

• dans le cas où une fenêtre de document est active, le fichier a été enregistré sur un site local ou, dans le cas où la fenêtre Site est active, un ou plusieurs fichiers ou dossiers sont sélectionnés ;

• l'option archivage/extraction est activée.

site.canCheckOut()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Extraire sur le ou les fichiers spécifiés.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Valeur booléenne indiquant si toutes les conditions suivantes sont vraies :

• un site distant a été défini ;

• dans le cas où une fenêtre de document est active, le fichier appartient à un site local et il n'est pas déjà extrait, ou, dans le cas où la fenêtre Site est active, plusieurs fichiers ou dossiers sont sélectionnés et au moins un des fichiers sélectionnés n'a pas déjà été extrait ;

• l'option archivage/extraction est activée.

API JavaScript de Dreamweaver 589

Page 590: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.canConnect()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut se connecter au site distant.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le site distant en cours est un site FTP.

site.canFindLinkSource()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Rechercher la source du lien.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant que le lien sélectionné dans la carte du site n'est pas la page d'accueil.

site.canGet()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Acquérir.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Si l'argument est "site", valeur booléenne indiquant si un ou plusieurs fichiers ou dossiers sont sélectionnés dans la fenêtre Site et si un site distant a été défini. Si l'argument est une URL, valeur booléenne indiquant si le document appartient à un site pour lequel un site distant a été défini.

Chapitre 26590

Page 591: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.canLocateInSite()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Retrouver sur le site local ou Retrouver sur le site distant (en fonction de l'argument)

Arguments

localOrRemote, siteOrURL

• localOrRemote doit être "local" ou "remote".

• siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

L'une des valeurs suivantes :

• Si le premier argument est "local" et le second une URL, une valeur booléenne indiquant si le document appartient à un site.

• Si le premier argument est "remote" et le second une URL, une valeur booléenne indiquant si le document appartient à un site pour lequel un site local a été défini et, si le type de serveur est Local/Réseau, si le lecteur est monté.

• Si le second argument est "site", valeur booléenne indiquant si les deux volets contiennent des fichiers de site (pas la carte du site) et si la sélection se trouve dans le volet opposé à l'argument.

site.canMakeEditable()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Désactiver le mode Lecture seule.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si un ou plusieurs des fichiers sélectionnés sont verrouillés.

site.canMakeNewFileOrFolder()

Disponibilité

Dreamweaver 3.0

API JavaScript de Dreamweaver 591

Page 592: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Vérifie si Dreamweaver peut effectuer une opération Nouveau fichier ou Nouveau dossier dans la fenêtre Site.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si des fichiers sont visibles dans le volet sélectionné de la fenêtre Site.

site.canOpen()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut ouvrir les fichiers ou les dossiers actuellement sélectionnés dans la fenêtre Site.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si des fichiers ou des dossiers sont sélectionnés dans la fenêtre Site.

site.canPut()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Placer.

ArgumentssiteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Si l'argument est "site", valeur booléenne indiquant si des fichiers ou des dossiers sont sélectionnés dans la fenêtre Site et si un site distant a été défini. Si l'argument est une URL, valeur booléenne indiquant si le document appartient à un site pour lequel un site distant a été défini.

site.canRecreateCache()

Disponibilité

Dreamweaver 3.0

Chapitre 26592

Page 593: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Détermine si Dreamweaver peut effectuer une opération Recréer le cache du site.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si l'option Utiliser le cache pour accélérer les mises à jour des liens est activée pour le site en cours.

site.canRefresh()

Disponibilité

Dreamweaver 3.0

Description

Vérifie si Dreamweaver peut effectuer une opération Actualiser [local | distant].

ArgumentslocalOrRemote

localOrRemote doit être "local" ou "remote".

Valeurs renvoyées

true si localOrRemote est "local" ; sinon, une valeur booléenne indiquant si un site distant a été défini.

site.canRemoveLink()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Supprimer le lien.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant qu'un fichier HTML ou Flash est lié au fichier sélectionné dans la carte du site.

site.canSetLayout()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Mise en forme.

Arguments

Aucun.

API JavaScript de Dreamweaver 593

Page 594: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Valeurs renvoyées

Valeur booléenne indiquant si la carte du site est visible.

site.canSelectAllCheckedOutFiles()

Disponibilité

Dreamweaver 4.0

Description

Détermine si la fonction Archiver/Extraire est activée sur le site en cours.

Arguments

Aucun.

Valeurs renvoyées

Une valeur booléenne définie sur true si le site autorise l'archivage et l'extraction et false dans le cas contraire.

site.canSelectNewer()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Sélectionner [distants | locaux] plus récents.

Arguments

localOrRemote

localOrRemote doit être "local" ou "remote".

Valeurs renvoyées

Valeur booléenne indiquant si le document appartient à un site pour lequel un site distant a été défini.

site.canShowPageTitles()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Afficher les titres de page.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si la carte du site est visible.

Chapitre 26594

Page 595: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.canSynchronize()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Synchroniser.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si un site distant a été défini.

site.canUndoCheckOut()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Annuler extraction.

Arguments

siteOrURL

siteOrURL doit être soit le mot-clé "site", indiquant que la fonction doit agir sur l'élément sélectionné dans la fenêtre Site, soit l'URL d'un fichier.

Valeurs renvoyées

Valeur booléenne indiquant si le fichier spécifié ou l'un des fichiers sélectionnés, au moins, a été extrait (par n'importe quel utilisateur).

site.canViewAsRoot()

Disponibilité

Dreamweaver 3.0

Description

Détermine si Dreamweaver peut effectuer une opération Afficher comme racine.

Arguments

Aucun.

Valeurs renvoyées

Valeur booléenne indiquant si le fichier spécifié est un fichier HTML ou Flash.

site.SelectAllCheckedOutFiles()

Disponibilité

Dreamweaver 4.0

API JavaScript de Dreamweaver 595

Page 596: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

Description

Sélectionne tous les fichiers extraits sur le site local.

Arguments

Aucun.

Valeurs renvoyées

Aucune.

Chapitre 26596

Page 597: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

INDEX

A

activateursutilisation 334valeur de renvoi 569

addBehavior()dom.addBehavior() 343dreamweaver.timelineInspector.addBehavior()

511addDynamicSource() 190addFrame() 512addKeyframe() 512addLinkToExistingFile() 467addLinkToNewFile() 468addObject() 512addSpacerToColumn() 546addTimeline() 513affichage des tableaux 259alert() 19align() 434analyzeServerBehavior() 138API du module de débogage JavaScript 70applyBehavior() 96applyCharacterMarkup() 389applyCSSStyle() 360applyFontMarkup() 390applyFormat() 199applyFormatDefinition() 200applyHTMLStyle() 419applySB() 133applyServerBehavior() 140applyTemplate() 437appName, propriété 23appVersion, propriété 23arguments

facultatifs 335fournis à partir d'un élément de menu 53receiveArguments() 57

arrange() 434arrangeFloatingPalettes() 545arrêt, commandes 29

arrowDown() 426, 487arrowLeft() 427, 488arrowRight() 427, 488arrowUp() 427, 489assetPalette.addToFavoritesFromDocument()

dreamweaver.assetPalette.addToFavoritesFromDocument() 336

assetPalette.addToFavoritesFromSiteAssets()dreamweaver.assetPalette.addToFavoritesFromSi

teAssets() 336assetPalette.addToFavoritesFromSiteWindow()

dreamweaver.assetPalette.addToFavoritesFromSiteWindow() 337

assetPalette.canEdit()dreamweaver.assetPalette.canEdit() 578

assetPalette.canInsertOrApply()dreamweaver.assetPalette.canInsertOrApply()

579assetPalette.copyToSite()

dreamweaver.assetPalette.copyToSite() 337assetPalette.edit()

dreamweaver.assetPalette.edit() 337assetPalette.getSelectedCategory()

dreamweaver.assetPalette.getSelectedCategory() 338

assetPalette.getSelectedItems()dreamweaver.assetPalette.getSelectedItems()

338assetPalette.getSelectedView()

dreamweaver.assetPalette.getSelectedView() 339assetPalette.insertOrApply()

dreamweaver.assetPalette.insertOrApply() 339assetPalette.locateInSite()

dreamweaver.assetPalette.locateInSite() 339assetPalette.newAsset()

dreamweaver.assetPalette.newAsset() 340assetPalette.newFolder()

dreamweaver.assetPalette.newFolder() 340assetPalette.recreateLibraryFromDocument()

597

Page 598: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.assetPalette.recreateLibraryFromDocument() 341

assetPalette.refreshSiteAssets()dreamweaver.assetPalette.refreshSiteAssets() 341

assetPalette.removeFromFavorites()dreamweaver.assetPalette.removeFromFavorites()

341assetPalette.renameNickname()

dreamweaver.assetPalette.renameNickname() 342assetPalette.setSelectedCategory()

dreamweaver.assetPalette.setSelectedCategory() 342

assetPalette.setSelectedView()dreamweaver.assetPalette.setSelectedView() 342

assistance, fonctions dans les comportements 95attachExternalStylesheet() 361Attribut

dataSource 154location 161name 157partType 157selectParticipant 156serverBehavior 153serverModel 159subType 155

attributs traduitsindividuels 300inspection 305plusieurs 300recherche dans les balises 26

attributs, propriété 26

B

backspaceKey() 428balanceBracesTextView() 489balise XML

group 153groupParticipant 157groupParticipants 156implementation 159insertText 160participant 158quickSearch 159searchPatterns 164title 155

balise, objet 26balises traduites, inspection 313

base de données, commande d'arborescence 35beginReporting() 65behaviorFunction() 98blocs de code dépendants 153blur() 19body, propriété 25booléen, objet 19bouton de couleur, commande 37bouton, objet 19bringDWToFront() 207bringFWToFront() 208browseDocument() 366, 588browseForFileURL() 371browseForFolderURL() 372

C

C, fonctionsappel à partir de JavaScript 331

calque, objet 19canAcceptBehavior() 99canAcceptCommand()

dans les commandes de menu 55dans les commandes régulières 47

canAddFrame() 585canAddKeyFrame() 586canAddLinkToFile() 588canAlign() 569canApplyServerBehavior() 140canArrange() 569canChangeLink() 588canChangeObject() 586canCheckIn() 589canCheckOut() 589canClipCopy() 579canClipCopyText() 570canClipCut() 579canClipPaste()

dom.canClipPaste() 570dreamweaver.canClipPaste() 580

canClipPasteText() 570canConnect() 590canConvertLayersToTable() 571canConvertTablesToLayers() 571canDecreaseColspan() 571canDecreaseRowspan() 572canDeleteTableColumn() 572canDeleteTableRow() 572

Index598

Page 599: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

canEditNoFramesContent() 573canEditSelection() 585canExportCSS() 580canFindLinkSource() 590canFindNext() 581canGet() 590canIncreaseColspan() 573canIncreaseRowspan() 573canInsertTableColumns() 573canInsertTableRows() 574canInspectSelection() 77canLocateInSite() 591canMakeEditable() 591canMakeNewEditableRegion() 574canMakeNewFileOrFolder() 591canMarkSelectionAsEditable() 574canMergeTableCells() 575canOpen() 592canOpenInFrame() 581canPlayPlugin() 575canPlayRecordedCommand() 581canPut() 592canRecreateCache() 592canRedo()

dom.canRedo() 575dreamweaver.canRedo() 581

canRefresh() 593canRemoveEditableRegion() 576canRemoveFrame() 587canRemoveKeyFrame() 587canRemoveLink() 593canRemoveObject() 587canRevertDocument() 582canSaveAll() 582canSaveDocument() 582canSaveDocumentAsTemplate() 583canSaveFrameset() 583canSaveFramesetAs() 584canSelectAll() 584canSelectAllCheckedOutFiles() 594canSelectNewer() 594canSelectTable() 576canSetLayout() 593canSetLinkHref() 576canShowFindDialog() 584canShowListPropertiesDialog() 576canSplitFrame() 577

canSplitTableCell() 577canStopPlugin() 577canSynchronize() 595canUndo()

dom.canUndo() 578dreamweaver.canUndo() 585

canUndoCheckOut() 595canViewAsRoot() 595carte graphique, fonctions 434case à cocher, objet 19case d'options, objet 19chaîne, objet 19changeLink() 468changeLinkSitewide() 468changeObject() 513checkIn() 469checkLinks() 469checkOut() 470checkSpelling() 408checkTargetBrowsers()

dom.checkTargetBrowsers() 409site.checkTargetBrowsers() 470

childNodes, propriétédes objets balise 26des objets commentaire 28des objets de document 25des objets texte 27

clearInterval() 19clearSteps() 414clearTemp() 242clearTimeout() 19clipCopy()

dom.clipCopy() 353dreamweaver.clipCopy() 356

clipCopyText() 354clipCut()

dom.clipCut() 354dreamweaver.clipCut() 356

clipPaste()dom.clipPasteText() 354dreamweaver.clipPaste() 357

clipPasteText() 355close()

MMNotes.close() 220window.close() 19

closeDocument() 373CloseNotesFile() 225

Index 599

Page 600: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

codes d'état 241colonnes 251

acquisition à partir des procédures stockées 256, 257

commandButtons() 65dans les commandes de menu 55dans les commandes régulières 48

commande d'arborescence, base de données 35commande de grille, variables 35commandes

ajout aux menus 52API 47exemple de code 51expérience de l'utilisateur 46

commandes d'arborescence 30commandes de menu

API 55exemple de code 59expérience de l'utilisateur 53

commentaire, objet 28comportements

API 96exemple de code 104expérience de l'utilisateur 94fonctions d'assistance 95fonctions requises 96insertion de plusieurs fonctions 95

configureSettings() 66confirm() 19connexions 253, 254, 255

acquisition de la liste 253noms 250

constantes de nœud 24contenu de commande d'arborescence, manipulation

34contenu verrouillé, inspection 313convertLayersToTable() 359convertTablesToLayers() 359convertTo30() 360convertWidthsToPercent() 504convertWidthsToPixels() 504copy() 234copyServerBehavior() 141copySteps() 414createDocument() 373createFile()

pour des objets Flash 215

createFolder() 234createLayoutCell() 546createLayoutTable() 547createResultsWindow() 454

D

date, objet 19débogueur JavaScript

fonctionnement du module de débogage JavaScript 67

debugDocument() 423decreaseColspan() 505decreaseRowspan() 505defineSites() 471deleteBehavior() 100deleteDynamicSource() 190deleteFormat() 200deleteKey() 428deleteParticipant() 182deleteSB() 134deleteSelectedItem() 563deleteSelectedStyle()

dreamweaver.cssStylePalette.deleteSelectedStyle() 362

dreamweaver.htmlStylePalette.deleteSelectedStyle() 420

dw.htmlStylePalette.deleteSelectedStyle() 420deleteSelectedTemplate() 568deleteSelection()

dom.deleteSelection() 390dreamweaver.deleteSelection() 403site.deleteSelection() 471

deleteServerBehavior() 141deleteTableColumn() 505deleteTableRow() 506démarrage, commandes 29Design Notes

API C 225API JavaScript 220expérience de l'utilisateur 219structure des fichiers 219

detachFromLibrary() 437detachFromTemplate() 438displayHelp()

dans les actions de comportement 100dans les comportements de serveur 135dans les fichiers d'objet 41

Index600

Page 601: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dans les fichiers de l'inspecteur de propriétés 78dans les modèles de serveur 203dans les panneaux flottants 86dans les sources de données 191

document, objetDOM Netscape, propriétés et méthodes 19DOM niveau 1, propriétés et méthodes 25

documentEdited() 86documentElement, propriété 25doDeferredTableUpdate() 506doesColumnHaveSpacer() 547doesGroupHaveSpacers() 548DOM

dans Dreamweaver 19DOM niveau 1, spécification 19objet dom 334

dom.addBehavior() 343dom.addSpacerToColumn() 546dom.align() 434dom.applyCharacterMarkup() 389dom.applyCSSStyle() 360dom.applyFontMarkup() 390dom.applyHTMLStyle() 419dom.applyTemplate() 437dom.arrange() 434dom.arrowDown() 426dom.arrowLeft() 427dom.arrowRight() 427dom.arrowUp() 427dom.backspaceKey() 428dom.canAlign() 569dom.canArrange() 569dom.canClipCopyText() 570dom.canClipPaste() 570dom.canClipPasteText() 570dom.canConvertLayersToTable() 571dom.canConvertTablesToLayers() 571dom.canDecreaseColspan() 571dom.canDecreaseRowspan() 572dom.canDeleteTableColumn() 572dom.canDeleteTableRow() 572dom.canEditNoFramesContent() 573dom.canIncreaseColspan() 573dom.canIncreaseRowspan() 573dom.canInsertTableColumns() 573dom.canInsertTableRows() 574dom.canMakeNewEditableRegion() 574

dom.canMarkSelectionAsEditable() 574dom.canMergeTableCells() 575dom.canPlayPlugin() 575dom.canRedo() 575dom.canRemoveEditableRegion() 576dom.canSelectTable() 576dom.canSetLinkHref() 576dom.canShowListPropertiesDialog() 576dom.canSplitFrame() 577dom.canSplitTableCell() 577dom.canStopPlugin() 577dom.canUndo() 578dom.checkSpelling() 408dom.checkTargetBrowsers() 409dom.clipCopy 353dom.clipCopyText() 354dom.clipCut() 354dom.clipPaste 354dom.clipPasteText() 355dom.convertLayersToTable() 359dom.convertTablesToLayers() 359dom.convertTo30() 360dom.convertWidthsToPercent() 504dom.convertWidthsToPixels() 504dom.createLayoutCell() 546dom.createLayoutTable() 547dom.decreaseColspan() 505dom.decreaseRowspan() 505dom.deleteKey() 428dom.deleteSelection() 390dom.deleteTableColumn() 505dom.deleteTableRow() 506dom.detachFromLibrary() 437dom.detachFromTemplate() 438dom.doDeferredTableUpdate() 506dom.doesColumnHaveSpacer() 547dom.doesGroupHaveSpacers() 548dom.editAttribute() 390dom.endOfDocument() 429dom.endOfLine() 429dom.exitBlock() 391dom.getAttachedTemplate() 438dom.getBehavior() 344dom.getCharSet() 391dom.getClickedHeaderColumn() 548dom.getEditableRegionList() 439dom.getEditableRetionList() 440

Index 601

Page 602: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.getEditNoFramesContent() 518dom.getFocus() 552dom.getFontMarkup() 391dom.getFrameNames() 387dom.getIsLibraryDocument() 439dom.getIsTemplateDocument() 439dom.getLinkHref() 392dom.getLinkTarget() 392dom.getListTag() 393dom.getPreventLayerOverlaps() 519dom.getRulerOrigin() 540dom.getRulerUnits() 541dom.getSelectedEditableRegion() 440dom.getSelectedNode() 457dom.getSelection() 457dom.getShowAutoIndent() 519dom.getShowFrameBorders() 519dom.getShowGrid() 520dom.getShowHeadView() 520dom.getShowHighlightInvalidHTML() 520dom.getShowImageMaps() 521dom.getShowInvisibleElements() 521dom.getShowLayerBorders() 521, 528dom.getShowLayoutTableTabs() 548dom.getShowLayoutView() 549dom.getShowLineNumbers() 522dom.getShowRulers() 522dom.getShowSyntaxColoring() 522dom.getShowTableBorders() 522dom.getShowToolbar() 523dom.getShowTracingImage() 523dom.getShowWordWrap() 523dom.getSnapToGrid() 524dom.getTableExtent() 506dom.getTextAlignment() 393dom.getTextFormat() 393dom.getTracingImageOpacity() 541dom.getView() 552dom.getWindowTitle() 553dom.hasCharacterMarkup() 394dom.hasTracingImage() 578dom.increaseColspan() 507dom.increaseRowspan() 507dom.indent() 394dom.insertHTML() 395dom.insertLibraryItem() 440dom.insertObject() 395

dom.insertTableColumns() 507dom.insertTableRows() 508dom.insertText() 396dom.instrumentDocument() 422dom.isColumnAutostretch() 549dom.isDesignViewUpdated() 487dom.isDocumentInFrame() 388dom.isSelectionValid() 487dom.loadTracingImage() 541dom.makeCellWidthsConsistent() 549dom.makeSizesEqual() 435dom.markSelectionAsEditable() 441dom.mergeTableCells() 508dom.moveSelectionBy() 435dom.newBlock() 397dom.newEditableRegion() 441dom.nextParagraph() 430dom.nextWord() 430dom.nodeToOffsets() 458dom.notifyFlashObjectChanged() 397dom.offsetsToNode() 459dom.outdent() 398dom.pageDown() 431dom.pageUp() 431dom.playAllPlugins() 542dom.playPlugin() 542dom.previousParagraph() 431dom.previousWord() 432dom.reapplyBehaviors() 345dom.redo() 410dom.removeAllSpacers() 550dom.removeAllTableHeights() 509dom.removeAllTableWidths() 509dom.removeBehavior() 345dom.removeCharacterMarkup() 398dom.removeCSSStyle() 361dom.removeEditableRegion() 441dom.removeFontMarkup() 398dom.removeLink() 399dom.removeSpacerFromColumn() 550dom.resizeSelection() 399dom.resizeSelectionBy() 435dom.runTranslator() 538dom.saveAllFrames() 388dom.selectAll() 460dom.selectChild() 450dom.selectParent() 451

Index602

Page 603: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dom.selectTable() 460dom.serverModel.getServerLanguage() 465dom.serverModel.getServerName() 466dom.serverModel.getServerVersion() 466dom.setAttributeWithErrorChecking() 399dom.setColumnAutostretch() 550dom.setEditNoFramesContent() 524dom.setHideAllVisualAids() 524dom.setLayerTag() 436dom.setLinkHref() 400dom.setLinkTarget() 400dom.setListBoxKind() 401dom.setListTag() 402dom.setPreventLayerOverlaps() 525dom.setRulerOrigin() 542dom.setRulerUnits() 543dom.setSelectedNode() 460dom.setSelection() 461dom.setShowFrameBorders() 525dom.setShowGrid() 526dom.setShowHeadView() 526dom.setShowHighlightInvalidHTML() 526dom.setShowImageMaps() 527dom.setShowInvisibleElements() 527dom.setShowLayerBorders() 527dom.setShowLayoutTableTabs() 551dom.setShowLayoutView() 551dom.setShowLineNumbers() 528dom.setShowRulers() 528dom.setShowTableBorders() 529dom.setShowToolbar() 529dom.setShowTracingImage() 529dom.setShowWordWrap() 530dom.setSnapToGrid() 530dom.setTableCellTag() 509dom.setTableColumns() 510dom.setTableRows() 510dom.setTextAlignment() 402dom.setTextFieldKind() 402dom.setTracingImageOpacity() 544dom.setTracingImagePosition() 543dom.setView() 553dom.showFontColorDialog() 403dom.showInsertTableRowsOrColumnsDialog() 510dom.showListPropertiesDialog() 401dom.showPagePropertiesDialog() 409dom.snapTracingImageToSelection() 544

dom.source.arrowDown() 487dom.source.arrowLeft() 488dom.source.arrowRight() 488dom.source.arrowUp() 489dom.source.balanceBracesTextView() 489dom.source.endOfDocument() 489dom.source.endOfLine() 490dom.source.endPage() 490dom.source.getCurrentLines() 491dom.source.getSelection() 491dom.source.getText() 491dom.source.indentTextView() 492dom.source.insert() 492dom.source.nextWord() 492dom.source.outdentTextView() 493dom.source.pageDown() 493dom.source.pageUp() 493dom.source.previousWord() 494dom.source.replaceRange() 494dom.source.scrollLineDown() 495, 497dom.source.scrollLineUp() 495dom.source.scrollPageDown() 496dom.source.scrollPageUp() 496dom.source.selectParentTag() 497dom.source.setCurrentLine() 497dom.source.startOfDocument() 498dom.source.startOfLine() 498dom.source.synchronizeDocument() 499dom.source.topPage() 498dom.source.wrapSelection() 499dom.splitFrame() 389dom.splitTableCell() 511dom.startOfDocument() 432dom.startOfLine() 433dom.stopAllPlugins() 544dom.stopPlugin() 545dom.stripTag() 451dom.undo() 411dom.updateCurrentPage() 442dom.wrapTag() 452Données dynamiques, boîte de dialogue 187données, propriété

des objets commentaire 28des objets httpReply 241des objets texte 27

_notes, dossier 219doURLEncoding() 500

Index 603

Page 604: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver, objetméthodes 334propriétés 23

dreamweaver.arrangeFloatingPalettes() 545dreamweaver.behaviorInspector, objet 343dreamweaver.behaviorInspector.getBehaviorAt() 349dreamweaver.behaviorInspector.getBehaviorCount()

349dreamweaver.behaviorInspector.getSelectedBehavior()

350dreamweaver.behaviorInspector.moveBehaviorDown()

350dreamweaver.behaviorInspector.moveBehaviorUp()

351dreamweaver.behaviorInspector.setSelectedBehavior()

352dreamweaver.browseDocument() 366dreamweaver.browseForFileURL() 371dreamweaver.browseForFolderURL() 372dreamweaver.canClipCopy() 579dreamweaver.canClipCut() 579dreamweaver.canClipPaste() 580dreamweaver.canExportCSS() 580dreamweaver.canFindNext() 581dreamweaver.canOpenInFrame() 581dreamweaver.canPlayRecordedCommand() 581dreamweaver.canRedo() 581dreamweaver.canRevertDocument() 582dreamweaver.canSaveAll() 582dreamweaver.canSaveDocument() 582dreamweaver.canSaveDocumentAsTemplate() 583dreamweaver.canSaveFrameset() 583dreamweaver.canSaveFramesetAs() 584dreamweaver.canSelectAll() 584dreamweaver.canShowFindDialog() 584dreamweaver.canUndo() 585dreamweaver.clipCopy() 356dreamweaver.clipCut() 356dreamweaver.clipPaste() 357dreamweaver.closeDocument() 373dreamweaver.createDocument() 373dreamweaver.createResultsWindow() 454dreamweaver.cssStylePalette, objet 360dreamweaver.cssStylePalette.deleteSelectedStyle() 362dreamweaver.cssStylePalette.duplicateSelectedStyle()

362dreamweaver.cssStylePalette.editSelectedStyle() 362

dreamweaver.cssStylePalette.editStyleSheet() 363dreamweaver.cssStylePalette.getSelectedStyle() 363dreamweaver.cssStylePalette.getSelectedTarget() 364dreamweaver.cssStylePalette.getStyles() 365dreamweaver.cssStylePalette.newStyle() 365dreamweaver.dbi.getDataSources() 464dreamweaver.debugDocument() 423dreamweaver.deleteSelection() 403dreamweaver.doURLEncoding() 500dreamweaver.editCommandList() 358dreamweaver.editFontList() 403dreamweaver.editLockedRegions() 538dreamweaver.exportCSS() 374dreamweaver.exportEditableRegionsAsXML() 374dreamweaver.findNext() 381dreamweaver.getActiveWindow() 553dreamweaver.getBehaviorElement() 346dreamweaver.getBehaviorEvent() 560dreamweaver.getBehaviorTag() 347dreamweaver.getBrowserList() 367dreamweaver.getClipboardText() 357dreamweaver.getConfigurationPath() 448dreamweaver.getDebugBrowserList() 424dreamweaver.getDocumentDOM() 335dreamweaver.getDocumentList() 554dreamweaver.getDocumentPath() 448dreamweaver.getElementRef() 409dreamweaver.getExtensionEditorList() 367dreamweaver.getExternalTextEditor() 368dreamweaver.getFloaterVisibility() 554dreamweaver.getFocus() 555dreamweaver.getFontList() 404dreamweaver.getFontStyles() 404dreamweaver.getHideAllFloaters() 530dreamweaver.getIsAnyBreakpoints() 425dreamweaver.getKeyState() 405dreamweaver.getLiveDataInitTags() 443dreamweaver.getLiveDataMode() 444dreamweaver.getMenuNeedsUpdating() 446dreamweaver.getObjectRefs() 560dreamweaver.getObjectTags() 562dreamweaver.getPrimaryBrowser() 368dreamweaver.getPrimaryExtensionEditor() 369dreamweaver.getPrimaryView() 556dreamweaver.getRecentFileList() 375dreamweaver.getRedoText() 411dreamweaver.getSecondaryBrowser() 369

Index604

Page 605: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.getShowDialogsOnInsert() 406dreamweaver.getShowStatusBar() 531dreamweaver.getSiteRoot() 449dreamweaver.getSnapDistance() 556dreamweaver.getSystemFontList() 405dreamweaver.getTokens() 500dreamweaver.getTranslatorList() 539dreamweaver.getUndoText() 412dreamweaver.historyPalette, objet 410dreamweaver.historyPalette.clearSteps() 414dreamweaver.historyPalette.copySteps() 414dreamweaver.historyPalette.getSelectedSteps() 415dreamweaver.historyPalette.getStepCount() 415dreamweaver.historyPalette.getStepsAsJavaScript() 416dreamweaver.historyPalette.getUndoState() 417dreamweaver.historyPalette.replaySteps() 417dreamweaver.historyPalette.saveAsCommand() 418dreamweaver.historyPalette.setSelectedSteps() 418dreamweaver.historyPalette.setUndoState() 419dreamweaver.htmlInspector.getShowAutoIndent() 531dreamweaver.htmlInspector.getShowHighlightInvalid

HTML() 531dreamweaver.htmlInspector.getShowLineNumbers()

531dreamweaver.htmlInspector.getShowSyntaxColoring()

532dreamweaver.htmlInspector.getShowWordWrap() 532dreamweaver.htmlInspector.setShowAutoIndent() 532dreamweaver.htmlInspector.setShowHighightInvalidH

TML() 533dreamweaver.htmlInspector.setShowLineNumbers()

533dreamweaver.htmlInspector.setShowSyntaxColoring()

533dreamweaver.htmlInspector.setShowWordWrap() 534dreamweaver.htmlStylePalette, objet 419dreamweaver.htmlStylePalette.canEditSelection() 585dreamweaver.htmlStylePalette.deleteSelectedStyle()

420dreamweaver.htmlStylePalette.duplicateSelectedStyle()

420dreamweaver.htmlStylePalette.editSelectedStyle() 420dreamweaver.htmlStylePalette.getSelectedStyle() 421dreamweaver.htmlStylePalette.getStyles() 421dreamweaver.htmlStylePalette.newStyle() 421dreamweaver.htmlStylePalette.setSelectedStyle() 422dreamweaver.importXMLIntoTemplate() 375

dreamweaver.isRecording() 585dreamweaver.isReporting() 453dreamweaver.latin1ToNative() 501dreamweaver.libraryPalette, objet 437dreamweaver.libraryPalette.deleteSelectedItem() 563dreamweaver.libraryPalette.getSelectedItem() 564dreamweaver.libraryPalette.newFromDocument() 564dreamweaver.libraryPalette.recreateFromDocument()

564dreamweaver.libraryPalette.renameSelectedItem() 565dreamweaver.liveDataTranslate() 444dreamweaver.loadSitesFromPrefs() 466dreamweaver.minimizeRestoreAll() 556dreamweaver.nativeToLatin1() 501dreamweaver.newFromTemplate() 375dreamweaver.nodeToOffsets() 565dreamweaver.notifyMenuUpdated() 447dreamweaver.offsetsToNode() 566dreamweaver.openDocument() 376dreamweaver.openDocumentFromSite() 377dreamweaver.openInFrame() 377dreamweaver.openWithApp() 370dreamweaver.openWithBrowseDialog() 370dreamweaver.openWithExternalTextEditor() 370dreamweaver.openWithImageEditor() 371dreamweaver.playRecordedCommand() 412dreamweaver.popupAction() 348dreamweaver.popupCommand() 567dreamweaver.popupServerBehavior() 463dreamweaver.quitApplication() 406dreamweaver.redo() 412dreamweaver.relativeToAbsoluteURL() 450dreamweaver.releaseDocument() 377dreamweaver.reloadMenus() 447dreamweaver.removeAllBreakpoints() 425dreamweaver.replace() 382dreamweaver.replaceAll() 382dreamweaver.results.setResultData() 453dreamweaver.revertDocument() 378dreamweaver.runCommand() 358dreamweaver.saveAll() 379dreamweaver.saveDocument() 379dreamweaver.saveDocumentAs() 380dreamweaver.saveDocumentAsTemplate() 380dreamweaver.saveFrameset() 380dreamweaver.saveFramesetAs() 381dreamweaver.saveSitesToPrefs() 467

Index 605

Page 606: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dreamweaver.selectAll() 461dreamweaver.serverBehaviorInspector.findAllServerBeh

aviors() 462dreamweaver.serverBehaviorInspector.getServerBehavio

rs() 463dreamweaver.setActiveWindow() 556dreamweaver.setFloaterVisibility() 557dreamweaver.setHideAllFloaters() 534dreamweaver.setLiveDataError() 445dreamweaver.setLiveDataMode() 445dreamweaver.setPrimaryView() 558dreamweaver.setSelection() 567dreamweaver.setShowStatusBar() 535dreamweaver.setSnapDistance() 558dreamweaver.setUpComplexFind() 383dreamweaver.setUpComplexFindReplace() 383dreamweaver.setUpFind() 384dreamweaver.setUpFindReplace() 385dreamweaver.showAboutBox() 406dreamweaver.showDynamicData() 407dreamweaver.showFindDialog() 386dreamweaver.showFindReplaceDialog() 387dreamweaver.showGridSettingsDialog() 545dreamweaver.showLiveDataDialog() 446dreamweaver.showPreferencesDialog() 408dreamweaver.showProperties() 558dreamweaver.showQuickTagEditor() 452dreamweaver.showReportsDialog() 453dreamweaver.startDebugger() 425dreamweaver.startRecording() 413dreamweaver.stopRecording() 413dreamweaver.stylePalette.attachExternalStylesheet()

361dreamweaver.templatePalette, objet 437dreamweaver.templatePalette.deleteSelectedTemplate()

568dreamweaver.templatePalette.getSelectedTemplate()

566dreamweaver.templatePalette.newBlankTemplate() 443dreamweaver.templatePalette.renameSelectedTemplate(

) 568dreamweaver.timelineInspector, objet 511dreamweaver.timelineInspector.addBehavior() 511dreamweaver.timelineInspector.addFrame() 512dreamweaver.timelineInspector.addKeyframe() 512dreamweaver.timelineInspector.addObject() 512dreamweaver.timelineInspector.addTimeline() 513

dreamweaver.timelineInspector.canAddFrame() 585dreamweaver.timelineInspector.canAddKeyFrame()

586dreamweaver.timelineInspector.canChangeObject()

586dreamweaver.timelineInspector.canRemoveFrame()

587dreamweaver.timelineInspector.canRemoveKeyFrame()

587dreamweaver.timelineInspector.canRemoveObject()

587dreamweaver.timelineInspector.changeObject() 513dreamweaver.timelineInspector.getAutoplay() 513dreamweaver.timelineInspector.getCurrentFrame() 514dreamweaver.timelineInspector.getLoop() 514dreamweaver.timelineInspector.recordPathOfLayer()

514dreamweaver.timelineInspector.removeBehavior() 515dreamweaver.timelineInspector.removeFrame() 515dreamweaver.timelineInspector.removeKeyframe() 515dreamweaver.timelineInspector.removeObject() 516dreamweaver.timelineInspector.removeTimeline() 516dreamweaver.timelineInspector.renameTimeline() 516dreamweaver.timelineInspector.setAutoplay() 517dreamweaver.timelineInspector.setCurrentFrame() 517dreamweaver.timelineInspector.setLoop() 517dreamweaver.toggleFloater() 559dreamweaver.undo() 414dreamweaver.updatePages() 442dreamweaver.updateReference() 559dreamweaver.useTranslatedSource() 539duplicateSelectedStyle()

dreamweaver.cssStylePalette.duplicateSelectedStyle() 362

dreamweaver.htmlStylePalette.duplicateSelectedStyle() 420

dw, objet 334dw.arrangeFloatingPalettes() 545dw.assetPalette.addToFavoritesFromDocument() 336dw.assetPalette.addToFavoritesFromSiteAssets() 336dw.assetPalette.addToFavoritesFromSiteWindow() 337dw.assetPalette.canEdit() 578dw.assetPalette.canInsertOrApply() 579dw.assetPalette.copyToSite() 337dw.assetPalette.edit() 337dw.assetPalette.getSelectedCategory() 338dw.assetPalette.getSelectedItems() 338

Index606

Page 607: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dw.assetPalette.getSelectedView() 339dw.assetPalette.insertOrApply() 339dw.assetPalette.locateInSite() 339dw.assetPalette.newAsset() 340dw.assetPalette.newFolder() 340dw.assetPaletterecreateLibraryFromDocument() 341dw.assetPalette.refreshSiteAssets() 341dw.assetPalette.removeFromFavorites() 341dw.assetPalette.renameNickname() 342dw.assetPalette.setSelectedCategory() 342dw.assetPalette.setSelectedView() 342dw.behaviorInspector.getBehaviorAt() 349dw.behaviorInspector.getBehaviorCount() 349dw.behaviorInspector.getSelectedBehavior() 350dw.behaviorInspector.moveBehaviorDown() 350dw.behaviorInspector.moveBehaviorUp() 351dw.behaviorInspector.setSelectedBehavior() 352dw.browseDocument() 366dw.browseForFileURL() 371dw.browseForFolderURL() 372dw.canClipCopy() 579dw.canClipCut() 579dw.canClipPaste() 580dw.canExportCSS() 580dw.canFindNext() 581dw.canOpenInFrame() 581dw.canPlayRecordedCommand() 581dw.canRedo() 581dw.canRevertDocument() 582dw.canSaveAll() 582dw.canSaveDocument() 582dw.canSaveDocumentAsTemplate() 583dw.canSaveFrameset() 583dw.canSaveFramesetAs() 584dw.canSelectAll() 584dw.canShowFindDialog() 584dw.canUndo() 585dw.clipCopy() 356dw.clipCut() 356dw.clipPaste() 357dw.closeDocument() 373dw.createDocument() 373dw.createResultsWindow() 454dw.cssStylePalette.deleteSelectedStyle() 362dw.cssStylePalette.duplicateSelectedStyle() 362dw.cssStylePalette.editSelectedStyle() 362dw.cssStylePalette.editStyleSheet() 363

dw.cssStylePalette.getSelectedStyle() 363dw.cssStylePalette.getSelectedTarget() 364dw.cssStylePalette.getStyles() 365dw.cssStylePalette.newStyle() 365dw.dbi.getDataSources() 464dw.debugDocument() 423dw.deleteSelection() 403dw.doURLEncoding() 500dw.editCommandList() 358dw.editFontList() 403dw.editLockedRegions() 538dw.exportCSS() 374dw.exportEditableRegionsAsXML() 374DWfile, DLL

API 234vérification 233

DWfile.copy() 234DWfile.createFolder() 234DWfile.exists() 235DWfile.getAttributes() 235DWfile.getCreationDate() 237DWfile.getModificationDate() 236DWfile.listFolder() 238DWfile.read() 239DWfile.remove() 239DWfile.write() 239dw.findNext() 381dw.getActiveWindow() 553dw.getBehaviorElement() 346dw.getBehaviorTag() 347dw.getBrowserList() 367dw.getConfigurationPath() 448dw.getDebugBrowserList() 424dw.getDocumentDOM() 335dw.getDocumentList() 554dw.getDocumentPath() 448dw.getElementRef() 409dw.getExtensionEditorList() 367dw.getExternalTextEditor() 368dw.getFloaterVisibility() 554dw.getFocus() 555dw.getFontList() 404dw.getFontStyles() 404dw.getHideAllFloaters() 530dw.getIsAnyBreakpoints() 425dw.getKeyState() 405dw.getLiveDataInitTags() 443

Index 607

Page 608: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dw.getLiveDataMode() 444dw.getMenuNeedsUpdating() 446dw.getParticipants() 143dw.getPrimaryBrowser() 368dw.getPrimaryExtensionEditor() 369dw.getPrimaryView() 556dw.getRecentFileList() 375dw.getRedoText() 411dw.getSecondaryBrowser() 369dw.getShowDialogsOnInsert() 406dw.getShowStatusBar() 531dw.getSiteRoot() 449dw.getSnapDistance() 556dw.getSystemFontList() 405dw.getTokens() 500dw.getTranslatorList() 539dw.getUndoText() 412dw.historyPalette.clearSteps() 414dw.historyPalette.copySteps() 414dw.historyPalette.getSelectedSteps() 415dw.historyPalette.getStepCount() 415dw.historyPalette.getStepsAsJavaScript() 416dw.historyPalette.getUndoState() 417dw.historyPalette.replaySteps() 417dw.historyPalette.saveAsCommand() 418dw.historyPalette.setSelectedSteps() 418dw.historyPalette.setUndoState() 419dw.htmlInspector.getShowAutoIndent() 531dw.htmlInspector.getShowHighlightInvalidHTML()

531dw.htmlInspector.getShowLineNumbers() 531dw.htmlInspector.getShowSyntaxColoring() 532dw.htmlInspector.getShowWordWrap() 532dw.htmlInspector.setShowAutoIndent() 532dw.htmlInspector.setShowHighlightInvalidHTML()

533dw.htmlInspector.setShowLineNumbers() 533dw.htmlInspector.setShowSyntaxColoring() 533dw.htmlInspector.setShowWordWrap() 534dw.htmlStylePalette.canEditSelection() 585dw.htmlStylePalette.deleteSelectedStyle() 420dw.htmlStylePalette.duplicateSelectedStyle() 420dw.htmlStylePalette.editSelectedStyle() 420dw.htmlStylePalette.getSelectedStyle() 421dw.htmlStylePalette.getStyles() 421dw.htmlStylePalette.newStyle() 421dw.htmlStylePalette.setSelectedStyle() 422

dw.importXMLIntoTemplate() 375dw.isRecording() 585dw.isReporting() 453dw.latin1ToNative() 501dw.libraryPalette.deleteSelectedItem() 563dw.libraryPalette.getSelectedItem() 564dw.libraryPalette.newFromDocument() 564dw.libraryPalette.recreateFromDocument() 564dw.libraryPalette.renameSelectedItem() 565dw.liveDataTranslate() 444dw.loadSitesFromPrefs() 466dw.minimizeRestoreAll() 556dw.nativeToLatin1() 501dw.newFromTemplate() 375dw.notifyMenuUpdated() 447dw.openDocument() 376dw.openDocumentFromSite() 377dw.openInFrame() 377dw.openWithApp() 370dw.openWithBrowseDialog() 370dw.openWithExternalTextEditor() 370dw.openWithImageEditor() 371dw.playRecordedCommand() 412dw.popupAction() 348dw.popupServerBehavior() 463dw.quitApplication() 406dw.redo() 412dw.referencePalette.getFontSize() 343dw.referencePalette.setFontSize() 343dw.relativeToAbsoluteURL() 450dw.releaseDocument() 377dw.reloadMenus() 447dw.removeAllBreakpoints() 425dw.replace() 382dw.replaceAll() 382dw.results.setResultData() 453dw.revertDocument() 378dw.runCommand() 358dw.saveAll() 379dw.saveDocument() 379dw.saveDocumentAs() 380dw.saveDocumentAsTemplate() 380dw.saveFrameset() 380dw.saveFramesetAs() 381dw.saveSitesToPrefs() 467dw.selectAll() 461

Index608

Page 609: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dw.serverBehaviorInspector.findAllServerBehaviors() 462

dw.serverBehaviorInspector.getServerBehaviors() 463dw.setActiveWindow() 556dw.setFloaterVisibility() 557dw.setHideAllFloaters() 534dw.setLiveDataError() 445dw.setLiveDataMode() 445dw.setPrimaryView() 558dw.setShowStatusBar() 535dw.setSnapDistance() 558dw.setUpComplexFind() 383dw.setUpComplexFindReplace() 383dw.setUpFind() 384dw.setUpFindReplace() 385dw.showAboutBox() 406dw.showDynamicData() 407dw.showFindDialog() 386dw.showFindReplaceDialog() 387dw.showGridSettingsDialog() 545dw.showLiveDataDialog() 446dw.showPreferencesDialog() 408dw.showProperties() 558dw.showQuickTagEditor() 452dw.showReportsDialog() 453dw.startDebugger() 425dw.startRecording() 413dw.stopRecording() 413dw.stylePalette.attachExternalStylesheet() 361dw.templatePalette.deleteSelectedTemplate() 568dw.templatePalette.getSelectedTemplate() 566dw.templatePalette.newBlankTemplate() 443dw.templatePalette.renameSelectedTemplate() 568dw.timelineInspector.addBehavior() 511dw.timelineInspector.addFrame() 512dw.timelineInspector.addKeyframe() 512dw.timelineInspector.addObject() 512dw.timelineInspector.addTimeline() 513dw.timelineInspector.canAddFrame() 585dw.timelineInspector.canAddKeyFrame() 586dw.timelineInspector.canChangeObject() 586dw.timelineInspector.canRemoveFrame() 587dw.timelineInspector.canRemoveKeyFrame() 587dw.timelineInspector.canRemoveObject() 587dw.timelineInspector.changeObject() 513dw.timelineInspector.getAutoplay() 513dw.timelineInspector.getCurrentFrame() 514

dw.timelineInspector.getLoop() 514dw.timelineInspector.recordPathOfLayer() 514dw.timelineInspector.removeBehavior() 515dw.timelineInspector.removeFrame() 515dw.timelineInspector.removeKeyframe() 515dw.timelineInspector.removeObject() 516dw.timelineInspector.removeTimeline() 516dw.timelineInspector.renameTimeline() 516dw.timelineInspector.setAutoplay() 517dw.timelineInspector.setCurrentFrame() 517dw.timelineInspector.setLoop() 517dw.toggleFloater() 559dw.undo() 414dw.updatePages() 442dw.updateReference() 559dw.useTranslatedSource() 539

E

e/s de fichier 234editAttribute() 390editColumns()

site.editColumns() 471editCommandList() 358editFontList() 403editLockedRegions() 538editSelectedStyle()

dreamweaver.cssStylePalette.editSelectedStyle() 362

dreamweaver.htmlStylePalette.editSelectedStyle() 420

editStyleSheet() 363emplacement-menu 137endOfDocument() 429, 489, 490endOfLine() 429endPage() 490endReporting() 65envoyer, objet 19escape() 19événements

dans les fichiers d'extension 19execJsInFireworks() 208exists() 235exitBlock() 391exportCSS() 374exportEditableRegionsAsXML() 374expressions régulières 150extensibilité de niveau C

Index 609

Page 610: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

dans les traducteurs 293

F

fenêtre, objet 19fichier (champ), objet 19fichiers Groupe 148fichiers JavaScript externes 28fichiers Participant 148fichiers sur disque

copie 234création (fichiers HTML) 373création (fichiers non HTML) 239écriture 239lecture 239suppression 239

FilePathToLocalURL() 225filePathToLocalURL() 220findAllServerBehaviors() 462findDynamicSources() 192findLinkSource() 472findNext() 381findSBs() 132findServerBehaviors() 142Fireworks

exemple d'intégration 213Flash, objets

création 215focus() 19fonction, objet 19fonctions C

dans mm_jsapi.h 322formatDynamicDataRef() 201formulaire, objet 19FWLaunch.bringDWToFront() 207FWLaunch.bringFWToFront() 208FWLaunch.execJsInFireworks() 208FWLaunch.getJsResponse() 209FWLaunch.mayLaunchFireworks() 210FWLaunch.optimizeInFireworks() 211FWLaunch.validateFireworks() 212

G

generateDynamicSourceBindings() 193gestion des versions 23gestionnaire de traduction 183gestionnaires d'événements

dans les boîtes de dialogue de comportement 94dans les fichiers d'extension 28renvoi d'une valeur 95

get()MMNotes.get() 221site.get() 472

getActiveWindow() 553getAttachedTemplate() 438getAttribute() 26getAttributes() 235getAutoplay() 513getBehavior() 344getBehaviorAt() 349getBehaviorCount() 349getBehaviorElement() 346getBehaviorEvent() 560getBehaviorTag() 347getBodyInstrument() 71getBrowserList() 367getCharSet() 391getCheckOutUser() 473getCheckOutUserForFile() 474getClickedHeaderColumn() 548getClipboardText()

dreamweaver.getClipboardText() 357getColdFusionDsnList() 251getColumnAndTypeList() 251getColumnList() 251getColumnsOfTable() 252getConfigurationPath() 448getConnectionList() 253getConnectionName() 253getConnectionState() 474getConnectionString() 254getCurrentFrame() 514getCurrentLines() 491getCurrentSite() 474getDataSources() 464getDate() 237getDebugBrowserList() 424getDocumentDOM()

dreamweaver.getDocumentDOM() 335importance 335

getDocumentList() 554getDocumentPath() 448getDriverName() 254getDynamicContent() 56

Index610

Page 611: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

getEditableRegionList() 439getEditableRetionList() 440getEditNoFramesContent() 518getElementRef() 409getElementsByTagName()

pour les objets balise 26pour les objets de document 25

getExtensionEditorList() 367getExternalTextEditor() 368getFile() 242getFileCallback() 244getFileExtensions() 204getFloaterVisibility() 554getFocus()

dom.getFocus() 552dreamweaver.getFocus() 555site.getFocus() 475

getFontList() 404getFontMarkup() 391getFontStyles() 404getFrameNames() 387getFunctionEndInstrument() 70getFunctionStartInstrument() 71getGroup() 180getHeadInstrument() 71getHideAllFloaters() 530getIncludedFileList() 71getIsAnyBreakpoints() 425getIsLibraryDocument() 439getIsTemplateDocument() 439getJsResponse() 209getKeyCount() 221getKeys() 221getKeyState() 405getLinkHref() 392getLinkTarget() 392getLinkVisibility() 475getListTag() 393getLiveDataInitTags() 443getLiveDataMode() 444getLoop() 514getMenuNeedsUpdating() 446getModificationDate() 236getNaturalSize()

pour des objets Flash 217GetNote() 226GetNoteLength() 227

GetNotesKeyCount() 227GetNotesKeys() 227getObjectRefs() 560getObjectTags() 562getObjectType()

pour des objets Flash 217getOnUnloadInstrument() 72getPassword() 255getPreventLayerOverlaps() 519getPrimaryBrowser() 368getPrimaryExtensionEditor() 369getPrimaryView() 556getRecentFileList() 375getRedoText() 411getRulerOrigin() 540getRulerUnits() 541getRuntimeConnectionType() 255getSecondaryBrowser() 369getSelectedBehavior() 350getSelectedEditableRegion() 440getSelectedItem() 564getSelectedNode() 457getSelectedStyle()

dreamweaver.cssStylePalette.getSelectedStyle() 363

dreamweaver.htmlStylePalette.getSelectedStyle() 421

getSelectedTarget() 364getSelectedTemplate() 566getSelection() 491

dom.getSelection() 457dreamweaver.getSelection() 563site.getSelection() 476

getServerBehaviors() 463getServerExtension() 205getServerLanguage() 465getServerLanguages() 204getServerName() 466getServerVersion() 466getShowAutoIndent() 519getShowDependents() 535getShowDialogsOnInsert() 406getShowFrameBorders() 519getShowGrid() 520getShowHeadView() 520getShowHiddenFiles() 535getShowHighlightInvalidHTML() 520

Index 611

Page 612: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

getShowImageMaps() 521getShowInvisibleElements() 521getShowLayerBorders() 521, 528getShowLayoutTableTabs() 548getShowLayoutView() 549getShowLineNumbers() 522getShowPageTitles() 536getShowRulers() 522getShowStatusBar() 531getShowSyntaxColoring() 522getShowTableBorders() 522getShowToolbar() 523getShowToolTips() 536getShowTracingImage() 523getShowWordWrap() 523getSiteRoot() 449GetSiteRootForFile() 228getSiteRootForFile() 222getSites() 476getSnapDistance() 556getSnapToGrid() 524getSPColumnList() 256getSPColumnListNamedParams() 257getSPParamsAsString() 258getStepCount() 415getStepInstrument() 72getStepsAsJavaScript() 416getStyles()

dreamweaver.cssStylePalette.getStyles() 365dreamweaver.htmlStylePalette.getStyles() 421

getSystemFontList() 405getTableExtent() 506getTables() 258getText() 245, 491getTextAlignment() 393getTextCallback() 245getTextFormat() 393getTokens() 500getTracingImageOpacity() 541getTranslatedAttribute() 26getTranslatorInfo() 295getTranslatorList() 539getUndoState() 417getUndoText() 412getUserName() 259getVersionArray() 205GetVersionName() 229

getVersionName() 222getVersionNum() 223, 229getView() 552getViews() 259getWindowTitle() 553grille de variables, commandes 35, 36

H

hasCharacterMarkup() 394hasChildNodes()

pour les objets balise 26pour les objets commentaire 28pour les objets de document 25pour les objets texte 27

hasTracingImage() 578hasTranslatedAttributes() 26htmlInspector.getShowAutoIndent() 531htmlInspector.getShowHighlightInvalidHTML() 531htmlInspector.getShowLineNumbers() 531htmlInspector.getShowSyntaxColoring() 532htmlInspector.getShowWordWrap() 532htmlInspector.setShowAutoIndent() 532htmlInspector.setShowHighlightInvalidHTML() 533htmlInspector.setShowLineNumbers() 533htmlInspector.setShowSyntaxColoring() 533htmlInspector.setShowWordWrap() 534

I

identifyBehaviorArguments() 101image (champ), objet 19image, objet 19importXMLIntoTemplate() 375increaseColspan() 507increaseRowspan() 507indent() 394indentTextView() 492InfoPrefs 228informations sur la langue 23initialPosition() 87initialTabs() 88innerHTML, propriété 26insert() 492insertHTML() 395insertLibraryItem() 440insertObject() 395insertTableColumns() 507

Index612

Page 613: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

insertTableRows() 508insertText() 396inspectBehavior() 103inspectDynamicDataRef() 194inspecteur de liaisons de données 187inspecteurs de propriétés

API 77attributs traduits 305éclair au-dessus de l'icône 305exemple de code 80expérience de l'utilisateur 76fonctions requises 77mot-clé *LOCKED* 313pour le contenu verrouillé 313

inspectFormatDefinition() 202inspectSelection() 78inspectServerBehavior() 142instructions SQL

acquisition de colonnes à partir de 251affichage des résultats 260

instrumentDocument() 422invertSelection() 476isColumnAutostretch() 549isCommandChecked() 56isDesignViewUpdated() 487isDocumentInFrame() 388isDomRequired() 41, 49isRecording() 585isReporting() 453isSelectionValid() 487item() 19

J

JavaBeans 265JavaScript, commandes 29JavaScript, commandes personnalisées 29JS_BooleanToValue() 327JS_DefineFunction() 324JS_DoubleToValue() 326JS_ExecuteScript() 330JS_GetArrayLength() 328JS_GetElement() 329JS_IntegerToValue() 327JS_NewArrayObject() 328JS_ObjectToValue() 327JS_ObjectType() 328JS_ReportError() 330

JS_SetElement() 329JS_StringToValue() 326JS_ValueToBoolean() 325JS_ValueToDouble() 325JS_ValueToInteger() 324JS_ValueToObject() 326JS_ValueToString() 324JSBool 323JSContext 322JSNative 323JSObject 323jsval 323

L

langage-script 137, 204latin1ToNative() 501listFolder() 238liveDataTranslate() 444liveDataTranslateMarkup function() 298loadSitesFromPrefs() 466loadTracingImage() 541LocalURLToFilePath() 229localURLToFilePath() 223locateInSite() 472

M

makeCellWidthsConsistent() 549makeEditable() 477makeNewDreamweaverFile() 477makeNewFolder() 477makeSizesEqual() 435manipulation du contenu de commande

d'arborescence 34markSelectionAsEditable() 441masqué (champ), objet 19math, objet 19mayLaunchFireworks() 210menus dynamiques

exemple de code 61expérience de l'utilisateur 53

mergeTableCells() 508minimizeRestoreAll() 556MM

TREECOLUMN 31TREECONTROL 31TREENODE 31

mm_jsapi.h

Index 613

Page 614: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

exemple de fichier 331inclusion 322

MM_returnValue 95mmcolorbutton 37MMDB.getColumnAndTypeList() 251MMDB.getColumnList() 251MMDB.getColumnsOfTable() 252MMDB.getConnectionList() 253MMDB.getConnectionName() 253MMDB.getConnectionString() 254MMDB.getDriverName() 254MMDB.getPassword() 255MMDB.getRuntimeConnectionType() 255MMDB.getSPColumnList() 256MMDB.getSPColumnListNamedParams() 257MMDB.getSPParamsAsString() 258MMDB.getTables() 258MMDB.getUserName() 259MMDB.getViews() 259MMDB.showConnectionMgrDialog() 260MMDB.showResultset() 260MMDB.showSPResultset() 261MMDB.showSPResultsetNamedParams() 262MMHttp.clearTemp() 242MMHttp.getFile() 242MMHttp.getFileCallback() 244MMHttp.getText() 245MMHttp.getTextCallback() 245MMHttp.postText() 246MMHttp.postTextCallback() 247MMInfo.h 225MMJB*(), fonctions 265MMJB.getClasses() 267MMJB.getClassesFromPackage() 267MMJB.getErrorMessage() 267MMJB.getEvents() 266MMJB.getIndexedProperties() 266MMJB.getMethods() 266MMJB.getProperties() 265MMNotes, objet 220MMNotes.close() 220MMNotes.filePathToLocalURL() 220MMNotes.get() 221MMNotes.getKeyCount() 221MMNotes.getKeys() 221MMNotes.getSiteRootForFile() 222MMNotes.getVersionName() 222MMNotes.getVersionNum() 223

MMNotes.localURLToFilePath() 223MMNotes.open() 223MMNotes.remove() 224MMNotes.set() 224mmparameterlist 36modèle d'objet de document

dans Dreamweaver 19spécification DOM niveau 1 19

Modifier la liste de formats, menu contextuel Plus (+) 197

mot de passe (champ), objet 19*LOCKED*, mot-clé 313mots de passe 255moveBehaviorDown() 350moveBehaviorUp() 351moveSelectionBy() 435

N

nativeToLatin1() 501navigateur, objet de 19newBlankTemplate() 443newBlock() 397newEditableRegion() 441newFromDocument() 564newFromTemplate() 375newHomePage() 478newSite() 478newStyle()

dreamweaver.cssStylePalette.newStyle() 365dreamweaver.htmlStylePalette.newStyle() 421

nextParagraph() 430nextWord() 430, 492Node.COMMENT_NODE 24Node.DOCUMENT_NODE 24Node.ELEMENT_NODE 24nodelist objet 19Node.TEXT_NODE 24nodeToOffsets()

dom.nodeToOffsets() 458dreamweaver.nodeToOffsets() 565

nodeType, propriétédes objets balise 26des objets commentaire 28des objets de document 25des objets texte 27

nœud d'élément 26nœud de document 25nœud de texte 27

Index614

Page 615: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

nœuds 24nombre, objet 19noms d'utilisateur 259notifyFlashObjectChanged() 397notifyMenuUpdated() 447

O

objectExistsWithName() 182objectTag() 42objet, objet 19objets

ajout au menu Insertion 43ajout au panneau Objets 43API 40expérience de l'utilisateur 40

offsetsToNode()dom.offsetsToNode() 459dreamweaver.offsetsToNode() 566

onBlur 19onChange 19onClick 19onFocus 19onLoad 19onMouseDown 19onMouseOut 19onMouseOver 19onMouseUp 19onResize 19open()

MMNotes.open() 223site.open() 478

openDocument() 376openDocumentFromSite() 377openInFrame() 377OpenNotesFile() 230OpenNotesFilewithOpenFlags() 230openWithApp() 370openWithBrowseDialog() 370openWithExternalTextEditor() 370openWithImageEditor() 371optimizeInFireworks() 211option, objet 19outdent() 398outdentTextView() 493outerHTML, propriété 26

P

pageDown() 431, 493pageUp() 431, 493panneaux flottants

API 85exemple de code 91expérience de l'utilisateur 84questions liées aux performances 89

parentNode, propriétédes objets balise 26des objets commentaire 28des objets de document 25des objets texte 27

parentWindow, propriété 25pasteServerBehavior() 143pilotes 254playAllPlugins() 542playPlugin() 542playRecordedCommand() 412popupAction() 348popupCommand() 567popupServerBehavior() 463postText() 246postTextCallback() 247previousParagraph() 431previousWord() 432, 494procédures stockées 250

acquisition des colonnes à partir de 256, 257acquisition des paramètres 258affichage des résultats 261, 262

processFile() 64put() 479

Q

quitApplication() 406

R

read() 239readFile()

pour des objets Flash 218reapplyBehaviors() 345receiveArguments()

dans les commandes de menu 57dans les commandes régulières 49

recordPathOfLayer() 514recreateCache() 479

Index 615

Page 616: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

recreateFromDocument() 564redo()

dom.redo() 410dreamweaver.redo() 412

referencePalette.getFontSize()dreamweaver.referencePalette.getFontSize() 343

referencePalette.setFontSize()dreamweaver.referencePalette.setFontSize() 343

refresh() 480refreshExtData() 183regexp, objet 19relativeToAbsoluteURL() 450releaseDocument() 377reloadMenus() 447remoteIsValid() 480remove() 224, 239removeAllBreakpoints() 425removeAllSpacers() 550removeAllTableHeights() 509removeAllTableWidths() 509removeAttribute() 26removeBehavior()

dom.removeBehavior() 345dreamweaver.timelineInspector.removeBehavior()

515removeCharacterMarkup() 398removeCSSStyle() 361removeEditableRegion() 441removeFontMarkup() 398removeFrame() 515removeKeyframe() 515removeLink()

dom.removeLink() 399site.removeLink() 480

RemoveNote() 230removeObject() 516removeSpacerFromColumn() 550removeTimeline() 516renameSelectedItem() 565renameSelectedTemplate() 568renameSelection() 481renameTimeline() 516replace() 382replaceAll() 382replaceRange() 494replaySteps() 417reportError() 73reportWarning() 73

resizeSelection() 399resizeSelectionBy() 435resizeTo() 19results.setResultData() 453resWin.addItem() 454resWin.setColumnWidths() 455resWin.setFileList() 456resWin.setTitle() 456resWin.startProcessing() 456resWin.stopProcessing() 457rétablir, objet 19revertDocument() 378runCommand() 358runTranslator() 538

S

saveAll() 379saveAllFrames() 388saveAsCommand() 418saveAsImage() 481saveDocument() 379saveDocumentAs() 380saveDocumentAsTemplate() 380saveFrameset() 380saveFramesetAs() 381saveSitesToPrefs() 467scrollLineDown() 495, 497scrollLineUp() 495scrollPageDown() 496scrollPageUp() 496SCS 286SCS_AfterGet() 290SCS_AfterPut() 291SCS_BeforeGet() 289SCS_BeforePut() 290SCS_canCheckin() 287SCS_canCheckout() 286SCS_canConnect() 285SCS_canDelete() 288SCS_canGet() 286SCS_canNewFolder() 288SCS_canPut() 286SCS_canRename() 288SCS_CanUndoCheckout() 287SCS_Checkin() 279SCS_Checkout() 279SCS_Connect() 271SCS_Delete() 275

Index616

Page 617: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

SCS_Disconnect() 272SCS_Get() 274SCS_GetAgentInfo() 271SCS_GetCheckoutName() 278SCS_GetConnectionInfo() 276SCS_GetDesignNotes() 283SCS_GetErrorMessage() 282SCS_GetErrorMessageLength() 281SCS_GetFileCheckoutList() 281SCS_GetFolderList() 273SCS_GetFolderListLength() 273SCS_GetMaxNoteLength() 283SCS_GetNewFeatures() 278SCS_GetNoteCount() 282SCS_GetNumCheckedOut() 280SCS_GetNumNewFeatures() 277SCS_GetRootFolder() 272SCS_GetRootFolderLength() 272SCS_IsConnected() 272SCS_IsRemoteNewer() 285SCS_ItemExists() 276SCS_NewFolder() 274SCS_Put() 274SCS_Rename() 275SCS_SetDesignNotes() 284SCS_SiteDeleted() 277SCS_SiteRenamed() 277SCS_UndoCheckout() 280select() 19selectAll()

dom.selectAll() 460dreamweaver.selectAll() 461site.selectAll() 481

SelectAllCheckedOutFiles 595selectChild() 450selectHomePage() 482sélection de commande de couleur pour les extensions

Javascript 37sélection, objet 19selectionChanged() 88selectNewer() 482selectParent() 451selectParentTag() 497selectTable() 460set() 224setActiveWindow() 556setAsHomePage() 483setAttribute() 26

setAttributeWithErrorChecking() 399setAutoplay() 517setColumnAutostretch() 550setConnectionState() 483setCurrentFrame() 517setCurrentLine() 497setCurrentSite() 483setEditNoFramesContent() 524setFloaterVisibility() 557setFocus() 484setHideAllFloaters() 534setHideAllVisualAidst() 524setInterval() 19setLayerTag() 436setLayout() 484setLinkHref() 400setLinkTarget() 400setLinkVisibility() 485setListBoxKind() 401setListTag() 402setLiveDataError() 445setLiveDataMode() 445setLoop() 517setMenuText() 57SetNote() 231setPreventLayerOverlaps() 525setPrimaryView() 558setRulerOrigin() 542setRulerUnits() 543setSelectedBehavior() 352setSelectedNode() 460setSelection()

dom.setSelection() 461dreamweaver.setSelection() 567site.setSelection() 485

setShowDependents() 536setShowFrameBorders() 525setShowGrid() 526setShowHeadView() 526setShowHiddenFiles() 537setShowHighlightInvalidHTML() 526setShowImageMaps() 527setShowInvisibleElements() 527setShowLayerBorders() 527setShowLayoutTableTabs() 551setShowLayoutView() 551setShowLineNumbers() 528setShowPageTitles() 537

Index 617

Page 618: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

setShowRulers() 528setShowStatusBar() 535setShowTableBorders() 529setShowToolbar() 529setShowToolTips() 537setShowTracingImage() 529setShowWordWrap() 530setSnapDistance() 558setSnapToGrid() 530setTableCellTag() 509setTableColumns() 510setTableRows() 510setTextAlignment() 402setTextFieldKind() 402setTimeout() 19

dans les panneaux flottants 89utilisation avec FWLaunch 213

setTracingImageOpacity() 544setTracingImagePosition() 543setUndoState() 419setUpComplexFind() 383setUpComplexFindReplace() 383setUpFind() 384setUpFindReplace() 385setView() 553showAboutBox() 406showConnectionMgrDialog() 260showDynamicData() 407showFindDialog() 386showFindReplaceDialog() 387showFontColorDialog() 403showGridSettingsDialog() 545showInsertTableRowsOrColumnsDialog() 510showListPropertiesDialog() 401showLiveDataDialog() 446showPagePropertiesDialog() 409showPreferencesDialog() 408showProperties() 558showQuickTagEditor() 452showReportsDialog() 453showResultset() 260showSPResultset() 261showSPResultsetNamedParams() 262Shutdown, dossier 29site, objet

méthodes 334propriétés 23

site.addLinkToExistingFile() 467site.addLinkToNewFile() 468site.browseDocument() 588site.canAddLinkToFile() 588site.canChangeLink() 588site.canCheckIn() 589site.canCheckOut() 589site.canConnect() 590site.canFindLinkSource() 590site.canGet() 590site.canLocateInSite() 591site.canMakeEditable() 591site.canMakeNewFileOrFolder() 591site.canOpen() 592site.canPut() 592site.canRecreateCache() 592site.canRefresh() 593site.canRemoveLink() 593site.canSelectAllCheckedOutFiles() 594site.canSelectNewer() 594site.canSetLayout() 593site.canSynchronize() 595site.canUndoCheckOut() 595site.canViewAsRoot() 595site.changeLink() 468site.changeLinkSitewide() 468site.checkIn() 469site.checkLinks() 469site.checkOut() 470site.checkTargetBrowsers() 470site.defineSites() 471site.deleteSelection() 471site.findLinkSource() 472site.get() 472site.getCheckOutUser() 473site.getCheckOutUserForFile() 474site.getConnectionState() 474site.getCurrentSite() 474site.getFocus() 475site.getLinkVisibility() 475site.getSelection() 476site.getShowDependents() 535site.getShowHiddenFiles() 535site.getShowPageTitles() 536site.getShowToolTips() 536site.getSites() 476site.invertSelection() 476

Index618

Page 619: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

site.locateInSite() 472site.makeEditable() 477site.makeNewDreamweaverFile() 477site.makeNewFolder() 477site.newHomePage() 478site.newSite() 478site.open() 478site.put() 479site.recreateCache() 479site.refresh() 480site.remoteIsValid() 480site.removeLink() 480site.renameSelection() 481site.saveAsImage() 481site.selectAll() 481site.SelectAllCheckedOutFiles() 595site.selectHomePage() 482site.selectNewer() 482site.setAsHomePage() 483site.setConnectionState() 483site.setCurrentSite() 483site.setFocus() 484site.setLayout() 484site.setLinkVisibility() 485site.setSelection() 485site.setShowDependents() 536site.setShowHiddenFiles() 537site.setShowPageTitles() 537site.setShowToolTips() 537site.synchronize() 485site.undoCheckOut() 486site.viewAsRoot() 486snapTracingImageToSelection() 544splitFrame() 389splitTableCell() 511startBlock() 74startDebugger() 425startOfDocument() 432, 498startOfLine() 433, 498startRecording() 413Startup, dossier 29statusCode, propriété 241stopAllPlugins() 544stopPlugin() 545stopRecording() 413stripTag() 451structure de itemInfo 289structure XML 152

SWFFile.createFile() 215SWFFile.getNaturalSize() 217SWFFile.getObjectType() 217SWFFile.readFile() 218synchronize() 485synchronizeDocument() 499

T

tableau, objet 19tables 258

acquisition des colonnes 252tagName, propriété 26textarea, objet 19texte (champ) objet 19Texte dynamique, boîte de dialogue 187texte, objet 27toggleFloater() 559topPage() 498traducteurs

attribut 300blocs/balises 306débogage 316

traducteurs d'attributs 299création 300débogage 316exemple de code 301

traducteurs de blocs/balises 299débogage 316exemple de code 307

traducteurs de donnéesAPI 295débogage 316expérience de l'utilisateur 294fonctions requises 295pour les attributs 300pour les balises ou les blocs de code 306types 299

translateMarkup() 297type d'opérateur 233

U

undo()dom.undo() 411dreamweaver.undo() 414

undoCheckOut() 486unescape() 19updateCurrentPage() 442

Index 619

Page 620: tevfxp.free.frtevfxp.free.fr/macromedia/download/documentation/dream4/ext_dw_ultra... · 9 1 CHAPITRE 1 Extension de Dreamweaver ...

updatePages() 442updateParticipant() 182updateReference() 559URL javascript 28URL, propriété 25useTranslatedSource() 539utilisation du gestionnaire de traduction 183

V

validateFireworks() 212viewAsRoot() 486

W

W3C 19windowDimensions() 66

dans les actions de comportement 103dans les commandes de menu 58dans les commandes régulières 49dans les fichiers d'objet 42

wrapSelection() 499wrapTag() 452write() 239

Z

zones réactives, fonctions 434

Index620