Exemplo n.º 1
0
  private void updateHeaderLabel() {
    TaskRepository outgoingNewRepository = TasksUiUtil.getOutgoingNewTaskRepository(task);
    final TaskRepository taskRepository =
        (outgoingNewRepository != null)
            ? outgoingNewRepository
            : taskEditorInput.getTaskRepository();

    //		if (taskRepository.getConnectorKind().equals(LocalRepositoryConnector.CONNECTOR_KIND)) {
    //			getHeaderForm().getForm().setText(Messages.TaskEditor_Task_ + task.getSummary());
    //		} else {
    AbstractRepositoryConnectorUi connectorUi =
        TasksUiPlugin.getConnectorUi(taskRepository.getConnectorKind());
    String kindLabel = Messages.TaskEditor_Task;
    if (connectorUi != null) {
      kindLabel = connectorUi.getTaskKindLabel(task);
    }

    String idLabel = task.getTaskKey();
    if (idLabel != null) {
      kindLabel += " " + idLabel; // $NON-NLS-1$
    }

    if (hasLeftToolBar() && titleLabel != null) {
      titleLabel.setText(kindLabel);
      getHeaderForm().getForm().setText(null);
      setHeaderImage(null);
    } else {
      getHeaderForm().getForm().setText(kindLabel);
    }
  }
Exemplo n.º 2
0
  @Override
  public void init(IEditorSite site, IEditorInput input) throws PartInitException {
    if (!(input instanceof TaskEditorInput)) {
      throw new PartInitException(
          "Invalid editor input \"" + input.getClass() + "\""); // $NON-NLS-1$ //$NON-NLS-2$
    }

    super.init(site, input);

    this.taskEditorInput = (TaskEditorInput) input;
    this.task = taskEditorInput.getTask();

    // initialize selection
    site.getSelectionProvider().setSelection(new StructuredSelection(task));

    setPartName(input.getName());

    // activate context
    IContextService contextSupport = (IContextService) site.getService(IContextService.class);
    if (contextSupport != null) {
      contextSupport.activateContext(ID_EDITOR);
    }
  }
