Search in sources :

Example 6 with List

use of org.apache.pivot.collections.List in project pivot by apache.

the class BindTest method testSequence.

/**
 * Tests returning a class that implements
 * {@code org.apache.pivot.collections.Sequence}.
 *
 * @throws IOException
 * @throws SerializationException
 */
@Test
public void testSequence() throws IOException, SerializationException {
    JSONSerializer listSerializer = new JSONSerializer();
    @SuppressWarnings("unchecked") List<Object> list = (List<Object>) listSerializer.readObject(getClass().getResourceAsStream("list.json"));
    JSONSerializer sequenceSerializer = new JSONSerializer(SampleBean2SequenceSubclass.class);
    SampleBean2Sequence sequence = (SampleBean2Sequence) sequenceSerializer.readObject(getClass().getResourceAsStream("list.json"));
    Object item0 = sequence.get(0);
    assertNotNull(item0);
    // assertTrue(item0 instanceof SampleBean2); // true but superfluous
    assertEquals((Integer) sequence.get(0).getA(), (Integer) JSON.get(list, "[0].a"));
}
Also used : ArrayList(org.apache.pivot.collections.ArrayList) List(org.apache.pivot.collections.List) JSONSerializer(org.apache.pivot.json.JSONSerializer) Test(org.junit.Test)

Example 7 with List

use of org.apache.pivot.collections.List in project pivot by apache.

the class FixedColumnTableDemo method initialize.

@Override
public void initialize(Map<String, Object> namespace, URL location, Resources resources) {
    primaryTableView = (TableView) namespace.get("primaryTableView");
    fixedTableView = (TableView) namespace.get("fixedTableView");
    // Keep selection state in sync
    primaryTableView.getTableViewSelectionListeners().add(new TableViewSelectionListener() {

        @Override
        public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) {
            if (!synchronizingSelection) {
                synchronizingSelection = true;
                fixedTableView.addSelectedRange(rangeStart, rangeEnd);
                synchronizingSelection = false;
            }
        }

        @Override
        public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) {
            if (!synchronizingSelection) {
                synchronizingSelection = true;
                fixedTableView.removeSelectedRange(rangeStart, rangeEnd);
                synchronizingSelection = false;
            }
        }

        @Override
        public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelectedRanges) {
            if (previousSelectedRanges != null && !synchronizingSelection) {
                synchronizingSelection = true;
                fixedTableView.setSelectedRanges(tableView.getSelectedRanges());
                synchronizingSelection = false;
            }
        }

        @Override
        public void selectedRowChanged(TableView tableView, Object previousSelectedRow) {
        // No-op
        }
    });
    fixedTableView.getTableViewSelectionListeners().add(new TableViewSelectionListener() {

        @Override
        public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) {
            if (!synchronizingSelection) {
                synchronizingSelection = true;
                primaryTableView.addSelectedRange(rangeStart, rangeEnd);
                synchronizingSelection = false;
            }
        }

        @Override
        public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) {
            if (!synchronizingSelection) {
                synchronizingSelection = true;
                primaryTableView.removeSelectedRange(rangeStart, rangeEnd);
                synchronizingSelection = false;
            }
        }

        @Override
        public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelectedRanges) {
            if (previousSelectedRanges != null && !synchronizingSelection) {
                synchronizingSelection = true;
                primaryTableView.setSelectedRanges(tableView.getSelectedRanges());
                synchronizingSelection = false;
            }
        }

        @Override
        public void selectedRowChanged(TableView tableView, Object previousSelectedRow) {
        // No-op
        }
    });
    // Keep header state in sync
    primaryTableView.getTableViewSortListeners().add(new TableViewSortListener() {

        @Override
        public void sortChanged(TableView tableView) {
            if (!tableView.getSort().isEmpty()) {
                fixedTableView.clearSort();
            }
            @SuppressWarnings("unchecked") List<Object> tableData = (List<Object>) tableView.getTableData();
            tableData.setComparator(new TableViewRowComparator(tableView));
        }
    });
    fixedTableView.getTableViewSortListeners().add(new TableViewSortListener() {

        @Override
        public void sortChanged(TableView tableView) {
            if (!tableView.getSort().isEmpty()) {
                primaryTableView.clearSort();
            }
            @SuppressWarnings("unchecked") List<Object> tableData = (List<Object>) tableView.getTableData();
            tableData.setComparator(new TableViewRowComparator(tableView));
        }
    });
}
Also used : TableViewRowComparator(org.apache.pivot.wtk.content.TableViewRowComparator) TableViewSortListener(org.apache.pivot.wtk.TableViewSortListener) List(org.apache.pivot.collections.List) TableViewSelectionListener(org.apache.pivot.wtk.TableViewSelectionListener) Span(org.apache.pivot.wtk.Span) TableView(org.apache.pivot.wtk.TableView)

