2008-10-05 16 views
28

से एक दृश्य दिखा रहा है मेरे पास एक ग्रहण आरसीपी अनुप्रयोग में एक प्लग-इन है जिसमें एक दृश्य है। आरसीपी अनुप्रयोग में एक घटना होने के बाद, प्लग-इन को तत्काल किया जाता है, इसकी विधियों को प्लग-इन के मॉडल को पॉप्युलेट करने के लिए बुलाया जाता है, लेकिन मुझे "दृश्य दिखाएं ..." मेनू पर बिना दृश्य को कैसे दिखाना है, ।प्रोग्राम्सिक रूप से एक ग्रहण प्लग-इन

मुझे लगता है कि वर्कबेंच सिंगलटन में कुछ ऐसा होगा जो इसे संभाल सकता है, लेकिन मुझे यह पता नहीं चला कि कहीं भी।

उत्तर

45

आप शायद इस लिए देख रहे हैं:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId"); 
+2

यह ध्यान रखना महत्वपूर्ण है कि arg0 दृश्य भाग का VIEW_ID फ़ील्ड हो सकता है। – JeffV

+0

मैं इसे कहां रखूं? मैंने इसे अपने सभी वर्गों में रखा, लेकिन अभी भी काम नहीं करता है। (मैंने आरसीपी आवेदन के भीतर गलती से दृश्य बंद कर दिया) – Sterls

18

हैं, तो एक आदेश

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId); 

के संचालक से कहा जाता है बेहतर होगा के रूप में मुझे पता है।

4

मुझे खोले जाने के बाद दृश्य को सामने लाने और पृष्ठभूमि में धक्का देने की आवश्यकता मिली। सक्रिय विधि चाल करता है।

PlatformUI.getWorkbench() 
    .getActiveWorkbenchWindow() 
    .getActivePage() 
    .activate(workbenchPartToActivate); 

नोट: workbenchPartToActivate IWorkbenchPart का एक उदाहरण है।

0

ई 4 में, ईपार्ट सेवा सेवा खोलने के लिए ज़िम्मेदार है। इसका उपयोग ई 3 व्यूपार्ट्स खोलने के लिए भी किया जा सकता है। अपने IEclipseContext के माध्यम से निम्न श्रेणी को इंस्टेंट करें, ओपनपार्ट-विधि को कॉल करें, और आपको ग्रहण आंतरिक ब्राउज़र दृश्य देखना चाहिए।

public class Opener { 
    @Inject 
    EPartService partService; 

    public void openPart() { 
     MPart part = partService.createPart("org.eclipse.ui.browser.view"); 
     part.setLabel("Browser"); 

     partService.showPart(part, PartState.ACTIVATE); 
    } 
} 

Here आप कैसे यह आपके Application.e4xmi साथ मिलकर काम करता का एक उदाहरण मिल सकते हैं।

संबंधित मुद्दे