Package pivot.wtk

Examples of pivot.wtk.ListView$ItemRenderer


    @Override
    @SuppressWarnings("unchecked")
    public boolean mouseDown(Component component, Mouse.Button button, int x, int y) {
        boolean consumed = super.mouseDown(component, button, x, y);

        ListView listView = (ListView)getComponent();
        List<Object> listData = (List<Object>)listView.getListData();

        int itemHeight = getItemHeight();
        int itemIndex = y / itemHeight;

        if (itemIndex < listData.getLength()
            && !listView.isItemDisabled(itemIndex)) {
            int itemY = itemIndex * itemHeight;

            if (!(listView.getCheckmarksEnabled()
                && x > checkboxPadding.left
                && x < checkboxPadding.left + CHECKBOX.getWidth()
                && y > itemY + checkboxPadding.top
                && y < itemY + checkboxPadding.top + CHECKBOX.getHeight())) {
                ListView.SelectMode selectMode = listView.getSelectMode();
                if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
                    && selectMode == ListView.SelectMode.MULTI) {
                    // Select the range
                    int startIndex = listView.getFirstSelectedIndex();
                    int endIndex = listView.getLastSelectedIndex();
                    Span selectedRange = (itemIndex > startIndex) ?
                        new Span(startIndex, itemIndex) : new Span(itemIndex, endIndex);

                    ArrayList<Span> selectedRanges = new ArrayList<Span>();
                    Sequence<Integer> disabledIndexes = listView.getDisabledIndexes();
                    if (disabledIndexes.getLength() == 0) {
                        selectedRanges.add(selectedRange);
                    } else {
                        // TODO Split the range by the disabled indexes; for now,
                        // just return
                        return consumed;
                    }

                    listView.setSelectedRanges(selectedRanges);
                } else if (Keyboard.isPressed(Keyboard.Modifier.CTRL)
                    && selectMode == ListView.SelectMode.MULTI) {
                    // Toggle the item's selection state
                    if (listView.isItemSelected(itemIndex)) {
                        listView.removeSelectedIndex(itemIndex);
                    } else {
                        listView.addSelectedIndex(itemIndex);
                    }
                } else {
                    if (selectMode != ListView.SelectMode.NONE) {
                        if (listView.isItemSelected(itemIndex)
                            && listView.isFocused()) {
                            // Edit the item
                            editIndex = itemIndex;
                        } else {
                            // Select the item
                            listView.setSelectedIndex(itemIndex);
                        }
                    }
                }
            }
        }

        if (listView.isFocusable()) {
            listView.requestFocus();
        }

        return consumed;
    }
View Full Code Here


    @Override
    @SuppressWarnings("unchecked")
    public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
        boolean consumed = super.mouseClick(component, button, x, y, count);

        ListView listView = (ListView)getComponent();

        List<Object> listData = (List<Object>)listView.getListData();

        int itemHeight = getItemHeight();
        int itemIndex = y / itemHeight;

        if (itemIndex < listData.getLength()
            && !listView.isItemDisabled(itemIndex)) {
            int itemY = itemIndex * itemHeight;

            if (listView.getCheckmarksEnabled()
                && x > checkboxPadding.left
                && x < checkboxPadding.left + CHECKBOX.getWidth()
                && y > itemY + checkboxPadding.top
                && y < itemY + checkboxPadding.top + CHECKBOX.getHeight()) {
                listView.setItemChecked(itemIndex, !listView.isItemChecked(itemIndex));
            } else {
                if (editIndex != -1
                    && count == 1) {
                    ListView.ItemEditor itemEditor = listView.getItemEditor();

                    if (itemEditor != null) {
                        itemEditor.edit(listView, editIndex);
                    }
                }
View Full Code Here

    @Override
    public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
        boolean consumed = super.keyPressed(component, keyCode, keyLocation);

        ListView listView = (ListView)getComponent();

        switch (keyCode) {
            case Keyboard.KeyCode.UP: {
                int index = listView.getFirstSelectedIndex();

                do {
                    index--;
                } while (index >= 0
                    && listView.isItemDisabled(index));

                if (index >= 0) {
                    if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
                        && listView.getSelectMode() == ListView.SelectMode.MULTI) {
                        listView.addSelectedIndex(index);
                    } else {
                        listView.setSelectedIndex(index);
                    }

                    listView.scrollAreaToVisible(getItemBounds(index));
                }

                consumed = true;
                break;
            }

            case Keyboard.KeyCode.DOWN: {
                int index = listView.getLastSelectedIndex();
                int count = listView.getListData().getLength();

                do {
                    index++;
                } while (index < count
                    && listView.isItemDisabled(index));

                if (index < count) {
                    if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
                        && listView.getSelectMode() == ListView.SelectMode.MULTI) {
                        listView.addSelectedIndex(index);
                    } else {
                        listView.setSelectedIndex(index);
                    }

                    listView.scrollAreaToVisible(getItemBounds(index));
                }

                consumed = true;
                break;
            }
View Full Code Here

    @Override
    public boolean keyReleased(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
        boolean consumed = super.keyReleased(component, keyCode, keyLocation);

        ListView listView = (ListView)getComponent();

        switch (keyCode) {
            case Keyboard.KeyCode.SPACE: {
                if (listView.getCheckmarksEnabled()
                    && listView.getSelectMode() == ListView.SelectMode.SINGLE) {
                    int selectedIndex = listView.getSelectedIndex();
                    listView.setItemChecked(selectedIndex, !listView.isItemChecked(selectedIndex));
                    consumed = true;
                }

                break;
            }
View Full Code Here

    };

    protected boolean pressed = false;

    public ListButtonSkin() {
        listView = new ListView();

        listViewPopup = new Window(true);
        listViewPopup.getComponentMouseButtonListeners().add(listViewPopupMouseButtonListener);
        listViewPopup.getComponentKeyListeners().add(listViewPopupKeyListener);
        listViewPopup.getWindowStateListeners().add(listViewPopupWindowStateListener);
View Full Code Here

        // Notifying the parent will close the popup
        if (listData.getComparator() == null) {
            listData.update(index, listItem);
        } else {
            // Save local reference to members variables before they get cleared
            ListView listView = this.listView;

            listData.remove(index, 1);
            listData.add(listItem);

            // Re-select the item, and make sure it's visible
            index = listData.indexOf(listItem);
            listView.setSelectedIndex(index);
            listView.scrollAreaToVisible(listView.getItemBounds(index));
        }
    }
View Full Code Here

TOP

Related Classes of pivot.wtk.ListView$ItemRenderer

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.