2009-07-29 9 views
17

Vorrei essere in grado di rimuovere completamente le voci di menu all'avvio della mia applicazione plugin di eclissi. Quello che voglio fare è essere in grado di aggiungere queste voci di menu in un secondo momento, in base alla logica di business basata sulle azioni dell'utente. C'è un modo per fare questo? Ho guardato usando i contributi, ma sento che non sarà esattamente quello che voglio.Cambia voci di menu a livello di codice dal plug-in Eclipse

Se lo può fare fare quello che mi serve, come faccio ad usarli? Grazie in anticipo per qualsiasi assistenza.

risposta

16

È possibile ottenere il Menu dal MenuManager e quindi modificare i contributi. Questo frammento mostra come accedere al gestore menu e rimuovere un oggetto con nome.

È necessario tenere traccia degli articoli e degli indici delle voci rimossi per ripristinarli. L'unico problema è che il metodo indexOf non è visibile. L'aggiunta di questo snippet a un tipo nello stesso pacchetto di MenuManager e l'aggiunta a un frammento è a senso unico.

+0

Mi chiedevo, è possibile anche per le applicazioni basate su IDE? Ad esempio, per rimuovere alcuni dei menu di Eclipse come "Progetto". – nbz

2

Esistono diversi modi per controllare la visibilità del menu o degli elementi della barra degli strumenti in un'applicazione RCP.

Se si ha il controllo sul plug-in che contribuisce con gli articoli in questione, il modo più semplice è in genere utilizzare l'espressione visibleWhen associata al punto di estensione menus. Se si desidera verificare lo stato interno, è possibile utilizzare l'elemento test dell'espressione insieme a propertyTester.

Un'alternativa è utilizzare le attività. Questi possono controllare molte altre cose della tua applicazione, pensando che potresti aver bisogno di ri-implementare alcune delle finestre di dialogo predefinite. Vedi questo post di blog "Using activities for user management" per alcuni dettagli.

Problemi correlati