package org.gcube.portlets.user.accountingdashboard.client.application.mainarea.filter; import java.util.ArrayList; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; import javax.inject.Inject; import org.gcube.portlets.user.accountingdashboard.client.application.mainarea.filter.scopetree.ScopeTreeModel; import org.gcube.portlets.user.accountingdashboard.client.resources.AppResources; import org.gcube.portlets.user.accountingdashboard.client.resources.ScopeTreeResources; import org.gcube.portlets.user.accountingdashboard.shared.data.ScopeData; import com.github.gwtbootstrap.client.ui.ListBox; import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.cellview.client.CellTree; import com.google.gwt.user.cellview.client.CellTree.Resources; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.ListDataProvider; import com.gwtplatform.mvp.client.ViewWithUiHandlers; /** * * @author Giancarlo Panichi * */ public class FilterAreaView extends ViewWithUiHandlers implements FilterAreaPresenter.FilterAreaView { private static Logger logger = java.util.logging.Logger.getLogger(""); interface Binder extends UiBinder { } @UiField HTMLPanel periodPanel; @UiField HTMLPanel explorePanel; @UiField(provided = true) ListBox yearStart; @UiField(provided = true) ListBox monthStart; @UiField(provided = true) ListBox yearEnd; @UiField(provided = true) ListBox monthEnd; @UiField(provided = true) CellTree scopeTree; private AppResources resources; @Inject FilterAreaView(Binder uiBinder, AppResources resources) { this.resources = resources; init(); initWidget(uiBinder.createAndBindUi(this)); } private void init() { yearStart = new ListBox(); yearStart.setMultipleSelect(false); yearEnd = new ListBox(); yearEnd.setMultipleSelect(false); Date now=new Date(); String currentYear=DateTimeFormat.getFormat(PredefinedFormat.YEAR).format(now); logger.log(Level.FINE, "Current year: " + currentYear); int year=Integer.parseInt(currentYear); for(int i=2015; i<=year;i++){ yearStart.addItem(String.valueOf(i)); yearEnd.addItem(String.valueOf(i)); } // returns a String array with localized names of the months String[] months = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo().monthsFull(); logger.log(Level.FINE, "Months: " + months.length); monthStart = new ListBox(); monthStart.setMultipleSelect(false); monthEnd = new ListBox(); monthEnd.setMultipleSelect(false); for (int i = 0; i < months.length; i++) { monthStart.addItem(months[i]); monthEnd.addItem(months[i]); } ScopeData children1=new ScopeData("1","children1",null); ScopeData children3=new ScopeData("3","children3",null); ScopeData children4=new ScopeData("4","children4",null); ArrayList children2List=new ArrayList<>(); children2List.add(children3); children2List.add(children4); ScopeData children2=new ScopeData("2","children2",children2List); ArrayList rootList=new ArrayList<>(); rootList.add(children1); rootList.add(children2); ScopeData root=new ScopeData("0","root",rootList); ArrayList scopeDataList=new ArrayList<>(); scopeDataList.add(root); ListDataProvider dataProvider = new ListDataProvider(scopeDataList); ScopeTreeModel scopeTreeModel=new ScopeTreeModel(dataProvider); ScopeTreeResources scopeTreeResources = GWT.create(ScopeTreeResources.class); scopeTree=new CellTree(scopeTreeModel, null,scopeTreeResources); } }