Exemplo n.º 3
0
  /** @since 3.0 */
  public void updateHeaderToolBar() {
    if (isHeaderFormDisposed()) {
      return;
    }

    final Form form = getHeaderForm().getForm().getForm();
    toolBarManager = form.getToolBarManager();

    toolBarManager.removeAll();
    //		toolBarManager.update(true);

    TaskRepository outgoingNewRepository = TasksUiUtil.getOutgoingNewTaskRepository(task);
    final TaskRepository taskRepository =
        (outgoingNewRepository != null)
            ? outgoingNewRepository
            : taskEditorInput.getTaskRepository();
    ControlContribution repositoryLabelControl =
        new ControlContribution(Messages.AbstractTaskEditorPage_Title) {
          @Override
          protected Control createControl(Composite parent) {
            FormToolkit toolkit = getHeaderForm().getToolkit();
            Composite composite = toolkit.createComposite(parent);
            RowLayout layout = new RowLayout();
            if (PlatformUiUtil.hasNarrowToolBar()) {
              layout.marginTop = 0;
              layout.marginBottom = 0;
              layout.center = true;
            }
            composite.setLayout(layout);
            composite.setBackground(null);
            String label = taskRepository.getRepositoryLabel();
            if (label.indexOf("//") != -1) { // $NON-NLS-1$
              label =
                  label.substring(
                      (taskRepository.getRepositoryUrl().indexOf("//") + 2)); // $NON-NLS-1$
            }

            ImageHyperlink link = new ImageHyperlink(composite, SWT.NONE);
            link.setText(label);
            link.setFont(JFaceResources.getBannerFont());
            link.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
            link.setToolTipText(Messages.TaskEditor_Edit_Task_Repository_ToolTip);
            link.addHyperlinkListener(
                new HyperlinkAdapter() {
                  @Override
                  public void linkActivated(HyperlinkEvent e) {
                    TasksUiUtil.openEditRepositoryWizard(taskRepository);
                  }
                });

            return composite;
          }
        };
    toolBarManager.add(repositoryLabelControl);

    toolBarManager.add(new GroupMarker("repository")); // $NON-NLS-1$
    toolBarManager.add(new GroupMarker("new")); // $NON-NLS-1$
    toolBarManager.add(new GroupMarker("open")); // $NON-NLS-1$
    toolBarManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));

    openWithBrowserAction = new OpenWithBrowserAction();
    openWithBrowserAction.selectionChanged(new StructuredSelection(task));
    if (openWithBrowserAction.isEnabled()) {
      //			ImageDescriptor overlay =
      // TasksUiPlugin.getDefault().getOverlayIcon(taskRepository.getConnectorKind());
      //			ImageDescriptor compositeDescriptor = new
      // TaskListImageDescriptor(TasksUiImages.REPOSITORY_SMALL_TOP,
      //					overlay, false, true);
      openWithBrowserAction.setImageDescriptor(CommonImages.WEB);
      // openWithBrowserAction.setImageDescriptor(CommonImages.BROWSER_OPEN_TASK);
      openWithBrowserAction.setToolTipText(Messages.AbstractTaskEditorPage_Open_with_Web_Browser);
      toolBarManager.appendToGroup("open", openWithBrowserAction); // $NON-NLS-1$
    } else {
      openWithBrowserAction = null;
    }

    if (activateAction == null) {
      activateAction =
          new ToggleTaskActivationAction(task) {
            @Override
            public void run() {
              TaskList taskList = TasksUiPlugin.getTaskList();
              if (taskList.getTask(task.getRepositoryUrl(), task.getTaskId()) == null) {
                setMessage(
                    Messages.TaskEditor_Task_added_to_the_Uncategorized_container,
                    IMessageProvider.INFORMATION);
              }
              super.run();
            }
          };
    }

    toolBarManager.add(new Separator("planning")); // $NON-NLS-1$
    disposeScheduleAction();
    scheduleAction = new TaskEditorScheduleAction(task);
    toolBarManager.add(scheduleAction);

    toolBarManager.add(new GroupMarker("page")); // $NON-NLS-1$
    for (IFormPage page : getPages()) {
      if (page instanceof TaskFormPage) {
        TaskFormPage taskEditorPage = (TaskFormPage) page;
        taskEditorPage.fillToolBar(toolBarManager);
      }
    }

    toolBarManager.add(new Separator("activation")); // $NON-NLS-1$

    //		ContributionItem spacer = new ContributionItem() {
    //			@Override
    //			public void fill(ToolBar toolbar, int index) {
    //				ToolItem item = new ToolItem(toolbar, SWT.NONE);
    //				int scaleHeight = 42;
    //				if (PlatformUtil.needsCarbonToolBarFix()) {
    //					scaleHeight = 32;
    //				}
    //				final Image image = new Image(toolbar.getDisplay(),
    // CommonImages.getImage(CommonImages.BLANK)
    //						.getImageData()
    //						.scaledTo(1, scaleHeight));
    //				item.setImage(image);
    //				item.addDisposeListener(new DisposeListener() {
    //					public void widgetDisposed(DisposeEvent e) {
    //						image.dispose();
    //					}
    //				});
    //				item.setWidth(5);
    //				item.setEnabled(false);
    //			}
    //		};
    //		toolBarManager.add(spacer);

    //		for (IFormPage page : getPages()) {
    //			if (page instanceof AbstractTaskEditorPage) {
    //				AbstractTaskEditorPage taskEditorPage = (AbstractTaskEditorPage) page;
    //				taskEditorPage.fillLeftHeaderToolBar(toolBarManager);
    //			} else if (page instanceof TaskPlanningEditor) {
    //				TaskPlanningEditor taskEditorPage = (TaskPlanningEditor) page;
    //				taskEditorPage.fillLeftHeaderToolBar(toolBarManager);
    //			}
    //		}

    // add external contributions
    menuService = (IMenuService) getSite().getService(IMenuService.class);
    if (menuService != null && toolBarManager instanceof ContributionManager) {
      menuService.populateContributionManager(
          (ContributionManager) toolBarManager,
          "toolbar:" //$NON-NLS-1$
              + ID_TOOLBAR_HEADER
              + "."
              + taskRepository.getConnectorKind()); // $NON-NLS-1$
      menuService.populateContributionManager(
          (ContributionManager) toolBarManager,
          "toolbar:" //$NON-NLS-1$
              + ID_TOOLBAR_HEADER);
    }

    toolBarManager.update(true);

    // XXX move this call
    updateLeftHeaderToolBar();
    updateHeader();
  }
