Package org.eclipse.swt.widgets

Examples of org.eclipse.swt.widgets.TreeItem


      JobRunner.runDelayedFlagInversion(200, fBlockNewsStateTracker);
  }

  private void onMouseMove(Event event) {
    Point p = new Point(event.x, event.y);
    TreeItem item = fCustomTree.getControl().getItem(p);

    /* Problem / Group hovered - reset */
    if (item == null || item.isDisposed() || item.getData() instanceof EntityGroup) {
      if (fShowsHandCursor && !fCustomTree.getControl().isDisposed()) {
        fCustomTree.getControl().setCursor(null);
        fShowsHandCursor = false;
      }
      return;
    }

    /* Show Hand-Cursor if action can be performed */
    boolean changeToHandCursor = item.getImageBounds(COL_TITLE).contains(p) || item.getImageBounds(COL_STICKY).contains(p);
    if (!fShowsHandCursor && changeToHandCursor) {
      fCustomTree.getControl().setCursor(fHandCursor);
      fShowsHandCursor = true;
    } else if (fShowsHandCursor && !changeToHandCursor) {
      fCustomTree.getControl().setCursor(null);
View Full Code Here


   */
  public TreeItemAdapter getParent() {
    if (fTree != null)
      return this;

    TreeItem parentItem = fTreeItem.getParentItem();
    if (parentItem != null)
      return new TreeItemAdapter(parentItem);

    return new TreeItemAdapter(fTreeItem.getParent());
  }
View Full Code Here

    /* For each selected Element */
    Object[] selectedElements = selection.toArray();
    for (Object selectedElement : selectedElements) {
      Widget widget = findItem(selectedElement);
      if (widget instanceof TreeItem) {
        TreeItem item = (TreeItem) widget;
        TreeItemAdapter parent = new TreeItemAdapter(item).getParent();

        int index = parent.indexOf(item);
        minSelectedIndex = Math.min(minSelectedIndex, index);
        if (index == minSelectedIndex)
View Full Code Here

    /* Require a Tree-Item here */
    if (!isSet(fItem))
      return null;

    TreeItem parent = fItem.getParentItem();

    /* Item is not Root-Leveld */
    if (isSet(parent)) {
      int index = parent.indexOf(fItem);

      if (parent.getItemCount() > index + 1)
        return new WidgetTreeNode(parent.getItem(index + 1), fViewer);

      return null;
    }

    /* Item is Root-Leveld */
 
View Full Code Here

    /* Require a Tree-Item here */
    if (!isSet(fItem))
      return null;

    TreeItem parent = fItem.getParentItem();

    /* Item is not Root-Leveld */
    if (isSet(parent)) {
      int index = parent.indexOf(fItem);

      if (index > 0)
        return new WidgetTreeNode(parent.getItem(index - 1), fViewer);

      return null;
    }

    /* Item is Root-Leveld */
 
View Full Code Here

      /* Update Checks on Selection */
      fViewer.getTree().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
          if (e.detail == SWT.CHECK) {
            TreeItem item = (TreeItem) e.item;

            /* Disable selection for Folders if SELECT_BIN */
            if (fMode == Mode.SELECT_BIN && item.getData() instanceof IFolder) {
              e.detail = SWT.NONE;
              e.doit = false;
              item.setChecked(false);
            }

            /* Normal selection behavior otherwise */
            else {
              IFolderChild folderChild = (IFolderChild) item.getData();
              setChildsChecked(folderChild, item.getChecked(), false, true);
              cache(folderChild, item.getChecked());

              if (!item.getChecked())
                setParentsChecked(folderChild, false, true);
            }
          }
        }
      });
View Full Code Here

                  Control[] formChilds = form.getChildren();
                  if (formChilds.length != 0 && formChilds[0] instanceof Tree) {
                    Tree tree = (Tree) formChilds[0];
                    if (tree.getItemCount() != 0) {
                      TreeItem root = tree.getItem(0);
                      root.setExpanded(true);
                    }
                  }
                }
              }
            }
