Fonctionnalités supplémentaires de Windchill > Gestion des processus de fabrication > Personnalisation de l'Explorateur de structures produit de fabrication > Personnalisation des menus, barres d'outils et menus contextuels de l'Explorateur de structures produit
  
Personnalisation des menus, barres d'outils et menus contextuels de l'Explorateur de structures produit
Objectif
Vous souhaitez modifier le contenu d'un menu, d'une barre d'outils ou d'un menu contextuel de l'Explorateur de structures produit.
Arrière-plan
Les définitions des menus, barres d'outils et menus contextuels de l'Explorateur de structures produit sont interconnectées. La définition des actions d'interface utilisateur qui apparaissent dans les barres d'outils et dans les menus contextuels est héritée de la définition ActionAccess de la barre de menus.
La barre de menus et les options de menu affichées ne varient pas selon le mode de fonctionnement de l'Explorateur de structures produit ("Edition", "Brouillon" ou "Annotation"), bien que certaines options puissent être désactivées si elles ne sont pas pertinentes pour le mode utilisé. En revanche, la barre d'outils change en fonction du mode, de même que les menus contextuels exposés dans les tableaux. Seules les options de menu auxquelles une icône est associée peuvent apparaître dans une barre d'outils.
Les onglets Tâches de l'Explorateur de structures produit définissent différents tableaux qui comportent des barres d'outils et des menus contextuels. Ces derniers sont implémentés exactement de la même façon que la barre de menus principale à l'aide de définitions ActionAccess, mais les menus ne sont pas affichés.
Portée/applicabilité/hypothèses
Résultats attendus
Si vous le souhaitez, vous pouvez modifier le contenu de la barre d'outils pour un mode spécifique ; par exemple, vous pouvez ajouter l'icône "Nouvelle requête" à la barre d'outils (avant l'icône Aide) affichée en mode Brouillon pour la fenêtre principale de l'Explorateur de structures produit, et ajouter également les actions "Insérer existant" et "Insérer nouveau" au menu contextuel de l'onglet Composants :
Solution
Pour ajouter l'action Nouvelle requête à la barre d'outils, modifiez l'élément approprié dans :
<Windchill>/codebase/config/logicrepository/xml/explorer/productstructure/
PDMLinkExplorerMenus.xml
Pour ajouter les entrées de menu contextuel à l'onglet Composants, modifiez l'élément approprié dans :
<Windchill>/codebase/config/logicrepository/xml/explorer/structureexplorer/
ExplorerMenusForUsesTab.xml
Connaissances préalables
Pour atteindre cet objectif, vous devez disposer d'une bonne connaissance des éléments suivants :
Gestion des personnalisations de fichier XML
Eléments de la solution
Elément
Type
Description
PDMLinkExplorerMenus.xml
Fichier XML
Contient la définition des menus d'application, barres d'outils et menus contextuels principaux de l'Explorateur de structures produit qui apparaissent dans les arborescences.
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/productstructure
ExplorerMenuItems.xml
Fichier XML
Contient les définitions des options de menu, référencées à partir du menu d'application principal (PDMLinkExplorerMenus.xml) et d'ExplorerMenus.xml.
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenus.xml
Fichier XML
Contient les définitions des sous-menus référencées à partir du menu d'application principal (PDMLinkExplorerMenus.xml).
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForAttributeTable.xml
Fichier XML
Contient la définition des barres d'outils et des menus contextuels du tableau Attribut sous l'onglet Informations.
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForDocumuntsTab.xml
Fichier XML
Contient la définition des barres d'outils et des menus contextuels des tableaux sous l'onglet Documents.
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForReplacementsTab.xml
Fichier XML
Contient la définition des barres d'outils et des menus contextuels de tous les tableaux sous l'onglet Remplacements.
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForUsesTab.xml
Fichier XML
Contient la définition des barres d'outils et des menus contextuels de tous les tableaux sous l'onglet Composants.
Situé dans :
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ActionAccess
Elément XML
Contient la définition d'un élément MenuBar et des éléments Menus et MenuItems associés. Chaque élément ActionAccess (autrement dit, chaque définition MenuBar) doit inclure toutes les actions qui seront utilisées dans les barres d'outils et menus contextuels associés.
* 
L'ajout de nouvelles actions à la définition MenuBar n'est pas pris en charge.
Contenu dans PDMLinkExplorerMenus.xml et dans ExplorerMenus*.xml
ModeToolBar
Elément XML
Définit une barre d'outils pour un mode spécifique. Spécifie l'élément ApplicationMode (par l'intermédiaire d'une action Import) et une liste d'éléments MenuItemIdentifier.
ModePopupMenu
Elément XML
Définit un menu contextuel pour un mode spécifique. Spécifie simplement le mode et une liste d'éléments MenuItemIdentifier.
ExplorerMode
Elément XML
Sous-élément de l'élément ModeToolBar ou ModePopupMenu. Spécifie le mode.
MenuItemIdentifier
Elément XML
Sous-élément de l'élément ModeToolBar ou ModePopupMenu. Identifie une action définie (à l'aide du paramètre id).
Procédure : personnalisation de la barre d'outils
Vous pouvez modifier le contenu de la barre d'outils pour un mode spécifique. L'ajout, la suppression et la réorganisation d'éléments dans les définitions sont pris en charge.
Considérons la barre d'outils affichée en mode Brouillon pour la fenêtre principale de l'Explorateur de structures produit. Pour ajouter l'action de création "Nouvelle requête" à la barre d'outils, il vous suffit d'insérer l'élément MenuItemIdentifier correspondant à cette entrée dans le code XML.
<ModeToolBar id="ToolBarB">
<Import id="ptc.wnc.exp.DraftAppMode"/>
<MenuItemIdentifier id="FileNewPartMI"/>
<MenuItemIdentifier id="FileOpenPartMI"/>
<Separator/>
<MenuItemIdentifier id="FileSaveChangesMI"/>
<MenuItemIdentifier id="FileAnnotationValidationMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CloseMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.LaunchNewPSEMI"/>
<MenuItemIdentifier id="SetConfigSpecMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.InfoPageMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CutMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.PasteMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyToWindchillClipboardMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyFromWindchillClipboardMI"/>
<Separator/>
<MenuItemIdentifier id="SelectedAddChildMI"/>
<MenuItemIdentifier id="SelectedAddNewChildMI"/>
<MenuItemIdentifier id="SelectedAddInsertNewMI"/>
<Separator/>
<MenuItemIdentifier id="SelectedReplaceExistingMI"/>
<MenuItemIdentifier id="SelectedReplaceCreateAndReplaceMI"/>
<MenuItemIdentifier id="SelectedReplaceNewMI"/>
<MenuItemIdentifier id="SelectedReplaceAlternateMI"/>
<Separator/>
<MenuItemIdentifier id="FileSpecEditorLaunchMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.ReviseMI"/>
<MenuItemIdentifier id="SelectedRemoveMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.SelectParentMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.ExpandAllMI"/>
<Separator/>
<MenuItemIdentifier id="EditEditModeMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.FindInStructureMI"/>
<MenuItemIdentifier id="NewQueryMI"/>
<Separator/>
<MenuItemIdentifier id="HelpTopicsMI"/>
</ModeToolBar>
Cette opération entraîne l'apparition de l'icône Nouvelle requête dans la barre d'outils, comme illustré à la section "Résultats attendus".
Points de personnalisation
Personnalisation d'un menu contextuel
Vous pouvez modifier le contenu d'un menu contextuel pour un mode spécifique. L'ajout d'actions existantes, la suppression et la réorganisation d'éléments dans les définitions sont pris en charge.
Considérons l'onglet Composants. Par défaut, le menu contextuel du tableau n'inclut pas les actions Insérer existant et Insérer nouveau en mode Brouillon. Pour ajouter ces actions au menu contextuel, il vous suffit de modifier le code XML dans ExplorerMenusForUsesTab.xml de façon à insérer ces éléments MenuItemIdentifier.
<ModePopupMenu id="PopupMenuB">
<Import id="ptc.wnc.exp.DraftAppMode"/>
<Import id="ptc.wnc.exp.AnnotateAppMode"/>
<MenuItemIdentifier id="ptc.wnc.exp.CutAssocMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyAssocMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.PasteAssocMI"/>
<Separator/>
<MenuItemIdentifier id="AddChildMI"/>
<MenuItemIdentifier id="NewChildMI"/>
<Separator/>
<MenuItemIdentifier id="ReplaceExistingMI"/>
<MenuItemIdentifier id="CreateAndReplaceMI"/>
<MenuItemIdentifier id="ReplaceNewMI"/>
<MenuItemIdentifier id="ReplaceAlternateMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.RevertAssocMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CommentAssocMI"/>
</ModePopupMenu>
Cette opération entraîne l'affichage de l'action "Remplacer par un article alternatif/de substitution" dans le menu contextuel de l'onglet Composants, comme illustré dans la section Résultats attendus.
Limites
L'ajout de nouveaux éléments MenuItems aux menus, aux barres d'outils ou aux menus contextuels pour des actions non définies n'est pas pris en charge, car l'Explorateur de structures produit ne propose actuellement aucune API autorisant la création d'actions personnalisées. L'ajout d'actions à des tableaux pour lesquels ces actions n'ont pas été conçues n'est pas non plus pris en charge.