Eclipse RCP Miscs Series 1

Eclipse RCP Miscs Series 1

API
Display.getCurrent().getActiveShell()
Display.getDefault().getActiveShell()
IWorkbenchWindow window
= HandlerUtil.getActiveWorkbenchWindow(event);
URL url
= Activator.getDefault().getBundle().getResource("log4j.properties"); PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView/findView(viewName);

Get current perspective
IPerspectiveDescriptor perspective=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective();

Expand/Collapse a tree viewer
if (treeViewer.getExpandedState(firstElement))
{
    treeViewer.collapseToLevel(firstElement, AbstractTreeViewer.ALL_LEVELS);
}
else
{
    treeViewer.expandToLevel(firstElement, 1);
}
Enable Find/Replace Action
1. Register it in ApplicationActionBarAdvisor
    protected void makeActions(IWorkbenchWindow window) {
       register(ActionFactory.FIND.create(window));
    }
2. Add the command to the menu.
3. in the view:
public void createControl(Composite parent)
{
    FindReplaceAction action = new FindReplaceAction(Activator.getDefault().getResourceBundle(), "find", getSite()
        .getShell(), textViewer.getFindReplaceTarget());
    getSite().getActionBars().setGlobalActionHandler(ActionFactory.FIND.getId(), action);
}

PlatformUI.getWorkbench().showPerspective("com.frankdu.workbench.perspective_id", window);

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("com.frankdu.workbench.view_id");
Hide editor in perspective
In perspective class:
public void createInitialLayout(IPageLayout layout)
{
    layout.setEditorAreaVisible(false);
}
In 3.5
org.eclipse.ui.IWorkbenchPage.hideEditor(IEditorReference) org.eclipse.ui.IWorkbenchPage.showEditor(IEditorReference) were introduced ... they can be used to hide editors when you switch perspectives (for example, in a perspective change listener)

Override initialize method in ApplicationWorkbenchAdvisor and add configurer.setSaveAndRestore(true);
public void initialize(final IWorkbenchConfigurer configurer)
{
    super.initialize(configurer);
    configurer.setSaveAndRestore(true);
}

menuContribution
The contributions are menu ID based, not menu path based.
menuContribution locationURI="menu:file?after=additions
 
menuContribution locationURI="menu:new?after=myGroup1"

Perspective Bar
It has to be enabled from the WorkbenchWindowAdvisor to appear.
configurer.setShowPerspectiveBar(true);
The perspective bar’s default location is just below the toolbar, but it can be placed in the top right or on the left using the
IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR preference.
You can set this in the Hyperbola preferences.ini file as follows:
org.eclipse.ui/DOCK_PERSPECTIVE_BAR=TOP_RIGHT
Define what perspective would be shown in perspective bar.
org.eclipse.ui/PERSPECTIVE_BAR_EXTRAS=perspective_id

extension point="org.eclipse.ui.preferences"
  view
class="org.eclipse.ui.ExtensionFactory:newKeysPreferencePage"
      id="org.eclipsercp.hyperbola.preferences.keys"
      name="Keys"
extension
Try using the extension point "org.eclipse.ui.startup" and define a startup class for it. This class must implement IStartup, which defines earlyStartup(), as you probably know since you mentioned the method.

-consoleLog
-noExit
These can be added to launcher ini file, in Arguments tab if you start/debug rcp project in eclipse, or as program arugments in Launching tab of rcp product file.
The Eclipse runtime options

Press Alt+Shift+F1 to get information about the current running Eclipse plugin / data types / screen.
Press "Alt + Shift + F2" and select a menu to see who is contributing this menu.

In the file plugin.xml (tab dependencies), you can check if you have any dependency maintained which is actually not used, by selecting Dependency Analysis -> Find unused dependencies.
Post a Comment

Labels

Java (159) Lucene-Solr (110) Interview (61) All (58) J2SE (53) Algorithm (45) Soft Skills (36) Eclipse (34) Code Example (31) Linux (24) JavaScript (23) Spring (22) Windows (22) Web Development (20) Nutch2 (18) Tools (18) Bugs (17) Debug (16) Defects (14) Text Mining (14) J2EE (13) Network (13) Troubleshooting (12) PowerShell (11) Chrome (9) Design (9) How to (9) Learning code (9) Performance (9) UIMA (9) html (9) Http Client (8) Maven (8) Problem Solving (8) Security (8) bat (8) blogger (8) Big Data (7) Continuous Integration (7) Google (7) Guava (7) JSON (7) ANT (6) Coding Skills (6) Database (6) Scala (6) Shell (6) css (6) Algorithm Series (5) Cache (5) Dynamic Languages (5) IDE (5) Lesson Learned (5) Programmer Skills (5) Tips (5) adsense (5) xml (5) AIX (4) Code Quality (4) GAE (4) Git (4) Good Programming Practices (4) Jackson (4) Memory Usage (4) Miscs (4) OpenNLP (4) Project Managment (4) Spark (4) System Design (4) Testing (4) ads (4) regular-expression (4) Android (3) Apache Spark (3) Become a Better You (3) Concurrency (3) Eclipse RCP (3) English (3) Happy Hacking (3) IBM (3) J2SE Knowledge Series (3) JAX-RS (3) Jetty (3) Restful Web Service (3) Script (3) regex (3) seo (3) .Net (2) Android Studio (2) Apache (2) Apache Procrun (2) Architecture (2) Batch (2) Bit Operation (2) Build (2) Building Scalable Web Sites (2) C# (2) C/C++ (2) CSV (2) Career (2) Cassandra (2) Distributed (2) Fiddler (2) Firefox (2) Google Drive (2) Gson (2) How to Interview (2) Html Parser (2) Http (2) Image Tools (2) JQuery (2) Jersey (2) LDAP (2) Life (2) Logging (2) Python (2) Software Issues (2) Storage (2) Text Search (2) xml parser (2) AOP (1) Application Design (1) AspectJ (1) Chrome DevTools (1) Cloud (1) Codility (1) Data Mining (1) Data Structure (1) ExceptionUtils (1) Exif (1) Feature Request (1) FindBugs (1) Greasemonkey (1) HTML5 (1) Httpd (1) I18N (1) IBM Java Thread Dump Analyzer (1) JDK Source Code (1) JDK8 (1) JMX (1) Lazy Developer (1) Mac (1) Machine Learning (1) Mobile (1) My Plan for 2010 (1) Netbeans (1) Notes (1) Operating System (1) Perl (1) Problems (1) Product Architecture (1) Programming Life (1) Quality (1) Redhat (1) Redis (1) Review (1) RxJava (1) Solutions logs (1) Team Management (1) Thread Dump Analyzer (1) Visualization (1) boilerpipe (1) htm (1) ongoing (1) procrun (1) rss (1)

Popular Posts