View Full Code Here

    for (TreeItem item : oldSelection) {
      oldSelectionObjects.add(item.getData());
    }

    /* Check if Last Selected Item is an Entity Group */
    TreeItem lastSelectedItem = oldSelection[oldSelection.length - 1];
    if (lastSelectedItem.getData() instanceof EntityGroup) {

      /* Given this group gets deleted, use the next or previous entity group as input for the WidgetTreeNode below */
      int indexOfEntityGroup = tree.indexOf(lastSelectedItem);
      if (tree.getItemCount() > indexOfEntityGroup + 1) //Try Next
        lastSelectedItem = tree.getItem(indexOfEntityGroup + 1);
      else if (indexOfEntityGroup > 0) //Try Previous
        lastSelectedItem = tree.getItem(indexOfEntityGroup - 1);
    }

    /* Navigate to next News if possible */
    ITreeNode startingNode = new WidgetTreeNode(lastSelectedItem, this);
    ISelection newSelection = navigate(startingNode, true);

    /* Try previous News if possible then */
    if (newSelection == null)
      newSelection = navigate(startingNode, false);

    /* Perform Deletion */
    runnable.run();

    /* Ensure that an updated selection is required */
    boolean updateSelection = false;
    for (int i = 0; i < oldSelection.length; i++) {
      TreeItem oldSelectedItem = oldSelection[i];
      Object oldSelectedObject = oldSelectionObjects.get(i);

      /* Update if Item is now Disposed or contains a different Object */
      if (oldSelectedItem.isDisposed() || (oldSelectedObject != null && !oldSelectedObject.equals(oldSelectedItem.getData()))) {
        updateSelection = true;
        break;
      }
    }

View Full Code Here

  private void onMouseUp(Event event) {

    /* Middle Mouse Button pressed */
    if (event.button == 2) {
      Point p = new Point(event.x, event.y);
      TreeItem item = fCustomTree.getControl().getItem(p);

      /* Problem - return */
      if (item == null || item.isDisposed())
        return;

      /* Open News */
      Object element = item.getData();
      if (element instanceof INews)
        new OpenInBrowserAction(new StructuredSelection(element), WebBrowserContext.createFrom((INews) element, fEditorInput.getMark())).run();
    }
  }
View Full Code Here

    }
  }

  private void onMouseDown(Event event) {
    Point p = new Point(event.x, event.y);
    TreeItem item = fCustomTree.getControl().getItem(p);

    /* Problem - return */
    if (item == null || item.isDisposed())
      return;

    /* Mouse-Up over Read-State-Column */
    if (event.button == 1 && isInImageBounds(item, NewsColumn.TITLE, p)) {
      Object data = item.getData();

      /* Toggle State between Read / Unread */
      if (data instanceof INews) {
        INews news = (INews) data;
        INews.State newState = (news.getState() == INews.State.READ) ? INews.State.UNREAD : INews.State.READ;

        /* Set State */
        fBlockNewsStateTracker.set(true);
        try {
          setNewsState(news, newState, false);
        } finally {
          fBlockNewsStateTracker.set(false);
        }
        fLastColumnActionInvokedMillies = System.currentTimeMillis();

        /*
         * This is a workaround: Immediately after the mouse-down-event has been
         * issued, a selection-event is triggered. This event is resulting in the
         * news-state-tracker to run and mark the selected news as read again. To
         * avoid this, we disable the tracker for a short while and set it back to
         * enabled again.
         */
        JobRunner.runDelayedFlagInversion(200, fBlockNewsStateTracker);
      }
    }

    /* Mouse-Up over Sticky-State-Column */
    else if (event.button == 1 && isInImageBounds(item, NewsColumn.STICKY, p)) {
      final Object data = item.getData();

      /* Toggle State between Sticky / Not Sticky */
      if (data instanceof INews) {
        Runnable runnable = new Runnable() {
          public void run() {
            new MakeNewsStickyAction(new StructuredSelection(data)).run();
          }
        };

        INews news = (INews) data;
        if (news.getState() != INews.State.READ && isGroupingByStickyness()) //Workaround for Bug 1279
          JobRunner.runInBackgroundThread(50, runnable);
        else
          runnable.run();

        fLastColumnActionInvokedMillies = System.currentTimeMillis();
      }
    }

    /* Mouse-Up over Attachments-Column */
    else if (event.button == 1 && isInImageBounds(item, NewsColumn.ATTACHMENTS, p)) {
      Object data = item.getData();

      MenuManager contextMenu = new MenuManager();
      ApplicationActionBarAdvisor.fillAttachmentsMenu(contextMenu, new StructuredSelection(data), fEditorSite, true);

      if (fAttachmentsMenu != null)
        fAttachmentsMenu.dispose();

      fAttachmentsMenu = contextMenu.createContextMenu(fViewer.getControl());

      Point cursorLocation = item.getDisplay().getCursorLocation();
      cursorLocation.y = cursorLocation.y + 16;
      fAttachmentsMenu.setLocation(cursorLocation);
      fAttachmentsMenu.setVisible(true);

      fLastColumnActionInvokedMillies = System.currentTimeMillis();
View Full Code Here

TOP

Related Classes of org.eclipse.swt.widgets.TreeItem

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.