コード例 #1
0
ファイル: CommitEditorPage.java プロジェクト: stefanlay/egit
  private void createFilesArea(Composite parent, FormToolkit toolkit, int span) {
    Section files = createSection(parent, toolkit, span);
    Composite filesArea = createSectionClient(files, toolkit);
    GridLayout filesAreaLayout = (GridLayout) filesArea.getLayout();
    filesAreaLayout.marginLeft = 0;
    filesAreaLayout.marginRight = 0;
    filesAreaLayout.marginTop = 0;
    filesAreaLayout.marginBottom = 0;

    CommitFileDiffViewer viewer =
        new CommitFileDiffViewer(
            filesArea,
            getSite(),
            SWT.MULTI
                | SWT.H_SCROLL
                | SWT.V_SCROLL
                | SWT.FULL_SELECTION
                | toolkit.getBorderStyle());
    // commit file diff viewer uses a nested composite with a stack layout
    // and so margins need to be applied to have form toolkit style borders
    toolkit.paintBordersFor(viewer.getTable().getParent());
    viewer.getTable().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
    StackLayout viewerLayout = (StackLayout) viewer.getControl().getParent().getLayout();
    viewerLayout.marginHeight = 2;
    viewerLayout.marginWidth = 2;
    GridDataFactory.fillDefaults()
        .grab(true, true)
        .hint(SWT.DEFAULT, 80)
        .applyTo(viewer.getTable().getParent());
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setTreeWalk(getCommit().getRepository(), null);

    FileDiff[] diffs = getCommit().getDiffs();
    viewer.setInput(diffs);
    files.setText(
        MessageFormat.format(UIText.CommitEditorPage_SectionFiles, Integer.valueOf(diffs.length)));

    updateSectionClient(files, filesArea, toolkit);
  }
コード例 #2
0
ファイル: CommitEditorPage.java プロジェクト: stefanlay/egit
  private void createBranchesArea(Composite parent, FormToolkit toolkit, int span) {
    branchSection = createSection(parent, toolkit, span);
    Composite branchesArea = createSectionClient(branchSection, toolkit);

    branchViewer = new TableViewer(toolkit.createTable(branchesArea, SWT.V_SCROLL | SWT.H_SCROLL));
    GridDataFactory.fillDefaults()
        .grab(true, true)
        .hint(SWT.DEFAULT, 50)
        .applyTo(branchViewer.getControl());
    branchViewer.setSorter(new ViewerSorter());
    branchViewer.setLabelProvider(
        new GitLabelProvider() {

          public String getText(Object element) {
            return Repository.shortenRefName(super.getText(element));
          }
        });
    branchViewer.setContentProvider(ArrayContentProvider.getInstance());
    branchViewer.getTable().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);

    fillBranches();

    updateSectionClient(branchSection, branchesArea, toolkit);
  }
コード例 #3
0
ファイル: CommitEditorPage.java プロジェクト: stefanlay/egit
  private void createMessageArea(Composite parent, FormToolkit toolkit, int span) {
    Section messageSection = createSection(parent, toolkit, span);
    Composite messageArea = createSectionClient(messageSection, toolkit);

    messageSection.setText(UIText.CommitEditorPage_SectionMessage);

    RevCommit commit = getCommit().getRevCommit();
    String message = commit.getFullMessage();

    PersonIdent author = commit.getAuthorIdent();
    if (author != null) message = replaceSignedOffByLine(message, author);
    PersonIdent committer = commit.getCommitterIdent();
    if (committer != null) message = replaceSignedOffByLine(message, committer);

    SpellcheckableMessageArea textContent =
        new SpellcheckableMessageArea(messageArea, message, true, toolkit.getBorderStyle()) {

          @Override
          protected IAdaptable getDefaultTarget() {
            return new PlatformObject() {
              public Object getAdapter(Class adapter) {
                return Platform.getAdapterManager().getAdapter(getEditorInput(), adapter);
              }
            };
          }

          protected void createMarginPainter() {
            // Disabled intentionally
          }
        };
    if ((toolkit.getBorderStyle() & SWT.BORDER) == 0)
      textContent.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
    GridDataFactory.fillDefaults().hint(SWT.DEFAULT, 80).grab(true, true).applyTo(textContent);

    updateSectionClient(messageSection, messageArea, toolkit);
  }