2009-11-23 4 views
4

Je souhaite ajouter une barre d'outils à une section dans SWT. Il y a un exemple que j'ai vu dans l'éditeur de manifeste PDE. Comment ajouter cette ou ces barres d'outils? peut-être que j'ai besoin d'utiliser un contrôle différent?ajouter la barre d'outils à la section

Merci, Ido

+0

Pourriez-vous expliquer 'section'? Ou où exactement vous avez trouvé l'exemple? –

+0

jeter un oeil à cet article: http://stackoverflow.com/questions/21851929/jface-swt-what-is-the-best-way-to-add-a-toolbar-with-commands-to-a- section/22018864 # 22018864 –

Répondre

0

Vous pouvez utiliser le contrôle ImageHyperLink. Je pense que c'est ce que l'éditeur de manifeste PDE utilise.

Section section = new Section(parent, SWT.NONE); 
Composite toolbar = new Composite(section, SWT.NONE); 
RowLayout layout = new RowLayout(SWT.HORIZONTAL); 
layout.marginLeft = 0; 
layout.marginRight = 0; 
layout.spacing = 0; 
layout.marginTop = 0; 
layout.marginBottom = 0; 
toolbar.setLayout(layout); 
parent.setTextClient(toolbar); 

ImageHyperlink imageHyperLink = new ImageHyperlink(toolbar, SWT.CENTER); 
imageHyperLink.setBackgroundImage(section.getBackgroundImage()); 
imageHyperLink.setToolTipText("Click me for help"); 
imageHyperLink.setImage(JFaceResources.getImage(Dialog.DLG_IMG_HELP)); 
imageHyperLink.addHyperlinkListener(new HyperlinkAdapter() 
{ 
    public void linkActivated(HyperlinkEvent e) 
    { 
     // Show help 
    } 
}); 
6

Depuis la solution affichée n'a pas produit une icône transparente fond, je fait quelques recherches sur la façon d'obtenir le même résultat que dans l'extension de l'Éditeur Plug-In Manifest.

Plug-In Manifest Editor - Extensions Page

Voici comment ils créent la barre d'outils:

ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); 
    ToolBar toolbar = toolBarManager.createControl(section); 
    toolbar.setCursor(Display.getDefault().getSystemCursor(SWT.CURSOR_HAND)); 

    // Add sort action to the tool bar 
    fSortAction = new SortAction(fExtensionTree, PDEUIMessages.ExtensionsPage_sortAlpha, null, null, this); 
    toolBarManager.add(fSortAction); 
    // Add collapse action to the tool bar 
    fCollapseAction = new CollapseAction(fExtensionTree, PDEUIMessages.ExtensionsPage_collapseAll); 
    toolBarManager.add(fCollapseAction); 

    toolBarManager.update(true); 

    section.setTextClient(toolbar); 

EDIT:

Cela semble très bien fonctionner aussi:

ToolBar toolbar = new ToolBar(section, SWT.NONE); 
//add the toolitems here 
//... 
section.setTextClient(toolbar); 

Ne pas laissez Window Builder Tool adapter l'outil barre avec FormToolkit, ou vous obtiendrez un fond blanc peint.

Questions connexes