Java 类org.eclipse.swt.widgets.Tracker 实例源码

项目:skin4eclipse    文件:PartListControl.java   
public void run() {
    isDeactivateListenerActive = false;
    Tracker tracker = new Tracker(rootControl.getDisplay(), SWT.NONE);
    tracker.setStippled(true);
    Rectangle[] r = new Rectangle[] { fFilterText.getShell().getBounds() };
    tracker.setRectangles(r);
    if (tracker.open()) {
        rootControl.setBounds(tracker.getRectangles()[0]);
        if (fBounds != null && restoresLocation()) {
            IPreferenceStore store = getStore();
            store.setValue(ThemeConstants.PART_LIST_LOCATION_X, fBounds.x);
            store.setValue(ThemeConstants.PART_LIST_LOCATION_Y, fBounds.y);
        }
    }
    isDeactivateListenerActive = true;
}
项目:gef-gwt    文件:PopupDialog.java   
/**
 * Perform the requested tracker action (resize or move).
 * 
 * @param style
 *            The track style (resize or move).
 */
private void performTrackerAction(int style) {
    Shell shell = getShell();
    if (shell == null || shell.isDisposed()) {
        return;
    }

    Tracker tracker = new Tracker(shell.getDisplay(), style);
    tracker.setStippled(true);
    Rectangle[] r = new Rectangle[] { shell.getBounds() };
    tracker.setRectangles(r);

    // Ignore any deactivate events caused by opening the tracker.
    // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=120656
    boolean oldListenToDeactivate = listenToDeactivate;
    listenToDeactivate = false;
    if (tracker.open()) {
        if (!shell.isDisposed()) {
            shell.setBounds(tracker.getRectangles()[0]);
        }
    }
    tracker.dispose();
    listenToDeactivate = oldListenToDeactivate;
}
项目:show-shortcuts    文件:ShortcutPopup.java   
private void performTrackerAction(int style) {
    Shell shell = getShell();
    if (shell == null || shell.isDisposed()) {
        return;
    }

    Tracker tracker = new Tracker(shell.getDisplay(), style);
    tracker.setStippled(true);
    Rectangle[] r = new Rectangle[] { shell.getBounds() };
    tracker.setRectangles(r);

    if (tracker.open()) {
        if (!shell.isDisposed()) {
            shell.setBounds(tracker.getRectangles()[0]);
        }
    }
    tracker.dispose();
}
项目:Notepad4e    文件:NotepadView.java   
/**
 * Swaps two tabs and corresponding notes when a user drags one to another.
 */
private void addSwapTabListener() {
    tabFolder.addDragDetectListener(new DragDetectListener() {
        @Override
        public void dragDetected(DragDetectEvent dragDetectedEvent) {
            final Rectangle viewRectangle = Geometry.toDisplay(tabFolder.getParent(), tabFolder.getBounds());
            final Tracker tracker = new Tracker(tabFolder, SWT.NONE);
            tracker.setStippled(true);
            tracker.addListener(SWT.Move, new Listener() {
                @Override
                public void handleEvent(Event event) {
                    Point location = new Point(event.x - viewRectangle.x, event.y - viewRectangle.y);
                    CTabItem tabAtLocation = tabFolder.getItem(location);
                    if (tabAtLocation != null) {
                        // Move tracker to follow mouse cursor.
                        tracker.setRectangles(new Rectangle[] { tabAtLocation.getBounds() });
                    } else {
                        // Mouse cursor no longer above any tab in the action bar, hide tacker.
                        tracker.setRectangles(new Rectangle[0]);
                    }
                }
            });
            if (tracker.open()) {
                Rectangle[] rectangles = tracker.getRectangles();
                if (rectangles.length > 0) {
                    CTabItem tabToSwap = tabFolder.getItem(new Point(rectangles[0].x, rectangles[0].y));
                    // Swap selected tab with the one situated at the mouse cursor's position.
                    if (tabToSwap != null) {
                        swapNoteTabs(tabFolder.indexOf(tabToSwap));
                    }
                }
            }
            tracker.close();
            tracker.dispose();
        }
    });
}
项目:skin4eclipse    文件:PartListControl.java   
public void run() {
    Tracker tracker = new Tracker(rootControl.getDisplay(), SWT.RESIZE);
    tracker.setStippled(true);
    Rectangle[] r = new Rectangle[] { fFilterText.getShell().getBounds() };
    tracker.setRectangles(r);
    isDeactivateListenerActive = false;
    if (tracker.open()) {
        Rectangle rectangle = tracker.getRectangles()[0];
        rootControl.setBounds(rectangle);
        setInput(rectangle);
    }
    isDeactivateListenerActive = true;
}
项目:gef-gwt    文件:FlyoutPaletteComposite.java   
public void run() {
    final Tracker tracker = new Tracker(FlyoutPaletteComposite.this,
            SWT.RIGHT | SWT.LEFT);
    Rectangle[] rects = new Rectangle[1];
    rects[0] = sash.getBounds();
    tracker.setCursor(SharedCursors.SIZEE);
    tracker.setRectangles(rects);
    if (tracker.open()) {
        int deltaX = sash.getBounds().x - tracker.getRectangles()[0].x;
        if (dock == PositionConstants.WEST)
            deltaX = -deltaX;
        setPaletteWidth(paletteContainer.getBounds().width + deltaX);
    }
    tracker.dispose();
}