Exemplo n.º 4
0
  private void updateLeftHeaderToolBar() {
    leftToolBarManager.removeAll();

    leftToolBarManager.add(new Separator("activation")); // $NON-NLS-1$
    leftToolBarManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));

    //		initialLeftToolbarSize = leftToolBarManager.getSize();

    leftToolBarManager.add(activateAction);

    //		for (IFormPage page : getPages()) {
    //			if (page instanceof AbstractTaskEditorPage) {
    //				AbstractTaskEditorPage taskEditorPage = (AbstractTaskEditorPage) page;
    //				taskEditorPage.fillLeftHeaderToolBar(leftToolBarManager);
    //			} else if (page instanceof TaskPlanningEditor) {
    //				TaskPlanningEditor taskEditorPage = (TaskPlanningEditor) page;
    //				taskEditorPage.fillLeftHeaderToolBar(leftToolBarManager);
    //			}
    //		}

    // add external contributions
    menuService = (IMenuService) getSite().getService(IMenuService.class);
    if (menuService != null && leftToolBarManager instanceof ContributionManager) {
      TaskRepository outgoingNewRepository = TasksUiUtil.getOutgoingNewTaskRepository(task);
      TaskRepository taskRepository =
          (outgoingNewRepository != null)
              ? outgoingNewRepository
              : taskEditorInput.getTaskRepository();
      menuService.populateContributionManager(
          leftToolBarManager,
          "toolbar:"
              + ID_LEFT_TOOLBAR_HEADER
              + "." //$NON-NLS-1$ //$NON-NLS-2$
              + taskRepository.getConnectorKind());
    }

    leftToolBarManager.update(true);

    if (hasLeftToolBar()) {
      // XXX work around a bug in Gtk that causes the toolbar size to be incorrect if no
      // tool bar buttons are contributed
      //			if (leftToolBar != null) {
      //				Point size = leftToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
      //				boolean changed = false;
      //				for (Control control : leftToolBar.getChildren()) {
      //					final Point childSize = control.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
      //					if (childSize.y > size.y) {
      //						size.y = childSize.y;
      //						changed = true;
      //					}
      //				}
      //				if (changed) {
      //					leftToolBar.setSize(size);
      //				}
      //			}
      //
      //			if (PlatformUtil.isToolBarHeightBroken(leftToolBar)) {
      //				ToolItem item = new ToolItem(leftToolBar, SWT.NONE);
      //				item.setEnabled(false);
      //				item.setImage(CommonImages.getImage(CommonImages.BLANK));
      //				item.setWidth(1);
      //				noExtraPadding = true;
      //			} else if (PlatformUtil.needsToolItemToForceToolBarHeight()) {
      //				ToolItem item = new ToolItem(leftToolBar, SWT.NONE);
      //				item.setEnabled(false);
      //				int scaleHeight = 22;
      //				if (PlatformUtil.needsCarbonToolBarFix()) {
      //					scaleHeight = 32;
      //				}
      //				final Image image = new Image(item.getDisplay(),
      // CommonImages.getImage(CommonImages.BLANK)
      //						.getImageData()
      //						.scaledTo(1, scaleHeight));
      //				item.setImage(image);
      //				item.addDisposeListener(new DisposeListener() {
      //					public void widgetDisposed(DisposeEvent e) {
      //						image.dispose();
      //					}
      //				});
      //				item.setWidth(1);
      //				noExtraPadding = true;
      //			}

      // fix size of toolbar on Gtk with Eclipse 3.3
      Point size = leftToolBar.getSize();
      if (size.x == 0 && size.y == 0) {
        size = leftToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
        leftToolBar.setSize(size);
      }
    }
  }