List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel
public SingleSelectionModel(ProvidesKey<T> keyProvider)
From source file:com.cristal.storm.prototype.client.mvp.view.MainPageView.java
License:Apache License
@Inject public MainPageView() { MCECell.Images images = GWT.create(MCECell.Images.class); MCECell textCell = new MCECell(images.icon()); ProvidesKey<MCE> keyProvider = new ProvidesKey<MCE>() { public Object getKey(MCE item) { // Always do a null check. return (item == null) ? null : item.getURI(); }/*ww w . j a va 2 s.com*/ }; mceCollectionDraggable = new DragAndDropCellList<MCE>(textCell, DEFAULT_RESOURCES, keyProvider); mceSelectionModel = new SingleSelectionModel<MCE>(keyProvider); mceCollectionDraggable.setSelectionModel(mceSelectionModel); // mceCollectionDraggable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); widget = uiBinder.createAndBindUi(this); HorizontalPanel horzPanel = new HorizontalPanel(); // Push the data into the widget. // TODO Remove this hardcoded definition of tags Set<String> mcetags1 = new TreeSet<String>(); mcetags1.add("search"); mcetags1.add("mail"); mcetags1.add("travel"); // TODO Remove this hardcoded definition of MCE MCE mce = new MCE("kayak.com", mcetags1); // MCE mce3 = new MCE("kayak.com", mcetags2); mceListVisible = new Vector<MCE>(); mceListVisible.add(mce); mceCollectionDraggable.setRowData(0, mceListVisible); mceSelectionModel.setSelected(mce, true); // The cell of this CellList are only draggable mceCollectionDraggable.setCellDraggableOnly(); // setup the drag operation DraggableOptions options = new DraggableOptions(); // use a clone of the original cell as drag helper options.setHelper(HelperType.CLONE); // set the opacity of the drag helper options.setOpacity((float) 0.9); // append the drag helper to the body element options.setAppendTo("body"); // configure the drag operations of the cell list with this options mceCollectionDraggable.setDraggableOptions(options); /** * Create a droppable CellList */ final FlowPanel aGwtPanel = new FlowPanel(); aGwtPanel.add(new Label("test")); DroppableWidget<FlowPanel> droppablePanel = new DroppableWidget<FlowPanel>(aGwtPanel); // configure the drop behaviour (see next paragraph) droppablePanel.setTolerance(DroppableTolerance.POINTER); droppablePanel.getOriginalWidget(); droppablePanel.addDropHandler(new DropEventHandler() { public void onDrop(DropEvent event) { // retrieve the droppable widget DroppableWidget<FlowPanel> droppableLabel = (DroppableWidget<FlowPanel>) event.getDroppableWidget(); // retrieve the dropped draggable widget (we assume it is a // draggable label) DraggableWidget<Label> draggableLabel = (DraggableWidget<Label>) event.getDraggableWidget(); Label toto = (Label) (droppableLabel.getOriginalWidget().getWidget(0)); Label toto2 = (Label) (droppableLabel.getOriginalWidget().getWidget(0)); aGwtPanel.add(toto2); // toto.setText("Let's eat!!!!"); // remove the draggabeLable // draggableLabel.removeFromParent(); // aGwtPanel.add( new // Label(event.getDraggableWidget().toString())); // event.getDraggableWidget().removeFromParent(); aGwtPanel.add(new Label("just dragged item1")); aGwtPanel.add(new Label("just dragged item2")); } }); horzPanel.add(droppablePanel); centerAbsPanel.add(horzPanel); }
From source file:com.databasepreservation.visualization.client.common.lists.AsyncTableCell.java
public AsyncTableCell(Filter filter, boolean justActive, Facets facets, String summary, boolean selectable, boolean exportable, int initialPageSize, int pageSizeIncrement, O object) { super();//from ww w .j a v a 2s. c om this.initialPageSize = initialPageSize; this.pageSizeIncrement = pageSizeIncrement; this.object = object; if (summary == null) { summary = "summary" + Random.nextInt(1000); } this.filter = filter; this.justActive = justActive; this.facets = facets; this.selectable = selectable; display = new AccessibleCellTable<T>(getInitialPageSize(), (MyCellTableResources) GWT.create(MyCellTableResources.class), getKeyProvider(), summary); display.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); display.setLoadingIndicator(new HTML(SafeHtmlUtils.fromSafeConstant( "<div class='spinner'><div class='double-bounce1'></div><div class='double-bounce2'></div></div>"))); configure(display); this.dataProvider = new MyAsyncDataProvider<T>(display, new IndexResultDataProvider<T>() { @Override public void getData(Sublist sublist, ColumnSortList columnSortList, AsyncCallback<IndexResult<T>> callback) { AsyncTableCell.this.getData(sublist, columnSortList, callback); } }) { @Override protected void fireChangeEvent(IndexResult<T> result) { ValueChangeEvent.fire(AsyncTableCell.this, result); } }; dataProvider.addDataDisplay(display); if (exportable) { // mimic PageSizePager exportButtons = new FlexTable(); exportButtons.setCellPadding(0); exportButtons.setCellSpacing(0); exportVisibleButton = new Anchor("Export visible"); exportVisibleButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { AsyncTableCell.this.exportVisibleClickHandler(); } }); exportAllButton = new Anchor("Export all"); exportAllButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { AsyncTableCell.this.exportAllClickHandler(); } }); exportButtons.setWidget(0, 0, exportVisibleButton); exportButtons.setText(0, 1, " | "); exportButtons.setWidget(0, 2, exportAllButton); } resultsPager = new AccessibleSimplePager(AccessibleSimplePager.TextLocation.LEFT, (SimplePager.Resources) GWT.create(SimplePager.Resources.class), false, initialPageSize, false, false, (SimplePager.ImageButtonsConstants) GWT.create(SimplePager.ImageButtonsConstants.class)); resultsPager.setDisplay(display); pageSizePager = new PageSizePager(getPageSizePagerIncrement()); pageSizePager.setDisplay(display); createSelectAllPanel(); displayScroll = new ScrollPanel(display); displayScrollWrapper = new SimplePanel(displayScroll); add(selectAllPanel); add(displayScrollWrapper); add(resultsPager); if (exportButtons != null) { add(exportButtons); } add(pageSizePager); selectionModel = new SingleSelectionModel<>(getKeyProvider()); Handler<T> selectionEventManager = getSelectionEventManager(); if (selectionEventManager != null) { display.setSelectionModel(selectionModel, selectionEventManager); } else { display.setSelectionModel(selectionModel); } columnSortHandler = new AsyncHandler(display); display.addColumnSortHandler(columnSortHandler); display.addLoadingStateChangeHandler(new LoadingStateChangeEvent.Handler() { @Override public void onLoadingStateChanged(LoadingStateChangeEvent event) { if (LoadingStateChangeEvent.LoadingState.LOADED.equals(event.getLoadingState())) { handleScrollChanges(); } } }); addStyleName("my-asyncdatagrid"); resultsPager.addStyleName("my-asyncdatagrid-pager-results"); pageSizePager.addStyleName("my-asyncdatagrid-pager-pagesize"); displayScrollWrapper.addStyleName("my-asyncdatagrid-display-scroll-wrapper"); display.addStyleName("my-asyncdatagrid-display"); if (exportButtons != null) { exportButtons.addStyleName("my-asyncdatagrid-pager-pagesize"); // exportVisibleButton.addStyleName("btn btn-export btn-export-visible"); // exportAllButton.addStyleName("btn btn-export btn-export-all"); } displayScroll.addScrollHandler(new ScrollHandler() { @Override public void onScroll(ScrollEvent event) { handleScrollChanges(); } }); addValueChangeHandler(new ValueChangeHandler<IndexResult<T>>() { @Override public void onValueChange(ValueChangeEvent<IndexResult<T>> event) { selected = new HashSet<T>(); hideSelectAllPanel(); } }); Label emptyInfo = new Label(messages.noItemsToDisplay()); display.setEmptyTableWidget(emptyInfo); }
From source file:com.eucalyptus.webui.client.view.ConfigViewImpl.java
License:Open Source License
public void initializeTable(int pageSize, ArrayList<SearchResultFieldDesc> fieldDescs) { tablePanel.clear();// w w w .j a va2 s . c om selectionModel = new SingleSelectionModel<SearchResultRow>(SearchResultRow.KEY_PROVIDER); selectionModel.addSelectionChangeHandler(new Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { SearchResultRow row = selectionModel.getSelectedObject(); LOG.log(Level.INFO, "Selection changed: " + row); presenter.onSelectionChange(row); } }); table = new SearchResultTable(pageSize, fieldDescs, this.presenter, selectionModel); tablePanel.add(table); table.load(); }
From source file:com.gafactory.core.client.ui.grids.BaseListGrid.java
License:Open Source License
protected CellTable<T> createDataGrid() { if (resources != null) { dataGrid = new CellTable<T>(pageSize(), resources, this, null); } else {/* w w w . j a v a 2 s .c om*/ dataGrid = new CellTable<T>(this); } dataGrid.setAutoHeaderRefreshDisabled(true); dataGrid.setAutoFooterRefreshDisabled(true); dataGrid.setStriped(false); dataGrid.setBordered(true); dataGrid.setCondensed(true); dataGrid.setEmptyTableWidget(createEmptyWidget()); dataGrid.setLoadingIndicator(createLoadingWidget()); // if (pageSize() != PAGE_SIZE_UNLIMIT) { pager = new BasePager(); pager.addStyleName(Styles.PULL_LEFT); pager.setDisplay(dataGrid); itemsPerPage = new ValueListBox<Integer>(new AbstractRenderer<Integer>() { @Override public String render(Integer object) { if (object != null) { if (!Objects.equals(object, PSIZE_ALL)) { return String.valueOf(object.toString()); } else { return "?"; } } return "null"; } }); itemsPerPage.setValue(defaultPageSize); itemsPerPage.setAcceptableValues( Lists.newArrayList(PSIZE_15, PSIZE_25, PSIZE_50, PSIZE_100, PSIZE_200, PSIZE_ALL)); itemsPerPage.addValueChangeHandler(new ValueChangeHandler<Integer>() { @Override public void onValueChange(ValueChangeEvent<Integer> event) { Integer value = event.getValue(); if (value != null) { dataGrid.setVisibleRange(new Range(0, value)); } storageService.putValue(PAGE_SIZE, value, getViewName()); } }); selectionModel = new SingleSelectionModel<T>(this); dataGrid.setSelectionModel(selectionModel); dataGrid.addColumnSortHandler(this); dataProvider.addDataDisplay(dataGrid); loader.addLoadHandler(dataProvider); return dataGrid; }
From source file:com.google.appinventor.client.wizards.TemplateUploadWizard.java
License:Open Source License
/** * Creates the scrollable list of cells each of which serves as a link to a template. * * @param list an ArrayList of TemplateInfo * @return A CellList widget/*from ww w. j a v a 2s .c o m*/ */ public CellList<TemplateInfo> makeTemplateSelector(ArrayList<TemplateInfo> list) { TemplateCell templateCell = new TemplateCell(list.get(0), templateHostUrl); CellList<TemplateInfo> templateCellList = new CellList<TemplateInfo>(templateCell, TemplateInfo.KEY_PROVIDER); templateCellList.setPageSize(list.size() + 10); templateCellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); templateCellList.setWidth("250px"); templateCellList.setHeight("400px"); templateCellList.setVisible(true); // Add a selection model to handle user selection. final SingleSelectionModel<TemplateInfo> selectionModel = new SingleSelectionModel<TemplateInfo>( TemplateInfo.KEY_PROVIDER); templateCellList.setSelectionModel(selectionModel); selectionModel.setSelected(list.get(0), true); final TemplateUploadWizard wizard = this; selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { TemplateInfo selected = selectionModel.getSelectedObject(); if (selected != null) { selectedTemplateNAME = selected.name; TemplateWidget.setTemplate(selected, wizard.getTemplateUrlHost()); } } }); // Set the total row count. This isn't strictly necessary, but it affects // paging calculations, so its good habit to keep the row count up to date. templateCellList.setRowCount(list.size(), true); // Push the data into the widget. templateCellList.setRowData(0, list); return templateCellList; }
From source file:com.google.gwt.examples.view.KeyProviderExample.java
License:Apache License
public void onModuleLoad() { /*//from w w w. j av a 2 s.c o m * Define a key provider for a Contact. We use the unique ID as the key, * which allows to maintain selection even if the name changes. */ ProvidesKey<Contact> keyProvider = new ProvidesKey<Contact>() { public Object getKey(Contact item) { // Always do a null check. return (item == null) ? null : item.id; } }; // Create a CellList using the keyProvider. CellList<Contact> cellList = new CellList<Contact>(new ContactCell(), keyProvider); // Push data into the CellList. cellList.setRowCount(CONTACTS.size(), true); cellList.setRowData(0, CONTACTS); // Add a selection model using the same keyProvider. SelectionModel<Contact> selectionModel = new SingleSelectionModel<Contact>(keyProvider); cellList.setSelectionModel(selectionModel); /* * Select a contact. The selectionModel will select based on the ID because * we used a keyProvider. */ Contact sarah = CONTACTS.get(3); selectionModel.setSelected(sarah, true); // Modify the name of the contact. sarah.name = "Sara"; /* * Redraw the CellList. Sarah/Sara will still be selected because we * identify her by ID. If we did not use a keyProvider, Sara would not be * selected. */ cellList.redraw(); // Add the widgets to the root panel. RootPanel.get().add(cellList); }
From source file:com.google.gwt.sample.expenses.client.place.AbstractProxyListActivity.java
License:Apache License
public AbstractProxyListActivity(PlaceController placeController, ProxyListView<P> view, Class<P> proxyType) { this.view = view; this.placeController = placeController; this.proxyClass = proxyType; view.setDelegate(this); final HasData<P> hasData = view.asHasData(); rangeChangeHandler = hasData.addRangeChangeHandler(new RangeChangeEvent.Handler() { public void onRangeChange(RangeChangeEvent event) { AbstractProxyListActivity.this.onRangeChanged(hasData); }/*from w w w .ja va 2s . c om*/ }); // Inherit the view's key provider ProvidesKey<P> keyProvider = ((AbstractHasData<P>) hasData).getKeyProvider(); selectionModel = new SingleSelectionModel<P>(keyProvider); hasData.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { P selectedObject = selectionModel.getSelectedObject(); if (selectedObject != null) { showDetails(selectedObject); } } }); }
From source file:com.google.gwt.sample.showcase.client.content.cell.CwCellList.java
License:Apache License
/** * Initialize this example.//from w ww . j a v a2s.c om */ @ShowcaseSource @Override public Widget onInitialize() { Images images = GWT.create(Images.class); // Create a CellList. ContactCell contactCell = new ContactCell(images.contact()); // Set a key provider that provides a unique key for each contact. If key is // used to identify contacts when fields (such as the name and address) // change. cellList = new CellList<ContactInfo>(contactCell, ContactDatabase.ContactInfo.KEY_PROVIDER); cellList.setPageSize(30); cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION); // Add a selection model so we can select cells. final SingleSelectionModel<ContactInfo> selectionModel = new SingleSelectionModel<ContactInfo>( ContactDatabase.ContactInfo.KEY_PROVIDER); cellList.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { contactForm.setContact(selectionModel.getSelectedObject()); } }); // Create the UiBinder. Binder uiBinder = GWT.create(Binder.class); Widget widget = uiBinder.createAndBindUi(this); // Add the CellList to the data provider in the database. ContactDatabase.get().addDataDisplay(cellList); // Set the cellList as the display of the pagers. This example has two // pagers. pagerPanel is a scrollable pager that extends the range when the // user scrolls to the bottom. rangeLabelPager is a pager that displays the // current range, but does not have any controls to change the range. pagerPanel.setDisplay(cellList); rangeLabelPager.setDisplay(cellList); // Handle events from the generate button. generateButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { ContactDatabase.get().generateContacts(50); } }); return widget; }
From source file:com.gwt2go.dev.client.ui.CellTableViewImpl.java
License:Apache License
public CellTableViewImpl(/* String firstName */) { // Create a CellTable. // Set a key provider that provides a unique key for each contact. If // key is//from w w w .java 2 s . c o m // used to identify contacts when fields (such as the name and address) // change. cellTable = new CellTable<ContactDatabase.ContactInfo>(ContactDatabase.ContactInfo.KEY_PROVIDER); // Create a Pager to control the table. SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); pager.setDisplay(cellTable); // Add a selection model so we can select cells. final SingleSelectionModel<ContactInfo> selectionModel = new SingleSelectionModel<ContactInfo>( ContactInfo.KEY_PROVIDER); cellTable.setSelectionModel(selectionModel); // Initialize the columns. initTableColumns(selectionModel); // Add the CellList to the adapter in the database. ContactDatabase.get().addDataDisplay(cellTable); initWidget(uiBinder.createAndBindUi(this)); String firstname = "John"; String lastname = "Familyguy"; Date age = new Date(); // get's the current date/time DemoUser myuser = new DemoUser(firstname, lastname, age); CalendarUtil.addDaysToDate(age, 2); mytextbox.setText(myuser.getAge().toString()); CalendarUtil.addDaysToDate(myuser.getAge(), 5); mytextbox.setText(myuser.getAge().toString()); button.setText("Click me to go to the new sortable table example"); button2.setText("CustomPlaces"); dialogBox.setText("Open DialogBox"); }
From source file:com.jitlogic.zico.client.views.admin.TraceTemplatePanel.java
License:Open Source License
private void createTemplateListGrid() { templateGrid = new DataGrid<TraceTemplateInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER); selectionModel = new SingleSelectionModel<TraceTemplateInfo>(KEY_PROVIDER); templateGrid.setSelectionModel(selectionModel); Column<TraceTemplateInfo, TraceTemplateInfo> colOrder = new IdentityColumn<TraceTemplateInfo>(ORDER_CELL); templateGrid.addColumn(colOrder, new ResizableHeader<TraceTemplateInfo>("Order", templateGrid, colOrder)); templateGrid.setColumnWidth(colOrder, 80, Style.Unit.PX); Column<TraceTemplateInfo, TraceTemplateInfo> colCondition = new IdentityColumn<TraceTemplateInfo>( CONDITION_CELL);// w w w .j a v a2s . c om templateGrid.addColumn(colCondition, new ResizableHeader<TraceTemplateInfo>("Condition", templateGrid, colCondition)); templateGrid.setColumnWidth(colCondition, 250, Style.Unit.PX); Column<TraceTemplateInfo, TraceTemplateInfo> colTemplate = new IdentityColumn<TraceTemplateInfo>( TEMPLATE_CELL); templateGrid.addColumn(colTemplate, "Description Template"); templateGrid.setColumnWidth(colTemplate, 100, Style.Unit.PCT); templateStore = new ListDataProvider<TraceTemplateInfo>(KEY_PROVIDER); templateStore.addDataDisplay(templateGrid); templateGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceTemplateInfo>() { @Override public void onCellPreview(CellPreviewEvent<TraceTemplateInfo> event) { NativeEvent nev = event.getNativeEvent(); String eventType = nev.getType(); if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER) || BrowserEvents.DBLCLICK.equals(nev.getType())) { selectionModel.setSelected(event.getValue(), true); editTemplate(null); } if (BrowserEvents.CONTEXTMENU.equals(eventType)) { selectionModel.setSelected(event.getValue(), true); if (event.getValue() != null) { contextMenu.setPopupPosition(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); contextMenu.show(); } } } }); templateGrid.addDomHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { event.preventDefault(); } }, DoubleClickEvent.getType()); templateGrid.addDomHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); } }, ContextMenuEvent.getType()); }