private Composite createStatusComposite(final Composite container) { GC gc = new GC(container); Point p = gc.textExtent("WWWWWWWWWWWWWWW"); // $NON-NLS-1$ gc.dispose(); activeTaskLabel = new TaskScalingHyperlink(container, SWT.RIGHT); // activeTaskLabel.setLayoutData(new GridData(p.x, SWT.DEFAULT)); GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, true); gridData.widthHint = p.x; gridData.minimumWidth = p.x; gridData.horizontalIndent = 0; activeTaskLabel.setLayoutData(gridData); activeTaskLabel.setText(Messages.TaskTrimWidget__no_task_active_); activeTask = TasksUi.getTaskActivityManager().getActiveTask(); if (activeTask != null) { indicateActiveTask(); } activeTaskLabel.addMenuDetectListener( new MenuDetectListener() { public void menuDetected(MenuDetectEvent e) { if (menu != null) { menu.dispose(); } menu = menuManager.createContextMenu(container); menu.setVisible(true); } }); activeTaskLabel.addHyperlinkListener( new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { TaskListView taskListView = TaskListView.getFromActivePerspective(); if (taskListView != null && taskListView.getDrilledIntoCategory() != null) { taskListView.goUpToRoot(); } TasksUiInternal.refreshAndOpenTaskListElement( (TasksUi.getTaskActivityManager().getActiveTask())); } }); activeTaskLabel.addMouseListener( new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { // only handle left clicks, context menu is handled by platform if (e.button == 1) { if (activeTask == null) { return; } TaskListView taskListView = TaskListView.getFromActivePerspective(); if (taskListView != null && taskListView.getDrilledIntoCategory() != null) { taskListView.goUpToRoot(); } TasksUiInternal.refreshAndOpenTaskListElement(activeTask); } } }); return activeTaskLabel; }