Example 8 with List

use of org.apache.pivot.collections.List in project pivot by apache.

the class SearchDemo method executeQuery.

/**
 * Executes a search.
 *
 * @param term The search term.
 * @throws IllegalArgumentException If <tt>term</tt> is <tt>null</tt> or
 * empty.
 * @throws IllegalStateException If a query is already executing.
 */
public void executeQuery(String term) {
    Utils.checkNullOrEmpty(term, "search term");
    if (getQuery != null) {
        throw new IllegalStateException("Query is already running!");
    }
    String country = Locale.getDefault().getCountry().toLowerCase();
    getQuery = new GetQuery(QUERY_HOSTNAME, BASE_QUERY_PATH);
    getQuery.getParameters().put("term", term);
    getQuery.getParameters().put("country", country);
    getQuery.getParameters().put("media", MEDIA);
    getQuery.getParameters().put("limit", Integer.toString(LIMIT));
    getQuery.getParameters().put("output", "json");
    System.out.println(getQuery.getLocation());
    statusLabel.setText("Searching...");
    updateActivityState();
    getQuery.execute(new TaskAdapter<>(new TaskListener<Object>() {

        @Override
        public void taskExecuted(Task<Object> task) {
            if (task == getQuery) {
                @SuppressWarnings("unchecked") Map<String, Object> result = (Map<String, Object>) task.getResult();
                @SuppressWarnings("unchecked") List<Object> results = (List<Object>) result.get("results");
                // Preserve any existing sort
                @SuppressWarnings("unchecked") List<Object> tableData = (List<Object>) resultsTableView.getTableData();
                Comparator<Object> comparator = tableData.getComparator();
                results.setComparator(comparator);
                // Update the table data
                resultsTableView.setTableData(results);
                statusLabel.setText("Found " + results.getLength() + " matching items.");
                getQuery = null;
                updateActivityState();
                if (results.getLength() > 0) {
                    resultsTableView.setSelectedIndex(0);
                    resultsTableView.requestFocus();
                } else {
                    termTextInput.requestFocus();
                }
            }
        }

        @Override
        public void executeFailed(Task<Object> task) {
            if (task == getQuery) {
                statusLabel.setText(task.getFault().getMessage());
                getQuery = null;
                updateActivityState();
                termTextInput.requestFocus();
            }
        }
    }));
}
Also used : Task(org.apache.pivot.util.concurrent.Task) GetQuery(org.apache.pivot.web.GetQuery) TaskListener(org.apache.pivot.util.concurrent.TaskListener) List(org.apache.pivot.collections.List) Map(org.apache.pivot.collections.Map)

Example 9 with List

use of org.apache.pivot.collections.List in project pivot by apache.

the class JSONViewer method setValue.

private void setValue(Object value) {
    assert (value instanceof Map<?, ?> || value instanceof List<?>);
    // Remove prompt decorator
    if (promptDecorator != null) {
        treeView.getDecorators().remove(promptDecorator);
        promptDecorator = null;
    }
    TreeBranch treeData = new TreeBranch();
    treeData.add(build(value));
    treeView.setTreeData(treeData);
    treeView.expandBranch(new Path(0));
}
Also used : Path(org.apache.pivot.collections.Sequence.Tree.Path) TreeBranch(org.apache.pivot.wtk.content.TreeBranch) List(org.apache.pivot.collections.List) FileList(org.apache.pivot.io.FileList) Map(org.apache.pivot.collections.Map)

