Package org.eclipse.swt.events

Examples of org.eclipse.swt.events.SelectionEvent


   */
  public void handleEvent(final Event e) {

    /* Default Selection */
    if (e.type == SWT.DefaultSelection) {
      SelectionEvent event = new SelectionEvent(e);
      if (OpenStrategy.getOpenMethod() == DOUBLE_CLICK) {
        fireOpenEvent(event);
      } else {
        if (fEnterKeyDown) {
          fireOpenEvent(event);
          fEnterKeyDown = false;
          fDefaultSelectionPendent = null;
        } else {
          fDefaultSelectionPendent = event;
        }
      }
      return;
    }

    switch (e.type) {

      /* Mouse Enter / Exit */
      case SWT.MouseEnter:
      case SWT.MouseExit:
        fMouseUpEvent = null;
        fMouseMoveEvent = null;
        fSelectionPendent = null;
        break;

      /* Mouse Move */
      case SWT.MouseMove:
        if ((OpenStrategy.getOpenMethod() & SELECT_ON_HOVER) == 0)
          return;

        if (e.stateMask != 0)
          return;

        if (e.widget.getDisplay().getFocusControl() != e.widget)
          return;

        fMouseMoveEvent = e;
        final Runnable runnable[] = new Runnable[1];
        runnable[0] = new Runnable() {
          public void run() {
            long time = System.currentTimeMillis();
            int diff = (int) (time - fStartTime);
            if (diff <= TIME) {
              fDisplay.timerExec(diff * 2 / 3, runnable[0]);
            } else {
              fTimerStarted = false;
              setSelection(fMouseMoveEvent);
            }
          }
        };

        fStartTime = System.currentTimeMillis();
        if (!fTimerStarted) {
          fTimerStarted = true;
          fDisplay.timerExec(TIME * 2 / 3, runnable[0]);
        }
        break;

      /* Mouse Down */
      case SWT.MouseDown:
        fMouseUpEvent = null;
        fArrowKeyDown = false;
        break;

      /* TreeItem Expand */
      case SWT.Expand:
        fExpandOccurred = true;
        break;

      /* TreeItem Collapse */
      case SWT.Collapse:
        fCollapseOccurred = true;
        break;

      /* Mouse Up */
      case SWT.MouseUp:
        fMouseMoveEvent = null;
        if ((e.button != 1) || ((e.stateMask & ~SWT.BUTTON1) != 0))
          return;

        if (fSelectionPendent != null && !(fCollapseOccurred || fExpandOccurred)) {
          mouseSelectItem(fSelectionPendent);
        } else {
          fMouseUpEvent = e;
          fCollapseOccurred = false;
          fExpandOccurred = false;
        }
        break;

      /* Key Down */
      case SWT.KeyDown:
        fMouseMoveEvent = null;
        fMouseUpEvent = null;
        fArrowKeyDown = ((e.keyCode == SWT.ARROW_UP) || (e.keyCode == SWT.ARROW_DOWN)) && e.stateMask == 0;
        if (e.character == SWT.CR) {
          if (fDefaultSelectionPendent != null) {
            fireOpenEvent(new SelectionEvent(e));
            fEnterKeyDown = false;
            fDefaultSelectionPendent = null;
          } else {
            fEnterKeyDown = true;
          }
        }
        break;

      /* Selection */
      case SWT.Selection:
        SelectionEvent event = new SelectionEvent(e);
        fMouseMoveEvent = null;
        if (fMouseUpEvent != null)
          mouseSelectItem(event);
        else
          fSelectionPendent = event;

        fCount[0]++;
        final int id = fCount[0];

        if (fArrowKeyDown) {
          if (id == fCount[0]) {
            if ((OpenStrategy.getOpenMethod() & ARROW_KEYS_OPEN) != 0)
              fireOpenEvent(new SelectionEvent(e));
          }
        }
        break;
    }
  }
View Full Code Here


    Widget w = e.widget;
    if (w.isDisposed())
      return;

    SelectionEvent selEvent = new SelectionEvent(e);

    /*
     * ISSUE: May have to create a interface with method: setSelection(Point p)
     * so that user's custom widgets can use this class. If we keep this option.
     */
 
