public Widget draw() { // contentWidget.setSize("100%", "100%"); DockLayoutPanel ft = new DockLayoutPanel(Style.Unit.PX); contentWidget.setWidget(ft); final DataGrid gridTable = new DataGrid(); gridTable.setSize("100%", "100%"); final ArrayList<Attribute> vosList = new ArrayList<Attribute>(); final GetAttributesV2 getVos = new GetAttributesV2( new JsonCallbackEvents() { public void onFinished(JavaScriptObject jso) { vosList.addAll( new TableSorter<Attribute>() .sortByAttrNameTranslation(JsonUtils.<Attribute>jsoAsList(jso))); gridTable.setRowData(vosList); gridTable.redraw(); } }); getVos.getUserAttributes(3411); getVos.retrieveData(); gridTable.setSelectionModel( new MultiSelectionModel<Attribute>(new GeneralKeyProvider<Attribute>())); final SelectionModel<Attribute> selectionModel = gridTable.getSelectionModel(); gridTable.setKeyboardSelectionPolicy( HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED); Column<Attribute, Boolean> checkBoxColumn = new Column<Attribute, Boolean>(new CheckboxCell(true, true)) { @Override public Boolean getValue(Attribute object) { // Get the value from the selection model. return selectionModel.isSelected(object); } }; checkBoxColumn.setFieldUpdater( new FieldUpdater<Attribute, Boolean>() { @Override public void update(int i, Attribute Attribute, Boolean aBoolean) { selectionModel.setSelected(Attribute, aBoolean); } }); // Checkbox column header CheckboxCell cb = new CheckboxCell(); Header<Boolean> checkBoxHeader = new Header<Boolean>(cb) { public Boolean getValue() { return false; // return true to see a checked checkbox. } }; checkBoxHeader.setUpdater( new ValueUpdater<Boolean>() { public void update(Boolean value) { // sets selected to all, if value = true, unselect otherwise for (Attribute obj : vosList) { selectionModel.setSelected(obj, value); } } }); gridTable.addColumn(checkBoxColumn, checkBoxHeader, checkBoxHeader); gridTable.setColumnWidth(checkBoxColumn, 40.0, Style.Unit.PX); TextColumn<Attribute> idColumn = new TextColumn<Attribute>() { @Override public String getValue(Attribute object) { return String.valueOf(object.getId()); } }; if (JsonUtils.isExtendedInfoVisible()) { gridTable.addColumn(idColumn, "Id", "Id"); gridTable.setColumnWidth(idColumn, "90px"); } // Name column Column<Attribute, Attribute> nameColumn = JsonUtils.addColumn(new PerunAttributeNameCell()); // Description column Column<Attribute, Attribute> descriptionColumn = JsonUtils.addColumn(new PerunAttributeDescriptionCell()); // Value column Column<Attribute, Attribute> valueColumn = JsonUtils.addColumn( new PerunAttributeValueCell(), new FieldUpdater<Attribute, Attribute>() { public void update(int index, Attribute object, Attribute value) { object = value; selectionModel.setSelected(object, object.isAttributeValid()); } }); ColumnSortEvent.ListHandler<Attribute> columnSortHandler = new ColumnSortEvent.ListHandler<Attribute>(vosList); gridTable.addColumnSortHandler(columnSortHandler); // Sorting name column nameColumn.setSortable(true); columnSortHandler.setComparator( nameColumn, new AttributeComparator<Attribute>(AttributeComparator.Column.TRANSLATED_NAME)); // Sorting description column descriptionColumn.setSortable(true); columnSortHandler.setComparator( descriptionColumn, new AttributeComparator<Attribute>(AttributeComparator.Column.TRANSLATED_DESCRIPTION)); // Add sorting gridTable.addColumnSortHandler(columnSortHandler); // updates the columns size gridTable.setColumnWidth(nameColumn, 200.0, Style.Unit.PX); gridTable.setColumnWidth(valueColumn, 420.0, Style.Unit.PX); gridTable.addColumn(nameColumn, "Name"); gridTable.addColumn(valueColumn, "Value"); gridTable.addColumn(descriptionColumn, "Description"); TabMenu tabMenu = new TabMenu(); tabMenu.addWidget( TabMenu.getPredefinedButton( ButtonType.ADD, "", new ClickHandler() { @Override public void onClick(ClickEvent clickEvent) { session.getTabManager().addTabToCurrentTab(new TestDataGridTabItem(), true); } })); ft.addNorth(tabMenu, 50); ft.add(gridTable); return getWidget(); }
private void initializeTable() { typeColumn = new TextColumn<AnnotationInfo>() { @Override public String getValue(AnnotationInfo annotationInfo) { String annotationTypeString = annotationInfo.getType(); if (annotationTypeString.equals("non_canonical_five_prime_splice_site")) { annotationTypeString = "NC 5' splice"; } else if (annotationTypeString.equals("non_canonical_three_prime_splice_site")) { annotationTypeString = "NC 3' splice"; } return annotationTypeString; } }; typeColumn.setSortable(true); startColumn = new Column<AnnotationInfo, Number>(new NumberCell()) { @Override public Integer getValue(AnnotationInfo annotationInfo) { return getDisplayMin(annotationInfo.getMin()); } }; startColumn.setSortable(true); stopColumn = new Column<AnnotationInfo, Number>(new NumberCell()) { @Override public Integer getValue(AnnotationInfo annotationInfo) { return annotationInfo.getMax(); } }; stopColumn.setSortable(true); lengthColumn = new Column<AnnotationInfo, Number>(new NumberCell()) { @Override public Integer getValue(AnnotationInfo annotationInfo) { return annotationInfo.getLength(); } }; lengthColumn.setSortable(true); dataGrid.addColumn(typeColumn, "Type"); dataGrid.addColumn(startColumn, "Start"); // dataGrid.addColumn(stopColumn, "Stop"); dataGrid.addColumn(lengthColumn, "Length"); ColumnSortEvent.ListHandler<AnnotationInfo> sortHandler = new ColumnSortEvent.ListHandler<AnnotationInfo>(annotationInfoList); dataGrid.addColumnSortHandler(sortHandler); sortHandler.setComparator( typeColumn, new Comparator<AnnotationInfo>() { @Override public int compare(AnnotationInfo o1, AnnotationInfo o2) { return o1.getType().compareTo(o2.getType()); } }); sortHandler.setComparator( startColumn, new Comparator<AnnotationInfo>() { @Override public int compare(AnnotationInfo o1, AnnotationInfo o2) { return o1.getMin() - o2.getMin(); } }); sortHandler.setComparator( stopColumn, new Comparator<AnnotationInfo>() { @Override public int compare(AnnotationInfo o1, AnnotationInfo o2) { return o1.getMax() - o2.getMax(); } }); sortHandler.setComparator( lengthColumn, new Comparator<AnnotationInfo>() { @Override public int compare(AnnotationInfo o1, AnnotationInfo o2) { return o1.getLength() - o2.getLength(); } }); }
public OrganismPanel() { initWidget(ourUiBinder.createAndBindUi(this)); loadingDialog = new LoadingDialog("Processing ...", null, false); TextColumn<OrganismInfo> organismNameColumn = new TextColumn<OrganismInfo>() { @Override public String getValue(OrganismInfo organism) { return organism.getName(); } }; Column<OrganismInfo, Number> annotationsNameColumn = new Column<OrganismInfo, Number>(new NumberCell()) { @Override public Integer getValue(OrganismInfo object) { return object.getNumFeatures(); } }; Column<OrganismInfo, Number> sequenceColumn = new Column<OrganismInfo, Number>(new NumberCell()) { @Override public Integer getValue(OrganismInfo object) { return object.getNumSequences(); } }; sequenceColumn.setSortable(true); organismNameColumn.setSortable(true); annotationsNameColumn.setSortable(true); Annotator.eventBus.addHandler( OrganismChangeEvent.TYPE, new OrganismChangeEventHandler() { @Override public void onOrganismChanged(OrganismChangeEvent organismChangeEvent) { organismInfoList.clear(); organismInfoList.addAll(MainPanel.getInstance().getOrganismInfoList()); } }); dataGrid.setLoadingIndicator(new HTML("Calculating Annotations ... ")); dataGrid.addColumn(organismNameColumn, "Name"); dataGrid.addColumn(annotationsNameColumn, "Annotations"); dataGrid.addColumn(sequenceColumn, "Ref Sequences"); dataGrid.setEmptyTableWidget( new Label("No organisms available. Add new organisms using the form field.")); singleSelectionModel.addSelectionChangeHandler( new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { if (!creatingNewOrganism) { loadOrganismInfo(); changeButtonSelection(); } else { creatingNewOrganism = false; } } }); dataGrid.setSelectionModel(singleSelectionModel); dataProvider.addDataDisplay(dataGrid); dataGrid.addDomHandler( new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { if (singleSelectionModel.getSelectedObject() != null) { String orgId = singleSelectionModel.getSelectedObject().getId(); if (!MainPanel.getInstance().getCurrentOrganism().getId().equals(orgId)) { OrganismRestService.switchOrganismById(orgId); } } } }, DoubleClickEvent.getType()); List<OrganismInfo> trackInfoList = dataProvider.getList(); ColumnSortEvent.ListHandler<OrganismInfo> sortHandler = new ColumnSortEvent.ListHandler<OrganismInfo>(trackInfoList); dataGrid.addColumnSortHandler(sortHandler); sortHandler.setComparator( organismNameColumn, new Comparator<OrganismInfo>() { @Override public int compare(OrganismInfo o1, OrganismInfo o2) { return o1.getName().compareTo(o2.getName()); } }); sortHandler.setComparator( annotationsNameColumn, new Comparator<OrganismInfo>() { @Override public int compare(OrganismInfo o1, OrganismInfo o2) { return o1.getNumFeatures() - o2.getNumFeatures(); } }); sortHandler.setComparator( sequenceColumn, new Comparator<OrganismInfo>() { @Override public int compare(OrganismInfo o1, OrganismInfo o2) { return o1.getNumSequences() - o2.getNumSequences(); } }); }
public SupplyLayout() { this.res = GWT.create(SupplyResources.class); res.style().ensureInjected(); initWidget(uiBinder.createAndBindUi(this)); final ListDataProvider<Supply> dataProvider = new ListDataProvider<Supply>(); dataGrid.setMinimumTableWidth(150, Unit.PX); dataGrid.setWidth("100%"); dataGrid.setHeight("450px"); dataGrid.setAutoHeaderRefreshDisabled(true); dataGrid.setEmptyTableWidget(new Label("Нет данных")); ListHandler<Supply> sortHandler = new ListHandler<Supply>(dataProvider.getList()); dataGrid.addColumnSortHandler(sortHandler); SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); SimplePager pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); pager.setDisplay(dataGrid); pager.setPageSize(10); pager.setPageStart(0); panel.add(pager); final SelectionModel<Supply> selectionModel = new MultiSelectionModel<Supply>(); dataGrid.setSelectionModel( selectionModel, DefaultSelectionEventManager.<Supply>createDefaultManager()); initTableColumns(selectionModel, sortHandler); // Верхняя панелька для поиск searchFlexTable = new FlexTable(); cellFormatter = searchFlexTable.getFlexCellFormatter(); searchFlexTable.setWidth("80%"); searchFlexTable.setCellSpacing(5); searchFlexTable.setCellPadding(1); Label idLabel = new Label("Номер"); final TextBox idTBox = new TextBox(); searchFlexTable.setWidget(0, 0, idLabel); searchFlexTable.setWidget(0, 1, idTBox); Label addressLabel = new Label("Адрес"); final TextBox addressTBox = new TextBox(); searchFlexTable.setWidget(1, 0, addressLabel); searchFlexTable.setWidget(1, 1, addressTBox); // Create a basic date picker DatePicker datePicker = new DatePicker(); final Label text = new Label(); // Set the value in the text box when the user selects a date datePicker.addValueChangeHandler( new ValueChangeHandler<Date>() { public void onValueChange(ValueChangeEvent<Date> event) { Date date = event.getValue(); String dateString = DateTimeFormat.getFormat(PredefinedFormat.DATE_MEDIUM).format(date); text.setText(dateString); } }); // Set the default value // datePicker.setValue(new Date(), true); // Create a DateBox DateTimeFormat dateTimeFormat = DateTimeFormat.getFormat("yyyy-MM-dd"); final DateBox dateBox = new DateBox(); dateBox.setFormat(new DateBox.DefaultFormat(dateTimeFormat)); Label dateLabel = new Label("Дата"); searchFlexTable.setWidget(2, 0, dateLabel); searchFlexTable.setWidget(2, 1, dateBox); Label typeLabel = new Label("Тип"); final ListBox typeLB = new ListBox(); typeLB.addItem(""); typeLB.addItem("В филиал"); typeLB.addItem("На склад"); searchFlexTable.setWidget(3, 0, typeLabel); searchFlexTable.setWidget(3, 1, typeLB); Label statusLabel = new Label("Статус"); final ListBox statusLB = new ListBox(); statusLB.addItem(""); for (String type : StatusDict.getAsStringList()) { statusLB.addItem(type); } searchFlexTable.setWidget(4, 0, statusLabel); searchFlexTable.setWidget(4, 1, statusLB); cellFormatter.setRowSpan(5, 0, 2); Button search = new Button("Найти"); searchFlexTable.setWidget(5, 0, search); search.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { // формируем карту с where statement: Map<String, String> whereMap = new HashMap<String, String>(); if (idTBox.getText() != null && !"".equals(idTBox.getText())) whereMap.put("supid", idTBox.getText()); if (addressTBox.getText() != null && !"".equals(addressTBox.getText())) whereMap.put("address", addressTBox.getText()); if (dateBox.getTextBox().getText() != null && !"".equals(dateBox.getTextBox().getText())) whereMap.put("date", dateBox.getTextBox().getText()); if (typeLB.getSelectedIndex() != 0) { if (typeLB.getSelectedIndex() == 1) whereMap.put("DeliveryDirection", "1"); if (typeLB.getSelectedIndex() == 2) whereMap.put("DeliveryDirection", "0"); } if (statusLB.getSelectedIndex() != 0) whereMap.put("SupStatusID", Integer.toString(statusLB.getSelectedIndex())); supplyService.getByConditions( whereMap, new AsyncCallback<List<Supply>>() { @Override public void onSuccess(List<Supply> result) { if (result != null) { dataProvider.getList().clear(); dataProvider.getList().addAll(result); dataProvider.refresh(); } } @Override public void onFailure(Throwable caught) { Window.alert("Ошибка"); } }); } }); additionalPanel.add(searchFlexTable); // ///////////////////////////////////////////////////// supplyService.getLast( 10, new AsyncCallback<List<Supply>>() { @Override public void onSuccess(List<Supply> result) { if (result != null) { dataProvider.getList().addAll(result); dataProvider.addDataDisplay(dataGrid); dataProvider.refresh(); } } @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub } }); }