Example 10 with List

use of org.apache.pivot.collections.List in project pivot by apache.

the class CheckedListViewTest method startup.

@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
    BXMLSerializer serializer = new BXMLSerializer();
    mainWindow = (Window) serializer.readObject(CheckedListViewTest.class, "checked_list_view_test.bxml");
    serializer.bind(this);
    allowMixedStateCheckbox.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
            listView.setAllowTriStateCheckmarks(button.isSelected());
            // Not sure why, but changing this setting clears all the checks but doesn't
            // trigger the item state listener (it's documented, but ...)
            selectedItemsLabel.setText("");
        }
    });
    showMixedAsSelectedCheckbox.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
            listView.setCheckmarksMixedAsChecked(button.isSelected());
        }
    });
    listView.getComponentKeyListeners().add(new ComponentKeyListener() {

        @Override
        public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
            if (keyCode == Keyboard.KeyCode.DELETE) {
                @SuppressWarnings("unchecked") List<Object> listData = (List<Object>) listView.getListData();
                Sequence<Span> selectedRanges = listView.getSelectedRanges();
                for (int i = selectedRanges.getLength() - 1; i >= 0; i--) {
                    Span selectedRange = selectedRanges.get(i);
                    listData.remove(selectedRange.start, selectedRange.end - selectedRange.start + 1);
                }
            }
            return false;
        }
    });
    listView.getListViewItemStateListeners().add(new ListViewItemStateListener() {

        private void displayCheckedItems(ListView listView) {
            List<?> listData = listView.getListData();
            StringBuffer buf = new StringBuffer();
            for (Integer i : listView.getCheckedIndexes()) {
                if (buf.length() > 0) {
                    buf.append(",");
                }
                Object item = listData.get(i);
                buf.append(item.toString());
            }
            selectedItemsLabel.setText(buf.toString());
        }

        @Override
        public void itemCheckedChanged(ListView listView, int index) {
            displayCheckedItems(listView);
        }

        @Override
        public void itemCheckedStateChanged(ListView listView, int index) {
            displayCheckedItems(listView);
        }
    });
    listView.setItemChecked(0, true);
    listView.setItemChecked(2, true);
    mainWindow.open(display);
}
Also used : ListViewItemStateListener(org.apache.pivot.wtk.ListViewItemStateListener) Keyboard(org.apache.pivot.wtk.Keyboard) Sequence(org.apache.pivot.collections.Sequence) Span(org.apache.pivot.wtk.Span) ButtonPressListener(org.apache.pivot.wtk.ButtonPressListener) ComponentKeyListener(org.apache.pivot.wtk.ComponentKeyListener) ListView(org.apache.pivot.wtk.ListView) Button(org.apache.pivot.wtk.Button) List(org.apache.pivot.collections.List) Component(org.apache.pivot.wtk.Component) BXMLSerializer(org.apache.pivot.beans.BXMLSerializer)

Aggregations

List (org.apache.pivot.collections.List)47 ArrayList (org.apache.pivot.collections.ArrayList)37 TableView (org.apache.pivot.wtk.TableView)11 Span (org.apache.pivot.wtk.Span)10 Button (org.apache.pivot.wtk.Button)8 ListView (org.apache.pivot.wtk.ListView)8 Point (org.apache.pivot.wtk.Point)8 IOException (java.io.IOException)7 BXMLSerializer (org.apache.pivot.beans.BXMLSerializer)7 SerializationException (org.apache.pivot.serialization.SerializationException)6 Component (org.apache.pivot.wtk.Component)6 File (java.io.File)5 HashMap (org.apache.pivot.collections.HashMap)5 Map (org.apache.pivot.collections.Map)5 JSONSerializer (org.apache.pivot.json.JSONSerializer)5 ButtonPressListener (org.apache.pivot.wtk.ButtonPressListener)5 TableViewSortListener (org.apache.pivot.wtk.TableViewSortListener)5 Color (java.awt.Color)4 FileObject (org.apache.commons.vfs2.FileObject)4 Task (org.apache.pivot.util.concurrent.Task)4