View Full Code Here

        Event event = new Event();
        event.widget = e.widget;
        event.data = e.data;
        event.display = e.display;
        event.time = e.time;
        return new SelectionEvent(event){
            /** <code>serialVersionUID</code> field */
            private static final long serialVersionUID = 6544345585295778029L;

            @Override
            public Object getSource() {
View Full Code Here

            boolean expandOccurred = false;

            public void handleEvent(final Event e) {
                if (e.type == SWT.DefaultSelection) {
                    SelectionEvent event = new SelectionEvent(e);
                    fireDefaultSelectionEvent(event);
                    if (CURRENT_METHOD == DOUBLE_CLICK) {
                        fireOpenEvent(event);
                    } else {
                        if (enterKeyDown) {
                            fireOpenEvent(event);
                            enterKeyDown = false;
                            defaultSelectionPendent = null;
                        } else {
                            defaultSelectionPendent = event;
                        }
                    }
                    return;
                }

                switch (e.type) {
                case SWT.MouseEnter:
                case SWT.MouseExit:
                    mouseUpEvent = null;
                    mouseMoveEvent = null;
                    selectionPendent = null;
                    break;
                case SWT.MouseMove:
                    if ((CURRENT_METHOD & SELECT_ON_HOVER) == 0) {
            return;
          }
                    if (e.stateMask != 0) {
            return;
          }
                    if (e.widget.getDisplay().getFocusControl() != e.widget) {
            return;
          }
                    mouseMoveEvent = e;
                    final Runnable runnable[] = new Runnable[1];
                    runnable[0] = new Runnable() {
                        public void run() {
                            long time = System.currentTimeMillis();
                            int diff = (int) (time - startTime);
                            if (diff <= TIME) {
                                display.timerExec(diff * 2 / 3, runnable[0]);
                            } else {
                                timerStarted = false;
                                setSelection(mouseMoveEvent);
                            }
                        }
                    };
                    startTime = System.currentTimeMillis();
                    if (!timerStarted) {
                        timerStarted = true;
                        display.timerExec(TIME * 2 / 3, runnable[0]);
                    }
                    break;
                case SWT.MouseDown:
                    mouseUpEvent = null;
                    arrowKeyDown = false;
                    break;
                case SWT.Expand:
                    expandOccurred = true;
                    break;
                case SWT.Collapse:
                    collapseOccurred = true;
                    break;
                case SWT.MouseUp:
                    mouseMoveEvent = null;
                    if ((e.button != 1) || ((e.stateMask & ~SWT.BUTTON1) != 0)) {
            return;
          }
                    if (selectionPendent != null
                            && !(collapseOccurred || expandOccurred)) {
                        mouseSelectItem(selectionPendent);
                    } else {
                        mouseUpEvent = e;
                        collapseOccurred = false;
                        expandOccurred = false;
                    }
                    break;
                case SWT.KeyDown:
                    mouseMoveEvent = null;
                    mouseUpEvent = null;
                    arrowKeyDown = ((e.keyCode == SWT.ARROW_UP) || (e.keyCode == SWT.ARROW_DOWN))
                            && e.stateMask == 0;
                    if (e.character == SWT.CR) {
                        if (defaultSelectionPendent != null) {
                            fireOpenEvent(new SelectionEvent(e));
                            enterKeyDown = false;
                            defaultSelectionPendent = null;
                        } else {
                            enterKeyDown = true;
                        }
                    }
                    break;
                case SWT.Selection:
                    SelectionEvent event = new SelectionEvent(e);
                    fireSelectionEvent(event);
                    mouseMoveEvent = null;
                    if (mouseUpEvent != null) {
            mouseSelectItem(event);
          } else {
            selectionPendent = event;
          }
                    count[0]++;
                    final int id = count[0];
                    // In the case of arrowUp/arrowDown when in the arrowKeysOpen mode, we
                    // want to delay any selection until the last arrowDown/Up occurs.  This
                    // handles the case where the user presses arrowDown/Up successively.
                    // We only want to open an editor for the last selected item.
                    display.asyncExec(new Runnable() {
                        public void run() {
                            if (arrowKeyDown) {
                                display.timerExec(TIME, new Runnable() {

                                    public void run() {
                                        if (id == count[0]) {
                                            firePostSelectionEvent(new SelectionEvent(
                                                    e));
                                            if ((CURRENT_METHOD & ARROW_KEYS_OPEN) != 0) {
                        fireOpenEvent(new SelectionEvent(
                                                        e));
                      }
                                        }
                                    }
                                });
                            } else {
                                firePostSelectionEvent(new SelectionEvent(e));
                            }
                        }
                    });
                    break;
                }
            }

            void mouseSelectItem(SelectionEvent e) {
                if ((CURRENT_METHOD & SINGLE_CLICK) != 0) {
          fireOpenEvent(e);
        }
                mouseUpEvent = null;
                selectionPendent = null;
            }

            void setSelection(Event e) {
                if (e == null) {
          return;
        }
                Widget w = e.widget;
                if (w.isDisposed()) {
          return;
        }

                SelectionEvent selEvent = new SelectionEvent(e);

                /*ISSUE: May have to create a interface with method:
                 setSelection(Point p) so that user's custom widgets
                 can use this class. If we keep this option. */
                if (w instanceof Tree) {
View Full Code Here

    if (!(event.widget instanceof Control)) {
      return;
    }
    if (getDecorationRectangle((Control) event.widget).contains(event.x,
        event.y)) {
      SelectionEvent clientEvent = new SelectionEvent(event);
      clientEvent.data = this;
      if (getImage() != null) {
        clientEvent.height = getImage().getBounds().height;
        clientEvent.width = getImage().getBounds().width;
      }
View Full Code Here

        styledText.addSelectionListener( selectionListener );
        Listener listener = new Listener()
        {
            public void handleEvent( Event e )
            {
                selectionListener.widgetSelected( new SelectionEvent( e ) );
            }
        };
        styledText.addListener( SWT.Modify, listener );
        modifyListeners.put( selectionListener, listener );
        return true;
View Full Code Here

      case SWT.Deiconify: {
        ((ShellListener) eventListener).shellDeiconified(new ShellEvent(e));
        break;
      }
      case SWT.DefaultSelection: {
        ((SelectionListener)eventListener).widgetDefaultSelected(new SelectionEvent(e));
        break;
      }
      case SWT.Dispose: {
        ((DisposeListener) eventListener).widgetDisposed(new DisposeEvent(e));
        break;
      }
      case SWT.DragDetect: {
        ((DragDetectListener) eventListener).dragDetected(new DragDetectEvent(e));
        break;
      }
      case SWT.Expand: {
        if (eventListener instanceof TreeListener) {
          ((TreeListener) eventListener).treeExpanded(new TreeEvent(e));
        } else {
          ((ExpandListener) eventListener).itemExpanded(new ExpandEvent(e))
        }
        break;
      }
      case SWT.FocusIn: {
        ((FocusListener) eventListener).focusGained(new FocusEvent(e));
        break;
      }
      case SWT.FocusOut: {
        ((FocusListener) eventListener).focusLost(new FocusEvent(e));
        break;
      }
      case SWT.Gesture: {
        GestureEvent event = new GestureEvent(e);
        ((GestureListener)eventListener).gesture(event);
        e.doit = event.doit;
        break;
      }
      case SWT.Help: {
        ((HelpListener) eventListener).helpRequested (new HelpEvent (e));
        break;
      }
      case SWT.Hide: {
        ((MenuListener) eventListener).menuHidden(new MenuEvent(e));
        break;
      }
      case SWT.Iconify: {
        ((ShellListener) eventListener).shellIconified(new ShellEvent(e));
        break;
      }
      case SWT.KeyDown: {
        /* Fields set by Control */
        KeyEvent event = new KeyEvent(e);
        ((KeyListener) eventListener).keyPressed(event);
        e.doit = event.doit;
        break;
      }
      case SWT.KeyUp: {
        /* Fields set by Control */
        KeyEvent event = new KeyEvent(e);
        ((KeyListener) eventListener).keyReleased(event);
        e.doit = event.doit;
        break;
      }
      case SWT.Modify: {
        ((ModifyListener) eventListener).modifyText(new ModifyEvent(e));
        break;
      }
      case SWT.MenuDetect: {
        MenuDetectEvent event = new MenuDetectEvent(e);
        ((MenuDetectListener) eventListener).menuDetected(event);
        e.x = event.x;
        e.y = event.y;
        e.doit = event.doit;
        e.detail = event.detail;
        break;
      }
      case SWT.MouseDown: {
        ((MouseListener) eventListener).mouseDown(new MouseEvent(e));
        break;
      }
      case SWT.MouseDoubleClick: {
        ((MouseListener) eventListener).mouseDoubleClick(new MouseEvent(e));
        break;
      }
      case SWT.MouseEnter: {
        ((MouseTrackListener) eventListener).mouseEnter (new MouseEvent (e));
        break;
      }
      case SWT.MouseExit: {
        ((MouseTrackListener) eventListener).mouseExit (new MouseEvent (e));
        break;
      }
      case SWT.MouseHover: {
        ((MouseTrackListener) eventListener).mouseHover (new MouseEvent (e));
        break;
      }
      case SWT.MouseMove: {
        ((MouseMoveListener) eventListener).mouseMove(new MouseEvent(e));
        return;
      }
      case SWT.MouseWheel: {
        ((MouseWheelListener) eventListener).mouseScrolled(new MouseEvent(e));
        return;
      }
      case SWT.MouseUp: {
        ((MouseListener) eventListener).mouseUp(new MouseEvent(e));
        break;
      }
      case SWT.Move: {
        ((ControlListener) eventListener).controlMoved(new ControlEvent(e));
        break;
      }
      case SWT.Paint: {
        /* Fields set by Control */
        PaintEvent event = new PaintEvent (e);
        ((PaintListener) eventListener).paintControl (event);
        e.gc = event.gc;
        break;
      }
      case SWT.Resize: {
        ((ControlListener) eventListener).controlResized(new ControlEvent(e));
        break;
      }
      case SWT.Segments: {
        SegmentEvent event = new SegmentEvent(e);
        ((SegmentListener) eventListener).getSegments(event);
        e.segments = event.segments;
        e.segmentsChars = event.segmentsChars;
        break;
      }
      case SWT.Selection: {
        /* Fields set by Sash */
        SelectionEvent event = new SelectionEvent (e);
        ((SelectionListener) eventListener).widgetSelected (event);     
        e.x = event.x;
        e.y = event.y;
        e.doit = event.doit;
        break;
View Full Code Here

TOP

Related Classes of org.eclipse.swt.events.SelectionEvent

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.