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

            public void widgetSelected(SelectionEvent e) {
                Event event = new Event();
                event.widget = MonthSelector.this;
                event.detail = DateChooserAction.monthSelected;
                SelectionEvent selectionEvent = new SelectionEvent(event);
                sendSelectionEvent(selectionEvent);
            }
        });

        yearSelector = new Spinner(this, SWT.FLAT);
        yearSelector.setLayoutData(yearData);
        yearSelector.setMaximum(9999);
        yearSelector.setMinimum(1970);
        yearSelector.addSelectionListener(new SelectionListener() {
            public void widgetDefaultSelected(SelectionEvent e) {
            }


            public void widgetSelected(SelectionEvent e) {
                doUpdate = false;
                Event event = new Event();
                event.widget = MonthSelector.this;
                event.detail = DateChooserAction.yearSelected;
                SelectionEvent selectionEvent = new SelectionEvent(event);
                sendSelectionEvent(selectionEvent);
                doUpdate = true;
            }
        });

        Button next = new Button(this, SWT.NONE);
        next.setLayoutData(buttonData);
        // label to select the next month.
        // Label nextMonthLabel = new Label(this, SWT.FLAT);
        // nextMonthLabel.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
        // style.setStyle(nextMonthLabel, MonthSelectorStyle.NEXTMONTHBUTTON);

        // add mouse listeners
        // set up button for previous month
        Display display = Display.getCurrent();
        InputStream imageStream;
        try {
            imageStream = MonthSelector.class.getResource(style.previousMonthImageName).openStream();
            previousMonthImage = new Image(display, imageStream);
            if (previousMonthImage != null) {
                previous.setImage(previousMonthImage);
            }
        } catch (Exception e) {
            // ignore
        }
        previous.addMouseListener(new MouseAdapter() {
            public void mouseUp(MouseEvent mouseEvent) {
                Event event = new Event();
                event.widget = MonthSelector.this;
                event.detail = DateChooserAction.previousMonthSelected;
                SelectionEvent selectionEvent = new SelectionEvent(event);
                sendSelectionEvent(selectionEvent);
            }
        });

        // set up label and listener for selecting next month
        try {
            imageStream = MonthSelector.class.getResource(style.nextMonthImageName).openStream();
            nextMonthImage = new Image(display, imageStream);
            if (nextMonthImage != null) {
                next.setImage(nextMonthImage);
            }
        } catch (Exception e) {
            // ignore
        }
        next.addMouseListener(new MouseAdapter() {
            public void mouseUp(MouseEvent mouseEvent) {
                Event event = new Event();
                event.widget = MonthSelector.this;
                event.detail = DateChooserAction.nextMonthSelected;
                SelectionEvent selectionEvent = new SelectionEvent(event);
                sendSelectionEvent(selectionEvent);
            }
        });
    }
View Full Code Here

        todayButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent selectionEvent) {
                Event event = new Event();
                event.widget = TodaySelector.this;
                event.detail = DateChooserAction.todaySelected;
                selectionEvent = new SelectionEvent(event);
                sendSelectionEvent(selectionEvent);
            }
        });
    }
View Full Code Here

            Event event = new Event();
            event.type = SWT.Selection;
            Display display = Display.getCurrent();
            event.display = display;
            event.widget = this;
            selectionEvent = new SelectionEvent(event);
        }
        for (int i = 0; i < selectionListeners.size(); i++) {
            SelectionListener listener = (SelectionListener) selectionListeners.elementAt(i);
            if (listener != null)
                listener.widgetSelected(selectionEvent);
View Full Code Here

            Event event = new Event();
            event.type = SWT.Selection;
            Display display = Display.getCurrent();
            event.display = display;
            event.widget = datePane;
            selectionEvent = new SelectionEvent(event);
        }
        for (int i = 0; i < selectionListeners.size(); i++) {
            SelectionListener listener = (SelectionListener) selectionListeners.elementAt(i);
            if (listener != null)
                listener.widgetSelected(selectionEvent);
View Full Code Here

        }
        selectedDay = iDay;
        Event event = new Event();
        event.widget = this;
        event.detail = DateChooserAction.calendarButtonSelected;
        SelectionEvent selectionEvent = new SelectionEvent(event);
        sendSelectionEvent(selectionEvent);
    }
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

            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;
                        selectionPendent= null;
                    }
                    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;
                        }
                    }
                    collapseOccurred= false;
                    expandOccurred= false;
                    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

    assertThat(sorter.getSelectedColumn(), nullValue());

    TreeColumn column = new TreeColumn(sorter.getViewer().getTree(), SWT.NONE);
    Event event = new Event();
    event.widget = column;
    SelectionEvent selectionEvent = new SelectionEvent(event);

    sorter.widgetSelected(selectionEvent);
    assertThat(sorter.getSelectedColumn(), sameInstance(column));
  }
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.